summaryrefslogtreecommitdiff
path: root/examples/scripts/shares/perl/modify_samba_config.pl
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scripts/shares/perl/modify_samba_config.pl')
-rwxr-xr-xexamples/scripts/shares/perl/modify_samba_config.pl168
1 files changed, 0 insertions, 168 deletions
diff --git a/examples/scripts/shares/perl/modify_samba_config.pl b/examples/scripts/shares/perl/modify_samba_config.pl
deleted file mode 100755
index 20b613aba8f..00000000000
--- a/examples/scripts/shares/perl/modify_samba_config.pl
+++ /dev/null
@@ -1,168 +0,0 @@
-#!/usr/bin/perl
-
-######################################################################
-##
-## Simple add/delete/change share command script for Samba
-##
-## Copyright (C) Gerald Carter 2004.
-##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, see <http://www.gnu.org/licenses/>.
-##
-######################################################################
-
-use POSIX qw(tmpnam);
-
-##
-## local variables
-##
-my $delete_mode = undef;
-my $add_mode = undef;
-my $tmp_file_name = undef;
-
-
-## check for correct parameters
-if ($#ARGV == 1) {
- $delete_mode = 1;
-}
-elsif ($#ARGV == 4) {
- $add_mode = 1;
-}
-else {
- print "Usage: $0 configfile share [path] [comment]\n";
- exit -1;
-}
-
-## first param is always the config file
-open (CONFIGFILE, "$ARGV[0]") || die "Unable to open $ARGV[0] for reading!\n";
-
-## FIXME!! Right now we throw away all comments in the file.
-while (<CONFIGFILE>) {
-
- chomp($_);
-
- ## eat leading whitespace
- $_ =~ s/^\s*//;
-
- ## eat trailing whitespace
- $_ =~ s/\s*$//;
-
-
- ## throw away comments
- next if (($_ =~ /^#/) || ($_ =~ /^;/));
-
- ## set the current section name for storing the hash
- if ($_ =~ /^\[.*\]$/) {
-
- $_ = substr($_, 1, length($_)-2);
-
- if ( length($_) ) {
- $section = $_;
- }
- else {
- print "Bad Section Name - no closing ]\n";
- exit -1;
- }
-
- next;
- }
-
- ## check for a param = value
- if ($_ =~ /=/) {
- ($param, $value) = split (/=/, $_,2);
- $param =~ s/./\l$&/g;
- $param =~ s/\s+//g;
- $value =~ s/^\s+//;
-
- $config{$section}{$param} = $value;
-
- next;
- }
-
- ## should have a hash of hashes indexed by section name
-}
-close (CONFIGFILE);
-
-##
-## We have the smb.conf in our hash of hashes now.
-## Add or delete
-##
-if ($add_mode) {
- $config{$ARGV[1]}{'path'} = $ARGV[2];
- $config{$ARGV[1]}{'comment'} = $ARGV[3];
- $config{$ARGV[1]}{'max connections'} = $ARGV[4];
-}
-elsif ($delete_mode) {
- delete $config{$ARGV[1]};
-}
-
-##
-## Print the resulting configuration
-##
-#do {
-# $tmp_file_name = tmpnam();
-# print "Using temporary file - $tmp_file_name\n";
-#} while (!sysopen(TMP, $tmp_file_name, O_RDWR|O_CREAT|O_EXCL));
-$tmp_file_name = tmpnam();
-open (TMP, ">$tmp_file_name") || die "Unable to open temporary file for writing!\n";
-
-PrintConfigFile(TMP);
-
-## now overwrite the original config file
-close (TMP);
-system ("cp -pf $ARGV[0] $ARGV[0].bak");
-system ("cp -pf $tmp_file_name $ARGV[0]");
-unlink $tmp_file_name;
-
-
-exit 0;
-
-
-
-
-
-#######################################################################################
-## PrintConfigFile()
-##
-sub PrintConfigFile {
- my ($output) = @_;
-
- ## print the file back out, beginning with the global section
- print $output "#\n# Generated by $0\n#\n";
-
- PrintSection ($output, 'global', $config{'global'});
-
- foreach $section (keys %config) {
-
- if ("$section" ne "global") {
- print $output "## Section - [$section]\n";
- PrintSection ($output, $section, $config{$section});
- }
- }
-
- print $output "#\n# end of generated smb.conf\n#\n";
-}
-
-#######################################################################################
-## PrintSection()
-##
-sub PrintSection {
- my ($outfile, $name, $section) = @_;
-
- print $outfile "[$name]\n";
- foreach $param (keys %$section) {
- print $outfile "\t$param".' 'x(25-length($param)). " = $$section{$param}\n";
- }
- print $outfile "\n";
-
-}