Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-05-11 | wintun: registry: revise value reading | Simon Rozman | |
- 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> | |||
2019-05-10 | wintun: call HrRenameConnection in another thread | Jason A. Donenfeld | |
2019-05-10 | wintun: enumerate faster by using COMPATDRIVER instead of CLASSDRIVER | Jason A. Donenfeld | |
2019-05-10 | wintun: destroy devinfolist after usage | Jason A. Donenfeld | |
2019-05-10 | wintun: registry: replace REG_NOTIFY with NOTIFY | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-05-10 | wintun: IpConfig is a MULTI_SZ, and fix errors | Jason A. Donenfeld | |
2019-05-10 | wintun: poll for device key | Jason A. Donenfeld | |
It's actually pretty hard to guess where it is. | |||
2019-05-10 | wintun: fix scope of error object | Jason A. Donenfeld | |
2019-05-10 | wintun: wait for interface registry key on device creation | Simon Rozman | |
By using RegNotifyChangeKeyValue(). Also disable dead gateway detection. Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-05-09 | wintun: fix GUID leading zero padding | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-05-03 | setupapi: safer aliasing of slice types | Jason A. Donenfeld | |
2019-05-03 | wintun: work around GetInterface staleness bug | Jason A. Donenfeld | |
2019-05-02 | wintun: don't retry when not creating | Jason A. Donenfeld | |
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. | |||
2019-04-29 | wintun: try harder to open registry key | Jason A. Donenfeld | |
This sucks. Can we please find a deterministic way of doing this instead? | |||
2019-04-19 | setupapi: Fix struct size mismatches | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-04-19 | setupapi: actually fix padding by rounding up to sizeof(void*) | Jason A. Donenfeld | |
2019-04-18 | setupapi: Revise DrvInfoDetailData struct size calculation | Simon Rozman | |
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> | |||
2019-04-13 | windows: use proper constants from updated x/sys | Jason A. Donenfeld | |
2019-04-01 | wintun: rename device using undocumented API that netsh.exe uses | Jason A. Donenfeld | |
2019-04-01 | wintun: add more retry loops | Jason A. Donenfeld | |
2019-03-22 | wintun: query for NetCfgInstanceId several times | Jason A. Donenfeld | |
2019-03-22 | tun: windows: Make adapter rename asynchronous | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-22 | tun: windows: Adapter devices renamed to WINTUN<LUID Index> | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-18 | tun: windows: wintun does iocp | Jason A. Donenfeld | |
2019-03-10 | wintun: Poll more often | Jason A. Donenfeld | |
2019-03-08 | wintun: Make errors more descriptive | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-08 | wintun: Return correct reboot-req flag on CreateInterface() error too | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-08 | wintun: Fix double-quoted strings escaping on output | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-08 | wintun: Introduce SetupAPI enumerator and machineName consts | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-07 | wintun: Cleanup | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-07 | wintun: Refactor network registry key name generation | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-07 | wintun: Revise interface creation wait | Simon Rozman | |
DIF_INSTALLDEVICE returns almost immediately, while the device installation continues in the background. It might take a while, before all registry keys and values are populated. Previously, wireguard-go waited for HKLM\SYSTEM\CurrentControlSet\ Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\<id> registry key only. Followed by a SetInterfaceName() method of Wintun struct which tried to access HKLM\SYSTEM\CurrentControlSet\Control\Network\ {4D36E972-E325-11CE-BFC1-08002BE10318}\<id>\Connection registry key might not be available yet. This commit loops until both registry keys are available before returning from CreateInterface() function. Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-04 | wintun: Resolve some of golint warnings | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-04 | Simplify reading NetCfgInstanceId from registry | Simon Rozman | |
As querying non-existing registry value and reading non-existing registry string value both return ERROR_FILE_NOT_FOUND, we can use later only. Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-03-04 | Unify interface-specific network registry key open | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-18 | Change package path | Jason A. Donenfeld | |
2019-02-07 | setupapi: Merge _SP_DRVINFO_DETAIL_DATA and DrvInfoDetailData | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | setupapi: Merge SP_DRVINFO_DATA and DrvInfoData | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | setupapi: Rename SP_REMOVEDEVICE_PARAMS to RemoveDeviceParams | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | setupapi: Rename SP_CLASSINSTALL_HEADER to ClassInstallHeader | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | setupapi: Merge _SP_DEVINSTALL_PARAMS and DevInstallParams | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | setupapi: Merge _SP_DEVINFO_LIST_DETAIL_DATA and DevInfoListDetailData | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | setupapi: Rename SP_DEVINFO_DATA to DevInfoData | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | wintun: Detect if a foreign interface with the same name exists | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | wintun: Clean excessive setupapi.DevInfo.GetDeviceInfoListDetail() call | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | wintun: Explain rationale behind case-insensitive interface names | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | wintun: Implement TODO in TestSetupDiGetDeviceRegistryProperty() | Simon Rozman | |
Signed-off-by: Simon Rozman <simon@rozman.si> | |||
2019-02-07 | wintun: add FlushInterface stub | Jason A. Donenfeld | |
2019-02-07 | wintun: Compare values of GUID, not pointers, when removing | Jason A. Donenfeld | |
2019-02-07 | wintun: Introduce new package for obscuring Windows bits | Jason A. Donenfeld | |