BinkD FAQ

Frequently Asked Questions on FTN Mailer Binkd

Version of December 05 2010


This list of Frequently Asked Questions was compiled from the questions

that were asked in the Russian echo conference RU.BINKD. Some part of the answers is based on the developers' recommendations. Please send your comments and updates to Stas Degteff 2:5080/102. This list was translated from Russian by Michael Dukelsky 2:5020/1042.
      01. Where Can One Find a Current Copy of Stable or Beta BinkD Version?
      02. What Is BinkD?
      03. BinkP Protocol.
      04. What Is fidonet.net Domain and Why Is It Necessary?
      05. BinkD Doesn't Connect. What Should I Do?
      06. How Can BinkD Work via HTTP-proxy?
      07. How Can BinkD Work via SOCKS-proxy?
      08. IP-Point: How Can I Make BinkD to Get My Mail From My Bossnode?
      09. "start_file_transfer: .: Permission denied" Error.
      10. BinkD/win and Dial-up: Dialing-up and Disconnecting Automatically.
      11. I Have Changed BinkD Configuration File On-The-Fly. When Will It Be Reloaded?
      12. How Can BinkD Work With T-mail/IP?
      13. Is There At Least One Log Analyzer Under Unix?
      14. BinkD Connects Too Slowly Though I Have a High-Speed LAN.
      15. Why Does BinkD Not Understand Command Line Options When I Start It From inetd?
      16. Can One Make a File Request From BinkD?
      17. How Can I Add BinkD To a Fidonet Box Working With a Modem?
      18. Flags Are Not Created On Receiving a File, Programs Do Not Start.
      19. 'skipmask' Keyword Does Not Work.
      20. BinkD Under DOS.
      21. BinkD Under Windows 3.x.
      22. Different FTN Domains in BinkD And a Tosser Without 5D Support.
      23. How Does "domain ... alias-for ..." In The Configuration File Work?
      24. What Does "send: TCP/IP error (-10000)" Mean and How To Cure It?
      25. Argus (Radius) and BinkD: Argus Error "Aborting due to carrier loss"
      26. The Outbound Name Has a Comment Char and Binkd Doesn't See It
      27. Is There a Possibility to Start an Application On an Event From BinkD?
      28. What Is the Difference Between BinkD/w32 and BinkD/w9x?
      29. I Miss a Chat in BinkD And I Want To Synchronize Time!
      30. BinkD Receives an Incoming Call Only After an Outgoing One.
      31. "start_file_transfer: ECHO is off.: No such file or directory" Error.
      32. How to Create a Poll Correctly.
      33. What Does the Number in Brackets in the Log Mean?
      34. How to Configure BinkD for sending outgoing mail?
      35. What for Does One Need the "share" Directive in the Configuration File?
      36. What for Does One Need the "ftrans" Directive in the Configuration File?
      A1. I Have Found a Bug in BinkD!
      A2. I Want To Talk To Developers.
      A3. I Want To Get Information About Changes In BinkD Immediately!
      A4. And When Will BinkD Do ... ?

01. Where Can One Find a Current Copy of Stable or Beta BinkD Version?


In fileecho AFTNBINKD.


      In Internet:

      Release versions, documentation, log analyzers etc. (Pavel Gulchouck


      2:463/68):
      ftp://cvs.happy.kiev.ua/pub/fidosoft/mailer/binkd/
      The mirrors:
      ftp://cheetah.itpark.com.ua/pub/fido/binkd/
       (Ukraine, Pavel Gulchouck 2:463/68)
      http://binkd.spb.ru/cvs.happy.kiev.ua/pub/fidosoft/mailer/binkd/
       (Russia, Andrey Ostanovsky 2:5030/1957)

      Beta versions:


      Public CVS
       :pserver:binkd@cvs.happy.kiev.ua:/cvs , module binkd, empty password
       Command examples.
       Login to the cvs server:
       cvs -d :pserver:binkd@cvs.happy.kiev.ua:/cvs login
       Retrieve the latest sources of the current branch (v.1.0 at the moment):
       cvs -d :pserver:binkd@cvs.happy.kiev.ua:/cvs co binkd
       Retrieve the latest sources of the binkd 0.9.x-stable branch:
       cvs -d :pserver:binkd@cvs.happy.kiev.ua:/cvs co -r binkd-0_9-stable binkd
       Retrieve the sources of the binkd 0.9.10-release:
       cvs -d :pserver:binkd@cvs.happy.kiev.ua:/cvs co -r binkd-0_9_10 binkd

      Anonymous FTP:


      ftp://cvs.happy.kiev.ua/pub/fidosoft/mailer/binkd/snapshot (main)
      ftp://ftp.grumbler.org/pub/binkd/current (the mirror is refreshed

at 23:50 UTC+5)

      Binkd port for Windows CE:


      http://nicka-s.narod.ru/fido/index.html
       (Russia, Nickita Startcev 2:469/105.96 & 2:5030/777.319)

      Binkd/2 1.0a (current, EMX), compiled everynight:


      FREQ from node 2:221/1, file alias: binkd2e. It's possibe to download from
      BBS of node 2:221/1 (accessed also via telnet:rbb.cjb.net)
      http://rbb.homeip.net/pub/os2/comm/bbs/binkd2e.rar
       (Suomi, Tommi Koivula 2:221/1 & 2:221/360 & 2:221/361)

      Documentation, log analyzers etc.:


      http://www.doe.carleton.ca/~nsoveiko/fido/binkd/

      Man page, binkp description, binaries etc. (Stas Degteff 2:5080/102):


      http://binkd.grumbler.org/

      This FAQ list:


      http://binkd.grumbler.org/binkdfaq.shtml.en (or .txt.en)

      The official BinkD binaries are named in a way that shows the OS, the

compiler and the way of building the program.

      Windows (32bit) versions:


      binkd.exe, binkdw32.exe - binkd/w32, console, compiled by MS Visual C
      binkd-dll.exe - binkd/w32, console, MS Visual C, needs msvcrt.dll
      binkd-mingw.exe - binkd/w32, console, MinGW32, needs msvcrt.dll
      binkd9x.exe - binkd/w9x, w/o a window, compiled by MS Visual C
      binkd9x-dll.exe - binkd/w9x, w/o a window, MS Visual C, needs msvcrt.dll
      binkd9x-mingw.exe - binkd/w9x, w/o a window, MinGW32, needs msvcrt.dll

      OS/2 versions:


      binkd2.exe - Watcom C compiler, no Perl
      binkd2e.exe - emx, can load the Perl dll and can work without it
      binkd2pl.exe - emx, Perl is liked staticly (i.e. no need in a Perl dll)
      binkd2eo.exe - emx/omf (multithreaded), no Perl.

02. What Is Binkd?


Binkd is a fidonet mailer working via Internet and using binkp protocol

(FSP-1018 & other). This protocol is also supported by such mailers as Argus (win32; RitLabs; http://www.ritlabs.com) and it's clones Radius and Taurus, BForce (unix), Internet Rex program (DOS/W32/OS2) and BeeMail (win32; Stephen Proffitt, 1:105/10; http://beemail.gexonline.net/)
      Binkd features:
      - freeware, open source;
      - there are versions for Unix (linux, freebsd, SCO, ...), OS/2 (native
       & EMX), Windows NT/2000/XP and Windows 95/98/Me, Windows 3.x, DOS;
      - it can work as daemon in Unix and as service in Windows NT/2000/XP,
       there is a separate version for working as service in Windows 9x;
      - simple TCP-connection (data integrity is supported at TCP level);
      - BSO (bink-style outbound);
      - LBSO (Long BSO);
      - ASO (Amiga-style outbound);
      - path translation in ?LO files (it is used when the outbound resides
       on a net drive);
      - personal fileboxes for each node for the files to send and to receive;
      - T-mail-style and The Brake!-style fileboxes are supported;
      - translation of a FTN-address into a domain name (*.fidonet.net) is
       supported;
      - a password file in the style of T-mail is supported starting with
       version 0.9.4 and a password file in the style of ifcico starting with
       version 1.0;
      - file requests using SRIF are supported;
      - a flag on receiving files (using a template) may be created;
      - a program on receiving files (using a template) may be started;
      - receiving files (using a template) may be refused starting with
       version 0.9.4;
      - working via a HTTP or SOCKS proxy server (starting with version
       0.9.3.https);
      - password encryption (MD5) starting with 0.9.4 release;
      - traffic encryption starting with version 0.9.5;
      - the remote node IP-address check for an incoming connection is
       supported starting with version 0.9.5.

03. Binkp Protocol


The name Binkp means Binkd protocol. It is described in FSP-1018

(FIDOnet standard proposal) and port 24554 is assigned for binkp in RFC-1700 (request for comments, issued by IANA).
      The file transfer protocol using two-way TCP connection is developed for FTN mailer BinkD. Port 24554 is used on default.

      There are two versions of the protocol: 1.0 and 1.1. They are backward

compatible. The main difference of version 1.1 is a possibility of making a FREQ during a session. Besides binkp 1.1 has at present NR option (non-reliable mode dealing with a non-reliable channel) and ND option (no dupes mode protecting from repeated file transmission), MD5 (password hashing), CRYPT (traffic encryption).

      Protocol version 1.0 is supported by BinkD, version 1.0 is implemented

in Argus and its clones (Binkp is implemented there with addition of FREQ processing technique of its own and other changes), in MBSE, Internet Rex, BForce and others. In Internet Rex (version 2.24 and later) an incompatible variant of Binkp 1.1 of its own is implemented.

      One can find the protocol description in Russian (cp866) here:

http://binkd.grumbler.org/binkp.txt

04. What Is fidonet.net Domain and Why Is It Necessary?


'fidonet.net' is the domain registered for FTN-address to Internet

domain name translation. It is used primarily at BinkP connections. The address 1:2/3.4 is translated to the domain name p4.f3.n2.z1.fidonet.net; after that BinkD (or another IP mailer) obtains the node IP-address by means of the operating system. If the domain name exists one can try to set a connection.
      Hence the fidonet.net domain policy was compiled: a domain name in the fidonet.net zone may be granted to the nodes that are present in the nodelist, have either a permanent IP address or a domain name and respond at port 24554 using the BinkP protocol twenty four hours a day.

05. BinkD Doesn't Connect. What Should I Do?


1. Please check whether the remote node responds at port 24554 using

the 'telnet' command. If a connection is not set check whether your computer is connected to the net at this moment (using ping command). If the checks are successful then check BinkD configuration. Increasing the loglevel to 6 or more can help here.
      Here are some examples for node 2:5080/68:

      1.1.


      (The control characters are removed from the telnet reply and it is broken down to lines for the sake of convinience)

      m:\>telnet f68.n5080.z2.fidonet.net 24554

      -.OPT CRAM-MD5-593e3e5411515fc1cf75816bb74e41d0-SYS Academ


      -ZYZ Alexei Kuklin-LOC Ekaterinburg, Russia-NDL 115200,TCP,BINKP,HUB
      -%TIME Tue, 20 Feb 2001 15:25:20 +0500- VER binkd/0.9.4/Win32 binkp/1.1
      - 2:5080/68@fidonet-OPT ND

      M:\>ping f68.n5080.z2.fidonet.net

      Pinging fido68.imp.uran.ru [195.19.130.68] with 32 bytes of data:

      Reply from 195.19.130.68: bytes=32 time=505ms TTL=122


      Reply from 195.19.130.68: bytes=32 time=555ms TTL=122
      Reply from 195.19.130.68: bytes=32 time=406ms TTL=122
      Reply from 195.19.130.68: bytes=32 time=372ms TTL=122

      The node works. Check your BinkD configuration. Maybe the timeout is too

small (it is the time necessary for setting up a connection, it can be evaluated using the delay before response in telnet).

      Another case: telnet connects but ping says "Request timed out".

      M:\>ping f68.n5080.z2.fidonet.net

      Pinging fido68.imp.uran.ru [195.19.130.68] with 32 bytes of data:

      Request timed out.


      Request timed out.
      Request timed out.
      Request timed out.

      It means that ICMP messages are forbidden somewhere between your nodes.

That does not influence BinkD performance.

      1.2.

      M:\>ping f68.n5080.z2.fidonet.net

      Unknown host f68.n5080.z2.fidonet.net

      Such a reply means that your computer could not find a DNS entry for the

node. Check the DNS configuration in your system. If it is correct make sure the DNS server works and the remote node address is correct.

      1.3.

      If ping replies positively but telnet cannot set up a connection it is

possible that binkd is not started at the remote node currently. Try to ask the node's sysop whether his/her BinkD is started. If it is started and can connect to other nodes then access to port 25554 is denied by the firewall of your net. Try to start BinkD via a proxy server (see "How Can BinkD Work via HTTP-proxy" and "How Can BinkD Work via SOCKS-proxy").

      1.4.

      M:\>ping -w 5000 f68.n5080.z2.fidonet.net

      Pinging fido68.imp.uran.ru [195.19.130.68] with 32 bytes of data:

      Reply from 195.19.130.68: bytes=32 time=3674ms TTL=122


      Request timed out.
      Reply from 195.19.130.68: bytes=32 time=4232ms TTL=122
      Request timed out.

      Telnet sometimes connects to port 24554 but more often it does not.

      The node works but the link channel between the partners is overloaded or

too slow. Because of that BinkD connects not at every try (some IP packets are lost) or it does not connect at all (the time to wait for the remote node reply is too small). You cannot get it over in the first case because the packets are lost in their way and you cannot improve it. In the second case one should increase timeouts in the BinkD configuration file (the values are in seconds):

      timeout 60


      connect-timeout 300
      call-delay 60

      If increasing the values does not help then change your uplink.

      1.5.


      Telnet does not connect to the port 24554 and the remote host does not reply to ping.

      The node does not reply. Possible variants are:

      1 - your computer or the remote node is disconnected from the internet at

the moment or routing is corrupt (the line is broken, power supply is switched off, some of the internet providers carries out maintenance work etc.) so please make several tries later.

      2 - your computer is in Intranet and getting out to the internet is

possible only via a proxy server. See "How Can BinkD Work via HTTP-proxy", "How Can BinkD Work via SOCKS-proxy".

06. How Can BinkD Work via HTTP-proxy?


It is not a rare case when users go out to the internet from their

corporate LAN exclusively via the proxy server based at the only computer connected to the internet. Thus BinkD cannot make a direct connection to the remote node and one must use the proxy server. Proxy servers support was included in versions 0.9.3.https, 0.9.4 and the later ones.
      One can use BinkD via a HTTP proxy only if CONNECT host 24554 command is allowed in the proxy server or the CONNECT command is allowed for all remote ports. The command is usually used for the secure HTTP protocol (URLs of the "HTTPS://..." type), it is also known as S-HTTP. Because of that such a proxy is quite often referred to as a HTTPS proxy.

      If BinkD reports of an authorization error then the necessary command

is prohibited in the proxy configuration or it is allowed for some ports only (usually 443).

      Suppose the connected to the Internet computer has the IP address

192.168.0.1 in its LAN and the proxy server at the computer responds on port 3128. Here is the line in BinkD configuration file necessary for working via the HTTP proxy.

      1. A proxy server without user authorization (no login and password are

demanded):

      proxy 192.168.0.1:3128

      2. A proxy server with user authorization (it is necessary to type login

and password, e.g. login "user", password "password"):

      proxy 192.168.0.1:3128/user/password

      3. Microsoft proxy server with NTLM protocol of user authorization (one

must be inside a domain). Suppose login is "user", password is "password", the user computer is "host" and the domain name is "ntdomain":

      proxy 192.168.0.1:3128/user/password/host/ntdomain

      If the proxy server administrator has allowed connection only to some

selected ports (usually to port 443) then BinkD reports "Connection rejected by proxy". Here is an example:

      31 Mar 16:48:43 [59987] BEGIN, binkd/0.9.3/SOCKS/HTTPS -p BINKD.CFG


       31 Mar 16:48:43 [59987] clientmgr started
      + 31 Mar 16:48:43 [40423] call to 2:5000/44@fidonet
       31 Mar 16:48:43 [40423] trying 195.209.235.3, port 24554...
       31 Mar 16:48:43 [40423] connected to proxy.osu.ru:24554
       31 Mar 16:48:44 [40423] Connection rejected by proxy (HTTP/1.0 403 Forbidden)
      ? 31 Mar 16:48:44 [40423] unable to connect: {13} Permission denied

      In such a case you may try to use http tunnelling for instance with the

help of httport (one can take it at http://www.htthost.com/) or you may find a node receiving BinkP connections at port 443.

07. How Can BinkD Work via SOCKS-proxy?


It is not a rare case when users go out to the internet from their

corporate LAN exclusively via the proxy server based at the only computer connected to the internet. Thus BinkD cannot make a direct connection to the remote node and one must use the proxy server. Proxy servers support was included in version 0.9.4 and the later ones.
      BinkD works with a SOCKS proxy version 4 and 5. The first one does not demand an authorization (no login and password), the second one demands it as a rule.

      Suppose the connected to the Internet computer has the IP address

192.168.0.1 in its LAN and the SOCKS server at the computer responds on port 1080. Here is the line in BinkD configuration file necessary for working via the SOCKS proxy.

      1. A SOCKS server without user authorization (no login and password are

demanded):

      socks 192.168.0.1:1080

      2. A proxy server with user authorization (it is necessary to type login

and password, e.g. login "user", password "password"):

      socks 192.168.0.1:1080/user/password


08. IP-Point: How Can I Make BinkD to Get My Mail From My Bossnode (Uplink)?


Make a poll using the command line option -P:


      binkd -P1:2/3 binkd.cfg

      Usually they want BinkD to exit after the session is finished. One can

use the command line option -p:

      binkd -p -P1:2/3 binkd.cfg

      If BinkD does not exit for a long time after the session has been

finished then decrease the value of rescan-delay (and sometimes the value of timeout).

      If BinkD works permanently (e.g. as a Windows service) and you want to

get your mail regularly then you need some additional program or a script. As an example in DOS, Windows or OS/2 it is enough to execute the command:

      cd . >> %outbound%\NNNNMMMM.ilo

      where NNNN is the hex net number,

MMMM is the hex node number,

%outbound% is the path to the necessary zone outbound.


09. "start_file_transfer: .: Permission denied" Error


You get the message when BinkD cannot open a file for sending indicated

in some *.?lo file. Most likely the file has a line containing only "." because the poll has been made by a command of the type
      echo . >> xxxxyyyy.flo

      you should change it to "cd . >> xxxxyyyy.flo"


10. BinkD/win and Dial-up: Dialing-up and Disconnecting Automatically


The problem is to configure the fidonet box in such a way that BinkD

would initiate a telephone call to your Internet provider, get your mail and disconnect.
      The solutions:

      1st Solution

      Configure automatic connection and timeout in the dial-up connection

properties (idle time before hanging up). It is convinient to use a non-standard software for dialing-up (Advanced Dialer and others). You should start BinkD with a command line option -p periodically (and possibly -Paddress for BinkD to make a poll to the address).

      binkd -p -P1:2/3.4 binkd.cfg

      2nd Solution

      Use the command line option -p and the batch file where first Remote

Access Service (RAS) is started then BinkD is started and after BinkD exits RAS is stopped.

      Two variants, for Windows NT and for Windows 2000:


      === binkdpoll1.cmd
      rasdial Connection
      binkd -p binkd.cfg
      rasdial Connection /disconnect
      ===

      === binkdpoll2.cmd


      net start "remote access service"
      net start "remote access auto service"
      binkd -p binkd.cfg
      net stop "remote access auto service"
      net stop "remote access service"
      ===

      3rd Solution (The Best One For Win9x)

      Use the command line options -p and -Paddress and control connection

with a non-standard dial-up software (for example dialerp). This solution is the most reliable one (especially if the modem connection to your Internet provider is bad) due to the fact that dialerp can start some indicated programs at setting the connection. Here is the batch file you should start in the 'Execute' parameter of the dialerp configuration file:

      ====


      binkd -p -P1:2/3.4 binkd.cfg
      dialerp BREAK *
      ====

      The question you may now ask: Where can I take dialerp? The answer is:

Ask the author (Alexander Vedjakin, 2:5020/540) or look for it in fileecho archives and in ftp/http.

      In any case you should set a small value for 'rescan-delay' parameter in

the BinkD configuration file. Binkd would exit faster.

      === binkd.cfg


      # Outbound rescans period (sec)
      rescan-delay 2
      ===

11. I Have Changed BinkD Configuration File On-The-Fly. When Will It Be Reloaded?


Starting with the version 0.9.1 BinkD could feel that its configuration

file changed. It exited with code 3 if it had been started with option -C. Modification time was checked after each ingoing session. Here is the batch file for starting BinkD versions 0.9.1-0.9.3 and 0.9.4-0.9.6/w32:
      ====
      :aaa
      binkd -C binkd.cfg
      if errorlevel 4 goto end
      if errorlevel 3 goto aaa
      :end
      ====

      In the versions 0.9.4/unix and /os2-emx (and in these ones only) BinkD

restarts automatically if it is started with -C command line option. Besides that starting with version 0.9.4 the files included into the configuration file with the help of 'include' keyword are tested not only on incoming sessions but also in every 'rescan-delay' seconds.

      If you install BinkD 0.9.4/w32 as a Windows NT service you should use it

with -C command line option. Then BinkD re-reads its configuration file.

      Before version 0.9.4 changes in the configuration file were not tested if

BinkD was started in client-only mode (-c command line option).

      In the unix versions configuration file is re-read on SIGHUP signal

by the command
      kill -HUP `cat /var/run/binkd.pid`

      In the version 1.0 configuration file is re-read automatically if

changed. Binkd tests on changes at every 'rescan-delay' seconds.

12. How Can BinkD Work With T-mail/IP?


There is no way to do it. The protocols differ in essence: BinkD uses

BinkP protocol whereas T-mail/IP uses EMSI etc.

13. Is There At Least One Log Analyzer Under Unix?


There exist many Perl scripts and several win32 binaries. For example here:


      binkdstat 0.1 beta4 Christmas version 6.01.2002
      Statistics generator for BinkD
      (c) Dmitry Sergienko, 2:464/910@fidonet, dmitry@trifle.net 14.08.2000
      http://web.apex.dp.ua/~trooper/binkdstat
      http://binkd.grumbler.org/loganalisers/binkdstat-ds.0.1_beta4_Christmas

      You can find several different generators at Nick Soveiko's site:

http://www.doe.carleton.ca/~nsoveiko/fido/binkd/statistics_generators/

      There also exists BndStat program:


      BNDST101.ZIP 34812 14-Aug-01 (AREA:AFTNMISC)
      BndStat 1.01. With sources. BinkD statistics generator. Compiled for all
      platforms. Included win32 binaries. (C) Dmitry Rusov, 2:5090/94

      A set of statistics generators for BinkD and qico under *nix (c) Vasily

Krysin, 2:5054/84: http://deep.perm.ru/files/fido/fustat-0.02.tar.gz

      Log analyzer by val khokhlov (perl):


      http://www.vk.kiev.ua/create/soft.html#bnkds
      http://binkd.grumbler.org/loganalisers/stat-binkd.pl.gz

      binkdstat () val khokhlov, Dmitry Kolvakh, updated at April 2006


      http://www.pstu.ru/~keu/binkdstat.zip
      http://binkd.grumbler.org/loganalisers/binkdstat.zip

14. BinkD Connects Too Slowly (~20 Seconds) Though I Have a High-Speed LAN


It is possible that 'backresolv' parameter is on (for logging the remote

host domain name) and DNS is not configured.
      The simplest solution is to comment the 'backresolv' out in the configuration file. Configuring DNS is a more complex solution.

15. Why Does BinkD Not Understand Command Line Options When I Start It From inetd?


You should use the program name as the first parameter in inetd.conf (it

may be any string for BinkD), the second and the following parameters are the command line options (-iqs etc.) and the last parameter is the configuration file full path:
      binkp stream tcp nowait root /usr/fido/binkd binkd -isq /usr/fido/binkd.cfg

      If you do not use -q option then you should switch console output off

(comment 'printq', 'percents', 'conlog' out).

16. Can One Make a File Request From BinkD?


It's a piece of cake! BinkD supports WAZOO FREQ.


      To request files from a remote system it is necessary to create a file of type nnnnmmmm.REQ and to put it in the outbound directory near *.?ut and *.?lo files. But *.REQ files do not initiate BinkD to call a link so to make a FREQ it is necessary to make a poll.

      One can configure BinkD for calling an external file request processor

supporting SRIF (FSC-0086) for receiving and handling FREQs in BinkD. Please read the "!SRIF.TXT" file and the comment to 'exec' in the configuration file.

      Here are the examples of lines in configuration file for DOS-based OS

and for *nix (you should use regular expressions in the latter case for BinkD to match both upper-case and lower-case letters, e.g. both *.REQ and *.req):

      exec "\\ftn\\allfix\\allfix.exe RP -SRIF *S" *.req

      exec "/ftn/bin/tmafreq-srif *S" *.[rR][eE][qQ]

      The following file request processors are compatible with BinkD (but

they are not the only ones, any other one supporting SRIF will do):

      Allfix by Harms Software Engineering: it is a fileecho processor with

built-in file request processor and it has versions for DOS and OS/2;

      ViReq by Michael Haase (2:2432/280): a specialized FREQ processor for

Windows, it is distributed by Michael Massenberg (2:2411/505) via modem, ISDN and Fido-over-IP.

      tmafreq by Maxim Timofeyev : FREQ processor

is created for unix-like OS and ported into Windows. One may obtain tmafreq from different BBS and FTP with fileecho archives, or may get tmafreq sources from anonymous CVS :pserver:anoncvs@tma.spb.ru:/cvsroot, module "tmafreq".

17. How Can I Add BinkD To a Fidonet Box Working With a Modem?


You must configure your modem mailer and tosser for BSO (binkley-style

outbound) mode so that all of them including BinkD would have the same inbound directories (and also the same outbound directories). For example, one may put the following line to T-Mail mailer configuration file:
      BinkStyle_Pack_For All

      If your mailer can work with AMA (arcmail-attach) only you may try to

use fileboxes and/or find programs that can convert your mailer's queue to BSO or fileboxes. For example, Mail2dir utility allows using fileboxes with FrontDoor. Such a means disables a possibility of sending your mail to the same link both by IP and by modem (for instance, when one of the channels failed). There is another more radical but more flexible way: you may change your mailer.
      See also question 34.

18. Flags Are Not Created On Receiving a File, Programs Do Not Start


For sure you have a wrong template in the configuration file. You have to

use it this way (the first two lines are for Windows and OS/2, the rest are for the Unix-like OS):
      flag m:\\ftn\\flg\\pntseg.flg m:\\\\ftn\\\\inbound\\\\sec\\\\pntstr*.*
      flag m:\\ftn\\flg\\toss.flg *.su? *.mo? *.tu? *.we? *.th? *.fr? *.sa? *.pkt

      exec "/usr/local/bin/ftrack -c /fido/conf/ftrack" *.[Pp][Kk][Tt]


      flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Ss][Uu][0-9A-Za-z]
      flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Mm][Oo][0-9A-Za-z]
      flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Tt][Uu][0-9A-Za-z]
      flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Ww][Ee][0-9A-Za-z]
      flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Tt][Hh][0-9A-Za-z]
      flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Ff][Rr][0-9A-Za-z]
      flag "/ftn/flg/echo-in" /ftn/inboundsec/*.[Ss][Aa][0-9A-Za-z]
      flag "/ftn/flg/fech-in" /ftn/inboundsec/*.[Tt][Ii][Cc]

      You must use the full path with four slashes for the file to receive or

the template should start with an asterisk character. You must use two slashes for the flag file.

      You must use the full path because using a filename without path means

the event of receiving the file in the current directory and not in the inbound directory. If a template begins with "*" then it means "any directory" (and since all the files are received in one of the inbound directories it works for both password protected and for unprotected sessions).

      In a UNIX-like OS you should take into account that filenames are case

sensitive. Please use regular expressions in templates.

19. 'skipmask' Keyword Does Not Work


A filename is compared without path and the comparison is case

sensitive when 'skipmask' is used.

20. BinkD Under DOS


Victor Pashkevich (2:451/30) has ported BinkD 0.9.2 for MS DOS. Since

March 2003 the latest ported version is officially supported and it is included into the CVS source tree.
      BinkD 0.9.2/dos sources:
      http://www.doe.carleton.ca/~nsoveiko/fido/binkd/0.9.2/

      The sources and binaries of binkd 0.9.2/dos and binkd 0.9.5a/dos (they may

be not the latest):
      http://www.n451.z2.fidonet.net/binkd/

      The latest sources are on the CVS server.

      The DOS version has the feature of not supporting a net and every

possible implementation uses one of the IP stacks developed by an independent producer. The implementation by Victor Pashkevich works with the drivers of IBM TCP/IP version 2.1 only. One can find them here:

      http://www.ibm.com


      http://binkd.grumbler.org/tcpdos21.rar
      ftp://ftp.grumbler.org/pub/tcpdos/tcpdos21.rar

      You may also make a file request for tcpdos21.rar from 2:5080/102.

      Besides everybody may port BinkD for the version of IP drivers for DOS

he/she has :-). The sources are in the Internet and in the fileecho (see "Where Can One Take a Fresh BinkD Version?")

21. BinkD Under Windows 3.x


Sergey Zharsky (zharik@usa.net) ported BinkD 0.9.2 and BinkD 0.9.5 for

Windows 3.x. They work using IP stacks Trumpet Winsock ver. 3.0 revision D and Novell TCP/IP Client for Win 3.11 (see the answer to the question 'BinkD Under DOS', the section "The DOS version has the feature...").
      The sources and the binaries:
      http://zharik.host.sk/index.php?pages=d&page=d

      0.9.2 only:


      http://www.doe.carleton.ca/~nsoveiko/fido/binkd/0.9.2/

22. Different FTN Domains in BinkD And a Tosser Without 5D Support


Suppose there are two domains (with different zone numbers though it

does not matter). Mail can be successfully sent to the first domain but not to the second one. This situation may arise if the tosser, the tracker and the other your FTN programs do not support 5D BSO.
      This is a typical BinkD configuration for two FTN domains and 5D outbound:

      domain fidonet c:\\ftn\\outbound\\fidonet 2


      domain omeganet c:\\ftn\\outbound\\omeganet 11
      address 2:5070/222@fidonet 11:58/6@omeganet

      One must configure not the zone of your own address for 'domain'

keyword as one might think but the zone that should not be appended to the outbound name (i.e. the outbound subdirectory extensions are not processed for the zone denoted in the 'domain' line).

      If your tosser would create bundles for omeganet in the omeganet

directory then you should write as indicated above. But since it does not work with 5D and it creates the bundles in fidonet.00b then you should write this way:

      domain fidonet c:\\ftn\\outbound\\fidonet 2


      domain omeganet c:\\ftn\\outbound\\fidonet 2
      address 2:5070/222@fidonet 11:58/6@omeganet

      It is obligatory to configure all your addresses with domains. The

outbound directory and the path should be the same everywhere (4D tosser considers all addresses to belong to one domain).

23. How Does "domain ... alias-for ..." In The Configuration File Work?


An alias is taken into consideration when the remote site address is

analyzed.
      Example:
      domain fidonet.net alias-for fidonet

      'fidonet.net' in the remote site address will be changed to 'fidonet' and

address 1:2/3.4@fidonet.net will be dealt with as 1:2/3.4@fidonet.

24. What Does "send: TCP/IP error (-10000)" Mean and How To Cure It?


There are two bugs here, one of them had been fixed before a branch for

binkd 0.9.5-stable was created.
      1. The fact is that the error number was not stored in a pair of places in BinkD code but it became apparent nowhere except the Windows version. It showed there because unlike others the MS Visual C run-time library does not correspond to the standard. 'errno' and 'h_errno' are macros in MSVC RTL and they expand to system calls which in the end call GetLastError(). And the variable errno to which the function returns its value is cleared to zero at every successful system call. Thus errno is cleared at successful file open (according to the C standard errno should not change if there were no more errors). The influence of the bug is fixed in BinkD:

      2003/04/28 07:30:16 gul


      * Bugfix: Log() changes TCPERRNO

      2. A Winsock bug: select() always returns successful for a non-blocked

socket. The influence of this and other Winsock bugs is partially fixed:

      2003/06/06 16:27:44 gul


      * Workaround winsock bug - giveup CPU when sending file
      2003/08/11 08:41:55 gul
      * workaround winsock bug (patch by Alexander Reznikov)
      2003/08/24 00:29:31 hbrew
      * win9x-select-workaround fix, thanks to Pavel Gulchouck)

      At the high log level many messages of the 'data transfer would block'

type and debug info on select() execution is still logged. It does not influence a regular work mode. It could be fixed but Pavel decided not to complicate the code.

25. Argus (Radius) and BinkD: Argus Error "Aborting due to carrier loss"


A session between BinkD and Radius (or Argus, it does not matter) is

aborted "due to carrier loss" when traffic encryption is enabled in Radius. Moreover the connection at the BinkD side is aborted due to the remote side initiative ("Connection reset by peer").
      Log from the Radius side:
      30-Aug-2003 22:24:31 Encrypted (2:463/375) session
      30-Aug-2003 22:24:32 Aborting due to carrier loss
      30-Aug-2003 22:24:32 Session aborted
      30-Aug-2003 22:24:32 End

      The reason is that Argus authors implemented an encryption method of

their own which is not implemented in BinkD. It would be OK but Argus (and Radius together with it) does not keep compatibility with BinkP protocol: the encryption is enabled unconditionally without checking if the remote side supports it. Such a glaring contradiction to the specification is inadmissible but alas... The way out is to disable encryption in Argus for every link using BinkD.

      The correct mailer behaviour should be as follows:


      - if encryption is not mandatory then proceed with the nonencrypted session;
      - if encryption is set mandatory in the mailer configuration then it should inform the remote of aborting the session, for example in such a way:
      M_ERR "DES encription required"

26. The Outbound Name Has a Comment Char and Binkd Doesn't See It


If BinkD is configured in a working system where Bink/+ is used and the

outbound path contains "#" character which is a comment character for BinkD the character should be escaped by a backslash in the BinkD configuration file for BinkD to interpret it correctly.
      domain fidonet c:\\fido\\\#out
      inbound-nonsecure c:\\fido\\unsec\#in
      inbound c:\\fido\\\#in

      It is not necessary to escape the character in the version 1.0 starting

with the snapshot 1.0a-317 because the beginning of a comment in the middle of a line is now the sequence of either a space and the pound character (" #") or a tab and the pound character. See the examples below.

      There is no comment:


      temp-inbound c:\\fido\\temp#this_is_not_a_comment_but_a_directory_name

      There are comments here:


      inbound c:\\fido\\in # this is a comment since there is a space before "#"
      # This whole line is a comment.

27. Is There a Possibility to Start an Application On an Event From BinkD?


If time events are discussed then no, there is not and there will never

be. There are diverse schedulers for controlling such events and they are included in the distribution packages of modern operating systems.
      As to an event of receiving a file it is implemented long ago (starting with the version 0.9). See tokens "exec" and "flag" in the configuration file.

28. What Is the Difference Between BinkD/w32 and BinkD/w9x?


Binkd/w32 is a traditional version of BinkD and a console application.

Binkd/w9x is a GUI Win32 application creating temporary console windows in case of necessity. If one starts BinkD/w32 in the existing console window (for example, in the command.com or cmd.exe window) it will work in the same window. Unlike it BinkD/w9x immediately transfers control to the calling task.
      The development of BinkD/w9x was necessitated by several significant differencies between Windows 95/98/Me and Windows NT/2000/XP/2003.

      In the first place console is implemented differently. The main

difference: Windows 9x console does not react to shutdown and close window signals thus a working BinkD/w32 cannot stop correctly when the window is closed or the system shutdown (or reboot) is performed.

      In the second place the principles of performing a service differ in

different branches of Windows.

      As a result BinkD 1.0a/w32 can work as a service only in Windows

NT/2000/XP/2003 and BinkD 1.0a/w9x as a service only in Windows 95/98/Me. It is planned to support Windows NT service in BinkD/w9x. A correct support of working as a service under Windows 9x is impossible for BinkD/w32 because of the described console features in the systems.

29. I Miss a Chat in BinkD And I Want To Synchronize Time!


You may use talk, icq or irc (or even Gadu-Gadu) for chatting. If you

can start BinkD then all the programs mentioned here and many other ones may use the same channel. You may chat as much as you like.
      And there are special utilities for synchronizing time via IP, for example ntpdate. Unlike mailers such utilities take time from the precise time servers.

30. BinkD Receives an Incoming Call Only After an Outgoing One.


Such a behaviour was observed for BinkD/w32 working as a service on a

computer with McAfee Firewall installed. The firewall starts after BinkD start-up, does not detect any BinkD activity and does not allow to establish a connection. Thus one must ensure that BinkD starts after firewall has started.
      The possible decisions: give up using BinkD as an independent Windows NT service and start it from another service or start it as a usual program or stop using such a firewall.

31. "start_file_transfer: ECHO is off.: No such file or directory" Error.


One may see the following in the log file:


      ? 10 Sep 20:37:23 [1664] start_file_transfer: ECHO is on.: No such file or directory

      Such a situation may occur when you have created a poll with the command


      echo >> 12345678.ilo

      The above mentioned line in the log file is the message from the echo

command on its current status of the output to the screen. See question 32 on how to correctly create a poll. See also question 09.

32. How to Create a Poll Correctly.


To create a poll in BSO one should create an empty file NNNNMMMM.ilo,

NNNNMMMM.clo, NNNNMMMM.dlo or NNNNMMMM.flo. The filename consists of the hexadecimal net number (first 4 characters), the hexadecimal node number (the characters from 5 to 8), the dot, the flavor attribute character (i = immediate, c = crash, d = direct, f = normal) and two characters "lo".
      Certainly you should not create the file, if it already exists. Moreover you should not overwrite it to avoid losing your mail.

      The most universal command (it works under DOS, Windows, OS/2, UNIX

clones, CP/M and many others) is

      cd . >>NNNNMMMM.flo

      Such a command also works under DOS, Windows, OS/2:

      type nul >>NNNNMMMM.flo

      You may choose one of the following commands for UNIX clones:

      touch NNNNMMMM.flo


      echo -n "" >>NNNNMMMM.flo
      >>NNNNMMMM.flo
      cat /dev/null >>NNNNMMMM.flo

33. What Does the Number in Brackets in the Log Mean?


It is either PID (Process ID) in the multiprocess BinkD versions (for

example, in the versions for UNIX-like OS), or TID (Thread ID) in the multithreaded BinkD versions (for example, in Windows versions).
      The process (or the thread) number simplifies the log analysis: it allows picking out messages from one BinkD process (or thread). In particular, it allows separating the messages from the different sessions.

34. How to Configure BinkD for sending outgoing mail?


You should configure your netmail packer in such a way that your mail

is packed to BSO (Binkley Style Outbound) packets. If you have not used such a program before then you should install it. In some modem mailers the possibility of packing netmail to BSO has been provided by their developers (for example, in T-Mail starting with the version 2500).
      See also the answer to question 17.

35. What for Does One Need the "share" Directive in the Configuration File?


Shared AKA is used for sending netmail to one of the alternative routes

and is your protection for the case when your netmail link goes down. In the sample configuration file
      share 2:999/999 2:5020/52 2:5020/238
      the uplinks are 2:5020/52 and 2:5020/238 with the shared AKA 2:999/999 added. Then you configure packing netmail to 2:999/999 and BinkD will send it to one of the two uplinks, the session with which will occur earlier. If there is no connection to 2:5020/52 the netmail will go to 2:5020/238. If there is no connection to 2:5020/238 it will go to 2:5020/52. The package addressee 2:999/999 will be replaced by the real one and the package password will be set to the one of the real link. Shared AKA is implemented in binkd 1.0 and above.

36. What for Does One Need the "ftrans" Directive in the Configuration File?


It is necessary for placing BinkD and your tosser at different computers

in the net, when outbound resides at a net drive and the paths to it are different. Moreover the tosser may run on a computer with FAT and the paths of the d:\long\path\to type, and BinkD may run on a UNIX machine with paths of the /mnt/samba/wincomp1/path/to type.

A1. I Have Found a Bug in BinkD!


Try to refresh your BinkD version (it is possible that the bug has

already been fixed). If it did not help please write to developers:
      binkd-bugs@happy.kiev.ua
      Pavel Gulchouck 2:463/68

      Mailing list binkd-dev@happy.kiev.ua

      In your message please describe in detail the situation when the error

happens. Please do not forget to mention your BinkD version and to cite a piece of detailed log (loglevel more than 5).

A2. I Want To Talk To Developers


Dmitry Malov who is the author of the first BinkD versions does not

develop it any more now. During the years 2000-2003 the project is coordinated by Pavel Gulchouck 2:463/68 (Pavel Gulchouck ). He also writes the most part of the code.
      There is a mailing list for developers and testers:

      binkd-dev@happy.kiev.ua.

      To subscribe to it write a message:

      To: majordomo@happy.kiev.ua


      Subject:

      subscribe binkd-dev


A3. I Want To Get Information About Changes In BinkD Immediately!


Please subscribe to the mailing list binkd-diffs@happy.kiev.ua: the

changes in the sources are sent here (you may also test patches for errors). You may read how to subscribe in the previous answer.
      There are two FIDOnet echomail conferences for discussions on binkd and for dialogue of the users and the developers: Russian RU.BINKD and international BINKD (in English). Please look for them at echomail hubs :).

A4. And When Will BinkD Do ... ?


Maybe it will do it some time in the future. And maybe not. You may wait

until the feature you wish will be implemented or you may "fix" it yourself: the source code is open. Please do not forget to send your patch to the developers, it will be possibly included in the main development branch and for sure it will be put to the Web site or the FTP archive.
      === The end.