summaryrefslogtreecommitdiff
path: root/opentracker.c
diff options
context:
space:
mode:
authorerdgeist <>2007-10-18 23:33:07 +0000
committererdgeist <>2007-10-18 23:33:07 +0000
commitb86e6382a1d496cdb2acb0b85732c644de3add11 (patch)
treef9a169f692b59201cee2fa73cd993a90f83e902d /opentracker.c
parentdba3bb3ae7957773f9799a14d6f7b47f08b7c03b (diff)
Save a lot of work when skipping through uninteresting http request parameters
Diffstat (limited to 'opentracker.c')
-rw-r--r--opentracker.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/opentracker.c b/opentracker.c
index b77773d..380168e 100644
--- a/opentracker.c
+++ b/opentracker.c
@@ -237,10 +237,10 @@ LOG_TO_STDERR( "sync: %d.%d.%d.%d\n", h->ip[0], h->ip[1], h->ip[2], h->ip[3] );
237 switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) { 237 switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) {
238 case -2: scanon = 0; break; /* TERMINATOR */ 238 case -2: scanon = 0; break; /* TERMINATOR */
239 case -1: HTTPERROR_400_PARAM; /* PARSE ERROR */ 239 case -1: HTTPERROR_400_PARAM; /* PARSE ERROR */
240 default: scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); break; 240 default: scan_urlencoded_skipvalue( &c ); break;
241 case 9: 241 case 9:
242 if(byte_diff(data,9,"changeset")) { 242 if(byte_diff(data,9,"changeset")) {
243 scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); 243 scan_urlencoded_skipvalue( &c );
244 continue; 244 continue;
245 } 245 }
246 /* ignore this, when we dont at least see "d4:syncdee" */ 246 /* ignore this, when we dont at least see "d4:syncdee" */
@@ -273,10 +273,10 @@ LOG_TO_STDERR( "sync: %d.%d.%d.%d\n", h->ip[0], h->ip[1], h->ip[2], h->ip[3] );
273 switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) { 273 switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) {
274 case -2: scanon = 0; break; /* TERMINATOR */ 274 case -2: scanon = 0; break; /* TERMINATOR */
275 case -1: HTTPERROR_400_PARAM; /* PARSE ERROR */ 275 case -1: HTTPERROR_400_PARAM; /* PARSE ERROR */
276 default: scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); break; 276 default: scan_urlencoded_skipvalue( &c ); break;
277 case 4: 277 case 4:
278 if( byte_diff(data,4,"mode")) { 278 if( byte_diff(data,4,"mode")) {
279 scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); 279 scan_urlencoded_skipvalue( &c );
280 continue; 280 continue;
281 } 281 }
282 if( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_VALUE ) != 4 ) HTTPERROR_400_PARAM; 282 if( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_VALUE ) != 4 ) HTTPERROR_400_PARAM;
@@ -362,10 +362,10 @@ SCRAPE_WORKAROUND:
362 switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) { 362 switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) {
363 case -2: scanon = 0; break; /* TERMINATOR */ 363 case -2: scanon = 0; break; /* TERMINATOR */
364 case -1: HTTPERROR_400_PARAM; /* PARSE ERROR */ 364 case -1: HTTPERROR_400_PARAM; /* PARSE ERROR */
365 default: scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); break; 365 default: scan_urlencoded_skipvalue( &c ); break;
366 case 9: 366 case 9:
367 if(byte_diff(data,9,"info_hash")) { 367 if(byte_diff(data,9,"info_hash")) {
368 scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); 368 scan_urlencoded_skipvalue( &c );
369 continue; 369 continue;
370 } 370 }
371 /* ignore this, when we have less than 20 bytes */ 371 /* ignore this, when we have less than 20 bytes */
@@ -407,7 +407,7 @@ ANNOUNCE_WORKAROUND:
407 switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) { 407 switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) {
408 case -2: scanon = 0; break; /* TERMINATOR */ 408 case -2: scanon = 0; break; /* TERMINATOR */
409 case -1: HTTPERROR_400_PARAM; /* PARSE ERROR */ 409 case -1: HTTPERROR_400_PARAM; /* PARSE ERROR */
410 default: scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); break; 410 default: scan_urlencoded_skipvalue( &c ); break;
411#ifdef WANT_IP_FROM_QUERY_STRING 411#ifdef WANT_IP_FROM_QUERY_STRING
412 case 2: 412 case 2:
413 if(!byte_diff(data,2,"ip")) { 413 if(!byte_diff(data,2,"ip")) {
@@ -416,7 +416,7 @@ ANNOUNCE_WORKAROUND:
416 if( ( len <= 0 ) || scan_fixed_ip( data, len, ip ) ) HTTPERROR_400_PARAM; 416 if( ( len <= 0 ) || scan_fixed_ip( data, len, ip ) ) HTTPERROR_400_PARAM;
417 OT_SETIP( &peer, ip ); 417 OT_SETIP( &peer, ip );
418 } else 418 } else
419 scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); 419 scan_urlencoded_skipvalue( &c );
420 break; 420 break;
421#endif 421#endif
422 case 4: 422 case 4:
@@ -429,11 +429,11 @@ ANNOUNCE_WORKAROUND:
429 if( scan_fixed_int( data, len, &tmp ) ) tmp = 0; 429 if( scan_fixed_int( data, len, &tmp ) ) tmp = 0;
430 if( !tmp ) OT_FLAG( &peer ) |= PEER_FLAG_SEEDING; 430 if( !tmp ) OT_FLAG( &peer ) |= PEER_FLAG_SEEDING;
431 } else 431 } else
432 scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); 432 scan_urlencoded_skipvalue( &c );
433 break; 433 break;
434 case 5: 434 case 5:
435 if( byte_diff( data, 5, "event" ) ) 435 if( byte_diff( data, 5, "event" ) )
436 scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); 436 scan_urlencoded_skipvalue( &c );
437 else switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_VALUE ) ) { 437 else switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_VALUE ) ) {
438 case -1: 438 case -1:
439 HTTPERROR_400_PARAM; 439 HTTPERROR_400_PARAM;
@@ -456,11 +456,11 @@ ANNOUNCE_WORKAROUND:
456 if( ( len <= 0 ) || scan_fixed_int( data, len, &tmp ) ) HTTPERROR_400_PARAM; 456 if( ( len <= 0 ) || scan_fixed_int( data, len, &tmp ) ) HTTPERROR_400_PARAM;
457 if( !tmp ) HTTPERROR_400_COMPACT; 457 if( !tmp ) HTTPERROR_400_COMPACT;
458 } else 458 } else
459 scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); 459 scan_urlencoded_skipvalue( &c );
460 break; 460 break;
461 case 9: 461 case 9:
462 if(byte_diff(data,9,"info_hash")) { 462 if(byte_diff(data,9,"info_hash")) {
463 scan_urlencoded_query( &c, NULL, SCAN_SEARCHPATH_VALUE ); 463 scan_urlencoded_skipvalue( &c );
464 continue; 464 continue;
465 } 465 }
466 /* ignore this, when we have less than 20 bytes */ 466 /* ignore this, when we have less than 20 bytes */