I am not sure if this is a bug, but I don't see any issue with sending linefeed (hex 0A, dec 10) and horizontal tab in the url. I have an application that passes errors back to the client in the URL and embeds whitespace to be presented to the user inside a pre block.
Hiawatha by default blocks the whitespace encoding. I can understand hiding the other
non-printing characters since they have no effect in HTML.
A crude diff that implements this for LF is below:
==================================================================
--- src/libstr.c
+++ src/libstr.c
@@ -427,11 +427,12 @@
if ((*str > 0) && (*str < 32)) {
return true;
} else if (*str == '%') {
if ((high = hex_char_to_int(*(str + 1))) != -1) { if ((low = hex_char_to_int(*(str + 2))) != \
-1) {
- if (((high << 4) + low) < 32) {
+ if ( ((high << 4) + low) < 32 &&
+ ((high << 4) + low) != 10 ) {
return true; }
} }
}