ea3a67989847a2b731be271d112feab992a5eb9a galt Wed Sep 28 10:08:47 2016 -0700 Fixes hgNearTest robot by having htmlPage.c call attributeDecode on attribute values since we are now encoding them against XSS. refs #18077. hgNearTest was crashing right away with the error Couldn't get main form on orgPage. diff --git src/inc/htmshell.h src/inc/htmshell.h index ba2e100..f55e6fc 100644 --- src/inc/htmshell.h +++ src/inc/htmshell.h @@ -60,30 +60,42 @@ char *htmlTextStripTags(char *s); /* Returns a cloned string with all html tags stripped out */ char *htmlTextReplaceTagsWithChar(char *s, char ch); /* Returns a cloned string with all html tags replaced with given char (useful for tokenizing) */ char *htmlEncode(char *s); /* Returns a cloned string with quotes replaced by html codes. Changes ',",\n and >,<,& to code equivalents. This differs from cgiEncode as it handles text that will be displayed in an html page or tooltip style title. */ char *attributeEncode(char *s); // encode double and single quotes in a string to be used as an element attribute +void attributeDecode(char *s); +/* For html tag attribute values decode html entities &#xHH; */ + +void cssDecode(char *s); +/* For CSS values decode "\HH " */ + +void jsDecode(char *s); +/* For JS string values decode "\xHH" */ + +void urlDecode(char *s); +/* For URL paramter values decode "%HH" */ + void htmlMemDeath(); /* Complain about lack of memory and abort. */ void htmlStart(char *title); /* Write the start of a cgi-generated html file */ void htmStart(FILE *f, char *title); /* Write the start of a stand alone .html file. */ void printBodyTag(FILE *f); // print starting BODY tag, including any appropriate attributes (class, background and bgcolor). void htmStartWithHead(FILE *f, char *head, char *title); /* Write the start of a stand alone .html file, plus head info */