install_sympa.sh: support for patch that prevents user IP addresses from being logged.
This commit is contained in:
		
							
								
								
									
										52
									
								
								do-not-log-usr-ip.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								do-not-log-usr-ip.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| diff -Naur sympa/src/cgi/wwsympa.fcgi.in sympa-changed/src/cgi/wwsympa.fcgi.in | ||||
| --- sympa/src/cgi/wwsympa.fcgi.in	2022-01-24 08:05:58.000000000 +0100 | ||||
| +++ sympa-changed/src/cgi/wwsympa.fcgi.in	2022-06-10 18:13:06.474595910 +0200 | ||||
| @@ -1842,7 +1842,7 @@ | ||||
|   | ||||
|      my %options = %{$data || {}}; | ||||
|   | ||||
| -    $options{'client'} = $param->{'remote_addr'}; | ||||
| +    $options{'client'} = '127.127.0.1'; | ||||
|      $options{'daemon'} = 'wwsympa'; | ||||
|      $options{'robot'}      ||= $robot; | ||||
|      $options{'list'}       ||= $list->{'name'} if ref $list eq 'Sympa::List'; | ||||
| @@ -1870,7 +1870,7 @@ | ||||
|      $options{'operation'} ||= $param->{'action'}; | ||||
|      $options{'list'} ||= $list->{'name'} if ref $list eq 'Sympa::List'; | ||||
|      $options{'daemon'} = 'wwsympa'; | ||||
| -    $options{'client'} = $param->{'remote_addr'}; | ||||
| +    $options{'client'} = '127.127.0.1'; | ||||
|      $options{'robot'} ||= $robot; | ||||
|   | ||||
|      unless ($log->add_stat(%options)) { | ||||
| diff -Naur sympa/src/lib/Sympa/Log.pm sympa-changed/src/lib/Sympa/Log.pm | ||||
| --- sympa/src/lib/Sympa/Log.pm	2021-12-09 09:54:08.000000000 +0100 | ||||
| +++ sympa-changed/src/lib/Sympa/Log.pm	2022-06-10 18:15:53.437052215 +0200 | ||||
| @@ -299,7 +299,12 @@ | ||||
|      my $status       = $options{'status'}; | ||||
|      my $error_type   = $options{'error_type'}; | ||||
|      my $user_email   = $options{'user_email'}; | ||||
| -    my $client       = $options{'client'}; | ||||
| +    my $client; | ||||
| +    if (defined $options{'client'} && length $options{'client'} > 0) { | ||||
| +       $client    =  '127.127.0.1'; | ||||
| +    } else { | ||||
| +       $client     = $options{'client'}; | ||||
| +    } | ||||
|      my $daemon       = $self->{_service} || 'sympa'; | ||||
|      my ($date, $usec) = Sympa::Tools::Time::gettimeofday(); | ||||
|   | ||||
| @@ -357,7 +362,12 @@ | ||||
|      my $date      = time; | ||||
|      my $mail      = $options{'mail'}; | ||||
|      my $daemon    = $self->{_service} || 'sympa'; | ||||
| -    my $ip        = $options{'client'}; | ||||
| +    my $ip; | ||||
| +    if (defined $options{'client'} && length $options{'client'} > 0) { | ||||
| +       $ip        =  '127.127.0.1'; | ||||
| +    } else { | ||||
| +       $ip        = $options{'client'}; | ||||
| +    } | ||||
|      my $robot     = $options{'robot'}; | ||||
|      my $parameter = $options{'parameter'}; | ||||
|      my $read      = 0; | ||||
							
								
								
									
										206
									
								
								install_sympa.sh
									
									
									
									
									
								
							
							
						
						
									
										206
									
								
								install_sympa.sh
									
									
									
									
									
								
							| @@ -256,6 +256,10 @@ DEFAULT_SYMPA_SYSTEMD_DIR="/etc/systemd/system" | ||||
| DEFAULT_VSERVER_GUEST="no" | ||||
|  | ||||
|  | ||||
| PATCH_FILE_NO_LOG_USER_IP="${working_dir}/do-not-log-usr-ip.patch" | ||||
| DEFAULT_APPLY_LOG_NO_USER_IP="np" | ||||
|  | ||||
|  | ||||
| echo | ||||
| echononl "\tInclude Configuration file.." | ||||
| if [[ ! -f $conf_file ]]; then | ||||
| @@ -284,6 +288,7 @@ DEFAULT_SYMPA_WEB_URL="https://$SYMPA_DOMAIN/wws" | ||||
| [[ -n "$SYMPA_DB_USER" ]] && DEFAULT_SYMPA_DB_USER="$SYMPA_DB_USER" | ||||
| [[ -n "$VSERVER_GUEST" ]] && DEFAULT_VSERVER_GUEST="$VSERVER_GUEST" | ||||
| [[ -n "$SYMPA_DB_PASSWD" ]] && DEFAULT_SYMPA_DB_PASSWD="$SYMPA_DB_PASSWD" | ||||
| [[ -n "$APPLY_LOG_NO_USER_IP" ]] && DEFAULT_APPLY_LOG_NO_USER_IP="$APPLY_LOG_NO_USER_IP" | ||||
|  | ||||
| # -  | ||||
| [[ -n "$SYMPA_SYSTEMD_DIR" ]] && DEFAULT_SYMPA_SYSTEMD_DIR="$SYMPA_SYSTEMD_DIR" | ||||
| @@ -1233,6 +1238,37 @@ else | ||||
| fi | ||||
|  | ||||
|  | ||||
| OK= | ||||
| echo "" | ||||
| echo -e "\033[32m--\033[m" | ||||
| echo "" | ||||
| echo "Apply Patch to prevent logging user IPs " | ||||
| echo "" | ||||
| if [[ ! -f "$PATCH_FILE_NO_LOG_USER_IP" ]] ; then | ||||
|    warn Patchfile "\033[1m$PATCH_FILE_NO_LOG_USER_IP\033[m" NOT FOUND | ||||
|    APPLY_LOG_NO_USER_IP=false | ||||
| else | ||||
|  | ||||
|    echononl "Apply Patch (yes/no) [$DEFAULT_APPLY_LOG_NO_USER_IP]: " | ||||
|    read OK | ||||
|    if [ "X$OK" = "X" ]; then | ||||
|       OK=$DEFAULT_APPLY_LOG_NO_USER_IP | ||||
|    fi | ||||
|    OK=`echo "$OK" | tr '[:upper:]' '[:lower:]'` | ||||
|    while [ "X$OK" != "Xyes" -a "X$OK" != "Xno" ]; do | ||||
|       echo "" | ||||
|       echononl "\twrong entry! [yes/no]: " | ||||
|       read OK | ||||
|       OK=`echo "$OK" | tr '[:upper:]' '[:lower:]'` | ||||
|    done | ||||
|    if [ "$OK" = "yes" ]; then | ||||
|       APPLY_LOG_NO_USER_IP=true | ||||
|    else | ||||
|       APPLY_LOG_NO_USER_IP=false | ||||
|    fi | ||||
| fi | ||||
|  | ||||
|  | ||||
| OK= | ||||
| echo "" | ||||
| echo -e "\033[32m--\033[m" | ||||
| @@ -1276,102 +1312,109 @@ else | ||||
| fi | ||||
| if $UPDATE_SYMPA ; then | ||||
|    echo "" | ||||
|    echo "Old (current) sympa version.....: $SYMPA_OLD_VERSION" | ||||
|    echo "   Current Installation dir.....: $CURRENT_INSTALL_DIR"  | ||||
|    echo "Old (current) sympa version.........: $SYMPA_OLD_VERSION" | ||||
|    echo "   Current Installation dir.........: $CURRENT_INSTALL_DIR"  | ||||
|    if [[ -z "$CURRENT_INSTALL_SYMLINK" ]]; then | ||||
|       echo "   Current Install dir symlink..: - not in use -" | ||||
|       echo "   Current Install dir symlink......: - not in use -" | ||||
|    else | ||||
|       echo "   Current Install dir symlink..: $CURRENT_INSTALL_SYMLINK" | ||||
|       echo "   Current Install dir symlink......: $CURRENT_INSTALL_SYMLINK" | ||||
|    fi | ||||
|    echo "   Current Data base directory..: $CURRENT_SYMPA_LIST_DATA_BASE_PATH"  | ||||
|    echo "   Current Data base directory......: $CURRENT_SYMPA_LIST_DATA_BASE_PATH"  | ||||
|    if [[ -z "$CURRENT_SYMPA_LIST_DATA_SYMLINK" ]]; then | ||||
|        echo "   Current Data dir symlink.....: - not in use -" | ||||
|        echo "   Current Data dir symlink.........: - not in use -" | ||||
|    else | ||||
|        echo "   Current Data dir symlink.....: $CURRENT_SYMPA_LIST_DATA_SYMLINK" | ||||
|        echo "   Current Data dir symlink.........: $CURRENT_SYMPA_LIST_DATA_SYMLINK" | ||||
|    fi | ||||
|    echo "" | ||||
| fi | ||||
| echo "" | ||||
| echo -e "\033[1mSympa new version\033[m...............: \033[1m$SYMPA_VERSION\033[m" | ||||
| echo "   First (initial) Install......: $_new" | ||||
| echo "   Update ......................: $_update" | ||||
| echo -e "\033[1mSympa new version\033[m...................: \033[1m$SYMPA_VERSION\033[m" | ||||
| echo "   First (initial) Install..........: $_new" | ||||
| echo "   Update ..........................: $_update" | ||||
| echo "" | ||||
| if ! $UPDATE_SYMPA ; then | ||||
|    echo "Sympa support for multidomains..: $SYMPA_SUPPORT_MULTIDOMAINS" | ||||
|    echo "Sympa support for multidomains......: $SYMPA_SUPPORT_MULTIDOMAINS" | ||||
| fi | ||||
| echo "Sympa user......................: $SYMPA_USER (id: ${SYMPA_UID})" | ||||
| echo "Sympa group.....................: $SYMPA_GROUP (id: ${SYMPA_GID})" | ||||
| echo "Sympa user..........................: $SYMPA_USER (id: ${SYMPA_UID})" | ||||
| echo "Sympa group.........................: $SYMPA_GROUP (id: ${SYMPA_GID})" | ||||
| echo "" | ||||
| echo "Installation directory..........: $SYMPA_INSTALL_DIR" | ||||
| echo "Sympa's bin directory...........: $SYMPA_BIN_DIR" | ||||
| echo "Sympa's pid directory...........: $SYMPA_PID_DIR" | ||||
| echo "Sympa's cgi directory...........: $SYMPA_CGI_DIR" | ||||
| echo "Sympa's libexec directory.......: $SYMPA_LIBEXEC_DIR" | ||||
| echo "Sympa's static directory........: $SYMPA_STATIC_DIR" | ||||
| echo "Sympa's manpages directory......: $SYMPA_MANPATH" | ||||
| echo "Sympa's main conf directory.....: $SYMPA_MAIN_CONF_DIR" | ||||
| echo "Installation directory..............: $SYMPA_INSTALL_DIR" | ||||
| echo "Sympa's bin directory...............: $SYMPA_BIN_DIR" | ||||
| echo "Sympa's pid directory...............: $SYMPA_PID_DIR" | ||||
| echo "Sympa's cgi directory...............: $SYMPA_CGI_DIR" | ||||
| echo "Sympa's libexec directory...........: $SYMPA_LIBEXEC_DIR" | ||||
| echo "Sympa's static directory............: $SYMPA_STATIC_DIR" | ||||
| echo "Sympa's manpages directory..........: $SYMPA_MANPATH" | ||||
| echo "Sympa's main conf directory.........: $SYMPA_MAIN_CONF_DIR" | ||||
| echo "" | ||||
| echo "Sympa's Data directory..........: $SYMPA_LIST_DATA_DIR" | ||||
| echo "Sympa's Data base path..........: $SYMPA_LIST_DATA_BASE_PATH" | ||||
| echo "Sympa's Data root dirctory......: $SYMPA_LIST_DATA_ROOT_DIR" | ||||
| echo "Sympa's Data directory symlink..: $SYMPA_LIST_DATA_SYMLINK" | ||||
| echo "Sympa's Data directory..............: $SYMPA_LIST_DATA_DIR" | ||||
| echo "Sympa's Data base path..............: $SYMPA_LIST_DATA_BASE_PATH" | ||||
| echo "Sympa's Data root dirctory..........: $SYMPA_LIST_DATA_ROOT_DIR" | ||||
| echo "Sympa's Data directory symlink......: $SYMPA_LIST_DATA_SYMLINK" | ||||
| echo "" | ||||
| echo "Sympa's list archive path.......: $SYMPA_LIST_ARC_PATH" | ||||
| echo "Sympa's list archive symlink....: $SYMPA_LIST_ARC_SYMLINK" | ||||
| echo "Sympa's list archive path...........: $SYMPA_LIST_ARC_PATH" | ||||
| echo "Sympa's list archive symlink........: $SYMPA_LIST_ARC_SYMLINK" | ||||
| echo "" | ||||
| echo "Sympa's aliases file................: $SYMPA_ALIAS_FILE" | ||||
| echo "" | ||||
| if $APPLY_LOG_NO_USER_IP ; then | ||||
|    echo -e "Patch to prevent logging user IPs...: \033[33m\033[1mYes\033[m" | ||||
| else | ||||
|    echo -e "Patch to prevent logging user IPs...: \033[33m\033[1mNo\033[m" | ||||
| fi | ||||
| echo "" | ||||
| echo "Sympa's aliases file............: $SYMPA_ALIAS_FILE" | ||||
| if ! $UPDATE_SYMPA ; then | ||||
|    echo "" | ||||
|    echo "(default) domain................: $SYMPA_DOMAIN" | ||||
|    echo "Listmaster......................: $SYMPA_LISTMASTER" | ||||
|    echo "URL for web interface...........: $SYMPA_WEB_URL" | ||||
|    echo "SctiptAlias Directory...........: $_wwsympa_dir" | ||||
|    echo "(default) domain....................: $SYMPA_DOMAIN" | ||||
|    echo "Listmaster..........................: $SYMPA_LISTMASTER" | ||||
|    echo "URL for web interface...............: $SYMPA_WEB_URL" | ||||
|    echo "SctiptAlias Directory...............: $_wwsympa_dir" | ||||
|    echo "" | ||||
|    echo "Database management system......: $SYMPA_DB_TYPE" | ||||
|    echo "Database host...................: $SYMPA_DB_HOST" | ||||
|    echo "Database port...................: $SYMPA_DB_PORT" | ||||
|    echo "Database name...................: $SYMPA_DB_NAME" | ||||
|    echo "Database user...................: $SYMPA_DB_USER" | ||||
|    echo "Database password...............: $SYMPA_DB_PASSWD" | ||||
|    echo "Database management system..........: $SYMPA_DB_TYPE" | ||||
|    echo "Database host.......................: $SYMPA_DB_HOST" | ||||
|    echo "Database port.......................: $SYMPA_DB_PORT" | ||||
|    echo "Database name.......................: $SYMPA_DB_NAME" | ||||
|    echo "Database user.......................: $SYMPA_DB_USER" | ||||
|    echo "Database password...................: $SYMPA_DB_PASSWD" | ||||
|    echo "" | ||||
| fi | ||||
| echo "Start at boot time..............: $START_AT_BOOTTIME" | ||||
| echo "Start at boot time..................: $START_AT_BOOTTIME" | ||||
| echo "" | ||||
| echo "Directory for init scripts......: $SYMPA_INIT_DIR" | ||||
| echo "Directory for init scripts..........: $SYMPA_INIT_DIR" | ||||
| echo "" | ||||
| echo "Use systemd.....................: $SYSTEMD_SUPPORTED" | ||||
| echo "Use systemd.........................: $SYSTEMD_SUPPORTED" | ||||
| if $SYSTEMD_SUPPORTED ; then | ||||
|    echo "Directory Systemd unit files....: $SYMPA_SYSTEMD_DIR" | ||||
|    echo "Directory Systemd unit files........: $SYMPA_SYSTEMD_DIR" | ||||
| fi | ||||
| echo "" | ||||
| echo "IPv4 Address....................: $IPv4" | ||||
| echo "IPv6 Address....................: $IPv6" | ||||
| echo "IPv4 Address........................: $IPv4" | ||||
| echo "IPv6 Address........................: $IPv6" | ||||
| echo "" | ||||
| echo "Apache User.....................: $HTTPD_USER" | ||||
| echo "Apache User.........................: $HTTPD_USER" | ||||
| if ! $UPDATE_SYMPA ; then | ||||
|    echo "Apache VHost directory..........: $apache_vhost_dir" | ||||
|    echo "Apache Log Directory............: $apache_log_dir" | ||||
|    echo "Apache VHost directory..............: $apache_vhost_dir" | ||||
|    echo "Apache Log Directory................: $apache_log_dir" | ||||
|    echo "" | ||||
|    echo "Postfix Configuration Directory.: $POSTFIX_CONF_DIR" | ||||
|    echo "Postfix Configuration Directory.....: $POSTFIX_CONF_DIR" | ||||
| fi | ||||
| if $UPDATE_SYMPA ; then | ||||
|    echo "" | ||||
|    echo -e "-- \033[34m\033[1mSome determined defines of the installed Sympa System\033[m --" | ||||
|    echo "" | ||||
|    echo "   Apache VHost directory..........: $apache_vhost_dir" | ||||
|    echo "   Apache Log Directory............: $apache_log_dir" | ||||
|    echo "   Apache VHost directory..............: $apache_vhost_dir" | ||||
|    echo "   Apache Log Directory................: $apache_log_dir" | ||||
|    echo "" | ||||
|    echo "   (default) domain..................: $SYMPA_DOMAIN" | ||||
|    echo "   Listmaster........................: $SYMPA_LISTMASTER" | ||||
|    echo "   URL for web interface.............: $SYMPA_WEB_URL" | ||||
|    echo "   SctiptAlias Directory.............: $_wwsympa_dir" | ||||
|    echo "   (default) domain......................: $SYMPA_DOMAIN" | ||||
|    echo "   Listmaster............................: $SYMPA_LISTMASTER" | ||||
|    echo "   URL for web interface.................: $SYMPA_WEB_URL" | ||||
|    echo "   SctiptAlias Directory.................: $_wwsympa_dir" | ||||
|    echo "" | ||||
|    echo "   Database management system........: $SYMPA_DB_TYPE" | ||||
|    echo "   Database host.....................: $SYMPA_DB_HOST" | ||||
|    echo "   Database port.....................: $SYMPA_DB_PORT" | ||||
|    echo "   Database name.....................: $SYMPA_DB_NAME" | ||||
|    echo "   Database user.....................: $SYMPA_DB_USER" | ||||
|    echo "   Database password.................: $SYMPA_DB_PASSWD" | ||||
|    echo "   Database management system............: $SYMPA_DB_TYPE" | ||||
|    echo "   Database host.........................: $SYMPA_DB_HOST" | ||||
|    echo "   Database port.........................: $SYMPA_DB_PORT" | ||||
|    echo "   Database name.........................: $SYMPA_DB_NAME" | ||||
|    echo "   Database user.........................: $SYMPA_DB_USER" | ||||
|    echo "   Database password.....................: $SYMPA_DB_PASSWD" | ||||
|    echo "" | ||||
| fi | ||||
| echo "" | ||||
| @@ -1478,6 +1521,12 @@ echo "## - Sympa's list archive symlink......: $SYMPA_LIST_ARC_SYMLINK" >> $_log | ||||
| echo "## -" >> $_log_file | ||||
| echo "## - Sympa's aliases file..............: $SYMPA_ALIAS_FILE" >> $_log_file | ||||
| echo "## -" >> $_log_file | ||||
| if $APPLY_LOG_NO_USER_IP ; then | ||||
|    echo "## - Patch to prevent logging user IPs.: Yes" >> $_log_file | ||||
| else | ||||
|    echo "## - Patch to prevent logging user IPs..: No" >> $_log_file | ||||
| fi | ||||
| echo "## -" >> $_log_file | ||||
| if ! $UPDATE_SYMPA ; then | ||||
|    echo "## -" >> $_log_file | ||||
|    echo "## - (default) domain..................: $SYMPA_DOMAIN" >> $_log_file | ||||
| @@ -1574,6 +1623,8 @@ echo "SYMPA_LIST_ARC_SYMLINK=$SYMPA_LIST_ARC_SYMLINK" >> $_log_file | ||||
| echo "" >> $_log_file | ||||
| echo "SYMPA_ALIAS_FILE=$SYMPA_ALIAS_FILE" >> $_log_file | ||||
| echo "" >> $_log_file | ||||
| echo "APPLY_LOG_NO_USER_IP=$APPLY_LOG_NO_USER_IP" >> $_log_file | ||||
| echo "" >> $_log_file | ||||
| echo "SYMPA_DOMAIN=$SYMPA_DOMAIN" >> $_log_file | ||||
| echo "SYMPA_LISTMASTER=$SYMPA_LISTMASTER" >> $_log_file | ||||
| echo "SYMPA_WEB_URL=$SYMPA_WEB_URL" >> $_log_file | ||||
| @@ -2333,8 +2384,8 @@ else | ||||
|       echononl "\tBackup current data base directory ($CURRENT_SYMPA_LIST_DATA_BASE_PATH).." | ||||
|       echo "## - Backup current data base directory ($CURRENT_SYMPA_LIST_DATA_BASE_PATH).." >> $_log_file | ||||
|       echo "## -" >> $_log_file | ||||
|       echo "cp -a \"${CURRENT_SYMPA_LIST_DATA_BASE_PATH}\"  \"${CURRENT_SYMPA_LIST_DATA_BASE_PATH}.$backup_date\"" >> $_log_file | ||||
|       cp -a "${CURRENT_SYMPA_LIST_DATA_BASE_PATH}"  "${CURRENT_SYMPA_LIST_DATA_BASE_PATH}.$backup_date" >> $_log_file 2>&1 | ||||
|       echo "cp -al \"${CURRENT_SYMPA_LIST_DATA_BASE_PATH}\"  \"${CURRENT_SYMPA_LIST_DATA_BASE_PATH}.$backup_date\"" >> $_log_file | ||||
|       cp -al "${CURRENT_SYMPA_LIST_DATA_BASE_PATH}"  "${CURRENT_SYMPA_LIST_DATA_BASE_PATH}.$backup_date" >> $_log_file 2>&1 | ||||
|       if [ "$?" = "0" ]; then | ||||
|          echo_ok | ||||
|       else | ||||
| @@ -2616,6 +2667,37 @@ else | ||||
|                     See '${_log_file}' for further informations." | ||||
| fi | ||||
|  | ||||
| ## - Patch to prevent logging user IPs | ||||
| ## - | ||||
| echononl "\tApply Patch to prevent from logging user IPs .." | ||||
| if $APPLY_LOG_NO_USER_IP ; then | ||||
|    echo "" >> $_log_file | ||||
|    echo "## - Apply Patch to prevent from logging user IPs .." >> $_log_file | ||||
|    echo "## -" >> $_log_file | ||||
|    echo "patch -d $_builddir -p1 < $PATCH_FILE_NO_LOG_USER_IP" >> $_log_file | ||||
|    patch -d $_builddir -p1 < $PATCH_FILE_NO_LOG_USER_IP >> $_log_file 2>&1 | ||||
|    if [ "$?" = "0" ]; then | ||||
|       echo_ok | ||||
|    else | ||||
|       echo_failed | ||||
|       error "Cannot apply patchfile '$PATCH_FILE_NO_LOG_USER_IP'..\n | ||||
|                     See '${_log_file}' for further informations." | ||||
|  | ||||
| 		echo "" | ||||
|       echononl "continue anyway [yes/no]: " | ||||
| 		read OK | ||||
| 		OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" | ||||
| 		while [[ "$OK" != "yes" ]] && [[  "$OK" != "no" ]] ; do | ||||
| 			echononl "Wrong entry! - repeat [yes/no]: " | ||||
| 			read OK | ||||
| 		done | ||||
| 		echo "" | ||||
|  | ||||
|    fi | ||||
| else | ||||
|    echo_skipped | ||||
| fi | ||||
|  | ||||
|  | ||||
| ## - Configure sympa | ||||
| ## - | ||||
|   | ||||
		Reference in New Issue
	
	Block a user