| 
					
				 | 
			
			
				@@ -1,13 +1,28 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #!/usr/bin/env bash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 set -e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function log_to_dockerout { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cd /var/log/firebird 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    while true  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for i in $(ls *.log) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if [ -z "$(pgrep -f ${i})" ] ; then  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             echo Processing ${i} > /var/log/dockerout 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             tail -f /var/log/firebird/$i 2> /dev/null | while read fread; do echo "[${i}]: ${fread}" >> /var/log/dockerout; :> /var/log/firebird/$i; done & 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sleep 10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function sec_init 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-cat <<EOF | isql-fb security.db 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-create or alter user SYSDBA password '$_SYSDBA_PWD'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-commit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-quit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cat <<EOF | isql-fb security.db 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    create or alter user SYSDBA password '$_SYSDBA_PWD'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    commit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    quit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 EOF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if [ -f /run/secrets/FB3_USER_NAME ] && [ -f /run/secrets/FB3_USER_PWD ]; then 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -22,12 +37,22 @@ fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if [ -f /run/secrets/FB3_SYSDBA_PWD ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    _SYSDBA_PWD=$(cat /run/secrets/FB3_SYSDBA_PWD) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    _SYSDBA_PWD=$RANDOM$RANDOM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    echo "Setting SYSDBA's random password: "$_SYSDBA_PWD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function checkbase_init 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mktemp > /etc/firebird/check-database.conf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rm -f $(cat /etc/firebird/check-database.conf) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    isql-fb << EOF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    CREATE DATABASE "$(cat /etc/firebird/check-database.conf)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+EOF 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if [ ! -f /run/secrets/FB3_SYSDBA_PWD ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mkdir -p /run/secrets 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo $RANDOM$RANDOM > /run/secrets/FB3_SYSDBA_PWD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo "Setting SYSDBA's random password: "$( cat /run/secrets/FB3_SYSDBA_PWD ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_SYSDBA_PWD=$(cat /run/secrets/FB3_SYSDBA_PWD) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 sed -i "s/^UserManager/#Tmp UserManager/" /etc/firebird/firebird.conf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 echo "UserManager = Legacy_UserManager" >>  /etc/firebird/firebird.conf 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -36,15 +61,11 @@ sed -i "s/UserManager = Legacy_UserManager//" /etc/firebird/firebird.conf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 sed -i "s/#Tmp UserManager/UserManager/" /etc/firebird/firebird.conf 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 sec_init 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-rm -f /var/log/firebird/firebird.log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-mkfifo /var/log/firebird/firebird.log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-tail -f /var/log/firebird/firebird.log & 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-exec "$@" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+checkbase_init 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+mkfifo /var/log/dockerout 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+tail -f /var/log/dockerout & 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+log_to_dockerout & 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+exec "$@" 
			 |