Allow utf8 ban reasons (fixes #3329)

This commit is contained in:
def 2020-11-18 14:31:05 +01:00
parent f8b07f705e
commit d99f1b9340
3 changed files with 2 additions and 30 deletions

View file

@ -2417,19 +2417,6 @@ char *str_trim_words(char *str, int words)
return str; return str;
} }
/* makes sure that the string only contains the characters between 32 and 127 */
void str_sanitize_strong(char *str_in)
{
unsigned char *str = (unsigned char *)str_in;
while(*str)
{
*str &= 0x7f;
if(*str < 32)
*str = 32;
str++;
}
}
/* makes sure that the string only contains the characters between 32 and 255 */ /* makes sure that the string only contains the characters between 32 and 255 */
void str_sanitize_cc(char *str_in) void str_sanitize_cc(char *str_in)
{ {

View file

@ -1101,18 +1101,6 @@ int str_format(char *buffer, int buffer_size, const char *format, ...)
*/ */
char *str_trim_words(char *str, int words); char *str_trim_words(char *str, int words);
/*
Function: str_sanitize_strong
Replaces all characters below 32 and above 127 with whitespace.
Parameters:
str - String to sanitize.
Remarks:
- The strings are treated as zero-terminated strings.
*/
void str_sanitize_strong(char *str);
/* /*
Function: str_sanitize_cc Function: str_sanitize_cc
Replaces all characters below 32 with whitespace. Replaces all characters below 32 with whitespace.

View file

@ -294,11 +294,8 @@ int CNetConnection::Feed(CNetPacketConstruct *pPacket, NETADDR *pAddr, SECURITY_
if(pPacket->m_DataSize > 1) if(pPacket->m_DataSize > 1)
{ {
// make sure to sanitize the error string form the other party // make sure to sanitize the error string form the other party
if(pPacket->m_DataSize < 128) str_utf8_copy(aStr, (char *)&pPacket->m_aChunkData[1], minimum(pPacket->m_DataSize, (int)sizeof(aStr)));
str_copy(aStr, (char *)&pPacket->m_aChunkData[1], pPacket->m_DataSize); str_sanitize_cc(aStr);
else
str_copy(aStr, (char *)&pPacket->m_aChunkData[1], sizeof(aStr));
str_sanitize_strong(aStr);
} }
if(!m_BlockCloseMsg) if(!m_BlockCloseMsg)