aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* net: implement ECN handling, rfc6040 stylefd/propagate-DSCP-bitsFlorent Daigniere2019-02-257-43/+164
| | | | | | | | | | To decide whether we should use the compatibility mode or the normal mode with a peer, we use the handshake messages as a signaling channel. If we receive the expected ECN bits, it most likely means they're running a compatible version. Signed-off-by: Florent Daigniere <nextgens@freenetproject.org>
* send: propagate DSCP bits to the outer tunnelFlorent Daigniere2019-02-234-14/+46
| | | | | | | | | | | | | Like many, I am using WiFi a lot and often on congested networks. Without this, Wireguard strips the DSCP bits, preventing WME from kicking in and improving the audio/video experience. Yes, it's technically an information leak. Who cares? It's not like if traffic analysis based on packet sizes or timings wasn't a thing. This is the first patch of the serie, more work has to happen on ECN Signed-off-by: Florent Daigniere <nextgens@freenetproject.org>
* Change package pathJason A. Donenfeld2019-02-1817-19/+19
|
* Bump dependencies for ARM ChaCha20Jason A. Donenfeld2019-02-142-9/+9
|
* wintun: Auto-calculate TUN exchange buffer sizeSimon Rozman2019-02-081-8/+7
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: Simplify Read method()Simon Rozman2019-02-081-51/+51
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: Make constants private and adopt Go recommended caseSimon Rozman2019-02-081-29/+29
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: Check for user close in read loop regardless the loadSimon Rozman2019-02-081-24/+22
| | | | | | | | | Do the WaitForSingleObject() always to provide high-load responsiveness. Reorder events so TUN_SIGNAL_CLOSE has priority over TUN_SIGNAL_DATA_AVAIL, to provide high-load responsiveness at all. Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: Adjust tunRWQueue.left member to match Wintun driverSimon Rozman2019-02-081-2/+2
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Merge _SP_DRVINFO_DETAIL_DATA and DrvInfoDetailDataSimon Rozman2019-02-074-55/+60
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Merge SP_DRVINFO_DATA and DrvInfoDataSimon Rozman2019-02-074-78/+78
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Rename SP_REMOVEDEVICE_PARAMS to RemoveDeviceParamsSimon Rozman2019-02-072-4/+4
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Rename SP_CLASSINSTALL_HEADER to ClassInstallHeaderSimon Rozman2019-02-074-20/+20
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Merge _SP_DEVINSTALL_PARAMS and DevInstallParamsSimon Rozman2019-02-074-63/+25
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Merge _SP_DEVINFO_LIST_DETAIL_DATA and DevInfoListDetailDataSimon Rozman2019-02-074-26/+26
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Rename SP_DEVINFO_DATA to DevInfoDataSimon Rozman2019-02-074-81/+81
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: Detect if a foreign interface with the same name existsSimon Rozman2019-02-072-6/+49
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: Clean excessive setupapi.DevInfo.GetDeviceInfoListDetail() callSimon Rozman2019-02-071-14/+0
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: Explain rationale behind case-insensitive interface namesSimon Rozman2019-02-071-1/+5
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: Implement TODO in TestSetupDiGetDeviceRegistryProperty()Simon Rozman2019-02-071-3/+11
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: add FlushInterface stubJason A. Donenfeld2019-02-072-4/+18
|
* main_windows: Get iface name from argumentJason A. Donenfeld2019-02-071-2/+1
|
* wintun: Compare values of GUID, not pointers, when removingJason A. Donenfeld2019-02-071-1/+1
|
* main_windows: Catch more exit eventsJason A. Donenfeld2019-02-071-0/+3
|
* wintun: Introduce new package for obscuring Windows bitsJason A. Donenfeld2019-02-0712-487/+527
|
* tun_windows: StyleJason A. Donenfeld2019-02-071-11/+13
|
* setupapi: Lower case paramsJason A. Donenfeld2019-02-073-184/+184
|
* setupapi: Do not export the toGo/toWindows functionsJason A. Donenfeld2019-02-072-3/+3
|
* setupapi: Pass pointers instead of valuesJason A. Donenfeld2019-02-071-9/+9
|
* tun_windows: Introduce preliminary TUN interface creationSimon Rozman2019-02-063-5/+556
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* tun_windows: Stop checking minimum size of received TUN packetsSimon Rozman2019-02-061-2/+1
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Add DrvInfoDetailData.IsCompatible() to simplify HID detectionSimon Rozman2019-02-062-1/+29
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Add SP_DRVINFO_DATA.IsNewer() method to simplify comparisonSimon Rozman2019-02-062-0/+48
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Make toUTF16() public and add UTF16ToBuf() counterpartSimon Rozman2019-02-062-4/+28
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Fix up errors and pathsJason A. Donenfeld2019-02-053-10/+12
|
* conn: close ipv4 socket when ipv6 socket failsJason A. Donenfeld2019-02-051-1/+0
|
* setupapi: Add support for driver info listsSimon Rozman2019-02-054-0/+398
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Move Go<>Windows struct marshaling to types_windows.goSimon Rozman2019-02-052-27/+47
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Add support for SetupDi(Get|Set)DeviceRegistryProperty()Simon Rozman2019-02-054-24/+242
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* setupapi: Introduce DevInfo methods for cleaner codeSimon Rozman2019-02-053-19/+74
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Add support for setupapi.SetupDi(Get|Set)SelectedDevice()Simon Rozman2019-02-053-0/+78
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Reorder data-types and functions to match SetupAPI.hSimon Rozman2019-02-054-334/+349
| | | | | | | | | | | Adding functions with non-consistent order made setupapi package a mess. While we could reorder data-types and functions by alphabet - it would make searching easier - it would put ...Get... and ...Set... functions quite apart. Therefore, the SetupAPI.h order was adopted. Signed-off-by: Simon Rozman <simon@rozman.si>
* Add support for setupapi.SetupDiCreateDeviceInfo()Simon Rozman2019-02-054-1/+67
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Add support for setupapi.setupDiCreateDeviceInfoListEx()Simon Rozman2019-02-053-0/+50
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Stop accessing SetupDiGetDeviceInfoListDetail() output on errorSimon Rozman2019-02-051-20/+20
| | | | | | | The data returned by SetupDiGetDeviceInfoListDetail() is nil on error which will cause the test to crash should the function fail. Signed-off-by: Simon Rozman <simon@rozman.si>
* Unify certain variable namesSimon Rozman2019-02-052-12/+10
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Simplify SetupDiEnumDeviceInfo() synopsisSimon Rozman2019-02-052-11/+10
| | | | | | | The SetupDiEnumDeviceInfo() now returns a SP_DEVINFO_DATA rather than taking it on input to fill it on return. Signed-off-by: Simon Rozman <simon@rozman.si>
* Change generic local variable names with meaningful replacementsSimon Rozman2019-02-051-41/+42
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Add support for setupapi.SetupDiClassGuidsFromNameEx()Simon Rozman2019-02-053-0/+75
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Clean an unused constantSimon Rozman2019-02-051-1/+0
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>