Completed
Push — master ( 8024f3...e355ed )
by Michiel
03:33 queued 14s
created
library/tiqr/OATH/OCRAParser.php 1 patch
Spacing   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 	 */
42 42
 	private function parseOCRASuite($ocraSuite) {
43 43
 		if (!is_string($ocraSuite)) {
44
-			throw new Exception('OCRASuite not in string format: ' . var_export($ocraSuite, TRUE));
44
+			throw new Exception('OCRASuite not in string format: '.var_export($ocraSuite, TRUE));
45 45
 		}
46 46
 
47 47
 		$ocraSuite = strtoupper($ocraSuite);
@@ -49,54 +49,54 @@  discard block
 block discarded – undo
49 49
 
50 50
 		$s = explode(':', $ocraSuite);
51 51
 		if (count($s) != 3) {
52
-			throw new Exception('Invalid OCRASuite format: ' . var_export($ocraSuite, TRUE));
52
+			throw new Exception('Invalid OCRASuite format: '.var_export($ocraSuite, TRUE));
53 53
 		}
54 54
 
55 55
 		$algo = explode('-', $s[0]);
56 56
 		if (count($algo) != 2) {
57
-			throw new Exception('Invalid OCRA version: ' . var_export($s[0], TRUE));
57
+			throw new Exception('Invalid OCRA version: '.var_export($s[0], TRUE));
58 58
 		}
59 59
 
60 60
 		if ($algo[0] !== 'OCRA') {
61
-			throw new Exception('Unsupported OCRA algorithm: ' . var_export($algo[0], TRUE));
61
+			throw new Exception('Unsupported OCRA algorithm: '.var_export($algo[0], TRUE));
62 62
 		}
63 63
 
64 64
 		if ($algo[1] !== '1') {
65
-			throw new Exception('Unsupported OCRA version: ' . var_export($algo[1], TRUE));
65
+			throw new Exception('Unsupported OCRA version: '.var_export($algo[1], TRUE));
66 66
 		}
67 67
 		$this->OCRAVersion = $algo[1];
68 68
 
69 69
 		$cf = explode('-', $s[1]);
70 70
 		if (count($cf) != 3) {
71
-			throw new Exception('Invalid OCRA suite crypto function: ' . var_export($s[1], TRUE));
71
+			throw new Exception('Invalid OCRA suite crypto function: '.var_export($s[1], TRUE));
72 72
 		}
73 73
 
74 74
 		if ($cf[0] !== 'HOTP') {
75
-			throw new Exception('Unsupported OCRA suite crypto function: ' . var_export($cf[0], TRUE));
75
+			throw new Exception('Unsupported OCRA suite crypto function: '.var_export($cf[0], TRUE));
76 76
 		}
77 77
 		$this->CryptoFunctionType = $cf[0];
78 78
 
79 79
 		if (!array_key_exists($cf[1], $this->supportedHashFunctions)) {
80
-			throw new Exception('Unsupported hash function in OCRA suite crypto function: ' . var_export($cf[1], TRUE));
80
+			throw new Exception('Unsupported hash function in OCRA suite crypto function: '.var_export($cf[1], TRUE));
81 81
 		}
82 82
 		$this->CryptoFunctionHash = $cf[1];
83 83
 		$this->CryptoFunctionHashLength = $this->supportedHashFunctions[$cf[1]];
84 84
 
85 85
 		if (!preg_match('/^\d+$/', $cf[2]) || (($cf[2] < 4 || $cf[2] > 10) && $cf[2] != 0)) {
86
-			throw new Exception('Invalid OCRA suite crypto function truncation length: ' . var_export($cf[2], TRUE));
86
+			throw new Exception('Invalid OCRA suite crypto function truncation length: '.var_export($cf[2], TRUE));
87 87
 		}
88 88
 		$this->CryptoFunctionTruncation = intval($cf[2]);
89 89
 
90 90
 		$di = explode('-', $s[2]);
91 91
 		if (count($cf) == 0) {
92
-			throw new Exception('Invalid OCRA suite data input: ' . var_export($s[2], TRUE));
92
+			throw new Exception('Invalid OCRA suite data input: '.var_export($s[2], TRUE));
93 93
 		}
94 94
 
95 95
 		$data_input = array();
96
-		foreach($di as $elem) {
96
+		foreach ($di as $elem) {
97 97
 			$letter = $elem[0];
98 98
 			if (array_key_exists($letter, $data_input)) {
99
-				throw new Exception('Duplicate field in OCRA suite data input: ' . var_export($elem, TRUE));
99
+				throw new Exception('Duplicate field in OCRA suite data input: '.var_export($elem, TRUE));
100 100
 			}
101 101
 			$data_input[$letter] = 1;
102 102
 
@@ -108,13 +108,13 @@  discard block
 block discarded – undo
108 108
 				} elseif (preg_match('/^Q([AHN])(\d+)$/', $elem, $match)) {
109 109
 					$q_len = intval($match[2]);
110 110
 					if ($q_len < 4 || $q_len > 64) {
111
-						throw new Exception('Invalid OCRA suite data input question length: ' . var_export($q_len, TRUE));
111
+						throw new Exception('Invalid OCRA suite data input question length: '.var_export($q_len, TRUE));
112 112
 					}
113 113
 					$this->Q = TRUE;
114 114
 					$this->QType = $match[1];
115 115
 					$this->QLength = $q_len;
116 116
 				} else {
117
-					throw new Exception('Invalid OCRA suite data input question: ' . var_export($elem, TRUE));
117
+					throw new Exception('Invalid OCRA suite data input question: '.var_export($elem, TRUE));
118 118
 				}
119 119
 			} elseif ($letter === 'P') {
120 120
 				if (strlen($elem) == 1) {
@@ -122,7 +122,7 @@  discard block
 block discarded – undo
122 122
 				} else {
123 123
 					$p_algo = substr($elem, 1);
124 124
 					if (!array_key_exists($p_algo, $this->supportedHashFunctions)) {
125
-						throw new Exception('Unsupported OCRA suite PIN hash function: ' . var_export($elem, TRUE));
125
+						throw new Exception('Unsupported OCRA suite PIN hash function: '.var_export($elem, TRUE));
126 126
 					}
127 127
 					$this->P = TRUE;
128 128
 					$this->PType = $p_algo;
@@ -134,13 +134,13 @@  discard block
 block discarded – undo
134 134
 				} elseif (preg_match('/^S(\d+)$/', $elem, $match)) {
135 135
 					$s_len = intval($match[1]);
136 136
 					if ($s_len <= 0 || $s_len > 512) {
137
-						throw new Exception('Invalid OCRA suite data input session information length: ' . var_export($s_len, TRUE));
137
+						throw new Exception('Invalid OCRA suite data input session information length: '.var_export($s_len, TRUE));
138 138
 					}
139 139
 
140 140
 					$this->S = TRUE;
141 141
 					$this->SLength = $s_len;
142 142
 				} else {
143
-					throw new Exception('Invalid OCRA suite data input session information length: ' . var_export($elem, TRUE));
143
+					throw new Exception('Invalid OCRA suite data input session information length: '.var_export($elem, TRUE));
144 144
 				}
145 145
 			} elseif ($letter === 'T') {
146 146
 				if (strlen($elem) == 1) {
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
 					preg_match_all('/(\d+)([HMS])/', $elem, $match);
150 150
 
151 151
 					if (count($match[1]) !== count(array_unique($match[2]))) {
152
-						throw new Exception('Duplicate definitions in OCRA suite data input timestamp: ' . var_export($elem, TRUE));
152
+						throw new Exception('Duplicate definitions in OCRA suite data input timestamp: '.var_export($elem, TRUE));
153 153
 					}
154 154
 
155 155
 					$length = 0;
@@ -157,21 +157,21 @@  discard block
 block discarded – undo
157 157
 						$length += intval($match[1][$i]) * $this->TPeriods[$match[2][$i]];
158 158
 					}
159 159
 					if ($length <= 0) {
160
-						throw new Exception('Invalid OCRA suite data input timestamp: ' . var_export($elem, TRUE));
160
+						throw new Exception('Invalid OCRA suite data input timestamp: '.var_export($elem, TRUE));
161 161
 					}
162 162
 
163 163
 					$this->T = TRUE;
164 164
 					$this->TLength = $length;
165 165
 				} else {
166
-					throw new Exception('Invalid OCRA suite data input timestamp: ' . var_export($elem, TRUE));
166
+					throw new Exception('Invalid OCRA suite data input timestamp: '.var_export($elem, TRUE));
167 167
 				}
168 168
 			} else {
169
-				throw new Exception('Unsupported OCRA suite data input field: ' . var_export($elem, TRUE));
169
+				throw new Exception('Unsupported OCRA suite data input field: '.var_export($elem, TRUE));
170 170
 			}
171 171
 		}
172 172
 
173 173
 		if (!$this->Q) {
174
-			throw new Exception('OCRA suite data input question not defined: ' . var_export($s[2], TRUE));
174
+			throw new Exception('OCRA suite data input question not defined: '.var_export($s[2], TRUE));
175 175
 		}
176 176
 	}
177 177
 
@@ -181,7 +181,7 @@  discard block
 block discarded – undo
181 181
 
182 182
 		$bytes = self::generateRandomBytes($q_length);
183 183
 
184
-		switch($q_type) {
184
+		switch ($q_type) {
185 185
 			case 'A':
186 186
 				$challenge = base64_encode($bytes);
187 187
 				$tr = implode("", unpack('H*', $bytes));
@@ -194,7 +194,7 @@  discard block
 block discarded – undo
194 194
 				$challenge = implode("", unpack('N*', $bytes));
195 195
 				break;
196 196
 			default:
197
-				throw new Exception('Unsupported OCRASuite challenge type: ' . var_export($q_type, TRUE));
197
+				throw new Exception('Unsupported OCRASuite challenge type: '.var_export($q_type, TRUE));
198 198
 				break;
199 199
 		}
200 200
 
@@ -206,7 +206,7 @@  discard block
 block discarded – undo
206 206
 
207 207
 	public function generateSessionInformation() {
208 208
 		if (!$this->S) {
209
-			throw new Exception('Session information not defined in OCRASuite: ' . var_export($this->OCRASuite, TRUE));
209
+			throw new Exception('Session information not defined in OCRASuite: '.var_export($this->OCRASuite, TRUE));
210 210
 		}
211 211
 
212 212
 		$s_length = $this->SLength;
@@ -228,7 +228,7 @@  discard block
 block discarded – undo
228 228
 
229 229
 		/* Use mt_rand to generate $length random bytes. */
230 230
 		$data = '';
231
-		for($i = 0; $i < $length; $i++) {
231
+		for ($i = 0; $i < $length; $i++) {
232 232
 			$data .= chr(mt_rand(0, 255));
233 233
 		}
234 234
 
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
 			return openssl_random_pseudo_bytes($length);
247 247
 		}
248 248
 
249
-		if($fp === NULL) {
249
+		if ($fp === NULL) {
250 250
 			if (@file_exists('/dev/urandom')) {
251 251
 				$fp = @fopen('/dev/urandom', 'rb');
252 252
 			} else {
@@ -254,17 +254,17 @@  discard block
 block discarded – undo
254 254
 			}
255 255
 		}
256 256
 
257
-		if($fp !== FALSE) {
257
+		if ($fp !== FALSE) {
258 258
 			/* Read random bytes from /dev/urandom. */
259 259
 			$data = fread($fp, $length);
260
-			if($data === FALSE) {
260
+			if ($data === FALSE) {
261 261
 				throw new Exception('Error reading random data.');
262 262
 			}
263
-			if(strlen($data) != $length) {
263
+			if (strlen($data) != $length) {
264 264
 				if ($fallback) {
265 265
 					$data = self::generateRandomBytesMTrand($length);
266 266
 				} else {
267
-					throw new Exception('Did not get requested number of bytes from random source. Requested (' . $length . ') got (' . strlen($data) . ')');
267
+					throw new Exception('Did not get requested number of bytes from random source. Requested ('.$length.') got ('.strlen($data).')');
268 268
 				}
269 269
 			}
270 270
 		} else {
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
 			$result &= ($s1[$i] == $s2[$i]);
291 291
 		}
292 292
 
293
-		return (boolean)$result;
293
+		return (boolean) $result;
294 294
 	}
295 295
 
296 296
 }
Please login to merge, or discard this patch.
library/tiqr/OATH/OCRATest.php 1 patch
Spacing   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-require_once(realpath(dirname(__FILE__) . '/OCRA.php'));
3
+require_once(realpath(dirname(__FILE__).'/OCRA.php'));
4 4
 
5 5
 class OATH_OCRATest extends PHPUnit_Framework_TestCase {
6 6
 
@@ -39,16 +39,16 @@  discard block
 block discarded – undo
39 39
 				'ocrasuite' => 'OCRA-1:HOTP-SHA1-6:QN08',
40 40
 				'key' => $key20,
41 41
 				'vectors' => array(
42
-					array('params' => array( 'Q' => '00000000' ), 'result' => '237653' ),
43
-					array('params' => array( 'Q' => '11111111' ), 'result' => '243178' ),
44
-					array('params' => array( 'Q' => '22222222' ), 'result' => '653583' ),
45
-					array('params' => array( 'Q' => '33333333' ), 'result' => '740991' ),
46
-					array('params' => array( 'Q' => '44444444' ), 'result' => '608993' ),
47
-					array('params' => array( 'Q' => '55555555' ), 'result' => '388898' ),
48
-					array('params' => array( 'Q' => '66666666' ), 'result' => '816933' ),
49
-					array('params' => array( 'Q' => '77777777' ), 'result' => '224598' ),
50
-					array('params' => array( 'Q' => '88888888' ), 'result' => '750600' ),
51
-					array('params' => array( 'Q' => '99999999' ), 'result' => '294470' ),
42
+					array('params' => array('Q' => '00000000'), 'result' => '237653'),
43
+					array('params' => array('Q' => '11111111'), 'result' => '243178'),
44
+					array('params' => array('Q' => '22222222'), 'result' => '653583'),
45
+					array('params' => array('Q' => '33333333'), 'result' => '740991'),
46
+					array('params' => array('Q' => '44444444'), 'result' => '608993'),
47
+					array('params' => array('Q' => '55555555'), 'result' => '388898'),
48
+					array('params' => array('Q' => '66666666'), 'result' => '816933'),
49
+					array('params' => array('Q' => '77777777'), 'result' => '224598'),
50
+					array('params' => array('Q' => '88888888'), 'result' => '750600'),
51
+					array('params' => array('Q' => '99999999'), 'result' => '294470'),
52 52
 				)
53 53
 			),
54 54
 			array(
@@ -56,16 +56,16 @@  discard block
 block discarded – undo
56 56
 				'key' => $key32,
57 57
 				'pin_sha1' => $pin_sha1,
58 58
 				'vectors' => array(
59
-					array('params' => array( 'C' => 0, 'Q' => '12345678' ), 'result' => '65347737' ),
60
-					array('params' => array( 'C' => 1, 'Q' => '12345678' ), 'result' => '86775851' ),
61
-					array('params' => array( 'C' => 2, 'Q' => '12345678' ), 'result' => '78192410' ),
62
-					array('params' => array( 'C' => 3, 'Q' => '12345678' ), 'result' => '71565254' ),
63
-					array('params' => array( 'C' => 4, 'Q' => '12345678' ), 'result' => '10104329' ),
64
-					array('params' => array( 'C' => 5, 'Q' => '12345678' ), 'result' => '65983500' ),
65
-					array('params' => array( 'C' => 6, 'Q' => '12345678' ), 'result' => '70069104' ),
66
-					array('params' => array( 'C' => 7, 'Q' => '12345678' ), 'result' => '91771096' ),
67
-					array('params' => array( 'C' => 8, 'Q' => '12345678' ), 'result' => '75011558' ),
68
-					array('params' => array( 'C' => 9, 'Q' => '12345678' ), 'result' => '08522129' ),
59
+					array('params' => array('C' => 0, 'Q' => '12345678'), 'result' => '65347737'),
60
+					array('params' => array('C' => 1, 'Q' => '12345678'), 'result' => '86775851'),
61
+					array('params' => array('C' => 2, 'Q' => '12345678'), 'result' => '78192410'),
62
+					array('params' => array('C' => 3, 'Q' => '12345678'), 'result' => '71565254'),
63
+					array('params' => array('C' => 4, 'Q' => '12345678'), 'result' => '10104329'),
64
+					array('params' => array('C' => 5, 'Q' => '12345678'), 'result' => '65983500'),
65
+					array('params' => array('C' => 6, 'Q' => '12345678'), 'result' => '70069104'),
66
+					array('params' => array('C' => 7, 'Q' => '12345678'), 'result' => '91771096'),
67
+					array('params' => array('C' => 8, 'Q' => '12345678'), 'result' => '75011558'),
68
+					array('params' => array('C' => 9, 'Q' => '12345678'), 'result' => '08522129'),
69 69
 				)
70 70
 			),
71 71
 			array(
@@ -73,47 +73,47 @@  discard block
 block discarded – undo
73 73
 				'key' => $key32,
74 74
 				'pin_sha1' => $pin_sha1,
75 75
 				'vectors' => array(
76
-					array('params' => array( 'Q' => '00000000' ), 'result' => '83238735' ),
77
-					array('params' => array( 'Q' => '11111111' ), 'result' => '01501458' ),
78
-					array('params' => array( 'Q' => '22222222' ), 'result' => '17957585' ),
79
-					array('params' => array( 'Q' => '33333333' ), 'result' => '86776967' ),
80
-					array('params' => array( 'Q' => '44444444' ), 'result' => '86807031' ),
76
+					array('params' => array('Q' => '00000000'), 'result' => '83238735'),
77
+					array('params' => array('Q' => '11111111'), 'result' => '01501458'),
78
+					array('params' => array('Q' => '22222222'), 'result' => '17957585'),
79
+					array('params' => array('Q' => '33333333'), 'result' => '86776967'),
80
+					array('params' => array('Q' => '44444444'), 'result' => '86807031'),
81 81
 				)
82 82
 			),
83 83
 			array(
84 84
 				'ocrasuite' => 'OCRA-1:HOTP-SHA512-8:C-QN08',
85 85
 				'key' => $key64,
86 86
 				'vectors' => array(
87
-					array('params' => array( 'C' => '00000', 'Q' => '00000000' ), 'result' => '07016083' ),
88
-					array('params' => array( 'C' => '00001', 'Q' => '11111111' ), 'result' => '63947962' ),
89
-					array('params' => array( 'C' => '00002', 'Q' => '22222222' ), 'result' => '70123924' ),
90
-					array('params' => array( 'C' => '00003', 'Q' => '33333333' ), 'result' => '25341727' ),
91
-					array('params' => array( 'C' => '00004', 'Q' => '44444444' ), 'result' => '33203315' ),
92
-					array('params' => array( 'C' => '00005', 'Q' => '55555555' ), 'result' => '34205738' ),
93
-					array('params' => array( 'C' => '00006', 'Q' => '66666666' ), 'result' => '44343969' ),
94
-					array('params' => array( 'C' => '00007', 'Q' => '77777777' ), 'result' => '51946085' ),
95
-					array('params' => array( 'C' => '00008', 'Q' => '88888888' ), 'result' => '20403879' ),
96
-					array('params' => array( 'C' => '00009', 'Q' => '99999999' ), 'result' => '31409299' ),
87
+					array('params' => array('C' => '00000', 'Q' => '00000000'), 'result' => '07016083'),
88
+					array('params' => array('C' => '00001', 'Q' => '11111111'), 'result' => '63947962'),
89
+					array('params' => array('C' => '00002', 'Q' => '22222222'), 'result' => '70123924'),
90
+					array('params' => array('C' => '00003', 'Q' => '33333333'), 'result' => '25341727'),
91
+					array('params' => array('C' => '00004', 'Q' => '44444444'), 'result' => '33203315'),
92
+					array('params' => array('C' => '00005', 'Q' => '55555555'), 'result' => '34205738'),
93
+					array('params' => array('C' => '00006', 'Q' => '66666666'), 'result' => '44343969'),
94
+					array('params' => array('C' => '00007', 'Q' => '77777777'), 'result' => '51946085'),
95
+					array('params' => array('C' => '00008', 'Q' => '88888888'), 'result' => '20403879'),
96
+					array('params' => array('C' => '00009', 'Q' => '99999999'), 'result' => '31409299'),
97 97
 				)
98 98
 			),
99 99
 			array(
100 100
 				'ocrasuite' => 'OCRA-1:HOTP-SHA512-8:QN08-T1M',
101 101
 				'key' => $key64,
102 102
 				'vectors' => array(
103
-					array('params' => array( 'Q' => '00000000', 'T' => intval('132d0b6', 16) ), 'result' => '95209754' ),
104
-					array('params' => array( 'Q' => '11111111', 'T' => intval('132d0b6', 16) ), 'result' => '55907591' ),
105
-					array('params' => array( 'Q' => '22222222', 'T' => intval('132d0b6', 16) ), 'result' => '22048402' ),
106
-					array('params' => array( 'Q' => '33333333', 'T' => intval('132d0b6', 16) ), 'result' => '24218844' ),
107
-					array('params' => array( 'Q' => '44444444', 'T' => intval('132d0b6', 16) ), 'result' => '36209546' ),
103
+					array('params' => array('Q' => '00000000', 'T' => intval('132d0b6', 16)), 'result' => '95209754'),
104
+					array('params' => array('Q' => '11111111', 'T' => intval('132d0b6', 16)), 'result' => '55907591'),
105
+					array('params' => array('Q' => '22222222', 'T' => intval('132d0b6', 16)), 'result' => '22048402'),
106
+					array('params' => array('Q' => '33333333', 'T' => intval('132d0b6', 16)), 'result' => '24218844'),
107
+					array('params' => array('Q' => '44444444', 'T' => intval('132d0b6', 16)), 'result' => '36209546'),
108 108
 				)
109 109
 			),
110 110
 		);
111 111
 
112 112
 		$data = array();
113 113
 
114
-		foreach($tests as $test) {
114
+		foreach ($tests as $test) {
115 115
 			$ocrasuite = $test['ocrasuite'];
116
-			foreach($test['vectors'] as $vector) {
116
+			foreach ($test['vectors'] as $vector) {
117 117
 				$datainput = $vector['params'];
118 118
 				if (isset($test['pin'])) {
119 119
 					$datainput['P'] = $test['pin'];
Please login to merge, or discard this patch.