Hi,

> @@ -1190,7 +1190,7 @@ link_socket_write(struct link_socket *sock,
>                    struct buffer *buf,
>                    struct link_socket_actual *to)
>  {
> -    if (proto_is_udp(sock->info.proto) || sock->info.dco_installed)
> +    if (proto_is_udp(sock->info.proto) || to->dco_installed)
>      {

Previously we used to check the dco flag from sock->info and now it is changed
to "to", which is a separate member in c->c2 (c->c2.to_link_addr vs
c->c2.link_socket).

Why not use "sock->info.lsa->actual.dco_installed" ? My understanding
is that this patch
only moves the flag to a different place and is not supposed to change
the behavior.

Besides, below we call link_socket_write_win32(), which down the stack
checks dco flag from "sock",
not from "to":

    static inline int
    link_socket_write_win32(struct link_socket *sock,
                            struct buffer *buf,
                            struct link_socket_actual *to)
    {
        int err = 0;
        int status = 0;
        sockethandle_t sh = { .s = sock->sd, .is_handle =
sock->info.lsa->actual.dco_installed };

This doesn't look consistent.

-Lev


_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to