version 1.04c (May 9, 2006) * Fixed compile error on gcc 3.4.x version 1.04b (January 9, 2004) * Fixed reattach problems with the first letter of channel names being cut off in some cases. * Fixed format string vulnerability in SESSIONS command. version 1.04a (April 26, 2003) * Fixed channels not being removed from list after parting. This was causing phantom channels to be joined on reattach. (Only on some networks) * Fixed Numeric 005 data being stored incompletely. This was causing oddities on reattach. version 1.04 (December 2, 2002) * Fixed "LOG LIST" crashing (Oops) version 1.03 (November 28, 2002) * Fixed a problem with logfile sending causing a crash * Fixed a potential security hole with strncat() * Fixed a bug in server ping replies. This should fix the problems with ping timeouts on IRCDs that use token ping replies. version 1.02 (June 3, 2002) * Fixed pid file permissions being set incorrectly * Fixed a remotely-exploitable crash version 1.0 (May 5, 2002) * Fixed private message logging not working if it was the only option requested. * Fixed compile problem w/ time.h on some gnu libc 2.2.x systems * Rewrote and improved the command parser. * The 'ezb' command now works full time (so you can use it before you connect to an IRC server), and reports bad command errors. * Completely rewrote the config file parser.. The configuration format has changed quite a bit.. See below * Added a new user account system Basically everything is done with users now. You define a user like this: user bob { allow { from *.blahblah to irc.* } deny { .... } set enable-outgoing-dcc-proxying 1 set password blahblah set other-options } To log in as Bob, a user would connect as usual, and then send /quote LOGIN bob blahblah This means you can define multiple users, each with different options and different allow/deny lists. It also allows us to neat things, like doing away w/ detach passwords, and user customizable options that get saved to disk (see below) So... you must define at least one user to use ezbounce now. There is also a special 'default' user. It is much like a guest account; it behaves like ezbounce versions of old. For example, users still need to set passwords to detach, and can't use a few new features (see below). To summarize the other major syntax changes....: The following options can only be set globally (i.e. outside of user xxx { } ) blocks LOGFILE PIDFILE MOTDFILE USERFILE LOG-DIR NO-REVERSE-LOOKUPS DCC-LISTEN-PORT-RANGE PREVENT-SELF-CONNECTS MAX-DNS-WAIT-TIME KILL-ON-FULL-QUEUE SILENT-REJECTION MAX-REGISTRATION-TIME MAX-FAILED-PASSWORDS The following options can only be set INSIDE user blocks PASSWORD IS-ADMIN MAX-IDLE-TIME DROP-ON-DISCONNECT ENABLE-DETACH-COMMAND ENABLE-AUTO-DETACH ENABLE-VHOST-COMMAND ENABLE-FAKE-IDENTS AUTO-FAKE-IDENTS AUTO-SERVER ENABLE-OUTGOING-DCC-PROXYING ENABLE-INCOMING-DCC-PROXYING ENABLE-PRIVATE-LOGGING ENABLE-PUBLIC-LOGGING ENABLE-SEPERATE-LOGGING DEFAULT-LOG-OPTIONS MAX-LOGFILE-SIZE * You can no longer have global 'allow' blocks. They must be inside user definitions. Global 'deny' blocks are still allowed, (to make sh*tl*sts and such) * Note: the vhosts { } block is allowed both globally and in a user block. Global vhosts are avialable to all, and user ones are available only to those specific users. * Removed the 'ADMIN' command and the admin { } block -- you now define an admin like this: user xxx { ... set is-admin 1 ... } User is given admin priviledges upon his login. Nifty! On a side note, the 'max-failed-admins' option has also been removed * Added 'LOGIN' command for the new user system. You should now use this in place of 'PASS' to log into ezb. Syntax is: /quote LOGIN [auto-server] `-- username: ditto -- password: ditto -- auto-server: server to automatically connect to (optional) example: /quote login bob myPass * Improved 'PASS' command. We will keep it for compatibility reasons. The syntax is now like this: /quote PASS : [auto-server] This lets you log in, like the 'login' command. Example: /quote PASS bob:myPass The old syntax will still work. However, it can only log you in as the default user. i.e. /quote pass password Will do the same thing as /quote login default password If you want to login as another user, you MUST use the Login command, OR the new Pass command syntax. * Improved detach/attach system. Passwords are no longer required. In fact, you don't have to remember anything anymore, not even the so called 'magic number' So now I can do /quote ezb detach And when I reconnect, ezbounce will conveniently list all my detached sessions, with the id needed to reattach. NOTE: 'Default' users MUST still provide a password * Added 'ATTACH' command, simply an alias for `REATTACH' * Added `SESSIONS' command. Lists all of your current detached sessions. Sample output: -ezbounce(srv)- Current detached sessions for user murat: -ezbounce(srv)- ID IRC NICK TO TIME -ezbounce(srv)- 1 druglord_ irc.lagged.org 00:00 To reattach, I would just have to do /quote ezb reattach 1 Nifty, eh? TIP: if you only have one detached session, you don't even need to provide an id. * Added 'TRAFFIC' command. Displays amount of data transferred between ezbounce and clients and servers * Added 'WHOIS' command (for admins only). Syntax: /quote WHOIS (or) Displays all connections for a particular user. * Added 'ECHO' command, sends given text back to client * Added a spiffy new login screen. ALSO -- if you have some mad ANSI artwork skills and want to make a 31337 login banner for ezbounce, let me know!! * mdidentd finally gets the permissions of the /var/run/mdidentd socket right. * Tested mdidentd -- contrary to popular belief, it still works. Updated the documentation. * Syntax of LOG FIND has changed a bit... - New syntax is: LOG FIND [password] - IDs are no longer needed - Passwords are optional, (because detach passwords are optional) - Users can only get log files that belong to them - 'Default' users must specify a password. * Added per-user preferences. This lets you customize a few settings, AND save them to disk, so ezbounce will remember them across sessions. * Added 'SET' command to facilitate this system. Usage: /quote ezb SET The following preferences are available: auto-detach [0/1] - detach automatically? proxy-dcc-in [0/1] - proxy incoming dccs? proxy-dcc-out [0/1] - proxy outgoing dccs? fake-ident [string] - fake ident vhost [string] - vhost to use auto-detach-pass [string] - password to use for auto-detach auto-server [string] - server to automatically connect you to Examples: /quote ezb set auto-detach 1 /quote ezb set fake-ident mrBilly /quote ezb set proxy-dcc-in 0 Note, the relevent feature must be enabled in the config file. For example, if you set auto-detach to 1, you also need to have "set enable-auto-detach 1" in the config.. So this is useful if you want to disable features you don't want.. This also works for the default user, but they won't be able to save their preferences. * Added 'SAVE' command. Saves the dynamic user preferences to disk. * New configuration option: set user-file This is where dynamic user preferences will be saved on disk * Added 'RELOAD' command. Reloads user preferences from disk. * Added 'ALLOWED' command. Displays what services are available to the user. (For example, if the detach command is enabled and things like that) * Added 'TRACE' command. Displays a simple network connection diagram. Usage: /quote TRACE * Removed 'AUTOPASS' command. Use /quote set auto-detach-pass. Also, you will no longer be assigned an automatic detach password when you connect -- set one! (And it will get saved) * Improved on-line help system a lot. Every command is now documented, with syntax listing and an adequate description. Usage: /quote HELP * Fixed Numeric 005 not being sent back to client properly on reattach -- or being sent even if the IRC server never provided one in the first place * ezbounce now actively keeps track of the channels you are on, which means a few new spiffy features, like a faster and simpler reattach.. In the past we would look up that info when a reattach was requested, causing a wait of at least several seconds. The "reattaching" state as shown in the status command by letter 'e' is also gone now. * In chat logs, channel is now put before name of speaker. I.e. instead of this sucks it is now: [#blah] this sucks. * Fixed QUITs and nickname changes not being logged -- oops!! * Added 'listen-vhost' configuration option. You can use this to configure what interface ezbounce will listen for connections on. (It does the same thing as the -b command line option).. It's global, so you must use it outside of a user { } block. Example: set listen-vhost 192.168.1.1 * Added 'default-vhost' user configuration option. This is like the -c command line option; it lets you choose which interface users will connect to IRC servers on. It's a user option, so it must be inside a user { } block. Example: user xxx { set password blah ... set default-vhost my.cool.vhost.com ... } * Removed the `-c' command line option. Use the default-vhost config options instead. * We now respond to *all* IRC server pings, not just when detached. (This is to make auto-detach more reliable) * Fixed a serious file descriptor leak in mdidentd. * Added ABOUT and VERSION commands * Fixed bugs in the dcc code that might lead to 100% CPU usage and crashes. * Now rejoins channel when kicked (while detached) * Improved socket handling a lot. The look-up system is much faster, and the data processing to/from client/server is a lot more reliable. In particular, ezbounce now buffers all data before sending it, which will eliminate the problems with data loss under high traffic. * Added "max-sockets" configuration option. set max-sockets [number] This implies that there is now a finite limit on the number of sockets that ezbounce will use. This is true. This may seem restrictive, but results in much simpler and faster code in the socket event processing. Default is 128, which is enough for most people. Minimum value permitted is 10. You decide how many you need; keep in mind that each client will need 2 sockets (one for him, and one for connection to server). * Added --enable-debug option to the configure script -- useful if you want to do development * Removed the configuration options max-client-inputQ min-client-inputQ max-server-inputQ min-server-inputQ They have been replaced with min-buffer-size max-buffer-size They are optional, as before, defaulting to 128 and 32768 respectively. * Added 'LOG VIEW' command. Lets you view detached log files directly in your IRC client w/o getting them via DCC SEND. This is accomplished by a DCC Chat connection. Syntax is the same as 'LOG SEND' ... * SSL Support has been added (contributed by 'HoE') To set up: ./configure --with-ssl And set the following in the configuration file: set certfile <.pem file> ssl-listen (optional) To activate an SSL connection, use the CONN command with -ssl argument. Example: /quote ezb conn -ssl irc.magicserver.com * Now uses safer vsnprintf() and snprintf() * Fixed compile problems with GCC 3.x * Many more code cleanups and technical improvements that I won't mention. In short, this release, 0wns. :) v0.99.12 (March 2, 2001) * Added anti-idle feature while detached. Sends random message to server every so often. * Removed enable-detach-on-error and always-detach variables. Instead there is a "enable-auto-detach" variable that, when enabled, will always detach the user, unless he explicitly uses /quote ezb quit. Password is again assigned randomly when the user connects. It can be changed via the 'autopass' command. * Added recognition for UnReal-ircd's * and ^ user modes in channels during reattach. * Admins can no longer reattach w/o password. * Included a basic man page v0.99.11 (January 13, 2001) * Ezbounce no longer requires poll(). An alternative select()-based implementation has been added to the socket code. * Added --enable-use-select option to ./configure script to force use of select() instead of poll() * Fixed (??) a 100% CPU usage problem involving poll() * Now sends an IRC "ERROR" string for disconnects * Minor mdidentd fixes v0.99.10 (October 31, 2000) * Fixed ezbounce.pid file being created with random permissions. It will now be made with 0644. * Fixed a nasty bug that could cause random crashes. v0.99.9 (October 9, 2000) * Fixed DCC proxying using 100% processor time in some cases. * Fixed several possible crashes in DCC proxying. * STATUS command now displays some DCC proxying info. * Changed behavior of outgoing DCC proxying.. It will conenct to the real IP of the sender, not the IP that is stated in the CTCP DCC command (which was wrong in some cases, e.g. if client behind firewall obtained local IP through /whois) * Fixed compile errors under GCC 2.9x v0.99.8 (July 29, 2000) * Fixed certain logfile options causing a crash on detach. * Fixed sending of zero-byte files causing problems. * The enable-{private,seperate,channel}-logging options are now properly enforced. * Timestamp should be properly encoded in the logfile names sent back to the user now, in the format YYYYMMDD-... * Added dcc-listen-port-range option. It allows you to choose which port or ports ezbounce will listen on when doing DCC proxying. Usage: set dcc-listen-port-range where ports can any number or series of numbers seperated by commas, and where ranges of numbers can be indicated by a dash. Examples: 7000,7005,8225,9000-9100 2000-2300,4860 6918 5700-5710 * Wrote some simple, cheesy encryption and decryption routines for the passwords that are used in making log file filenames. * Redesigned and rewrote the internal socket polling and handling system. Is it faster? I don't know, but I think it's better now. However, ezbounce now requires the poll() system call be present on the machine. Unless you're using an ancient system, you will have this function (./configure script will confirm it). Also as a result, the following issues are fixed: * DCC sessions (both send and proxy) are unlimited now; you are especially not restricted to two log file sends at a time. * DCC sessions will now survive after the user disconnects from the proxy. * DCC sessions will now stay alive through during reattach and deattach. * DCC sessions will now properly timeout after 90 seconds. * Fixed bogus "Killed user for exceeding idle time limit" messages appearing after users reattaching. * Added auto-server option, which automatically connects users to an IRC server as soon as they succesfully connect to the ezbounce proxy. set auto-server [:port] [pass] server: which server to connect to port: (optional) which port to use pass: (optional) password to use on IRC server * LOG FIND will now display all results of a search, not just the first two. You can select any of them to send as usual with the LOG SEND command. doing "LOG SEND ALL" however will only send two a time to avoid flooding the user. * Logfile creation is now more robust; will honor locked log files and try to create more unique file names if needed. * Added a simple away option to detach: /quote ezb detach password [away message] where away message is what ezbounce will set you /AWAY as with the IRC server. It will unset you away when you reattach. * Added LOG LIST command; it will list the search results again for you. * Extended PASS command to include the name of a server to connect to. Syntax is: /quote PASS [server[:port]] [IRC server password] This will let you connect to IRC servers with just one command. Examples: /quote PASS secret irc.lagged.org /quote PASS secret5 irc.dal.net:7000 secretpass * Now makes link to ezbounce binary named 'ezb' * And some long overdue documentation updates.. v0.99.7 (June 10, 2000) * Fixed DCC Sends from ezbounce not providing filesize. Some clients didn't mind that it was omitted; some did. * DCC sending of logs now properly limited to 2 at a time max. * Fixed LOG FIND reporting multiple finds of a file? (Although it did send the proper log files) * Fixed odd STATUS command crash. * Disabled PONG messages in log for good. v0.99.6 (April 30, 2000) * Fixed logging not working if maxsize wasn't set (sigh) * Fixed Reattach truncating list of channels to join if it was > 128 chars (some people were affected) * Added support for catching numeric 005. They contain some possibly useful information for clients upon reattach. (like detecting if the IRC server supports the DalNet WATCH command. * Internal nickname tracking should work well now. * Implemented LOG HELP. In addition, Thanks to Ben W. for the following improvements: * Now handles and saves numerics 002-004 so they can be reproduced on reattach * PASS command can now be used before USER and NICK commands.. this allows the server password feature of most IRC clients to be used with ezbounce. * Admins can now reattach without a password. * Numerous reattach improvements, including: * Proper detection of User Mode * Fixed MODE #channel command being sent, causing some clients to screw up * Fix duplicate LUSERs being sent. v0.99.5 (April 9, 2000) * Ok, ezb command works now. My mistake. * Sending of old log files is now possible. The command to use is: /quote LOG FIND Where 'id' is the id that you had for that session which died, and 'password' is the password for that session. This is very preliminary right now. It does not quite work if your nickname is something different from the one ezbounce thinks it is. That's the why the change below was needed... * Now keeps track of nickname changes internally throughout your irc changes. Also lets you change your nickname while chillin' on the proxy before connecting to an IRC server. This was all necessary for the DCC Sends to work properly. (note: it doesn't really work that well right now) * Added checks to ensure permissions for the log files directory are secure. * Fixed a possible crash if the incoming text buffer was full. * Fixed a possible crash in the STATUS command. * Fixed IRC PASS command being sent to IRC Server at the wrong time during the connection process. Thanks to Rodney J. for catching this one. v0.99.4 (February 22, 2000) * Changed permissions on the included sample config files for security purposes. Note that you can't get this fix with the patch, you must get the tarball, or set the permissions manually. Your config files ought to have permissions 0600. * Added 'ezb' command as an alias for the ezbounce command. It occurred to me in a vision that much time could be saved by myself and users by typing 3 letters instead of 8 letters! * Fixed some serious bugs in the log sending. It is much more robust now. * Fixed -b command line option (listen for connections on specific interface) not working on some systems (?). Note to self and fellow coders: remember to zero out sockaddr_in structure before doing anything to it! v0.99.3 (December 29, 1999) * Logging while detached. See ezbounce.conf.quick for details and to enable it. Basically you turn it on with the 'log' command. The syntax is: /quote LOG SET where options is any combination of the following: a - log all (combines p and c) s - log to seperate files p - log private c - log channels n - log nothing! f - log full addresses always t - log with timestamps for all events Once you detach, logging will begin. It will continue until you reattach or the connection to the IRC server dies. When you reattach, you can retrieve the log files by typing: /quote EZBOUNCE LOG SEND all Ezbounce will then DCC send them to you. Everything is explained in the README in full detail. * New config options to support detached-logging.. # allow logging of private messages set enable-private-logging 1 # allow logging of channels set enable-public-logging 1 # let users store logs in seperate files (that is, one for chan, # one for # private) set enable-seperate-logging 1 # where to store logs? set log-dir logs/ # # Default log options # # Full list of options: # a - log all (combines p and c) # s - log to seperate files # p - log private # c - log channels # n - log nothing! # t - timestamp events # f - log full addresses always # set default-log-options ast * Redid some of the server log messages. Aimed for a standard format, something easier to understand at first glance. For example, instead of "xxx's connection attempt to yyy:1111 has failed (...)" it is now "Connection attempt FAILED: xxxx to yyy:1111 (...)" * Removed the "&" and "!" channel recongnition 'fixes' in 0.85.3 that were incorrect. The new detached-logging code does recognize these special channel types properly though. * Redid the reattach system, so the target inherits the clients settings, not the other way around as it has been. This mainly simplifies some matters in the code. Also this means your reattach id does not change when you reattach so you can detach and reattach again with the same id. * For mdidentd, added checks to ensure permissions in directory of socket are appropriate to allow connections to the socket. * Now doesn't log PONGs from server while detached or other debug messages, unless you choose to build it to do so. * Fixed compile problem on several systems caused by the fact that 'MAX' was already #defined on the system but we tried to create a function by that name. * Added a simple Message of the Day (MOTD) system. The configuration file variable is: set motd-file It will display the contents of that file to the user upon connection to ezbounce and whenever he types /MOTD. A sample motd file is included (the sample.MOTD file), but disabled by default. * Added -u command line option, to change userid after listening socket is bound. This is only useful if you're running it as root and want to bind it to port < 1024 and then want it to drop the root privs. Usage (uid must be numeric): ezbounce -u uid config.file ------ v0.85.3 (August 6, 1999) * Fixed default connection and listen vhosts (-c and -h command line options, respectively) being cleared on rehash * Fixed 'random' crashes during reattach (was caused by failure to handle privmsg and the like during the info-gathering process) * Fixed "trying to reattach to" message showing "(null)" for the target. * Improved socklen_t detection in configure script. Will hopefully correct compile failures on OpenBSD and possibly other systems. * Small mdidentd updates * Added IRCNet ! channel and local (&) channel recongnition where needed. v0.85.2 (May 15, 1999) * Fixed CTCPs being blocked if dcc proxying was enabled * Fixed outgoing CTCPs being corrupted if dcc proxying was enabled * Now handles 0 return from connect() (was only checking for -1 as that is what usually happens with nonblocking connects) * Fixed several DCC proxying problems (e.g. sends to slow modem users blowing up). v0.85.1 (May 7, 1999) * Fixed CTCP Ping-replies during detach not working * 'autopass' command was broken, fixed. * Fixed channel modes possibly not being synced on reattach * Fixed nickname not being synced on reattach (for some clients) * If proxy was started w/o detach-on-error option and it was enabled and rehashed later, clients would not have auto-passwords set. This would result in "unreattachable" clients.. So now if there's no password, the client will not be detached. Use the 'autopass' command.. * Several Solaris compile/link errors fixed. Many thanks to Rajesh T. for reporting these problems and trying out my fix suggestions! If ezbounce was not building for you on Solaris try it now. * configure script updated to check for special libraries that might have to be linked with on some systems. * Quick kludge for reattach "to-ruleset" usage count leak. ------------------------------------ ezbounce 0.85 (May 1, 1999) * Added DCC proxying. It's all transparent, meaning ezbounce does some clever trick so that clients don't need to do anything special to be able to send *and* receive dccs. So yes, it's both ways. To enable it you need to stick these lines in your config: set enable-outgoing-dcc-proxying (0 or 1) set enable-incoming-dcc-proxying (0 or 1) for all the details see the README file. It's off by default. Not very well tested on big endian machines. Some people have reported success; the reason I'm worried is that I had quite a time trying to get host byte-order to network byte-order (and vice versa) to work properly. Completely untested on dialup PPP connections (I'm a Cable Modem Bastard myself). Feedback from anyone would be greatly appreciated. * Fixed vhost-binding not working under FreeBSD. * Fixed a problem in the buffering code that could data corruption. * reduced time() calls to once per second and no more (in almost all cases). * Added detach-on-error feature. Basically it detaches the client if he loses connection to the proxy with an error. It automatically sets up an auto-detach password for the user upon connect. This password may also be changed be the user using the AUTOPASS command. If the user detaches because of an error, he can reattach normally using the 'reattach' command. To enable it you must stick this line in your config (Defaults to off): set enable-detach-on-error 1 --- Consider it experimental! * Added hack to prevent linking with libstdc++. To enable it, run configure as follows: ./configure --disable-link-stdcxx and build. Consider it experimental as well! * Corrected several possible compile errors on different compilers than mine. * Admins are now exempt from rulesets. Meaning they can connect anywhere. * Check for existance of sys/select.h before #include'ing it. Linux libc5 doesn't have it for example. * #include before any other header. This corrects some potential compilation problems on some systems (FreeBSD is one). * 'ezbounce' command could be used while connecting to an irc server. fixed. * Tons of code redone and cleaned up. * a nasty bug in buffering code fixed (was assuming write() would write all of requested bytes..) * If logfile cannot be opened or created on startup, keep going instead of quitting. * mdidentd version string was not updated for previous release. * Idiot proof setup directions after ./configure is done. * Eliminated "unused parameter int unused" warning for older gcc.. * Eliminated "argument changes signedness" warnings (hopefully) * Added a basic pid-writing thing. It's mainly for scripts to be run with crontab that periodically check if ezbounce is still running. Ezbounce writes its pid to a file (ezbounce.pid) and the script checks if its a valid one, if not respawns ezbounce. Such a script is included (see the ezbchk file). * Fixed user name being truncated to 3 chars on reattach. ezbounce 0.81 (February 8, 1999) * Topics should *really* be synched on reattach now. It was even listed as fixed in this file, but for some reason was not. Oops :) * Also get user mode on reattach now. * While detached, ezbounce will now respond to ctcp pings for the detached client. In order to prevent abuse by flooders, only 1 ping will be replied to every 5 seconds. * Fixed a config file loader error message that was getting truncated. * No longer allows 0-length USER and NICK messages when clients are registering * A few hacks to save memory storing nicknames and passwords and such * Added a switch to mdidentd which will prevent users from setting their fake idents to the username of a user on the machine. What's new in ezbounce 0.80? (December 31, 1998) * You can now reload the configuration file while the server is running. This is done either by the admin-only REHASH command or by sending the server a SIGHUP signal. Any possible error messages from the process will be dumped to the log file. See README for finer details. * User password is now optional. * I made a special ident daemon-helper thingy that will let proxy users set their own ident replies regardless of the uid the proxy is running under. For more information look in mdidentd/README. * Reorganized several files, moved proxy code to 'src', mdidentd code to 'midentd' and files shared by both to 'libs'. * Reorganized and cleaned up rule-set related code. * Some clean up of config file loading code. * Greatly simplified command parsing code. Code is smaller and is probably faster. * In the cleanup process I have also fixed an embarassing bug that would cause a crash if an invalid command was used with the 'ezbounce' command. * Some systems don't appear to define INADDR_NONE (like sunos 5.4??). Added a fix so ezbounce will compile there. * ircd-hybrid is drain-bamaged and does not always respond to TIME requests. This effectively makes the Detaching/Reattaching system useless for some people. ezbounce now sends a different command besides TIME to get info about the connection during reattach. * If a client would die while reattaching a ghost connection might be left behind (the detached connection he was trying to reattach to). Although i was sure such conditions were handled properly, it looks like the code was borken. Fixed. * Again during reattach.. sometimes the name of the channel joined would be sent with a space in front of it. This caused a small problem with the BitchX windowing facilities so we now send it w/o the extra space. * Reduced the number of times the time() system call was used. In older versions ugly things could happen like time() being called 55 times *a second* when there were 50 clients. Now time() is called at most twice a second regardless of the number of clients. * Admin can use any vhost he wants now, that is, he is not limited by the hosts listed in the "vhosts" config file block. * Admin can use any feature he wants, even if it has been disabled in the configuration file. * 'status' command now aware of zombie connections and super-new connections. * 'admin' command block syntax for configuration files has changed slightly. Basically you don't need 'set' before 'name' and 'password'. If you don't know what I'm talking about don't worry about it. What's new in ezbounce 0.71? (???) * Makefile was using a GNU-specific command that would prevent ezbounce from compiling on some systems. The relevant section has been commented out. * Fixed a problem with the status command that could cause a crash. * If a detached connection died, the number of clients wouldn't be decremented. This could actually cause a lot of problems. Fixed. * setsockopt problem on Solaris fixed. * Channel topics were not being synced on reattach. * Corrected compile problem on FreeBSD 2.2.7 What's new in ezbounce 0.70? (August 9, 1998) * added GNU autoconf configure script. ezbounce will compile on older gccs. * Handle memory allocation failures a little better. * server uptime info from STATUS command is now in human-comprehendable form. * STATUS also displays cpu time used now. * client connection time from STATUS is correct now. * reconnecting after disconnecting from irc server should really work this time. Note: may cause problems with some clients. * added INTERFACE command, lets client bind connection to any interface available on the machine. * also added VHOST command which is just an alias to INTERFACE. * added a vhosts block command, lets you configure which vhosts clients may use with the vhost/interface command: vhosts { ip1.machine.com blahblah.blahb.alh 69.69.69.69 etc } note: 'all' is a special keyword and will allow clients to use all available vhosts. Currently only one vhosts block is allowed. If you choose not to supply one, a dummy one will be created with 'all' as the only address. * also added a VHOSTS command which lists all the available virtual hosts that a client may use. * improved server admin configuration. To define an administrator you now do: admin { from *.address.* set name servadmin set pass blah60 } This allows only people from *.address.* to become admins, and the username and pass they must use are servadmin and blah60. Only one admin block per customer. The old set admin-name/pass won't work anymore. * added a prevent-self-connects config option. It prevents clients from making the proxy connect to itself. * Added EZBOUNCE command. It is to be used when you have connected to an irc server and wish to issue a command directly to the proxy rather than have it relayed to the irc server. (note: not all commands can be issued thru this interface) For example, when connected: /quote DIE death message will kill the irc server you're on, and /quote ezbounce DIE death message will kill ezbounce. Assuming you have proper authorization, of course. * Added a DETACH command, which lets your connection to an irc server remain active while disconnecting you from the proxy. While you are detached, ezbounce will respond to server pings to keep you alive. It is used as so: /quote DETACH To reattach to the connection, you must connect to the proxy and issue the following command: /quote REATTACH Where connection_id is a number ezbounce will give you when you detach. The detaching/reattaching facilities don't work very well with all clients right now. There is a section in the README file which you can read that describes the problems. * Cleaned up interface-binding related code. Also fixed possible file descriptor leaks. * Fixed a bug in buffering code which could lead to crashes. * Less offensive password incorrect message :) * No longer displays "Welcome to ezbounce" message when you connect, it now waits until you have succesfully given a password. * New configuration options: set max-failed-passwords Lets you set a limit on how tolerant ezbounce will be on people giving incorrect passwords. Setting it to 0 disables the feature. Defaults to 3. Client will be booted off once limit is reached. set max-failed-admins Similar to above one, but controls attempts at becoming server administrator. Defaults to 0 (off). set drop-on-disconnect <1|0> Controls whether or not client should be dropped if he loses connection to his irc server. Defaults to 0. set enable-detach-command <1|0> Enables or disables the DETACH command. Defaults to 1. set no-reverse-lookups <1|0> This option controls whether ezbounce will do reverse dns dns lookups in the ruleset related code or not. Defaults to 0. Look at sample.conf for more info. set enable-vhost-command <1|0> Enables or disables the use of the INTERFACE and VHOST command. Defaults to 1. * rewrote gettok(). no longer makes copy of string, should speed up several other functions. * ezbounce now tries to save some memory by fine-tuning input buffer sizes once every minute. * Added a WRITE command. This command is for administrators only and allows them to send messages to another user or broadcast it to everyone. The syntax is (/quote) write . You obtain the id from the status command, and you can use 'all' to broadcast to all. * --help command line option recongnized. * added a DISCONNECT command. It is intended to be used with the EZBOUNCE command. It forces a disconnection from the irc server in case it stops responding or something. * fixed possible bug that could cause a crash if a bad command was sent while connecting to an irc server. * several other internal changes --- What's new in ezbounce 0.61? (July 15, 1998) * client is no longer dropped if disconnected from irc server. * small memory leak in config file parsing code fixed. * bigger memory leak found in buffering code and destroyed. * small makefile enhancement