arty:
authorGé van Geldorp <ge@gse.nl>
Sun, 13 Mar 2005 21:41:44 +0000 (21:41 +0000)
committerGé van Geldorp <ge@gse.nl>
Sun, 13 Mar 2005 21:41:44 +0000 (21:41 +0000)
Always keep port numbers in network byte order

svn path=/trunk/; revision=14036

reactos/drivers/lib/ip/network/ports.c
reactos/drivers/net/tcpip/tcpip/dispatch.c

index 62be2ef..adafd86 100644 (file)
@@ -30,6 +30,7 @@ VOID PortsShutdown( PPORT_SET PortSet ) {
 }
 
 VOID DeallocatePort( PPORT_SET PortSet, ULONG Port ) {
+    Port = htons(Port);
     RtlClearBits( &PortSet->ProtoBitmap, 
                  PortSet->StartingPort + Port, 1 );
 }
@@ -37,6 +38,7 @@ VOID DeallocatePort( PPORT_SET PortSet, ULONG Port ) {
 BOOLEAN AllocatePort( PPORT_SET PortSet, ULONG Port ) {
     BOOLEAN Clear;
 
+    Port = htons(Port);
     Port -= PortSet->StartingPort;
 
     ExAcquireFastMutex( &PortSet->Mutex );
@@ -58,6 +60,8 @@ ULONG AllocateAnyPort( PPORT_SET PortSet ) {
     }
     ExReleaseFastMutex( &PortSet->Mutex );
 
+    AllocatedPort = htons(AllocatedPort);
+
     return AllocatedPort;
 }
 
@@ -76,5 +80,7 @@ ULONG AllocatePortFromRange( PPORT_SET PortSet, ULONG Lowest, ULONG Highest ) {
     }
     ExReleaseFastMutex( &PortSet->Mutex );
 
+    AllocatedPort = htons(AllocatedPort);
+
     return AllocatedPort;
 }
index 4b91ecf..378f266 100644 (file)
@@ -621,7 +621,7 @@ NTSTATUS DispTdiQueryInformation(
         Address->TAAddressCount = 1;
         Address->Address[0].AddressLength = TDI_ADDRESS_LENGTH_IP;
         Address->Address[0].AddressType = TDI_ADDRESS_TYPE_IP;
-        Address->Address[0].Address[0].sin_port = htons(AddrFile->Port);
+        Address->Address[0].Address[0].sin_port = AddrFile->Port;
         Address->Address[0].Address[0].in_addr = 
           AddrFile->Address.Address.IPv4Address;        
         RtlZeroMemory(