andy [Fri, 15 Feb 2002 04:57:29 +0000 (04:57 +0000)]
match.c, match.h:
IRC wildcard matching functions from dancer-hybrid. match()
handles string matching and collapse() shortens a wildcard string
as far as possible.
config.h:
Added new config type; TYPE_LIST. Multiple parameters of this
type are put into a linked list.
Added missing config_memfail() prototype.
config.c:
Added new config option EXCLUDE. This is a list of wildcard
strings against which the host and IP address of connecting users
will be matched. A user which matches any entry will not be
scanned.
Makefile.in:
Added new objects and dependencies for match.[cho]
irc.c, irc.h:
Added do_connect() function to avoid duplication. This function
checks the users host and IP address against the EXCLUDE list and
provided there are no matches proceeds to do a DNSBL check and
proxy scan.
The above patch was contributed by Rob Levin/lilo @ OPN
andy [Thu, 14 Feb 2002 05:17:18 +0000 (05:17 +0000)]
configure.in, options.h:
Added configure option --with-unreal to replace the UNREAL
definition that was in options.h
acconfig.h:
Make autoheader work for --with-unreal
irc.c:
WITH_UNREAL instead of UNREAL
andy [Thu, 14 Feb 2002 05:06:06 +0000 (05:06 +0000)]
configure.in:
Added support for --with-select configure option so that people
can force use of select() whether they have poll() or not.
acconfig.h:
This makes autoheader work (which is used to make setup.h.in from
configure.in) now that WITH_SELECT is added.
andy [Wed, 13 Feb 2002 20:50:59 +0000 (20:50 +0000)]
bopchecker.c, irc.c, scan.c:
Use AC_HEADER_TIME and AC_CHECK_HEADERS(sys/time.h) to check how to
handle time.h and sys/time.h (if there even if a sys/time.h, if it
can be included with time.h)
andy [Wed, 13 Feb 2002 20:26:12 +0000 (20:26 +0000)]
Makefile.in:
Add a distclean target. We may want to distribute the configure
script at some point instead of just configure.in and expect people
to use autoconf; we'll have to remember to change this then.
config.c, dnsbl.c, irc.c, log.c, main.c, opercmd.c, scan.c:
Take account of AC_HEADER_STDC check.
andy [Tue, 12 Feb 2002 23:02:03 +0000 (23:02 +0000)]
config.c:
Really doesn't need to be that verbose :)
Remember I use -d and -dd a lot when helping people set up BOPM -
I really don't need 2 pages of config options flying by.
strtok [Tue, 12 Feb 2002 19:19:15 +0000 (19:19 +0000)]
options.h USE_POLL and MAXPOLL for use of poll() as opposed to select() in
scan.c. If USE_POLL is defined, the scanner will use poll(), if not
select() is used as before
strtok [Tue, 12 Feb 2002 06:10:42 +0000 (06:10 +0000)]
bopm.conf.sample: Added config parameter FDLIMIT (default 512), which is maximum number
of file descriptors that can be open at any time (for scanning).
config.c: Added -d debug output of set config parameters
misc.c: Fixed bug involving clean()
scan.c: Added scan_establish() code to socket()/connect() to a socket, connections
are now queued if the FDLIMIT cap is reached.
andy [Sun, 10 Feb 2002 15:25:59 +0000 (15:25 +0000)]
scan.c:
Improved HTTP handling. Seems to work (have tested against all
known HTTP false positives seen so far, plus 2 known open proxies).
Ideas and pseudocode from jpayne@blitzed.org.
andy [Thu, 7 Feb 2002 17:23:22 +0000 (17:23 +0000)]
dnsbl.c:
Need to check against DNSBL_ZONE with a dot on the end, because
otherwise it will try the search domains in /etc/resolv.conf, and may
even find a match! Reported and fixed by asmodeus@irc.gr
bopm.conf.sample:
Gotcha about putting your own dot at the end of the zone.
andy [Sun, 27 Jan 2002 14:17:00 +0000 (14:17 +0000)]
bopchecker.h:
Added bitmasks for the types of proxy. HTTP is 1, Wingate 2,
SOCKS4 is 4 and SOCKS5 8.
bopchecker.c:
Now returns a bitmask of the types of proxies found back to the
shell. THIS MEANS THAT VALUES > 1 MEAN A PROXY WAS FOUND AND 0
MEANS NO PROXY WAS FOUND, THIS IS THE EXACT OPPOSITE TO PRIOR
VERSIONS OF THIS PROGRAM!
andy [Fri, 25 Jan 2002 21:14:27 +0000 (21:14 +0000)]
dnsbl.c: Allow reporting to multiple addresses
README: Note about Sotiris Tsimbonis' idea
bopm.conf.sample: Note about how to use multiple TO addresses
andy [Thu, 24 Jan 2002 06:07:48 +0000 (06:07 +0000)]
Merged patch from Sotiris Tsimbonis <redacted> with minor changes.
Adds a -c command line argument which tells bopm to use a different name
for log, pid and config files. i.e. ./bopm -c myserver will use
myserver.conf, myserver.log, myserver.pid.
The patch also makes bopm set umode -h on itself after opering, in order
to prevent the bot appearing in /stats p output (shows opers available to
help).
bopchecker now takes the -c option also, in the same way as bopm.
strtok [Sun, 20 Jan 2002 19:59:39 +0000 (19:59 +0000)]
scan.c: Added HTTP/1.1 checking for HTTP proxies
bopm.conf.sample: Commented out DNSBL from and to
irc.c: Changed no data timeout to use NODATA_TIMEOUT from options.h
options.h: Added NODATA_TIMEOUT default to 900 seconds (15 minutes)
andy [Sun, 20 Jan 2002 02:58:04 +0000 (02:58 +0000)]
Here's a config option for an away message (AWAY). Also now responds to
PRIVMSG that simply says INFO, giving a bit of information about what the
bot does. Help email address set from the HELP_EMAIL option.
andy [Sun, 20 Jan 2002 02:03:01 +0000 (02:03 +0000)]
Added an evil hack called bopchecker which is a command line interface to
bopm. It returns EXIT_FAILURE if it doesn't find an open proxy, it
returns EXIT_SUCCESS if it does.