Fidonet -
Il mailer BINKD - FAQ.
Le FAQ del mailer BINKD
aggiornate al 23/01/2019
binkd FAQ
Frequently Asked
Questions on FTN Mailer binkd
$Date: 2019/01/23
07:16:15 $
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 binkp.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 my binkd Respond to a File Request?
18. How Can I Add binkd To a Fidonet Box
Working With a Modem?
19. Flags Are Not Created On Receiving a File,
Programs Do Not Start.
20. 'skipmask' Keyword Does Not Work.
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?
37. Why binkd in Windows Works As a Service
With Admin Rights Only?
38. Will Anybody Make Nodelist Support in binkd
After All?
39. Does binkd Support non-ASCII Domain Names?
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/
Binaries (windows, os/2):
http://download.binkd.org
http://sites.google.com/site/vasilyevmax/fido
(Max Vasilyev 2:5057/77)
One may find the sources at github:
https://github.com/pgul/binkd
or at synchronized with it CVS server:
:pserver:binkd@cvs.happy.kiev.ua:/cvs , module
binkd, empty password
Command examples for CVS
server.
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.1 at the moment):
cvs -d
:pserver:binkd@cvs.happy.kiev.ua:/cvs co binkd
Retrieve the latest sources
of the binkd 1.0.x-stable branch:
cvs -d
:pserver:binkd@cvs.happy.kiev.ua:/cvs co -r binkd-1_0-stable
binkd
Retrieve the sources of the
binkd 1.0.0-release:
cvs -d
:pserver:binkd@cvs.happy.kiev.ua:/cvs co -r binkd-1_0_0 binkd
Anonymous FTP:
ftp://cvs.happy.kiev.ua/pub/fidosoft/mailer/binkd/snapshot
binkd/2 1.1a (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.dy.fi)
http://rbb.homeip.net/pub/os2/comm/bbs/binkd2e.rar
(Suomi, Tommi Koivula 2:221/1 &
2:221/360)
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; https://www.ritlabs.com/en/products/argus/) and
it's clones
Radius and Taurus, BForce (unix), Internet Rex program
(DOS/W32/OS2) and
BeeMail (win32; Stephen Proffitt, 1:105/10)
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);
- 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 (*.binkp.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;
- IPv6 support starting with 1.0.0;
- support of IN SRV DNS records starting with
1.0.0;
- support of perl hooks starting with 1.0.0;
- support of bandwidth limitations starting
with 1.0.0.
----------------------------------------------------------------------------
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 here:
http://binkd.grumbler.org/binkp
----------------------------------------------------------------------------
04. What Is binkp.net
Domain and Why Is It Necessary?
'binkp.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.binkp.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.
A node can get address in the binkp.net domain
by one of the two ways:
set her address for incoming binkp connections in the official
fidonet
nodelist,
or specify it manually via http://binkp.net interface (and then
sysop can
set address from binkp.net in the nodelist).
----------------------------------------------------------------------------
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.binkp.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.binkp.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.binkp.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.binkp.net
Unknown host f68.n5080.z2.binkp.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.binkp.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, HTTPTunnel (http://http-tunnel.sourceforge.net/),
stunnel
(https://www.stunnel.org/) 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://binkd.grumbler.org/loganalisers/binkdstat-ds.0.1_beta4_Christmas
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
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 (c) val khokhlov, Dmitry Kolvakh,
updated at April 2006
http://binkd.grumbler.org/loganalisers/binkdstat.zip
T-Hist (c) Michael Markowsky, 2:5020/378
(KLUG's BBS)
Binary log file analyzer for various mailers
including binkd.
Works in DOS, Windows NT (2000, XP, 2003) and
OS/2.
ftp://ftp.grumbler.org/pub/binkd/hist30a7.zip
Kleine Statistiker/BINKD for DOS v0.60a,
Russian version
A small statistics generator for posting
statistics to an echo conference.
ftp://ftp.grumbler.org/pub/binkd/statddos.rar
----------------------------------------------------------------------------
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
with an external helper.
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 next
to *.?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. The contents of a
.REQ file
is described in the "!SRIF.TXT" file which is a copy of
FSC-0086.001 from
http://ftsc.org
----------------------------------------------------------------------------
17. How Can my binkd
Respond to a File Request?
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]
A bash script "srifreq" is delivered with binkd
starting with version
1.1a19.
The following file request processors are also
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
<tmahome@mail.tma.spb.ru>: the FREQ processor
is created for a 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".
VIREQ/x by Volker Imre
<volker@imre.dyndns.org> (2:246/2098): the FREQ
processor is created for a unix-like OS but can be compiled in the
OS/2,
Windows and maybe other operating systems. Now it is included into
"ftnapps"
project on Sourceforge and may be downloaded from
http://ftnapps.sourceforge.net/vireq.html.
Binaries built for Win32 and OS/2 may be downloaded from
http://download.binkd.org and
http://sites.google.com/site/vasilyevmax/fido
----------------------------------------------------------------------------
18. 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 35.
----------------------------------------------------------------------------
19. 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.
----------------------------------------------------------------------------
20. 'skipmask' Keyword
Does Not Work
A filename is compared without path and the
comparison is case
sensitive when 'skipmask' is used.
----------------------------------------------------------------------------
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...").
----------------------------------------------------------------------------
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.org alias-for fidonet
'fidonet.org' in the remote site address will
be changed to 'fidonet' and
address 1:2/3.4@fidonet.org 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 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
necessary.
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:
http://www.microsoft.com/en-us/download/details.aspx?id=23510
Secondly, when binkd 0.9.x works as a service,
it needs a right to write
to the registry branch
HKLM\\SYSTEM\\CurrentControlSet\\Services\\binkd-service\\parameters
(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
http://support.microsoft.com/kb/288129/en-us and
http://tinyurl.com/kqnbpfu
----------------------------------------------------------------------------
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
transfer.
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
beforehand.
----------------------------------------------------------------------------
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).
The good general manual on composing bugreport
was written by Sajmon
Tethem: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
----------------------------------------------------------------------------
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. Since year 2000 the project is
coordinated by
Pavel Gulchouck 2:463/68 (Pavel Gulchouck
<gul@gul.kiev.ua>). 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.
--- hpt/lnx 1.9.0-cur 21-02-18
* Origin: Moscow, Russia (2:5020/1042)
__
/ \
/|oo \
(_| /_)
_`@/_ \ _
| | \ \\
| (*) | \ ))
______ |__U__| /
\//
/ FIDO \ _//||
_\ /
(________) (_/(_|(____/
(c) John Madil
Torna su
Fidonet - I Programmi
Torna su Fidonet
Torna su Mimac