@@ -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 }
@@ -96,9 +97,10 @@ static const int nid_list[] = {
9697static unsigned short
9798ngx_ssl_ja3_nid_to_cid (int nid )
9899{
100+ unsigned char i ;
99101 unsigned char sz = (sizeof (nid_list ) / sizeof (nid_list [0 ]));
100102
101- for (unsigned char i = 0 ; i < sz ; i ++ ) {
103+ for (i = 0 ; i < sz ; i ++ ) {
102104 if (nid == nid_list [i ]) {
103105 return i + 1 ;
104106 }
@@ -125,6 +127,7 @@ ngx_ssj_ja3_num_digits(int n)
125127static void
126128ngx_ssl_ja3_detail_print (ngx_pool_t * pool , ngx_ssl_ja3_t * ja3 )
127129{
130+ size_t i ;
128131 /* Version */
129132 ngx_log_debug1 (NGX_LOG_DEBUG_EVENT ,
130133 pool -> log , 0 , "ssl_ja3: Version: %d\n" , ja3 -> version );
@@ -134,7 +137,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
134137 pool -> log , 0 , "ssl_ja3: ciphers: length: %d\n" ,
135138 ja3 -> ciphers_sz );
136139
137- for (size_t i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
140+ for (i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
138141 ngx_log_debug2 (NGX_LOG_DEBUG_EVENT ,
139142 pool -> log , 0 , "ssl_ja3: | cipher: 0x%04uxD -> %d" ,
140143 ja3 -> ciphers [i ],
@@ -147,7 +150,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
147150 pool -> log , 0 , "ssl_ja3: extensions: length: %d\n" ,
148151 ja3 -> extensions_sz );
149152
150- for (size_t i = 0 ; i < ja3 -> extensions_sz ; ++ i ) {
153+ for (i = 0 ; i < ja3 -> extensions_sz ; ++ i ) {
151154 ngx_log_debug2 (NGX_LOG_DEBUG_EVENT ,
152155 pool -> log , 0 , "ssl_ja3: | extension: 0x%04uxD -> %d" ,
153156 ja3 -> extensions [i ],
@@ -160,7 +163,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
160163 pool -> log , 0 , "ssl_ja3: curves: length: %d\n" ,
161164 ja3 -> curves_sz );
162165
163- for (size_t i = 0 ; i < ja3 -> curves_sz ; ++ i ) {
166+ for (i = 0 ; i < ja3 -> curves_sz ; ++ i ) {
164167 ngx_log_debug2 (NGX_LOG_DEBUG_EVENT ,
165168 pool -> log , 0 , "ssl_ja3: | curves: 0x%04uxD -> %d" ,
166169 ja3 -> curves [i ],
@@ -172,7 +175,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
172175 ngx_log_debug1 (NGX_LOG_DEBUG_EVENT ,
173176 pool -> log , 0 , "ssl_ja3: formats: length: %d\n" ,
174177 ja3 -> point_formats_sz );
175- for (size_t i = 0 ; i < ja3 -> point_formats_sz ; ++ i ) {
178+ for (i = 0 ; i < ja3 -> point_formats_sz ; ++ i ) {
176179 ngx_log_debug1 (NGX_LOG_DEBUG_EVENT ,
177180 pool -> log , 0 , "ssl_ja3: | format: %d" ,
178181 ja3 -> point_formats [i ]
@@ -185,6 +188,7 @@ ngx_ssl_ja3_detail_print(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3)
185188void
186189ngx_ssl_ja3_fp (ngx_pool_t * pool , ngx_ssl_ja3_t * ja3 , ngx_str_t * out )
187190{
191+ size_t i ;
188192 size_t len = 0 , cur = 0 ;
189193
190194 if (pool == NULL || ja3 == NULL || out == NULL ) {
@@ -195,31 +199,31 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
195199 ++ len ; /* ',' separator */
196200
197201 if (ja3 -> ciphers_sz ) {
198- for (size_t i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
202+ for (i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
199203 len += ngx_ssj_ja3_num_digits (ja3 -> ciphers [i ]); /* cipher [i] */
200204 }
201205 len += (ja3 -> ciphers_sz - 1 ); /* '-' separators */
202206 }
203207 ++ len ; /* ',' separator */
204208
205209 if (ja3 -> extensions_sz ) {
206- for (size_t i = 0 ; i < ja3 -> extensions_sz ; ++ i ) {
210+ for (i = 0 ; i < ja3 -> extensions_sz ; ++ i ) {
207211 len += ngx_ssj_ja3_num_digits (ja3 -> extensions [i ]); /* ext [i] */
208212 }
209213 len += (ja3 -> extensions_sz - 1 ); /* '-' separators */
210214 }
211215 ++ len ; /* ',' separator */
212216
213217 if (ja3 -> curves_sz ) {
214- for (size_t i = 0 ; i < ja3 -> curves_sz ; ++ i ) {
218+ for (i = 0 ; i < ja3 -> curves_sz ; ++ i ) {
215219 len += ngx_ssj_ja3_num_digits (ja3 -> curves [i ]); /* curves [i] */
216220 }
217221 len += (ja3 -> curves_sz - 1 ); /* '-' separators */
218222 }
219223 ++ len ; /* ',' separator */
220224
221225 if (ja3 -> point_formats_sz ) {
222- for (size_t i = 0 ; i < ja3 -> point_formats_sz ; ++ i ) {
226+ for (i = 0 ; i < ja3 -> point_formats_sz ; ++ i ) {
223227 len += ngx_ssj_ja3_num_digits (ja3 -> point_formats [i ]); /* fmt [i] */
224228 }
225229 len += (ja3 -> point_formats_sz - 1 ); /* '-' separators */
@@ -233,7 +237,7 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
233237 cur += len ;
234238
235239 if (ja3 -> ciphers_sz ) {
236- for (size_t i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
240+ for (i = 0 ; i < ja3 -> ciphers_sz ; ++ i ) {
237241 if (i > 0 ) {
238242 ngx_snprintf (out -> data + (cur ++ ), 1 , "-" );
239243 }
@@ -245,7 +249,7 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
245249 ngx_snprintf (out -> data + (cur ++ ), 1 , "," );
246250
247251 if (ja3 -> extensions_sz ) {
248- for (size_t i = 0 ; i < ja3 -> extensions_sz ; i ++ ) {
252+ for (i = 0 ; i < ja3 -> extensions_sz ; i ++ ) {
249253 if (i > 0 ) {
250254 ngx_snprintf (out -> data + (cur ++ ), 1 , "-" );
251255 }
@@ -257,7 +261,7 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
257261 ngx_snprintf (out -> data + (cur ++ ), 1 , "," );
258262
259263 if (ja3 -> curves_sz ) {
260- for (size_t i = 0 ; i < ja3 -> curves_sz ; i ++ ) {
264+ for (i = 0 ; i < ja3 -> curves_sz ; i ++ ) {
261265 if (i > 0 ) {
262266 ngx_snprintf (out -> data + (cur ++ ), 1 , "-" );
263267 }
@@ -269,7 +273,7 @@ ngx_ssl_ja3_fp(ngx_pool_t *pool, ngx_ssl_ja3_t *ja3, ngx_str_t *out)
269273 ngx_snprintf (out -> data + (cur ++ ), 1 , "," );
270274
271275 if (ja3 -> point_formats_sz ) {
272- for (size_t i = 0 ; i < ja3 -> point_formats_sz ; i ++ ) {
276+ for (i = 0 ; i < ja3 -> point_formats_sz ; i ++ ) {
273277 if (i > 0 ) {
274278 ngx_snprintf (out -> data + (cur ++ ), 1 , "-" );
275279 }
297301ngx_ssl_ja3 (ngx_connection_t * c , ngx_pool_t * pool , ngx_ssl_ja3_t * ja3 ) {
298302
299303 SSL * ssl ;
304+ size_t i ;
300305 size_t len = 0 ;
301306 unsigned short us = 0 ;
302307
@@ -327,7 +332,7 @@ ngx_ssl_ja3(ngx_connection_t *c, ngx_pool_t *pool, ngx_ssl_ja3_t *ja3) {
327332 return NGX_DECLINED ;
328333 }
329334 /* Filter out GREASE extensions */
330- for (size_t i = 0 ; i < c -> ssl -> ciphers_sz ; ++ i ) {
335+ for (i = 0 ; i < c -> ssl -> ciphers_sz ; ++ i ) {
331336 us = ntohs (c -> ssl -> ciphers [i ]);
332337 if (! ngx_ssl_ja3_is_ext_greased (us )) {
333338 ja3 -> ciphers [ja3 -> ciphers_sz ++ ] = us ;
@@ -344,7 +349,7 @@ ngx_ssl_ja3(ngx_connection_t *c, ngx_pool_t *pool, ngx_ssl_ja3_t *ja3) {
344349 if (ja3 -> extensions == NULL ) {
345350 return NGX_DECLINED ;
346351 }
347- for (size_t i = 0 ; i < c -> ssl -> extensions_size ; ++ i ) {
352+ for (i = 0 ; i < c -> ssl -> extensions_size ; ++ i ) {
348353 if (! ngx_ssl_ja3_is_ext_greased (c -> ssl -> extensions [i ])) {
349354 ja3 -> extensions [ja3 -> extensions_sz ++ ] = c -> ssl -> extensions [i ];
350355 }
@@ -360,7 +365,7 @@ ngx_ssl_ja3(ngx_connection_t *c, ngx_pool_t *pool, ngx_ssl_ja3_t *ja3) {
360365 if (ja3 -> curves == NULL ) {
361366 return NGX_DECLINED ;
362367 }
363- for (size_t i = 0 ; i < c -> ssl -> curves_sz ; i ++ ) {
368+ for (i = 0 ; i < c -> ssl -> curves_sz ; i ++ ) {
364369 us = ntohs (c -> ssl -> curves [i ]);
365370 if (! ngx_ssl_ja3_is_ext_greased (us )) {
366371 ja3 -> curves [ja3 -> curves_sz ++ ] = ngx_ssl_ja3_nid_to_cid (c -> ssl -> curves [i ]);
0 commit comments