some 'norp' code cleanup

pull/86/head
bebopagogo 2024-06-08 17:20:27 -04:00
parent 2ae69e6e96
commit 0015af3bb6
2 changed files with 20 additions and 17 deletions

View File

@ -152,15 +152,15 @@ namespace ProtoPktSOCKS
UINT8 GetVersion() const UINT8 GetVersion() const
{return ((pkt_length > OFFSET_VERSION) ? {return ((pkt_length > OFFSET_VERSION) ?
(((UINT8*)buffer_ptr)[OFFSET_VERSION]) : 0);} GetUINT8(OFFSET_VERSION) : 0);}
Command GetCommand() const Command GetCommand() const
{return ((pkt_length > OFFSET_COMMAND) ? {return ((pkt_length > OFFSET_COMMAND) ?
(Command)(((UINT8*)buffer_ptr)[OFFSET_COMMAND]) : CMD_INVALID);} (Command)GetUINT8(OFFSET_COMMAND) : CMD_INVALID);}
AddrType GetAddressType() const AddrType GetAddressType() const
{return ((pkt_length > OFFSET_ATYPE) ? {return ((pkt_length > OFFSET_ATYPE) ?
(AddrType)(((UINT8*)buffer_ptr)[OFFSET_ATYPE]) : ADDR_INVALID);} (AddrType)GetUINT8(OFFSET_ATYPE) : ADDR_INVALID);}
UINT8 GetAddressLength() const; UINT8 GetAddressLength() const;
@ -175,18 +175,18 @@ namespace ProtoPktSOCKS
void SetVersion(UINT8 version) void SetVersion(UINT8 version)
{ {
((UINT8*)buffer_ptr)[OFFSET_VERSION] = version; SetUINT8(OFFSET_VERSION, version);
pkt_length = 1; pkt_length = 1;
} }
void SetCommand(Command cmd) void SetCommand(Command cmd)
{ {
((UINT8*)buffer_ptr)[OFFSET_COMMAND] = (UINT8)cmd; SetUINT8(OFFSET_COMMAND, (UINT8)cmd);
pkt_length = 2; pkt_length = 2;
} }
void SetAddressType(AddrType addrType) void SetAddressType(AddrType addrType)
{ {
((UINT8*)buffer_ptr)[OFFSET_RESERVED] = 0; ((UINT8*)buffer_ptr)[OFFSET_RESERVED] = 0;
((UINT8*)buffer_ptr)[OFFSET_ATYPE] = (UINT8)addrType; SetUINT8(OFFSET_ATYPE, (UINT8)addrType);
pkt_length = 4; pkt_length = 4;
} }
bool SetAddress(const ProtoAddress& theAddr); // note this sets port, too bool SetAddress(const ProtoAddress& theAddr); // note this sets port, too
@ -242,18 +242,19 @@ namespace ProtoPktSOCKS
bool freeOnDestruct = false) bool freeOnDestruct = false)
{return ProtoPkt::InitFromBuffer(replyLength, bufferPtr, numBytes, freeOnDestruct);} {return ProtoPkt::InitFromBuffer(replyLength, bufferPtr, numBytes, freeOnDestruct);}
AddrType GetAddressType() const
UINT8 GetVersion() const UINT8 GetVersion() const
{return ((pkt_length > OFFSET_VERSION) ? {return ((pkt_length > OFFSET_VERSION) ?
(((UINT8*)buffer_ptr)[OFFSET_VERSION]) : 0);} GetUINT8(OFFSET_VERSION) : 0);}
Type GetType() const Type GetType() const
{return ((pkt_length > OFFSET_TYPE) ? {return ((pkt_length > OFFSET_TYPE) ?
(Type)(((UINT8*)buffer_ptr)[OFFSET_TYPE]) : TYPE_INVALID);} (Type)GetUINT8(OFFSET_TYPE) : CMD_INVALID);}
AddrType GetAddressType() const AddrType GetAddressType() const
{return ((pkt_length > OFFSET_ATYPE) ? {return ((pkt_length > OFFSET_ATYPE) ?
(AddrType)(((UINT8*)buffer_ptr)[OFFSET_ATYPE]) : ADDR_INVALID);} (AddrType)GetUINT8(OFFSET_ATYPE) : ADDR_INVALID);}
UINT8 GetAddressLength() const; UINT8 GetAddressLength() const;
const char* GetAddressPtr() const const char* GetAddressPtr() const
@ -266,12 +267,12 @@ namespace ProtoPktSOCKS
// Reply building (call these in order // Reply building (call these in order
void SetVersion(UINT8 version) void SetVersion(UINT8 version)
{ {
((UINT8*)buffer_ptr)[OFFSET_VERSION] = version; SetUINT8(OFFSET_VERSION, version);
pkt_length = 1; pkt_length = 1;
} }
void SetType(Type replyType) void SetType(Type replyType)
{ {
((UINT8*)buffer_ptr)[OFFSET_TYPE] = (UINT8)replyType; SetUINT8(OFFSET_TYPE, (UINT8)replyType);
pkt_length = 2; pkt_length = 2;
} }
void SetAddress(AddrType addrType, const char* addrPtr, UINT8 addrLen); void SetAddress(AddrType addrType, const char* addrPtr, UINT8 addrLen);
@ -316,12 +317,12 @@ namespace ProtoPktSOCKS
UINT8 GetFrag() const UINT8 GetFrag() const
{return ((pkt_length > OFFSET_FRAG) ? {return ((pkt_length > OFFSET_FRAG) ?
(((UINT8*)buffer_ptr)[OFFSET_FRAG]) : 0);} GetUINT8(OFFSET_FRAG) : 0);}
AddrType GetAddressType() const AddrType GetAddressType() const
{return ((pkt_length > OFFSET_ATYPE) ? {return ((pkt_length > OFFSET_ATYPE) ?
(AddrType)(((UINT8*)buffer_ptr)[OFFSET_ATYPE]) : ADDR_INVALID);} (AddrType)GetUINT8(OFFSET_ATYPE) : ADDR_INVALID);}
UINT8 GetAddressLength() const; UINT8 GetAddressLength() const;
const char* GetAddressPtr() const const char* GetAddressPtr() const
@ -342,7 +343,8 @@ namespace ProtoPktSOCKS
void SetFragment(UINT8 fragId) void SetFragment(UINT8 fragId)
{ {
((UINT8*)buffer_ptr)[OFFSET_RESERVED] = 0; ((UINT8*)buffer_ptr)[OFFSET_RESERVED] = 0;
((UINT8*)buffer_ptr)[OFFSET_FRAG] = fragId; SetUINT8(OFFSET_RESERVED, 0);
SetUINT8(OFFSET_FRAG], fragId);
pkt_length = OFFSET_FRAG + 1; pkt_length = OFFSET_FRAG + 1;
} }
void SetAddress(AddrType addrType, const char* addrPtr, UINT8 addrLen); void SetAddress(AddrType addrType, const char* addrPtr, UINT8 addrLen);

View File

@ -12,7 +12,7 @@
// numbers for NORM traffic. // numbers for NORM traffic.
// Uncomment this to enable new NORM port handling to improve NAT compatibility // Uncomment this to enable new NORM port handling to improve NAT compatibility
#define NEW_PORT #define NEW_PORT 1
PortPool::PortPool(UINT16 basePort) PortPool::PortPool(UINT16 basePort)
: base_port(basePort) : base_port(basePort)
@ -533,6 +533,7 @@ bool NorpSession::PutClientAuthReply()
else else
{ {
// AuthReply was fully sent // AuthReply was fully sent
TRACE("AuthReply fully sent %d bytes ...\n", remote_index);
socks_client_socket.StopOutputNotification(); socks_client_socket.StopOutputNotification();
socks_state = SOCKS_GET_REQUEST; socks_state = SOCKS_GET_REQUEST;
remote_pending = remote_index = 0; remote_pending = remote_index = 0;