Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package adminer for openSUSE:Factory checked in at 2021-01-28 21:22:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/adminer (Old) and /work/SRC/openSUSE:Factory/.adminer.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "adminer" Thu Jan 28 21:22:20 2021 rev:25 rq:867340 version:4.7.8 Changes: -------- --- /work/SRC/openSUSE:Factory/adminer/adminer.changes 2020-05-12 22:32:57.771948357 +0200 +++ /work/SRC/openSUSE:Factory/.adminer.new.28504/adminer.changes 2021-01-28 21:22:21.627633841 +0100 @@ -1,0 +2,26 @@ +Thu Jan 28 02:08:34 UTC 2021 - Jimmy Berry <ji...@boombatower.com> + +- Drop virtual firebird package since php-firebird was dropped. + See sr#863764 for Factory decline. + +------------------------------------------------------------------- +Sat Jan 16 15:41:08 UTC 2021 - Arjen de Korte <suse+bu...@de-korte.org> + +- BuildRequires php-cli + +------------------------------------------------------------------- +Tue Jan 05 20:52:29 UTC 2021 - eli...@opensuse.org + +- Update to version 4.7.8: + * Release 4.7.8 + * MySQL: Use renamed variable + * Avoid PDO exceptions in PHP 8 + * Fix method call after #406 + * Improve check for numeric ports (bug #769) + * Add missing method + * Fix compatibility with PHP 8 + * Avoid each() not available in PHP 8 + * Fix style + * Escape : also in remove_from_param + +------------------------------------------------------------------- Old: ---- adminer-4.7.7.tar.xz New: ---- adminer-4.7.8.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ adminer.spec ++++++ --- /var/tmp/diff_new_pack.BRItNg/_old 2021-01-28 21:22:22.263634849 +0100 +++ /var/tmp/diff_new_pack.BRItNg/_new 2021-01-28 21:22:22.267634856 +0100 @@ -1,7 +1,7 @@ # # spec file for package adminer # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # Copyright (c) 2015 Jimmy Berry <ji...@boombatower.com> # # All modifications and additions to the file contributed by third parties @@ -22,7 +22,7 @@ %bcond_with mongodb %bcond_with mssql Name: adminer -Version: 4.7.7 +Version: 4.7.8 Release: 0 Summary: Database management in a single PHP file License: GPL-2.0-only OR Apache-2.0 @@ -36,6 +36,7 @@ BuildRequires: apache-rpm-macros BuildRequires: apache2-devel +BuildRequires: php-cli BuildRequires: php-tokenizer BuildRequires: xz Requires: adminer-database-support = %{version} @@ -86,17 +87,6 @@ Virtual package that requires dependencies needed for Adminer ElasticSearch support -%package firebird -Summary: Dependencies required for Adminer Firebird SQL support -Group: Productivity/Networking/Web/Frontends -Provides: adminer-database-support = %{version} -Requires: adminer = %{version} -Requires: php-firebird - -%description firebird -Virtual package that requires dependencies needed for Adminer Firebird SQL support - - %package mongodb Summary: Dependencies required for Adminer MongoDB support Group: Productivity/Networking/Web/Frontends @@ -233,10 +223,6 @@ %doc README %endif -%files firebird -%defattr(-,root,root) -%doc README - %if %{with mongodb} %files mongodb %defattr(-,root,root) ++++++ _service ++++++ --- /var/tmp/diff_new_pack.BRItNg/_old 2021-01-28 21:22:22.299634906 +0100 +++ /var/tmp/diff_new_pack.BRItNg/_new 2021-01-28 21:22:22.303634912 +0100 @@ -2,7 +2,7 @@ <service name="tar_scm" mode="disabled"> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">refs/tags/v4.7.7</param> + <param name="revision">refs/tags/v4.7.8</param> <param name="url">https://github.com/vrana/adminer.git</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.BRItNg/_old 2021-01-28 21:22:22.323634944 +0100 +++ /var/tmp/diff_new_pack.BRItNg/_new 2021-01-28 21:22:22.323634944 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/vrana/adminer.git</param> - <param name="changesrevision">ac40be998d9fcf2a7e3fcdbd5efa3dec9e070f14</param> + <param name="changesrevision">190146672f6ce9b8f08af2d7e7a5e8f768d32ee6</param> </service> -</servicedata> +</servicedata> \ No newline at end of file ++++++ adminer-4.7.7.tar.xz -> adminer-4.7.8.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/adminer/db.inc.php new/adminer-4.7.8/adminer/db.inc.php --- old/adminer-4.7.7/adminer/db.inc.php 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/adminer/db.inc.php 2020-12-06 13:58:20.000000000 +0100 @@ -112,7 +112,7 @@ } echo "<tr><td><th>" . lang('%d in total', count($tables_list)); - echo "<td>" . h($jush == "sql" ? $connection->result("SELECT @@storage_engine") : ""); + echo "<td>" . h($jush == "sql" ? $connection->result("SELECT @@default_storage_engine") : ""); echo "<td>" . h(db_collation(DB, collations())); foreach (array("Data_length", "Index_length", "Data_free") as $key) { echo "<td align='right' id='sum-$key'>"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/adminer/drivers/clickhouse.inc.php new/adminer-4.7.8/adminer/drivers/clickhouse.inc.php --- old/adminer-4.7.7/adminer/drivers/clickhouse.inc.php 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/adminer/drivers/clickhouse.inc.php 2020-12-06 13:58:20.000000000 +0100 @@ -306,7 +306,7 @@ function fields($table) { $return = array(); $result = get_rows("SELECT name, type, default_expression FROM system.columns WHERE " . idf_escape('table') . " = " . q($table)); - foreach($result as $row) { + foreach ($result as $row) { $type = trim($row['type']); $nullable = strpos($type, 'Nullable(') === 0; $return[trim($row['name'])] = array( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/adminer/drivers/mysql.inc.php new/adminer-4.7.8/adminer/drivers/mysql.inc.php --- old/adminer-4.7.7/adminer/drivers/mysql.inc.php 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/adminer/drivers/mysql.inc.php 2020-12-06 13:58:20.000000000 +0100 @@ -267,7 +267,7 @@ } function query($query, $unbuffered = false) { - $this->setAttribute(1000, !$unbuffered); // 1000 - PDO::MYSQL_ATTR_USE_BUFFERED_QUERY + $this->pdo->setAttribute(1000, !$unbuffered); // 1000 - PDO::MYSQL_ATTR_USE_BUFFERED_QUERY return parent::query($query, $unbuffered); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/adminer/include/auth.inc.php new/adminer-4.7.8/adminer/include/auth.inc.php --- old/adminer-4.7.7/adminer/include/auth.inc.php 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/adminer/include/auth.inc.php 2020-12-06 13:58:20.000000000 +0100 @@ -162,7 +162,7 @@ if (isset($_GET["username"]) && is_string(get_password())) { list($host, $port) = explode(":", SERVER, 2); - if (is_numeric($port) && ($port < 1024 || $port > 65535)) { + if (+$port && ($port < 1024 || $port > 65535)) { auth_error(lang('Connecting to privileged ports is not allowed.')); } check_invalid_login(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/adminer/include/bootstrap.inc.php new/adminer-4.7.8/adminer/include/bootstrap.inc.php --- old/adminer-4.7.7/adminer/include/bootstrap.inc.php 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/adminer/include/bootstrap.inc.php 2020-12-06 13:58:20.000000000 +0100 @@ -1,5 +1,5 @@ <?php -error_reporting(6135); // errors and warnings +error_reporting(6133); // errors include "../adminer/include/coverage.inc.php"; @@ -60,7 +60,7 @@ // disable magic quotes to be able to use database escaping function remove_slashes(array(&$_GET, &$_POST, &$_COOKIE), $filter); -if (get_magic_quotes_runtime()) { +if (function_exists("get_magic_quotes_runtime") && get_magic_quotes_runtime()) { set_magic_quotes_runtime(false); } @set_time_limit(0); // @ - can be disabled @@ -84,7 +84,7 @@ define("SERVER", $_GET[DRIVER]); // read from pgsql=localhost define("DB", $_GET["db"]); // for the sake of speed and size -define("ME", str_replace(":", "%3a", preg_replace('~\?.*~', '', relative_uri())) . '?' +define("ME", preg_replace('~\?.*~', '', relative_uri()) . '?' . (sid() ? SID . '&' : '') . (SERVER !== null ? DRIVER . "=" . urlencode(SERVER) . '&' : '') . (isset($_GET["username"]) ? "username=" . urlencode($_GET["username"]) . '&' : '') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/adminer/include/functions.inc.php new/adminer-4.7.8/adminer/include/functions.inc.php --- old/adminer-4.7.7/adminer/include/functions.inc.php 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/adminer/include/functions.inc.php 2020-12-06 13:58:20.000000000 +0100 @@ -62,7 +62,7 @@ * @return null modified in place */ function remove_slashes($process, $filter = false) { - if (get_magic_quotes_gpc()) { + if (function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc()) { while (list($key, $val) = each($process)) { foreach ($val as $k => $v) { unset($process[$key][$k]); @@ -725,7 +725,7 @@ * @return string */ function relative_uri() { - return preg_replace('~^[^?]*/([^?]*)~', '\1', $_SERVER["REQUEST_URI"]); + return str_replace(":", "%3a", preg_replace('~^[^?]*/([^?]*)~', '\1', $_SERVER["REQUEST_URI"])); } /** Remove parameter from query string @@ -849,19 +849,18 @@ /** Print hidden fields * @param array * @param array +* @param string * @return bool */ -function hidden_fields($process, $ignore = array()) { +function hidden_fields($process, $ignore = array(), $prefix = '') { $return = false; - while (list($key, $val) = each($process)) { + foreach ($process as $key => $val) { if (!in_array($key, $ignore)) { if (is_array($val)) { - foreach ($val as $k => $v) { - $process[$key . "[$k]"] = $v; - } + hidden_fields($val, array(), $key); } else { $return = true; - echo '<input type="hidden" name="' . h($key) . '" value="' . h($val) . '">'; + echo '<input type="hidden" name="' . h($prefix ? $prefix . "[$key]" : $key) . '" value="' . h($val) . '">'; } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/adminer/include/pdo.inc.php new/adminer-4.7.8/adminer/include/pdo.inc.php --- old/adminer-4.7.7/adminer/include/pdo.inc.php 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/adminer/include/pdo.inc.php 2020-12-06 13:58:20.000000000 +0100 @@ -1,8 +1,8 @@ <?php // PDO can be used in several database drivers if (extension_loaded('pdo')) { - /*abstract*/ class Min_PDO extends PDO { - var $_result, $server_info, $affected_rows, $errno, $error; + /*abstract*/ class Min_PDO { + var $_result, $server_info, $affected_rows, $errno, $error, $pdo; function __construct() { global $adminer; @@ -14,21 +14,26 @@ function dsn($dsn, $username, $password, $options = array()) { try { - parent::__construct($dsn, $username, $password, $options); + $this->pdo = new PDO($dsn, $username, $password, $options); } catch (Exception $ex) { auth_error(h($ex->getMessage())); } - $this->setAttribute(13, array('Min_PDOStatement')); // 13 - PDO::ATTR_STATEMENT_CLASS - $this->server_info = @$this->getAttribute(4); // 4 - PDO::ATTR_SERVER_VERSION + $this->pdo->setAttribute(3, 1); // 3 - PDO::ATTR_ERRMODE, 1 - PDO::ERRMODE_WARNING + $this->pdo->setAttribute(13, array('Min_PDOStatement')); // 13 - PDO::ATTR_STATEMENT_CLASS + $this->server_info = @$this->pdo->getAttribute(4); // 4 - PDO::ATTR_SERVER_VERSION } /*abstract function select_db($database);*/ + function quote($string) { + return $this->pdo->quote($string); + } + function query($query, $unbuffered = false) { - $result = parent::query($query); + $result = $this->pdo->query($query); $this->error = ""; if (!$result) { - list(, $this->errno, $this->error) = $this->errorInfo(); + list(, $this->errno, $this->error) = $this->pdo->errorInfo(); if (!$this->error) { $this->error = lang('Unknown error.'); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/adminer/include/version.inc.php new/adminer-4.7.8/adminer/include/version.inc.php --- old/adminer-4.7.7/adminer/include/version.inc.php 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/adminer/include/version.inc.php 2020-12-06 13:58:20.000000000 +0100 @@ -1,2 +1,2 @@ <?php -$VERSION = "4.7.7"; +$VERSION = "4.7.8"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/changes.txt new/adminer-4.7.8/changes.txt --- old/adminer-4.7.7/changes.txt 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/changes.txt 2020-12-06 13:58:20.000000000 +0100 @@ -1,3 +1,7 @@ +Adminer 4.7.8 (released 2020-12-06): +Support PHP 8 +Disallow connecting to privileged ports (bug #769) + Adminer 4.7.7 (released 2020-05-11): Fix open redirect if Adminer is accessible at //adminer.php%2F@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/adminer-4.7.7/compile.php new/adminer-4.7.8/compile.php --- old/adminer-4.7.7/compile.php 2020-05-11 11:51:57.000000000 +0200 +++ new/adminer-4.7.8/compile.php 2020-12-06 13:58:20.000000000 +0100 @@ -1,6 +1,6 @@ #!/usr/bin/env php <?php -error_reporting(6135); // errors and warnings +error_reporting(6133); // errors include dirname(__FILE__) . "/adminer/include/version.inc.php"; include dirname(__FILE__) . "/externals/JsShrink/jsShrink.php"; @@ -233,7 +233,7 @@ $short_variables[$key] = short_identifier($number, $chars); // could use also numbers and \x7f-\xff } - $set = array_flip(preg_split('//', '!"#$%&\'()*+,-./:;<=>?@[\]^`{|}')); + $set = array_flip(preg_split('//', '!"#$%&\'()*+,-./:;<=>?@[]^`{|}')); $space = ''; $output = ''; $in_echo = false; @@ -315,6 +315,14 @@ return '"' . add_quo_slashes($file) . '"'; } +if (!function_exists("each")) { + function each(&$arr) { + $key = key($arr); + next($arr); + return $key === null ? false : array($key, $arr[$key]); + } +} + function min_version() { return true; }