Matt Caswell <> wrote:
    > Please raise a separate PR for this work. It *must* be portable though
    > and work across all our platforms (e.g. including VisualC etc). My
    > suggestion is that your BIO_CTRL_DGRAM_GET_ADDR/BIO_CTRL_DGRAM_SET_ADDR
    > ctrls should return an error on platforms that we don't know we can
    > support, i.e. attempt to detect (at compile time) whether we are on a
    > platform that we know has the required system calls - if we are then use
    > them, otherwise we do things the old way.

    > Note that stuff like this is problematic:

    > char __attribute__((aligned(8))) chdr[CMSG_SPACE(sizeof(struct
    > in_pktinfo))];

    > The "attribute" is compiler specific and not something we can rely on to
    > be available. Additionally "CMSG_SPACE" is probably not portable, and in
    > any case may not evaluate to a compile time constant (according to the
    > man page), so this is not C90 (which is a requirement for OpenSSL
    > submissions).

I think that CMSG_SPACE might be in the POSIX spec, but I'll double check.

What do you suggest I do for the IPv4 stuff, which has no POSIX standard?
A bunch of #ifdef on OS definitions?

    > Once this PR is in (assuming it gets accepted), then you can look at
    > what remains of your original PR and see if it makes sense to raise new
    > PRs to bring the rest of it in.

Roger. Wilco.

]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        | network architect  [
]        |   ruby on rails    [

openssl-dev mailing list
To unsubscribe:

Reply via email to