tags 501154 + patch thanks Hi,
Attached is the diff for my sympa 5.3.4-5.3 NMU.
diff -u sympa-5.3.4/src/sympa.pl sympa-5.3.4/src/sympa.pl --- sympa-5.3.4/src/sympa.pl +++ sympa-5.3.4/src/sympa.pl @@ -159,7 +159,7 @@ $log_level = $main::options{'log_level'} if ($main::options{'log_level'}); -my @parser_param = ($*, $/); +my @parser_param = ($/); my %loop_info; my %msgid_table; @@ -337,15 +337,15 @@ # Set the UserID & GroupID for the process - $( = $) = (getgrnam('--GROUP--'))[2]; - $< = $> = (getpwnam('--USER--'))[2]; + $( = $) = (getgrnam('sympa'))[2]; + $< = $> = (getpwnam('sympa'))[2]; ## Required on FreeBSD to change ALL IDs(effective UID + real UID + saved UID) - &POSIX::setuid((getpwnam('--USER--'))[2]); - &POSIX::setgid((getgrnam('--GROUP--'))[2]); + &POSIX::setuid((getpwnam('sympa'))[2]); + &POSIX::setgid((getgrnam('sympa'))[2]); ## Check if the UID has correctly been set (usefull on OS X) - unless (($( == (getgrnam('--GROUP--'))[2]) && ($< == (getpwnam('--USER--'))[2])) { + unless (($( == (getgrnam('sympa'))[2]) && ($< == (getpwnam('sympa'))[2])) { &fatal_err("Failed to change process userID and groupID. Note that on some OS Perl scripts can't change their real UID. In such circumstances Sympa should be run via SUDO."); } @@ -890,7 +890,7 @@ my ($t_listname, $t_robot); # trying to fix a bug (perl bug ??) of solaris version - ($*, $/) = @parser_param; + ($/) = @parser_param; ## test ever if it is an old bad file if ($t_filename =~ /^BAD\-/i){ diff -u sympa-5.3.4/wwsympa/wwsympa.fcgi sympa-5.3.4/wwsympa/wwsympa.fcgi --- sympa-5.3.4/wwsympa/wwsympa.fcgi +++ sympa-5.3.4/wwsympa/wwsympa.fcgi @@ -665,9 +665,9 @@ &Language::SetLang($Language::default_lang); ## Check effective ID - unless ($> eq (getpwnam('--USER--'))[2]) { + unless ($> eq (getpwnam('sympa'))[2]) { &report::reject_report_web('intern_quiet','incorrect_server_config',{},'',''); - &wwslog('err','Config error: wwsympa should run with UID %s (instead of %s)', (getpwnam('--USER--'))[2], $>); + &wwslog('err','Config error: wwsympa should run with UID %s (instead of %s)', (getpwnam('sympa'))[2], $>); } unless (&List::check_db_connect()) { diff -u sympa-5.3.4/debian/changelog sympa-5.3.4/debian/changelog --- sympa-5.3.4/debian/changelog +++ sympa-5.3.4/debian/changelog @@ -1,3 +1,10 @@ +sympa (5.3.4-5.3) unstable; urgency=low + + * Non-maintainer upload. + * Updating to comply with current versions of Perl (Closes: #501154). + + -- David Moreno Garza <[EMAIL PROTECTED]> Sat, 04 Oct 2008 19:47:33 -0400 + sympa (5.3.4-5.2) unstable; urgency=low * Non-maintainer upload. only in patch2: unchanged: --- sympa-5.3.4.orig/sympa.conf +++ sympa-5.3.4/sympa.conf @@ -0,0 +1,170 @@ +## Configuration file for Sympa +## many parameters are optional (defined in src/Conf.pm) +## refer to the documentation for a detailed list of parameters + +###\\\\ Directories and file location ////### + +## Directory containing mailing lists subdirectories +home /var/lib/sympa/expl + +## Directory for configuration files ; it also contains scenari/ and templates/ directories +etc /etc/sympa + +## File containing Sympa PID while running. +## Sympa also locks this file to ensure that it is not running more than once. Caution : user sympa need to write access without special privilegee. +pidfile /var/run/sympa/sympa.pid + +## Umask used for file creation by Sympa +umask 027 + +## The main spool containing various specialized spools +## All spool are created at runtime by sympa.pl +spool /var/spool/sympa + +## Incoming spool +queue /var/spool/sympa/msg + +## Bounce incoming spool +queuebounce /var/spool/sympa/bounce + +## The directory where Sympa stores static contents (CSS, members pictures, documentation) directly delivered by Apache +static_content_path /usr/lib/sympa/static_content + +## The URL mapped with the static_content_path directory defined above +static_content_url /static-sympa + +###\\\\ Syslog ////### + +## The syslog facility for sympa +## Do not forget to edit syslog.conf +syslog LOCAL1 + +## Communication mode with syslogd is either unix (via Unix sockets) or inet (use of UDP) +log_socket_type unix + +## Log intensity +## 0 : normal, 2,3,4 for debug +log_level 0 + +###\\\\ General definition ////### + +## Main robot hostname +domain minina + +## Listmasters email list comma separated +## Sympa will associate listmaster privileges to these email addresses (mail and web interfaces). Some error reports may also be sent to these addresses. +listmaster [EMAIL PROTECTED] + +## Local part of sympa email adresse +## Effective address will be [EMAIL PROTECTED] +email sympa + +## Default lang (cs | de | el | en_US | fr | hu | it | ja_JP | nl | oc | pt_BR | tr) +lang en_US + +## Who is able to create lists +## This parameter is a scenario, check sympa documentation about scenarios if you want to define one +create_list public_listmaster + +## Secret used by Sympa to make MD5 fingerprint in web cookies secure +## Should not be changed ! May invalid all user password +cookie 64399442 + +###\\\\ Errors management ////### + +## Bouncing email rate for warn list owner +#bounce_warn_rate 20 + +## Bouncing email rate for halt the list (not implemented) +## Not yet used in current version, Default is 50 +#bounce_halt_rate 50 + +## Task name for expiration of old bounces +#expire_bounce_task daily + +## Welcome message return-path +## If set to unique, new subcriber is removed if welcome message bounce +#welcome_return_path unique + +###\\\\ MTA related ////### + +## Path to the MTA (sendmail, postfix, exim or qmail) +## should point to a sendmail-compatible binary (eg: a binary named 'sendmail' is distributed with Postfix) +sendmail /usr/sbin/sendmail + +## Maximum number of recipients per call to Sendmail. The nrcpt_by_domain.conf file allows a different tuning per destination domain. +nrcpt 25 + +## Max. number of different domains per call to Sendmail +avg 10 + +## Max. number of Sendmail processes (launched by Sympa) running simultaneously +## Proposed value is quite low, you can rise it up to 100, 200 or even 300 with powerfull systems. +maxsmtp 40 + +###\\\\ Pluggin ////### + +## Path to the antivirus scanner engine +## supported antivirus : McAfee/uvscan, Fsecure/fsav, Sophos, AVP and Trend Micro/VirusWall +#antivirus_path /usr/local/uvscan/uvscan + +## Antivirus pluggin command argument +#antivirus_args --secure --summary --dat /usr/local/uvscan + +###\\\\ S/MIME pluggin ////### + +## Path to OpenSSL +## Sympa knowns S/MIME if openssl is installed +#openssl /usr/local/bin/openssl + +## The directory path use by OpenSSL for trusted CA certificates +#capath /etc/sympa/ssl.crt + +## This parameter sets the all-in-one file where you can assemble the Certificates of Certification Authorities (CA) +#cafile /usr/local/apache/conf/ssl.crt/ca-bundle.crt + +## User CERTs directory +ssl_cert_dir /var/lib/sympa/x509-user-certs + +## Password used to crypt lists private keys +#key_passwd your_password + +###\\\\ Database ////### + +## Database type (mysql | Pg | Oracle | Sybase | SQLite) +## be carefull to the case +db_type mysql + +## Name of the database +## with SQLite, the name of the DB corresponds to the DB file +db_name sympa + +## The host hosting your sympa database +#db_host localhost + +## Database user for connexion +#db_user sympa + +## Database password (associated to the db_user) +## What ever you use a password or not, you must protect the SQL server (is it a not a public internet service ?) +#db_passwd your_passwd + +## Database private extention to user table +## You need to extend the database format with these fields +#db_additional_user_fields age,address + +## Database private extention to subscriber table +## You need to extend the database format with these fields +#db_additional_subscriber_fields billing_delay,subscription_expiration + +###\\\\ Web interface ////### + +## Sympa's main page URL +wwsympa_url http://minina/sympa + +## SOAP service URL +soap_url http://minina/sympasoap + +## Supported languages for the user interface +supported_lang en_US + only in patch2: unchanged: --- sympa-5.3.4.orig/wwsympa.conf +++ sympa-5.3.4/wwsympa.conf @@ -0,0 +1,46 @@ +###\\\\ Directories and file location ////### + +## Where to store HTML archives +## Better if not in a critical partition +arc_path /usr/lib/sympa/arc + +## Where to store bounces +## Better if not in a critical partition +bounce_path /usr/lib/sympa/bounce + +###\\\\ Syslog ////### + +###\\\\ General definition ////### + +###\\\\ Errors management ////### + +###\\\\ MTA related ////### + +###\\\\ Pluggin ////### + +## Path to MhOnarc mail2html pluggin +## This is required for HTML mail archiving +mhonarc /usr/bin/mhonarc + +###\\\\ S/MIME pluggin ////### + +###\\\\ Database ////### + +###\\\\ Web interface ////### + +## Is fast_cgi module for Apache (or Roxen) installed (0 | 1) +## This module provide much faster web interface +use_fast_cgi 1 + +## Title of main web page +title Mailing lists service + +## Icons directory (web) location for Sympa +icons_url /icons + +## Main page type (lists | home) +#default_home lists + +## Default index organization (thrd | mail) +archive_default_index thrd + only in patch2: unchanged: --- sympa-5.3.4.orig/src/Upgrade.pm +++ sympa-5.3.4/src/Upgrade.pm @@ -1203,8 +1203,8 @@ my $with_attachments = qr{ archive.tt2 | digest.tt2 | get_archive.tt2 | listmaster_notification.tt2 | message_report.tt2 | moderate.tt2 | modindex.tt2 | send_auth.tt2 }x; - my $uid = (getpwnam('--USER--'))[2]; - my $gid = (getgrnam('--GROUP--'))[2]; + my $uid = (getpwnam('sympa'))[2]; + my $gid = (getgrnam('sympa'))[2]; my $total; foreach my $pair (@{$files}) { only in patch2: unchanged: --- sympa-5.3.4.orig/src/task_manager.pl +++ sympa-5.3.4/src/task_manager.pl @@ -125,15 +125,15 @@ } ## Set the UserID & GroupID for the process -$( = $) = (getgrnam('--GROUP--'))[2]; -$< = $> = (getpwnam('--USER--'))[2]; +$( = $) = (getgrnam('sympa'))[2]; +$< = $> = (getpwnam('sympa'))[2]; ## Required on FreeBSD to change ALL IDs(effective UID + real UID + saved UID) -&POSIX::setuid((getpwnam('--USER--'))[2]); -&POSIX::setgid((getgrnam('--GROUP--'))[2]); +&POSIX::setuid((getpwnam('sympa'))[2]); +&POSIX::setgid((getgrnam('sympa'))[2]); ## Check if the UID has correctly been set (usefull on OS X) -unless (($( == (getgrnam('--GROUP--'))[2]) && ($< == (getpwnam('--USER--'))[2])) { +unless (($( == (getgrnam('sympa'))[2]) && ($< == (getpwnam('sympa'))[2])) { &fatal_err("Failed to change process userID and groupID. Note that on some OS Perl scripts can't change their real UID. In such circumstances Sympa should be run via SUDO."); } only in patch2: unchanged: --- sympa-5.3.4.orig/src/sympa_wizard.pl +++ sympa-5.3.4/src/sympa_wizard.pl @@ -1,7 +1,7 @@ #!--PERL-- # Sympa - SYsteme de Multi-Postage Automatique -# Copyright (c) 1997, 1998, 1999, 2000, 2001 Comite Reseau des Universites +# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2006 Comite Reseau des Universites # # 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 @@ -29,6 +29,24 @@ require 'tools.pl'; require 'Conf.pm' unless ($ARGV[0] eq '-c'); +## Commandline +use Getopt::Long; +my (%opts, %user_params); + +unless (GetOptions (\%opts, 'create|c=s', 'batch|b', 'display|d', + 'file|f=s')) { + exit 1; +} + +for (@ARGV) { + # check for key/values settings + if (/^([\w]+)+=(.+)/) { + $user_params{$1} = $2; + } else { + die "$0: invalid commandline argument: $_\n"; + } +} + ## Configuration my $new_wwsympa_conf = '/tmp/wwsympa.conf'; @@ -41,6 +59,37 @@ my $sympa_conf = "$ENV{'DESTDIR'}--CONFIG--"; my $somechange = 0; +## Determine supported languages +my $possible_langs = 'de,cs,el,es,et_EE,fr,hu,it,ja_JP,nl,oc,pt_BR,sv,tr'; +my $locale_ret = `locale -a`; +my %available_locales; +my @supported_langs = ('en_US'); + +if ($@) { + die "error in locale command: [EMAIL PROTECTED]"; +} + +for (split(/\s+/, $locale_ret)) { + # skip standard languages + next if $_ eq 'C' || $_ eq 'POSIX'; + # keep language part only + s/\..*//; + + $available_locales{$_} = 1; +} + +for (split(/,/, $possible_langs)) { + my $l = $_; + + unless (/_/) { + $_ = "${_}_" . uc($_); + } + + if ($available_locales{$_}) { + push(@supported_langs, $l); + } +} + ## parameters that can be edited with this script ## Only parameters listes in @params will be saved @@ -54,6 +103,7 @@ ## advice : Additionnal advice concerning the parameter my @params = ({'title' => 'Directories and file location'}, + {'name' => 'home', 'default' => '--EXPL_DIR--', 'query' => 'Directory containing mailing lists subdirectories', @@ -103,11 +153,6 @@ 'file' => 'wwsympa.conf', 'advice' =>'Better if not in a critical partition'}, - {'name' => 'localedir', - 'default' => '--LOCALEDIR--', - 'query' => 'Directory containing available NLS catalogues (Message internationalization)', - 'file' => 'sympa.conf', - 'advice' =>''}, {'name' => 'spool', 'default' => '--SPOOLDIR--', @@ -183,21 +228,19 @@ 'file' => 'sympa.conf', 'advice' =>"Effective address will be [EMAIL PROTECTED]"}, + {'name' => 'lang', + 'default' => 'en_US', + 'query' => 'Default lang (cs | de | el | en_US | fr | hu | it | ja_JP | nl | oc | pt_BR | tr)', + 'file' => 'sympa.conf','edit' => '1', + 'advice' =>''}, + {'name' => 'create_list', 'default' => 'public_listmaster', 'query' => 'Who is able to create lists', 'file' => 'sympa.conf','edit' => '1', 'advice' =>'This parameter is a scenario, check sympa documentation about scenarios if you want to define one'}, - {'title' => 'Tuning'}, - - - {'name' => 'cache_list_config', - 'default' => 'none', - 'query' => 'Use of binary version of the list config structure on disk: none | binary_file', - 'file' => 'sympa.conf','edit' => '1', - 'advice' =>'Set this parameter to "binary_file" if you manage a big amount of lists (1000+) ; it should make the web interface startup faster'}, - + {'name' => 'sympa_priority', 'query' => 'Sympa commands priority', 'file' => 'sympa.conf', @@ -234,11 +277,7 @@ 'file' => 'sympa.conf','edit' => '1', 'advice' =>''}, - {'name' => 'use_blacklist', - 'query' => 'comma separated list of operation for which blacklist filter is applyed', - 'default' => 'send,create_list', - 'file' => 'sympa.conf','edit' => '1', - 'advice' =>'set this parameter to "none" hidde blacklist feature'}, + {'name' => 'rfc2369_header_fields', 'query' => 'Specify which rfc2369 mailing list headers to add', @@ -251,20 +290,6 @@ 'file' => 'sympa.conf', 'advice' => '' }, - {'title' => 'Internationalization'}, - - {'name' => 'lang', - 'default' => 'en_US', - 'query' => 'Default lang (cs | de | el | en_US | fr | hu | it | ja_JP | nl | oc | pt_BR | tr)', - 'file' => 'sympa.conf','edit' => '1', - 'advice' =>'This is the default language used by Sympa'}, - - {'name' => 'supported_lang', - 'default' => 'de,cs,el,es,et_EE,en_US,fr,hu,it,ja_JP,nl,oc,pt_BR,sv,tr', - 'query' => 'Supported languages', - 'file' => 'sympa.conf','edit' => '1', - 'advice' =>'This is the set of language that will be proposed to your users for the Sympa GUI. Don\'t select a language if you don\'t have the proper locale packages installed.'}, - {'title' => 'Errors management'}, {'name' => 'bounce_warn_rate', @@ -441,6 +466,12 @@ 'file' => 'sympa.conf','edit' => '1', 'advice' =>''}, + {'name' => 'soap_url', + 'default' => 'http://--HOST--/sympasoap', + 'query' => "SOAP service URL", + 'file' => 'sympa.conf','edit' => '1', + 'advice' =>''}, + {'name' => 'title', 'default' => 'Mailing lists service', 'query' => 'Title of main web page', @@ -458,6 +489,12 @@ 'file' => 'wwsympa.conf','edit' => '1', 'advice' =>''}, + {'name' => 'archive_default_index', + 'default' => 'thrd', + 'query' => 'Default index organization (thrd | mail)', + 'file' => 'wwsympa.conf', + 'advice' =>''}, + {'name' => 'default_shared_quota', 'query' => 'Default disk quota for shared repository', 'file' => 'sympa.conf','edit' => '1', @@ -465,10 +502,18 @@ ); - -if ($ARGV[0] eq '-c') { - my $file = $ARGV[1]; - +push (@params, + {'name' => 'supported_lang', + 'default' => join(',', @supported_langs), + 'query' => 'Supported languages for the user interface', + 'file' => 'sympa.conf', + 'advice' =>''} + ); + +if ($opts{create}) { + my $file = $opts{create}; + my $output_file = $opts{file} || $file; + my $conf; if ($file eq 'sympa.conf') { $conf = $sympa_conf; @@ -480,12 +525,12 @@ exit 1; } - if (-f $conf) { - print STDERR "$conf file already exists, exiting\n"; + if (-f $output_file) { + print STDERR "$output_file file already exists, exiting\n"; exit 1; } - unless (open (NEWF,"> $conf")){ + unless (open (NEWF,"> $output_file")){ die "Unable to open $conf : $!"; }; @@ -521,7 +566,7 @@ } close NEWF; - print STDERR "$conf file has been created\n"; + print STDERR "$output_file file has been created\n"; exit 0; } @@ -531,12 +576,36 @@ ## Load config unless ($wwsconf = &wwslib::load_config($wwsympa_conf)) { - die("Unable to load config file $wwsympa_conf"); + die("$0: unable to load config file $wwsympa_conf\n"); } ## Load sympa config unless (&Conf::load( $sympa_conf )) { - die('Unable to load sympa config file $sympa_conf'); + die("$0: unable to load sympa config file $sympa_conf\n"); +} + +if ($opts{display}) { + my ($var, $disp); + + print "[SYMPA]\n"; + for (sort (keys (%Conf::Conf))) { + $var = $Conf::Conf{$_}; + + if (ref($var) eq 'ARRAY') { + $disp = join(',', @$var); + } else { + $disp = $var; + } + + print qq{$_="$disp" +}; + } + print "[WWSYMPA]\n"; + for (sort (keys (%$wwsconf))) { + print qq{$_="$wwsconf->{$_}" +}; + } + exit 0; } my (@new_wwsympa_conf, @new_sympa_conf); @@ -546,16 +615,19 @@ my $desc; if ($params[$i]->{'title'}) { - my $title = $params[$i]->{'title'}; - printf "\n\n** $title **\n"; + my $title = $params[$i]->{'title'}; - ## write to conf file - push @new_wwsympa_conf, sprintf "###\\\\\\\\ %s ////###\n\n", $params[$i]->{'title'}; - push @new_sympa_conf, sprintf "###\\\\\\\\ %s ////###\n\n", $params[$i]->{'title'}; + unless ($opts{batch}) { + printf "\n\n** $title **\n"; + } + + ## write to conf file + push @new_wwsympa_conf, sprintf "###\\\\\\\\ %s ////###\n\n", $params[$i]->{'title'}; + push @new_sympa_conf, sprintf "###\\\\\\\\ %s ////###\n\n", $params[$i]->{'title'}; - next; + next; } - + my $file = $params[$i]->{'file'} ; my $name = $params[$i]->{'name'} ; my $query = $params[$i]->{'query'} ; @@ -570,15 +642,22 @@ printf STDERR "incorrect definition of $name\n"; } my $new_value; - if ($params[$i]->{'edit'} eq '1') { - printf "... $advice\n" unless ($advice eq '') ; - printf "$name: $query \[$current_value\] : "; - $new_value = <STDIN> ; - chomp $new_value; - } - if ($new_value eq '') { - $new_value = $current_value; - } + if ($opts{batch}) { + if (exists $user_params{$name}) { + $new_value = $user_params{$name}; + } else { + $new_value = ''; + } + } elsif ($params[$i]->{'edit'} eq '1') { + printf "... $advice\n" unless ($advice eq '') ; + printf "$name: $query \[$current_value\] : "; + $new_value = <STDIN> ; + chomp $new_value; + } + + if ($new_value eq '') { + $new_value = $current_value; + } ## SKip empty parameters next if (($new_value eq '') && only in patch2: unchanged: --- sympa-5.3.4.orig/src/Lock.pm +++ sympa-5.3.4/src/Lock.pm @@ -35,10 +35,10 @@ use Fcntl qw(LOCK_SH LOCK_EX LOCK_NB); use FileHandle; -sub LOCK_SH {1}; -sub LOCK_EX {2}; -sub LOCK_NB {4}; -sub LOCK_UN {8}; +sub LOCK_SH() {1}; +sub LOCK_EX() {2}; +sub LOCK_NB() {4}; +sub LOCK_UN() {8}; my %list_of_locks; my $default_timeout = 60 * 20; ## After this period a lock can be stolen only in patch2: unchanged: --- sympa-5.3.4.orig/src/parser.pl +++ sympa-5.3.4/src/parser.pl @@ -60,8 +60,8 @@ my ($old_index, $old_data) = ($index, $data); my @old_t = @t; - my @old_mode = ($*, $/); - ($*, $/) = (0, "\n"); + my @old_mode = ($/); + ($/) = (0, "\n"); my $old_desc; if (ref($output) eq 'ARRAY') { @@ -104,7 +104,7 @@ select $old_desc; } - ($*, $/) = @old_mode; + ($/) = @old_mode; ($index, $data) = ($old_index, $old_data); @t = @old_t; only in patch2: unchanged: --- sympa-5.3.4.orig/src/tools.pl +++ sympa-5.3.4/src/tools.pl @@ -2030,8 +2030,8 @@ sub write_pid { my ($pidfile, $pid) = @_; - my $uid = (getpwnam('--USER--'))[2]; - my $gid = (getgrnam('--GROUP--'))[2]; + my $uid = (getpwnam('sympa'))[2]; + my $gid = (getgrnam('sympa'))[2]; my $piddir = $pidfile; $piddir =~ s/\/[^\/]+$//; only in patch2: unchanged: --- sympa-5.3.4.orig/src/etc/script/mod2html.pl +++ sympa-5.3.4/src/etc/script/mod2html.pl @@ -22,8 +22,8 @@ &List::_apply_defaults(); # else reading of a List configuration won't work # Set the UserID & GroupID for the process -$( = $) = (getgrnam('--GROUP--'))[2]; -$< = $> = (getpwnam('--USER--'))[2]; +$( = $) = (getgrnam('sympa'))[2]; +$< = $> = (getpwnam('sympa'))[2]; # Sets the UMASK umask(oct($Conf{'umask'})); only in patch2: unchanged: --- sympa-5.3.4.orig/src/etc/script/arc2webarc.pl +++ sympa-5.3.4/src/etc/script/arc2webarc.pl @@ -71,7 +71,7 @@ my $robot = $ARGV[1]; ## Check UID -unless (getlogin() eq '--USER--') { +unless (getlogin() eq 'sympa') { print "You should run this script as user \"sympa\", ignore ? (y/CR)"; my $s = <STDIN>; die unless ($s =~ /^y$/i); only in patch2: unchanged: --- sympa-5.3.4.orig/src/etc/script/tpl2tt2.pl +++ sympa-5.3.4/src/etc/script/tpl2tt2.pl @@ -38,7 +38,7 @@ $| = 1; ## Check UID -#unless (getlogin() eq '--USER--') { +#unless (getlogin() eq 'sympa') { # print "You should run this script as user \"sympa\", ignore ? (y/CR)"; # my $s = <STDIN>; # die unless ($s =~ /^y$/i); @@ -219,7 +219,7 @@ printf STDERR "Error : Cannot create $dest_path directory : $!\n"; next; } - chown '--USER--', '--GROUP--', $dest_path; + chown 'sympa', 'sympa', $dest_path; } my $tt2 = "$dest_path/$dest_file"; @@ -264,7 +264,7 @@ printf "Template file $in_file has been converted to $out_file\n"; - chown '--USER--', '--GROUP--', $out_file; + chown 'sympa', 'sympa', $out_file; } ## Create root folders if required only in patch2: unchanged: --- sympa-5.3.4.orig/wwsympa/wwsympa_sudo_wrapper.pl +++ sympa-5.3.4/wwsympa/wwsympa_sudo_wrapper.pl @@ -1,3 +1,3 @@ #!--PERL-- -exec '--SUDO--', '-u', '--USER--', '--CGIDIR--/wwsympa.fcgi'; +exec '--SUDO--', '-u', 'sympa', '--CGIDIR--/wwsympa.fcgi'; only in patch2: unchanged: --- sympa-5.3.4.orig/wwsympa/bounced.pl +++ sympa-5.3.4/wwsympa/bounced.pl @@ -144,15 +144,15 @@ do_openlog($wwsconf->{'log_facility'}, $Conf{'log_socket_type'}, 'bounced'); ## Set the UserID & GroupID for the process -$( = $) = (getgrnam('--GROUP--'))[2]; -$< = $> = (getpwnam('--USER--'))[2]; +$( = $) = (getgrnam('sympa'))[2]; +$< = $> = (getpwnam('sympa'))[2]; ## Required on FreeBSD to change ALL IDs(effective UID + real UID + saved UID) -&POSIX::setuid((getpwnam('--USER--'))[2]); -&POSIX::setgid((getgrnam('--GROUP--'))[2]); +&POSIX::setuid((getpwnam('sympa'))[2]); +&POSIX::setgid((getgrnam('sympa'))[2]); ## Check if the UID has correctly been set (usefull on OS X) -unless (($( == (getgrnam('--GROUP--'))[2]) && ($< == (getpwnam('--USER--'))[2])) { +unless (($( == (getgrnam('sympa'))[2]) && ($< == (getpwnam('sympa'))[2])) { &fatal_err("Failed to change process userID and groupID. Note that on some OS Perl scripts can't change their real UID. In such circumstances Sympa should be run via SUDO."); } only in patch2: unchanged: --- sympa-5.3.4.orig/wwsympa/archived.pl +++ sympa-5.3.4/wwsympa/archived.pl @@ -94,7 +94,7 @@ unless (-d $wwsconf->{'arc_path'}) { printf STDERR "Creating missing %s directory\n", $wwsconf->{'arc_path'}; mkdir $wwsconf->{'arc_path'}, 0775; - chown '--USER--', '--GROUP--', $wwsconf->{'arc_path'}; + chown 'sympa', 'sympa', $wwsconf->{'arc_path'}; } } @@ -128,16 +128,16 @@ do_openlog($wwsconf->{'log_facility'}, $Conf{'log_socket_type'}, 'archived'); ## Set the UserID & GroupID for the process -$( = $) = (getgrnam('--GROUP--'))[2]; -$< = $> = (getpwnam('--USER--'))[2]; +$( = $) = (getgrnam('sympa'))[2]; +$< = $> = (getpwnam('sympa'))[2]; ## Required on FreeBSD to change ALL IDs(effective UID + real UID + saved UID) -&POSIX::setuid((getpwnam('--USER--'))[2]); -&POSIX::setgid((getgrnam('--GROUP--'))[2]); +&POSIX::setuid((getpwnam('sympa'))[2]); +&POSIX::setgid((getgrnam('sympa'))[2]); ## Check if the UID has correctly been set (usefull on OS X) -unless (($( == (getgrnam('--GROUP--'))[2]) && ($< == (getpwnam('--USER--'))[2])) { +unless (($( == (getgrnam('sympa'))[2]) && ($< == (getpwnam('sympa'))[2])) { &fatal_err("Failed to change process userID and groupID. Note that on some OS Perl scripts can't change their real UID. In such circumstances Sympa should be run via SUDO."); }