a7402429dc
* Add info about tlb in post-install-notes. * Add WITH_POSTFIX_APPROVE_PATCH knob to fix problem with Postfix's Delivered-To and Majordomo's approve command. * Add security fixes from PR ports/28282 with a small change, use SHA1 instead of MD5 for generating cookies. * Remove security warning, which isn't necessary anymore. PR: 28282 Submitted by: anders@fix.no
70 lines
1.7 KiB
Perl
70 lines
1.7 KiB
Perl
#!/usr/bin/perl
|
|
#
|
|
|
|
eval '(exit $?0)' && eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
|
|
& eval 'exec /usr/bin/perl -S $0 $argv:q'
|
|
if 0;
|
|
|
|
if( ! -x "/usr/sbin/pw" ) {
|
|
print "\nYou require the pw command, which was included in FreeBSD v2.2 builds\n";
|
|
print "as of Dec 9th 1996. If you don't have it, try looking in\n";
|
|
print "/usr/src/usr.sbin/pw and building it\n\n";
|
|
exit 1;
|
|
}
|
|
|
|
if( getpwnam( "majordom" ) ) {
|
|
$have_user = 1;
|
|
( $null, $null, $mjUID ) = getpwnam( "majordom" );
|
|
} else {
|
|
$mjUID = 54;
|
|
while( getpwuid( $mjUID ) ) {
|
|
$mjUID++;
|
|
}
|
|
}
|
|
|
|
if( getgrnam( "majordom" ) ) {
|
|
$have_group = 1;
|
|
( $null, $null, $mjGID ) = getgrnam( "majordom" );
|
|
} else {
|
|
$mjGID = 54;
|
|
while( getgrgid( $mjGID ) ) {
|
|
$mjGID++;
|
|
}
|
|
}
|
|
|
|
if( $have_group && $have_user ) {
|
|
exit 0;
|
|
} elsif( $> ) {
|
|
print "\nYou must be root to run this step!\n\n";
|
|
exit 1;
|
|
}
|
|
|
|
print "majordom user using uid $mjUID\n";
|
|
print "majordom user using gid $mjGID\n";
|
|
|
|
if( ! $have_group ) {
|
|
$result = system( "/usr/sbin/pw groupadd majordom -g $mjGID" );
|
|
if( $result ) {
|
|
print "Failed to add group majordom!\n";
|
|
exit 1;
|
|
}
|
|
}
|
|
|
|
if( ! $have_user ) {
|
|
$result = system( "pw useradd majordom -u $mjUID -g $mjGID -d \"$ENV{PREFIX}/majordomo\" -c \"Majordomo Pseudo User\" -p \"*\" -s \"/nonexistent\"" );
|
|
} else {
|
|
$result = system( "pw usermod majordom -u $mjUID -g $mjGID -d \"$ENV{PREFIX}/majordomo\" -c \"Majordomo Pseudo User\" -p \"*\" -s \"/nonexistent\"" );
|
|
}
|
|
if( $result ) {
|
|
print "Failed to add/modify user majordom!\n";
|
|
exit 1;
|
|
}
|
|
|
|
## Add daemon to majordom group, to allow sendmail to call wrapper
|
|
## via direct pipes in /etc/mail/aliases
|
|
$result = system( "pw groupmod majordom -m daemon" );
|
|
if( $result ) {
|
|
print "Failed to add/modify user majordom!\n";
|
|
exit 1;
|
|
}
|