]> git.ipfire.org Git - thirdparty/opentracker.git/commitdiff
Last fix was not enough to get rid off those 1600er buggers.
authorerdgeist <>
Sun, 21 Oct 2007 05:26:55 +0000 (05:26 +0000)
committererdgeist <>
Sun, 21 Oct 2007 05:26:55 +0000 (05:26 +0000)
opentracker.c

index 2339f660ea11f355c07da12840778efa9e5e1f4b..d4cfea4112bc0d6df495291bc9c1ca2e264ebfe7 100644 (file)
@@ -409,7 +409,7 @@ SCRAPE_WORKAROUND:
       switch( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_PARAM ) ) {
       case -2: scanon = 0; break;   /* TERMINATOR */
       case -1:
-        if( scrape_count )
+      if( scrape_count )
           goto UTORRENT1600_WORKAROUND;
         HTTPERROR_400_PARAM; /* PARSE ERROR */
       default: scan_urlencoded_skipvalue( &c ); break;
@@ -419,7 +419,7 @@ SCRAPE_WORKAROUND:
           continue;
         }
         /* ignore this, when we have less than 20 bytes */
-        if( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_VALUE ) != 20 ) HTTPERROR_400_PARAM;
+        if( scan_urlencoded_query( &c, data = c, SCAN_SEARCHPATH_VALUE ) < sizeof(ot_hash) ) HTTPERROR_400_PARAM;
         if( scrape_count < OT_MAXMULTISCRAPE_COUNT )
           memmove( multiscrape_buf + scrape_count++, data, sizeof(ot_hash) );
         break;