Hi Michael,
I'm using Linux for development but the software should also run on FreeBSD.
I also did some research on how to get the result of the Path MTU
discovery and I also ended up with this unpleasant #define statement.
The only place I could find that #define in a header file was
linux/in.h
But when I include this file a whole lot of other things break. So I
ended up with the same hack.
To my disappointment I couldn't find a way to figure out the correct
PMTU on FreeBSD. The only feedback you get on this platform is the error
EMSGSIZE which essentially tells you that your packet was too big. But
it does not tell you how big the packet may be.
-Daniel
Michael Tüxen wrote:
Hi Daniel,
I looked at the code for path MTU discovery, which is pretty
broken.
crypto/bio/bss_diagram.c contains
#define IP_MTU 14 /* linux is lame */
if ((ret = getsockopt(b->num, IPPROTO_IP, IP_MTU, (void
*)&sockopt_val,
&sockopt_len)) < 0 || sockopt_val < 0)
which is broken if the socket option ID is not correct. On Mac OS X we have
#define IP_MULTICAST_VIF 14 /* set/get IP mcast virt. iface */
So it might work on Linux, but one should never define the
socket option ID...
Which OS are you using?
I'll talk to Robin, how we can handle that...
Best regards
Michael
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager majord...@openssl.org