Completed
Push — develop ( a51f26...2ecf95 )
by Zack
15:32
created
vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php 3 patches
Indentation   +148 added lines, -148 removed lines patch added patch discarded remove patch
@@ -27,164 +27,164 @@
 block discarded – undo
27 27
  */
28 28
 
29 29
 if (!defined('RANDOM_COMPAT_READ_BUFFER')) {
30
-    define('RANDOM_COMPAT_READ_BUFFER', 8);
30
+	define('RANDOM_COMPAT_READ_BUFFER', 8);
31 31
 }
32 32
 
33 33
 if (!is_callable('random_bytes')) {
34
-    /**
35
-     * Unless open_basedir is enabled, use /dev/urandom for
36
-     * random numbers in accordance with best practices
37
-     *
38
-     * Why we use /dev/urandom and not /dev/random
39
-     * @ref https://www.2uo.de/myths-about-urandom
40
-     * @ref http://sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers
41
-     *
42
-     * @param int $bytes
43
-     *
44
-     * @throws Exception
45
-     *
46
-     * @return string
47
-     */
48
-    function random_bytes($bytes)
49
-    {
50
-        /** @var resource $fp */
51
-        static $fp = null;
34
+	/**
35
+	 * Unless open_basedir is enabled, use /dev/urandom for
36
+	 * random numbers in accordance with best practices
37
+	 *
38
+	 * Why we use /dev/urandom and not /dev/random
39
+	 * @ref https://www.2uo.de/myths-about-urandom
40
+	 * @ref http://sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers
41
+	 *
42
+	 * @param int $bytes
43
+	 *
44
+	 * @throws Exception
45
+	 *
46
+	 * @return string
47
+	 */
48
+	function random_bytes($bytes)
49
+	{
50
+		/** @var resource $fp */
51
+		static $fp = null;
52 52
 
53
-        /**
54
-         * This block should only be run once
55
-         */
56
-        if (empty($fp)) {
57
-            /**
58
-             * We don't want to ever read C:\dev\random, only /dev/urandom on
59
-             * Unix-like operating systems. While we guard against this
60
-             * condition in random.php, it doesn't hurt to be defensive in depth
61
-             * here.
62
-             *
63
-             * To that end, we only try to open /dev/urandom if we're on a Unix-
64
-             * like operating system (which means the directory separator is set
65
-             * to "/" not "\".
66
-             */
67
-            if (DIRECTORY_SEPARATOR === '/') {
68
-                if (!is_readable('/dev/urandom')) {
69
-                    throw new Exception(
70
-                        'Environment misconfiguration: ' .
71
-                        '/dev/urandom cannot be read.'
72
-                    );
73
-                }
74
-                /**
75
-                 * We use /dev/urandom if it is a char device.
76
-                 * We never fall back to /dev/random
77
-                 */
78
-                /** @var resource|bool $fp */
79
-                $fp = fopen('/dev/urandom', 'rb');
80
-                if (is_resource($fp)) {
81
-                    /** @var array<string, int> $st */
82
-                    $st = fstat($fp);
83
-                    if (($st['mode'] & 0170000) !== 020000) {
84
-                        fclose($fp);
85
-                        $fp = false;
86
-                    }
87
-                }
88
-            }
53
+		/**
54
+		 * This block should only be run once
55
+		 */
56
+		if (empty($fp)) {
57
+			/**
58
+			 * We don't want to ever read C:\dev\random, only /dev/urandom on
59
+			 * Unix-like operating systems. While we guard against this
60
+			 * condition in random.php, it doesn't hurt to be defensive in depth
61
+			 * here.
62
+			 *
63
+			 * To that end, we only try to open /dev/urandom if we're on a Unix-
64
+			 * like operating system (which means the directory separator is set
65
+			 * to "/" not "\".
66
+			 */
67
+			if (DIRECTORY_SEPARATOR === '/') {
68
+				if (!is_readable('/dev/urandom')) {
69
+					throw new Exception(
70
+						'Environment misconfiguration: ' .
71
+						'/dev/urandom cannot be read.'
72
+					);
73
+				}
74
+				/**
75
+				 * We use /dev/urandom if it is a char device.
76
+				 * We never fall back to /dev/random
77
+				 */
78
+				/** @var resource|bool $fp */
79
+				$fp = fopen('/dev/urandom', 'rb');
80
+				if (is_resource($fp)) {
81
+					/** @var array<string, int> $st */
82
+					$st = fstat($fp);
83
+					if (($st['mode'] & 0170000) !== 020000) {
84
+						fclose($fp);
85
+						$fp = false;
86
+					}
87
+				}
88
+			}
89 89
 
90
-            if (is_resource($fp)) {
91
-                /**
92
-                 * stream_set_read_buffer() does not exist in HHVM
93
-                 *
94
-                 * If we don't set the stream's read buffer to 0, PHP will
95
-                 * internally buffer 8192 bytes, which can waste entropy
96
-                 *
97
-                 * stream_set_read_buffer returns 0 on success
98
-                 */
99
-                if (is_callable('stream_set_read_buffer')) {
100
-                    stream_set_read_buffer($fp, RANDOM_COMPAT_READ_BUFFER);
101
-                }
102
-                if (is_callable('stream_set_chunk_size')) {
103
-                    stream_set_chunk_size($fp, RANDOM_COMPAT_READ_BUFFER);
104
-                }
105
-            }
106
-        }
90
+			if (is_resource($fp)) {
91
+				/**
92
+				 * stream_set_read_buffer() does not exist in HHVM
93
+				 *
94
+				 * If we don't set the stream's read buffer to 0, PHP will
95
+				 * internally buffer 8192 bytes, which can waste entropy
96
+				 *
97
+				 * stream_set_read_buffer returns 0 on success
98
+				 */
99
+				if (is_callable('stream_set_read_buffer')) {
100
+					stream_set_read_buffer($fp, RANDOM_COMPAT_READ_BUFFER);
101
+				}
102
+				if (is_callable('stream_set_chunk_size')) {
103
+					stream_set_chunk_size($fp, RANDOM_COMPAT_READ_BUFFER);
104
+				}
105
+			}
106
+		}
107 107
 
108
-        try {
109
-            /** @var int $bytes */
110
-            $bytes = RandomCompat_intval($bytes);
111
-        } catch (TypeError $ex) {
112
-            throw new TypeError(
113
-                'random_bytes(): $bytes must be an integer'
114
-            );
115
-        }
108
+		try {
109
+			/** @var int $bytes */
110
+			$bytes = RandomCompat_intval($bytes);
111
+		} catch (TypeError $ex) {
112
+			throw new TypeError(
113
+				'random_bytes(): $bytes must be an integer'
114
+			);
115
+		}
116 116
 
117
-        if ($bytes < 1) {
118
-            throw new Error(
119
-                'Length must be greater than 0'
120
-            );
121
-        }
117
+		if ($bytes < 1) {
118
+			throw new Error(
119
+				'Length must be greater than 0'
120
+			);
121
+		}
122 122
 
123
-        /**
124
-         * This if() block only runs if we managed to open a file handle
125
-         *
126
-         * It does not belong in an else {} block, because the above
127
-         * if (empty($fp)) line is logic that should only be run once per
128
-         * page load.
129
-         */
130
-        if (is_resource($fp)) {
131
-            /**
132
-             * @var int
133
-             */
134
-            $remaining = $bytes;
123
+		/**
124
+		 * This if() block only runs if we managed to open a file handle
125
+		 *
126
+		 * It does not belong in an else {} block, because the above
127
+		 * if (empty($fp)) line is logic that should only be run once per
128
+		 * page load.
129
+		 */
130
+		if (is_resource($fp)) {
131
+			/**
132
+			 * @var int
133
+			 */
134
+			$remaining = $bytes;
135 135
 
136
-            /**
137
-             * @var string|bool
138
-             */
139
-            $buf = '';
136
+			/**
137
+			 * @var string|bool
138
+			 */
139
+			$buf = '';
140 140
 
141
-            /**
142
-             * We use fread() in a loop to protect against partial reads
143
-             */
144
-            do {
145
-                /**
146
-                 * @var string|bool
147
-                 */
148
-                $read = fread($fp, $remaining);
149
-                if (!is_string($read)) {
150
-                    /**
151
-                     * We cannot safely read from the file. Exit the
152
-                     * do-while loop and trigger the exception condition
153
-                     *
154
-                     * @var string|bool
155
-                     */
156
-                    $buf = false;
157
-                    break;
158
-                }
159
-                /**
160
-                 * Decrease the number of bytes returned from remaining
161
-                 */
162
-                $remaining -= RandomCompat_strlen($read);
163
-                /**
164
-                 * @var string $buf
165
-                 */
166
-                $buf .= $read;
167
-            } while ($remaining > 0);
141
+			/**
142
+			 * We use fread() in a loop to protect against partial reads
143
+			 */
144
+			do {
145
+				/**
146
+				 * @var string|bool
147
+				 */
148
+				$read = fread($fp, $remaining);
149
+				if (!is_string($read)) {
150
+					/**
151
+					 * We cannot safely read from the file. Exit the
152
+					 * do-while loop and trigger the exception condition
153
+					 *
154
+					 * @var string|bool
155
+					 */
156
+					$buf = false;
157
+					break;
158
+				}
159
+				/**
160
+				 * Decrease the number of bytes returned from remaining
161
+				 */
162
+				$remaining -= RandomCompat_strlen($read);
163
+				/**
164
+				 * @var string $buf
165
+				 */
166
+				$buf .= $read;
167
+			} while ($remaining > 0);
168 168
 
169
-            /**
170
-             * Is our result valid?
171
-             * @var string|bool $buf
172
-             */
173
-            if (is_string($buf)) {
174
-                if (RandomCompat_strlen($buf) === $bytes) {
175
-                    /**
176
-                     * Return our random entropy buffer here:
177
-                     */
178
-                    return $buf;
179
-                }
180
-            }
181
-        }
169
+			/**
170
+			 * Is our result valid?
171
+			 * @var string|bool $buf
172
+			 */
173
+			if (is_string($buf)) {
174
+				if (RandomCompat_strlen($buf) === $bytes) {
175
+					/**
176
+					 * Return our random entropy buffer here:
177
+					 */
178
+					return $buf;
179
+				}
180
+			}
181
+		}
182 182
 
183
-        /**
184
-         * If we reach here, PHP has failed us.
185
-         */
186
-        throw new Exception(
187
-            'Error reading from source device'
188
-        );
189
-    }
183
+		/**
184
+		 * If we reach here, PHP has failed us.
185
+		 */
186
+		throw new Exception(
187
+			'Error reading from source device'
188
+		);
189
+	}
190 190
 }
Please login to merge, or discard this patch.
Spacing   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -26,11 +26,11 @@  discard block
 block discarded – undo
26 26
  * SOFTWARE.
27 27
  */
28 28
 
29
-if (!defined('RANDOM_COMPAT_READ_BUFFER')) {
30
-    define('RANDOM_COMPAT_READ_BUFFER', 8);
29
+if ( ! defined( 'RANDOM_COMPAT_READ_BUFFER' ) ) {
30
+    define( 'RANDOM_COMPAT_READ_BUFFER', 8 );
31 31
 }
32 32
 
33
-if (!is_callable('random_bytes')) {
33
+if ( ! is_callable( 'random_bytes' ) ) {
34 34
     /**
35 35
      * Unless open_basedir is enabled, use /dev/urandom for
36 36
      * random numbers in accordance with best practices
@@ -45,7 +45,7 @@  discard block
 block discarded – undo
45 45
      *
46 46
      * @return string
47 47
      */
48
-    function random_bytes($bytes)
48
+    function random_bytes( $bytes )
49 49
     {
50 50
         /** @var resource $fp */
51 51
         static $fp = null;
@@ -53,7 +53,7 @@  discard block
 block discarded – undo
53 53
         /**
54 54
          * This block should only be run once
55 55
          */
56
-        if (empty($fp)) {
56
+        if ( empty( $fp ) ) {
57 57
             /**
58 58
              * We don't want to ever read C:\dev\random, only /dev/urandom on
59 59
              * Unix-like operating systems. While we guard against this
@@ -64,8 +64,8 @@  discard block
 block discarded – undo
64 64
              * like operating system (which means the directory separator is set
65 65
              * to "/" not "\".
66 66
              */
67
-            if (DIRECTORY_SEPARATOR === '/') {
68
-                if (!is_readable('/dev/urandom')) {
67
+            if ( DIRECTORY_SEPARATOR === '/' ) {
68
+                if ( ! is_readable( '/dev/urandom' ) ) {
69 69
                     throw new Exception(
70 70
                         'Environment misconfiguration: ' .
71 71
                         '/dev/urandom cannot be read.'
@@ -76,18 +76,18 @@  discard block
 block discarded – undo
76 76
                  * We never fall back to /dev/random
77 77
                  */
78 78
                 /** @var resource|bool $fp */
79
-                $fp = fopen('/dev/urandom', 'rb');
80
-                if (is_resource($fp)) {
79
+                $fp = fopen( '/dev/urandom', 'rb' );
80
+                if ( is_resource( $fp ) ) {
81 81
                     /** @var array<string, int> $st */
82
-                    $st = fstat($fp);
83
-                    if (($st['mode'] & 0170000) !== 020000) {
84
-                        fclose($fp);
82
+                    $st = fstat( $fp );
83
+                    if ( ( $st[ 'mode' ] & 0170000 ) !== 020000 ) {
84
+                        fclose( $fp );
85 85
                         $fp = false;
86 86
                     }
87 87
                 }
88 88
             }
89 89
 
90
-            if (is_resource($fp)) {
90
+            if ( is_resource( $fp ) ) {
91 91
                 /**
92 92
                  * stream_set_read_buffer() does not exist in HHVM
93 93
                  *
@@ -96,25 +96,25 @@  discard block
 block discarded – undo
96 96
                  *
97 97
                  * stream_set_read_buffer returns 0 on success
98 98
                  */
99
-                if (is_callable('stream_set_read_buffer')) {
100
-                    stream_set_read_buffer($fp, RANDOM_COMPAT_READ_BUFFER);
99
+                if ( is_callable( 'stream_set_read_buffer' ) ) {
100
+                    stream_set_read_buffer( $fp, RANDOM_COMPAT_READ_BUFFER );
101 101
                 }
102
-                if (is_callable('stream_set_chunk_size')) {
103
-                    stream_set_chunk_size($fp, RANDOM_COMPAT_READ_BUFFER);
102
+                if ( is_callable( 'stream_set_chunk_size' ) ) {
103
+                    stream_set_chunk_size( $fp, RANDOM_COMPAT_READ_BUFFER );
104 104
                 }
105 105
             }
106 106
         }
107 107
 
108 108
         try {
109 109
             /** @var int $bytes */
110
-            $bytes = RandomCompat_intval($bytes);
111
-        } catch (TypeError $ex) {
110
+            $bytes = RandomCompat_intval( $bytes );
111
+        } catch ( TypeError $ex ) {
112 112
             throw new TypeError(
113 113
                 'random_bytes(): $bytes must be an integer'
114 114
             );
115 115
         }
116 116
 
117
-        if ($bytes < 1) {
117
+        if ( $bytes < 1 ) {
118 118
             throw new Error(
119 119
                 'Length must be greater than 0'
120 120
             );
@@ -127,7 +127,7 @@  discard block
 block discarded – undo
127 127
          * if (empty($fp)) line is logic that should only be run once per
128 128
          * page load.
129 129
          */
130
-        if (is_resource($fp)) {
130
+        if ( is_resource( $fp ) ) {
131 131
             /**
132 132
              * @var int
133 133
              */
@@ -145,8 +145,8 @@  discard block
 block discarded – undo
145 145
                 /**
146 146
                  * @var string|bool
147 147
                  */
148
-                $read = fread($fp, $remaining);
149
-                if (!is_string($read)) {
148
+                $read = fread( $fp, $remaining );
149
+                if ( ! is_string( $read ) ) {
150 150
                     /**
151 151
                      * We cannot safely read from the file. Exit the
152 152
                      * do-while loop and trigger the exception condition
@@ -159,19 +159,19 @@  discard block
 block discarded – undo
159 159
                 /**
160 160
                  * Decrease the number of bytes returned from remaining
161 161
                  */
162
-                $remaining -= RandomCompat_strlen($read);
162
+                $remaining -= RandomCompat_strlen( $read );
163 163
                 /**
164 164
                  * @var string $buf
165 165
                  */
166 166
                 $buf .= $read;
167
-            } while ($remaining > 0);
167
+            } while ( $remaining > 0 );
168 168
 
169 169
             /**
170 170
              * Is our result valid?
171 171
              * @var string|bool $buf
172 172
              */
173
-            if (is_string($buf)) {
174
-                if (RandomCompat_strlen($buf) === $bytes) {
173
+            if ( is_string( $buf ) ) {
174
+                if ( RandomCompat_strlen( $buf ) === $bytes ) {
175 175
                     /**
176 176
                      * Return our random entropy buffer here:
177 177
                      */
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -45,8 +45,7 @@
 block discarded – undo
45 45
      *
46 46
      * @return string
47 47
      */
48
-    function random_bytes($bytes)
49
-    {
48
+    function random_bytes($bytes) {
50 49
         /** @var resource $fp */
51 50
         static $fp = null;
52 51
 
Please login to merge, or discard this patch.
vendor/paragonie/random_compat/lib/random_int.php 3 patches
Indentation   +200 added lines, -200 removed lines patch added patch discarded remove patch
@@ -1,204 +1,204 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if (!is_callable('random_int')) {
4
-    /**
5
-     * Random_* Compatibility Library
6
-     * for using the new PHP 7 random_* API in PHP 5 projects
7
-     *
8
-     * The MIT License (MIT)
9
-     *
10
-     * Copyright (c) 2015 - 2018 Paragon Initiative Enterprises
11
-     *
12
-     * Permission is hereby granted, free of charge, to any person obtaining a copy
13
-     * of this software and associated documentation files (the "Software"), to deal
14
-     * in the Software without restriction, including without limitation the rights
15
-     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
-     * copies of the Software, and to permit persons to whom the Software is
17
-     * furnished to do so, subject to the following conditions:
18
-     *
19
-     * The above copyright notice and this permission notice shall be included in
20
-     * all copies or substantial portions of the Software.
21
-     *
22
-     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
-     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
-     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
-     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
-     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
-     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
-     * SOFTWARE.
29
-     */
30
-
31
-    /**
32
-     * Fetch a random integer between $min and $max inclusive
33
-     *
34
-     * @param int $min
35
-     * @param int $max
36
-     *
37
-     * @throws Exception
38
-     *
39
-     * @return int
40
-     */
41
-    function random_int($min, $max)
42
-    {
43
-        /**
44
-         * Type and input logic checks
45
-         *
46
-         * If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX)
47
-         * (non-inclusive), it will sanely cast it to an int. If you it's equal to
48
-         * ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats
49
-         * lose precision, so the <= and => operators might accidentally let a float
50
-         * through.
51
-         */
52
-
53
-        try {
54
-            /** @var int $min */
55
-            $min = RandomCompat_intval($min);
56
-        } catch (TypeError $ex) {
57
-            throw new TypeError(
58
-                'random_int(): $min must be an integer'
59
-            );
60
-        }
61
-
62
-        try {
63
-            /** @var int $max */
64
-            $max = RandomCompat_intval($max);
65
-        } catch (TypeError $ex) {
66
-            throw new TypeError(
67
-                'random_int(): $max must be an integer'
68
-            );
69
-        }
70
-
71
-        /**
72
-         * Now that we've verified our weak typing system has given us an integer,
73
-         * let's validate the logic then we can move forward with generating random
74
-         * integers along a given range.
75
-         */
76
-        if ($min > $max) {
77
-            throw new Error(
78
-                'Minimum value must be less than or equal to the maximum value'
79
-            );
80
-        }
81
-
82
-        if ($max === $min) {
83
-            return (int) $min;
84
-        }
85
-
86
-        /**
87
-         * Initialize variables to 0
88
-         *
89
-         * We want to store:
90
-         * $bytes => the number of random bytes we need
91
-         * $mask => an integer bitmask (for use with the &) operator
92
-         *          so we can minimize the number of discards
93
-         */
94
-        $attempts = $bits = $bytes = $mask = $valueShift = 0;
95
-        /** @var int $attempts */
96
-        /** @var int $bits */
97
-        /** @var int $bytes */
98
-        /** @var int $mask */
99
-        /** @var int $valueShift */
100
-
101
-        /**
102
-         * At this point, $range is a positive number greater than 0. It might
103
-         * overflow, however, if $max - $min > PHP_INT_MAX. PHP will cast it to
104
-         * a float and we will lose some precision.
105
-         *
106
-         * @var int|float $range
107
-         */
108
-        $range = $max - $min;
109
-
110
-        /**
111
-         * Test for integer overflow:
112
-         */
113
-        if (!is_int($range)) {
114
-
115
-            /**
116
-             * Still safely calculate wider ranges.
117
-             * Provided by @CodesInChaos, @oittaa
118
-             *
119
-             * @ref https://gist.github.com/CodesInChaos/03f9ea0b58e8b2b8d435
120
-             *
121
-             * We use ~0 as a mask in this case because it generates all 1s
122
-             *
123
-             * @ref https://eval.in/400356 (32-bit)
124
-             * @ref http://3v4l.org/XX9r5  (64-bit)
125
-             */
126
-            $bytes = PHP_INT_SIZE;
127
-            /** @var int $mask */
128
-            $mask = ~0;
129
-
130
-        } else {
131
-
132
-            /**
133
-             * $bits is effectively ceil(log($range, 2)) without dealing with
134
-             * type juggling
135
-             */
136
-            while ($range > 0) {
137
-                if ($bits % 8 === 0) {
138
-                    ++$bytes;
139
-                }
140
-                ++$bits;
141
-                $range >>= 1;
142
-                /** @var int $mask */
143
-                $mask = $mask << 1 | 1;
144
-            }
145
-            $valueShift = $min;
146
-        }
147
-
148
-        /** @var int $val */
149
-        $val = 0;
150
-        /**
151
-         * Now that we have our parameters set up, let's begin generating
152
-         * random integers until one falls between $min and $max
153
-         */
154
-        /** @psalm-suppress RedundantCondition */
155
-        do {
156
-            /**
157
-             * The rejection probability is at most 0.5, so this corresponds
158
-             * to a failure probability of 2^-128 for a working RNG
159
-             */
160
-            if ($attempts > 128) {
161
-                throw new Exception(
162
-                    'random_int: RNG is broken - too many rejections'
163
-                );
164
-            }
165
-
166
-            /**
167
-             * Let's grab the necessary number of random bytes
168
-             */
169
-            $randomByteString = random_bytes($bytes);
170
-
171
-            /**
172
-             * Let's turn $randomByteString into an integer
173
-             *
174
-             * This uses bitwise operators (<< and |) to build an integer
175
-             * out of the values extracted from ord()
176
-             *
177
-             * Example: [9F] | [6D] | [32] | [0C] =>
178
-             *   159 + 27904 + 3276800 + 201326592 =>
179
-             *   204631455
180
-             */
181
-            $val &= 0;
182
-            for ($i = 0; $i < $bytes; ++$i) {
183
-                $val |= ord($randomByteString[$i]) << ($i * 8);
184
-            }
185
-            /** @var int $val */
186
-
187
-            /**
188
-             * Apply mask
189
-             */
190
-            $val &= $mask;
191
-            $val += $valueShift;
192
-
193
-            ++$attempts;
194
-            /**
195
-             * If $val overflows to a floating point number,
196
-             * ... or is larger than $max,
197
-             * ... or smaller than $min,
198
-             * then try again.
199
-             */
200
-        } while (!is_int($val) || $val > $max || $val < $min);
201
-
202
-        return (int) $val;
203
-    }
4
+	/**
5
+	 * Random_* Compatibility Library
6
+	 * for using the new PHP 7 random_* API in PHP 5 projects
7
+	 *
8
+	 * The MIT License (MIT)
9
+	 *
10
+	 * Copyright (c) 2015 - 2018 Paragon Initiative Enterprises
11
+	 *
12
+	 * Permission is hereby granted, free of charge, to any person obtaining a copy
13
+	 * of this software and associated documentation files (the "Software"), to deal
14
+	 * in the Software without restriction, including without limitation the rights
15
+	 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+	 * copies of the Software, and to permit persons to whom the Software is
17
+	 * furnished to do so, subject to the following conditions:
18
+	 *
19
+	 * The above copyright notice and this permission notice shall be included in
20
+	 * all copies or substantial portions of the Software.
21
+	 *
22
+	 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+	 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+	 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+	 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+	 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+	 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+	 * SOFTWARE.
29
+	 */
30
+
31
+	/**
32
+	 * Fetch a random integer between $min and $max inclusive
33
+	 *
34
+	 * @param int $min
35
+	 * @param int $max
36
+	 *
37
+	 * @throws Exception
38
+	 *
39
+	 * @return int
40
+	 */
41
+	function random_int($min, $max)
42
+	{
43
+		/**
44
+		 * Type and input logic checks
45
+		 *
46
+		 * If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX)
47
+		 * (non-inclusive), it will sanely cast it to an int. If you it's equal to
48
+		 * ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats
49
+		 * lose precision, so the <= and => operators might accidentally let a float
50
+		 * through.
51
+		 */
52
+
53
+		try {
54
+			/** @var int $min */
55
+			$min = RandomCompat_intval($min);
56
+		} catch (TypeError $ex) {
57
+			throw new TypeError(
58
+				'random_int(): $min must be an integer'
59
+			);
60
+		}
61
+
62
+		try {
63
+			/** @var int $max */
64
+			$max = RandomCompat_intval($max);
65
+		} catch (TypeError $ex) {
66
+			throw new TypeError(
67
+				'random_int(): $max must be an integer'
68
+			);
69
+		}
70
+
71
+		/**
72
+		 * Now that we've verified our weak typing system has given us an integer,
73
+		 * let's validate the logic then we can move forward with generating random
74
+		 * integers along a given range.
75
+		 */
76
+		if ($min > $max) {
77
+			throw new Error(
78
+				'Minimum value must be less than or equal to the maximum value'
79
+			);
80
+		}
81
+
82
+		if ($max === $min) {
83
+			return (int) $min;
84
+		}
85
+
86
+		/**
87
+		 * Initialize variables to 0
88
+		 *
89
+		 * We want to store:
90
+		 * $bytes => the number of random bytes we need
91
+		 * $mask => an integer bitmask (for use with the &) operator
92
+		 *          so we can minimize the number of discards
93
+		 */
94
+		$attempts = $bits = $bytes = $mask = $valueShift = 0;
95
+		/** @var int $attempts */
96
+		/** @var int $bits */
97
+		/** @var int $bytes */
98
+		/** @var int $mask */
99
+		/** @var int $valueShift */
100
+
101
+		/**
102
+		 * At this point, $range is a positive number greater than 0. It might
103
+		 * overflow, however, if $max - $min > PHP_INT_MAX. PHP will cast it to
104
+		 * a float and we will lose some precision.
105
+		 *
106
+		 * @var int|float $range
107
+		 */
108
+		$range = $max - $min;
109
+
110
+		/**
111
+		 * Test for integer overflow:
112
+		 */
113
+		if (!is_int($range)) {
114
+
115
+			/**
116
+			 * Still safely calculate wider ranges.
117
+			 * Provided by @CodesInChaos, @oittaa
118
+			 *
119
+			 * @ref https://gist.github.com/CodesInChaos/03f9ea0b58e8b2b8d435
120
+			 *
121
+			 * We use ~0 as a mask in this case because it generates all 1s
122
+			 *
123
+			 * @ref https://eval.in/400356 (32-bit)
124
+			 * @ref http://3v4l.org/XX9r5  (64-bit)
125
+			 */
126
+			$bytes = PHP_INT_SIZE;
127
+			/** @var int $mask */
128
+			$mask = ~0;
129
+
130
+		} else {
131
+
132
+			/**
133
+			 * $bits is effectively ceil(log($range, 2)) without dealing with
134
+			 * type juggling
135
+			 */
136
+			while ($range > 0) {
137
+				if ($bits % 8 === 0) {
138
+					++$bytes;
139
+				}
140
+				++$bits;
141
+				$range >>= 1;
142
+				/** @var int $mask */
143
+				$mask = $mask << 1 | 1;
144
+			}
145
+			$valueShift = $min;
146
+		}
147
+
148
+		/** @var int $val */
149
+		$val = 0;
150
+		/**
151
+		 * Now that we have our parameters set up, let's begin generating
152
+		 * random integers until one falls between $min and $max
153
+		 */
154
+		/** @psalm-suppress RedundantCondition */
155
+		do {
156
+			/**
157
+			 * The rejection probability is at most 0.5, so this corresponds
158
+			 * to a failure probability of 2^-128 for a working RNG
159
+			 */
160
+			if ($attempts > 128) {
161
+				throw new Exception(
162
+					'random_int: RNG is broken - too many rejections'
163
+				);
164
+			}
165
+
166
+			/**
167
+			 * Let's grab the necessary number of random bytes
168
+			 */
169
+			$randomByteString = random_bytes($bytes);
170
+
171
+			/**
172
+			 * Let's turn $randomByteString into an integer
173
+			 *
174
+			 * This uses bitwise operators (<< and |) to build an integer
175
+			 * out of the values extracted from ord()
176
+			 *
177
+			 * Example: [9F] | [6D] | [32] | [0C] =>
178
+			 *   159 + 27904 + 3276800 + 201326592 =>
179
+			 *   204631455
180
+			 */
181
+			$val &= 0;
182
+			for ($i = 0; $i < $bytes; ++$i) {
183
+				$val |= ord($randomByteString[$i]) << ($i * 8);
184
+			}
185
+			/** @var int $val */
186
+
187
+			/**
188
+			 * Apply mask
189
+			 */
190
+			$val &= $mask;
191
+			$val += $valueShift;
192
+
193
+			++$attempts;
194
+			/**
195
+			 * If $val overflows to a floating point number,
196
+			 * ... or is larger than $max,
197
+			 * ... or smaller than $min,
198
+			 * then try again.
199
+			 */
200
+		} while (!is_int($val) || $val > $max || $val < $min);
201
+
202
+		return (int) $val;
203
+	}
204 204
 }
Please login to merge, or discard this patch.
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-if (!is_callable('random_int')) {
3
+if ( ! is_callable( 'random_int' ) ) {
4 4
     /**
5 5
      * Random_* Compatibility Library
6 6
      * for using the new PHP 7 random_* API in PHP 5 projects
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
      *
39 39
      * @return int
40 40
      */
41
-    function random_int($min, $max)
41
+    function random_int( $min, $max )
42 42
     {
43 43
         /**
44 44
          * Type and input logic checks
@@ -52,8 +52,8 @@  discard block
 block discarded – undo
52 52
 
53 53
         try {
54 54
             /** @var int $min */
55
-            $min = RandomCompat_intval($min);
56
-        } catch (TypeError $ex) {
55
+            $min = RandomCompat_intval( $min );
56
+        } catch ( TypeError $ex ) {
57 57
             throw new TypeError(
58 58
                 'random_int(): $min must be an integer'
59 59
             );
@@ -61,8 +61,8 @@  discard block
 block discarded – undo
61 61
 
62 62
         try {
63 63
             /** @var int $max */
64
-            $max = RandomCompat_intval($max);
65
-        } catch (TypeError $ex) {
64
+            $max = RandomCompat_intval( $max );
65
+        } catch ( TypeError $ex ) {
66 66
             throw new TypeError(
67 67
                 'random_int(): $max must be an integer'
68 68
             );
@@ -73,14 +73,14 @@  discard block
 block discarded – undo
73 73
          * let's validate the logic then we can move forward with generating random
74 74
          * integers along a given range.
75 75
          */
76
-        if ($min > $max) {
76
+        if ( $min > $max ) {
77 77
             throw new Error(
78 78
                 'Minimum value must be less than or equal to the maximum value'
79 79
             );
80 80
         }
81 81
 
82
-        if ($max === $min) {
83
-            return (int) $min;
82
+        if ( $max === $min ) {
83
+            return (int)$min;
84 84
         }
85 85
 
86 86
         /**
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
         /**
111 111
          * Test for integer overflow:
112 112
          */
113
-        if (!is_int($range)) {
113
+        if ( ! is_int( $range ) ) {
114 114
 
115 115
             /**
116 116
              * Still safely calculate wider ranges.
@@ -133,8 +133,8 @@  discard block
 block discarded – undo
133 133
              * $bits is effectively ceil(log($range, 2)) without dealing with
134 134
              * type juggling
135 135
              */
136
-            while ($range > 0) {
137
-                if ($bits % 8 === 0) {
136
+            while ( $range > 0 ) {
137
+                if ( $bits % 8 === 0 ) {
138 138
                     ++$bytes;
139 139
                 }
140 140
                 ++$bits;
@@ -157,7 +157,7 @@  discard block
 block discarded – undo
157 157
              * The rejection probability is at most 0.5, so this corresponds
158 158
              * to a failure probability of 2^-128 for a working RNG
159 159
              */
160
-            if ($attempts > 128) {
160
+            if ( $attempts > 128 ) {
161 161
                 throw new Exception(
162 162
                     'random_int: RNG is broken - too many rejections'
163 163
                 );
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
             /**
167 167
              * Let's grab the necessary number of random bytes
168 168
              */
169
-            $randomByteString = random_bytes($bytes);
169
+            $randomByteString = random_bytes( $bytes );
170 170
 
171 171
             /**
172 172
              * Let's turn $randomByteString into an integer
@@ -179,8 +179,8 @@  discard block
 block discarded – undo
179 179
              *   204631455
180 180
              */
181 181
             $val &= 0;
182
-            for ($i = 0; $i < $bytes; ++$i) {
183
-                $val |= ord($randomByteString[$i]) << ($i * 8);
182
+            for ( $i = 0; $i < $bytes; ++$i ) {
183
+                $val |= ord( $randomByteString[ $i ] ) << ( $i * 8 );
184 184
             }
185 185
             /** @var int $val */
186 186
 
@@ -197,8 +197,8 @@  discard block
 block discarded – undo
197 197
              * ... or smaller than $min,
198 198
              * then try again.
199 199
              */
200
-        } while (!is_int($val) || $val > $max || $val < $min);
200
+        } while ( ! is_int( $val ) || $val > $max || $val < $min );
201 201
 
202
-        return (int) $val;
202
+        return (int)$val;
203 203
     }
204 204
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -38,8 +38,7 @@
 block discarded – undo
38 38
      *
39 39
      * @return int
40 40
      */
41
-    function random_int($min, $max)
42
-    {
41
+    function random_int($min, $max) {
43 42
         /**
44 43
          * Type and input logic checks
45 44
          *
Please login to merge, or discard this patch.
vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php 3 patches
Indentation   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -27,67 +27,67 @@
 block discarded – undo
27 27
  */
28 28
 
29 29
 if (!is_callable('random_bytes')) {
30
-    /**
31
-     * If the libsodium PHP extension is loaded, we'll use it above any other
32
-     * solution.
33
-     *
34
-     * libsodium-php project:
35
-     * @ref https://github.com/jedisct1/libsodium-php
36
-     *
37
-     * @param int $bytes
38
-     *
39
-     * @throws Exception
40
-     *
41
-     * @return string
42
-     */
43
-    function random_bytes($bytes)
44
-    {
45
-        try {
46
-            /** @var int $bytes */
47
-            $bytes = RandomCompat_intval($bytes);
48
-        } catch (TypeError $ex) {
49
-            throw new TypeError(
50
-                'random_bytes(): $bytes must be an integer'
51
-            );
52
-        }
30
+	/**
31
+	 * If the libsodium PHP extension is loaded, we'll use it above any other
32
+	 * solution.
33
+	 *
34
+	 * libsodium-php project:
35
+	 * @ref https://github.com/jedisct1/libsodium-php
36
+	 *
37
+	 * @param int $bytes
38
+	 *
39
+	 * @throws Exception
40
+	 *
41
+	 * @return string
42
+	 */
43
+	function random_bytes($bytes)
44
+	{
45
+		try {
46
+			/** @var int $bytes */
47
+			$bytes = RandomCompat_intval($bytes);
48
+		} catch (TypeError $ex) {
49
+			throw new TypeError(
50
+				'random_bytes(): $bytes must be an integer'
51
+			);
52
+		}
53 53
 
54
-        if ($bytes < 1) {
55
-            throw new Error(
56
-                'Length must be greater than 0'
57
-            );
58
-        }
54
+		if ($bytes < 1) {
55
+			throw new Error(
56
+				'Length must be greater than 0'
57
+			);
58
+		}
59 59
 
60
-        /**
61
-         * @var string
62
-         */
63
-        $buf = '';
60
+		/**
61
+		 * @var string
62
+		 */
63
+		$buf = '';
64 64
 
65
-        /**
66
-         * \Sodium\randombytes_buf() doesn't allow more than 2147483647 bytes to be
67
-         * generated in one invocation.
68
-         */
69
-        if ($bytes > 2147483647) {
70
-            for ($i = 0; $i < $bytes; $i += 1073741824) {
71
-                $n = ($bytes - $i) > 1073741824
72
-                    ? 1073741824
73
-                    : $bytes - $i;
74
-                $buf .= Sodium::randombytes_buf((int) $n);
75
-            }
76
-        } else {
77
-            $buf .= Sodium::randombytes_buf((int) $bytes);
78
-        }
65
+		/**
66
+		 * \Sodium\randombytes_buf() doesn't allow more than 2147483647 bytes to be
67
+		 * generated in one invocation.
68
+		 */
69
+		if ($bytes > 2147483647) {
70
+			for ($i = 0; $i < $bytes; $i += 1073741824) {
71
+				$n = ($bytes - $i) > 1073741824
72
+					? 1073741824
73
+					: $bytes - $i;
74
+				$buf .= Sodium::randombytes_buf((int) $n);
75
+			}
76
+		} else {
77
+			$buf .= Sodium::randombytes_buf((int) $bytes);
78
+		}
79 79
 
80
-        if (is_string($buf)) {
81
-            if (RandomCompat_strlen($buf) === $bytes) {
82
-                return $buf;
83
-            }
84
-        }
80
+		if (is_string($buf)) {
81
+			if (RandomCompat_strlen($buf) === $bytes) {
82
+				return $buf;
83
+			}
84
+		}
85 85
 
86
-        /**
87
-         * If we reach here, PHP has failed us.
88
-         */
89
-        throw new Exception(
90
-            'Could not gather sufficient random data'
91
-        );
92
-    }
86
+		/**
87
+		 * If we reach here, PHP has failed us.
88
+		 */
89
+		throw new Exception(
90
+			'Could not gather sufficient random data'
91
+		);
92
+	}
93 93
 }
Please login to merge, or discard this patch.
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
  * SOFTWARE.
27 27
  */
28 28
 
29
-if (!is_callable('random_bytes')) {
29
+if ( ! is_callable( 'random_bytes' ) ) {
30 30
     /**
31 31
      * If the libsodium PHP extension is loaded, we'll use it above any other
32 32
      * solution.
@@ -40,18 +40,18 @@  discard block
 block discarded – undo
40 40
      *
41 41
      * @return string
42 42
      */
43
-    function random_bytes($bytes)
43
+    function random_bytes( $bytes )
44 44
     {
45 45
         try {
46 46
             /** @var int $bytes */
47
-            $bytes = RandomCompat_intval($bytes);
48
-        } catch (TypeError $ex) {
47
+            $bytes = RandomCompat_intval( $bytes );
48
+        } catch ( TypeError $ex ) {
49 49
             throw new TypeError(
50 50
                 'random_bytes(): $bytes must be an integer'
51 51
             );
52 52
         }
53 53
 
54
-        if ($bytes < 1) {
54
+        if ( $bytes < 1 ) {
55 55
             throw new Error(
56 56
                 'Length must be greater than 0'
57 57
             );
@@ -66,19 +66,19 @@  discard block
 block discarded – undo
66 66
          * \Sodium\randombytes_buf() doesn't allow more than 2147483647 bytes to be
67 67
          * generated in one invocation.
68 68
          */
69
-        if ($bytes > 2147483647) {
70
-            for ($i = 0; $i < $bytes; $i += 1073741824) {
71
-                $n = ($bytes - $i) > 1073741824
69
+        if ( $bytes > 2147483647 ) {
70
+            for ( $i = 0; $i < $bytes; $i += 1073741824 ) {
71
+                $n = ( $bytes - $i ) > 1073741824
72 72
                     ? 1073741824
73 73
                     : $bytes - $i;
74
-                $buf .= Sodium::randombytes_buf((int) $n);
74
+                $buf .= Sodium::randombytes_buf( (int)$n );
75 75
             }
76 76
         } else {
77
-            $buf .= Sodium::randombytes_buf((int) $bytes);
77
+            $buf .= Sodium::randombytes_buf( (int)$bytes );
78 78
         }
79 79
 
80
-        if (is_string($buf)) {
81
-            if (RandomCompat_strlen($buf) === $bytes) {
80
+        if ( is_string( $buf ) ) {
81
+            if ( RandomCompat_strlen( $buf ) === $bytes ) {
82 82
                 return $buf;
83 83
             }
84 84
         }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -40,8 +40,7 @@
 block discarded – undo
40 40
      *
41 41
      * @return string
42 42
      */
43
-    function random_bytes($bytes)
44
-    {
43
+    function random_bytes($bytes) {
45 44
         try {
46 45
             /** @var int $bytes */
47 46
             $bytes = RandomCompat_intval($bytes);
Please login to merge, or discard this patch.
vendor/paragonie/random_compat/lib/cast_to_int.php 3 patches
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -28,50 +28,50 @@
 block discarded – undo
28 28
 
29 29
 if (!is_callable('RandomCompat_intval')) {
30 30
 
31
-    /**
32
-     * Cast to an integer if we can, safely.
33
-     *
34
-     * If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX)
35
-     * (non-inclusive), it will sanely cast it to an int. If you it's equal to
36
-     * ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats 
37
-     * lose precision, so the <= and => operators might accidentally let a float
38
-     * through.
39
-     *
40
-     * @param int|float $number    The number we want to convert to an int
41
-     * @param bool      $fail_open Set to true to not throw an exception
42
-     *
43
-     * @return float|int
44
-     * @psalm-suppress InvalidReturnType
45
-     *
46
-     * @throws TypeError
47
-     */
48
-    function RandomCompat_intval($number, $fail_open = false)
49
-    {
50
-        if (is_int($number) || is_float($number)) {
51
-            $number += 0;
52
-        } elseif (is_numeric($number)) {
53
-            /** @psalm-suppress InvalidOperand */
54
-            $number += 0;
55
-        }
56
-        /** @var int|float $number */
31
+	/**
32
+	 * Cast to an integer if we can, safely.
33
+	 *
34
+	 * If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX)
35
+	 * (non-inclusive), it will sanely cast it to an int. If you it's equal to
36
+	 * ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats 
37
+	 * lose precision, so the <= and => operators might accidentally let a float
38
+	 * through.
39
+	 *
40
+	 * @param int|float $number    The number we want to convert to an int
41
+	 * @param bool      $fail_open Set to true to not throw an exception
42
+	 *
43
+	 * @return float|int
44
+	 * @psalm-suppress InvalidReturnType
45
+	 *
46
+	 * @throws TypeError
47
+	 */
48
+	function RandomCompat_intval($number, $fail_open = false)
49
+	{
50
+		if (is_int($number) || is_float($number)) {
51
+			$number += 0;
52
+		} elseif (is_numeric($number)) {
53
+			/** @psalm-suppress InvalidOperand */
54
+			$number += 0;
55
+		}
56
+		/** @var int|float $number */
57 57
 
58
-        if (
59
-            is_float($number)
60
-                &&
61
-            $number > ~PHP_INT_MAX
62
-                &&
63
-            $number < PHP_INT_MAX
64
-        ) {
65
-            $number = (int) $number;
66
-        }
58
+		if (
59
+			is_float($number)
60
+				&&
61
+			$number > ~PHP_INT_MAX
62
+				&&
63
+			$number < PHP_INT_MAX
64
+		) {
65
+			$number = (int) $number;
66
+		}
67 67
 
68
-        if (is_int($number)) {
69
-            return (int) $number;
70
-        } elseif (!$fail_open) {
71
-            throw new TypeError(
72
-                'Expected an integer.'
73
-            );
74
-        }
75
-        return $number;
76
-    }
68
+		if (is_int($number)) {
69
+			return (int) $number;
70
+		} elseif (!$fail_open) {
71
+			throw new TypeError(
72
+				'Expected an integer.'
73
+			);
74
+		}
75
+		return $number;
76
+	}
77 77
 }
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
  * SOFTWARE.
27 27
  */
28 28
 
29
-if (!is_callable('RandomCompat_intval')) {
29
+if ( ! is_callable( 'RandomCompat_intval' ) ) {
30 30
 
31 31
     /**
32 32
      * Cast to an integer if we can, safely.
@@ -45,29 +45,29 @@  discard block
 block discarded – undo
45 45
      *
46 46
      * @throws TypeError
47 47
      */
48
-    function RandomCompat_intval($number, $fail_open = false)
48
+    function RandomCompat_intval( $number, $fail_open = false )
49 49
     {
50
-        if (is_int($number) || is_float($number)) {
50
+        if ( is_int( $number ) || is_float( $number ) ) {
51 51
             $number += 0;
52
-        } elseif (is_numeric($number)) {
52
+        } elseif ( is_numeric( $number ) ) {
53 53
             /** @psalm-suppress InvalidOperand */
54 54
             $number += 0;
55 55
         }
56 56
         /** @var int|float $number */
57 57
 
58 58
         if (
59
-            is_float($number)
59
+            is_float( $number )
60 60
                 &&
61 61
             $number > ~PHP_INT_MAX
62 62
                 &&
63 63
             $number < PHP_INT_MAX
64 64
         ) {
65
-            $number = (int) $number;
65
+            $number = (int)$number;
66 66
         }
67 67
 
68
-        if (is_int($number)) {
69
-            return (int) $number;
70
-        } elseif (!$fail_open) {
68
+        if ( is_int( $number ) ) {
69
+            return (int)$number;
70
+        } elseif ( ! $fail_open ) {
71 71
             throw new TypeError(
72 72
                 'Expected an integer.'
73 73
             );
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -45,8 +45,7 @@
 block discarded – undo
45 45
      *
46 46
      * @throws TypeError
47 47
      */
48
-    function RandomCompat_intval($number, $fail_open = false)
49
-    {
48
+    function RandomCompat_intval($number, $fail_open = false) {
50 49
         if (is_int($number) || is_float($number)) {
51 50
             $number += 0;
52 51
         } elseif (is_numeric($number)) {
Please login to merge, or discard this patch.
vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php 3 patches
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -27,53 +27,53 @@
 block discarded – undo
27 27
  */
28 28
 
29 29
 if (!is_callable('random_bytes')) {
30
-    /**
31
-     * Powered by ext/mcrypt (and thankfully NOT libmcrypt)
32
-     *
33
-     * @ref https://bugs.php.net/bug.php?id=55169
34
-     * @ref https://github.com/php/php-src/blob/c568ffe5171d942161fc8dda066bce844bdef676/ext/mcrypt/mcrypt.c#L1321-L1386
35
-     *
36
-     * @param int $bytes
37
-     *
38
-     * @throws Exception
39
-     *
40
-     * @return string
41
-     */
42
-    function random_bytes($bytes)
43
-    {
44
-        try {
45
-            /** @var int $bytes */
46
-            $bytes = RandomCompat_intval($bytes);
47
-        } catch (TypeError $ex) {
48
-            throw new TypeError(
49
-                'random_bytes(): $bytes must be an integer'
50
-            );
51
-        }
30
+	/**
31
+	 * Powered by ext/mcrypt (and thankfully NOT libmcrypt)
32
+	 *
33
+	 * @ref https://bugs.php.net/bug.php?id=55169
34
+	 * @ref https://github.com/php/php-src/blob/c568ffe5171d942161fc8dda066bce844bdef676/ext/mcrypt/mcrypt.c#L1321-L1386
35
+	 *
36
+	 * @param int $bytes
37
+	 *
38
+	 * @throws Exception
39
+	 *
40
+	 * @return string
41
+	 */
42
+	function random_bytes($bytes)
43
+	{
44
+		try {
45
+			/** @var int $bytes */
46
+			$bytes = RandomCompat_intval($bytes);
47
+		} catch (TypeError $ex) {
48
+			throw new TypeError(
49
+				'random_bytes(): $bytes must be an integer'
50
+			);
51
+		}
52 52
 
53
-        if ($bytes < 1) {
54
-            throw new Error(
55
-                'Length must be greater than 0'
56
-            );
57
-        }
53
+		if ($bytes < 1) {
54
+			throw new Error(
55
+				'Length must be greater than 0'
56
+			);
57
+		}
58 58
 
59
-        /** @var string|bool $buf */
60
-        $buf = @mcrypt_create_iv((int) $bytes, (int) MCRYPT_DEV_URANDOM);
61
-        if (
62
-            is_string($buf)
63
-                &&
64
-            RandomCompat_strlen($buf) === $bytes
65
-        ) {
66
-            /**
67
-             * Return our random entropy buffer here:
68
-             */
69
-            return $buf;
70
-        }
59
+		/** @var string|bool $buf */
60
+		$buf = @mcrypt_create_iv((int) $bytes, (int) MCRYPT_DEV_URANDOM);
61
+		if (
62
+			is_string($buf)
63
+				&&
64
+			RandomCompat_strlen($buf) === $bytes
65
+		) {
66
+			/**
67
+			 * Return our random entropy buffer here:
68
+			 */
69
+			return $buf;
70
+		}
71 71
 
72
-        /**
73
-         * If we reach here, PHP has failed us.
74
-         */
75
-        throw new Exception(
76
-            'Could not gather sufficient random data'
77
-        );
78
-    }
72
+		/**
73
+		 * If we reach here, PHP has failed us.
74
+		 */
75
+		throw new Exception(
76
+			'Could not gather sufficient random data'
77
+		);
78
+	}
79 79
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
  * SOFTWARE.
27 27
  */
28 28
 
29
-if (!is_callable('random_bytes')) {
29
+if ( ! is_callable( 'random_bytes' ) ) {
30 30
     /**
31 31
      * Powered by ext/mcrypt (and thankfully NOT libmcrypt)
32 32
      *
@@ -39,29 +39,29 @@  discard block
 block discarded – undo
39 39
      *
40 40
      * @return string
41 41
      */
42
-    function random_bytes($bytes)
42
+    function random_bytes( $bytes )
43 43
     {
44 44
         try {
45 45
             /** @var int $bytes */
46
-            $bytes = RandomCompat_intval($bytes);
47
-        } catch (TypeError $ex) {
46
+            $bytes = RandomCompat_intval( $bytes );
47
+        } catch ( TypeError $ex ) {
48 48
             throw new TypeError(
49 49
                 'random_bytes(): $bytes must be an integer'
50 50
             );
51 51
         }
52 52
 
53
-        if ($bytes < 1) {
53
+        if ( $bytes < 1 ) {
54 54
             throw new Error(
55 55
                 'Length must be greater than 0'
56 56
             );
57 57
         }
58 58
 
59 59
         /** @var string|bool $buf */
60
-        $buf = @mcrypt_create_iv((int) $bytes, (int) MCRYPT_DEV_URANDOM);
60
+        $buf = @mcrypt_create_iv( (int)$bytes, (int)MCRYPT_DEV_URANDOM );
61 61
         if (
62
-            is_string($buf)
62
+            is_string( $buf )
63 63
                 &&
64
-            RandomCompat_strlen($buf) === $bytes
64
+            RandomCompat_strlen( $buf ) === $bytes
65 65
         ) {
66 66
             /**
67 67
              * Return our random entropy buffer here:
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -40,8 +40,7 @@
 block discarded – undo
40 40
      *
41 41
      * @return string
42 42
      */
43
-    function random_bytes($bytes)
44
-    {
43
+    function random_bytes($bytes) {
45 44
         try {
46 45
             /** @var int $bytes */
47 46
             $bytes = RandomCompat_intval($bytes);
Please login to merge, or discard this patch.
vendor/paragonie/random_compat/lib/random_bytes_libsodium.php 3 patches
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -27,65 +27,65 @@
 block discarded – undo
27 27
  */
28 28
 
29 29
 if (!is_callable('random_bytes')) {
30
-    /**
31
-     * If the libsodium PHP extension is loaded, we'll use it above any other
32
-     * solution.
33
-     *
34
-     * libsodium-php project:
35
-     * @ref https://github.com/jedisct1/libsodium-php
36
-     *
37
-     * @param int $bytes
38
-     *
39
-     * @throws Exception
40
-     *
41
-     * @return string
42
-     */
43
-    function random_bytes($bytes)
44
-    {
45
-        try {
46
-            /** @var int $bytes */
47
-            $bytes = RandomCompat_intval($bytes);
48
-        } catch (TypeError $ex) {
49
-            throw new TypeError(
50
-                'random_bytes(): $bytes must be an integer'
51
-            );
52
-        }
30
+	/**
31
+	 * If the libsodium PHP extension is loaded, we'll use it above any other
32
+	 * solution.
33
+	 *
34
+	 * libsodium-php project:
35
+	 * @ref https://github.com/jedisct1/libsodium-php
36
+	 *
37
+	 * @param int $bytes
38
+	 *
39
+	 * @throws Exception
40
+	 *
41
+	 * @return string
42
+	 */
43
+	function random_bytes($bytes)
44
+	{
45
+		try {
46
+			/** @var int $bytes */
47
+			$bytes = RandomCompat_intval($bytes);
48
+		} catch (TypeError $ex) {
49
+			throw new TypeError(
50
+				'random_bytes(): $bytes must be an integer'
51
+			);
52
+		}
53 53
 
54
-        if ($bytes < 1) {
55
-            throw new Error(
56
-                'Length must be greater than 0'
57
-            );
58
-        }
54
+		if ($bytes < 1) {
55
+			throw new Error(
56
+				'Length must be greater than 0'
57
+			);
58
+		}
59 59
 
60
-        /**
61
-         * \Sodium\randombytes_buf() doesn't allow more than 2147483647 bytes to be
62
-         * generated in one invocation.
63
-         */
64
-        /** @var string|bool $buf */
65
-        if ($bytes > 2147483647) {
66
-            $buf = '';
67
-            for ($i = 0; $i < $bytes; $i += 1073741824) {
68
-                $n = ($bytes - $i) > 1073741824
69
-                    ? 1073741824
70
-                    : $bytes - $i;
71
-                $buf .= \Sodium\randombytes_buf($n);
72
-            }
73
-        } else {
74
-            /** @var string|bool $buf */
75
-            $buf = \Sodium\randombytes_buf($bytes);
76
-        }
60
+		/**
61
+		 * \Sodium\randombytes_buf() doesn't allow more than 2147483647 bytes to be
62
+		 * generated in one invocation.
63
+		 */
64
+		/** @var string|bool $buf */
65
+		if ($bytes > 2147483647) {
66
+			$buf = '';
67
+			for ($i = 0; $i < $bytes; $i += 1073741824) {
68
+				$n = ($bytes - $i) > 1073741824
69
+					? 1073741824
70
+					: $bytes - $i;
71
+				$buf .= \Sodium\randombytes_buf($n);
72
+			}
73
+		} else {
74
+			/** @var string|bool $buf */
75
+			$buf = \Sodium\randombytes_buf($bytes);
76
+		}
77 77
 
78
-        if (is_string($buf)) {
79
-            if (RandomCompat_strlen($buf) === $bytes) {
80
-                return $buf;
81
-            }
82
-        }
78
+		if (is_string($buf)) {
79
+			if (RandomCompat_strlen($buf) === $bytes) {
80
+				return $buf;
81
+			}
82
+		}
83 83
 
84
-        /**
85
-         * If we reach here, PHP has failed us.
86
-         */
87
-        throw new Exception(
88
-            'Could not gather sufficient random data'
89
-        );
90
-    }
84
+		/**
85
+		 * If we reach here, PHP has failed us.
86
+		 */
87
+		throw new Exception(
88
+			'Could not gather sufficient random data'
89
+		);
90
+	}
91 91
 }
Please login to merge, or discard this patch.
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
  * SOFTWARE.
27 27
  */
28 28
 
29
-if (!is_callable('random_bytes')) {
29
+if ( ! is_callable( 'random_bytes' ) ) {
30 30
     /**
31 31
      * If the libsodium PHP extension is loaded, we'll use it above any other
32 32
      * solution.
@@ -40,18 +40,18 @@  discard block
 block discarded – undo
40 40
      *
41 41
      * @return string
42 42
      */
43
-    function random_bytes($bytes)
43
+    function random_bytes( $bytes )
44 44
     {
45 45
         try {
46 46
             /** @var int $bytes */
47
-            $bytes = RandomCompat_intval($bytes);
48
-        } catch (TypeError $ex) {
47
+            $bytes = RandomCompat_intval( $bytes );
48
+        } catch ( TypeError $ex ) {
49 49
             throw new TypeError(
50 50
                 'random_bytes(): $bytes must be an integer'
51 51
             );
52 52
         }
53 53
 
54
-        if ($bytes < 1) {
54
+        if ( $bytes < 1 ) {
55 55
             throw new Error(
56 56
                 'Length must be greater than 0'
57 57
             );
@@ -62,21 +62,21 @@  discard block
 block discarded – undo
62 62
          * generated in one invocation.
63 63
          */
64 64
         /** @var string|bool $buf */
65
-        if ($bytes > 2147483647) {
65
+        if ( $bytes > 2147483647 ) {
66 66
             $buf = '';
67
-            for ($i = 0; $i < $bytes; $i += 1073741824) {
68
-                $n = ($bytes - $i) > 1073741824
67
+            for ( $i = 0; $i < $bytes; $i += 1073741824 ) {
68
+                $n = ( $bytes - $i ) > 1073741824
69 69
                     ? 1073741824
70 70
                     : $bytes - $i;
71
-                $buf .= \Sodium\randombytes_buf($n);
71
+                $buf .= \Sodium\randombytes_buf( $n );
72 72
             }
73 73
         } else {
74 74
             /** @var string|bool $buf */
75
-            $buf = \Sodium\randombytes_buf($bytes);
75
+            $buf = \Sodium\randombytes_buf( $bytes );
76 76
         }
77 77
 
78
-        if (is_string($buf)) {
79
-            if (RandomCompat_strlen($buf) === $bytes) {
78
+        if ( is_string( $buf ) ) {
79
+            if ( RandomCompat_strlen( $buf ) === $bytes ) {
80 80
                 return $buf;
81 81
             }
82 82
         }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -40,8 +40,7 @@
 block discarded – undo
40 40
      *
41 41
      * @return string
42 42
      */
43
-    function random_bytes($bytes)
44
-    {
43
+    function random_bytes($bytes) {
45 44
         try {
46 45
             /** @var int $bytes */
47 46
             $bytes = RandomCompat_intval($bytes);
Please login to merge, or discard this patch.
vendor/paragonie/random_compat/lib/random.php 3 patches
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -208,8 +208,7 @@
 block discarded – undo
208 208
          * @throws Exception
209 209
          * @return string
210 210
          */
211
-        function random_bytes($length)
212
-        {
211
+        function random_bytes($length) {
213 212
             unset($length); // Suppress "variable not used" warnings.
214 213
             throw new Exception(
215 214
                 'There is no suitable CSPRNG installed on your system'
Please login to merge, or discard this patch.
Indentation   +170 added lines, -170 removed lines patch added patch discarded remove patch
@@ -30,26 +30,26 @@  discard block
 block discarded – undo
30 30
  */
31 31
 
32 32
 if (!defined('PHP_VERSION_ID')) {
33
-    // This constant was introduced in PHP 5.2.7
34
-    $RandomCompatversion = array_map('intval', explode('.', PHP_VERSION));
35
-    define(
36
-        'PHP_VERSION_ID',
37
-        $RandomCompatversion[0] * 10000
38
-        + $RandomCompatversion[1] * 100
39
-        + $RandomCompatversion[2]
40
-    );
41
-    $RandomCompatversion = null;
33
+	// This constant was introduced in PHP 5.2.7
34
+	$RandomCompatversion = array_map('intval', explode('.', PHP_VERSION));
35
+	define(
36
+		'PHP_VERSION_ID',
37
+		$RandomCompatversion[0] * 10000
38
+		+ $RandomCompatversion[1] * 100
39
+		+ $RandomCompatversion[2]
40
+	);
41
+	$RandomCompatversion = null;
42 42
 }
43 43
 
44 44
 /**
45 45
  * PHP 7.0.0 and newer have these functions natively.
46 46
  */
47 47
 if (PHP_VERSION_ID >= 70000) {
48
-    return;
48
+	return;
49 49
 }
50 50
 
51 51
 if (!defined('RANDOM_COMPAT_READ_BUFFER')) {
52
-    define('RANDOM_COMPAT_READ_BUFFER', 8);
52
+	define('RANDOM_COMPAT_READ_BUFFER', 8);
53 53
 }
54 54
 
55 55
 $RandomCompatDIR = dirname(__FILE__);
@@ -59,168 +59,168 @@  discard block
 block discarded – undo
59 59
 require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'error_polyfill.php';
60 60
 
61 61
 if (!is_callable('random_bytes')) {
62
-    /**
63
-     * PHP 5.2.0 - 5.6.x way to implement random_bytes()
64
-     *
65
-     * We use conditional statements here to define the function in accordance
66
-     * to the operating environment. It's a micro-optimization.
67
-     *
68
-     * In order of preference:
69
-     *   1. Use libsodium if available.
70
-     *   2. fread() /dev/urandom if available (never on Windows)
71
-     *   3. mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM)
72
-     *   4. COM('CAPICOM.Utilities.1')->GetRandom()
73
-     *
74
-     * See RATIONALE.md for our reasoning behind this particular order
75
-     */
76
-    if (extension_loaded('libsodium')) {
77
-        // See random_bytes_libsodium.php
78
-        if (PHP_VERSION_ID >= 50300 && is_callable('\\Sodium\\randombytes_buf')) {
79
-            require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_libsodium.php';
80
-        } elseif (method_exists('Sodium', 'randombytes_buf')) {
81
-            require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_libsodium_legacy.php';
82
-        }
83
-    }
84
-
85
-    /**
86
-     * Reading directly from /dev/urandom:
87
-     */
88
-    if (DIRECTORY_SEPARATOR === '/') {
89
-        // DIRECTORY_SEPARATOR === '/' on Unix-like OSes -- this is a fast
90
-        // way to exclude Windows.
91
-        $RandomCompatUrandom = true;
92
-        $RandomCompat_basedir = ini_get('open_basedir');
93
-
94
-        if (!empty($RandomCompat_basedir)) {
95
-            $RandomCompat_open_basedir = explode(
96
-                PATH_SEPARATOR,
97
-                strtolower($RandomCompat_basedir)
98
-            );
99
-            $RandomCompatUrandom = (array() !== array_intersect(
100
-                array('/dev', '/dev/', '/dev/urandom'),
101
-                $RandomCompat_open_basedir
102
-            ));
103
-            $RandomCompat_open_basedir = null;
104
-        }
105
-
106
-        if (
107
-            !is_callable('random_bytes')
108
-            &&
109
-            $RandomCompatUrandom
110
-            &&
111
-            @is_readable('/dev/urandom')
112
-        ) {
113
-            // Error suppression on is_readable() in case of an open_basedir
114
-            // or safe_mode failure. All we care about is whether or not we
115
-            // can read it at this point. If the PHP environment is going to
116
-            // panic over trying to see if the file can be read in the first
117
-            // place, that is not helpful to us here.
118
-
119
-            // See random_bytes_dev_urandom.php
120
-            require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_dev_urandom.php';
121
-        }
122
-        // Unset variables after use
123
-        $RandomCompat_basedir = null;
124
-    } else {
125
-        $RandomCompatUrandom = false;
126
-    }
127
-
128
-    /**
129
-     * mcrypt_create_iv()
130
-     *
131
-     * We only want to use mcypt_create_iv() if:
132
-     *
133
-     * - random_bytes() hasn't already been defined
134
-     * - the mcrypt extensions is loaded
135
-     * - One of these two conditions is true:
136
-     *   - We're on Windows (DIRECTORY_SEPARATOR !== '/')
137
-     *   - We're not on Windows and /dev/urandom is readabale
138
-     *     (i.e. we're not in a chroot jail)
139
-     * - Special case:
140
-     *   - If we're not on Windows, but the PHP version is between
141
-     *     5.6.10 and 5.6.12, we don't want to use mcrypt. It will
142
-     *     hang indefinitely. This is bad.
143
-     *   - If we're on Windows, we want to use PHP >= 5.3.7 or else
144
-     *     we get insufficient entropy errors.
145
-     */
146
-    if (
147
-        !is_callable('random_bytes')
148
-        &&
149
-        // Windows on PHP < 5.3.7 is broken, but non-Windows is not known to be.
150
-        (DIRECTORY_SEPARATOR === '/' || PHP_VERSION_ID >= 50307)
151
-        &&
152
-        // Prevent this code from hanging indefinitely on non-Windows;
153
-        // see https://bugs.php.net/bug.php?id=69833
154
-        (
155
-            DIRECTORY_SEPARATOR !== '/' ||
156
-            (PHP_VERSION_ID <= 50609 || PHP_VERSION_ID >= 50613)
157
-        )
158
-        &&
159
-        extension_loaded('mcrypt')
160
-    ) {
161
-        // See random_bytes_mcrypt.php
162
-        require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_mcrypt.php';
163
-    }
164
-    $RandomCompatUrandom = null;
165
-
166
-    /**
167
-     * This is a Windows-specific fallback, for when the mcrypt extension
168
-     * isn't loaded.
169
-     */
170
-    if (
171
-        !is_callable('random_bytes')
172
-        &&
173
-        extension_loaded('com_dotnet')
174
-        &&
175
-        class_exists('COM')
176
-    ) {
177
-        $RandomCompat_disabled_classes = preg_split(
178
-            '#\s*,\s*#',
179
-            strtolower(ini_get('disable_classes'))
180
-        );
181
-
182
-        if (!in_array('com', $RandomCompat_disabled_classes)) {
183
-            try {
184
-                $RandomCompatCOMtest = new COM('CAPICOM.Utilities.1');
185
-                /** @psalm-suppress TypeDoesNotContainType */
186
-                if (is_callable(array($RandomCompatCOMtest, 'GetRandom'))) {
187
-                    // See random_bytes_com_dotnet.php
188
-                    require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_com_dotnet.php';
189
-                }
190
-            } catch (com_exception $e) {
191
-                // Don't try to use it.
192
-            }
193
-        }
194
-        $RandomCompat_disabled_classes = null;
195
-        $RandomCompatCOMtest = null;
196
-    }
197
-
198
-    /**
199
-     * throw new Exception
200
-     */
201
-    if (!is_callable('random_bytes')) {
202
-        /**
203
-         * We don't have any more options, so let's throw an exception right now
204
-         * and hope the developer won't let it fail silently.
205
-         *
206
-         * @param mixed $length
207
-         * @psalm-suppress InvalidReturnType
208
-         * @throws Exception
209
-         * @return string
210
-         */
211
-        function random_bytes($length)
212
-        {
213
-            unset($length); // Suppress "variable not used" warnings.
214
-            throw new Exception(
215
-                'There is no suitable CSPRNG installed on your system'
216
-            );
217
-            return '';
218
-        }
219
-    }
62
+	/**
63
+	 * PHP 5.2.0 - 5.6.x way to implement random_bytes()
64
+	 *
65
+	 * We use conditional statements here to define the function in accordance
66
+	 * to the operating environment. It's a micro-optimization.
67
+	 *
68
+	 * In order of preference:
69
+	 *   1. Use libsodium if available.
70
+	 *   2. fread() /dev/urandom if available (never on Windows)
71
+	 *   3. mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM)
72
+	 *   4. COM('CAPICOM.Utilities.1')->GetRandom()
73
+	 *
74
+	 * See RATIONALE.md for our reasoning behind this particular order
75
+	 */
76
+	if (extension_loaded('libsodium')) {
77
+		// See random_bytes_libsodium.php
78
+		if (PHP_VERSION_ID >= 50300 && is_callable('\\Sodium\\randombytes_buf')) {
79
+			require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_libsodium.php';
80
+		} elseif (method_exists('Sodium', 'randombytes_buf')) {
81
+			require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_libsodium_legacy.php';
82
+		}
83
+	}
84
+
85
+	/**
86
+	 * Reading directly from /dev/urandom:
87
+	 */
88
+	if (DIRECTORY_SEPARATOR === '/') {
89
+		// DIRECTORY_SEPARATOR === '/' on Unix-like OSes -- this is a fast
90
+		// way to exclude Windows.
91
+		$RandomCompatUrandom = true;
92
+		$RandomCompat_basedir = ini_get('open_basedir');
93
+
94
+		if (!empty($RandomCompat_basedir)) {
95
+			$RandomCompat_open_basedir = explode(
96
+				PATH_SEPARATOR,
97
+				strtolower($RandomCompat_basedir)
98
+			);
99
+			$RandomCompatUrandom = (array() !== array_intersect(
100
+				array('/dev', '/dev/', '/dev/urandom'),
101
+				$RandomCompat_open_basedir
102
+			));
103
+			$RandomCompat_open_basedir = null;
104
+		}
105
+
106
+		if (
107
+			!is_callable('random_bytes')
108
+			&&
109
+			$RandomCompatUrandom
110
+			&&
111
+			@is_readable('/dev/urandom')
112
+		) {
113
+			// Error suppression on is_readable() in case of an open_basedir
114
+			// or safe_mode failure. All we care about is whether or not we
115
+			// can read it at this point. If the PHP environment is going to
116
+			// panic over trying to see if the file can be read in the first
117
+			// place, that is not helpful to us here.
118
+
119
+			// See random_bytes_dev_urandom.php
120
+			require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_dev_urandom.php';
121
+		}
122
+		// Unset variables after use
123
+		$RandomCompat_basedir = null;
124
+	} else {
125
+		$RandomCompatUrandom = false;
126
+	}
127
+
128
+	/**
129
+	 * mcrypt_create_iv()
130
+	 *
131
+	 * We only want to use mcypt_create_iv() if:
132
+	 *
133
+	 * - random_bytes() hasn't already been defined
134
+	 * - the mcrypt extensions is loaded
135
+	 * - One of these two conditions is true:
136
+	 *   - We're on Windows (DIRECTORY_SEPARATOR !== '/')
137
+	 *   - We're not on Windows and /dev/urandom is readabale
138
+	 *     (i.e. we're not in a chroot jail)
139
+	 * - Special case:
140
+	 *   - If we're not on Windows, but the PHP version is between
141
+	 *     5.6.10 and 5.6.12, we don't want to use mcrypt. It will
142
+	 *     hang indefinitely. This is bad.
143
+	 *   - If we're on Windows, we want to use PHP >= 5.3.7 or else
144
+	 *     we get insufficient entropy errors.
145
+	 */
146
+	if (
147
+		!is_callable('random_bytes')
148
+		&&
149
+		// Windows on PHP < 5.3.7 is broken, but non-Windows is not known to be.
150
+		(DIRECTORY_SEPARATOR === '/' || PHP_VERSION_ID >= 50307)
151
+		&&
152
+		// Prevent this code from hanging indefinitely on non-Windows;
153
+		// see https://bugs.php.net/bug.php?id=69833
154
+		(
155
+			DIRECTORY_SEPARATOR !== '/' ||
156
+			(PHP_VERSION_ID <= 50609 || PHP_VERSION_ID >= 50613)
157
+		)
158
+		&&
159
+		extension_loaded('mcrypt')
160
+	) {
161
+		// See random_bytes_mcrypt.php
162
+		require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_mcrypt.php';
163
+	}
164
+	$RandomCompatUrandom = null;
165
+
166
+	/**
167
+	 * This is a Windows-specific fallback, for when the mcrypt extension
168
+	 * isn't loaded.
169
+	 */
170
+	if (
171
+		!is_callable('random_bytes')
172
+		&&
173
+		extension_loaded('com_dotnet')
174
+		&&
175
+		class_exists('COM')
176
+	) {
177
+		$RandomCompat_disabled_classes = preg_split(
178
+			'#\s*,\s*#',
179
+			strtolower(ini_get('disable_classes'))
180
+		);
181
+
182
+		if (!in_array('com', $RandomCompat_disabled_classes)) {
183
+			try {
184
+				$RandomCompatCOMtest = new COM('CAPICOM.Utilities.1');
185
+				/** @psalm-suppress TypeDoesNotContainType */
186
+				if (is_callable(array($RandomCompatCOMtest, 'GetRandom'))) {
187
+					// See random_bytes_com_dotnet.php
188
+					require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_com_dotnet.php';
189
+				}
190
+			} catch (com_exception $e) {
191
+				// Don't try to use it.
192
+			}
193
+		}
194
+		$RandomCompat_disabled_classes = null;
195
+		$RandomCompatCOMtest = null;
196
+	}
197
+
198
+	/**
199
+	 * throw new Exception
200
+	 */
201
+	if (!is_callable('random_bytes')) {
202
+		/**
203
+		 * We don't have any more options, so let's throw an exception right now
204
+		 * and hope the developer won't let it fail silently.
205
+		 *
206
+		 * @param mixed $length
207
+		 * @psalm-suppress InvalidReturnType
208
+		 * @throws Exception
209
+		 * @return string
210
+		 */
211
+		function random_bytes($length)
212
+		{
213
+			unset($length); // Suppress "variable not used" warnings.
214
+			throw new Exception(
215
+				'There is no suitable CSPRNG installed on your system'
216
+			);
217
+			return '';
218
+		}
219
+	}
220 220
 }
221 221
 
222 222
 if (!is_callable('random_int')) {
223
-    require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_int.php';
223
+	require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_int.php';
224 224
 }
225 225
 
226 226
 $RandomCompatDIR = null;
Please login to merge, or discard this patch.
Spacing   +47 added lines, -47 removed lines patch added patch discarded remove patch
@@ -29,14 +29,14 @@  discard block
 block discarded – undo
29 29
  * SOFTWARE.
30 30
  */
31 31
 
32
-if (!defined('PHP_VERSION_ID')) {
32
+if ( ! defined( 'PHP_VERSION_ID' ) ) {
33 33
     // This constant was introduced in PHP 5.2.7
34
-    $RandomCompatversion = array_map('intval', explode('.', PHP_VERSION));
34
+    $RandomCompatversion = array_map( 'intval', explode( '.', PHP_VERSION ) );
35 35
     define(
36 36
         'PHP_VERSION_ID',
37
-        $RandomCompatversion[0] * 10000
38
-        + $RandomCompatversion[1] * 100
39
-        + $RandomCompatversion[2]
37
+        $RandomCompatversion[ 0 ] * 10000
38
+        + $RandomCompatversion[ 1 ] * 100
39
+        + $RandomCompatversion[ 2 ]
40 40
     );
41 41
     $RandomCompatversion = null;
42 42
 }
@@ -44,21 +44,21 @@  discard block
 block discarded – undo
44 44
 /**
45 45
  * PHP 7.0.0 and newer have these functions natively.
46 46
  */
47
-if (PHP_VERSION_ID >= 70000) {
47
+if ( PHP_VERSION_ID >= 70000 ) {
48 48
     return;
49 49
 }
50 50
 
51
-if (!defined('RANDOM_COMPAT_READ_BUFFER')) {
52
-    define('RANDOM_COMPAT_READ_BUFFER', 8);
51
+if ( ! defined( 'RANDOM_COMPAT_READ_BUFFER' ) ) {
52
+    define( 'RANDOM_COMPAT_READ_BUFFER', 8 );
53 53
 }
54 54
 
55
-$RandomCompatDIR = dirname(__FILE__);
55
+$RandomCompatDIR = dirname( __FILE__ );
56 56
 
57
-require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'byte_safe_strings.php';
58
-require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'cast_to_int.php';
59
-require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'error_polyfill.php';
57
+require_once $RandomCompatDIR . DIRECTORY_SEPARATOR . 'byte_safe_strings.php';
58
+require_once $RandomCompatDIR . DIRECTORY_SEPARATOR . 'cast_to_int.php';
59
+require_once $RandomCompatDIR . DIRECTORY_SEPARATOR . 'error_polyfill.php';
60 60
 
61
-if (!is_callable('random_bytes')) {
61
+if ( ! is_callable( 'random_bytes' ) ) {
62 62
     /**
63 63
      * PHP 5.2.0 - 5.6.x way to implement random_bytes()
64 64
      *
@@ -73,42 +73,42 @@  discard block
 block discarded – undo
73 73
      *
74 74
      * See RATIONALE.md for our reasoning behind this particular order
75 75
      */
76
-    if (extension_loaded('libsodium')) {
76
+    if ( extension_loaded( 'libsodium' ) ) {
77 77
         // See random_bytes_libsodium.php
78
-        if (PHP_VERSION_ID >= 50300 && is_callable('\\Sodium\\randombytes_buf')) {
79
-            require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_libsodium.php';
80
-        } elseif (method_exists('Sodium', 'randombytes_buf')) {
81
-            require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_libsodium_legacy.php';
78
+        if ( PHP_VERSION_ID >= 50300 && is_callable( '\\Sodium\\randombytes_buf' ) ) {
79
+            require_once $RandomCompatDIR . DIRECTORY_SEPARATOR . 'random_bytes_libsodium.php';
80
+        } elseif ( method_exists( 'Sodium', 'randombytes_buf' ) ) {
81
+            require_once $RandomCompatDIR . DIRECTORY_SEPARATOR . 'random_bytes_libsodium_legacy.php';
82 82
         }
83 83
     }
84 84
 
85 85
     /**
86 86
      * Reading directly from /dev/urandom:
87 87
      */
88
-    if (DIRECTORY_SEPARATOR === '/') {
88
+    if ( DIRECTORY_SEPARATOR === '/' ) {
89 89
         // DIRECTORY_SEPARATOR === '/' on Unix-like OSes -- this is a fast
90 90
         // way to exclude Windows.
91 91
         $RandomCompatUrandom = true;
92
-        $RandomCompat_basedir = ini_get('open_basedir');
92
+        $RandomCompat_basedir = ini_get( 'open_basedir' );
93 93
 
94
-        if (!empty($RandomCompat_basedir)) {
94
+        if ( ! empty( $RandomCompat_basedir ) ) {
95 95
             $RandomCompat_open_basedir = explode(
96 96
                 PATH_SEPARATOR,
97
-                strtolower($RandomCompat_basedir)
97
+                strtolower( $RandomCompat_basedir )
98 98
             );
99
-            $RandomCompatUrandom = (array() !== array_intersect(
100
-                array('/dev', '/dev/', '/dev/urandom'),
99
+            $RandomCompatUrandom = ( array() !== array_intersect(
100
+                array( '/dev', '/dev/', '/dev/urandom' ),
101 101
                 $RandomCompat_open_basedir
102
-            ));
102
+            ) );
103 103
             $RandomCompat_open_basedir = null;
104 104
         }
105 105
 
106 106
         if (
107
-            !is_callable('random_bytes')
107
+            ! is_callable( 'random_bytes' )
108 108
             &&
109 109
             $RandomCompatUrandom
110 110
             &&
111
-            @is_readable('/dev/urandom')
111
+            @is_readable( '/dev/urandom' )
112 112
         ) {
113 113
             // Error suppression on is_readable() in case of an open_basedir
114 114
             // or safe_mode failure. All we care about is whether or not we
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
             // place, that is not helpful to us here.
118 118
 
119 119
             // See random_bytes_dev_urandom.php
120
-            require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_dev_urandom.php';
120
+            require_once $RandomCompatDIR . DIRECTORY_SEPARATOR . 'random_bytes_dev_urandom.php';
121 121
         }
122 122
         // Unset variables after use
123 123
         $RandomCompat_basedir = null;
@@ -144,22 +144,22 @@  discard block
 block discarded – undo
144 144
      *     we get insufficient entropy errors.
145 145
      */
146 146
     if (
147
-        !is_callable('random_bytes')
147
+        ! is_callable( 'random_bytes' )
148 148
         &&
149 149
         // Windows on PHP < 5.3.7 is broken, but non-Windows is not known to be.
150
-        (DIRECTORY_SEPARATOR === '/' || PHP_VERSION_ID >= 50307)
150
+        ( DIRECTORY_SEPARATOR === '/' || PHP_VERSION_ID >= 50307 )
151 151
         &&
152 152
         // Prevent this code from hanging indefinitely on non-Windows;
153 153
         // see https://bugs.php.net/bug.php?id=69833
154 154
         (
155 155
             DIRECTORY_SEPARATOR !== '/' ||
156
-            (PHP_VERSION_ID <= 50609 || PHP_VERSION_ID >= 50613)
156
+            ( PHP_VERSION_ID <= 50609 || PHP_VERSION_ID >= 50613 )
157 157
         )
158 158
         &&
159
-        extension_loaded('mcrypt')
159
+        extension_loaded( 'mcrypt' )
160 160
     ) {
161 161
         // See random_bytes_mcrypt.php
162
-        require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_mcrypt.php';
162
+        require_once $RandomCompatDIR . DIRECTORY_SEPARATOR . 'random_bytes_mcrypt.php';
163 163
     }
164 164
     $RandomCompatUrandom = null;
165 165
 
@@ -168,26 +168,26 @@  discard block
 block discarded – undo
168 168
      * isn't loaded.
169 169
      */
170 170
     if (
171
-        !is_callable('random_bytes')
171
+        ! is_callable( 'random_bytes' )
172 172
         &&
173
-        extension_loaded('com_dotnet')
173
+        extension_loaded( 'com_dotnet' )
174 174
         &&
175
-        class_exists('COM')
175
+        class_exists( 'COM' )
176 176
     ) {
177 177
         $RandomCompat_disabled_classes = preg_split(
178 178
             '#\s*,\s*#',
179
-            strtolower(ini_get('disable_classes'))
179
+            strtolower( ini_get( 'disable_classes' ) )
180 180
         );
181 181
 
182
-        if (!in_array('com', $RandomCompat_disabled_classes)) {
182
+        if ( ! in_array( 'com', $RandomCompat_disabled_classes ) ) {
183 183
             try {
184
-                $RandomCompatCOMtest = new COM('CAPICOM.Utilities.1');
184
+                $RandomCompatCOMtest = new COM( 'CAPICOM.Utilities.1' );
185 185
                 /** @psalm-suppress TypeDoesNotContainType */
186
-                if (is_callable(array($RandomCompatCOMtest, 'GetRandom'))) {
186
+                if ( is_callable( array( $RandomCompatCOMtest, 'GetRandom' ) ) ) {
187 187
                     // See random_bytes_com_dotnet.php
188
-                    require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_com_dotnet.php';
188
+                    require_once $RandomCompatDIR . DIRECTORY_SEPARATOR . 'random_bytes_com_dotnet.php';
189 189
                 }
190
-            } catch (com_exception $e) {
190
+            } catch ( com_exception $e ) {
191 191
                 // Don't try to use it.
192 192
             }
193 193
         }
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
     /**
199 199
      * throw new Exception
200 200
      */
201
-    if (!is_callable('random_bytes')) {
201
+    if ( ! is_callable( 'random_bytes' ) ) {
202 202
         /**
203 203
          * We don't have any more options, so let's throw an exception right now
204 204
          * and hope the developer won't let it fail silently.
@@ -208,9 +208,9 @@  discard block
 block discarded – undo
208 208
          * @throws Exception
209 209
          * @return string
210 210
          */
211
-        function random_bytes($length)
211
+        function random_bytes( $length )
212 212
         {
213
-            unset($length); // Suppress "variable not used" warnings.
213
+            unset( $length ); // Suppress "variable not used" warnings.
214 214
             throw new Exception(
215 215
                 'There is no suitable CSPRNG installed on your system'
216 216
             );
@@ -219,8 +219,8 @@  discard block
 block discarded – undo
219 219
     }
220 220
 }
221 221
 
222
-if (!is_callable('random_int')) {
223
-    require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_int.php';
222
+if ( ! is_callable( 'random_int' ) ) {
223
+    require_once $RandomCompatDIR . DIRECTORY_SEPARATOR . 'random_int.php';
224 224
 }
225 225
 
226 226
 $RandomCompatDIR = null;
Please login to merge, or discard this patch.
vendor/paragonie/random_compat/lib/error_polyfill.php 3 patches
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -27,23 +27,23 @@
 block discarded – undo
27 27
  */
28 28
 
29 29
 if (!class_exists('Error', false)) {
30
-    // We can't really avoid making this extend Exception in PHP 5.
31
-    class Error extends Exception
32
-    {
30
+	// We can't really avoid making this extend Exception in PHP 5.
31
+	class Error extends Exception
32
+	{
33 33
 
34
-    }
34
+	}
35 35
 }
36 36
 
37 37
 if (!class_exists('TypeError', false)) {
38
-    if (is_subclass_of('Error', 'Exception')) {
39
-        class TypeError extends Error
40
-        {
38
+	if (is_subclass_of('Error', 'Exception')) {
39
+		class TypeError extends Error
40
+		{
41 41
 
42
-        }
43
-    } else {
44
-        class TypeError extends Exception
45
-        {
42
+		}
43
+	} else {
44
+		class TypeError extends Exception
45
+		{
46 46
 
47
-        }
48
-    }
47
+		}
48
+	}
49 49
 }
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
  * SOFTWARE.
27 27
  */
28 28
 
29
-if (!class_exists('Error', false)) {
29
+if ( ! class_exists( 'Error', false ) ) {
30 30
     // We can't really avoid making this extend Exception in PHP 5.
31 31
     class Error extends Exception
32 32
     {
@@ -34,8 +34,8 @@  discard block
 block discarded – undo
34 34
     }
35 35
 }
36 36
 
37
-if (!class_exists('TypeError', false)) {
38
-    if (is_subclass_of('Error', 'Exception')) {
37
+if ( ! class_exists( 'TypeError', false ) ) {
38
+    if ( is_subclass_of( 'Error', 'Exception' ) ) {
39 39
         class TypeError extends Error
40 40
         {
41 41
 
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -28,21 +28,18 @@
 block discarded – undo
28 28
 
29 29
 if (!class_exists('Error', false)) {
30 30
     // We can't really avoid making this extend Exception in PHP 5.
31
-    class Error extends Exception
32
-    {
31
+    class Error extends Exception {
33 32
 
34 33
     }
35 34
 }
36 35
 
37 36
 if (!class_exists('TypeError', false)) {
38 37
     if (is_subclass_of('Error', 'Exception')) {
39
-        class TypeError extends Error
40
-        {
38
+        class TypeError extends Error {
41 39
 
42 40
         }
43 41
     } else {
44
-        class TypeError extends Exception
45
-        {
42
+        class TypeError extends Exception {
46 43
 
47 44
         }
48 45
     }
Please login to merge, or discard this patch.
vendor/paragonie/random_compat/lib/byte_safe_strings.php 3 patches
Indentation   +149 added lines, -149 removed lines patch added patch discarded remove patch
@@ -27,169 +27,169 @@
 block discarded – undo
27 27
  */
28 28
 
29 29
 if (!is_callable('RandomCompat_strlen')) {
30
-    if (
31
-        defined('MB_OVERLOAD_STRING')
32
-            &&
33
-        ((int) ini_get('mbstring.func_overload')) & MB_OVERLOAD_STRING
34
-    ) {
35
-        /**
36
-         * strlen() implementation that isn't brittle to mbstring.func_overload
37
-         *
38
-         * This version uses mb_strlen() in '8bit' mode to treat strings as raw
39
-         * binary rather than UTF-8, ISO-8859-1, etc
40
-         *
41
-         * @param string $binary_string
42
-         *
43
-         * @throws TypeError
44
-         *
45
-         * @return int
46
-         */
47
-        function RandomCompat_strlen($binary_string)
48
-        {
49
-            if (!is_string($binary_string)) {
50
-                throw new TypeError(
51
-                    'RandomCompat_strlen() expects a string'
52
-                );
53
-            }
30
+	if (
31
+		defined('MB_OVERLOAD_STRING')
32
+			&&
33
+		((int) ini_get('mbstring.func_overload')) & MB_OVERLOAD_STRING
34
+	) {
35
+		/**
36
+		 * strlen() implementation that isn't brittle to mbstring.func_overload
37
+		 *
38
+		 * This version uses mb_strlen() in '8bit' mode to treat strings as raw
39
+		 * binary rather than UTF-8, ISO-8859-1, etc
40
+		 *
41
+		 * @param string $binary_string
42
+		 *
43
+		 * @throws TypeError
44
+		 *
45
+		 * @return int
46
+		 */
47
+		function RandomCompat_strlen($binary_string)
48
+		{
49
+			if (!is_string($binary_string)) {
50
+				throw new TypeError(
51
+					'RandomCompat_strlen() expects a string'
52
+				);
53
+			}
54 54
 
55
-            return (int) mb_strlen($binary_string, '8bit');
56
-        }
55
+			return (int) mb_strlen($binary_string, '8bit');
56
+		}
57 57
 
58
-    } else {
59
-        /**
60
-         * strlen() implementation that isn't brittle to mbstring.func_overload
61
-         *
62
-         * This version just used the default strlen()
63
-         *
64
-         * @param string $binary_string
65
-         *
66
-         * @throws TypeError
67
-         *
68
-         * @return int
69
-         */
70
-        function RandomCompat_strlen($binary_string)
71
-        {
72
-            if (!is_string($binary_string)) {
73
-                throw new TypeError(
74
-                    'RandomCompat_strlen() expects a string'
75
-                );
76
-            }
77
-            return (int) strlen($binary_string);
78
-        }
79
-    }
58
+	} else {
59
+		/**
60
+		 * strlen() implementation that isn't brittle to mbstring.func_overload
61
+		 *
62
+		 * This version just used the default strlen()
63
+		 *
64
+		 * @param string $binary_string
65
+		 *
66
+		 * @throws TypeError
67
+		 *
68
+		 * @return int
69
+		 */
70
+		function RandomCompat_strlen($binary_string)
71
+		{
72
+			if (!is_string($binary_string)) {
73
+				throw new TypeError(
74
+					'RandomCompat_strlen() expects a string'
75
+				);
76
+			}
77
+			return (int) strlen($binary_string);
78
+		}
79
+	}
80 80
 }
81 81
 
82 82
 if (!is_callable('RandomCompat_substr')) {
83 83
 
84
-    if (
85
-        defined('MB_OVERLOAD_STRING')
86
-            &&
87
-        ((int) ini_get('mbstring.func_overload')) & MB_OVERLOAD_STRING
88
-    ) {
89
-        /**
90
-         * substr() implementation that isn't brittle to mbstring.func_overload
91
-         *
92
-         * This version uses mb_substr() in '8bit' mode to treat strings as raw
93
-         * binary rather than UTF-8, ISO-8859-1, etc
94
-         *
95
-         * @param string $binary_string
96
-         * @param int $start
97
-         * @param int|null $length (optional)
98
-         *
99
-         * @throws TypeError
100
-         *
101
-         * @return string
102
-         */
103
-        function RandomCompat_substr($binary_string, $start, $length = null)
104
-        {
105
-            if (!is_string($binary_string)) {
106
-                throw new TypeError(
107
-                    'RandomCompat_substr(): First argument should be a string'
108
-                );
109
-            }
84
+	if (
85
+		defined('MB_OVERLOAD_STRING')
86
+			&&
87
+		((int) ini_get('mbstring.func_overload')) & MB_OVERLOAD_STRING
88
+	) {
89
+		/**
90
+		 * substr() implementation that isn't brittle to mbstring.func_overload
91
+		 *
92
+		 * This version uses mb_substr() in '8bit' mode to treat strings as raw
93
+		 * binary rather than UTF-8, ISO-8859-1, etc
94
+		 *
95
+		 * @param string $binary_string
96
+		 * @param int $start
97
+		 * @param int|null $length (optional)
98
+		 *
99
+		 * @throws TypeError
100
+		 *
101
+		 * @return string
102
+		 */
103
+		function RandomCompat_substr($binary_string, $start, $length = null)
104
+		{
105
+			if (!is_string($binary_string)) {
106
+				throw new TypeError(
107
+					'RandomCompat_substr(): First argument should be a string'
108
+				);
109
+			}
110 110
 
111
-            if (!is_int($start)) {
112
-                throw new TypeError(
113
-                    'RandomCompat_substr(): Second argument should be an integer'
114
-                );
115
-            }
111
+			if (!is_int($start)) {
112
+				throw new TypeError(
113
+					'RandomCompat_substr(): Second argument should be an integer'
114
+				);
115
+			}
116 116
 
117
-            if ($length === null) {
118
-                /**
119
-                 * mb_substr($str, 0, NULL, '8bit') returns an empty string on
120
-                 * PHP 5.3, so we have to find the length ourselves.
121
-                 */
122
-                /** @var int $length */
123
-                $length = RandomCompat_strlen($binary_string) - $start;
124
-            } elseif (!is_int($length)) {
125
-                throw new TypeError(
126
-                    'RandomCompat_substr(): Third argument should be an integer, or omitted'
127
-                );
128
-            }
117
+			if ($length === null) {
118
+				/**
119
+				 * mb_substr($str, 0, NULL, '8bit') returns an empty string on
120
+				 * PHP 5.3, so we have to find the length ourselves.
121
+				 */
122
+				/** @var int $length */
123
+				$length = RandomCompat_strlen($binary_string) - $start;
124
+			} elseif (!is_int($length)) {
125
+				throw new TypeError(
126
+					'RandomCompat_substr(): Third argument should be an integer, or omitted'
127
+				);
128
+			}
129 129
 
130
-            // Consistency with PHP's behavior
131
-            if ($start === RandomCompat_strlen($binary_string) && $length === 0) {
132
-                return '';
133
-            }
134
-            if ($start > RandomCompat_strlen($binary_string)) {
135
-                return '';
136
-            }
130
+			// Consistency with PHP's behavior
131
+			if ($start === RandomCompat_strlen($binary_string) && $length === 0) {
132
+				return '';
133
+			}
134
+			if ($start > RandomCompat_strlen($binary_string)) {
135
+				return '';
136
+			}
137 137
 
138
-            return (string) mb_substr(
139
-                (string) $binary_string,
140
-                (int) $start,
141
-                (int) $length,
142
-                '8bit'
143
-            );
144
-        }
138
+			return (string) mb_substr(
139
+				(string) $binary_string,
140
+				(int) $start,
141
+				(int) $length,
142
+				'8bit'
143
+			);
144
+		}
145 145
 
146
-    } else {
146
+	} else {
147 147
 
148
-        /**
149
-         * substr() implementation that isn't brittle to mbstring.func_overload
150
-         *
151
-         * This version just uses the default substr()
152
-         *
153
-         * @param string $binary_string
154
-         * @param int $start
155
-         * @param int|null $length (optional)
156
-         *
157
-         * @throws TypeError
158
-         *
159
-         * @return string
160
-         */
161
-        function RandomCompat_substr($binary_string, $start, $length = null)
162
-        {
163
-            if (!is_string($binary_string)) {
164
-                throw new TypeError(
165
-                    'RandomCompat_substr(): First argument should be a string'
166
-                );
167
-            }
148
+		/**
149
+		 * substr() implementation that isn't brittle to mbstring.func_overload
150
+		 *
151
+		 * This version just uses the default substr()
152
+		 *
153
+		 * @param string $binary_string
154
+		 * @param int $start
155
+		 * @param int|null $length (optional)
156
+		 *
157
+		 * @throws TypeError
158
+		 *
159
+		 * @return string
160
+		 */
161
+		function RandomCompat_substr($binary_string, $start, $length = null)
162
+		{
163
+			if (!is_string($binary_string)) {
164
+				throw new TypeError(
165
+					'RandomCompat_substr(): First argument should be a string'
166
+				);
167
+			}
168 168
 
169
-            if (!is_int($start)) {
170
-                throw new TypeError(
171
-                    'RandomCompat_substr(): Second argument should be an integer'
172
-                );
173
-            }
169
+			if (!is_int($start)) {
170
+				throw new TypeError(
171
+					'RandomCompat_substr(): Second argument should be an integer'
172
+				);
173
+			}
174 174
 
175
-            if ($length !== null) {
176
-                if (!is_int($length)) {
177
-                    throw new TypeError(
178
-                        'RandomCompat_substr(): Third argument should be an integer, or omitted'
179
-                    );
180
-                }
175
+			if ($length !== null) {
176
+				if (!is_int($length)) {
177
+					throw new TypeError(
178
+						'RandomCompat_substr(): Third argument should be an integer, or omitted'
179
+					);
180
+				}
181 181
 
182
-                return (string) substr(
183
-                    (string )$binary_string,
184
-                    (int) $start,
185
-                    (int) $length
186
-                );
187
-            }
182
+				return (string) substr(
183
+					(string )$binary_string,
184
+					(int) $start,
185
+					(int) $length
186
+				);
187
+			}
188 188
 
189
-            return (string) substr(
190
-                (string) $binary_string,
191
-                (int) $start
192
-            );
193
-        }
194
-    }
189
+			return (string) substr(
190
+				(string) $binary_string,
191
+				(int) $start
192
+			);
193
+		}
194
+	}
195 195
 }
Please login to merge, or discard this patch.
Spacing   +36 added lines, -36 removed lines patch added patch discarded remove patch
@@ -26,11 +26,11 @@  discard block
 block discarded – undo
26 26
  * SOFTWARE.
27 27
  */
28 28
 
29
-if (!is_callable('RandomCompat_strlen')) {
29
+if ( ! is_callable( 'RandomCompat_strlen' ) ) {
30 30
     if (
31
-        defined('MB_OVERLOAD_STRING')
31
+        defined( 'MB_OVERLOAD_STRING' )
32 32
             &&
33
-        ((int) ini_get('mbstring.func_overload')) & MB_OVERLOAD_STRING
33
+        ( (int)ini_get( 'mbstring.func_overload' ) ) & MB_OVERLOAD_STRING
34 34
     ) {
35 35
         /**
36 36
          * strlen() implementation that isn't brittle to mbstring.func_overload
@@ -44,15 +44,15 @@  discard block
 block discarded – undo
44 44
          *
45 45
          * @return int
46 46
          */
47
-        function RandomCompat_strlen($binary_string)
47
+        function RandomCompat_strlen( $binary_string )
48 48
         {
49
-            if (!is_string($binary_string)) {
49
+            if ( ! is_string( $binary_string ) ) {
50 50
                 throw new TypeError(
51 51
                     'RandomCompat_strlen() expects a string'
52 52
                 );
53 53
             }
54 54
 
55
-            return (int) mb_strlen($binary_string, '8bit');
55
+            return (int)mb_strlen( $binary_string, '8bit' );
56 56
         }
57 57
 
58 58
     } else {
@@ -67,24 +67,24 @@  discard block
 block discarded – undo
67 67
          *
68 68
          * @return int
69 69
          */
70
-        function RandomCompat_strlen($binary_string)
70
+        function RandomCompat_strlen( $binary_string )
71 71
         {
72
-            if (!is_string($binary_string)) {
72
+            if ( ! is_string( $binary_string ) ) {
73 73
                 throw new TypeError(
74 74
                     'RandomCompat_strlen() expects a string'
75 75
                 );
76 76
             }
77
-            return (int) strlen($binary_string);
77
+            return (int)strlen( $binary_string );
78 78
         }
79 79
     }
80 80
 }
81 81
 
82
-if (!is_callable('RandomCompat_substr')) {
82
+if ( ! is_callable( 'RandomCompat_substr' ) ) {
83 83
 
84 84
     if (
85
-        defined('MB_OVERLOAD_STRING')
85
+        defined( 'MB_OVERLOAD_STRING' )
86 86
             &&
87
-        ((int) ini_get('mbstring.func_overload')) & MB_OVERLOAD_STRING
87
+        ( (int)ini_get( 'mbstring.func_overload' ) ) & MB_OVERLOAD_STRING
88 88
     ) {
89 89
         /**
90 90
          * substr() implementation that isn't brittle to mbstring.func_overload
@@ -100,45 +100,45 @@  discard block
 block discarded – undo
100 100
          *
101 101
          * @return string
102 102
          */
103
-        function RandomCompat_substr($binary_string, $start, $length = null)
103
+        function RandomCompat_substr( $binary_string, $start, $length = null )
104 104
         {
105
-            if (!is_string($binary_string)) {
105
+            if ( ! is_string( $binary_string ) ) {
106 106
                 throw new TypeError(
107 107
                     'RandomCompat_substr(): First argument should be a string'
108 108
                 );
109 109
             }
110 110
 
111
-            if (!is_int($start)) {
111
+            if ( ! is_int( $start ) ) {
112 112
                 throw new TypeError(
113 113
                     'RandomCompat_substr(): Second argument should be an integer'
114 114
                 );
115 115
             }
116 116
 
117
-            if ($length === null) {
117
+            if ( $length === null ) {
118 118
                 /**
119 119
                  * mb_substr($str, 0, NULL, '8bit') returns an empty string on
120 120
                  * PHP 5.3, so we have to find the length ourselves.
121 121
                  */
122 122
                 /** @var int $length */
123
-                $length = RandomCompat_strlen($binary_string) - $start;
124
-            } elseif (!is_int($length)) {
123
+                $length = RandomCompat_strlen( $binary_string ) - $start;
124
+            } elseif ( ! is_int( $length ) ) {
125 125
                 throw new TypeError(
126 126
                     'RandomCompat_substr(): Third argument should be an integer, or omitted'
127 127
                 );
128 128
             }
129 129
 
130 130
             // Consistency with PHP's behavior
131
-            if ($start === RandomCompat_strlen($binary_string) && $length === 0) {
131
+            if ( $start === RandomCompat_strlen( $binary_string ) && $length === 0 ) {
132 132
                 return '';
133 133
             }
134
-            if ($start > RandomCompat_strlen($binary_string)) {
134
+            if ( $start > RandomCompat_strlen( $binary_string ) ) {
135 135
                 return '';
136 136
             }
137 137
 
138
-            return (string) mb_substr(
139
-                (string) $binary_string,
140
-                (int) $start,
141
-                (int) $length,
138
+            return (string)mb_substr(
139
+                (string)$binary_string,
140
+                (int)$start,
141
+                (int)$length,
142 142
                 '8bit'
143 143
             );
144 144
         }
@@ -158,37 +158,37 @@  discard block
 block discarded – undo
158 158
          *
159 159
          * @return string
160 160
          */
161
-        function RandomCompat_substr($binary_string, $start, $length = null)
161
+        function RandomCompat_substr( $binary_string, $start, $length = null )
162 162
         {
163
-            if (!is_string($binary_string)) {
163
+            if ( ! is_string( $binary_string ) ) {
164 164
                 throw new TypeError(
165 165
                     'RandomCompat_substr(): First argument should be a string'
166 166
                 );
167 167
             }
168 168
 
169
-            if (!is_int($start)) {
169
+            if ( ! is_int( $start ) ) {
170 170
                 throw new TypeError(
171 171
                     'RandomCompat_substr(): Second argument should be an integer'
172 172
                 );
173 173
             }
174 174
 
175
-            if ($length !== null) {
176
-                if (!is_int($length)) {
175
+            if ( $length !== null ) {
176
+                if ( ! is_int( $length ) ) {
177 177
                     throw new TypeError(
178 178
                         'RandomCompat_substr(): Third argument should be an integer, or omitted'
179 179
                     );
180 180
                 }
181 181
 
182
-                return (string) substr(
183
-                    (string )$binary_string,
184
-                    (int) $start,
185
-                    (int) $length
182
+                return (string)substr(
183
+                    (string)$binary_string,
184
+                    (int)$start,
185
+                    (int)$length
186 186
                 );
187 187
             }
188 188
 
189
-            return (string) substr(
190
-                (string) $binary_string,
191
-                (int) $start
189
+            return (string)substr(
190
+                (string)$binary_string,
191
+                (int)$start
192 192
             );
193 193
         }
194 194
     }
Please login to merge, or discard this patch.
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -44,8 +44,7 @@  discard block
 block discarded – undo
44 44
          *
45 45
          * @return int
46 46
          */
47
-        function RandomCompat_strlen($binary_string)
48
-        {
47
+        function RandomCompat_strlen($binary_string) {
49 48
             if (!is_string($binary_string)) {
50 49
                 throw new TypeError(
51 50
                     'RandomCompat_strlen() expects a string'
@@ -67,8 +66,7 @@  discard block
 block discarded – undo
67 66
          *
68 67
          * @return int
69 68
          */
70
-        function RandomCompat_strlen($binary_string)
71
-        {
69
+        function RandomCompat_strlen($binary_string) {
72 70
             if (!is_string($binary_string)) {
73 71
                 throw new TypeError(
74 72
                     'RandomCompat_strlen() expects a string'
@@ -100,8 +98,7 @@  discard block
 block discarded – undo
100 98
          *
101 99
          * @return string
102 100
          */
103
-        function RandomCompat_substr($binary_string, $start, $length = null)
104
-        {
101
+        function RandomCompat_substr($binary_string, $start, $length = null) {
105 102
             if (!is_string($binary_string)) {
106 103
                 throw new TypeError(
107 104
                     'RandomCompat_substr(): First argument should be a string'
@@ -158,8 +155,7 @@  discard block
 block discarded – undo
158 155
          *
159 156
          * @return string
160 157
          */
161
-        function RandomCompat_substr($binary_string, $start, $length = null)
162
-        {
158
+        function RandomCompat_substr($binary_string, $start, $length = null) {
163 159
             if (!is_string($binary_string)) {
164 160
                 throw new TypeError(
165 161
                     'RandomCompat_substr(): First argument should be a string'
Please login to merge, or discard this patch.