/trunk/changelog.json.php |
---|
3,6 → 3,14 |
"dummy": "<?php die('For security reasons, this file can only be accessed locally (without PHP).'.base64_decode('IgogICAgfQpdCg==')); /* @phpstan-ignore-line */ ?>" |
}, |
{ |
"version": "2.0.1.21", |
"date": "2024-04-20 01:40:00 +0200", |
"author": "Daniel Marschall (ViaThinkSoft)", |
"changes": [ |
"Fixed problem with num_rows() for OCI and PDO database plugins" |
] |
}, |
{ |
"version": "2.0.1.20", |
"date": "2024-04-07 20:30:00 +0200", |
"author": "Daniel Marschall (ViaThinkSoft)", |
/trunk/includes/classes/OIDplusQueryResult.class.php |
---|
72,7 → 72,7 |
if (!$this->containsResultSet()) throw new OIDplusException(_L('The query has returned no result set (i.e. it was not a SELECT query)')); |
if (!is_null($this->prefetchedArray)) { |
return count($this->prefetchedArray) + $this->countAlreadyFetched; |
return count($this->prefetchedArray); |
} |
$ret = $this->do_num_rows(); |
136,8 → 136,7 |
if (!$this->containsResultSet()) throw new OIDplusException(_L('The query has returned no result set (i.e. it was not a SELECT query)')); |
if (!is_null($this->prefetchedArray)) { |
// Prefetched value exists. Use it. |
//$ary = array_shift($this->prefetchedArray); |
$ary = $this->prefetchedArray[$this->countAlreadyFetched] ?? null; // Performance is better this way |
$ary = $this->prefetchedArray[$this->countAlreadyFetched] ?? null; |
} else { |
$reflector = new \ReflectionMethod($this, 'do_fetch_array'); |
$isImplemented = ($reflector->getDeclaringClass()->getName() !== self::class); |
181,8 → 180,7 |
if (!$this->containsResultSet()) throw new OIDplusException(_L('The query has returned no result set (i.e. it was not a SELECT query)')); |
if (!is_null($this->prefetchedArray)) { |
// Prefetched value exists (as array). Convert and use it. |
//$ary = array_shift($this->prefetchedArray); |
$ary = $this->prefetchedArray[$this->countAlreadyFetched] ?? null; // Performance is better this way |
$ary = $this->prefetchedArray[$this->countAlreadyFetched] ?? null; |
$obj = is_null($ary) ? null : array_to_stdobj($ary); |
} else { |
$reflector = new \ReflectionMethod($this, 'do_fetch_object'); |
/trunk/plugins/viathinksoft/adminPages/902_systemfile_check/checksums.json |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/json |
/trunk/plugins/viathinksoft/database/oci/OIDplusQueryResultOci.class.php |
---|
87,7 → 87,7 |
$this->prefetchAll(); |
} |
return count($this->prefetchedArray) + $this->countAlreadyFetched; |
return count($this->prefetchedArray); |
} |
/** |
/trunk/plugins/viathinksoft/database/pdo/OIDplusQueryResultPDO.class.php |
---|
86,7 → 86,7 |
// -1 can happen when PDO is connected via ODBC that is running a driver that does not support num_rows (e.g. Microsoft Access) |
if ($ret === -1) { |
$this->prefetchAll(); |
return count($this->prefetchedArray) + $this->countAlreadyFetched; |
return count($this->prefetchedArray); |
} |
return $ret; |
/trunk/vendor/composer/installed.json |
---|
392,18 → 392,18 |
"source": { |
"type": "git", |
"url": "https://github.com/danielmarschall/uuid_mac_utils.git", |
"reference": "ad30e67d0092009d14b50d23f3d4e33bbec4ff52" |
"reference": "de10e9b484a3eca02db1d0ea69d68561a52ad895" |
}, |
"dist": { |
"type": "zip", |
"url": "https://api.github.com/repos/danielmarschall/uuid_mac_utils/zipball/ad30e67d0092009d14b50d23f3d4e33bbec4ff52", |
"reference": "ad30e67d0092009d14b50d23f3d4e33bbec4ff52", |
"url": "https://api.github.com/repos/danielmarschall/uuid_mac_utils/zipball/de10e9b484a3eca02db1d0ea69d68561a52ad895", |
"reference": "de10e9b484a3eca02db1d0ea69d68561a52ad895", |
"shasum": "" |
}, |
"require": { |
"php": ">=7.0" |
}, |
"time": "2024-04-05T00:44:32+00:00", |
"time": "2024-04-16T13:21:30+00:00", |
"default-branch": true, |
"type": "library", |
"installation-source": "dist", |
837,12 → 837,12 |
"source": { |
"type": "git", |
"url": "https://github.com/phpseclib/phpseclib.git", |
"reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8" |
"reference": "f7f9831bec65fdcfe4f3332cffe454da0e3f22f7" |
}, |
"dist": { |
"type": "zip", |
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cfa2013d0f68c062055180dd4328cc8b9d1f30b8", |
"reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8", |
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/f7f9831bec65fdcfe4f3332cffe454da0e3f22f7", |
"reference": "f7f9831bec65fdcfe4f3332cffe454da0e3f22f7", |
"shasum": "" |
}, |
"require": { |
860,7 → 860,7 |
"ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", |
"ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." |
}, |
"time": "2024-03-03T02:14:58+00:00", |
"time": "2024-04-13T22:51:45+00:00", |
"type": "library", |
"installation-source": "dist", |
"autoload": { |
/trunk/vendor/composer/installed.php |
---|
95,7 → 95,7 |
'danielmarschall/uuid_mac_utils' => array( |
'pretty_version' => 'dev-master', |
'version' => 'dev-master', |
'reference' => 'ad30e67d0092009d14b50d23f3d4e33bbec4ff52', |
'reference' => 'de10e9b484a3eca02db1d0ea69d68561a52ad895', |
'type' => 'library', |
'install_path' => __DIR__ . '/../danielmarschall/uuid_mac_utils', |
'aliases' => array( |
189,7 → 189,7 |
'phpseclib/phpseclib' => array( |
'pretty_version' => '3.0.x-dev', |
'version' => '3.0.9999999.9999999-dev', |
'reference' => 'cfa2013d0f68c062055180dd4328cc8b9d1f30b8', |
'reference' => 'f7f9831bec65fdcfe4f3332cffe454da0e3f22f7', |
'type' => 'library', |
'install_path' => __DIR__ . '/../phpseclib/phpseclib', |
'aliases' => array(), |
/trunk/vendor/danielmarschall/uuid_mac_utils/includes/uuid_utils.inc.php |
---|
3,7 → 3,7 |
/* |
* UUID utils for PHP |
* Copyright 2011 - 2024 Daniel Marschall, ViaThinkSoft |
* Version 2024-04-05 |
* Version 2024-04-16 |
* |
* Licensed under the Apache License, Version 2.0 (the "License"); |
* you may not use this file except in compliance with the License. |
333,7 → 333,7 |
} else if (($version >= 3) && ($version <= 5)) { |
echo sprintf("%-32s %s\n", "Variant:", "[0b10_] RFC 4122 (Leach-Mealling-Salz)"); |
} else if (($version >= 6) && ($version <= 8)) { |
echo sprintf("%-32s %s\n", "Variant:", "[0b10_] RFC draft-ietf-uuidrev-rfc4122bis (Davis-Peabody-Leach)"); // TODO: When new RFC is published, replace the RFC number |
echo sprintf("%-32s %s\n", "Variant:", "[0b10_] RFC 9562 (Davis-Peabody-Leach)"); |
} else { |
echo sprintf("%-32s %s\n", "Variant:", "[0b10_] Unknown RFC"); |
} |
922,7 → 922,7 |
str_pad("$minutes",2,'0',STR_PAD_LEFT).':'. |
str_pad("$seconds",2,'0',STR_PAD_LEFT)."'". |
str_pad("$milliseconds",3/*ms*/,'0',STR_PAD_LEFT); |
if (checkdate($month, $day, $year) && (strpos($utc_time,'X') === false)) { |
if ((strpos($utc_time,'X') === false) && checkdate($month, $day, $year)) { |
$deviation = "(deviation -2ms..2ms)"; |
echo "\n<u>Interpretation of <a href=\"https://gist.github.com/danielmarschall/7fafd270a3bc107d38e8449ce7420c25\">HickelSOFT \"SQL Server Sortable Custom UUID\", Version 2</a></u>\n\n"; |
echo sprintf("%-32s %s\n", "Random 16 bits:", "[0x$rnd16bits] 0b".str_pad("".base_convert($rnd16bits, 16, 2), 16, '0', STR_PAD_LEFT)); |
967,7 → 967,7 |
str_pad("$minutes",2,'0',STR_PAD_LEFT).':'. |
str_pad("$seconds",2,'0',STR_PAD_LEFT)."'". |
str_pad("$milliseconds",3/*ms*/,'0',STR_PAD_LEFT); |
if (checkdate($month, $day, $year) && (strpos($local_time,'X') === false)) { |
if ((strpos($local_time,'X') === false) && checkdate($month, $day, $year)) { |
$deviation = "(deviation -4ms..0ms)"; |
echo "\n<u>Interpretation of <a href=\"https://gist.github.com/danielmarschall/7fafd270a3bc107d38e8449ce7420c25\">HickelSOFT \"SQL Server Sortable Custom UUID\", Version 1</a></u>\n\n"; |
echo sprintf("%-32s %s\n", "Random 16 bits:", "[0x$rnd16bits] 0b".str_pad(base_convert($rnd16bits, 16, 2), 16, '0', STR_PAD_LEFT)); |
1638,7 → 1638,7 |
$year = $dt->format('Y'); |
$block4 = substr($year, 2, 2).substr($year, 0, 2); // Example: 0x2420 = 2024 |
} else { |
$variant = 0x8; // First nibble needs to be 0b10_ (0x8-0xB) for "RFC 4122bis". We use it to store 2 more random bits. |
$variant = 0x8; // First nibble needs to be 0b10_ (0x8-0xB) for RFC 9562. We use it to store 2 more random bits. |
$unused2bits = 0; // Cannot be used for random, because it would affect the sorting |
$year = $dt->format('Y'); |
$block4 = sprintf('%01x%03x', $variant + ($unused2bits & 0x3), $year); |
/trunk/vendor/licenses |
---|
16,8 → 16,8 |
danielmarschall/php-sha3 dev-master 5605bd5 MIT |
danielmarschall/php_utils 9999999-dev 3f42fc2 Apache-2.0 |
danielmarschall/php_utils dev-master 3f42fc2 Apache-2.0 |
danielmarschall/uuid_mac_utils 9999999-dev ad30e67 Apache-2.0 |
danielmarschall/uuid_mac_utils dev-master ad30e67 Apache-2.0 |
danielmarschall/uuid_mac_utils 9999999-dev de10e9b Apache-2.0 |
danielmarschall/uuid_mac_utils dev-master de10e9b Apache-2.0 |
danielmarschall/vnag 9999999-dev ba9c0ed Apache-2.0 |
danielmarschall/vnag dev-master ba9c0ed Apache-2.0 |
dcodeio/bcrypt.js master master BSD-3-Clause, MIT |
28,7 → 28,7 |
matthiasmullie/path-converter 1.1.3 MIT |
paragonie/constant_time_encoding v2.6.3 MIT |
paragonie/random_compat v9.99.100 MIT |
phpseclib/phpseclib 3.0.x-dev cfa2013 MIT |
phpseclib/phpseclib 3.0.x-dev f7f9831 MIT |
script47/bs5-utils master master MIT |
spamspan/spamspan master GPL-2.0-only |
spomky-labs/php-punycode 9999999-dev d12fe5c MIT |
/trunk/vendor/phpseclib/phpseclib/phpseclib/Crypt/Common/Formats/Keys/OpenSSH.php |
---|
18,6 → 18,7 |
use phpseclib3\Common\Functions\Strings; |
use phpseclib3\Crypt\AES; |
use phpseclib3\Crypt\Random; |
use phpseclib3\Exception\BadDecryptionException; |
/** |
* OpenSSH Formatted RSA Key Handler |
96,7 → 97,7 |
$crypto->setPassword($password, 'bcrypt', $salt, $rounds, 32); |
break; |
default: |
throw new \RuntimeException('The only supported cipherse are: none, aes256-ctr (' . $ciphername . ' is being used)'); |
throw new \RuntimeException('The only supported ciphers are: none, aes256-ctr (' . $ciphername . ' is being used)'); |
} |
list($publicKey, $paddedKey) = Strings::unpackSSH2('ss', $key); |
107,8 → 108,11 |
list($checkint1, $checkint2) = Strings::unpackSSH2('NN', $paddedKey); |
// any leftover bytes in $paddedKey are for padding? but they should be sequential bytes. eg. 1, 2, 3, etc. |
if ($checkint1 != $checkint2) { |
throw new \RuntimeException('The two checkints do not match'); |
if (isset($crypto)) { |
throw new BadDecryptionException('Unable to decrypt key - please verify the password you are using'); |
} |
throw new \RuntimeException("The two checkints do not match ($checkint1 vs. $checkint2)"); |
} |
self::checkType($type); |
return compact('type', 'publicKey', 'paddedKey'); |