You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
check_ghostbusters_content() in lib/rpki/cms/roa_validate.c checks to see if the Ghostbusters payload is valid UTF-8 by temporarily switching the locale character type to C.UTF-8. This locale is non-standard and does not exist on all systems, so RPSTIR skips the check if that locale is not available. This causes the badGBRNotVCard.gbr conformance test case to fail on such systems.
There is a simple MIT-licensed UTF-8 parsing library available, but it does not come with a character property database (e.g., to tell if a character is whitespace). ICU is a more full-featured unicode library.
Note that the badGBRNotVCard.gbr test does not comprehensively test whether the RP accepts Ghostbusters records with non-vCard payloads. The payload in that test is simply non-UTF-8 garbage; RPSTIR rejects non-UTF-8 payloads on systems with a C.UTF-8 locale, but does not reject payloads with valid UTF-8 data even if that payload is not a valid vCard.
The text was updated successfully, but these errors were encountered:
check_ghostbusters_content()
inlib/rpki/cms/roa_validate.c
checks to see if the Ghostbusters payload is valid UTF-8 by temporarily switching the locale character type toC.UTF-8
. This locale is non-standard and does not exist on all systems, so RPSTIR skips the check if that locale is not available. This causes thebadGBRNotVCard.gbr
conformance test case to fail on such systems.There is a simple MIT-licensed UTF-8 parsing library available, but it does not come with a character property database (e.g., to tell if a character is whitespace). ICU is a more full-featured unicode library.
Note that the
badGBRNotVCard.gbr
test does not comprehensively test whether the RP accepts Ghostbusters records with non-vCard payloads. The payload in that test is simply non-UTF-8 garbage; RPSTIR rejects non-UTF-8 payloads on systems with aC.UTF-8
locale, but does not reject payloads with valid UTF-8 data even if that payload is not a valid vCard.The text was updated successfully, but these errors were encountered: