diff -aurN smeserver-geneweb-2.1.0.old/createlinks smeserver-geneweb-2.1.0/createlinks --- smeserver-geneweb-2.1.0.old/createlinks 2019-10-05 19:30:02.000000000 +0400 +++ smeserver-geneweb-2.1.0/createlinks 2020-07-13 00:28:21.560000000 +0400 @@ -1,37 +1,34 @@ #!/usr/bin/perl -w use esmith::Build::CreateLinks qw(:all); -use File::Basename; -use File::Path; # Panel Link panel_link('geneweb', 'manager'); my $gw = "/opt/geneweb/gw/gw"; +my $srv = "/var/service"; -for my $event (qw( - geneweb-modify - )) -{ templates2events("$gw/only.txt", - qw(geneweb-modify bootstrap-console-save console-save)); - -templates2events("/etc/rc.d/init.d/gwd", - qw(geneweb-modify bootstrap-console-save console-save)); - -} - -for my $event (qw(geneweb-modify)) -{ - safe_symlink("sigusr1", - "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith"); - safe_symlink("restart", - "root/etc/e-smith/events/$event/services2adjust/geneweb"); - -} - -for my $event (qw(post-upgrade)) -{ - event_link("geneweb-restart", $event, "05"); + qw( geneweb-modify bootstrap-console-save console-save )); +templates2events("$srv/geneweb/run", + qw( geneweb-modify bootstrap-console-save console-save )); +templates2events("$srv/gwsetup/run", + qw( geneweb-modify bootstrap-console-save console-save )); +templates2events("/etc/rc.d/init.d/geneweb", + qw( geneweb-modify bootstrap-console-save console-save )); +templates2events("/etc/rc.d/init.d/gwsetup", + qw( geneweb-modify bootstrap-console-save console-save)); +templates2events("/etc/httpd/conf/httpd.conf", + qw( geneweb-modify bootstrap-console-save console-save)); + +safe_symlink("sigusr1", + "root/etc/e-smith/events/geneweb-modify/services2adjust/httpd-e-smith"); +safe_symlink("restart", + "root/etc/e-smith/events/geneweb-modify/services2adjust/geneweb"); +safe_symlink("restart", + "root/etc/e-smith/events/geneweb-modify/services2adjust/gwsetup"); + +for my $event (qw(post-upgrade)) { + event_link("geneweb-restart", $event, "05"); + event_link("gwsetup-restart", $event, "05"); } - diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/access smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/access --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/access 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/access 2020-07-13 12:39:09.219000000 +0400 @@ -0,0 +1 @@ +private diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/domain smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/domain --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/domain 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/domain 2020-05-01 21:53:37.000000000 +0400 @@ -0,0 +1 @@ +geneweb diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/only smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/only --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/only 2007-04-07 15:07:11.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/only 1970-01-01 04:00:00.000000000 +0400 @@ -1 +0,0 @@ -127.0.0.1 \ Pas de fin de ligne à la fin du fichier diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/status smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/status --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/status 2007-04-07 15:13:42.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/status 2020-07-13 12:39:28.644000000 +0400 @@ -1 +1 @@ -disabled \ Pas de fin de ligne à la fin du fichier +disabled diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/TCPPort smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/TCPPort --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/TCPPort 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/TCPPort 2020-05-01 21:53:37.000000000 +0400 @@ -0,0 +1 @@ +2317 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/type smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/type --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/geneweb/type 2007-03-05 00:27:09.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/geneweb/type 2020-07-13 12:39:35.108000000 +0400 @@ -1 +1 @@ -service \ Pas de fin de ligne à la fin du fichier +service diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/access smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/access --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/access 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/access 2020-07-13 12:39:47.427000000 +0400 @@ -0,0 +1 @@ +private diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/domain smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/domain --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/domain 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/domain 2020-05-01 21:53:37.000000000 +0400 @@ -0,0 +1 @@ +gwsetup diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/only smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/only --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/only 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/only 2020-07-13 12:39:56.699000000 +0400 @@ -0,0 +1 @@ +127.0.0.1 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/status smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/status --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/status 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/status 2020-07-13 12:40:02.260000000 +0400 @@ -0,0 +1 @@ +disabled diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/TCPPort smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/TCPPort --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/TCPPort 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/TCPPort 2020-05-01 21:53:37.000000000 +0400 @@ -0,0 +1 @@ +2316 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/type smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/type --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/defaults/gwsetup/type 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/defaults/gwsetup/type 2020-07-13 12:40:07.732000000 +0400 @@ -0,0 +1 @@ +service diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/migrate/20geneweb smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/migrate/20geneweb --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/db/configuration/migrate/20geneweb 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/db/configuration/migrate/20geneweb 2020-07-13 12:55:13.523000000 +0400 @@ -0,0 +1,30 @@ +# create status and access for geneweb and gwsetup if not existing +# set domain if empty + +my $rec; + +for my $service ( qw( geneweb gwsetup ) ) { + if ( $rec = $DB->get($service) ) { + if ( ! $rec->prop('status') ) { + $rec->set_prop('status', 'disabled'); + } + if ( ! $rec->prop('access') ) { + $rec->set_prop('access', 'private'); + } + if ( ! $rec->prop('domain') ) { + $rec->set_prop('domain', $service . '.' . + ($DB->get('DomainName')->value() || '')); + } + } +} + +# move only IP from geneweb to gwsetup if existing + +my $ip = $DB->get_prop('geneweb', 'only'); +my $ip2 = $DB->get_prop('gwsetup', 'only'); + +if ( $ip and ! $ip2 ) { + $DB->delete_prop('geneweb','only'); + ($DB->get('gwsetup'))->set_prop('only', $ip); +} + diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/geneweb smeserver-geneweb-2.1.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/geneweb --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/geneweb 2019-10-05 19:30:02.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/geneweb 2020-07-14 22:29:08.521000000 +0400 @@ -38,7 +38,7 @@ SUCCESS to port 2316 from your client + Successful change... now browse
enabled services from your client ]]>
@@ -46,7 +46,7 @@ DESC_GENEWEB_ADMIN_IP_DESCRIPTION - This IP must be on your local network and be a valid IP (i.e. 192.168.24.244) + This IP must be on your local network and be a valid IP (i.e. 192.168.0.244) @@ -82,21 +82,106 @@ LABEL_DBDIR_STATUS Current assigned Geneweb Database(s) directory: + ERR_DIR_NOT_EXIST Directory not found. + DESC_GENEWEB_BASE_DIR_DESCRIPTION - This directory must exist on server and be writeable for Geneweb. (geneweb:geneweb 770) + This directory must exist on server and be writeable for Geneweb. (geneweb:geneweb 770) + - default is '/opt/geneweb/bases - + + LABEL_GENEWEB_BASE_DIR New directory for Geneweb database(s). : + NO_CHANGE No change... no update ! + + + GENEWEB_STATUS + Geneweb server + + + + + GENEWEB_ACCESS + Geneweb server access + + + + + DESC_GENEWEB +

Geneweb server (geneweb) is generally enabled and publicly accessible.
+ Geneweb databases can be found in the directory shown below. This location can be changed.
+

]]> +
+
+ + + GWSETUP_STATUS + Geneweb administration + + + + + GWSETUP_ACCESS + Geneweb administration access + + + + + DESC_GWSETUP + Geneweb administration service (gwsetup) is generally intended for private access.
+ It is used during setup only. +

]]> +
+
+ + + ERROR_STATUS_GENEWEB + GENEWEB service is inactive (geneweb) ]]> + + + + ERROR_STATUS_GWSETUP + GENEWEB administration service is inactive (gwsetup) ]]> + + + + ERROR2_STATUS_GENEWEB + GENEWEB service should not be active (gwd) ]]> + + + + ERROR2_STATUS_GWSETUP + GENEWEB administration service should not be active (gwsetup) ]]> + + + + PRIVATE + Private + + + + PUBLIC + Public + + + + DESC_GWSETUP_ACCESS + The 'public' access mode is possible but not recommended for security reason.
+ It is even advisable to place it in the 'disabled ' state when it is not used. +

]]> +
+
+ diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/86GwsetupAlias smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/86GwsetupAlias --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/86GwsetupAlias 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/86GwsetupAlias 2020-05-13 19:14:04.000000000 +0400 @@ -0,0 +1,41 @@ +{ +# gwsetup ( verify settings!) + my $status = $gwsetup{'status'} || 'disabled'; + + if ($status eq 'enabled') + { + $OUT .="#-------------------------------------------------\n"; + $OUT .="# gwsetup settings from smeserver-gwsetup\n"; + $OUT .="#-------------------------------------------------\n"; + $OUT .="\n"; + + $OUT .= qq( + + SSLRequireSSL + order deny,allow + deny from all + ); + + my $access = ($gwsetup{'access'} || 'private'); + if ("$access" eq "private") + { + $OUT .= " allow from $localAccess $externalSSLAccess"; + } + elsif ("$access" eq "public") + { + $OUT .= " allow from all"; + } + $OUT .= qq( + AuthName "gwsetup" + AuthType Basic + AuthBasicProvider external + AuthExternal pwauth + require user admin + + ); + } + else + { + $OUT .= "# gwsetup is disabled"; + } +} diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/28gwd_gwsProxyPass smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/28gwd_gwsProxyPass --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/28gwd_gwsProxyPass 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/28gwd_gwsProxyPass 2020-07-13 14:50:01.992000000 +0400 @@ -0,0 +1,23 @@ +{ + # vim: ft=perl: +# proxypass for geneweb and gwsetup + + $haveSSL = (exists ${modSSL}{status} and ${modSSL}{status} eq "enabled") ? 'yes' : 'no'; + $plainPort = ${'httpd-e-smith'}{TCPPort} || '80'; + $sslPort = ${modSSL}{TCPPort} || '443'; + + $OUT = ''; + foreach $place ('geneweb','gwsetup') { + if ((${$place}{'status'} || 'disabled') eq 'enabled'){ + if (($port eq $plainPort) && ($haveSSL eq 'yes')) { + $OUT .= ' RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$' . "\n"; + $OUT .= " RewriteRule ^/$place(/.*|\$) https://%{HTTP_HOST}/$place\$1 [L,R]\n\n"; + } + $OUT .= " ProxyPass /$place/ http://127.0.0.1:${$place}{TCPPort}/\n"; + $OUT .= " ProxyPassReverse /$place/ http://127.0.0.1:${$place}{TCPPort}/\n"; + + } else { + $OUT .= " # $place disabled\n"; + } + } +} diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/rc.d/init.d/geneweb/geneweb_ALL smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/rc.d/init.d/geneweb/geneweb_ALL --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/rc.d/init.d/geneweb/geneweb_ALL 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/rc.d/init.d/geneweb/geneweb_ALL 2020-05-18 20:45:56.000000000 +0400 @@ -0,0 +1,59 @@ +#!/bin/sh +# chkconfig: 345 99 01 +# +# geneweb: Starts the genealogy Server +# +# Version: @(#) /etc/rc.d/init.d/geneweb 1.0 +# +# description: Starts and stops the genealogy Server at boot time and shutdown. +# +# processname: geneweb +# hide: true + +# Source function library. +if [ -f /etc/rc.d/init.d/functions ]; then + . /etc/rc.d/init.d/functions +fi + +GWLANG=$(/sbin/e-smith/db configuration getprop sysconfig Language | sed -e 's/_.*$//') +BD=$(/sbin/e-smith/db configuration getprop geneweb DBDir || echo "/opt/geneweb/bases") +HD="/opt/geneweb/gw/gw" +BIN=$HD/gwd + +start() \{ + echo -n "Starting GeneWeb Services (geneweb):" + $BIN -daemon -hd $HD -bd $BD -lang $GWLANG +# daemon $BIN -daemon -lang $GWLANG -log /var/log/geneweb.log -hd $HD -bd $BD + touch /var/lock/subsys/geneweb +\} + +stop() \{ + echo -n "Shutting down GeneWeb Service (geneweb): " + killproc $BIN + rm -f /var/lock/subsys/geneweb + echo "" +\} + +restart() \{ + echo "Restarting GeneWeb Service (geneweb): " + stop + sleep 1 + start +\} + +# See how we were called. +cd $BD + +case "$1" in + start|stop|restart) + $1 + ;; + status) + status $BIN + ;; + *) + echo "*** Usage: geneweb \{start|stop|status|restart\}" + exit 1 +esac + +exit 0 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/rc.d/init.d/gwd/gwd_ALL smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/rc.d/init.d/gwd/gwd_ALL --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/rc.d/init.d/gwd/gwd_ALL 2019-10-05 19:30:02.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/rc.d/init.d/gwd/gwd_ALL 1970-01-01 04:00:00.000000000 +0400 @@ -1,64 +0,0 @@ -#!/bin/sh -# chkconfig: 345 99 01 -# -# gwd: Starts the genealogy Server -# -# Version: @(#) /etc/rc.d/init.d/gwd 1.0 -# -# description: Starts and stops the genealogy Server at boot time and shutdown. -# -# processname: gwd -# hide: true - -# Source function library. -if [ -f /etc/rc.d/init.d/functions ]; then - . /etc/rc.d/init.d/functions -fi - -{ - my $db_dir = ${'geneweb'}{'DBDir'} || "/opt/geneweb/bases"; - $OUT .= <> /var/log/gwsetup.log - touch /var/lock/subsys/gwd -\} - -stop() \{ - echo -n "Shutting down GeneWeb Services: " - killproc $HD/gwd - killproc $HD/gwsetup - rm -f /var/lock/subsys/gwd - echo -\} - -restart() \{ - echo -n "Restarting GeneWeb Services: " - stop - sleep 1 - start -\} - -# See how we were called. -cd $BD - -case "$1" in - start|stop|restart) - $1 - ;; - status) - status gwd - ;; - *) - echo "*** Usage: gwd \{start|stop|status|restart\}" - exit 1 -esac - -exit 0 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/rc.d/init.d/gwsetup/gwsetup_ALL smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/rc.d/init.d/gwsetup/gwsetup_ALL --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/rc.d/init.d/gwsetup/gwsetup_ALL 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/rc.d/init.d/gwsetup/gwsetup_ALL 2020-05-18 20:46:17.000000000 +0400 @@ -0,0 +1,68 @@ +#!/bin/sh +# chkconfig: 345 99 01 +# +# gwsetup: Starts the genealogy Server Administration service +# +# Version: @(#) /etc/rc.d/init.d/gwsetup 1.0 +# +# description: Starts and stops the genealogy Server Administration service at boot time and shutdown. +# +# processname: gwsetup +# hide: true + +# Source function library. +if [ -f /etc/rc.d/init.d/functions ]; then + . /etc/rc.d/init.d/functions +fi + +HD="/opt/geneweb/gw/gw" +BIN="$\{HD\}/gwsetup" + +USER="root" #geneweb" +GWLANG=$(/sbin/e-smith/db configuration getprop sysconfig Language | sed -e 's/_.*$//') + +BD=$(/sbin/e-smith/db configuration getprop geneweb DBDir || echo "/opt/geneweb/bases") +TcpPort=$(/sbin/e-smith/db configuration getprop gwsetup TCPPort) + +#OPTIONS="-lang $GWLANG -gd $HD -bindir $HD -p $TcpPort" + +start() \{ + echo -n "Starting GeneWeb Setup service (gwsetup):" + $HD/gwsetup -daemon -gd $HD -bindir $HD -p $TcpPort -lang $GWLANG +# daemon --user $USER $BIN -daemon -lang $GWLANG -gd $HD -bindir $HD -p $TcpPort +# daemon --user $USER $BIN $OPTIONS +# 1>> /var/log/gwsetup.log 2>&1 +# daemon --check $servicename --user $USER $BIN $OPTIONS + touch /var/lock/subsys/gwsetup +\} + +stop() \{ + echo -n "Shutting down GeneWeb Setup service (gwsetup):" + killproc $BIN + rm -f /var/lock/subsys/gwsetup + echo "" +\} + +restart() \{ + echo "Restarting GeneWeb Setup service (gwsetup): " + stop + sleep 1 + start +\} + +# See how we were called. +cd $BD + +case "$1" in + start|stop|restart) + $1 + ;; + status) + status $BIN + ;; + *) + echo "*** Usage: gwsetup \{start|stop|status|restart\}" + exit 1 +esac + +exit 0 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/rc.d/init.d/masq/45AllowGeneWeb smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/rc.d/init.d/masq/45AllowGeneWeb --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/etc/rc.d/init.d/masq/45AllowGeneWeb 2019-10-05 19:30:02.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/etc/rc.d/init.d/masq/45AllowGeneWeb 1970-01-01 04:00:00.000000000 +0400 @@ -1,10 +0,0 @@ -# Template fragment at the suggestion of Luiz Zaidan after observing that -# the access to GeneWeb was not consistently being allowed remotely -{ - my $status = ${'httpd-e-smith'}{status} || "disabled"; - my $access = ${'httpd-e-smith'}{access} || "public"; - - $OUT = allow_tcp_in(2317, - ($status eq "enabled") && ($access eq "public")); -} - diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/geneweb/run/01run_ALL smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/geneweb/run/01run_ALL --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/geneweb/run/01run_ALL 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/geneweb/run/01run_ALL 2020-07-13 14:32:56.719000000 +0400 @@ -0,0 +1,14 @@ +exec 2>&1 + +BD=$(/sbin/e-smith/db configuration getprop geneweb DBDir || echo '/opt/geneweb/bases') + +TcpPort=$(/sbin/e-smith/db configuration getprop geneweb TCPPort || echo '2317') + +GWLANG=$(/sbin/e-smith/db configuration getprop sysconfig Language | sed -e 's/_.*$//') + +HD="/opt/geneweb/gw/gw" + +BIN=$HD/gwd + +exec $BIN -hd $HD -bd $BD -lang $GWLANG -p $TcpPort -setup_link + diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/geneweb/run/template-begin smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/geneweb/run/template-begin --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/geneweb/run/template-begin 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/geneweb/run/template-begin 2020-07-13 00:22:18.029000000 +0400 @@ -0,0 +1 @@ +#!/bin/sh diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/geneweb/run/template-end smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/geneweb/run/template-end --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/geneweb/run/template-end 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/geneweb/run/template-end 2020-07-13 00:22:46.501000000 +0400 @@ -0,0 +1,2 @@ + +# end \ Pas de fin de ligne à la fin du fichier diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/gwsetup/run/01run_ALL smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/gwsetup/run/01run_ALL --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/gwsetup/run/01run_ALL 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/gwsetup/run/01run_ALL 2020-07-14 21:31:38.401000000 +0400 @@ -0,0 +1,14 @@ + +exec 2>&1 + +USER="root" #geneweb" + +BD=$(/sbin/e-smith/db configuration getprop geneweb DBDir || echo '/opt/geneweb/bases') +TcpPort=$(/sbin/e-smith/db configuration getprop gwsetup TCPPort || echo '2316') +GWLANG=$(/sbin/e-smith/db configuration getprop sysconfig Language | sed -e 's/_.*$//') + +HD="/opt/geneweb/gw/gw" +BIN="$HD/gwsetup" + +cd $BD +exec $BIN -gd $HD -bindir $HD -p $TcpPort -lang $GWLANG diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/gwsetup/run/template-begin smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/gwsetup/run/template-begin --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/gwsetup/run/template-begin 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/gwsetup/run/template-begin 2020-07-13 00:22:18.000000000 +0400 @@ -0,0 +1 @@ +#!/bin/sh diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/gwsetup/run/template-end smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/gwsetup/run/template-end --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates/var/service/gwsetup/run/template-end 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates/var/service/gwsetup/run/template-end 2020-07-13 00:22:46.000000000 +0400 @@ -0,0 +1,2 @@ + +# end \ Pas de fin de ligne à la fin du fichier diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/geneweb smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/geneweb --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/geneweb 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/geneweb 2020-07-11 18:43:34.000000000 +0400 @@ -0,0 +1,3 @@ +UID="root" +GID="root" +PERMS=0755 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/gwd smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/gwd --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/gwd 2019-10-05 19:30:02.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/gwd 1970-01-01 04:00:00.000000000 +0400 @@ -1,3 +0,0 @@ -UID="root" -GID="root" -PERMS=0754 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/gwsetup smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/gwsetup --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/gwsetup 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/etc/rc.d/init.d/gwsetup 2020-07-11 18:43:44.000000000 +0400 @@ -0,0 +1,3 @@ +UID="root" +GID="root" +PERMS=0755 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/var/service/geneweb/run smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/var/service/geneweb/run --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/var/service/geneweb/run 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/var/service/geneweb/run 2020-07-12 11:45:24.000000000 +0400 @@ -0,0 +1,3 @@ +UID="root" +GID="root" +PERMS=0755 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/var/service/gwsetup/run smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/var/service/gwsetup/run --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/templates.metadata/var/service/gwsetup/run 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/templates.metadata/var/service/gwsetup/run 2020-07-12 11:45:24.000000000 +0400 @@ -0,0 +1,3 @@ +UID="root" +GID="root" +PERMS=0755 diff -aurN smeserver-geneweb-2.1.0.old/root/etc/e-smith/web/functions/geneweb smeserver-geneweb-2.1.0/root/etc/e-smith/web/functions/geneweb --- smeserver-geneweb-2.1.0.old/root/etc/e-smith/web/functions/geneweb 2019-10-05 19:30:02.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/etc/e-smith/web/functions/geneweb 2020-07-14 22:11:28.506000000 +0400 @@ -60,6 +60,7 @@ =end testing =cut +# GENEWEB_ADMINACCESS_STATUS_DESCRIPTION __DATA__
- GENEWEB_ADMINACCESS_STATUS_DESCRIPTION - - - - + + + + DESC_GWSETUP + + + + + + + + + DESC_GWSETUP_ACCESS + + + + + DESC_GENEWEB + + + + + - + + + + - - - - - DESC_STATE_ADMIN_BUTTON - + + + + @@ -99,40 +132,53 @@ post-event="change_settings()"> - - DESC_GENEWEB_ADMIN_IP_DESCRIPTION - - + type="select" + id="gwsetup_st" + options="'enabled' => 'ENABLED', 'disabled' => 'DISABLED'" + value="get_gwsetup_st()"> + + DESC_GWSETUP + + - - + type="select" + id="gwsetup_ac" + options="'private' => 'PRIVATE', 'public' => 'PUBLIC'" + value="get_gwsetup_ac()"> + + DESC_GWSETUP_ACCESS + + + + + DESC_GENEWEB + + + + + + size="64" + validation="dir_must_exist" + value="get_dbdir()"> DESC_GENEWEB_BASE_DIR_DESCRIPTION - - - - - - + + diff -aurN smeserver-geneweb-2.1.0.old/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/geneweb.pm smeserver-geneweb-2.1.0/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/geneweb.pm --- smeserver-geneweb-2.1.0.old/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/geneweb.pm 2019-10-05 19:47:28.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/geneweb.pm 2020-07-14 21:42:07.608000000 +0400 @@ -7,81 +7,30 @@ package esmith::FormMagick::Panel::geneweb; use strict; -#use warnings; +use warnings; + use esmith::FormMagick; use esmith::ConfigDB; -use esmith::NetworksDB; +use esmith::HostsDB; use esmith::util; + use File::Basename; use Exporter; -use Net::IPv4Addr; our @ISA = qw(esmith::FormMagick Exporter); our @EXPORT = qw( - get_dbdir - must_exist get_prop - get_value - get_only - change_settings - must_be_local ); our $VERSION = sprintf '%d.%03d', q$Revision: 0.09 $ =~ /: (\d+).(\d+)/; -our $db = esmith::ConfigDB->open || die "Couldn't open ConfigDB\n"; -our $networks = esmith::NetworksDB->open || die "Couldn't open NetworksDB\n"; - -=pod - -=head1 NAME - -esmith::FormMagick::Panels::geneweb - Panel providing exclusive single -IP assignment for it's administrative access (:2316) - -=head1 SYNOPSYS - - use esmith::FormMagick::Panel::geneweb; - - my $panel = esmith::FormMagick::Panel::geneweb->new; - $panel->display(); - -=head1 DESCRIPTION - -Geneweb geneology server installs two separate server accesses, the database -interface (accessed at $domain:2317/DBname); the administration interface -(accessed at $domain:2316 but only by the single IP assigend by the file -/opt/geneweb/gw/gw/only.txt which defaults to 127.0.0.1). This panel provides a -'non-commandline' form to enter an alternative IP on the LAN from which to -administer Geneweb. - -=cut - -# {{{ new - -=head2 new() - -Exactly as for esmith::FormMagick - -=begin testing +our $cdb = esmith::ConfigDB->open || die "Couldn't open Configuration DB\n"; -$ENV{ESMITH_CONFIG_DB} = "10e-smith-base/configuration.conf" -$ENV{ESMITH_NETWORKS_DB} = "10e-smith-base/networks.conf" +our $REGEXP_DOMAIN = qq([a-zA-Z0-9\-\.]+); -use_ok('esmith::FormMgick::Panel::geneweb'); -use vars qw($panel); -ok($panel = esmith::FormMagick::Panel::geneweb->new(), "Create panel object"); -isa_ok($panel, 'esmith::FormMagick::Panel::geneweb'); -=end testing - -=cut - - - -sub new -{ +sub new { shift; my $self = esmith::FormMagick->new(); $self->{calling_package} = (caller)[0]; @@ -90,17 +39,13 @@ return $self; } -=head2 get_prop -=cut - -sub get_prop -{ +sub get_prop { my $fm = shift if (ref($_[0]) ); my $item = shift; my $prop = shift; - my $record = $db->get($item); + my $record = $cdb->get($item); if ($record) { return $record->prop($prop); } @@ -109,124 +54,114 @@ } } -=head2 get_value -=cut +sub get_dbdir { + return $cdb->get_prop("geneweb", "DBDir"); +} -sub get_value -{ - my $fm = shift; - my $item = shift; - my $record = $db->get($item); - #return ($db->get("geneweb")->prop($item)); - if ($record) { - return $record->value(); - } - else { - return ''; - } + +sub get_geneweb_st { + return $cdb->get_prop("geneweb", "status"); } - -=head2 get_only -method to retrieve the value of /opt/geneweb/gw/gw/only.txt for the form -=cut -sub get_only -{ - return $db->get_prop("geneweb", "only"); +sub get_geneweb_ac { + return $cdb->get_prop("geneweb", "access"); } - -=head2 get_dbdir -method to retrieve the value of /opt/geneweb/bases or other location for the form -=cut -sub get_dbdir -{ - return $db->get_prop("geneweb", "DBDir"); +sub get_gwsetup_st { + return $cdb->get_prop("gwsetup", "status"); } -=head2 change_settings -Sub to change settings as per user input in the panel -=cut +sub get_gwsetup_ac { + return $cdb->get_prop("gwsetup", "access"); +} + + +sub change_settings { -sub change_settings -{ my $self = shift; my $q = $self->{'cgi'}; - my $n_gw_ip = $q->param("geneweb_only") || ''; - my $n_gw_dbdir = $q->param("geneweb_dbdir") || ''; - if (!($n_gw_ip || $n_gw_dbdir)) { - return $self->success("NO_CHANGE") - } - my $gw_ip = get_only(); - my $gw_dbdir = get_dbdir(); - if (($n_gw_ip eq $gw_ip) && ($n_gw_dbdir eq $gw_dbdir)) { - return $self->success("NO_CHANGE") - } - if ($n_gw_ip) { $db->set_prop("geneweb", "only", $n_gw_ip) } - if ($n_gw_dbdir) { $db->set_prop("geneweb", "DBDir", $n_gw_dbdir) } + + my $n_gw_dbdir = $q->param("geneweb_dbdir") || ''; + my $n_gw_st = $q->param("geneweb_st"); + my $n_gw_ac = $q->param("geneweb_ac"); - unless ( system ( "/sbin/e-smith/signal-event", "geneweb-modify" ) == 0 ) - { - $self->error("ERROR_UPDATING"); - return undef; - } - return $self->success("SUCCESS"); -} + my $n_gws_st = $q->param("gwsetup_st"); + my $n_gws_ac = $q->param("gwsetup_ac"); + my $gw_dbdir = get_dbdir(); + my $gw_st = get_geneweb_st(); + my $gw_ac = get_geneweb_ac(); -=head2 valid_ip_number + my $gws_st = get_gwsetup_st(); + my $gws_ac = get_gwsetup_ac(); -subroutine to validate IP input. -=cut + if ( ($n_gw_dbdir eq $gw_dbdir) && ($n_gw_st eq $gw_st) + && ($n_gw_ac eq $gw_ac) && ($n_gws_st eq $gws_st) && ($n_gws_ac eq $gws_ac) ) { + return $self->success("NO_CHANGE"); + } + if ($n_gw_dbdir) { $cdb->set_prop("geneweb", "DBDir", $n_gw_dbdir) }; -sub must_be_local -{ - my $self = shift; - my $q = $self->{cgi}; - my $gw_ip = $q->param("geneweb_only" || ''); - if (!($gw_ip)) { return 'OK'} - if (!( $gw_ip =~ /^((([01]?[0-9]{1,2}|[2][0-5]{1,2}).){3}([01]?[0-9]{1,2}|[2][0-5]{1,2}))$/ )) - { - return 'NOT_VALID_IP'; - } - # Make sure that the IP is indeed local. - my $ndb = esmith::NetworksDB->open_ro; - my @local_list = $ndb->local_access_spec; - - foreach my $spec (@local_list) - { - if (Net::IPv4Addr::ipv4_in_network($spec, $gw_ip)) - { - return 'OK'; - } - } - # Not OK. The IP is not on any of our local networks. - return 'ERR_IP_NOT_LOCAL'; + $cdb->set_prop("geneweb", "status", $n_gw_st); + $cdb->set_prop("geneweb", "access", $n_gw_ac); + + $cdb->set_prop("gwsetup", "status", $n_gws_st); + $cdb->set_prop("gwsetup", "access", $n_gws_ac); + + return ( system ( "/sbin/e-smith/signal-event", "geneweb-modify" ) ) ? + $self->error("ERROR_UPDATING") : $self->success("SUCCESS"); } - -=head2 valid_base_directory -subroutine to validate base directory. -=cut +sub dir_must_exist { -sub must_exist -{ my $self = shift; my $q = $self->{cgi}; + my $gw_dbdir = $q->param("geneweb_dbdir") || ''; + $gw_dbdir = $1 if ($gw_dbdir =~ /^($REGEXP_DOMAIN)$/); + return 'ERR_DIR_NOT_EXIST' unless ($gw_dbdir); + if ($gw_dbdir) { - if (! -d "$gw_dbdir") { return 'ERR_DIR_NOT_EXIST' } - # system("su geneweb -c 'touch $gw_dbdir/toto'") == 0 - # or return 'DIR_NOT_WRITEABLE'; - # system("su geneweb -c 'rm -f $gw_dbdir/toto'") - # return 'DIR_EXIST_AND_WRITEABLE'; + if ( ! -d "$gw_dbdir" ) { + return $self->localise('ERR_DIR_NOT_EXIST'); + } } return 'OK'; } + +sub get_stat_gwd { + + my $fm = shift; + if ( get_geneweb_st() eq 'enabled' + && system ( "/bin/ps cax | /bin/grep 'gwd' > /dev/null") != 0 ) { + return $fm->localise('ERROR_STATUS_GENEWEB'); + } + if ( get_geneweb_st() eq 'disabled' + && system ( "/bin/ps cax | /bin/grep 'gwd' > /dev/null") == 0 ) { + return $fm->localise('ERROR2_STATUS_GENEWEB'); + } + return ''; +} + + +sub get_stat_gws { + + my $fm = shift; + if ( get_gwsetup_st() eq 'enabled' + && system ( "/bin/ps cax | /bin/grep 'gwsetup' > /dev/null") != 0 ) { + return $fm->localise('ERROR_STATUS_GWSETUP'); + } + if ( get_gwsetup_st() eq 'disabled' + && system ( "/bin/ps cax | /bin/grep 'gwsetup' > /dev/null") == 0 ) { + return $fm->localise('ERROR2_STATUS_GWSETUP'); + } + return ''; +} + + 1; diff -aurN smeserver-geneweb-2.1.0.old/root/var/service/geneweb/log/run smeserver-geneweb-2.1.0/root/var/service/geneweb/log/run --- smeserver-geneweb-2.1.0.old/root/var/service/geneweb/log/run 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/var/service/geneweb/log/run 2015-05-18 20:08:47.000000000 +0400 @@ -0,0 +1,6 @@ +#!/bin/sh + +exec \ + /usr/local/bin/setuidgid smelog \ + /usr/local/bin/multilog t s5000000 \ + /var/log/geneweb diff -aurN smeserver-geneweb-2.1.0.old/root/var/service/gwsetup/log/run smeserver-geneweb-2.1.0/root/var/service/gwsetup/log/run --- smeserver-geneweb-2.1.0.old/root/var/service/gwsetup/log/run 1970-01-01 04:00:00.000000000 +0400 +++ smeserver-geneweb-2.1.0/root/var/service/gwsetup/log/run 2020-07-11 19:53:22.699000000 +0400 @@ -0,0 +1,6 @@ +#!/bin/sh + +exec \ + /usr/local/bin/setuidgid smelog \ + /usr/local/bin/multilog t s5000000 \ + /var/log/gwsetup