Commit graph

39713 commits

Author SHA1 Message Date
Cameron Gutman eaf8ca78e4 - Fix calculation of the maximum data size (it previously calculated 65519 (0xFFFF - sizeof(ICMPv4Header) - sizeof(LARGE_INTEGER)) which was wrong because the real maximum was 65499 (0xFFFF - sizeof(IPv4Header) - sizeof(ICMPv4Header) - sizeof(LARGE_INTEGER)))
- Implement -f and -i options
 - Note: This raises our max ping data size to 65507 (0xFFFF - sizeof(IPv4Header) - sizeof(ICMPv4Header)) so we match linux's (iputils) ping max size but Windows' max is 65500 and I'm not sure if we should change our code to match Windows or not

svn path=/branches/aicom-network-branch/; revision=45129
2010-01-18 00:52:31 +00:00
Cameron Gutman 3a3d5b8571 - Fix a null-pointer dereference crash that happens when we complete a queued NDIS_REQUEST in MiniportWorker
svn path=/branches/aicom-network-branch/; revision=45102
2010-01-16 14:59:54 +00:00
Cameron Gutman 58f686f670 - Fix ECHO_REPLY_HEADER which was corrupting incoming packets (fixes displaying reply time)
- Fix a bug in the packet waiting code
 - Display the IP address if getnameinfo fails
 - tracert is actually useful now

svn path=/branches/aicom-network-branch/; revision=45094
2010-01-16 03:30:10 +00:00
Cameron Gutman 3f6a56fa36 [TDILIB, IPHLPAPI, WSHTCPIP]
- Move the TDI stuff from iphlpapi to a shared library called tdilib
[IP]
 - Implement tcpip side of IP_HDRINCL
[PSDK, WSHTCPIP, WSHIRDA]
 - Fix definition of WSHGetSocketInformation
[PSDK]
 - Add AO_OPTION_* defines
[WSHTCPIP]
 - Request notifications for bind also
 - Implement WSHSetSocketInformation
[MSAFD]
 - Implement event notifications (bonus: fixes a memory leak on socket closure due to unfreed helper context)
 - Store TdiConnectionHandle the same way we store TdiAddressHandle
 - Half-plement WSPSetSockOpt
 - Fix WSPGetSockOpt
[TCPIP]
 - Handle AO_OPTION_TTL, AO_OPTION_IP_DONTFRAGMENT (not working yet), AO_OPTION_BROADCAST (not working yet), and AO_OPTION_IP_HDRINCL
 - Add new members of ADDRESS_FILE for the preceding AO options
[AFD]
 - Return the connection handle in the Information of the IOSB (same as we do with the address file handle)
[GENERAL]
 - Tracert works now

svn path=/branches/aicom-network-branch/; revision=45093
2010-01-16 00:05:15 +00:00
Cameron Gutman 2522eb7b9b - Fix a bug with our tei_instance selection (we could end up with the same tei_instance value on different entities of the same type if an entity of our type in the middle of the list was deleted previously)
svn path=/branches/aicom-network-branch/; revision=45090
2010-01-15 21:00:50 +00:00
Cameron Gutman b7457ec3d8 - Restore the worker in the loopback code because we can enter the loopback code from TCPPacketSend at a raised IRQL
- Fixes a crash with TCP over loopback

svn path=/branches/aicom-network-branch/; revision=45087
2010-01-15 18:01:52 +00:00
Cameron Gutman f22efa9fe8 - Unlock the address file before calling IPSendDatagram
- We don't need to be locked anymore at that point and it also causes problems with loopback packets
 - Use the TTL value stored in the address file for ICMP packets

svn path=/branches/aicom-network-branch/; revision=45016
2010-01-09 16:25:11 +00:00
Cameron Gutman e8f652b985 - Store the address file handle in the IOSB
- MSAFD relies on this behavior to store the address file handle

svn path=/branches/aicom-network-branch/; revision=45015
2010-01-09 15:49:39 +00:00
Cameron Gutman b9ab91bd82 - Rewrite request queuing
- We now use the documented members of NDIS_MINIPORT_BLOCK
 - It also fixes the issue of determining if the miniport is currently processing a request
 - Remove unneeded IRQL raises
 - Half-plement MiniSendResourcesAvailable (NdisMSendResourcesAvailable)
 - Comment out the code inside ProSendPackets (only used by protocols, not miniports)

svn path=/branches/aicom-network-branch/; revision=45009
2010-01-08 19:15:03 +00:00
Cameron Gutman e7f721b01f - Remove some incorrect IRQL checks (needed for the NDIS fixes coming soon)
- Change some NdisDprAcquireSpinLock/NdisDprReleaseSpinLock calls to NdisAcquireSpinLock/NdisReleaseSpinLock

svn path=/branches/aicom-network-branch/; revision=45007
2010-01-08 18:36:59 +00:00
Cameron Gutman 7457359d5d - Use a spin lock to protect the port bitmap instead of a fast mutex
svn path=/branches/aicom-network-branch/; revision=45006
2010-01-08 18:21:52 +00:00
Cameron Gutman 05a505aac8 - Add locking to ICMPSendDatagram
svn path=/branches/aicom-network-branch/; revision=45004
2010-01-08 18:10:05 +00:00
Cameron Gutman fb4eec0d30 [IP]
- Fix a small locking issue in TCPClose

svn path=/branches/aicom-network-branch/; revision=44845
2010-01-01 05:58:37 +00:00
Cameron Gutman 8dd3966ba9 [TCPIP, IP]
- Completely rewrite (again) the locking code and use references to ensure that the connection doesn't get freed while completing requests (the most frequent cause of crashes)
 - Remove DrainSignals and complete requests inside HandleSignalledConnection instead of doing them in a separate thread (increases speed a lot)
[OSKITTCP]
 - Don't clear the socket context in OskitTCPClose because we would end up in HandleSignalledConnection without a connection (which we don't support anymore after eliminating DrainSignals)
 - Change the check performed to see if a socket is dying so we support connection dying after calling OskitTCPClose
[AFD]
 - Remove leftover ASSERTs which fail after the changes to tcpip (they were wrong in the first place because we call into tcpip at DISPATCH_LEVEL sometimes)

svn path=/branches/aicom-network-branch/; revision=44839
2009-12-31 23:33:24 +00:00
Cameron Gutman 175500c30b - Forgot this file
svn path=/branches/aicom-network-branch/; revision=44811
2009-12-30 12:53:47 +00:00
Cameron Gutman 2caa9c0981 [IP]
- Bind to the address specified in AddressFile instead of always binding to the outgoing interface's unicast address
 - Get the NCE using the local address (if specified) so we don't end up sending from one interface using another interface's  address as the source

svn path=/branches/aicom-network-branch/; revision=44810
2009-12-30 12:46:14 +00:00
Cameron Gutman 94b49d77a3 [OSKITTCP]
- Add ROS-specific MSS code
 - We don't mirror our route cache with oskittcp so we can't rely on routes to get the MTU

svn path=/branches/aicom-network-branch/; revision=44619
2009-12-16 04:45:43 +00:00
Cameron Gutman ce98e6522f [OSKITTCP]
- Fix broken MTU code (MTU was assumed to always be 1500)

svn path=/branches/aicom-network-branch/; revision=44618
2009-12-16 02:41:39 +00:00
Cameron Gutman 12127c7eeb - Use RouteGetRouteToDestination instead of FindOnLinkInterface so we can get an interface for remote addresses
svn path=/branches/aicom-network-branch/; revision=44565
2009-12-13 16:22:17 +00:00
Cameron Gutman ab7bd8eb08 [TCPIP]
- Implement TDI_QUERY_MAX_DATAGRAM_INFO

[AFD]
 - Send TDI_QUERY_MAX_DATAGRAM_INFO to set our send/receive windows properly
 - Don't create a send window for a datagram socket because it is never used
 - Fixes dropping all packets with length > 16384

svn path=/branches/aicom-network-branch/; revision=44412
2009-12-05 16:29:41 +00:00
Cameron Gutman 117c56eef3 - Implement IOCTL_AFD_GET_CONNECT_DATA, IOCTL_AFD_SET_CONNECT_DATA, IOCTL_AFD_SET_CONNECT_DATA_SIZE, IOCTL_AFD_GET_DISCONNECT_DATA, IOCTL_AFD_SET_DISCONNECT_DATA, IOCTL_AFD_SET_DISCONNECT_DATA_SIZE, IOCTL_AFD_SET_CONNECT_OPTIONS, IOCTL_AFD_GET_CONNECT_OPTIONS, IOCTL_AFD_SET_CONNECT_OPTIONS_SIZE, IOCTL_AFD_SET_DISCONNECT_OPTIONS, IOCTL_AFD_GET_DISCONNECT_OPTIONS, IOCTL_AFD_SET_DISCONNECT_OPTIONS_SIZE
- Check that the socket allows connections in AfdDisconnect and AfdStreamSocketConnect
 - Allocate the receive window in connectionless sockets when the socket is bound instead of at FCB creation
 - Remove a horrible hack in UnlockRequest
 - Remove an incorrect call to MmUnmapLockedPages (the pages aren't mapped!)
 - Replace the recursive mutex with a KMUTEX for now (eventually I want to move to a fast mutex)
 - Fix a leak in LockRequest in failure case

svn path=/branches/aicom-network-branch/; revision=44370
2009-12-02 23:57:57 +00:00
Cameron Gutman cf3234d59c - Allocate send and receive buffers from paged pool (saves 32KB of non-paged pool per socket)
svn path=/branches/aicom-network-branch/; revision=44369
2009-12-02 22:38:10 +00:00
Cameron Gutman 2cb569197b - Revert 44301
svn path=/branches/aicom-network-branch/; revision=44354
2009-12-02 03:29:17 +00:00
Cameron Gutman 29fa274d6d - Create another branch for networking fixes
- TSVN choked repeatedly when attempting to merge ~9000 revs into the branch (tried 3 times on 2 different computers)
 - If someone wants to delete aicom-network-fixes, they are welcome to
 - Lesson learned: Letting a branch get thousands of revs out of date is a horrible idea

svn path=/branches/aicom-network-branch/; revision=44353
2009-12-02 03:23:19 +00:00
Aleksey Bragin 6bc24c2625 [ntoskrnl/cc]
- Don't create zero sized cache segments. By Dmitry Gorbachev.
See issue #4100 for more details.

svn path=/trunk/; revision=44349
2009-12-01 21:32:50 +00:00
Aleksey Bragin 88e41959e1 [ntoskrnl/se]
- Add a hack which prints an annoying message and grants access when it should not be. Callers/bugs should be fixed and this commit reverted after that.
See issue #4169 for more details.

svn path=/trunk/; revision=44348
2009-12-01 21:26:40 +00:00
Gregor Schneider 979696d87d [inf] Fix fdc driver version entry (highlighted by bug #4917)
svn path=/trunk/; revision=44347
2009-12-01 19:51:51 +00:00
Ged Murphy e1176344d4 Add the msvc10 makefile changes
svn path=/trunk/; revision=44346
2009-12-01 18:56:05 +00:00
Gregor Schneider fb3101148f [kernel]
- Fail in DosDateTimeToFileTime if prior time conversion was unsuccessful
- Should fix the NetStats installation, bug #4917, part 2

svn path=/trunk/; revision=44345
2009-12-01 18:53:01 +00:00
Gregor Schneider 09bdd4ffa0 [ntdll]
- Logic change of r37554 is correct, RtlTimeFieldsToTime doesn't normalize invalid input values - remove these codes
- Related to bug #4917, part 1

svn path=/trunk/; revision=44344
2009-12-01 18:46:13 +00:00
Ged Murphy 9d7f91d6ca - Include support for makefile configurations.
- Add a new makefile config to the global configuration called RosBuild
- Use the new makefile config to process and external batch file which make use of rbuild.
- Split and partially rewrite _generate_vcproj. Configurations are now written in support functions. 
- Remove the creation of .vcproj.user files. They're rather pointless for our needs
- Start to add support for VS2010 (make msvc10), it's very incomplete at the moment so don't bother trying it.

After this commit, you can now use Visual Studio to build individual reactos components. Run 'make msvc9', open up any vcproj file, select the RosBuild config and hit the build/rebuild button. Working build features are 'build', 'rebuild' and 'clean'

svn path=/trunk/; revision=44343
2009-12-01 18:44:16 +00:00
Ged Murphy 26b1e5ce54 Add a root level batch file which allows building reactos without invoking RosBE.
It won't currently work without RosBE as it relies in the gcc toolset installed along with RosBE to go about its business.
It currently checks for RosBE existence with a rather hackish ^H^H^H^H ... elaborate string parser using the 'reg' command line util output. I'd be happy for anyone to improve on this.

svn path=/trunk/; revision=44342
2009-12-01 18:39:49 +00:00
Michael Martin db4cbee9dc [kernel32]
- Fix broken code inside SXS_SUPPORT_ENABLED define and add some DPRINTs. Still unused.

svn path=/trunk/; revision=44341
2009-12-01 11:48:06 +00:00
James Tabor 4a32024814 - [Win32k] Make DispatchMessage call direct to WinProc callback. Add more thread death checks.
svn path=/trunk/; revision=44340
2009-12-01 05:35:05 +00:00
Dmitry Gorbachev 378568a6d9 Update log2lines to version 1.4. Jan Roeloffzen, bug #4342.
svn path=/trunk/; revision=44335
2009-11-30 21:49:18 +00:00
James Tabor 4b9396cef9 - [Win32k] Test thread death before posting to queue.
svn path=/trunk/; revision=44334
2009-11-30 20:13:05 +00:00
James Tabor c4e84dd682 - [Win32k] Remove debug prints from classes.
svn path=/trunk/; revision=44333
2009-11-30 19:24:23 +00:00
James Tabor 78365fd832 - [Win32k] Use PostMessage to send broadcast messages to the queues. co_IntPostOrSendMessage does not support it.
svn path=/trunk/; revision=44332
2009-11-30 19:21:27 +00:00
Johannes Anderwald e3e3b99e8e - First version of ReactOS Sound Record Application by Marco Pagliaricci (IRC: rendar)
svn path=/trunk/; revision=44331
2009-11-30 18:54:41 +00:00
Dmitry Gorbachev 8a06fa021a Apply font changes from r44305 to mainline.
svn path=/trunk/; revision=44330
2009-11-30 17:00:12 +00:00
Johannes Anderwald bb403d5976 Fix build breakage
svn path=/trunk/; revision=44329
2009-11-30 14:55:20 +00:00
Daniel Reimer ced89bf1a1 Updated the rapps Software list.
AbiWord from 2.6.4 to 2.6.8
MinGW from 5.1.4 to 5.1.6
MirandaIM from 0.8.9 to 0.8.10
Opera from 9.6.4 to 10.10 (YES, this works!)
SDL Mixer from 1.2.9 to 1.2.11
SeaMonkey from 1.1.18 to 2.0 (YES, that too!)
UltraVNC from 1.0.6.5 to 1.0.8.0
uTorrent from 1.8.4 to 1.8.5
vlc from 1.0.2 to 1.0.3

svn path=/trunk/; revision=44328
2009-11-30 01:50:47 +00:00
Johannes Anderwald 7759e8983b [WDMAUD.DRV]
- Implement support for resetting a stream (not yet used)
- Don't translate the error again in QueryMixerInfo as SyncOverlappedDeviceIoControl has already translated the error
- Don't touch the cbSize member when opening a wave device, as the caller might have passed a WAVEFORMAT struct instead a WAVEFORMATEX struct. Fixes winmm_winetest wave / mixer crashs
- Query all available events when an mixer event is fired

svn path=/trunk/; revision=44326
2009-11-29 22:58:33 +00:00
Johannes Anderwald 647f63f881 [MMEBUDDY]
- Return correct error code
- Fixes last 4 four winmm_winetest mixer test failures

svn path=/trunk/; revision=44325
2009-11-29 21:17:15 +00:00
Johannes Anderwald e4abf36dc6 - Partly revert 44309 as it sometimes causes problems
svn path=/trunk/; revision=44324
2009-11-29 19:29:52 +00:00
Johannes Anderwald f21af7347f [WDMAUD_KERNEL]
- Always set Mute control on first channel
[PORTCLS]
- Rewrite node property handling. Fixes lots of bugs and fixes all winmm_winetest mixer failures

svn path=/trunk/; revision=44323
2009-11-29 18:56:56 +00:00
Gregor Schneider eeba3408b2 [setupapi] Sync SetupGetIntField to Wine, fixes six setupapi:parser tests
svn path=/trunk/; revision=44322
2009-11-29 18:07:14 +00:00
Michael Martin 15fff6abae [ntdll]
- Implement LdrLockLoaderLock and LdrUnlockLoaderLock.

svn path=/trunk/; revision=44318
2009-11-29 10:53:39 +00:00
Johannes Anderwald 637f171861 - Try fix increase of winmm:mixer tests failure
- Found by Gregor Schneider (DosX)

svn path=/trunk/; revision=44315
2009-11-28 22:15:20 +00:00
KJK::Hyperion 43cd83d781 Nevermind.
svn path=/trunk/; revision=44314
2009-11-28 20:09:07 +00:00