diff for custom scanner protocols

winkey <[email protected]>
Newsgroups gmane.network.irc.bopm
Message-ID <[email protected]>
the aim of this was basicly to make it easy to add stuff like mindjail
without haveing to edit the sorce and recompile


bear with me i don't even know if i made the .diff file right ;-)


example conf entrys:


scanner {
	name= "mindjail";
	protocol = CUSTOM:3000;
	target_string="mindjail.zip";
	send_string = "";
};

user {
    mask = "*!*@*";
	scanner = "mindjail";
};

scanner {
	name= "me.mpg";
	protocol = CUSTOM:1483;
	target_string="Server: heehee :-)";
	send_string = "GET /windowsMedia.exe HTTP/1.1\r\n\r\n";
};

user {
    mask = "*!*@*";
	scanner = "me.mpg";
};

sugestions would be apreaciated



-- 
winkey <[email protected]>
bopm-3.1.2-custom.diff (text/x-patch, 5.2 KB)
Only in ./: .tm_project.cache
Only in ./: bopm.prj
Only in ./: bopm.prj.bak
Only in ./: bopm.pws
Only in ../bopm-3.1.2.old/src: config-lexer.c
diff -r ./src/config-lexer.l ../bopm-3.1.2.old/src/config-lexer.l
133d132
< SEND_STRING             { return SEND_STRING;  }
151,155d149
< CUSTOM                  {
<                           yylval.number = OPM_TYPE_CUSTOM;
<                           return PROTOCOLTYPE;
<                         }
< 
263a258
> 
Only in ../bopm-3.1.2.old/src: config-parser.c
Only in ../bopm-3.1.2.old/src: config-parser.h
diff -r ./src/config-parser.y ../bopm-3.1.2.old/src/config-parser.y
30,31c30,31
< #define YYDEBUG 1
< int yydebug=1;
---
> 
> int yydebug=0;
75d74
< %token SEND_STRING
374d372
< 		item->send_string = DupString(olditem->send_string);
385,387c383,384
<       item->target_string = list_create();
<       item->target_string_created = 1;
<       item->send_string = DupString("");
---
> 		item->target_string = list_create();
> 		item->target_string_created = 1;
408,409c405
<               scanner_send_string   |
< 			  scanner_protocol      |
---
>               scanner_protocol      |
451,457d446
< scanner_send_string: SEND_STRING '=' STRING ';'
< {
<    struct ScannerConf *item = (struct ScannerConf *) tmp;
<    MyFree(item->send_string);
<    item->send_string = DupString($3);
< };
< 
diff -r ./src/config.h ../bopm-3.1.2.old/src/config.h
80,81c80
<    char   *send_string;
<    int     target_string_created;
---
> 	int     target_string_created;
diff -r ./src/libopm/OPM/OPM.xs ../bopm-3.1.2.old/src/libopm/OPM/OPM.xs
36d35
<    {"CONFIG_SEND_STRING",   OPM_CONFIG_SEND_STRING},
58d56
<    {"TYPE_CUSTOM",        	OPM_TYPE_CUSTOM},
299d296
< 		  case OPM_TYPE_CUSTOM: RETVAL = newSVpv("CUSTOM", 0); break;
331a329
> 
diff -r ./src/libopm/doc/Makefile ../bopm-3.1.2.old/src/libopm/doc/Makefile
16c16
< SHELL = /bin/sh
---
> SHELL = /usr/local/bin/bash
21c21
< prefix = /home/rush/bopm
---
> prefix = /home/strtok/bopm-install
41,44c41,44
< ACLOCAL = ${SHELL} /home/rush/Projects/bopm-3.1.2/src/libopm/missing --run aclocal-1.6
< AUTOCONF = ${SHELL} /home/rush/Projects/bopm-3.1.2/src/libopm/missing --run autoconf
< AUTOMAKE = ${SHELL} /home/rush/Projects/bopm-3.1.2/src/libopm/missing --run automake-1.6
< AUTOHEADER = ${SHELL} /home/rush/Projects/bopm-3.1.2/src/libopm/missing --run autoheader
---
> ACLOCAL = ${SHELL} /home/strtok/release/bopm-3.1.2/src/libopm/missing --run aclocal-1.6
> AUTOCONF = ${SHELL} /home/strtok/release/bopm-3.1.2/src/libopm/missing --run autoconf
> AUTOMAKE = ${SHELL} /home/strtok/release/bopm-3.1.2/src/libopm/missing --run automake-1.6
> AUTOHEADER = ${SHELL} /home/strtok/release/bopm-3.1.2/src/libopm/missing --run autoheader
47c47
< INSTALL = /usr/bin/ginstall -c
---
> INSTALL = /usr/bin/install -c
63c63
< host_triplet = i686-pc-linux-gnu
---
> host_triplet = i386-unknown-freebsd5.1
68c68
< AMTAR = ${SHELL} /home/rush/Projects/bopm-3.1.2/src/libopm/missing --run tar
---
> AMTAR = ${SHELL} /home/strtok/release/bopm-3.1.2/src/libopm/missing --run tar
70c70
< AWK = gawk
---
> AWK = nawk
82c82
< LNSL = -lnsl
---
> LNSL = 
94c94
< install_sh = /home/rush/Projects/bopm-3.1.2/src/libopm/install-sh
---
> install_sh = /home/strtok/release/bopm-3.1.2/src/libopm/install-sh
diff -r ./src/libopm/src/config.c ../bopm-3.1.2.old/src/libopm/src/config.c
45d44
<    {OPM_CONFIG_SEND_STRING,    OPM_TYPE_STRINGLIST},
diff -r ./src/libopm/src/libopm.c ../bopm-3.1.2.old/src/libopm/src/libopm.c
105,106c105
<     {OPM_TYPE_HTTPPOST,           libopm_proxy_httppost_write, NULL},
<     {OPM_TYPE_CUSTOM,             libopm_proxy_custom_write, NULL}
---
>     {OPM_TYPE_HTTPPOST,           libopm_proxy_httppost_write, NULL}
diff -r ./src/libopm/src/opm_types.h ../bopm-3.1.2.old/src/libopm/src/opm_types.h
13d12
< #define OPM_CONFIG_SEND_STRING   8
28d26
< #define OPM_TYPE_CUSTOM          7
diff -r ./src/libopm/src/proxy.c ../bopm-3.1.2.old/src/libopm/src/proxy.c
250,269d249
< 
< /*
<  * Custom Scanning
<  *
<  */
< 
< int libopm_proxy_custom_write(OPM_T *scanner, OPM_SCAN_T *scan, OPM_CONNECTION_T *conn)
< {
< 	int len = 0;
< 	char *sendstring = NULL;
< 	USE_VAR(scan);
< 	
< 	sendstring = (char *) libopm_config(scanner->config, OPM_CONFIG_SEND_STRING);
< 	
< 	len = snprintf(SENDBUF, SENDBUFLEN, "%s\r\n", sendstring);
< 	
< 	send(conn->fd, SENDBUF, (unsigned int)len, 0);
< 	
< 	return OPM_SUCCESS;
< }
diff -r ./src/libopm/src/proxy.h ../bopm-3.1.2.old/src/libopm/src/proxy.h
12d11
< int libopm_proxy_custom_write(OPM_T *, OPM_SCAN_T *, OPM_CONNECTION_T *);
diff -r ./src/libopm/src/test.c ../bopm-3.1.2.old/src/libopm/src/test.c
80,83d79
<    unsigned short custom_ports[] = {
<       3000
<    };
<    
110d105
<    opm_config(scanner, OPM_CONFIG_SEND_STRING, "");
137,140d131
<    for (s = ARRAY_SIZEOF(custom_ports), i = 0; i < s; i++) {
<       opm_addtype(scanner, OPM_TYPE_CUSTOM, custom_ports[i]);
<    }
<    
diff -r ./src/scan.c ../bopm-3.1.2.old/src/scan.c
181d180
<          { OPM_TYPE_CUSTOM,   "CUSTOM"   },
249,253c248
< 		
< 	  /* add send strings */
<       
<       opm_config(scs->scanner, OPM_CONFIG_SEND_STRING, (char *) sc->send_string);
< 	  
---
> 
diff -r ./src/stats.c ../bopm-3.1.2.old/src/stats.c
80d79
<       {OPM_TYPE_CUSTOM,   0, "CUSTOM"   },
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.