aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-25net: implement ECN handling, rfc6040 stylefd/propagate-DSCP-bitsFlorent Daigniere
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>
2019-02-23send: propagate DSCP bits to the outer tunnelFlorent Daigniere
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>
2019-02-18Change package pathJason A. Donenfeld
2019-02-14Bump dependencies for ARM ChaCha20Jason A. Donenfeld
2019-02-08wintun: Auto-calculate TUN exchange buffer sizeSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-08wintun: Simplify Read method()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-08wintun: Make constants private and adopt Go recommended caseSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-08wintun: Check for user close in read loop regardless the loadSimon Rozman
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>
2019-02-08wintun: Adjust tunRWQueue.left member to match Wintun driverSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Merge _SP_DRVINFO_DETAIL_DATA and DrvInfoDetailDataSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Merge SP_DRVINFO_DATA and DrvInfoDataSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Rename SP_REMOVEDEVICE_PARAMS to RemoveDeviceParamsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Rename SP_CLASSINSTALL_HEADER to ClassInstallHeaderSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Merge _SP_DEVINSTALL_PARAMS and DevInstallParamsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Merge _SP_DEVINFO_LIST_DETAIL_DATA and DevInfoListDetailDataSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07setupapi: Rename SP_DEVINFO_DATA to DevInfoDataSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: Detect if a foreign interface with the same name existsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: Clean excessive setupapi.DevInfo.GetDeviceInfoListDetail() callSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: Explain rationale behind case-insensitive interface namesSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: Implement TODO in TestSetupDiGetDeviceRegistryProperty()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-07wintun: add FlushInterface stubJason A. Donenfeld
2019-02-07main_windows: Get iface name from argumentJason A. Donenfeld
2019-02-07wintun: Compare values of GUID, not pointers, when removingJason A. Donenfeld
2019-02-07main_windows: Catch more exit eventsJason A. Donenfeld
2019-02-07wintun: Introduce new package for obscuring Windows bitsJason A. Donenfeld
2019-02-07tun_windows: StyleJason A. Donenfeld
2019-02-07setupapi: Lower case paramsJason A. Donenfeld
2019-02-07setupapi: Do not export the toGo/toWindows functionsJason A. Donenfeld
2019-02-07setupapi: Pass pointers instead of valuesJason A. Donenfeld
2019-02-06tun_windows: Introduce preliminary TUN interface creationSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-06tun_windows: Stop checking minimum size of received TUN packetsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-06setupapi: Add DrvInfoDetailData.IsCompatible() to simplify HID detectionSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-06setupapi: Add SP_DRVINFO_DATA.IsNewer() method to simplify comparisonSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-06setupapi: Make toUTF16() public and add UTF16ToBuf() counterpartSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Fix up errors and pathsJason A. Donenfeld
2019-02-05conn: close ipv4 socket when ipv6 socket failsJason A. Donenfeld
2019-02-05setupapi: Add support for driver info listsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05setupapi: Move Go<>Windows struct marshaling to types_windows.goSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05setupapi: Add support for SetupDi(Get|Set)DeviceRegistryProperty()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05setupapi: Introduce DevInfo methods for cleaner codeSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDi(Get|Set)SelectedDevice()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Reorder data-types and functions to match SetupAPI.hSimon Rozman
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>
2019-02-05Add support for setupapi.SetupDiCreateDeviceInfo()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.setupDiCreateDeviceInfoListEx()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Stop accessing SetupDiGetDeviceInfoListDetail() output on errorSimon Rozman
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>
2019-02-05Unify certain variable namesSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Simplify SetupDiEnumDeviceInfo() synopsisSimon Rozman
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>
2019-02-05Change generic local variable names with meaningful replacementsSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Add support for setupapi.SetupDiClassGuidsFromNameEx()Simon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-02-05Clean an unused constantSimon Rozman
Signed-off-by: Simon Rozman <simon@rozman.si>