proxyscan_addscantype(STYPE_DIRECT_IRC, 6668);
proxyscan_addscantype(STYPE_DIRECT_IRC, 6669);
proxyscan_addscantype(STYPE_DIRECT_IRC, 6670);
+ proxyscan_addscantype(STYPE_ROUTER, 3128);
/* Schedule saves */
schedulerecurring(time(NULL)+3600,0,3600,&dumpcachehosts,NULL);
return;
}
+ /* Do nothing */
+ break;
+
+ case STYPE_ROUTER:
+ sprintf(buf,"GET /nonexistent HTTP/1.0\r\n\r\n");
+ if ((write(fd,buf,strlen(buf)))<strlen(buf)) {
+ killsock(sp, SOUTCOME_CLOSED);
+ return;
+ }
+
/* Do nothing */
break;
}
char *magicstring;
int magicstringlength;
- if(sp->type != STYPE_DIRECT_IRC) {
- magicstring = MAGICSTRING;
- magicstringlength = MAGICSTRINGLENGTH;
- } else {
+ if(sp->type == STYPE_DIRECT_IRC) {
magicstring = MAGICIRCSTRING;
magicstringlength = MAGICIRCSTRINGLENGTH;
+ } else if(sp->type == STYPE_ROUTER) {
+ magicstring = MAGICROUTERSTRING;
+ magicstringlength = MAGICROUTERSTRINGLENGTH;
+ } else {
+ magicstring = MAGICSTRING;
+ magicstringlength = MAGICSTRINGLENGTH;
}
for (i=0;i<sp->bytesread - magicstringlength;i++) {
#define MAGICIRCSTRING ".quakenet.org 451 * :Register first.\r\n"
#define MAGICIRCSTRINGLENGTH 38
+#define MAGICROUTERSTRING "\r\nServer: Mikrotik HttpProxy\r\n"
+#define MAGICROUTERSTRINGLENGTH 30
+
#define PSCAN_MAXSCANS 50
#define PSCAN_READBUFSIZE (MAGICSTRINGLENGTH * 2)
#define STYPE_CISCO 4
#define STYPE_DIRECT 5 /* not sure what this is so I'm leaving it alone */
#define STYPE_DIRECT_IRC 6
+#define STYPE_ROUTER 7
#define SOUTCOME_INPROGRESS 0
#define SOUTCOME_OPEN 1