aboutsummaryrefslogtreecommitdiffstats
path: root/wintun.vcxproj (follow)
Commit message (Collapse)AuthorAgeFilesLines
* driver: move to subfolderSimon Rozman2020-11-061-135/+0
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: simplify vcxprojJason A. Donenfeld2020-11-051-86/+10
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: upgrade nci.lib and wintun-inf.h buildingSimon Rozman2020-11-041-6/+0
| | | | | | | The additional build steps performed are now attached to the build process using BeforeTargets/AfterTargets. Signed-off-by: Simon Rozman <simon@rozman.si>
* wintun: extract inf driverver at compile time into C headerJason A. Donenfeld2020-11-031-0/+6
| | | | | | | | | | | | 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>
* Add ARM driver compilationSimon Rozman2020-10-311-0/+33
| | | | | | | | | This adds the ARM driver to the list of Wintun drivers we compile for future deployment. Since we're not in position to test it in the real world, any feedback is greatly appreciated. Suggested-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Simon Rozman <simon@rozman.si>
* vcxproj: swap configuration and platform subfolder hierarchySimon Rozman2020-10-301-2/+2
| | | | | | | This should allow wintun.dll to simplify referencing same configuration but different platform wintun.dll for WoW64 support. Signed-off-by: Simon Rozman <simon@rozman.si>
* Use standard volatile semanticsShawn Hoffman2020-10-301-3/+2
| | | | | | | | Make all archs are use the standardized concept of volatile. This patch will cause the most changes to arm64 codegen. Signed-off-by: Shawn Hoffman <godisgovernment@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Explicitly opt-in to READ_ONCE/WRITE_ONCE semanticsJason A. Donenfeld2019-08-241-1/+2
| | | | | | | | | | | | We mark all atomic variables as volatile and have our atomic accessors built around that. We probably, therefore, want Linux-style READ/WRITE_ONCE semantics of implying memory barriers. /volatile:ms does this automatically. This was already the default on amd64 and x86 but not on ARM. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Reported-by: Lev Stipakov <lstipakov@gmail.com>
* Separate out atomic helpersJason A. Donenfeld2019-08-021-1/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Rewrite installer logic in CJason A. Donenfeld2019-08-021-11/+4
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Add handle closing ioctlJason A. Donenfeld2019-07-311-0/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Piggy-back on top of NDIS' device object instead of adding our ownJason A. Donenfeld2019-07-181-3/+0
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Declare NDIS 6.83 compliantSimon Rozman2019-07-031-2/+2
| | | | | | | | | | | | | | After confirming with Microsoft Documentation that Wintun is already NDIS 6.83 compliant, we declare it so. In order to build NDIS 6.83 miniport driver, WDK for Windows 10, version 1903 is required: documentation updated. https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-81 https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-82 https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-83 Signed-off-by: Simon Rozman <simon@rozman.si>
* Make NDIS 6.80 compliantSimon Rozman2019-07-031-2/+2
| | | | | | | | | Implement support for synchronous OID requests and declare the Wintun as NDIS 6.80 compliant. https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-80 Signed-off-by: Simon Rozman <simon@rozman.si>
* Declare NDIS 6.70 compliantSimon Rozman2019-07-031-2/+2
| | | | | | | | | | | | | | | After confirming with Microsoft Documentation that Wintun is already NDIS 6.70 compliant, we declare it so. Furthermore, determine NDIS version bounds from NDISxxx_MINIPORT automatically. https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-40 https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-50 https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-60 https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-ndis-6-70 Signed-off-by: Simon Rozman <simon@rozman.si>
* Replace PnP notifications with IRP_MJ_PNP dispatch handlerSimon Rozman2019-06-201-1/+1
| | | | | | | | | | | | By replacing the NDIS' IRP_MJ_PNP dispatch handler we get the first chance to clear the NBL queue to make NDIS proceed to TunPause() on device removal. This method is simpler than PnP notifications and we are chasing surprise removal issues in WHLK tests. If this works, I'll hopefully come back and update this commit message. Signed-off-by: Simon Rozman <simon@rozman.si>
* Remove documentation files from project fileSimon Rozman2019-06-071-5/+1
| | | | | | ...they are part of solution now. Signed-off-by: Simon Rozman <simon@rozman.si>
* Force handles closed if requiredJason A. Donenfeld2019-06-031-0/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Clear NBLs on PnP notificationJason A. Donenfeld2019-06-031-2/+2
| | | | | | Otherwise Pause&Halt aren't called. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Turn on compiler speed optionsJason A. Donenfeld2019-06-031-0/+5
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Switch from NMake to MSBuildSimon Rozman2019-04-191-37/+13
| | | | | | | | | | | This allows common version and other configuration in wintun.props. - MSM packaging migrated to WiX MSBuild project and extended to support digital signing - Building supports single Platform|Configuration per run - again :( - wintun.vcxproj cleanup Signed-off-by: Simon Rozman <simon@rozman.si>
* Preset version to 0.1Simon Rozman2019-04-181-7/+5
| | | | | | | | | Revision (third) and build (fourth) fields were also dropped: - NDIS_MINIPORT_DRIVER_CHARACTERISTICS supports only a.b - MSI checks only a.b.c - GPO compares only a.b when checking if the new MSI is an update Signed-off-by: Simon Rozman <simon@rozman.si>
* Reintroduce Windows 7 supportSimon Rozman2019-04-161-6/+6
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Add ARM64 compiling supportSimon Rozman2019-04-151-0/+44
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Revise architecture naming conventionSimon Rozman2019-04-151-8/+8
| | | | | | | Adopt PROCESSOR_ARCHITECTURE environment variable platform designation, make it lowercase, and unify output folder naming. Signed-off-by: Simon Rozman <simon@rozman.si>
* Establish command line building supportSimon Rozman2019-04-131-0/+4
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Fix output folderSimon Rozman2019-04-121-0/+4
| | | | | | | | | | | | The compiled result is put into $(SolutionDir)$(Platform)\ $(ConfigurationName) by default. Unfortunately Static Driver Verifier sets the $(SolutionDir) without a trailing backslash, resulting some files end up in a "wintunx64" folder of the project parent folder. Until driver building and packaging is automated, the output folder has been manually matched to the intermediate folder. Signed-off-by: Simon Rozman <simon@rozman.si>
* Move #define NDIS... to ClCompile/PreprocessorDefinitionsSimon Rozman2019-04-121-52/+11
| | | | | | | | | | | | | | These constants must be defined in the project file in order for Static Driver Verifier to work correctly. Otherwise, SDV returns error MSB3073: The command "staticdv /check:*" exited with code -1. Since the ClCompile/PreprocessorDefinitions management became cumbersome, all platform and configuration independent MSVC settings were rearranged in a single <ItemDefinitionGroup>, while platform independent but configuration dependent were rearranged to a conditional <ItemDefinitionGroup>(s). Signed-off-by: Simon Rozman <simon@rozman.si>
* Enable code analysis on Release build and set it to DriverMustFixRulesSimon Rozman2019-04-121-2/+10
| | | | | | | Wintun will need to deliver code analysis results of Release build to WHLK. Signed-off-by: Simon Rozman <simon@rozman.si>
* Set UseDebugLibraries to true for debug driver buildsSimon Rozman2019-04-121-2/+2
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Implement dynamic NDIS 6.30 detectionSimon Rozman2019-04-031-4/+4
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Add documentation files to the .vcxprojSimon Rozman2019-03-281-0/+4
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Enable better debugging support for Debug driver buildsSimon Rozman2019-03-221-4/+4
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Initial commitJason A. Donenfeld2019-03-221-0/+183
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Simon Rozman <simon@rozman.si>