aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/ramsey/uuid/src/Provider/Node
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/ramsey/uuid/src/Provider/Node')
-rw-r--r--vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php3
-rw-r--r--vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php23
-rw-r--r--vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php11
3 files changed, 28 insertions, 9 deletions
diff --git a/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php b/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php
index 289fddeae..83488ab96 100644
--- a/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php
+++ b/vendor/ramsey/uuid/src/Provider/Node/FallbackNodeProvider.php
@@ -14,6 +14,7 @@
namespace Ramsey\Uuid\Provider\Node;
+use Exception;
use Ramsey\Uuid\Provider\NodeProviderInterface;
/**
@@ -43,7 +44,7 @@ class FallbackNodeProvider implements NodeProviderInterface
* and returning the first non-empty value found
*
* @return string System node ID as a hexadecimal string
- * @throws \Exception
+ * @throws Exception
*/
public function getNode()
{
diff --git a/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php b/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php
index 76c570d7f..79ec63cb8 100644
--- a/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php
+++ b/vendor/ramsey/uuid/src/Provider/Node/RandomNodeProvider.php
@@ -14,6 +14,7 @@
namespace Ramsey\Uuid\Provider\Node;
+use Exception;
use Ramsey\Uuid\Provider\NodeProviderInterface;
/**
@@ -28,15 +29,29 @@ class RandomNodeProvider implements NodeProviderInterface
* Returns the system node ID
*
* @return string System node ID as a hexadecimal string
- * @throws \Exception if it was not possible to gather sufficient entropy
+ * @throws Exception if it was not possible to gather sufficient entropy
*/
public function getNode()
{
- $node = hexdec(bin2hex(random_bytes(6)));
+ $nodeBytes = random_bytes(6);
+
+ // Split the node bytes for math on 32-bit systems.
+ $nodeMsb = substr($nodeBytes, 0, 3);
+ $nodeLsb = substr($nodeBytes, 3);
// Set the multicast bit; see RFC 4122, section 4.5.
- $node = $node | 0x010000000000;
+ $nodeMsb = hex2bin(
+ str_pad(
+ dechex(hexdec(bin2hex($nodeMsb)) | 0x010000),
+ 6,
+ '0',
+ STR_PAD_LEFT
+ )
+ );
+
+ // Recombine the node bytes.
+ $node = $nodeMsb . $nodeLsb;
- return str_pad(dechex($node), 12, '0', STR_PAD_LEFT);
+ return str_pad(bin2hex($node), 12, '0', STR_PAD_LEFT);
}
}
diff --git a/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php b/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php
index ae6a09eaa..57015133a 100644
--- a/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php
+++ b/vendor/ramsey/uuid/src/Provider/Node/SystemNodeProvider.php
@@ -36,7 +36,7 @@ class SystemNodeProvider implements NodeProviderInterface
}
$pattern = '/[^:]([0-9A-Fa-f]{2}([:-])[0-9A-Fa-f]{2}(\2[0-9A-Fa-f]{2}){4})[^:]/';
- $matches = array();
+ $matches = [];
// first try a linux specific way
$node = $this->getSysfs();
@@ -67,7 +67,7 @@ class SystemNodeProvider implements NodeProviderInterface
}
ob_start();
- switch (strtoupper(substr(php_uname('a'), 0, 3))) {
+ switch (strtoupper(substr(constant('PHP_OS'), 0, 3))) {
case 'WIN':
passthru('ipconfig /all 2>&1');
break;
@@ -95,15 +95,18 @@ class SystemNodeProvider implements NodeProviderInterface
{
$mac = false;
- if (strtoupper(php_uname('s')) === 'LINUX') {
+ if (strtoupper(constant('PHP_OS')) === 'LINUX') {
$addressPaths = glob('/sys/class/net/*/address', GLOB_NOSORT);
if (empty($addressPaths)) {
return false;
}
+ $macs = [];
array_walk($addressPaths, function ($addressPath) use (&$macs) {
- $macs[] = file_get_contents($addressPath);
+ if (is_readable($addressPath)) {
+ $macs[] = file_get_contents($addressPath);
+ }
});
$macs = array_map('trim', $macs);