Module Name: src Committed By: martin Date: Sun Mar 18 10:57:02 UTC 2018
Modified Files: src/share/man/man4 [netbsd-8]: ip.4 src/share/man/man9 [netbsd-8]: sockopt.9 src/sys/kern [netbsd-8]: uipc_socket.c uipc_syscalls.c src/sys/netinet [netbsd-8]: in.h in_pcb.c in_pcb.h ip_input.c ip_output.c src/sys/sys [netbsd-8]: socketvar.h Log Message: Pull up following revision(s) (requested by tih in ticket #639): sys/kern/uipc_socket.c: revision 1.258 sys/kern/uipc_socket.c: revision 1.259 sys/netinet/ip_input.c: revision 1.364 (via patch) sys/netinet/ip_output.c: revision 1.289 sys/netinet/in.h: revision 1.102 sys/netinet/in_pcb.c: revision 1.181 share/man/man9/sockopt.9: revision 1.11 sys/netinet/in_pcb.h: revision 1.65 sys/sys/socketvar.h: revision 1.146 sys/kern/uipc_syscalls.c: revision 1.189 sys/netinet/ip_output.c: revision 1.290 share/man/man4/ip.4: revision 1.41 share/man/man4/ip.4: revision 1.42 sys/kern/uipc_syscalls.c: revision 1.190 pass valsize for getsockopt like we do for setsockopt make sure that we have enough space, don't require the exact size (Tom Ivar Helbekkmo) 1) "#define ipi_spec_dst ipi_addr" in <netinet/in.h> 2) Change the IP_RECVPKTINFO option to control the generation of IP_PKTINFO control messages, the way it's done in Solaris. 3) Remove the superfluous IP_RECVPKTINFO control message. 4) Change the IP_PKTINFO option to do different things depending on the parameter it's supplied with: - If it's sizeof(int), assume it's being used as in Linux: - If it's non-zero, turn on the IP_RECVPKTINFO option. - If it's zero, turn off the IP_RECVPKTINFO option. - If it's sizeof(struct in_pktinfo), assume it's being used as in Solaris, to set a default for the source interface and/or source address for outgoing packets on the socket. 5) Return what Linux or Solaris compatible code expects, depending on data size, and just added a fallback to a Linux (and current NetBSD) compatible value if the size is unknown (as it is now), or, in the future, if the calling application specifies a receiving buffer that doesn't match either data item. From: Tom Ivar Helbekkmo new sentence-new line Remove comment now that the getsockopt code passes the size. Add a new sockopt member to keep track of the actual size of the option that should be returned to the caller in getsockopt(2). (Tom Ivar Helbekkmo) To generate a diff of this commit: cvs rdiff -u -r1.36.20.1 -r1.36.20.2 src/share/man/man4/ip.4 cvs rdiff -u -r1.10 -r1.10.4.1 src/share/man/man9/sockopt.9 cvs rdiff -u -r1.255 -r1.255.2.1 src/sys/kern/uipc_socket.c cvs rdiff -u -r1.186 -r1.186.6.1 src/sys/kern/uipc_syscalls.c cvs rdiff -u -r1.100.6.2 -r1.100.6.3 src/sys/netinet/in.h cvs rdiff -u -r1.178.4.2 -r1.178.4.3 src/sys/netinet/in_pcb.c cvs rdiff -u -r1.63.6.1 -r1.63.6.2 src/sys/netinet/in_pcb.h cvs rdiff -u -r1.355.2.5 -r1.355.2.6 src/sys/netinet/ip_input.c cvs rdiff -u -r1.279.2.6 -r1.279.2.7 src/sys/netinet/ip_output.c cvs rdiff -u -r1.144 -r1.144.6.1 src/sys/sys/socketvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.