History log of /vbox/src/VBox/NetworkServices/NAT/pxping.c
Revision Date Author Comments Expand
23bcfa32fddbe29a8c4c40d3bcfa4693a555c177 54124 10-Feb-2015 vboxsync

NAT/Network: Add missing Id/@file/copyright headers.

2b114c590cf5a19f8047cd7bde9c7e5ae00aa22b 53624 31-Dec-2014 vboxsync

scm automatic cleanups.

/vbox/.scm-settings /vbox/Config.kmk /vbox/include/VBox/shflsvc.h /vbox/include/iprt/asn1-generator-sanity.h /vbox/include/iprt/avl.h /vbox/include/iprt/cpp/ministring.h /vbox/include/iprt/crypto/rsa.h /vbox/include/iprt/crypto/tsp.h /vbox/src/VBox/Additions/WINNT/Graphics/Video/mp/Makefile.kmk /vbox/src/VBox/Additions/linux/Makefile.kmk /vbox/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.h /vbox/src/VBox/Additions/solaris/SharedFolders/vboxfs_vfs.c /vbox/src/VBox/Additions/x11/VBoxClient/clipboard.cpp /vbox/src/VBox/Additions/x11/VBoxClient/display.cpp /vbox/src/VBox/Additions/x11/VBoxClient/draganddrop.cpp /vbox/src/VBox/Additions/x11/VBoxClient/hostversion.cpp /vbox/src/VBox/Additions/x11/VBoxClient/main.cpp /vbox/src/VBox/Additions/x11/VBoxClient/seamless.cpp /vbox/src/VBox/Additions/x11/VBoxClient/seamless.h /vbox/src/VBox/Additions/x11/vboxvideo/getmode.c /vbox/src/VBox/Devices/Audio/DevIchAc97.cpp /vbox/src/VBox/Devices/Audio/DevIchHda.cpp /vbox/src/VBox/Devices/Audio/DrvAudio.cpp /vbox/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp /vbox/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp /vbox/src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp /vbox/src/VBox/Devices/Graphics/DevVGA-SVGA3d-shared.cpp /vbox/src/VBox/Devices/Graphics/DevVGA-SVGA3d-shared.h /vbox/src/VBox/Devices/Graphics/DevVGA-SVGA3d-win.cpp /vbox/src/VBox/Devices/Network/DevE1000.cpp /vbox/src/VBox/Devices/Network/SrvIntNetR0.cpp /vbox/src/VBox/Devices/Network/lwip-new/vbox/VBoxLwipCore.cpp /vbox/src/VBox/Devices/Network/lwip-new/vbox/VBoxLwipCore.h /vbox/src/VBox/Devices/Network/lwip-new/vbox/include/arch/cc.h /vbox/src/VBox/Devices/Network/lwip-new/vbox/include/lwip-namespace.h /vbox/src/VBox/Devices/Network/lwip-new/vbox/sys_arch.c /vbox/src/VBox/Devices/Network/lwipopts.h /vbox/src/VBox/Devices/Network/scripts/VBoxPortForwarding.py /vbox/src/VBox/Devices/Network/slirp/bootp.c /vbox/src/VBox/Devices/Network/slirp/dnsproxy/dnsproxy.h /vbox/src/VBox/Devices/Network/slirp/ip_icmpwin.c /vbox/src/VBox/Devices/Network/slirp/libslirp.h /vbox/src/VBox/Devices/Network/slirp/resolv_conf_parser.c /vbox/src/VBox/Devices/Network/slirp/resolv_conf_parser.h /vbox/src/VBox/Devices/Network/slirp/slirp.c /vbox/src/VBox/Devices/Network/slirp/slirp_dns.c /vbox/src/VBox/Devices/Network/slirp/slirp_state.h /vbox/src/VBox/Devices/Network/slirp/socket.c /vbox/src/VBox/Devices/PC/BIOS/floppy.c /vbox/src/VBox/Devices/Storage/DrvBlock.cpp /vbox/src/VBox/Devices/Storage/VSCSI/VSCSIInternal.h /vbox/src/VBox/Devices/USB/usbip/USBProxyDevice-usbip.cpp /vbox/src/VBox/Devices/build/VBoxDD.cpp /vbox/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp /vbox/src/VBox/Frontends/VBoxManage/VBoxManageSnapshot.cpp /vbox/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp /vbox/src/VBox/Frontends/VBoxShell/vboxshell.py /vbox/src/VBox/Frontends/VirtualBox/src/platform/win/WinKeyboard.cpp /vbox/src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp /vbox/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp /vbox/src/VBox/HostDrivers/Support/SUPLibLdr.cpp /vbox/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk /vbox/src/VBox/HostDrivers/VBoxNetFlt/win/ndis6/VBoxNetAdp-win.cpp /vbox/src/VBox/HostDrivers/VBoxNetFlt/win/ndis6/VBoxNetLwf-win.cpp /vbox/src/VBox/HostServices/SharedClipboard/service.cpp /vbox/src/VBox/Installer/linux/install_service/init_template.sh /vbox/src/VBox/Installer/linux/install_service/install_service.sh /vbox/src/VBox/Installer/linux/testcase/tstInstallInit.sh /vbox/src/VBox/Main/Config.kmk /vbox/src/VBox/Main/include/QMTranslator.h /vbox/src/VBox/Main/src-client/RemoteUSBDeviceImpl.cpp /vbox/src/VBox/Main/src-server/HostDnsServiceResolvConf.cpp /vbox/src/VBox/Main/src-server/win/HostDnsServiceWin.cpp /vbox/src/VBox/Main/webservice/samples/python/clienttest.py lwipopts.h portfwd.c proxy.c pxdns.c pxping.c pxping_win.c pxtcp.c winutils.h /vbox/src/VBox/Runtime/common/asn1/asn1-ut-time-template.h /vbox/src/VBox/Runtime/common/checksum/alt-sha1.cpp /vbox/src/VBox/Runtime/common/checksum/openssl-sha512.cpp /vbox/src/VBox/Runtime/common/checksum/x509.cpp /vbox/src/VBox/Runtime/common/crypto/pkcs7-init.cpp /vbox/src/VBox/Runtime/common/crypto/pkix-signature-builtin.cpp /vbox/src/VBox/Runtime/common/crypto/rsa-internal.h /vbox/src/VBox/Runtime/common/crypto/rsa-template.h /vbox/src/VBox/Runtime/common/crypto/spc-init.cpp /vbox/src/VBox/Runtime/common/crypto/spc-sanity.cpp /vbox/src/VBox/Runtime/common/crypto/tsp-core.cpp /vbox/src/VBox/Runtime/common/crypto/tsp-sanity.cpp /vbox/src/VBox/Runtime/common/crypto/x509-core.cpp /vbox/src/VBox/Runtime/common/ldr/Makefile.kup /vbox/src/VBox/Runtime/common/net/netaddrstr2.cpp /vbox/src/VBox/Runtime/common/string/unidata-flags.cpp /vbox/src/VBox/Runtime/common/string/unidata-lower.cpp /vbox/src/VBox/Runtime/common/string/unidata-upper.cpp /vbox/src/VBox/Runtime/common/zip/pkzipvfs.cpp /vbox/src/VBox/Runtime/common/zip/tarvfs.cpp /vbox/src/VBox/Runtime/common/zip/unzipcmd.cpp /vbox/src/VBox/Runtime/r3/socket.cpp /vbox/src/VBox/Runtime/r3/win/process-win.cpp /vbox/src/VBox/Runtime/testcase/tstRTZip.cpp /vbox/src/VBox/Storage/VD.cpp /vbox/src/VBox/VMM/VMMR0/CPUMR0.cpp /vbox/src/VBox/VMM/VMMR3/PDMUsb.cpp /vbox/src/VBox/VMM/VMMR3/cpus/AMD_Athlon_64_3200.h /vbox/src/VBox/VMM/VMMR3/cpus/AMD_FX_8150_Eight_Core.h /vbox/src/VBox/VMM/VMMR3/cpus/AMD_Phenom_II_X6_1100T.h /vbox/src/VBox/VMM/VMMR3/cpus/Intel_Core_i5_3570.h /vbox/src/VBox/VMM/VMMR3/cpus/Intel_Core_i7_2635QM.h /vbox/src/VBox/VMM/VMMR3/cpus/Intel_Core_i7_3820QM.h /vbox/src/VBox/VMM/VMMR3/cpus/Intel_Core_i7_3960X.h /vbox/src/VBox/VMM/VMMR3/cpus/Intel_Pentium_4_3_00GHz.h /vbox/src/VBox/VMM/VMMR3/cpus/Intel_Pentium_M_processor_2_00GHz.h /vbox/src/VBox/VMM/VMMR3/cpus/Intel_Xeon_X5482_3_20GHz.h /vbox/src/VBox/VMM/VMMR3/cpus/Quad_Core_AMD_Opteron_2384.h /vbox/src/VBox/VMM/VMMR3/cpus/VIA_QuadCore_L4700_1_2_GHz.h /vbox/src/VBox/ValidationKit/testdriver/win-vbox-net-drvstore-cleanup.ps1 /vbox/src/VBox/ValidationKit/testdriver/win-vbox-net-uninstall.ps1 /vbox/src/VBox/ValidationKit/testmanager/webui/wuihlpgraphgooglechart.py /vbox/src/VBox/ValidationKit/testmanager/webui/wuihlpgraphmatplotlib.py /vbox/src/VBox/ValidationKit/testmanager/webui/wuihlpgraphsimple.py /vbox/src/recompiler/target-i386/exec.h /vbox/src/recompiler/target-i386/op_helper.c
60b4c800358785f835d6ad5e472189c13486c0b0 51703 24-Jun-2014 vboxsync

NAT/Net: Cosmetics - prefer ip_addr_* APIs to memcpy/memset.

8fe934526b7108c9cab2afed964558a351da963f 51702 24-Jun-2014 vboxsync

NAT/Net: Cosmetic follow up to r94469 - use ipoff variable in debug printf, don't fetch it from the header again.

6af9edbb952189a7b0c51d48f3614bb5fd8b26f8 51700 23-Jun-2014 vboxsync

NAT/Net: OS X converts total length field of the inner IP header inside ICMP error message to host byte order too (but not the flags/fragment offset field, unlike outer header).

4dab6152decb6edf80610b33e30acf890e9d34c3 51692 23-Jun-2014 vboxsync

NAT/Net: When using IP_HDRINCL we need to rewrite mapped ping destination ourselves.

5200bb17fa157efb250cf5b8c02aa714607a31c1 51691 23-Jun-2014 vboxsync

NAT/Net: pxping_pcb_rtstrfmt: for mapped addresses print both original and mapped destianations.

fe419fddba4212ca9db9a3af0bf3bdc88e2aea50 51690 23-Jun-2014 vboxsync

NAT/Net: OS X reports IP datagrams on raw sockets with IP header fragment offset field in host byte order too.

3484ed068e69fe8bf93c807984d483e6e664cedd 51684 22-Jun-2014 vboxsync

NAT/Net: Solaris doesn't compute IPv4 header checksum for ICMP echo replies from host's own interfaces. Compute it from scratch instead of doing incremental update if checksum is zero.

0b4fb6cab368497b989784e370e82589eaeb4c82 51682 21-Jun-2014 vboxsync

NAT/Net: init pxping::hdrincl appropriately as we know IP_HDRINCL is off initially, so -1 (erroneously intended for "not inited") doesn't make sense here and is wrong since it would be later interpreted as if IP_HDRINCL was set.

5f53595a0c2e10e26dfc3e39c2d3f25b90d996f7 51597 10-Jun-2014 vboxsync

NAT/Net: convert perror/warn/warnx to DPRINTFs.

d5a9ad32d75e5aff807a76bffa77c8ebb6bbc308 51581 10-Jun-2014 vboxsync

NAT/Net: Start untangling errno vs. winsock mess. Don't refer errno directly, while here convert some perror() calls to DPRINTFs.

654e4c55b2507dd5a113861b1054d8ed8ac9b95f 51575 08-Jun-2014 vboxsync

NAT/Net: Get rid of inet_ntop(3). Add formatter for %R[ping_pcb] and use it.

1c08b0ec28ca5c600c21c0ab5a53cae73f1c821d 51574 08-Jun-2014 vboxsync

NAT/Net: #define LOG_GROUP LOG_GROUP_NAT_SERVICE

0306f94e6cd089fda3bfe53b276d375c01f916f8 50106 20-Jan-2014 vboxsync

G/c temporary local redefinitions of DPRINTF*.

e736d6903977504443f159297e1434dd8e3160de 50105 20-Jan-2014 vboxsync

Get rid of plain printfs: convert to DPRINTFs or g/c.

6c756f4b8ab98f85aedacc50eae0ff6cd880356e 50029 07-Jan-2014 vboxsync

pxping_recv6: translate errors from proxy_sendto() into ICMPv6 error messages.

10ccdc440e8a56cea9ecb0ae75e3fe7a74fb1c7a 50028 07-Jan-2014 vboxsync

pxping_recv6: check if pbuf_header() succeeded.

92c88a4c20de47aabb5b70bcccb232392aadfbdb 50024 06-Jan-2014 vboxsync

pxping_pcb_deregister: clear ping_pcb::next to satisfy assertion (now fixed) in pxping_pcb_delete() happy.

f571fe4f43afc6752a946d13510a07cba001b1d5 50021 06-Jan-2014 vboxsync

pxping_pcb_delete: fix assertions (that were not compiled).

6f538b4afb9663f120e0763fedcf3f8ae32af5b6 50006 26-Dec-2013 vboxsync

We still own pbuf after ip_output_if/ip6_output_if so call pbuf_free always, not just on errors.

9c80251f8e67c0cc2d0876e3b9c9420252088ead 49865 10-Dec-2013 vboxsync

pxping_recv4: comment update for previous after testing - OS X really wants IP header checksum set to checksum of all data, in host order.

fc32b3f7dfee9324fcba0020056ea20fba010815 49863 10-Dec-2013 vboxsync

pxping_recv4: according to ping sources at www.opensource.apple.com and contrary to icmp(4) man page, when sending with IP_HDRINCL the IP header checksum must be set, and set to the host-order checksum of the whole IP datagram including payload.

24cac04ea18f5aac4477a59dae4af2a8ab6a53d5 49862 10-Dec-2013 vboxsync

pxping_pmgr_icmp6_error: g/c unused variable.

151f06ffd46de020acde0c9c11f8757e1249cc21 49861 10-Dec-2013 vboxsync

Use either IP_HDRINCL or OS-specific socket option to deal with IPv4 DF flag.

d43c642b0410264900c46e03b6888bf89e475115 49782 05-Dec-2013 vboxsync

pxping_recv4, pxping_recv6: free incoming pbuf after reporting time exceeded.

175e6f8f3f1a126a1aab163b106ecfa13455f185 49759 03-Dec-2013 vboxsync

pxping_recv4: disable setsockopt-based code to set DF - it's too fragile w.r.t. different versions of system headers that don't have corresponding options defined (older Linux, older Solaris).

eb1e40d7b2bbd9f0acd5583ab224bd06b6fc0228 49746 03-Dec-2013 vboxsync

Disable DF code on Linux for now to unbreak the build. Apparently, IP_PMTUDISC_PROBE is not defined everywhere.

4b9e1bb45c940a9b37e8ff351245d8b3ca720a92 49745 03-Dec-2013 vboxsync

pxping_recv4: propagate DF flag if OS provides a socket option for that.

945dfd2ba502e2915bed0dbb457c711c4837c4e1 49715 29-Nov-2013 vboxsync

Try to fix in6_pktinfo kludge again. Test for __GLIBC_PREREQ in a separate conditional directive.

f078bf1cfc43fcfa9ac395c049a2f5124d96b136 49714 29-Nov-2013 vboxsync

Try to fix in6_pktinfo kludge. Apparently it was hidden under __USE_GNU in glibc 2.8, so check glibc version too. This should hopefully fix build on RHEL5.

bac27a176262f401cfe97245a6453bf0ed72d693 49709 28-Nov-2013 vboxsync

Do the song and dance to use WSARecvMsg on Windows.

d3852fa4a2af13475979d61ef0936ebd6cc3126d 49690 28-Nov-2013 vboxsync

G/c unused variable.

ee6394429168177088bab95e164be5ad4be850e4 49650 26-Nov-2013 vboxsync

Init sin6_flowinfo.

ee08cffab7c3615a3d389549b25cff64447e3891 49649 26-Nov-2013 vboxsync

Set sin6_port through correct union member.

f5e97a06b9a4bac7261ba57f7f565b74a1792a38 49648 26-Nov-2013 vboxsync

Complete ICMPv6.

dfdf211af8cd7f6fe9faf9129476ebdb82ede608 49637 25-Nov-2013 vboxsync

Refactor a bit.

1da0b5650216f4df0726f5fc3915dd9fb50dadb0 49617 22-Nov-2013 vboxsync

Add a few comments.

4290858de28653c7a944769023d37f02cbed614e 49616 22-Nov-2013 vboxsync

Delay TTL check until after loopback remapping check. Fix loopback remapping logic for ICMP errors.

dc153793546cc8dc37af07529762119b4a4ed72d 49613 21-Nov-2013 vboxsync

Add a comment that RFC 3542 IPV6_RECVTCLASS has no RFC 2292 counterpart (this only affects Windows, I think).

aa5c2ee4ee32bff239b6d11740f0259b30d95238 49611 21-Nov-2013 vboxsync

On OS X request RFC 3542 API (neither old RFC 2292, nor new RFC 3542 is provided by default).

c200ca2d58faf028bb6fd415162713bcf3b48fff 49609 21-Nov-2013 vboxsync

Oops. Revert previous. <netinet/icmp6.h> that it needs (and that I forgotten to add in previous) conflicts with lwIP headers. I've been waiting for this to happen.

e64e46651b660651d66c9ea8a349e8b1f58bf8ad 49607 21-Nov-2013 vboxsync

Use ICMP filters if present.

902491e454f01bd2947dd3b88b552447d8690d26 49593 21-Nov-2013 vboxsync

Snapshot work in progress on IPv6 ping now that it seems to work for the basic case. Raw sockets API for IPv6 is somewhat unwieldy, so I'll do more refactoring when dust settles a bit.

7d0a01c8d82f1cbe0fc8e6611b6c5a8121fc5683 49555 19-Nov-2013 vboxsync

pxping_timeout_del: mark pxping argument as unused.

7be7af0f8517724a396b38f17565ee2f4bbb2cff 49545 19-Nov-2013 vboxsync

Use rand(3) on Windows. It's not good, but we don't need cryptographically strong random number for ping id.

b332f86f7eb4dbd6c771c9514e0703ace3e4df9d 49544 19-Nov-2013 vboxsync

G/c unused variables. Pass iplen around as u16_t. This makes Windows happier.

29da632613fdfb2e27496c98e33b29c21b943787 49533 18-Nov-2013 vboxsync

Handle mapped loopbacks. Propagate TTL, TOS.

810ebf4126a26d0a5a3b1b3c4c1022adb950fed9 49515 16-Nov-2013 vboxsync

Snapshot work in progress on ping proxy. Not hooked into the build yet.