Changes to the console display ------------------------------ * Opening banner shows build date and start time, removed Demon support details (main.c) * Time correction (time read/set) is shown in local time (nettime.c) * Time server connect timeout announced as such (nettime.c) * Line drops are notified to screen (ppp.c) * PPP PAP now uses command rather than new session (PAP_SESSION, ppppap.c) Changes to commands and config files ------------------------------------ * 'asystat' shows serial port signals' status * 'ppp i/f [lcp|ipcp] listen' now works again to configure a passive open, default is still an active open. * 'time server' can take a hostname which won't be resolved until required; 'time server none' undefines server (nettime.c) * 'time read' and 'time set' now run in background so won't hang (nettime.c) * 'time min/maxcorrect' now handle > 32767s (nettime.c) * 'trace' adds a millisecond clock to the trace log (trace.c) * 'record filename' - fixed bug in binary telnet sessions which could corrupt file; linefeed translation fixed for ascii (telnet.c, session.c) * rewrite file - check for r|R rescan flag is better to avoid malformed lines such as '* postmaster # comment heRe' or '* postmaster postmasteR' will no longer recurse infinitely (mailbox.c) * wildmat (wildcards in mailkill, rewrite and nntp kill) accepts ']' or '-' (wildmat.c) * long finger support 'finger -l ...' (finger.c) Changes to log file ------------------- * PPP idle timeout is logged (pppcmd.c) Added source conditionals ------------------------- * GEK_UNUSED wraps functions or data unreferenced in the Demon build * REMOTE enables the remote client (main.c) * DEMON displays original Demon support contact banner (main.c) * ARCHIE_CLIENT compiles in support for Archie client (session.c) * ENCAP enables encapsulation interface (IP over IP) (iface.c, ip*, tcp*) * LOG_UNKNOWN_PORTS enables logging of unexpected TCP and UDP port probes * STACK_CHECK compiles stack overrun checking into kernel (kernel.c,ksubr.c) * PAP_SESSION define to run PAP negotiation in own session (ppppap.c) * POP3_FINGER includes POP3 long finger client (config.c, pop3fngr.c) Summary of source file changes ------------------------------ bm.h * Added mailbox.h to fix warnings * Remove redundant fgets() prototype cmdparse.h * Added correct far prototype for Cmds[] filter.h * Added incomplete struct declarations to fix gcc warnings global.h * Removed unused clock() prototype * Moved ansi_putc() to pc.h * MAXINT16 fixed from long const to unsigned to fix BC4 warnings * Fixed Gcollect prototype iface.h * Added incomplete struct declaration to fix gcc warnings mailbox.h * Fixed nested comment main.h * Fixed warning after #endif nr4.h * Fixed open_nr4() prototype gcc warning pc.h * Added TextWin conditionals * Fixed Shutdown and chtimer prototypes * Added incomplete struct session proto to fix gcc warning * Moved ansi_putc() from global.h, removed ANSI conditional ppp.h * Fixed ppp_output() prototype to match ppp.c pppfsm.h * Added TRACE conditional on PPP debug macros * Added fsm_log() macro to prevent compiling in strings with TRACE undef'd pppipcp.h * Added IPCP type 3 Address negotiation option (RFC1332) * Changed retry defaults to match RFC1661 ppplcp.h * Changed retry defaults to match RFC1661 ppppap.h * Changed retry defaults to match RFC1661 rbsb.h * Fixed far declaration of _cr3tab session.h * Added TextWin conditionals * Added Archie client support * Added forward incomplete struct screen declaration to fix gcc warning socket.h * Added IDENT, POP2, POP3 defines * Moved errno E.. error code defines to avoid clashes with BC's errno values smtp.h * Additions to smtpsv struct for SMTP server enhancements * Fixed ptime() prototype to use time_t * Added doserver() prototype for 'smtp server ...' * Changed delay_job() prototype to accept 8 char string id timer.h * Tick volatile to match pc.c 8250.c * Increased asy_monitor stack to prevent overrun with tracing * Added new asyvec support (requires modified pcgen.asm) * asystat shows status of serial signals alloc.c * Fixed warning when MULTITASK not defined * Tidied bad free logging arphdr.c * Fixed warnings under BC4 bmutil.c * Added MAILBOX conditionals * Whitespace fixes in htype() to accept tab config.c * More configurable conditionals * Merged TextWin conditionals * Conditionals on Listusers * Adjust network proc stack according to configuration * Inline Hopper dequeue in network() dialer.c * Fixed NULL ptr de-refs in control and status commands * Restore process name after running dialer process * Added TRACE conditionals * Added generic config init function to save some space * Fixed cwait to prevent it eating extra char after match string * Removed pause after inline dialer completes (OS/2) * Added flush and pwait()s to character display * Added commands to log results to file domain.c * Fixed BC4 warnings * Fixed DSERVER conditionals to #ifdefs * Fixed NULL de-refs hitting 'q' in cachelist and dodnsquery * Use session flow control in cachelist and dodnsquery * Ndtypes made constant * Return failure flag and ignore -ve TYPE_ANY responses in dns_query() * Removed surplus pwait() and counter in dfile_search() * resolve_rr() doesn't return CNAME or PTR records (JNOS) * Fixed resolve_mx() to be RFC compliant and streamlined * Added are_we_an_mx() function for SMTP client * Added ANY to dtype() * Added new functions for MX and multi A record handling domhdr.c * Fixed DSERVER conditionals * Overrun checks in dn_expand() enet.c * Fixed warning under BC4 files.c * Added more conditionals finger.c * Added long finger support (finger -l sends /W) * Tidied screen output and tprintfs fingerd.c * Improved logging * Added /w detection for finger -l * Check for recv fail ftpcli.c * Fixed BC4 warnings * Tidied logging; log transfer rates, failures and STORs * Close socket on connect failure * Fix memory leak in doftp() * Added delete/rm and rename/mv commands * Added stripdir opt to strip off directory from paths * Tidied printfs ftpserv.c * Fixed BC4 warning ftpsubr.c * Added hash flushing under TextWin icmp.c * All printfs to tprintfs iface.c * Added ENCAP conditionals (JNOS) * Removed unused ifrxbuf() (JNOS) * Fixed metric in ifnetmsk() (JNOS) * Added mode check in setencap() (JNOS) * Don't allow loopback addr change (JNOS) * Case insensitive i/face name in if_lookup() (JNOS) ip.c * Fixed BC4 warning * Length check in iprecv() (JNOS) * ENCAP conditionals (JNOS) * Fixed raw_ip() prototype iphdr.c * Cast to fix BC4 warning iproute.c * Throws away IP packets when memory very low * Added ENCAP conditionals (JNOS) * Added better Loopback checks and route mergeing (JNOS) * printf to tprintf * Added recursive check for Encap i/f in ip_mtu() (PK) * RIP conditional on rt_merge() kernel.c * Fixed out of range constant in psignal() * Added STACK_CHECK configurable to replace Stkchk * Added main stack details to command session (JNOS) ksubr.c * Replaced jmpbuf access with macros (portability, BC4) * Added PSP to 'ps' output * Tidied tprintfs * Fixed psetup() prototype * Added OS/2 to Tasker list (needs support in pcgen.asm) * Added STACK_CHECK conditional on chkstk() mailbox.c * Added MAILBOX conditionals * Removed Cmds[] declaration (now in cmdparse.h) * Removed surplus tab handling in rewrite_address() and rewriting recursion check in attempt to avoid infinitely recursing on malformed lines main.c * Merged TextWin conditionals * Removed Demon support from opening banner, added my address, build date * Local time displayed on startup * Cmds[] prototype moved to cmdparse.h * BC++ v4.0x bug-fix to avoid C++ exception handling libs. * Increase display process stack * shuttrace() only called if TRACE defined * Fixed trailing dot in dohostname() * mallocw() rather than unchecked malloc() in dosource() * domode() removed - unused function * doremote() made conditional (REMOTE) mbuf.c * Added PI conditional (unused, removes DMA page alignment check) * Fix recurse problem in free_buf() (JNOS) nettime.c * 'time server' takes a hostname, IP address resolved when required * 'time read' and 'time set' run in background * Added connect and receive timeout to prevent hanging * Time correction shown in local time * Fixed correction log entry * min/max correction consistently handled as longs pathname.c * Fixed malloc string size in pathname() pc.c * Merged TextWin conditional code * Fixed #endif warning * Tick volatile (modified by interrupt) * Fixed BC4 warnings in secclock() and msclock() * Added JNOS code in secclock() and msclock() to improve accuracy for isAT=0 * Added dobackg() return type * Reduced _stklen to 2048, not much actually runs on the main stack * Slightly better midnight check in pctick() to avoid timer problems (JNOS) * Added SmartDrive[tm] flush function to commit write cache to disk * Rawterm open change (JNOS) * Record file \r fix (JNOS) pktdrvr.c * Fixed BC4 warnings pop3fngr.c * New module - POP3 long finger client using Demon's proprietary *ENV command. Usage is 'sdps [smtp]'. 'smtp' as the third argument does a 'start smtp' after the end-of-session key press. ppp.c * Fixed BC4 warning * Added TRACE conditionals and dummy macros * Increased ppp_recv (sl0 receive) stack to prevent overrun with PAP+trace * Notify line drop to console pppcmd.c * Log idle timeout event * Tidied tprintfs pppfsm.c * Added TRACE conditionals * Log peer's termination request * State machine changes to comply with RFC1661 * Moved default active open so passive can be configured if required pppipcp.c * Fixed BC4 warnings * Added TRACE conditionals * Added IPCP Type 3 Address option negotiation * Fixed option processing bug * Tidied tprintfs * Tidied doscript() ppplcp.c * Fixed BC4 warnings * Added TRACE conditional * Fixed option processing bug ppppap.c * Added TRACE conditionals * Tidied tprintfs * Added PAP_SESSION configurable for PAP login to run in new session * Less screen output with PAP_SESSION undefined rip.c * Fixed BC4 warning * Added RIP conditional on rt_timeout() to prevent link clash rlogin.c * Fixed BC4 warning session.c * Added TextWin conditionals * Added Archie configurables * Fixed warning in newsession() * Tidied tprintfs slhc.c * Fixed BC4 warnings smisc.c * Added REMOTE and REMOTED conditionals sockuser.c * Fixed BC4 warning * Current NULL check in tflush() * Removed unused NETROM code * Fixed ASCII EOL check in recvchar() for \r\r\n returning \n\n * Tidied keywait() tcpin.c * Fixed BC4 warnings * Log unknown port open attempts * Removed check for listen on specific addresses (JNOS) * Removed precedence check (JNOS) * Restart slow-start on source quench (JNOS) * Window probing segment acceptance checks (PK's export v951123) tcpout.c * Fixed BC4 warning tcpsubr.c * Fixed BC4 warning * printf to tprintf tcptimer.c * Preserve ptr in tcp_timeout() (PK's export v951123) tcpuser.c * Fixed NULL ptr deref in reset_all() (from todo list) * Fixed open_tcp() prototype * Bug fix in open_tcp() to prevent multiple servers (on one socket?) (JNOS) * Reset backoff in kick_tcp() (from PK's export v951123) telnet.c * Fixed bug which reset all other FILE.flags when setting binary mode (caused record to fail with rs.internic.net at login: ?) * Fixed warnings on IAC textwin.c * Added ip.h to fix warning * Inline asm constants to C style to fix cpp problem textwinc.c * Added ip.h to fix warning textwind.c * Fixed BC4 warning trace.c * Fixed trace file display for headers only * Use global Nospace rather than local static * Tidied fprintf/fputs * Use time_t for time functions * Added MS_TIMER conditional to add millisecond clock to trace log ttydriv.c * Merged TextWin conditionals * Added macros to simplify TW and standard builds tzset.c * Removed unused tzsetwall() * Added public _monthDay to fix link conflict * Fixed long = int * int cast in getsecs() * Fixed declarations to match Borland headers * Defaults to GMT and EU last Sunday rules udp.c * Log unknown port probes (LOG_UNKNOWN_PORTS) * Fixed open_udp prototype udpdump.c * Added RIP conditional to prevent pulling in RIP code udphdr.c * Fixed BC4 warnings version.c * Updated version number - adds TW and Build name, if defined wildmat.c * Additions from wildmat(3) from INN1.4unoff4 to handle ']' and '-' within [...] ']' must be first in set, '-' can be first or last. * Added configurable conditionals * Added early abort code from INN wildmat to reduce recursions need for multiple stars, removed Star() function, renamed wildmat() to DoMatch() and added new wildmat() user function * Tidied test driver code ------------------- To finish commenting: nntpcli.c * smtpcli.c * smtpserv.c *