[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1043440: marked as done (bookworm-pu: package slbackup-php/0.4.5-4+deb12u1)



Your message dated Sat, 07 Oct 2023 09:59:39 +0000
with message-id <E1qp45z-00A4C1-Ek@coccia.debian.org>
and subject line Released with 12.2
has caused the Debian Bug report #1043440,
regarding bookworm-pu: package slbackup-php/0.4.5-4+deb12u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1043440: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1043440
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bookworm
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: slbackup-php@packages.debian.org, debian-edu@lists.debian.org
Control: affects -1 + src:slbackup-php

As part of the effort of getting Debian Edu 12 ready for release (whilst
having all fixes/changes/features shipped in Debian 12) we have fixed the
Skolelinux Backup Tools's PHP frontend.

[ Reason ]
slbackup-php 0.4.5-4 produces main warnings and failures when running under
PHP 8.x. This upload fixes those problems.

[ Impact ]
slbackup / slbackup-php are mostly use on Debian Edu system. For Debian
Edu, this fixes the (rather old) backup utility shipped on its main
server installation.

Not much impact for non-Debian-Edu users is to be expected.

[ Tests ]
Manual tests in webbrowser on a Debian Edu mainserver.

[ Risks ]
Not much risk for non-Debian-Edu users is to be expected.

In Debian Edu, slbackup-php could be even more broken (stuff we haven't
spotted). Of course, also regressions are possible.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]

+  [ Guido Berhörster ]
+  * debian/patches:
+    + Add 1007_log_remote_commands_to_stderr.patch in order to log to stderr.
+    + Add 1006_disable-ssh-known-hosts.patch disabling SSH known hosts files.
+    + Add 1005_fix-typo.patch fixing an exception on login. (Closes: #1042824).
+    + Add 1004_fix-php-warnings.patch fixing PHP warnings.
+    + Add 1003_php8-compat.patch fixing PHP 8 compatibility.
+    + Fix string splitting in 1002_php7-compat.patch. Use explode() instead of
+      preg_split(), the latter needs delimiters for the regex and returns false
+      if there was no match which breaks the existing code.

[ Other info ]
This p-u is part of the upcoming Debian Edu 12 release and is required to get
Debian Edu fully functional in Debian 12.
diff -Nru slbackup-php-0.4.5/debian/changelog slbackup-php-0.4.5/debian/changelog
--- slbackup-php-0.4.5/debian/changelog	2018-06-02 23:54:47.000000000 +0200
+++ slbackup-php-0.4.5/debian/changelog	2023-08-10 18:02:58.000000000 +0200
@@ -1,3 +1,18 @@
+slbackup-php (0.4.5-4+deb12u1) bookworm; urgency=medium
+
+  [ Guido Berhörster ]
+  * debian/patches:
+    + Add 1007_log_remote_commands_to_stderr.patch in order to log to stderr.
+    + Add 1006_disable-ssh-known-hosts.patch disabling SSH known hosts files.
+    + Add 1005_fix-typo.patch fixing an exception on login. (Closes: #1042824).
+    + Add 1004_fix-php-warnings.patch fixing PHP warnings.
+    + Add 1003_php8-compat.patch fixing PHP 8 compatibility.
+    + Fix string splitting in 1002_php7-compat.patch. Use explode() instead of
+      preg_split(), the latter needs delimiters for the regex and returns false
+      if there was no match which breaks the existing code.
+
+ -- Mike Gabriel <sunweaver@debian.org>  Thu, 10 Aug 2023 18:02:58 +0200
+
 slbackup-php (0.4.5-4) unstable; urgency=medium
 
   * debian/watch:
diff -Nru slbackup-php-0.4.5/debian/patches/1002_php7-compat.patch slbackup-php-0.4.5/debian/patches/1002_php7-compat.patch
--- slbackup-php-0.4.5/debian/patches/1002_php7-compat.patch	2018-06-02 23:54:47.000000000 +0200
+++ slbackup-php-0.4.5/debian/patches/1002_php7-compat.patch	2023-08-10 18:02:58.000000000 +0200
@@ -1,4 +1,4 @@
-Description: Make slbackup-php PHP7 compatible (use preg_split instead of split)
+Description: Make slbackup-php PHP7 compatible (use explode instead of split)
 Author: Wolfgang Schweer <wschweer@arcor.de>
 
 --- a/src/functions.php
@@ -8,7 +8,7 @@
  	$lang_accept = explode (",", $_SERVER['HTTP_ACCEPT_LANGUAGE']); 
  	for ($i = 0 ; $i < count ($lang_accept) ; $i++ ) {
 -	    $lang_accept[$i] = split(";", $lang_accept[$i]) ; 
-+	    $lang_accept[$i] = preg_split(';', $lang_accept[$i]) ; 
++	    $lang_accept[$i] = explode(';', $lang_accept[$i]) ; 
  	    $lang_accept[$i] = $lang_accept[$i][0] ; 
  	}
  
@@ -17,14 +17,14 @@
  	$locales_utf8 = array();
  	if (isset($found_locale) && !empty($lang_accept[0])) {
 -	    $found_locale_tuple = split('_', $found_locale);
-+	    $found_locale_tuple = preg_split('_', $found_locale);
++	    $found_locale_tuple = explode('_', $found_locale);
  	    if (count($found_locale_tuple) > 1) {
  		$locales[] = $found_locale;
  		$locales_utf8[] = $found_locale.'.UTF-8';
  	    }
  	    foreach ($lang_accept as $lang) {
 -		$lang_tuple = split('-',$lang);
-+		$lang_tuple = preg_split('-',$lang);
++		$lang_tuple = explode('-',$lang);
  		if (count($lang_tuple) > 1) {
  		    $language = strtolower($lang_tuple[0]);
  		    $country = strtoupper($lang_tuple[1]);
diff -Nru slbackup-php-0.4.5/debian/patches/1003_php8-compat.patch slbackup-php-0.4.5/debian/patches/1003_php8-compat.patch
--- slbackup-php-0.4.5/debian/patches/1003_php8-compat.patch	1970-01-01 01:00:00.000000000 +0100
+++ slbackup-php-0.4.5/debian/patches/1003_php8-compat.patch	2023-08-10 18:02:58.000000000 +0200
@@ -0,0 +1,16 @@
+From: Guido Berhoerster <guido@berhoerster.name>
+Subject: Add compatibility with PHP 8
+
+crypt() reuires a salt in PHP 8.
+
+--- slbackup-php.orig/src/index.php
++++ slbackup-php/src/index.php
+@@ -695,7 +695,7 @@ if (empty ($config)) {
+ }
+ 
+ if (empty($encrypt) || empty ($xorstring)) {
+-    $encrypt = crypt(strrev(sprintf (gettimeofday (true)))) ;
++    $encrypt = crypt('', strrev(sprintf (gettimeofday (true)))) ;
+     $_SESSION['encrypt'] = $encrypt ; 
+     $xorstring = xorstring ($encrypt, $passwd) ; 
+ }
diff -Nru slbackup-php-0.4.5/debian/patches/1004_fix-php-warnings.patch slbackup-php-0.4.5/debian/patches/1004_fix-php-warnings.patch
--- slbackup-php-0.4.5/debian/patches/1004_fix-php-warnings.patch	1970-01-01 01:00:00.000000000 +0100
+++ slbackup-php-0.4.5/debian/patches/1004_fix-php-warnings.patch	2023-08-10 18:02:58.000000000 +0200
@@ -0,0 +1,73 @@
+From: Guido Berhoerster <guido@berhoerster.name>
+Subject: Fix PHP warnings
+
+Fix use of uninitialized variables and non-existing array keys.
+
+---
+ src/index.php | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- slbackup-php.orig/src/index.php
++++ slbackup-php/src/index.php
+@@ -475,6 +475,8 @@ global $backuphost, $backupuser, $backup
+ function readconf ($passwd) {
+ global $backuphost, $backupuser, $backupconf, $ssh_options, $ssh_askpass ;
+ 
++    $config = array() ;
++
+     $cmd = sprintf ("ssh %s %s@%s cat %s", 
+    		     $ssh_options, $backupuser, 
+ 		     $backuphost, $backupconf) ; 
+@@ -556,7 +558,9 @@ global $backuphost, $backupuser, $logfil
+ 	fprintf ($pipes[0], "%s\n", $passwd) ; 
+ 	fclose ($pipes[0]) ; 
+ 	while ($line = fgets ($pipes[1], 1024)) {
+-	    list ($timestamp, $info) = explode (" - ", trim($line)) ; 
++	    $parts = explode (" - ", trim($line)) ;
++	    $timestamp = $parts[0];
++	    $info = $parts[1] ?? null;
+ 	    if ($info == "Starting slbackup:") 
+ 	        $log["start"] = strtotime($timestamp) ; 
+ 	    elseif ($info == "Finished slbackup.")
+@@ -611,6 +615,8 @@ foreach ($_COOKIE as $key => $value) {
+ }
+ 
+ # Fetch arguments passed as the script is executed
++$nonhttps = '' ;
++$submit = '';
+ foreach ($arguments as $key => $value) {
+     switch ($key) {
+         case "smarty_templ": 
+@@ -901,7 +907,7 @@ switch ($submit) {
+     case "restorelocation":
+ 	$smarty->assign ('loc', $loc) ; 
+ 	$smarty->assign ('location', $newconf["location"]) ; 
+-	$smarty->assign ('sub', $newconf["sub"]) ; 
++	$smarty->assign ('sub', $newconf["sub"] ?? '') ; 
+     case "restoreclient":
+     case "restore":
+ 	$clients = array_keys($config["clients"]) ; 
+@@ -916,7 +922,7 @@ switch ($submit) {
+     case "maint":
+ 	$clients = array_keys($config["clients"]) ; 
+ 	$smarty->assign ('clients', $clients) ; 
+-	$smarty->assign ('client', $client) ; 
++	$smarty->assign ('client', $client ?? '') ; 
+ 	$smarty->display ('maint.tpl') ; 
+         break ; 
+     case "config":
+--- slbackup-php.orig/src/functions.php
++++ slbackup-php/src/functions.php
+@@ -24,9 +24,9 @@ function loadConfig () {
+ 
+     @include_once ("/etc/slbackup-php/config.php") ;
+ 
+-    if (empty ($nonhttps))       $nonhttps       = $_COOKIE ['nonhttps'] ;
+-    if (empty ($smarty_templ))   $smarty_templ   = $_COOKIE ['smarty_templ'] ;
+-    if (empty ($smarty_compile)) $smarty_compile = $_COOKIE ['smarty_compile'] ;
++    $nonhttps ??= $_COOKIE ['nonhttps'] ?? '' ;
++    $smarty_templ ??= $_COOKIE ['smarty_templ'] ?? null ;
++    $smarty_compile ??= $_COOKIE ['smarty_compile'] ?? null ;
+ 
+     if (empty ($backuphost)) $backuphost="localhost" ;
+     if (empty ($backupuser)) $backupuser="root" ; 
diff -Nru slbackup-php-0.4.5/debian/patches/1005_fix-typo.patch slbackup-php-0.4.5/debian/patches/1005_fix-typo.patch
--- slbackup-php-0.4.5/debian/patches/1005_fix-typo.patch	1970-01-01 01:00:00.000000000 +0100
+++ slbackup-php-0.4.5/debian/patches/1005_fix-typo.patch	2023-08-10 18:02:58.000000000 +0200
@@ -0,0 +1,13 @@
+From: Guido Berhoerster <guido@berhoerster.name>
+Subject: Fix typo causing an exception with PHP 8
+--- slbackup-php.orig/src/index.php
++++ slbackup-php/src/index.php
+@@ -45,7 +45,7 @@ global $backuphost, $backupuser, $ssh_op
+ 	proc_close ($proc) ; 
+     }
+     foreach ($config["clients"] as $key => $value) {
+-        if ($key["type"] <> "local") {
++        if ($value["type"] <> "local") {
+ 	    $out["clients"][$key]["ssh"] = "failed" ; 
+ 	    $cmd = sprintf ("ssh %s %s@%s 'ssh %s echo ssh ok \; rdiff-backup --version'",
+ 			     $ssh_options, $backupuser, 
diff -Nru slbackup-php-0.4.5/debian/patches/1006_disable-ssh-known-hosts.patch slbackup-php-0.4.5/debian/patches/1006_disable-ssh-known-hosts.patch
--- slbackup-php-0.4.5/debian/patches/1006_disable-ssh-known-hosts.patch	1970-01-01 01:00:00.000000000 +0100
+++ slbackup-php-0.4.5/debian/patches/1006_disable-ssh-known-hosts.patch	2023-08-10 18:02:58.000000000 +0200
@@ -0,0 +1,14 @@
+From: Guido Berhoerster <guido@berhoerster.name>
+Subject: Do not attempt to write a SSH KnownHosts file
+
+--- slbackup-php.orig/src/functions.php
++++ slbackup-php/src/functions.php
+@@ -32,7 +32,7 @@ function loadConfig () {
+     if (empty ($backupuser)) $backupuser="root" ; 
+     if (empty ($backupconf)) $backupconf="/etc/slbackup/slbackup.conf" ; 
+     if (empty ($backupcron)) $backupcron="/etc/cron.d/slbackup" ; 
+-    if (empty ($ssh_options)) $ssh_options="-o StrictHostKeyChecking=no" ; 
++    if (empty ($ssh_options)) $ssh_options="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" ; 
+     if (empty ($logfile)) $logfile="/var/log/slbackup/slbackup.log" ; 
+ 
+     switch ($nonhttps) {
diff -Nru slbackup-php-0.4.5/debian/patches/1007_log_remote_commands_to_stderr.patch slbackup-php-0.4.5/debian/patches/1007_log_remote_commands_to_stderr.patch
--- slbackup-php-0.4.5/debian/patches/1007_log_remote_commands_to_stderr.patch	1970-01-01 01:00:00.000000000 +0100
+++ slbackup-php-0.4.5/debian/patches/1007_log_remote_commands_to_stderr.patch	2023-08-10 18:02:58.000000000 +0200
@@ -0,0 +1,101 @@
+From: Guido Berhoerster <guido@berhoerster.name>
+Subject: Do not log to /tmp/error.log but stderr, the webserver error log
+
+--- slbackup-php.orig/src/index.php
++++ slbackup-php/src/index.php
+@@ -25,7 +25,6 @@ global $backuphost, $backupuser, $ssh_op
+     $out = array () ; 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -78,7 +77,6 @@ global $backuphost, $backupuser, $ssh_op
+     $snapshots = array () ; 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -105,7 +103,6 @@ global $backuphost, $backupuser, $ssh_op
+     $snapshots = array () ; 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -132,7 +129,6 @@ global $backuphost, $backupuser, $ssh_op
+ 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -151,7 +147,6 @@ global $backuphost, $backupuser, $ssh_op
+ 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -209,7 +204,6 @@ global $backuphost, $backupuser, $ssh_op
+ 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -279,7 +273,6 @@ global $backuphost, $backupuser, $ssh_op
+ 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -377,7 +370,6 @@ global $backuphost, $backupuser, $backup
+ 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -402,7 +394,6 @@ global $backuphost, $backupuser, $backup
+ 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -458,7 +449,6 @@ global $backuphost, $backupuser, $backup
+ 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -483,7 +473,6 @@ global $backuphost, $backupuser, $backup
+ 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
+@@ -549,7 +538,6 @@ global $backuphost, $backupuser, $logfil
+ 
+     $desc[0] = array ("pipe", "r") ; 
+     $desc[1] = array ("pipe", "w") ; 
+-    $desc[2] = array ("file", "/tmp/error.log", "a") ; 
+ 
+     $env = array ('SSH_ASKPASS' => $ssh_askpass, 
+ 		  'DISPLAY' => ':nowhere') ; 
diff -Nru slbackup-php-0.4.5/debian/patches/series slbackup-php-0.4.5/debian/patches/series
--- slbackup-php-0.4.5/debian/patches/series	2018-06-02 23:54:47.000000000 +0200
+++ slbackup-php-0.4.5/debian/patches/series	2023-08-10 18:02:58.000000000 +0200
@@ -1,2 +1,7 @@
 1001_adapt-to-apache24.patch
 1002_php7-compat.patch
+1003_php8-compat.patch
+1004_fix-php-warnings.patch
+1005_fix-typo.patch
+1006_disable-ssh-known-hosts.patch
+1007_log_remote_commands_to_stderr.patch

--- End Message ---
--- Begin Message ---
Version: 12.2

The upload requested in this bug has been released as part of 12.2.

--- End Message ---

Reply to: