aboutsummaryrefslogtreecommitdiffstats
path: root/.editorconfig (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-11-03example: account for adapter reuseJason A. Donenfeld1-1/+1
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03wintun: upset everybody by doing multiplication via string concatenationJason A. Donenfeld1-1/+1
Because we can. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03wintun: extract inf driverver at compile time into C headerJason A. Donenfeld4-111/+28
This requires us to make some insane conversions between INF date, JavaScript time, and finally Windows file time. The point is to mimic SystemTimeToFileTime, which is what SpInf.dll's pSetupStringToDriverDate does on the YYYY-MM-DD from the INF. The result is that we no longer have to parse an ancient text format in C at runtime. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: move nci.lib generation to custom stepJason A. Donenfeld1-4/+7
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: move undocumented ntdll symbols to ntdll.hJason A. Donenfeld4-18/+18
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03wintun: use proper import type for undocumented functionsJason A. Donenfeld1-2/+7
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: constify pool argumentJason A. Donenfeld4-5/+5
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: remove guid getterJason A. Donenfeld4-21/+2
The iphlpapi takes both LUIDs and GUIDs but prefers LUIDs, so exposing the NET_LUID makes sense. However, we were previously exposing the configuration GUID, rather than the net GUID, which is confusing, so just make it all go away. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: use 'open' name since caller must close handleJason A. Donenfeld7-9/+9
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: add pool/driver removal for uninstaller semanticsJason A. Donenfeld7-28/+71
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: move _L macro where it belongsJason A. Donenfeld2-7/+2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: conditionalize quasi expensive prelinkeventJason A. Donenfeld1-1/+1
It would be better to do this only if either nci.def or nci.h are newer than nci.lib, but who knows if msbuild is expressive enough for this. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03example: add sal markingsJason A. Donenfeld1-2/+2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: only return top two version nibblesJason A. Donenfeld3-10/+8
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03example: remove extra argument from printJason A. Donenfeld1-2/+1
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: bulk-disable unreferenced param warning where it nags the mostSimon Rozman1-12/+2
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-03api: prevent double SetupDiDestroyDriverInfoList calls on errorSimon Rozman1-6/+10
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-03api: rundll32: repair token spawning semanticsJason A. Donenfeld4-9/+75
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: refactor .inf parsing and check SystemTimeToFileTime for errorsSimon Rozman1-29/+31
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-03api: simplify IsOurDrvInfoDetail()Simon Rozman1-3/+6
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-03api: ensure more code compiles by using dead code eliminationJason A. Donenfeld4-29/+33
It'd be nicer to do this via if (is_defined(HAVE_WHATEVER)) But MSVC won't work with the linux kernel macros for this. Ongoing research. Nevertheless, this makes most of the program always pass through the compiler's type checker, only to have dead code removed later. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-03api: begin to separate rundll32 jumpsJason A. Donenfeld4-332/+333
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02example: rewrite and replace api's debug rundll32 functionalityJason A. Donenfeld9-220/+240
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: free beginning of heap objectJason A. Donenfeld1-6/+6
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: pass around NET_LUID instead of LUIDJason A. Donenfeld2-4/+6
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: consistancy in exported interfaceJason A. Donenfeld2-8/+10
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: return correct error when there's a duplicateJason A. Donenfeld1-1/+2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: install driver on demandSimon Rozman5-383/+587
...and add API for uninstalling it. Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-02api: separate read-wait handle into other functionJason A. Donenfeld5-14/+29
Makes the API a bit more clear. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: statically compile devpkey constantsJason A. Donenfeld1-4/+2
I don't like this solution, but I don't see much other choice. It's not in uuid.lib or anywhere like that. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: serialize driver installationJason A. Donenfeld3-7/+43
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: make nci.lib work on x86Jason A. Donenfeld4-5/+19
This is an appalling hack. We need the lib tool to generate a coff lib with the "undecorate" parameter. And apparently the only way to do this with the MSVC tools is by making a stub object, and then rewriting the symbols using the def file. See Q131313 for Microsoft-sanctioned details. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: map cr errors to win32 errorsJason A. Donenfeld1-12/+8
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: simplify and unify error messagesSimon Rozman3-47/+47
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-02api: pnf param is noneJason A. Donenfeld1-1/+1
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: rename test to example and update a few thingsJason A. Donenfeld5-439/+375
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: make version function uniformJason A. Donenfeld3-52/+7
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: avoid call to CM_Get_DevNode_StatusJason A. Donenfeld1-36/+25
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: check for duplicate adapter statusJason A. Donenfeld4-4/+58
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-02api: separate out driver installationJason A. Donenfeld1-138/+149
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-01api: cleanup namesJason A. Donenfeld4-10/+10
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-11-01test: introduce a demo clientSimon Rozman5-0/+470
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-01api: account for nt path to moduleJason A. Donenfeld1-14/+8
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-31api: check buffer overflows in runtimeSimon Rozman5-71/+52
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-10-31api: fix up console writing for debugJason A. Donenfeld1-15/+10
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-31api: clear up argument evaluation orderJason A. Donenfeld1-5/+2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-31api: do not require RebootRequiredJason A. Donenfeld3-8/+14
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-31api: RebootRequire is an _Out_Jason A. Donenfeld4-14/+13
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-31api: add debugging rundll32 entry pointJason A. Donenfeld5-15/+117
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-10-31api: add missing header for rundll32 modeJason A. Donenfeld1-0/+2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>