0.8u1 ------ NT/95: Fixed a bug in nt/TcpErr.c. We show correct information about errors now. 0.8u2 ------ NT/95: The "reference" compiler changed. NT & W95 versions are compiled with MSVC now. Watcom C is not supported any more. Cosmetic changes to compile binkd with MSVC without warnings. Known bug: binkd exits incorrectly with ctrl-c/ctrl-break 0.8.5 ----- Binkd used to close unsecure sessions only by timeout, fixed readcfg.c rewritten FTN_DOMAIN and FTN_NODE moved to ftndom.h, ftndom.c, ftnnode.h, ftnnode.c Now one can specify an alternative port for a node in config.file: # node 5047/13 hostname.domain:altport - Fixed "bind: Address already in use" Now we define and use INVALID_SOCKET and SOCKET_ERROR instead of -1 for WINSOCK compatibility Logfile is opened just before writing and closed right after that readdir.h -- The header to get POSIX directory interface out of misc compilers Now binkd removes partial .pkt's (When next time creates a new temporary name in the inbound dir) When trying to receive a new file: remove from inbound partial files with this name but diff.size or time. (By default binkd will left old parts as .dt and .hr in the inbound directory) # kill-dup-partial-files Remove from inbound all old partial files. (OFF by default) # kill-old-partial-files NT/95: ctrl-c problems fixed Fixed a bug in protocol.c Show percents while sending or receiving # percents 0.8.6 ----- Fixed a minor bug in protocol.c (Some error msgs were not send to remote) Fixed "restoring poll with 'h' flavour" bug Added .csy support (A la T-Mail) Added more .?sy checks so binkd will not try to start a client to call a busy node Changed password checking a bit New keyword: # minfree binkd will skip all files from a node if size of the next file for us there + minfree < free space in inbound Default -- don't check Flags, like this # flag D:\\bbs\\flags\\toss!.now *.pkt flag D:\\bbs\\flags\\toss!.now *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? Misc bugs fixed by Mike Malakhov 0.8.7 ----- Added minfree-nonsecure (see. minfree). There is a good idea to set them both if you have both of your inbounds on the same file system. # minfree-nonsecure Minor fixes 0.8.8 ----- Extended the syntax of the Flag statement: # flag [!]path wildcard ... `!' before the pathname stands for "immediate" flag Binkd has become a really quiet thing. Use # printq keyword to make queue rescans verbose, and # conlog if you want binkd's log at your console. New keywords: # try hold binkd will try to call a node N times, if failed, it will hold the node for S seconds. The feature is off by default. Support for .try/.hld a la Brake Mailer g710+ Added more paranoya to inbound.c client.c/ftnq.c rewritten Improved SIGCHLD handling, use -DSYS5SIGNALS / -DEMXSIGNALS for SysV / EMX signal models, see reapchld.inc Added some experimental code, which will teoretically help to avoid some bugs Added include keyword: # include filename *IX: SIGHUP forces binkd to restart New keyword: # hold-skipped Binkd will hold all mail, skipped by a node, for S seconds. (Def. -- 3600) Extended the syntax of the Node statement: # node [[z:]n/]n[.p] [{host[:port]|-} [{pwd|-} [flavour [{obox|-} [{ibox|-}]]]]] Flavour is one of i, c, d, -, h; and is the flavour for the outbound filebox. All non-"-" fields will redefine values specified for the same node earlier in config. Default for ibox is inbound or inbound-nosecure depending on the pwd field. Default for port is oport. Binkd sends from obox all non-dir entries NOT matching ".*" wildcard. EVERY TIME YOU PUT A FILE INTO OBOX CHECK IF BINKD WILL BE ABLE TO UNLINK IT. Otherwise, the session will never end. 0.9 (Fri May 9 15:56:43 GSD 1997) --- Perform reverse resolving (logging only) # backresolv Log pid: # pid-file /var/run/binkd.pid Sometimes binkd reported "secure session" but used non-secure inbound Binkd could not rename files with `#' in their names after receiving (Reported by Andrew Sukhorukov) Some minor bugs fixed Added command line options: -i run from inetd (OS/2 or *IX only) (*IX: don't forget to turn `printq', `conlog' and `percents' OFF when running from inetd -- binkd'll not take care about this itself!!!) -c start clientmgr only -p start clientmgr only, make polls, quit if the queue seems to be empty after the next rescan -s start servmgr only Changes based on patch by Boris Tobotras -- 1) you can now use service names (as in /etc/services) with iport/oport 2) before using 24554 as the default port number, binkd will try to find "binkp" entry in /etc/services database first Binkd/0.8.5+ used to lose netmail under UNIXs sometimes and left .pkt's as .dt under OS/2, NT, etc. :-( Fixed. (Many reports) Added syslog support -- to use it you need to make binkd with HAVE_VSYSLOG defined and add syslog facility name to config: # syslog local0 (Based on patch by Boris Tobotras) Binkd could create a poll in *.olo instead of *.flo (Reported by Dmitry Baronov and John Gladkih) Now binkd will touch it's *.bsy's aprox. every 60 seconds. (Binkd changes *.bsy's m- and atimes only!) Extended the syntax of the Node statement: # node [[z:]n/]n[.p] [-nr] [{host[:port]|-} [{pwd|-} [flavour [{obox|-} [{ibox|-}]]]]] `-nr' stands for `Not Reliable Link', this works only on outbound calls with another binkp/1.1 mailer. The option solves the only problem with binkd having no enough time to start receiving of a file from non-zero offset before IP link's down, so don't use it unless you have this problem -- really not effective Map paths in flo's: # ftrans old-string new-string eg, # ftrans "D:\\fido\\outbound" "/var/spool/fido/outb" ftrans "\\" "/" # this replaces all slashes in a path Use as many ftrans's as you want. New keyword: # exec command wildcard ... Binkd will run the command if one of wildcards matches a rcvd file. *S in the command line will expand in a full path for a S.R.I.F file, see !SRIF.TXT for details, eg. # exec "my-freq-processor.exe /options *S" *.req (Not really tested) Fixed hang-ups in EMX version. May be. (John Gladkih) 0.9.1 (Mon Jun 16 17:37:04 GSD 1997) ----- *IX: Configure script. (see !README) Binkd could not correctly ACK receiving of files with some names (Reported by John Gladkih) Binkd ignored fileboxes' flavours (Reported by Sergey Gubanov) Changed a bit pid-file handling. Binkd will not complain about missing .rsp files when running programms with "exec" statement without using of *S macro. Binary log in T-Mail format: # binlog o:\\log\\binkd.sts tzoff 10800 # correct UTC time returned # by time() under DOS-derived OS (By Fyodor Ustinov) Binkd didn't strip disk labels (Reported by Fausto de Carvalho) Command line option `-C': exit(3) on config change -- checked on every incoming connection. (EMX BUG: binkd will not quit until all active connections are closed) Session would never end if remote skips files being sent from our outbound filebox. New keyword: # send-if-pwd Don't send (only receive) files if no password for an inbound session. Remove old .bsy/.csy files (If some left after a system crash). # kill-old-bsy It would be wise to set this to 43200 (12 hrs) on almost any system. (Note that binkd always touches it's .bsy's/.csy's for active sessions; kill-old-bsy is OFF by default) 0.9.2 (Fri Nov 7 16:17:59 GSK 1997) ----- FronDoor- and Bink/+-style binary history (by maxb) # fdinhist in.his fdouthist out.his Amiga port by Dmitry Yurtaev You can now specify a list of internet addresses for a node: # node 999 Host-1;Host-2:333;Host-3 Some minor patches. Binkd used to remove pidfiles not in time (Sergey Babitch) Binkd will do 1:2/3.4 --> p4.f3.n2.z1.fidonet.net translation atomagically if you specify `*' as the hostname for a node: # node 999 * (Yes, you can say "node 999 fido.xxx.ru;*") Use `root-domain' keyword to change the root domain default for 1:2/3.4 --> p4.f3.n2.z1 lookups: # root-domain fidonet.org. Providing a password on incoming call on UNSECURE link (i.e. no password for them in our cfg, but they send us a password) isn't an authentication error anymore (It's not a pwd-protected link either). Binkd now handles correctly files made by Bink/+'s arcshield. (patch by Pavel Gulchouck ) 0.9.3 (Wed Mar 29 10:33:34 EDT 2000) ----- When renaming a duplicate inbound file, for *.pkt and *.?ic (tic, zic, etc.) change the filename but not the extension. (patch by Pavel Gulchouck ) Ditto for arcmail. Always log remote's IP-address in dotted-decimal notation, even if `backresolv' is on. Changes to support spaces in filenames being sent via binkp: spaces and other control characters are converted to C-style \xHH form by sender and back by receiver (H -- is a hex digit, case insensitive). New command line key `-P': poll a node. For example, $ binkd binkd.cfg -P .1 will add a data record for your first point in binkd's core (if needed) and then create a corresponding *.ilo in the outbound. Binkd used to send _all_ log messages to syslogd, reling on it's ability to ignore redundant (per `syslog.conf') data. Now it will only send messages allowed by value of the `loglevel' config variable, thus reducing network traffic and increasing Binkd's syslog support flexibility. Fixed a minor bug in `node' config statement parsing. *IX: Changed code for renaming of files, now should work on FAT, SMBFS, etc. Now binkd will sort files from fileboxes before sending -- by type (first *.pkt's, then arcmail, other files, last *.?ic's) and then by file time (new files last). `Oport' configuration keyword was broken. If Binkd could not open a T-Mail-style history file once it never tried to open it again. Option "-nd" in "node" string in binkd.cfg - "No Dupe Mode" on outbound link with another binkd 0.9.3. It protects for making duplicate files while link losses, but make link a bit slower. New options "filebox", "brakebox" and "deletebox" in binkd.cfg - support of t-mail and TheBrake! fileboxes. New option "prescan" in binkd.cfg - rescan outbound for node and send traffic prognose on session start (compartible with argus). OS/2 emx version restarts himself when config changed and command line option "-C" specified. OS/2 wcc version - "Too many open files" bug fixed. OS/2 & win32 versions: bsy-files keeps opened while session is active (to protect from removing). ACK sending only when file was successfully renamed in inbound to its realname (otherwise session drops). "The file is complete, but not renamed to it's realname, so I'll not remove it!" removed, now it's safe to delete all old .hr and .dt files in inbound. 0.9.4 ----- Win32 code cleanup (Dima Afanasiev ). Don't attempt to kill client manager if it's not running (Michail Vidiassov ). Fixed bug in multithread version (win32 & os2/watcom). New option "temp-inbound" in binkd.cfg - directory for incomplete receiving files (.dt and .hr). New options "socks" and "proxy" in binkd.cfg (Dima Afanasiev ) MD5 authorization (Dima Afanasiev ) New commandline switch "-m" - disable MD5 authorization. prescan did not work on incoming sessions with send-if-pwd NT: new commandline parameters "-i" (install as service) and "-u" (uninstall service) (Dima Afanasiev ) Immediate events (beginning with '!') runs immediate after file receiving (Dima Afanasiev ) Macros *F (file name), *H (host name), *A0..*A9 (remote addresses), *L (listed), *P (protected) in events (Dima Afanasiev ) Option "-ip" in "node" string in binkd.cfg - "Restrict remote IP-address". If specified, incoming connections for this node are allowed only from one of the node hosts. Prescan did not add size of files in fileboxes. Send "NUL TIME" in RFC format. NT: MessageBox if service ended by error (Dima Afanasiev ). New option "connect-timeout" in binkd.cfg - timeout for connect() in seconds. 0 - no check. Don't works in multithread versions. Recommended for linux. New option "passwords" in binkd.cfg - name of file contains passwords in t-mail format (Dima Afanasiev ). New option "defnode" in binkd.cfg - default node flags, now binkd can call unlisted node by fidonet.net (Dima Afanasiev ). SIGHUP handler fixed (sometimes binkd/unix exited instead of restart). -C did not work with -c (client only). binkd -C now check included config-files. binkd -c did not handle SIGHUP (unix). binkd -C now restart himself if config changed (unix). binkd/2 EMX now restart himself by SIGHUP. Some protocol bugs fixed (skip files in NR- or ND-mode caused waiting for session timeout). configure sometimes added redudancent libraries. binkd/2 Watcom did not set modification time of received files. New options "-md" (require md5 authorization) and "-nomd" (disable md5 on outgoing calls) in "node" line (Dima Afanasiev )