fixup
authorivan <ivan>
Wed, 5 Nov 2003 11:13:40 +0000 (11:13 +0000)
committerivan <ivan>
Wed, 5 Nov 2003 11:13:40 +0000 (11:13 +0000)
bin/create-fetchmailrc

index 7b28bfb..e929711 100644 (file)
@@ -1,10 +1,10 @@
 #!/usr/bin/perl -w
 # this quick hack helps you generate/maintain .fetchmailrc files from
 # FS::acct_snarf data.  it is run from a shellcommands export as:
 #!/usr/bin/perl -w
 # this quick hack helps you generate/maintain .fetchmailrc files from
 # FS::acct_snarf data.  it is run from a shellcommands export as:
-# create-fetchmailrc $username $dir $snarf_machine1 $snarf_username1 $snarf__password1 $snarf_machine2 $snarf_username2 $snarf__password2 $snarf_machine3 $snarf_username3 $snarf__password3 $snarf_machine4 $snarf_username4 $snarf__password4 $snarf_machine5 $snarf_username5 $snarf__password5 $snarf_machine6 $snarf_username6 $snarf__password6 $snarf_machine7 $snarf_username7 $snarf__password7 $snarf_machine8 $snarf_username8 $snarf__password8 $snarf_machine9 $snarf_username9 $snarf__password9 $snarf_machine10 $snarf_username10 $snarf__password10
+# create-fetchmailrc $username $dir $snarf_machine1 $snarf_username1 $snarf__password1 $snarf_machine2 $snarf_username2 $snarf__password2 ...
 
 use strict;
 
 use strict;
-use POSIX qw( setuid setsid );
+use POSIX qw( setuid setgid );
 
 my $header = <<END;
 # Configuration created by create-fetchmailrc
 
 my $header = <<END;
 # Configuration created by create-fetchmailrc
@@ -19,8 +19,12 @@ my $username = shift @ARGV or die "no username specified\n";
 my $homedir  = shift @ARGV or die "no homedir specified\n";
 my $filename = "$homedir/.fetchmailrc";
 
 my $homedir  = shift @ARGV or die "no homedir specified\n";
 my $filename = "$homedir/.fetchmailrc";
 
+my $gid = scalar(getgrnam($username)) or die "can't find $username's gid\n";
+my $uid = scalar(getpwnam($username)) or die "can't find $username's uid\n";
+
 open(FETCHMAILRC, ">$filename") or die "can't open $filename: $!\n";
 open(FETCHMAILRC, ">$filename") or die "can't open $filename: $!\n";
-chown 0600, $filename           or die "can't chown 600 $filename: $!\n";
+chown $uid, $gid, $filename     or die "can't chown $uid.$gid $filename: $!\n";
+chmod 0600, $filename           or die "can't chmod 600 $filename: $!\n";
 print FETCHMAILRC $header;
 
 while ($ARGV[0]) {
 print FETCHMAILRC $header;
 
 while ($ARGV[0]) {
@@ -33,14 +37,9 @@ END
 
 close FETCHMAILRC;
 
 
 close FETCHMAILRC;
 
-my $gid = scalar(getgrnam($username)) or die "can't find $username's gid\n";
-my $uid = scalar(getpwnam($username)) or die "can't find $username's uid\n";
-
 setgid($gid) or die "can't setgid $gid\n";
 setuid($uid) or die "can't setuid $uid\n";
 setgid($gid) or die "can't setgid $gid\n";
 setuid($uid) or die "can't setuid $uid\n";
+$ENV{HOME} = $homedir;
 
 
-exec(qw( fetchmail -a -K --antispam "550,451" -d 180 -f ), $filename);
-die "can't execute fetchmail: $!";
-
-
+system(qq(fetchmail -a -K --antispam "550,451" -d 180 -f $filename));