Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | wintun: guid functions are upstream | Jason A. Donenfeld | 2019-06-06 | 5 | -117/+11 |
| | |||||
* | wintun: simplify DeleteInterface method signature | Simon Rozman | 2019-06-06 | 2 | -58/+79 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | wintun: don't run HrRenameConnection in separate thread | Jason A. Donenfeld | 2019-06-05 | 1 | -3/+2 |
| | | | | | It's very slow, but unfortunately we haven't a choice. NLA needs this to have completed. | ||||
* | tun: windows: obsolete 256 packets per exchange buffer limitation | Simon Rozman | 2019-06-05 | 1 | -2/+1 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | setupapi, wintun: replace syscall with golang.org/x/sys/windows | Simon Rozman | 2019-06-04 | 4 | -36/+32 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | wintun: set DI_QUIETINSTALL flag for GUI-less device management | Simon Rozman | 2019-06-04 | 1 | -3/+26 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | setupapi: define PropChangeParams struct | Simon Rozman | 2019-06-04 | 1 | -1/+20 |
| | | | | | | | This structure is required for calling DIF_PROPERTYCHANGE installer class. Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | tun: windows: mitigate infinite loop in Flush() | Jason A. Donenfeld | 2019-05-31 | 1 | -29/+35 |
| | | | | | It's possible that for whatever reason, we keep returning EOF, resulting in repeated close/open/write operations, except with empty packets. | ||||
* | device, tun: rearrange code and fix device tests | Matt Layher | 2019-05-29 | 1 | -93/+0 |
| | | | | Signed-off-by: Matt Layher <mdlayher@gmail.com> | ||||
* | wintun: remove extra / | Jason A. Donenfeld | 2019-05-26 | 1 | -1/+1 |
| | |||||
* | wintun: revise GetInterface() | Simon Rozman | 2019-05-24 | 2 | -3/+6 |
| | | | | | | | | | | | - Make foreign interface found error numeric to ease condition detection. - Update GetInterface() documentation. - Make tun.CreateTUN() quit when foreign interface found before attempting to create a Wintun interface with a duplicate name. Creation is futile. Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | wintun: never return nil, nil | Jason A. Donenfeld | 2019-05-23 | 1 | -1/+1 |
| | |||||
* | setupapi: trim "Get" from getters | Simon Rozman | 2019-05-22 | 5 | -53/+53 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | wintun: don't try to flush interface, but rather delete | Jason A. Donenfeld | 2019-05-17 | 2 | -25/+8 |
| | |||||
* | wintun: make certain methods private | Jason A. Donenfeld | 2019-05-17 | 2 | -33/+41 |
| | |||||
* | wintun: change acronyms to uppercase | Simon Rozman | 2019-05-17 | 1 | -5/+5 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | global: regroup all imports | Jason A. Donenfeld | 2019-05-14 | 6 | -11/+16 |
| | |||||
* | wintun: registry: fix nits | Jason A. Donenfeld | 2019-05-11 | 1 | -17/+20 |
| | |||||
* | wintun: registry: revise value reading | Simon Rozman | 2019-05-11 | 2 | -67/+82 |
| | | | | | | | | | | | | | | - Make getStringValueRetry() reusable for reading any value type. This merges code from GetIntegerValueWait(). - expandString() >> toString() and extend to support REG_MULTI_SZ (to return first value of REG_MULTI_SZ). Furthermore, doing our own UTF-16 to UTF-8 conversion works around a bug in windows/registry's GetStringValue() non-zero terminated string handling. - Provide toInteger() analogous to toString() - GetStringValueWait() tolerates and reads REG_MULTI_SZ too now. It returns REG_MULTI_SZ[0], making GetFirstStringValueWait() redundant. Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | wintun: call HrRenameConnection in another thread | Jason A. Donenfeld | 2019-05-10 | 1 | -2/+3 |
| | |||||
* | wintun: add LUID accessor | Jason A. Donenfeld | 2019-05-10 | 1 | -0/+7 |
| | |||||
* | wintun: enumerate faster by using COMPATDRIVER instead of CLASSDRIVER | Jason A. Donenfeld | 2019-05-10 | 1 | -1/+1 |
| | |||||
* | wintun: destroy devinfolist after usage | Jason A. Donenfeld | 2019-05-10 | 1 | -0/+1 |
| | |||||
* | wintun: registry: replace REG_NOTIFY with NOTIFY | Simon Rozman | 2019-05-10 | 3 | -13/+9 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | wintun: IpConfig is a MULTI_SZ, and fix errors | Jason A. Donenfeld | 2019-05-10 | 2 | -49/+72 |
| | |||||
* | wintun: poll for device key | Jason A. Donenfeld | 2019-05-10 | 1 | -9/+10 |
| | | | | It's actually pretty hard to guess where it is. | ||||
* | wintun: fix scope of error object | Jason A. Donenfeld | 2019-05-10 | 1 | -5/+6 |
| | |||||
* | wintun: wait for interface registry key on device creation | Simon Rozman | 2019-05-10 | 7 | -133/+534 |
| | | | | | | By using RegNotifyChangeKeyValue(). Also disable dead gateway detection. Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | wintun: fix GUID leading zero padding | Simon Rozman | 2019-05-09 | 1 | -1/+1 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | setupapi: safer aliasing of slice types | Jason A. Donenfeld | 2019-05-03 | 5 | -23/+40 |
| | |||||
* | wintun: work around GetInterface staleness bug | Jason A. Donenfeld | 2019-05-03 | 2 | -18/+30 |
| | |||||
* | wintun: don't retry when not creating | Jason A. Donenfeld | 2019-05-02 | 2 | -9/+26 |
| | | | | | | The only time we're trying to counteract the race condition is when we're creating a driver. When we're simply looking up all drivers, it doesn't make sense to retry. | ||||
* | wintun: try harder to open registry key | Jason A. Donenfeld | 2019-04-29 | 1 | -2/+2 |
| | | | | | This sucks. Can we please find a deterministic way of doing this instead? | ||||
* | tun: freebsd: work around numerous kernel panics on shutdown | Jason A. Donenfeld | 2019-04-23 | 1 | -23/+82 |
| | | | | | | | | | There are numerous race conditions. But even this will crash it: while true; do ifconfig tun0 create; ifconfig tun0 destroy; done It seems like LLv6 is related, which we're not using anyway, so explicitly disable it on the interface. | ||||
* | setupapi: Fix struct size mismatches | Simon Rozman | 2019-04-19 | 4 | -8/+27 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | setupapi: actually fix padding by rounding up to sizeof(void*) | Jason A. Donenfeld | 2019-04-19 | 1 | -1/+1 |
| | |||||
* | tun: darwin: write routeSocket variable in helper | Jason A. Donenfeld | 2019-04-19 | 1 | -2/+4 |
| | | | | Otherwise the race detector "complains". | ||||
* | setupapi: Revise DrvInfoDetailData struct size calculation | Simon Rozman | 2019-04-18 | 2 | -3/+7 |
| | | | | | | | Go adds trailing padding to DrvInfoDetailData struct in GOARCH=386 which confuses SetupAPI expecting exactly sizeof(SP_DRVINFO_DETAIL_DATA). Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | windows: use proper constants from updated x/sys | Jason A. Donenfeld | 2019-04-13 | 3 | -16/+16 |
| | |||||
* | tun: windows: Adopt new error codes returned by Wintun | Simon Rozman | 2019-04-11 | 1 | -3/+2 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | tun: windows: do not sleep after OPERATION_ABORTED on write | Simon Rozman | 2019-04-11 | 1 | -2/+1 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | tun: windows: do not sleep after OPERATION_ABORTED | Jason A. Donenfeld | 2019-04-09 | 1 | -2/+1 |
| | |||||
* | tun: windows: Retry R/W on ERROR_OPERATION_ABORTED | Simon Rozman | 2019-04-04 | 1 | -18/+44 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | tun: windows: Attempt to reopen handle on all errors | Simon Rozman | 2019-04-03 | 1 | -15/+9 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> | ||||
* | wintun: rename device using undocumented API that netsh.exe uses | Jason A. Donenfeld | 2019-04-01 | 2 | -1/+41 |
| | |||||
* | wintun: add more retry loops | Jason A. Donenfeld | 2019-04-01 | 3 | -30/+56 |
| | |||||
* | tun: windows: cancel ongoing reads on closing and delete after close | Jason A. Donenfeld | 2019-03-26 | 1 | -4/+11 |
| | | | | | This reverts commit 52ec440d7977fad966002c3710ed9df957943407 and adds some spice. | ||||
* | wintun: query for NetCfgInstanceId several times | Jason A. Donenfeld | 2019-03-22 | 1 | -5/+16 |
| | |||||
* | tun: windows: delete interface before deleting file handles | Jason A. Donenfeld | 2019-03-22 | 1 | -9/+4 |
| | |||||
* | tun: windows: Make adapter rename asynchronous | Simon Rozman | 2019-03-22 | 2 | -60/+13 |
| | | | | Signed-off-by: Simon Rozman <simon@rozman.si> |