#define WANT_ACCESS_CONTROL
#endif
+#define LOG_TO_STDERR( ... ) fprintf( stderr, __VA_ARGS__ )
+
/* To always have space for error messages ;) */
static char static_inbuf[8192];
if( byte_diff( data, 4, "sync") ) HTTPERROR_404;
if( !h->blessed ) HTTPERROR_403_IP;
+LOG_TO_STDERR( "sync: %d.%d.%d.%d\n", h->ip[0], h->ip[1], h->ip[2], h->ip[3] );
+
mode = SYNC_OUT;
scanon = 1;
switch( mode)
{
case STATS_DMEM:
+LOG_TO_STDERR( "stats: %d.%d.%d.%d - mode: dmem", h->ip[0], h->ip[1], h->ip[2], h->ip[3] );
+
if( !( reply_size = return_memstat_for_tracker( &reply ) ) ) HTTPERROR_500;
return sendmallocdata( s, reply, reply_size );
break;
case STATS_SLASH24S:
{
+LOG_TO_STDERR( "stats: %d.%d.%d.%d - mode: s24s", h->ip[0], h->ip[1], h->ip[2], h->ip[3] );
+
ot_dword diff; struct timeval tv1, tv2; gettimeofday( &tv1, NULL );
if( !( reply_size = return_stats_for_slash24s( SUCCESS_HTTP_HEADER_LENGTH + static_outbuf, 25, 16 ) ) ) HTTPERROR_500;
gettimeofday( &tv2, NULL ); diff = ( tv2.tv_sec - tv1.tv_sec ) * 1000000 + tv2.tv_usec - tv1.tv_usec;
}
case STATS_SLASH24S_OLD:
{
+LOG_TO_STDERR( "stats: %d.%d.%d.%d - mode: s24s old", h->ip[0], h->ip[1], h->ip[2], h->ip[3] );
+
ot_dword diff; struct timeval tv1, tv2; gettimeofday( &tv1, NULL );
if( !( reply_size = return_stats_for_slash24s_old( SUCCESS_HTTP_HEADER_LENGTH + static_outbuf, 25, 16 ) ) ) HTTPERROR_500;
gettimeofday( &tv2, NULL ); diff = ( tv2.tv_sec - tv1.tv_sec ) * 1000000 + tv2.tv_usec - tv1.tv_usec;
/* Scanned whole query string, no hash means full scrape... you might want to limit that */
if( !hash ) {
+LOG_TO_STDERR( "scrp: %d.%d.%d.%d - FULL SCRAPE", h->ip[0], h->ip[1], h->ip[2], h->ip[3] );
+
if( !( reply_size = return_fullscrape_for_tracker( &reply ) ) ) HTTPERROR_500;
ot_overall_tcp_successfulannounces++;
return sendmallocdata( s, reply, reply_size );