I guess all this started with
https://github.com/synopse/mORMot2/issues/447I have implemented a corresponding patch in mormot.net.sock.posix.inc:
https://github.com/synopse/mORMot2/commit/5a3540fd8In fact, I re-defined all those records, and properly populate the sa_len field on BSD.
It seems that FreeBSD and Darwin allow sa_len = 0 and assume it means "this is the correct length".
But OpenBSD is more strict, and requires the proper length in bytes to be set in this sa_len field.
So
1) FPC needs to be patched to define SOCK_HAS_SINLEN conditional on OpenBSD
2) User code needs to populate the sa_len field properly
Both are now done automagically by the mORMot socket wrapper, which will work with old FPC versions - not only the trunk.
And by the way, I am currently preparing Delphi for Linux compiler support, so I needed those records definition anyway.