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