Commit Graph

23 Commits

Author SHA1 Message Date
Tom Thorogood
bfbb1715af Use ReadMsgUDP and WriteMsgUDP on windows (#738) 2018-09-08 17:33:21 +01:00
Tom Thorogood
800934f8d4 Cleanup udp.go somewhat (#662)
* Avoid hard-coding required UDP OOB buffer size

* Simplify parseDstFromOOB if statements

* Use self-invoking function for udpOOBSize variable
2018-04-06 14:51:04 +01:00
James Hartig
325e98bb86 Use and vendor golang.org/x/net/ipv4 and golang.org/x/net/ipv6 (#594) 2017-12-04 09:59:24 +00:00
James Hartig
032fbabc82 Correctly set the Source IP to the received Destination IP (#524)
Previously, the oob data was just stored and sent to WriteMsgUDP but it
ignores the Src field when writing. Instead, now it is setting the Src
to the original Dst and handling IPv4 IPs over IPv6 correctly.
2017-09-29 10:38:26 +01:00
Andrew Brampton
dadd480c0d Refactored the udp*.go files, to remove redundancy, and to make them compile for Go on App Engine. (#451)
App Engine even though is Linux, does not allow referencing the syscall package. Thus I reorganised
the udp*.go files a little to make this work. As best I can the functionality is unchanged, and all
this continues to compiles on darwin, linux, windows, plan9 and appengine.

Namely:
* Moved all Linux specific code from udp.go into udp_linux.go (e.g setUDPSocketOptions)
* Deleted udp_plan9.go which was almost a copy of udp.go.
* Added build tags to stop appengine using the linux build, and instead using the udp_other.go.
2017-02-13 09:42:34 +00:00
Nick Owens
cbc47172cd fix building on plan9 2016-03-21 12:27:12 -07:00
Miek Gieben
9bf52083d1 golint fixes 2015-08-23 08:03:13 +01:00
Peter M. Goldstein
9ef29b5646 Export UDP interfaces 2015-03-09 15:00:21 -07:00
Miek Gieben
0aa3021a83 Remove all copyright notices
Use the central COPYRIGHT file.
2014-09-11 20:57:37 +01:00
Miek Gieben
f912994258 Don't relay on deadline to stop the server.
We just send ourselves an UDP or TCP packet so that the listener fails
through and picks up the quit bool send on the channel.
2014-08-19 21:46:00 +01:00
Egon Elbre
dc06b3bde1 undo some changes 2014-07-17 20:48:28 +03:00
Egon Elbre
1d5e55d9b6 Fix: UDP serving on windows, UDP serving test paniced
Also, replaced t.Error/t.Fail with t.Fatal in some places.
2014-07-17 13:14:50 +03:00
Miek Gieben
e571f699d2 Move more syscall function into their own impl.
Windows is stupid
2014-07-11 08:47:49 +00:00
Miek Gieben
907e91be57 udp: Windows: abstract the GetSocketOption away too.
Windows is weird, put this stuff in the impl. specific sub file too.
2014-07-11 08:13:05 +01:00
Miek Gieben
892588a93c Fix the function documentation 2014-07-09 22:23:02 +01:00
Miek Gieben
d161b9087e Cleanup the PR a bit
Remove code and simplify some functions. Documentation is still on the
todo.
Also don't export any of these functions and/or types.
2014-07-09 21:02:21 +01:00
Miek Gieben
e4d735493c It compiles 2014-07-09 20:10:27 +01:00
Miek Gieben
97b62e4aff Cleanup the pull request somewhat 2014-07-09 20:07:23 +01:00
Omri Bahumi
0ef26ca4b8 [ISSUE-95] Added copyright notice to udp.go, udp_linux.go & udp_other.go 2014-07-08 17:44:36 +03:00
Omri Bahumi
aea5c1da03 [ISSUE-95] Patch only relevant stacks (v4, v6, dual) 2014-07-08 15:18:33 +03:00
Omri Bahumi
44f988ea86 [ISSUE-95] Added some documentation for the new UDP implementation 2014-07-08 11:42:02 +03:00
Omri Bahumi
4fb9d5f005 [ISSUE-95] Fixed IPv6 handling, reduced OOB buffer size to 40 bytes 2014-07-08 00:19:51 +03:00
Omri Bahumi
dea4cb300a [ISSUE-95] Send replies from the right source IP address
Fixes #95
2014-07-07 18:16:42 +03:00