openbsd-ports/mail/openwebmail/patches/patch-cgi-bin_openwebmail_openwebmail-tool_pl
2005-03-01 03:52:45 +00:00

139 lines
6.7 KiB
Plaintext

$OpenBSD: patch-cgi-bin_openwebmail_openwebmail-tool_pl,v 1.11 2005/03/01 03:52:45 kevlo Exp $
--- cgi-bin/openwebmail/openwebmail-tool.pl.orig Mon Feb 28 08:58:27 2005
+++ cgi-bin/openwebmail/openwebmail-tool.pl Tue Mar 1 10:53:51 2005
@@ -1,4 +1,4 @@
-#!/usr/bin/suidperl -T
+#!/usr/bin/perl
#
# openwebmail-tool.pl - command tool for mail/event/notify/index...
#
@@ -7,17 +7,17 @@
#
use vars qw($SCRIPT_DIR);
if ( $0 =~ m!^(\S*)/[\w\d\-\.]+\.pl! ) { local $1; $SCRIPT_DIR=$1 }
-if ($SCRIPT_DIR eq '' && open(F, '/etc/openwebmail_path.conf')) {
+if ($SCRIPT_DIR eq '' && open(F, '%%SYSCONFDIR%%/openwebmail/openwebmail_path.conf')) {
$_=<F>; close(F); if ( $_=~/^(\S*)/) { local $1; $SCRIPT_DIR=$1 }
}
if ($SCRIPT_DIR eq '') {
print qq|\nOpen WebMail is unable to locate itself on this system,\n|.
qq|please put 'the path of openwebmail CGI directory' to\n|.
- qq|the first line of file /etc/openwebmail_path.conf\n\n|.
+ qq|the first line of file %%SYSCONFDIR%%/openwebmail/openwebmail_path.conf\n\n|.
qq|For example, if the script is\n\n|.
- qq|/usr/local/www/cgi-bin/openwebmail/openwebmail-tool.pl,\n\n|.
+ qq|/var/www/cgi-bin/openwebmail/openwebmail-tool.pl,\n\n|.
qq|then the content of /etc/openwebmail_path.conf should be:\n\n|.
- qq|/usr/local/www/cgi-bin/openwebmail/\n\n|;
+ qq|/var/www/cgi-bin/openwebmail/\n\n|;
exit 0;
}
push (@INC, $SCRIPT_DIR);
@@ -170,10 +170,10 @@
$>=$euid_to_use;
-load_owconf(\%config_raw, "$SCRIPT_DIR/etc/defaults/openwebmail.conf");
-if ( -f "$SCRIPT_DIR/etc/openwebmail.conf") {
- read_owconf(\%config, \%config_raw, "$SCRIPT_DIR/etc/openwebmail.conf");
- print "D readconf $SCRIPT_DIR/etc/openwebmail.conf\n" if ($opt{'debug'});
+load_owconf(\%config_raw, "%%SYSCONFDIR%%/openwebmail/defaults/openwebmail.conf");
+if ( -f "%%SYSCONFDIR%%/openwebmail/openwebmail.conf") {
+ read_owconf(\%config, \%config_raw, "%%SYSCONFDIR%%/openwebmail/openwebmail.conf");
+ print "D readconf %%SYSCONFDIR%%/openwebmail/openwebmail.conf\n" if ($opt{'debug'});
}
$logindomain=$default_logindomain||ow::tool::hostname();
@@ -280,7 +280,7 @@
my $err=do_test(1);
if ($err<0) {
- print qq|And execute '$SCRIPT_DIR/openwebmail-tool.pl --init' again!\n\n|.
+ print qq|And execute '%%SYSCONFDIR%%/openwebmail/openwebmail-tool.pl --init' again!\n\n|.
qq|ps: If you are running openwebmail in persistent mode,\n|.
qq| don't forget to 'touch openwebmail*.pl', so speedycgi\n|.
qq| will reload all scripts, modules and conf files in --init.\n\n|;
@@ -457,7 +457,7 @@
}
if ($in_init && $err) {
- print qq|Please change '$SCRIPT_DIR/etc/dbm.conf' from\n\n|.
+ print qq|Please change '%%SYSCONFDIR%%/openwebmail/dbm.conf' from\n\n|.
qq|dbm_ext \t$str{conf_dbm_ext}\n|.
qq|dbmopen_ext \t$str{conf_dbmopen_ext}\n|.
qq|dbmopen_haslock \t$str{conf_dbmopen_haslock}\n|.
@@ -467,7 +467,7 @@
qq|dbmopen_haslock \t$str{dbmopen_haslock}\n\n\n|;
}
if (!$in_init) {
- print qq|'$SCRIPT_DIR/etc/dbm.conf' should be set as follows:\n\n|.
+ print qq|'%%SYSCONFDIR%%/openwebmail/dbm.conf' should be set as follows:\n\n|.
qq|dbm_ext \t$str{dbm_ext}\n|.
qq|dbmopen_ext \t$str{dbmopen_ext}\n|.
qq|dbmopen_haslock \t$str{dbmopen_haslock}\n\n\n|;
@@ -484,7 +484,7 @@
$>=0;
if ($>!=0) {
print qq|Your system didn't have saved suid support,\n|.
- qq|please set the following option in $SCRIPT_DIR/etc/suid.conf\n\n|.
+ qq|please set the following option in %%SYSCONFDIR%%/openwebmail/suid.conf\n\n|.
qq|\thas_savedsuid_support no\n\n\n|;
return -1;
}
@@ -698,10 +698,10 @@
# REINIT %config for auth_module as each domain may use different auth_module!
%config_raw=();
- load_owconf(\%config_raw, "$SCRIPT_DIR/etc/defaults/openwebmail.conf");
- if ( -f "$SCRIPT_DIR/etc/openwebmail.conf") {
- read_owconf(\%config, \%config_raw, "$SCRIPT_DIR/etc/openwebmail.conf");
- print "D readconf $SCRIPT_DIR/etc/openwebmail.conf\n" if ($opt{'debug'});
+ load_owconf(\%config_raw, "%%SYSCONFDIR%%/openwebmail/defaults/openwebmail.conf");
+ if ( -f "%%SYSCONFDIR%%/openwebmail/openwebmail.conf") {
+ read_owconf(\%config, \%config_raw, "%%SYSCONFDIR%%/openwebmail/openwebmail.conf");
+ print "D readconf %%SYSCONFDIR%%/openwebmail/openwebmail.conf\n" if ($opt{'debug'});
}
if ( -f "$config{'ow_sitesconfdir'}/$logindomain") {
@@ -773,16 +773,16 @@
$>=$euid_to_use;
%config_raw=();
- load_owconf(\%config_raw, "$SCRIPT_DIR/etc/defaults/openwebmail.conf");
- if ( -f "$SCRIPT_DIR/etc/openwebmail.conf") {
- read_owconf(\%config, \%config_raw, "$SCRIPT_DIR/etc/openwebmail.conf");
- print "D readconf $SCRIPT_DIR/etc/openwebmail.conf\n" if ($opt{'debug'});
+ load_owconf(\%config_raw, "%%SYSCONFDIR%%/openwebmail/defaults/openwebmail.conf");
+ if ( -f "%%SYSCONFDIR%%/openwebmail/openwebmail.conf") {
+ read_owconf(\%config, \%config_raw, "%%SYSCONFDIR%%/openwebmail/openwebmail.conf");
+ print "D readconf %%SYSCONFDIR%%/openwebmail/openwebmail.conf\n" if ($opt{'debug'});
}
if ($config{'smtpauth'}) { # load smtp auth user/pass
- read_owconf(\%config, \%config_raw, "$SCRIPT_DIR/etc/smtpauth.conf");
+ read_owconf(\%config, \%config_raw, "%%SYSCONFDIR%%/openwebmail/smtpauth.conf");
if ($config{'smtpauth_username'} eq "" || $config{'smtpauth_password'} eq "") {
- die "Invalid username/password in $SCRIPT_DIR/etc/smtpauth.conf!";
+ die "Invalid username/password in %%SYSCONFDIR%%/openwebmail/smtpauth.conf!";
}
}
@@ -883,7 +883,7 @@
my $domainhome=ow::tool::untaint("$config{'ow_usersdir'}/$domain");
if (!-d $domainhome) {
mkdir($domainhome, 0750) or die("Couldn't create domain homedir $domainhome");
- my $mailgid=getgrnam('mail');
+ my $mailgid=getgrnam('_mail');
chown($uuid, $mailgid, $domainhome);
}
}
@@ -905,7 +905,7 @@
umask(0077);
if ( $>==0 ) { # switch to uuid:mailgid if process is setuid to root
- my $mailgid=getgrnam('mail'); # for better compatibility with other mail progs
+ my $mailgid=getgrnam('_mail'); # for better compatibility with other mail progs
ow::suid::set_euid_egids($uuid, $mailgid, split(/\s+/,$ugid));
if ( $)!~/\b$mailgid\b/) { # group mail doesn't exist?
print "Set effective gid to mail($mailgid) failed!"; openwebmail_exit(0);