For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

Adam_Kramer_150's avatar
Adam_Kramer_150
Icon for Nimbostratus rankNimbostratus
Jun 21, 2005

TCP::respond does unicode expansion?!

So I'm trying to send the bytes 0x05 0x86 back to a socks client with TCP::respond

 

 

 

set r [binary format H2H2 05 86]

 

log "length of response is [string length $r]"

 

TCP::respond $r

 

 

The log prints out: "length of response is 2"

 

 

What actually gets sent to the client is: (in hex) 05 C2 86

 

 

Where did the C2 come from?!?! I did some experimenting, and every character 0x79 and under works fine, only sends two bytes instead of 3. As soon as you go up to 0x80, it sends three. I looked into it a bit and 0xC2 is a multibyte unicode character that escapes 0x80 and up.

 

 

Where is the C2 getting tacked on? I need to send the exact two bytes 0x05 0x86 and can't seem to manage to get it to work.

2 Replies

  • drteeth_127330's avatar
    drteeth_127330
    Historic F5 Account
    I'm afraid this is a known bug. It will be fixed in the next major release. Please contact F5 support if you require a hotfix.