Bug 41811: SIP server will inadvertently remove non-alphanumeric characters from the end of a message
If a message ends in a non-alphanumeric character, that character is stripped from the message. For example: 6300120260210 182641 AOMPL|AA23529000035676(| 64 00120260210 182831000000000000000000000000AOCPL|AA23529000035676|AEHenry Acevedo|BLY|BHUSD|BV0|CC5|BD4345 Library Rd. Springfield, MA 44224|BF(212) 555-1212|PB19580530|PCS|PIY|AFGreetings from Koha. | versus: 6300120260210 182641 AOMPL|AA23529000035676(|ACkoha| 64YYYY 00120260210 182835000000000000000000000000AOCPL|AA23529000035676(|AE|BLN|AFInvalid cardnumber| The former should be returning the same "Invalid cardnumber" message the latter does. Test Plan ( assumes you are using KTD ): 1) Install telnet: sudo apt install -y telnet 2) telnet 127.0.0.1 6001 3) Log in with: 9300CNkoha|COkoha|CPMPL| 4) Send the patron information request: 6300120260210 183346 AOMPL|AA23529000035676(| 5) Note you get a patron back 6) Apply this patch 7) Restart SIP! 8) Repeat steps 2-5 9) Noe you doe not get a patron back in the response! Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
86d36eacc0
commit
791648b643
|
|
@ -588,8 +588,11 @@ sub read_request {
|
|||
$raw_length = length $buffer;
|
||||
$buffer =~ s/^\s*[^A-z0-9]+//s;
|
||||
|
||||
# Every line must start with a "real" character. Not whitespace, control chars, etc.
|
||||
$buffer =~ s/[^A-z0-9]+$//s;
|
||||
# Remove leading/trailing control characters and whitespace.
|
||||
# SIP2 messages should be a single printable line; this defensively
|
||||
# cleans up stray CR/LF or junk from buggy or long-lived client connections.
|
||||
$buffer =~ s/^[[:cntrl:]\s]+//;
|
||||
$buffer =~ s/[[:cntrl:]\s]+$//;
|
||||
|
||||
# Same for the end. Note this catches the problem some clients have sending empty fields at the end, like |||
|
||||
$buffer =~ s/\015?\012//g; # Extra line breaks must die
|
||||
|
|
|
|||
Loading…
Reference in New Issue