I've been running binkd fairly successfully for 2.5 years on this
system, and for the most part, it's been flawless. However, on polling one particular uplink, I've started getting a strange error, which is
not giving me a lot of clues.
On 01-30-20 06:12, Dan Cross wrote to Tony Langdon <=-
I ran into this today. The root cause is a use-after-free bug in
binkd; this bug has been present since sometime in 2001 according
to the git history. Most people probably won't notice it unless
your system's malloc() is aggressive about poisoning memory returned
by free().
I've sent a pull request to fix it upstream. https://github.com/pgul/binkd/pull/16
I've sent a pull request to fix it upstream. https://github.com/pgul/binkd/pull/16
Hopefully I can get hold of the fixed source. I've had to take a number of measures like restricting callouts to the affected node to IPv4 only, and also hardcoding the IPv4 IP in the node entry, because DNS lookups were also problematic for the affected node..
A second link running over ZeroTier started showing similar issues recently, but switching that link to connect directly across the open Internet was enough to get that link working.
It's odd that it only affects some links.
My system is a fairly busy Pi that's running 2 BBSs, which may explain
why malloc() is being a bit aggressive. :)
I've sent a pull request to fix it upstream. https://github.com/pgul/binkd/pull/16
On 01-30-20 15:55, Dan Cross wrote to Tony Langdon <=-
With luck, the upstream maintainer will address the pull request
quickly, either by applying my patches or coming up with another fix.
If you need this quickly, however, you could clone my fork (https://github.com/fat-dragon/binkd.git) and build from source.
The code path with the use-after-free was dependent on the source of
the information. If you used the default port, the pointer in question would end up pointing to memory that wasn't free()'d; if you used a non-standard port in your configuration file (e.g., `agency.bbs.bz:24556`), you'd tickle the bug; hence why it doesn't show
up everyhwere.
Rather the aggressiveness I mentioned with respect to free()'d memory
has to do with the malloc() implementation writing garbage into the free()'d region of memory, precisely to detect these sorts of use-after-free issues.
Yippee! I cloned binkd from your forked repo, compiled - and everything works! Thank you very much again here again! =))
Yippee! I cloned binkd from your forked repo, compiled - andSure thing. Just FYI, that pgul merged that PR into the master repo,
everything works! Thank you very much again here again! =))
so I recommend going back to that....
I've sent a pull request to fix it upstream. https://github.com/pgul/binkd/pull/16binkd/win9x won't compile anymore
'sockaddr_in'I've sent a pull request to fix it upstream.
https://github.com/pgul/binkd/pull/16
binkd/win9x won't compile anymore
binkd type : msvc, binkd9x, static
output dir : bin\msvc-binkd9x-static
binkd exe : binkd9x-static.exe -----------------------------------------------------------
Compiling:
client.c
client.c(224) : error C2039: 'ss_family' : is not a member of
\MSVC6\VC98\INCLUDE\winsock.h(309) : see declaration of'sockaddr_in'
Hello Dan!
30 Jan 20 06:12, you wrote to Tony Langdon:
I've sent a pull request to fix it upstream. https://github.com/pgul/binkd/pull/16binkd/win9x won't compile anymore
binkd type : msvc, binkd9x, static
output dir : bin\msvc-binkd9x-static
binkd exe : binkd9x-static.exe -----------------------------------------------------------
Compiling:
client.c
client.c(224) : error C2039: 'ss_family' : is not a member of 'sockaddr_in' \MSVC6\VC98\INCLUDE\winsock.h(309) : see declaration of 'sockaddr_in'
And OS/2:
On 30 Jan 2020 at 08:01p, Tommi Koivula pondered and said...
And OS/2:
Please try commit c90a4dd in https://github.com/pgul/binkd/pull/17;
Well, something doesn't fit.And OS/2:Please try commit c90a4dd in https://github.com/pgul/binkd/pull/17;
that might address the issue. Like win9x, I'm not in a position to support OS/2, either, but the fix should be the same.
On 30 Jan 2020 at 08:01p, Tommi Koivula pondered and said...
And OS/2:
Please try commit c90a4dd in https://github.com/pgul/binkd/pull/17;
that might address the issue.
Hallo Dan!
Well, something doesn't fit.And OS/2:Please try commit c90a4dd in https://github.com/pgul/binkd/pull/17; that might address the issue. Like win9x, I'm not in a position to support OS/2, either, but the fix should be the same.
I used the current binkd sources from cvs.
Compiling client.c...
client.c: In function `clientmgr':
client.c:224: error: structure has no member named `sa_family'
make.exe: *** [client.o] Error 1
Yes, my pull request hasn't made it to CVS yet. :-/I patched manually, but:
client.c: In function `clientmgr':
client.c:224: error: structure has no member named `sa_family'
On 01 Feb 2020 at 11:36p, Torsten Bamberg pondered and said...
client.c: In function `clientmgr':
client.c:224: error: structure has no member named `sa_family'
This is the same issue the other fellow had; the same solution I
offered to him might help?
The other fellow just pulled https://github.com/fat-dragon/binkd.git and it compiled fine with gcc 3.3.5.
Jep, this repo does work with gcc3/emx.The other fellow just pulledAh, wonderful to hear. Thanks, other fellow. :-) (Sorry, I blanked
https://github.com/fat-dragon/binkd.git and it compiled fine with
gcc 3.3.5.
on your name when replying to the first gentleman.)
On 05 Feb 2020 at 08:24p, Tommi Koivula pondered and said...
The other fellow just pulled https://github.com/fat-dragon/binkd.git and
it compiled fine with gcc 3.3.5.
Ah, wonderful to hear. Thanks, other fellow. :-)
Same here. Binkd runs now like a charm.https://github.com/fat-dragon/binkd.git and it compiled fine
with gcc 3.3.5.
Ah, wonderful to hear. Thanks, other fellow. :-)+1 :)
'TommiBye/2 Torsten
Some words about your patch.https://github.com/fat-dragon/binkd.git and it compiled fine withAh, wonderful to hear. Thanks, other fellow. :-)
gcc 3.3.5.
Some words about your patch.
Hallo Tommi!
06.02.2020 19:22, Tommi Koivula schrieb an Dan Cross:
https://github.com/fat-dragon/binkd.git and it compiled fine
with gcc 3.3.5.
Ah, wonderful to hear. Thanks, other fellow. :-)
+1 :)
Same here. Binkd runs now like a charm.
@TID: Mystic BBS 1.12 A43^^^
@MSGID: 1:267/310@fidonet5E42A22F^^^^
@REPLY: 2:221/0.1 5e3ed84c
@PID: Legacy/X Alpha-5
SEEN-BY: 57/0 103/705 153/250 154/10 203/0 220/70 221/0 229/101 426240/5832
SEEN-BY: 267/800 280/464 5003 5555 288/100 292/854 310/31 317/3 340/1000 SEEN-BY: 396/45 423/120 712/848 770/0 1 100 340 772/0 1 210 500 2452/250 @PATH: 267/310 800 770/1 280/464 464.47--- GoldED+/LNX 1.1.5-b20180707
Something is missing. There is not even an Origin line.
File traffic is not like message traffic, you will only get new files when one >of the FDN hatches out new files. There was a new Binkd hatched for the OS/2 >version of binkd recently.
File traffic is not like message traffic, you will only get new files
when one of the FDN hatches out new files. There was a new Binkd
hatched for the OS/2 version of binkd recently.
Is this hatched as an executable, or do you have to be able to compile
it on the OS/2 box?
I have been using IREX for this but the daemon mode eats a lot of resources and slows the BBS down. Would like to try to get away from using it.
I have been using IREX for this but the daemon mode eats a lot of resources
and slows the BBS down. Would like to try to get away from using it.
It is an OS/2 executible with a sample binkd.cfg and libbz2.dll.
It's requestable from here as BINKD104.ZIP. I don't have an OS/2 setup
so I haven't tried it.
That is a Fidonet FDN but it's not on the Filegate. If you (or anyone) would like to link for that (or other file/mail areas) we can do that.
getting away from IREX is a GoodThing<tm> in any case... it isn't supported, has numerous documented bugs, and has some defect with its binkp1.1 support that other binkp mailers have to work around...
Sysop: | xxorz |
---|---|
Location: | Holly Springs, NC |
Users: | 4 |
Nodes: | 11 (0 / 11) |
Uptime: | 222:39:20 |
Calls: | 19 |
Files: | 4,485 |
Messages: | 620,374 |