2004-05-29 0.49a

 - numerous portability fixes here and there
 - real event.3 manpage

2004-05-27 0.49

 - autoconf'ified, sort of
 - use advanced event mechanisms (epoll, kqueue, devpoll) when available
 - new option: -i file (or -i -) to read hosts to check from file
 - add timeout for dsbl cookie

2004-02-17 0.46

 - adopted for new DSBL format
 - changed protocol names: http=>http-connect, ftp=>ftp-user
 - do not stop on Content-Type: header seen in HTTP-CONNECT
   responses (what an idiotic software does this?!)
 - removed obsolete 118[0-4] ports (old mimail variants)

2003-08-07 0.45a

 - fixed multihomed proxy detection with new DSBL
   (DSBL now correctly replies with "250 listed [ip.add.re.ss]" instead of
   "220 listed [ip.add.ress]" to the final end-of-message terminator)

2003-05-11 0.45

 - new option -D to not reset default portlist if -p is given
 - new port - 5490 - NONAME/1.4 HTTP CONNECT-only proxy (trojan?)

2003-05-05 0.44

 - added ports 1075 to list of ports for socks and http (MSP proxy)

2003-05-01 0.43

 - determine DSBL-listed IP for DSBL submissions (new DSBL listme@
   server now allows this by printing an IP that was listed on final
   \r\n.\r\n reply line)
 - added some proxy info recognision (proxy-agent - yay!), activate with -x.
 - removed broken HTTP GET support altogether
 - moved HTTP PUT and wingate/telnet to be more "advanced"
 - added port 21 to the list of FTP ports
 - changed connect timeout to be half of -t
 - yet another wingate/telnet prompt ("telnet>")
 - CCProxy Telnet handler
 - write "open" string w/o stdio/buffering
 - fixed error (proxycheck always prints "closed" lines ignoring -n flag)

2003-02-20 0.42

 - fixed a long-standing bug in dsbl handler - data received from
   the remote was not collected correctly.  Well, this one wasn't
   happened too frequently - I only seen it once, when a proxy
   delivered data from the target mailserver one byte at a time.

 - added yet another port, 1813 (socks5), as advanced (level2) port.
   SKK proxy listens here, but it is seen unfrequently.

2003-02-14 0.42b2

 - added proxylogger - receiving part of proxycheck, to be used
   from inetd and with -c chat.

2003-02-12 0.42b1

 - fixed a small bug in last wingate/telnet code changes (mostly
   cosmetic: "Resource temporarily unavailable" vs "Connection timed out").

 - added another telnet/wingate proxy variant, with a prompt
   "SpoonProxy>", which expects a command in form "host port"
   (instead of tn-wg/wingate which is of the form "host:port").

2003-02-04 0.42b

 - some code cleanups/changes: may break things, testing...

 - FTP proxy detection added, port 1183 only for now.  Interesting
   to experiment with M$ ftp servers ;)

 - fixed not finding advanced protocol if no ports are specified
   (e.g. -pwg: tried default protos:ports instead of wg:25,1181)

 - modified telnet/wingate proxy code to be a bit faster and to
   know which command to sent to a particular proxy.

2003-02-02 0.41

 - moved wingate tests to be advanced (do not check by default)

 - allow to use -cdsbl w/o -d:
    -c dsbl[:smtpserver[:port]],
   smtpserver defaults to ${DSBL_SMTP:-mx.listme.dsbl.org}

 - print info about total number of open ports found in final stats line

 - new option: -s, to stop trying other ports if one open is found

2003-01-12 0.40

 - removed usage of alloca()

 - pxybuf[] is now signed, to shut up SunPRO C compiler with it's
   *huge* amount of warnings generated

 - little cleanups in debug output

2003-01-09 0.40b3 (BETA)

 - in -c chat, try to find [ip.add.re.ss] after the expect
   string from the remote system, and if found, write it
   after "1.2.3.4 hc:80 open" info (Note format change).
   Destination system may write an address of the system
   it's talking with this way - it will be output address
   of a proxy.  Take it as a guess only, nothing more -
   value, if found, cannot be trusted.  This is printed only
   if remote says different address from what we're connecting
   to.

2003-01-08 0.40b2 (BETA)

 - moved some ports and protocols to be more "advanced".  Check with
   -h option.
 - (implementation) reorganized protocol/port specifications
   Some compilers may choke at the end of pxy.c - will see...

2003-01-02 0.40b1 (BETA)

 - changed protocol names to be two-char by default (please review
   your scripts: change is incompatible)

 - added "advanced" protocol support: currently, this includes
   HTTP PUT (hu), HTTP GET (hg), HTTP POST (ho).  Activated by
   either -a option or explicitly.

2002-12-31 0.34

 - fixed timeradd() macro (missing \) - thanks to Kai Schlichting

 - send SMTP commands one-at-a-time, 'cause some AV engines intercepting
   port 25 traffic from a proxy loose commands if sent in one TCP packet
   This made SMTP code somewhat funny at best.

 - new option: -M, to limit number of concurrent connections
   to one host.  NOTE: experimental, and has at least one bug
   which I'll fix soon

 - added (hackish) check for Content-{length,type}: header in
   HTTP response - terminate connection if such header present

2002-12-28 0.33

 - portability: FreeBSD <5.0 sys/event.h clashes with my event module.
   No good workaround except of maybe prefixing all names by mjt_ which
   is ugly.  For now, renamed EV_ERROR to EV_ERRNO.

 - fixed warnings in event.c produced on FreeBSD (casting NULL to pointer)

 - some infrastructure for handling GET/POST/PUT/etc proxies.  Not finished
   and commented out for now.

 - changed in_addr_t/in_addr again.  Leandro Santi.
   Now using inet_aton(), which requires -lresolv on solaris.

 - added a workaround for http proxies which requires \r\n in
   the separate packet.

 - little cleanups.

2002-12-24 0.32

 - renamed EVENT_xxx to EV_xxx to be consistent across names (no code change)

 - removed ipaddrport_t altogether (no real need for it)

 - print octal numbers w/o leading zero; print \t as \t, not as \11
   in verbose debug mode
 
 - new option -n to print info about closed (definitely) proxies.
   Before, lines like "127.0.0.2 http:8080 closed" was printed
   automatically.  I.e. restore pre-0.2 behaviour and turn new
   behaviour on with -n.

 - warn about being run as root

 - portability: some systems lacks in_addr_t data type.  Heh.
   Changed usages of in_addr_t to unsigned.  Thanks to Leandro
   Santi lesanti{at}uolsinectis{dot}com{dot}ar.
 
2002-12-24 0.31

 - portability fixes, thanks to Andy Igoshin ai{at}vsu{dot}ru:
    - AIX has no timeradd, conditionally added timeradd and timercmp
      to event.c
    - Solaris has ipaddr_t type - renamed to ipaddrport_t.

 - fixed a typo: tenlet -> telnet

2002-12-23 0.30

 - added a manpage

 - default values for -c (checkproxy.corpit.ru:25) and
   -d (chat::ESMTP_unwelcome)

 - understand trailing colon after a hostname

 - many cleanups in the code

 - show protocol exchange for wingate and socks in verbose mode

 - print "ip.add.re.ss proto:port closed" for proxies which are
   proved to be closed (note that this may break existing usage
   of proxycheck - now something may go to stdout even if no open
   proxy was found - always check return value and/or search for
   "open")

 - recognize HTTP reply codes if any

 - try also "telnet host port" on port 23 (somewhat hackish)
