X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=bin%2Fcreate-fetchmailrc;h=11bde0ce344ec480f68738fe5cd87a862a93b79c;hp=7b28bfbc0013357e4e7ef4b2d07c9019c99fef98;hb=0b227319d33d012890891570891f9d9401ff89ff;hpb=b375da4f34a65409d2e657c12e434c279c3199dc diff --git a/bin/create-fetchmailrc b/bin/create-fetchmailrc index 7b28bfbc0..11bde0ce3 100644 --- a/bin/create-fetchmailrc +++ b/bin/create-fetchmailrc @@ -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: -# 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 POSIX qw( setuid setsid ); +use POSIX qw( setuid setgid ); my $header = <$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]) { @@ -33,14 +39,9 @@ END 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"; +$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));