I've been looking at the ibrdtn (github.com/ibrdtn/ibrdtn) software for use in an internship project, however when running a build, built according to instructions from the author (github.com/ibrdtn/ibrdtn/wiki), the software fails to bind on my interfaces. I built tag release/1.0.1.
I dug a little into the code, after running the program (dtnd -i ) through valgrind it seems like getaddrinfo is returning NULL where the software doesn't expect this. According to the getaddrinfo man pages, this function shouldn't return NULL however. Could this be something implementation specific? I'm using ubuntu 20.04LTS.
Any clue as to where I should look next? I can include code samples, or valgrind stack straces, however this can be a lot and very intimidating very quickly, so if you need anything specific to know more about the background, please request and I'll provide.
The first occurence of the NULL return value I was talking about happens here in the code: https://github.com/ibrdtn/ibrdtn/blob/570f2b94960fc4f17a7dcad720b0e73b5360ab7a/ibrcommon/ibrcommon/net/socket.cpp#L745 I added a check to verify it was actually NULL, it was.