@@ -50,7 +50,8 @@ static const unsigned short GREASE[] = {
5050static int
5151ngx_ssl_ja3_is_ext_greased (int id )
5252{
53- for (size_t i = 0 ; i < (sizeof (GREASE ) / sizeof (GREASE [0 ])); ++ i ) {
53+ size_t i ;
54+ for (i = 0 ; i < (sizeof (GREASE ) / sizeof (GREASE [0 ])); ++ i ) {
5455 if (id == GREASE [i ]) {
5556 return 1 ;
5657 }
@@ -95,9 +96,10 @@ static const int nid_list[] = {
9596static unsigned short
9697ngx_ssl_ja3_nid_to_cid (int nid )
9798{
99+ unsigned char i ;
98100 unsigned char sz = (sizeof (nid_list ) / sizeof (nid_list [0 ]));
99101
100- for (unsigned char i = 0 ; i < sz ; i ++ ) {
102+ for (i = 0 ; i < sz ; i ++ ) {
101103 if (nid == nid_list [i ]) {
102104 return i + 1 ;
103105 }
@@ -124,6 +126,7 @@ ngx_ssj_ja3_num_digits(int n)
124126static void
125127ngx_ssl_ja3_detail_print (ngx_pool_t * pool , ngx_ssl_ja3_t * ja3 )
126128{
129+ size_t i ;
127130 /* Version */
128131 ngx_log_debug1 (NGX_LOG_DEBUG_EVENT ,
129132 pool -> log , 0 , "ssl_ja3: Version: %d\n" , ja3 -> version );
@@ -133,7 +136,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
133136 pool -> log , 0 , "ssl_ja3: ciphers: length: %d\n" ,
134137 ja3 -> ciphers_sz );
135138
136- for (size_t i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
139+ for (i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
137140 ngx_log_debug2 (NGX_LOG_DEBUG_EVENT ,
138141 pool -> log , 0 , "ssl_ja3: | cipher: 0x%04uxD -> %d" ,
139142 ja3 -> ciphers [i ],
@@ -146,7 +149,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
146149 pool -> log , 0 , "ssl_ja3: extensions: length: %d\n" ,
147150 ja3 -> extensions_sz );
148151
149- for (size_t i = 0 ; i < ja3 -> extensions_sz ; ++ i ) {
152+ for (i = 0 ; i < ja3 -> extensions_sz ; ++ i ) {
150153 ngx_log_debug2 (NGX_LOG_DEBUG_EVENT ,
151154 pool -> log , 0 , "ssl_ja3: | extension: 0x%04uxD -> %d" ,
152155 ja3 -> extensions [i ],
@@ -159,7 +162,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
159162 pool -> log , 0 , "ssl_ja3: curves: length: %d\n" ,
160163 ja3 -> curves_sz );
161164
162- for (size_t i = 0 ; i < ja3 -> curves_sz ; ++ i ) {
165+ for (i = 0 ; i < ja3 -> curves_sz ; ++ i ) {
163166 ngx_log_debug2 (NGX_LOG_DEBUG_EVENT ,
164167 pool -> log , 0 , "ssl_ja3: | curves: 0x%04uxD -> %d" ,
165168 ja3 -> curves [i ],
@@ -171,7 +174,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
171174 ngx_log_debug1 (NGX_LOG_DEBUG_EVENT ,
172175 pool -> log , 0 , "ssl_ja3: formats: length: %d\n" ,
173176 ja3 -> point_formats_sz );
174- for (size_t i = 0 ; i < ja3 -> point_formats_sz ; ++ i ) {
177+ for (i = 0 ; i < ja3 -> point_formats_sz ; ++ i ) {
175178 ngx_log_debug1 (NGX_LOG_DEBUG_EVENT ,
176179 pool -> log , 0 , "ssl_ja3: | format: %d" ,
177180 ja3 -> point_formats [i ]
@@ -184,6 +187,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
184187void
185188ngx_ssl_ja3_fp (ngx_pool_t * pool , ngx_ssl_ja3_t * ja3 , ngx_str_t * out )
186189{
190+ size_t i ;
187191 size_t len = 0 , cur = 0 ;
188192
189193 if (pool == NULL || ja3 == NULL || out == NULL ) {
@@ -194,31 +198,31 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
194198 ++ len ; /* ',' separator */
195199
196200 if (ja3 -> ciphers_sz ) {
197- for (size_t i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
201+ for (i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
198202 len += ngx_ssj_ja3_num_digits (ja3 -> ciphers [i ]); /* cipher [i] */
199203 }
200204 len += (ja3 -> ciphers_sz - 1 ); /* '-' separators */
201205 }
202206 ++ len ; /* ',' separator */
203207
204208 if (ja3 -> extensions_sz ) {
205- for (size_t i = 0 ; i < ja3 -> extensions_sz ; ++ i ) {
209+ for (i = 0 ; i < ja3 -> extensions_sz ; ++ i ) {
206210 len += ngx_ssj_ja3_num_digits (ja3 -> extensions [i ]); /* ext [i] */
207211 }
208212 len += (ja3 -> extensions_sz - 1 ); /* '-' separators */
209213 }
210214 ++ len ; /* ',' separator */
211215
212216 if (ja3 -> curves_sz ) {
213- for (size_t i = 0 ; i < ja3 -> curves_sz ; ++ i ) {
217+ for (i = 0 ; i < ja3 -> curves_sz ; ++ i ) {
214218 len += ngx_ssj_ja3_num_digits (ja3 -> curves [i ]); /* curves [i] */
215219 }
216220 len += (ja3 -> curves_sz - 1 ); /* '-' separators */
217221 }
218222 ++ len ; /* ',' separator */
219223
220224 if (ja3 -> point_formats_sz ) {
221- for (size_t i = 0 ; i < ja3 -> point_formats_sz ; ++ i ) {
225+ for (i = 0 ; i < ja3 -> point_formats_sz ; ++ i ) {
222226 len += ngx_ssj_ja3_num_digits (ja3 -> point_formats [i ]); /* fmt [i] */
223227 }
224228 len += (ja3 -> point_formats_sz - 1 ); /* '-' separators */
@@ -232,7 +236,7 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
232236 cur += len ;
233237
234238 if (ja3 -> ciphers_sz ) {
235- for (size_t i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
239+ for (i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
236240 if (i > 0 ) {
237241 ngx_snprintf (out -> data + (cur ++ ), 1 , "-" );
238242 }
@@ -244,7 +248,7 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
244248 ngx_snprintf (out -> data + (cur ++ ), 1 , "," );
245249
246250 if (ja3 -> extensions_sz ) {
247- for (size_t i = 0 ; i < ja3 -> extensions_sz ; i ++ ) {
251+ for (i = 0 ; i < ja3 -> extensions_sz ; i ++ ) {
248252 if (i > 0 ) {
249253 ngx_snprintf (out -> data + (cur ++ ), 1 , "-" );
250254 }
@@ -256,7 +260,7 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
256260 ngx_snprintf (out -> data + (cur ++ ), 1 , "," );
257261
258262 if (ja3 -> curves_sz ) {
259- for (size_t i = 0 ; i < ja3 -> curves_sz ; i ++ ) {
263+ for (i = 0 ; i < ja3 -> curves_sz ; i ++ ) {
260264 if (i > 0 ) {
261265 ngx_snprintf (out -> data + (cur ++ ), 1 , "-" );
262266 }
@@ -268,7 +272,7 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
268272 ngx_snprintf (out -> data + (cur ++ ), 1 , "," );
269273
270274 if (ja3 -> point_formats_sz ) {
271- for (size_t i = 0 ; i < ja3 -> point_formats_sz ; i ++ ) {
275+ for (i = 0 ; i < ja3 -> point_formats_sz ; i ++ ) {
272276 if (i > 0 ) {
273277 ngx_snprintf (out -> data + (cur ++ ), 1 , "-" );
274278 }
296300ngx_ssl_ja3 (ngx_connection_t * c , ngx_pool_t * pool , ngx_ssl_ja3_t * ja3 ) {
297301
298302 SSL * ssl ;
303+ size_t i ;
299304 size_t len = 0 ;
300305 unsigned short us = 0 ;
301306
@@ -326,7 +331,7 @@ ngx_ssl_ja3(ngx_connection_t *c, ngx_pool_t *pool, ngx_ssl_ja3_t *ja3) {
326331 return NGX_DECLINED ;
327332 }
328333 /* Filter out GREASE extensions */
329- for (size_t i = 0 ; i < c -> ssl -> ciphers_sz ; ++ i ) {
334+ for (i = 0 ; i < c -> ssl -> ciphers_sz ; ++ i ) {
330335 us = ntohs (c -> ssl -> ciphers [i ]);
331336 if (! ngx_ssl_ja3_is_ext_greased (us )) {
332337 ja3 -> ciphers [ja3 -> ciphers_sz ++ ] = us ;
@@ -343,7 +348,7 @@ ngx_ssl_ja3(ngx_connection_t *c, ngx_pool_t *pool, ngx_ssl_ja3_t *ja3) {
343348 if (ja3 -> extensions == NULL ) {
344349 return NGX_DECLINED ;
345350 }
346- for (size_t i = 0 ; i < c -> ssl -> extensions_size ; ++ i ) {
351+ for (i = 0 ; i < c -> ssl -> extensions_size ; ++ i ) {
347352 if (! ngx_ssl_ja3_is_ext_greased (c -> ssl -> extensions [i ])) {
348353 ja3 -> extensions [ja3 -> extensions_sz ++ ] = c -> ssl -> extensions [i ];
349354 }
@@ -359,7 +364,7 @@ ngx_ssl_ja3(ngx_connection_t *c, ngx_pool_t *pool, ngx_ssl_ja3_t *ja3) {
359364 if (ja3 -> curves == NULL ) {
360365 return NGX_DECLINED ;
361366 }
362- for (size_t i = 0 ; i < c -> ssl -> curves_sz ; i ++ ) {
367+ for (i = 0 ; i < c -> ssl -> curves_sz ; i ++ ) {
363368 us = ntohs (c -> ssl -> curves [i ]);
364369 if (! ngx_ssl_ja3_is_ext_greased (us )) {
365370 ja3 -> curves [ja3 -> curves_sz ++ ] = ngx_ssl_ja3_nid_to_cid (c -> ssl -> curves [i ]);
0 commit comments