aboutsummaryrefslogtreecommitdiffstats
path: root/README.md (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Allow packet over-allocation on sendsr/api-improvementsSimon Rozman2021-04-131-1/+1
| | | | | | | | | | | Should client desire to prepare packets for Wintun inside the ring memory (e.g. to reduce memory copying), the final sending packet size is not always known at the WintunAllocateSendPacket() time. This commit modifies Wintun to calculate the packet size on delivery to NDIS. The packet size is derived from IPv4/IPv6 packet header. Signed-off-by: Simon Rozman <simon@rozman.si>
* Allow optional padding before and after layer 3 packetsSimon Rozman2021-04-131-1/+20
| | | | | | | | | | To avoid additional packet memory allocation and copy when sending or receiving packets, this commit introduces additional available space before and after layer 3 IPv4 or IPv6 packet in the Wintun rings. Wintun will ignore data in those areas. Requested-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Simon Rozman <simon@rozman.si>
* README: document the Windows SDK version requirementSimon Rozman2021-02-041-1/+1
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* global: bump copyrightJason A. Donenfeld2021-01-301-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* project: license prebuilt binaries more permissivelyJason A. Donenfeld2020-12-161-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: remove return value from logger functionJason A. Donenfeld2020-11-101-5/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: remove WintunOpenAdapterDeviceObjectJason A. Donenfeld2020-11-051-14/+0
| | | | | | | Discourage use of kernel interface, which gives us more flexibility if we ever want to change it. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* example: raise to 4MiBJason A. Donenfeld2020-11-051-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: rearrange wintun.h to have better grouping and improve docsJason A. Donenfeld2020-11-051-18/+18
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: rename WintunGetAdapter to WintunOpenAdapterJason A. Donenfeld2020-11-051-9/+9
| | | | | | "Create" and "Open" natural names for these. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: rename ReceiveRelease to ReleaseReceivePacketJason A. Donenfeld2020-11-051-5/+5
| | | | | | | | This makes the API parallel: Wintun*Allocate*SendPacket -> WintunSendPacket WintunReceivePacket -> Wintun*Release*ReceivePacket Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* README: improve code exampleJason A. Donenfeld2020-11-051-2/+37
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: fix typo in ring-management function prototype declarationsSimon Rozman2020-11-051-5/+5
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* README: add reference and describe infoJason A. Donenfeld2020-11-041-96/+343
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: rename GetVersion to GetRunningDriverVersionJason A. Donenfeld2020-11-041-1/+1
| | | | | | | This makes our intentions a lot more clear, and in case we ever add other version functions, makes the forward path simpler. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: use 'open' name since caller must close handleJason A. Donenfeld2020-11-031-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Bump date headersJason A. Donenfeld2020-10-311-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* api: upgrade source analysis annotationsSimon Rozman2020-10-311-1/+1
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* api: depretiate WintunIsPacketAvailable()Simon Rozman2020-10-311-11/+11
| | | | | | | Spinning on the WintunReceivePacket() while it returns ERROR_NO_MORE_ITEMS achieves the same. Signed-off-by: Simon Rozman <simon@rozman.si>
* api: upgrade ring managementSimon Rozman2020-10-311-9/+17
| | | | | | | | | - Return pointer to ring buffer with packet data allowing clients to read/write directly. This eliminates one memcpy(). - Make sending/receiving packets thread-safe. Signed-off-by: Simon Rozman <simon@rozman.si>
* api: update README.mdSimon Rozman2020-10-311-115/+80
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* msi-example: add instructions and sample codeJason A. Donenfeld2019-09-181-1/+1
|
* README: clarify spinningJason A. Donenfeld2019-08-221-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Spin less and more efficientlyJason A. Donenfeld2019-08-041-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Shorten READMEJason A. Donenfeld2019-08-021-72/+3
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Document how to get file handleJason A. Donenfeld2019-08-021-19/+48
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Rearrange README and add additional MSM infoJason A. Donenfeld2019-08-021-73/+90
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Resolve SDV reported "defect"Simon Rozman2019-08-021-0/+2
| | | | | | | | | NdisMGetDeviceProperty() should always return non-NULL FunctionalDeviceObject according to _Outptr_opt_. An explicit FunctionalDeviceObject NULL check has been added to keep the SDV happy and not calling our driver "defective". Signed-off-by: Simon Rozman <simon@rozman.si>
* Use more specific IOCTL codeJason A. Donenfeld2019-07-191-1/+1
| | | | 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-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* README: clarify ring usageJason A. Donenfeld2019-07-171-32/+41
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Switch to ring buffers for exchanging packetsSimon Rozman2019-07-161-32/+95
| | | | | | | This demonstrates the use of ring buffers in its simplest, purest form. No performance optimizations were made. Signed-off-by: Simon Rozman <simon@rozman.si>
* README: correct path of deviceJason A. Donenfeld2019-07-091-1/+1
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Reported-by: Shay Sharon <Shay.Sharon@audiocodes.com>
* Decrease alignment requirements to 4Jason A. Donenfeld2019-07-051-12/+7
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Do not use _RESOURCES but rather allocate our own copyJason A. Donenfeld2019-07-051-1/+1
| | | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Fixes: 09dc932 ("Create copies of NBLs to complete them faster")
* Map user buffer only onceJason A. Donenfeld2019-07-031-1/+1
| | | | | | | This avoids needless page table modifications and also lets us enforce having writable pages. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Declare NDIS 6.83 compliantSimon Rozman2019-07-031-1/+1
| | | | | | | | | | | | | | 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>
* Document toolchain requirementJason A. Donenfeld2019-06-071-0/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* README: 256 packets per exchange buffer limitation is obsoleteSimon Rozman2019-06-071-1/+1
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* Upgrade to VS2019 and update CSQ locking for analysisSimon Rozman2019-06-031-2/+2
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* README: Fix padding calculationJason A. Donenfeld2019-05-151-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* installer: put whql assets in reasonable placeJason A. Donenfeld2019-04-261-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Note sha256 issueJason A. Donenfeld2019-04-261-1/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* installer: fix typosJason A. Donenfeld2019-04-261-6/+7
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Split driver setup to EV signed (<Win10) and WHQL signed (>=Win10)Simon Rozman2019-04-261-1/+9
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* README: only specify SHA1 in certificate specifierJason A. Donenfeld2019-04-251-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* README: Be explicit about timestamp serverJason A. Donenfeld2019-04-251-0/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* Extend MSBuild project to build all supported platforms at onceSimon Rozman2019-04-231-14/+6
| | | | Signed-off-by: Simon Rozman <simon@rozman.si>
* README: fix up documentationJason A. Donenfeld2019-04-201-3/+3
|
* Switch from NMake to MSBuildSimon Rozman2019-04-191-5/+17
| | | | | | | | | | | 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>