Skip to main content


Просмотр конференции fido7.binkd:

Предыдущее Следующее

Дата: 12 Sep 2020, 01:15:04
От: binkd Team @ 2:5020/1042.0
Кому: All
Тема: binkd FAQ [3/4]

    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

    domain alias-for fidonet

    '' in the remote site address will be changed to 'fidonet' and
address 1:2/ 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
    - 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


        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 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
    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 18.


        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.


        37. Why binkd in Windows Works As a Service With Admin Rights Only?

    Information security manuals advise running each service with rights of a
separate user. But if one tries to do it for binkd, it will result in an error
and to get the correct result one has to change some settings. It is easier to
take binkd version 1.0-499 or later, where the rights needed for running binkd
are minimized. If you are using binkd 0.9.x, some additional tweaks are 
    First of all only administrator can install and start a Windows service.
One may use Group Policy to give a user rights to install, start, stop and 
uninstall a service. One may also use for that subinacl.exe utility which may 
be downloaded from here:
    Secondly, when binkd 0.9.x works as a service, it needs a right to write
to the registry branch 
(if you have chosen a special service name at the binkd service installation,
the chosen name with removed spaces will be there instead of "binkd-service").
    So you may install the service using an administrative account and after 
that you may edit the service settings in the System Services snap-in: set a
user (for example, 'fido') and a password. For binkd 0.9.x you also have to 
allow editing the registry branch to 'fido' user. This can be done with the 
help of registry editor or the above mentioned subinacl.exe.
    To allow a user 'username' to start and stop binkd service with the name
'binkd-service' one may use the command:

    subinacl /service binkd-service /grant=username=TO

    For more details see and


        38. Will Anybody Make Nodelist Support in binkd After All?

    binkd is a daemon in which binkp protocol is implemented. It performs this
function only. It has no netmail scanning (AMA), chat, areafix and other 
Fidonet thingies. Actually it can be used outside of Fidonet for batch file
    It is enough versatile to satisfy users' wants and wishes without necessity
to patch the source code and to rebuild binaries. Settings are defined in a
text configuration file and when it is not enough, Perl hooks can be used. In 
fact it is a part of the configuration written in Perl. In such a way one may,
for example, store links and password information in MySQL or LDAP and perform
many other tricks.
    Retrieving addresses from the nodelist is one of such functions which may
naturally be realized using Perl hooks. If some changes in the nodelist format
happen, it is not necessary to issue a new binkd version and update binkd at
all nodes. It is enough to change the Perl nodelist parsing function (i.e. in
fact in configuration file) leaving binkd binary the same.
    If on the other hand there is a solid reason to parse the nodelist using
binkd itself (for instance, if your binkd works in a laundry washer which has 
no Perl and using DDN is undesirable for some reason), and if someone sends
along a patch for parsing nodelist inside binkd, then with high probability
the patch will be applied and binkd will support nodelist natively.


        39. Does binkd Support non-ASCII Domain Names?

    Yes, it does. In Windows such a domain name may be used directly in binkd
configuration file. In Linux and OS X it should be translated to Punycode


        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:
    Pavel Gulchouck 2:463/68

    Mailing list

    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).
    The good general manual on composing bugreport was written by Sajmon

--- hpt/lnx 1.9.0-cur 21-02-18
Origin: Moscow, Russia (2:5020/1042)

Предыдущее Следующее

К списку сообщений
К списку конференций