Commit graph

634 commits

Author SHA1 Message Date
Johannes Anderwald 4f96b5fd3c [NDIS]
- Fix several bugs in NdisOpenFile
- Introduced in rev 5990 (5/9/2003)

svn path=/trunk/; revision=57814
2012-12-07 10:33:49 +00:00
Johannes Anderwald 874a4d7f8b [NDIS]
- Set ParameterValue when NdisReadConfiguration is successful
- Fixes crash when Belkin F5D8053 N Wireless USB Adapter is initializing
- Introduced in rev 5338 (31/07/2003)



svn path=/trunk/; revision=57803
2012-12-04 23:09:48 +00:00
Timo Kreuzer 71da3b771a [LAN]
Add a "comment" that will notify whoever wants to compile this poc, to move the IoCompleteRequest out of the SEH block.

svn path=/trunk/; revision=57435
2012-09-29 16:41:34 +00:00
Timo Kreuzer 3534c3f9cc [LAN]
Improve formatting, move function comments out of the function body and convert them to javadoc / doxygen style

svn path=/trunk/; revision=57434
2012-09-29 16:19:30 +00:00
Cameron Gutman d96bde2a80 [NDIS]
- NdisReadConfiguration should return NdisParameterInteger for requests for NdisParameterHexInteger
- Assert that conversion to integer from string does not fail
- Always trigger the ISR function if MiniportInitialize or MiniportHalt is executing

CORE-6064 #comment Please try to replicate with DEBUG_ULTRA turned on in NDIS

svn path=/trunk/; revision=57289
2012-09-13 01:04:21 +00:00
Sylvain Petreolle 4dc4dad0b3 [NDIS]
Remove spurious form feeds from NDIS code.
Patch by Lee Schroeder.
See issue #7310 for more details.

svn path=/trunk/; revision=57250
2012-09-07 12:01:14 +00:00
Dmitry Gorbachev 082e2570bc [MOUNTMGR][NDIS]
Fix some string length calculations.

[CRT]
Declare variables extern.

[DMUSIC]
Fix a bug, already fixed in Wine.

svn path=/trunk/; revision=57248
2012-09-06 21:11:44 +00:00
Cameron Gutman 0a9e0dc0a5 [AFD]
- Try to fix MSVC build

svn path=/trunk/; revision=57237
2012-09-04 07:42:21 +00:00
Cameron Gutman 136c0d4296 [AFD]
- Fix handling of IRP_MJ_READ and IRP_MJ_WRITE to allow passing sockets as parameters to NtReadFile and NtWriteFile

svn path=/trunk/; revision=57233
2012-09-04 03:01:15 +00:00
Cameron Gutman d9048b67de [AFD]
- Fix handling pending writes in the TDI_SEND completion routine

svn path=/trunk/; revision=57188
2012-08-28 00:26:26 +00:00
Cameron Gutman 083efd4ac3 [AFD]
- Rewrite a large portion of the send code to have proper support for overlapped and non-blocking sockets

svn path=/trunk/; revision=57187
2012-08-28 00:14:08 +00:00
Cameron Gutman c71cca6db6 [AFD]
- Fix enabling of some event select triggers

svn path=/trunk/; revision=57185
2012-08-27 22:18:29 +00:00
Cameron Gutman bc74b19760 [AFD]
- Mask out disabled events properly

svn path=/trunk/; revision=57184
2012-08-27 21:53:09 +00:00
Cameron Gutman c49946e714 [AFD]
- Fix broken overlapped I/O on sockets

svn path=/trunk/; revision=57178
2012-08-27 06:50:01 +00:00
Cameron Gutman 2a9a4034d9 [AFD]
- Fix a bug causing the event passed to WSAEnumNetworkEvents to remain set after the call

svn path=/trunk/; revision=57176
2012-08-27 06:19:19 +00:00
Cameron Gutman 6c0d0cbab0 [AFD]
- Fix one of the worst bugs in AFD of all time. Our AFD code operated under the assumption that none of the input parameters would change once we called LockRequest. This assumption is completely false. The only guarantee that made was that the pages never disappeared from us, not they they couldn't be modified. There are frequent cases where the user-mode buffer was modified from underneath us (WSPRecv allocates the struct on stack which makes it invalid during overlapped operations that complete later). When this happened, we would bugcheck when we tried to unlock the buffers since we accessed this in a member of the struct the caller passed us.
- I've fixed this by adding a parameter to LockRequest which specifies whether the buffer should be copied back when it is unlocked.
- This bug has been around for ages and I was never able to figure out why we just freed garbage sometimes. Now that the ws2_32_winetest exposed it reliably, I was finally able to fix it.

svn path=/trunk/; revision=57175
2012-08-27 04:16:28 +00:00
Cameron Gutman 55be1f528f [AFD]
- Fix some size assumptions that fail on 64-bit

svn path=/trunk/; revision=57174
2012-08-27 03:43:40 +00:00
Cameron Gutman 18c4b99d08 [AFD]
- Only access stack parameters when we're sure that the major function is correct

svn path=/trunk/; revision=57173
2012-08-27 03:42:28 +00:00
Cameron Gutman 63d0bb53e4 [AFD]
- Change AFD to a very aggressive buffering policy
- It now attempts to keep its 64K receive buffer completely full at all times
- This increases network performance significantly

svn path=/trunk/; revision=57170
2012-08-26 22:31:18 +00:00
Cameron Gutman 44356bb773 [AFD]
- Fix returning uninitialized data from FIONREAD when the socket is not bound or connected

svn path=/trunk/; revision=57168
2012-08-26 20:13:22 +00:00
Cameron Gutman dab0273c89 [AFD]
- Fix a bug causing FIONREAD to return an incorrect value after a datagram receive completes when only returning a subset of the data (returns WSAEMSGSIZE)

svn path=/trunk/; revision=57147
2012-08-24 06:03:25 +00:00
Amine Khaldi 4f7e723359 [TCPIP]
* Fix a read-after-free. CID 716802.

svn path=/trunk/; revision=57143
2012-08-23 16:21:28 +00:00
Cameron Gutman 4d9b81048b [TCPIP]
- Implement support for SO_REUSEADDR

svn path=/trunk/; revision=57116
2012-08-20 07:26:12 +00:00
Cameron Gutman e1499f3b9e [MSAFD]
- Add support for getting and setting SO_EXCLUSIVEADDRUSE
- Add support for setting SO_REUSEADDR
[AFD]
- Implement proper TDI way of indicating a reusable address file
- More work remains in TCP/IP to support this

svn path=/trunk/; revision=57115
2012-08-20 05:48:52 +00:00
Cameron Gutman 592e0968b0 [NDIS]
- Fix driver object dispatch table corruption in NdisMRegisterDevice
See issue #7191 for more details.

svn path=/trunk/; revision=57032
2012-08-03 08:23:02 +00:00
Cameron Gutman edfbcd133b [NDIS]
- Fix some sickening formatting disasters
- Allocate the unicode string buffers from paged pool, like everything else in the NDIS config API

svn path=/trunk/; revision=56590
2012-05-14 22:39:58 +00:00
Cameron Gutman 5aa9b26f83 [TCPIP]
- Update the cached link and IP information when a link status change occurs

svn path=/trunk/; revision=56484
2012-05-03 18:38:59 +00:00
Thomas Faber fc12d8ead4 [AFD] - Fix broken IP address pointer arithmetic (CID 14130)
[PCNET] - Fix incorrectly truncated FullDuplex BOOLEAN

svn path=/trunk/; revision=56404
2012-04-24 07:27:59 +00:00
Thomas Faber 5258184b49 [AFD/FORMATTING]
- Try to fix indentation nightmare

svn path=/trunk/; revision=56389
2012-04-22 13:11:54 +00:00
Cameron Gutman 4c6cc26667 [TCPIP]
- Fix a crash when a NIC driver indicates the media state before we're expecting it
- Fixes bug 6895

svn path=/trunk/; revision=56331
2012-04-06 16:08:20 +00:00
Cameron Gutman 1c91524741 [NDIS]
- Don't rely on the current lookahead size for loopback packets. Instead, indicate the entire packet at once.
- The current lookahead size doesn't matter when indicating full packets. The packets are indicated in their entirety regardless of the lookahead size.
- The Parallels Tools NIC driver now works on ROS. Dedicated to Alex Ionescu.

svn path=/trunk/; revision=56285
2012-03-31 05:55:33 +00:00
Jérôme Gardou 4bdb6a42f2 [CMAKE]
* unify spec2def and add_importlib_target
* use module name instead of spec file name for deciding importlib target name

svn path=/trunk/; revision=56081
2012-03-07 21:21:27 +00:00
Amine Khaldi 818418643e * Rbuild, our build system, has served us well so far, but its usefulness has since been vastly overshadowed by its awfulness. It's time to fix it.
svn path=/trunk/; revision=55855
2012-02-25 17:23:37 +00:00
Amine Khaldi 459a045652 [CMAKE]
* Simplify the way we handle importlib targets by taking control of the importlib name.

svn path=/trunk/; revision=55764
2012-02-20 22:08:14 +00:00
Dmitry Gorbachev 84d86eb242 Add include paths
svn path=/trunk/; revision=55627
2012-02-16 07:28:53 +00:00
Cameron Gutman cd00d99985 - Merge the remaining portion of the wlan-bringup branch
- ReactOS now supports open and WEP encrypted networks (both ad-hoc and infrastructure) (WPA(2) will be supported later)
- Use the wlanconf tool to configure the WLAN adapter (after installing the XP driver for your WLAN adapter)
- "wlanconf -c <SSID>" connects to an infrastructure network. Adding the "-a" option connects to (or creates) an ad-hoc network. Adding "-w <WEP>" will enable WEP encryption using the supplied key. 
- "wlanconf -s" will scan and display a list of the surrounding networks and various attributes like signal strength, SSID, BSSID, network mode, and supported rates
- "wlanconf" will display the current WLAN configuration details if the adapter is connected
- The DHCP service will detect network changes and refresh its state accordingly when associating with a new wireless network

svn path=/trunk/; revision=55000
2012-01-17 23:11:28 +00:00
Cameron Gutman f679ffe173 - Merge 54929, 54930, 54932, 54933, 54934, 54939, 54941, 54942, 54944, 54945, 54946, and 54947
- The DHCP service now recognizes adapter configuration and media state changes without manual intervention
- Multiple bugs with a static IP configuration are fixed
- IpRenewAddress (ipconfig /renew) and IpReleaseAddress (ipconfig /release) no longer corrupt internal DHCP state
- Routes that cannot currently be resolved by ARP no longer become corrupted by the neighbor timeout

svn path=/trunk/; revision=54966
2012-01-14 19:42:58 +00:00
Cameron Gutman 0286bc6dc3 [PCNET]
- Remove an incorrect comment

svn path=/trunk/; revision=54918
2012-01-12 03:16:48 +00:00
Cameron Gutman 3a504014d4 - Merge 54895, 54896, 54899, 54912, 54913, 54915, and 54916 from wlan-bringup
svn path=/trunk/; revision=54917
2012-01-12 03:12:49 +00:00
Cameron Gutman 2b82fe44ea [WLAN-BRINGUP]
- Create a branch to drop my ndisuio work

svn path=/branches/wlan-bringup/; revision=54809
2012-01-02 20:53:24 +00:00
Cameron Gutman bf94fe34bc [NDIS]
- Call MiniportReturnPacket at DISPATCH_LEVEL

svn path=/trunk/; revision=54601
2011-12-05 23:38:14 +00:00
Cameron Gutman a4be799408 [TCPIP]
- Make interface octets in/out stats more accurate

svn path=/trunk/; revision=54600
2011-12-05 18:42:21 +00:00
Cameron Gutman b8680bd686 [TCPIP]
- Fix the overflow fix

svn path=/trunk/; revision=54598
2011-12-05 03:51:01 +00:00
Cameron Gutman b855c23983 [TCPIP]
- Massive IPPacket usage overhaul (fix missing frees, initializations, and double frees)
- Make IP receive completely agnostic of the buffers and data location (part 2 of 2)
- Use paged pool for the majority of allocations during receive and assembly
- Implement ProtocolReceivePacket for faster performance with 3rd party NIC drivers
- Fix a buffer overflow if an IPv4 packet is received with a header larger than 20 bytes
- Many more improvements and bug fixes

svn path=/trunk/; revision=54597
2011-12-05 03:14:50 +00:00
Cameron Gutman 3b2e97595e [TCPIP]
- Avoid an extra copy operation when receiving packets
- Optimize loopback code a bit
- Make IP receive independent of the location of the data and continuity of buffers in the NDIS packet for ProtocolReceivePacket support (part 1 of x)

svn path=/trunk/; revision=54593
2011-12-04 22:31:49 +00:00
Cameron Gutman 621c5a5680 [AFD]
- Fix the allocation size for AFD_ACTIVE_POLL to fix a 1 byte non-paged pool overrun

svn path=/trunk/; revision=54576
2011-12-03 21:34:49 +00:00
Cameron Gutman 857e528264 [NDIS]
- Print miniport attribute flags

svn path=/trunk/; revision=54560
2011-12-02 03:21:21 +00:00
Cameron Gutman 77ed514f64 [NDIS]
- Implement NdisReturnPackets and do proper reference tracking of packets sent to ProtocolReceivePacket
- Plug a massive memory leak that resulted in leaking every packet descriptor that any deserialized miniport indicated to TCP/IP

svn path=/trunk/; revision=54559
2011-12-02 01:56:10 +00:00
Cameron Gutman f5fda30d65 [NDIS]
- Call FreeCommonBuffer() synchronously if we're running at PASSIVE_LEVEL to avoid cases where the miniport could be freed before the work item runs

svn path=/trunk/; revision=54558
2011-12-01 23:04:22 +00:00
Cameron Gutman 0cc9adb789 [NDIS]
- Make NdisMAllocateSharedMemoryAsync and NdisMFreeSharedMemory safe to call at IRQL <= DISPATCH_LEVEL

svn path=/trunk/; revision=54557
2011-12-01 22:31:54 +00:00