* see http://dwun.sourceforge.net/CHANGES for updates - compile error with Linux libc5 fixed. - src/snprintf/LICENSE.txt included. * 2 Feb 2001 - timecon fixed. - version 0.96d * 22 Jan 2001 - onconnect_wait added. - onconnect and ondisconnect cannot run simultaneously. - fd3 for commandon and commandoff. - dwunmakeauth can initialize authfile itself. - include snprintf/*.[ch] in tarball. - version 0.96c * 12 Jan 2001 - ondisconnect fixed. (Thanks to Carsten Block for reporting). - version 0.96b * 11 Jan 2001 - having more than around two bind args could wreak havoc. (Buffer overrun). (Thanks to thomas jacquart for reporting problems he was having). - pidfile created mode 0644 by both dwun and dwunlog. - documentation tweaks. - dwunmakeauth refuses empty passwords. - version 0.96 * 30 Nov 2000 - don't get bind errors when restarting. - date fix in logfiles for some locales for systems without snprintf. (upgraded to snprintf-2.2). - don't build libsnprintf.a if system has native snprintf. - no longer need dwunwait. - fixed ISDN instructions. - *BSD fixes. - rpm init.d "stop" fixed and init file included in runlevels. - version 0.95 * 15 Oct 2000 - SHUTDOWN fixed. - don't use disconnect_wait when shutting down or restarting. - admin can no longer KILL any PID. - *BSD crypt fix (completely fixed this time :) - fixed the fix for the signal race condition. - socket buffering added. - allow comma to be used as well as space to delimit bind and hostmask arguments. - usernames must start with a letter. - use kill tim instead of kill %tim. - new child.c command parsing. - source cleanup. - version 0.9apre1 * 18 Sep 2000 - dwunwait reaps zombies. - empty password allowed in dwunmakeauth, but with warning. - signal race conditions fixed. - RECONNECT with "fatal admin" correctly allows connecting to continue. - prevent %unknown users who are currently attached to the dwun server from authentication when %all are LOCKed. - "fatal admin" option removed. - version 0.9 * 14 Jul 2000 - '_' and '-' now allowed in usernames. - upgrading RPM package works. (Really this time!) - version 0.9pre3 * 13 Jul 2000 - tells user if their account is locked instead of just reporting "Invalid username/password". - ip-up scripts only ping $IPREMOTE by default. - version 0.9pre2 * 6 Jul 2000 - SIGUSR2 while disconnected no longer leaves us in the #Disconnecting state forever. - empty passwords no longer allowed in dwunmakeauth. - can change passwords with dwunmakeauth. - dwungetgroup handles invalid inputs better. - FreeBSD crypt fixes. - mmap fixes. - Debian package uses correct doc directory. - version 0.9pre1 * 16 Jun 2000 - upgrading RPM package works. - sending SIGTERM to child pid kills it. - onconnect/ondisconnect can use fd3 (messages to users). - version 0.8g * 9 Jun 2000 - ip-up scripts don't prevent rest of ip-up being executed. - version 0.8f * 2 June 2000 - rpm and deb no longer include Makefile* in doc/ and this documentation is installed for tarball users. - rpm removes doc directory when uninstalled. - deb postinst can run dwunmakeauth. - can listen on multiple IP addresses. - onconnect/ondisconnect logged to command logfile as per documentation. - hostmask previously only checked first quad. - multiple hostmasks allowed. - examples/chatscripts fixed. - added scripts to make using multiple ISP's easier. - version 0.8d * 25 May 2000 - debian package made more compliant and much easier to setup. - rpm package improved. - dwunconf and dwununconf removed. - umask when executing programs fixed. - fixed don't-see-prompt in makeauth. - fixed trying to reconnect before we're disconnected. - system-wide dial configuration file /etc/dialrc. - redials option to limit number of times dwun will redial. - post_commandon and pre_commandon to run commands before commandon starts and after it exits. - disconnect_wait so we can wait before disconnecting in case a client CONNECTs. - makeauth appends by default. - makeauth only adds meta-users when -i switch used. - fixed hostmask. - can easily send CONNECTed users lines from a file as they are added. - fixed socklen_t compile error on FreeBSD. - version 0.8c * 17 April 2000 - race condition where external messages could be lost fixed. - multiple connections switch-provider script fixed. - connect.sh works even if you use characters like semicolons in the session name. - connect.sh can list our connections. - multiple connections are easier to setup. - handle excessively long lines better. - can use existing scripts to dial and disconnect. - dwunconf fixed for old versions of bash. - ISDN can be setup with dwunconf. - pidfile removed on exit. - debian initfile fixed. - server umask is now 022. - umask is 0 for executed programs. - created command logfiles have u=rw - source cleanup. - relative path names in config work when we RESTART. - new admin command UPTIME - version 0.8 * 16 March 2000 - dial doesn't mind if stdin is connected to /dev/null (e.g. run from cron) - new doc/examples scripts - issuing the CONNECT command twice in one session doesn't cause connection to stay up infinitely - version 0.7e * 2 March 2000 - makeauth was broken - sending external message to non-existant pid caused crash - no longer disable receiving external messages for non-critical errors - dial exits on messages not starting with # and not "OKAY" - rpm fixed - version 0.7d - ... * 26 February 2000 - %p option for onconnect/ondisconnect for pid of child serving user - external messages must start with % if username is used - external messages can specify a pid to send message to instead of user - no repeat of speed for same user connecting multiple times - better handling of excessively long input lines for rcfiles and makeauth - security bugfix for systems without strdup - all file descriptors are closed before calling exec - fix for systems where max password length for getpass() is not 127 - attempt to log error on segfault - don't exec if can't cleanup signals and fds - version 0.7c - ... * 20 February 2000 - dial running in background works (bug found by Robert Davidson) - dial option to run command after #Connected - dial exits with code 1 on #Connect failed - version 0.7b - ... * 8 February 2000 - license change - moved to sourceforge.net - version 0.7a * 4 February 2000 - fix for big endian machines (non-intel) - MAXPPPD_FAIL is now unlimited (MAXPPPD_FASTFAIL handles the situation this was originally created for). - external option in rcfile to allow custom messages to be sent to clients - dwun waits for onconnect command to complete when pppd isn't running, fixes multiple connections - dwun-setup script for semi-automatic configuration - cosmetic fix for dial when connection reset by peer - using multiple numbers in connection script fixed - meta users %con and %all for admin commands and external - %unknown meta-user can be LOCKED - when admin refers to %user, list will always be updated - version 0.7 - ... * 26 January 2000 - count of failed pppd's resets when we disconnect - makeauth asks before overwriting authfile - compile error on linux 2.0.x fixed - corrected documentation on changing authfile mid-stream - compile errors on Solaris fixed - scripts/docs work for Red Hat - cosmetic dial exit fix - chatscript-expect file included - seemingly-invisible logging bug - only alphanumerics allowed for usernames (could cause security issue with onconnect/ondisconnect) - documented use of multiple connections * 19 January 2000 - fixed logging into a file - rcfile for dial/dwun abort on lines > 1024 instead of truncating command - now properly zeroes out pass - HELP info now alphabetically ordered - admin STATUS command to show connection status - don't complain if /etc/dwunrc doesn't exist - gives extra information after a #Connect failed - chatscript-multi dials numbers evenly - chatscript-multi allows #Reconnecting to be printed on BUSY - new option to write pppd command output to a file - documentation for setting up dial scripts seriously improved - when we KILL a client the socket is no longer held open - programs we run (like pppd) can no longer hold a client connection open after the server child has died - makeauth supports non-ASCII systems - default port from 8000 to 5540 - logging to file now includes datestamp and pid - supplying multiple pid's to an admin command will result in error - default is "fatal user" which is a safer default than "fatal admin" - admin can no longer kill themself when specifying %admin - defaults work properly for systems without syslog or vsnprintf - RESTART re-evaluates command-line options - version 0.6e * 5 January 2000 - LOG_INFO for most logging instead of LOG_WARNING - can use logfile instead of syslog - user specified pidfile will be created if it doesn't exist - fixed unlikely zombie situation - starting gets printed - fixes for users without snprintf - fixed memory leak in admin %user commands - compilation fixes for Tru64 UNIX and FreeBSD 4.0 - log KILL, LOCK, UNLOCK, ZAP attempts - printed pids now use long instead of int - won't complain about/create default files that don't exist when we're overriding them - if system doesn't have vsnprintf we use logfile instead of vsprintf - version 0.6d * 24 December 1999 - fixed timeout - can now set MAXPPPD_FAIL / MAXPPPD_FASTFAIL to -1 for unlimited - now uses fatal admin by default - obscure mmap bug fixed - uses configure script - supports systems that don't have strdup - version 0.6c * 20 December 1999 - updated quickstart documentation for accuracy - makeauth disallows : in username - maximum username length decreased from 64 to 16 characters - local.c renamed pppd.c - max_from_one keyword to limit max connections from one host - pppd fatal behaviour can now be set in rcfile - default max connections from 10 to unlimited - connect failed now shown to new clients - manpage for makeauth written - fixed -r in dial - mode 0400 as well as 0600 allowed in dialrc - fixed memory leak - now compiles with -W without warning - version 0.6b * 14 Dec 1999 - fixed segfault on RESTART - ZAP message for unconnected user fixed - version 0.6a * 10 Dec 1999 - dwun.pid includes newline - check for pipe_parent atomicity - USER_LEN now affects authentication and makeauth - now fatal error if pppd exits in under 5 seconds 5 times in a row - portability fix for non-gcc compilers - fixed freeze for client upon multiple CONNECTs - new optional behaviour for fatal pppd error - % allowed in commands - new HTML documentation - rcfile errors more descriptive - rcfile for dial - logs outcome of pppd disconnect - if -k in dial is greater than 0, the minimum used is 1 - debian package now makes a backup of /etc/dwunauth - log when client does CONNECT or DISCONNECT in debug mode - debugging messages cleaned up - dial now handles receiving messages whilst doing initial commands - missing SIGCHLD possibly fixed - Hello now starts with # - makeauth can now add users and output to stdout - default timeout from 20 to 60 seconds - debian package asks before running makeauth - version 0.6 * 2 Dec 1999 - fixed Makefile to install makeauth - remove dwun-latest.spec from tarball - dwunauth mode now 0600 - version 0.5d * 1 Dec 1999 - empty password no longer allowed in makeauth - new manpage for dwunrc(5) - minor documentation updates - chatscript now allows showing #Redialing on BUSY - fixed logging for client dropped - fixes for FreeBSD and many other systems (pppd command no longer run by sh -c command) - version 0.5c * 23 Nov 1999 - Debian package - makeauth half-decent now - RPM spec file - version 0.5b * 21 Nov 1999 - usernames starting with % are not allowed - dial now prints both version and help info with -h - wrote manpages for dial and DWUN - with ZAP will now LOCK before KILL to avoid race - ZAP now kills all clients belonging to a user whether pid or %user was specified (unlike KILL) - version 0.5a * 14 Nov 1999 - some error messages more informative - KILL %user now kills all clients belonging to that user - now does chdir("/") so we won't stop a directory becoming unmounted - version 0.5 * 6 Nov 1999 - dial can specify no keepalives (-k 0) - dial can handle extra Hello info from server - dial now only uses alarm, not setitimer - dial default server now 127.0.0.1 - dial bugfix with timeouts - other dial code cleanups - send version info to clients - restart no longer fails if authfile is a relative path - now logs timeout waiting for ALIVE from client - HELP notes ALIVE in all modes - fixed socket bug (select() ) - version 0.4d * 31 Oct 1999 - socket released properly on quit - failure to run pppd command now does #Connect failed rather than shutting down daemon - error messages from server more sensible where arguments given to a command that requires none, or vice versa - no longer include the file '.tar.gz'; oops ;) - version 0.4c * 28 Oct 1999 - in admin, typing an argument to a command that doesn't require one no longer stuffs us up - fixed segfault of admin list sender - fixed pipe_recv() timeout - fixed pipe_recv() / pipe_send() multiple-packet bug (fixes LIST problem, USER_LEN/PEER_LEN too large problem, as well as platform specific problems) - version 0.4b * 26 Oct 1999 - pppd command now user-specified - fixed error message for -r when file doesn't exist - removed only-one-admin restriction - LIST shows correct username after close - temporary fix for LIST broken-ness - version 0.4a * 25 Oct 1999 - fixed memory corruption bug with LIST (admin command) - now uses mmap instead of sysv shared mem - RECONNECT (admin command) documented - fixed pppd_fail bug - fixed showlocks - fixed compile error on FreeBSD caused by missing header file - fixed change-USER_LEN-and-die bug - no longer complains if /etc/dwunrc doesn't exist - version 0.4 * 22 Oct 1999 - default max pppd failures (before #Connect failed) increased from 30 to 100 - timeout for sending admin list (more robust) - reset alarm to 0 for new processes (more robust) - fixed another zombie bug - fixed onconnect bug - version 0.3f * 10 Oct 1999 - added showlocks ability for admin - fixed bug where we failed to log peer gone when connection reset by peer - fixed "pppd failed xx times in a row" repeated bug - fixed shell beeping-after-exit bug - a blank line now counts as a comment - fixed zombies bug. could stop pppd from redialing requiring a restart - version 0.3e * 28 Sep 1999 - replaced message queue with pipes, works much better together with sockets in select() - made masq support more generic, now can run user-defined command for each peer when they connect/disconnect - option -m now refers to maximum allowed clients, not maximum authed and connected clients - can now read options from file (-r option to set file) - can now control access via hostmask like 192.168.1.0/255.255.255.0 - wrote gtk+ client gdial. not included in normal DWUN package - version 0.3d * 18 Sep 1999 - Removed ISDN support, replaced with masq support. - avoid bug where pppd killed us - added NO_PPPD to enable use of DWUN for non-pppd activities (such as firewall control) - bumped version to 0.2c * 17 Sep 1999 - Experimental ISDN support * 16 Sep 1999 - Released 0.2b - note that when making an initial release you should turn debugging OFF and make sure the defaults for client and server match up. - Made client send proper QUIT command. - minor reconnection fixes * 15 Sep 1999 Initial public release