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__
+
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