Fossil SCM
Allow the "title" attribute in "<a>" tags in safe HTML. See [forum:/forumpost/81b7308aa7|forum post 81b7308aa7]
Commit
b8078aefef9cac95d75a7d9e3afba10a6c179e46f25fd5bcccc8d8f6997a7fa8
Parent
8b1eddef96b524a…
1 file changed
+18
-15
+18
-15
| --- src/wikiformat.c | ||
| +++ src/wikiformat.c | ||
| @@ -63,10 +63,11 @@ | ||
| 63 | 63 | ATTR_SIZE, |
| 64 | 64 | ATTR_SRC, |
| 65 | 65 | ATTR_START, |
| 66 | 66 | ATTR_STYLE, |
| 67 | 67 | ATTR_TARGET, |
| 68 | + ATTR_TITLE, | |
| 68 | 69 | ATTR_TYPE, |
| 69 | 70 | ATTR_VALIGN, |
| 70 | 71 | ATTR_VALUE, |
| 71 | 72 | ATTR_VSPACE, |
| 72 | 73 | ATTR_WIDTH |
| @@ -82,24 +83,24 @@ | ||
| 82 | 83 | AMSK_CLASS = 0x00000040, |
| 83 | 84 | AMSK_CLEAR = 0x00000080, |
| 84 | 85 | AMSK_COLOR = 0x00000100, |
| 85 | 86 | AMSK_COLSPAN = 0x00000200, |
| 86 | 87 | AMSK_COMPACT = 0x00000400, |
| 87 | - /* re-use = 0x00000800, */ | |
| 88 | - AMSK_FACE = 0x00001000, | |
| 89 | - AMSK_HEIGHT = 0x00002000, | |
| 90 | - AMSK_HREF = 0x00004000, | |
| 91 | - AMSK_HSPACE = 0x00008000, | |
| 92 | - AMSK_ID = 0x00010000, | |
| 93 | - AMSK_LINKS = 0x00020000, | |
| 94 | - AMSK_NAME = 0x00040000, | |
| 95 | - AMSK_ROWSPAN = 0x00080000, | |
| 96 | - AMSK_SIZE = 0x00100000, | |
| 97 | - AMSK_SRC = 0x00200000, | |
| 98 | - AMSK_START = 0x00400000, | |
| 99 | - AMSK_STYLE = 0x00800000, | |
| 100 | - AMSK_TARGET = 0x01000000, | |
| 88 | + AMSK_FACE = 0x00000800, | |
| 89 | + AMSK_HEIGHT = 0x00001000, | |
| 90 | + AMSK_HREF = 0x00002000, | |
| 91 | + AMSK_HSPACE = 0x00004000, | |
| 92 | + AMSK_ID = 0x00008000, | |
| 93 | + AMSK_LINKS = 0x00010000, | |
| 94 | + AMSK_NAME = 0x00020000, | |
| 95 | + AMSK_ROWSPAN = 0x00040000, | |
| 96 | + AMSK_SIZE = 0x00080000, | |
| 97 | + AMSK_SRC = 0x00100000, | |
| 98 | + AMSK_START = 0x00200000, | |
| 99 | + AMSK_STYLE = 0x00400000, | |
| 100 | + AMSK_TARGET = 0x00800000, | |
| 101 | + AMSK_TITLE = 0x01000000, | |
| 101 | 102 | AMSK_TYPE = 0x02000000, |
| 102 | 103 | AMSK_VALIGN = 0x04000000, |
| 103 | 104 | AMSK_VALUE = 0x08000000, |
| 104 | 105 | AMSK_VSPACE = 0x10000000, |
| 105 | 106 | AMSK_WIDTH = 0x20000000 |
| @@ -135,10 +136,11 @@ | ||
| 135 | 136 | { "size", AMSK_SIZE }, |
| 136 | 137 | { "src", AMSK_SRC }, |
| 137 | 138 | { "start", AMSK_START }, |
| 138 | 139 | { "style", AMSK_STYLE }, |
| 139 | 140 | { "target", AMSK_TARGET }, |
| 141 | + { "title", AMSK_TITLE }, | |
| 140 | 142 | { "type", AMSK_TYPE }, |
| 141 | 143 | { "valign", AMSK_VALIGN }, |
| 142 | 144 | { "value", AMSK_VALUE }, |
| 143 | 145 | { "vspace", AMSK_VSPACE }, |
| 144 | 146 | { "width", AMSK_WIDTH }, |
| @@ -273,11 +275,12 @@ | ||
| 273 | 275 | short int iType; /* The MUTYPE_* code */ |
| 274 | 276 | int allowedAttr; /* Allowed attributes on this markup */ |
| 275 | 277 | } aMarkup[] = { |
| 276 | 278 | { 0, MARKUP_INVALID, 0, 0 }, |
| 277 | 279 | { "a", MARKUP_A, MUTYPE_HYPERLINK, |
| 278 | - AMSK_HREF|AMSK_NAME|AMSK_CLASS|AMSK_TARGET|AMSK_STYLE }, | |
| 280 | + AMSK_HREF|AMSK_NAME|AMSK_CLASS|AMSK_TARGET|AMSK_STYLE| | |
| 281 | + AMSK_TITLE}, | |
| 279 | 282 | { "address", MARKUP_ADDRESS, MUTYPE_BLOCK, AMSK_STYLE }, |
| 280 | 283 | { "article", MARKUP_HTML5_ARTICLE, MUTYPE_BLOCK, |
| 281 | 284 | AMSK_ID|AMSK_CLASS|AMSK_STYLE }, |
| 282 | 285 | { "aside", MARKUP_HTML5_ASIDE, MUTYPE_BLOCK, |
| 283 | 286 | AMSK_ID|AMSK_CLASS|AMSK_STYLE }, |
| 284 | 287 |
| --- src/wikiformat.c | |
| +++ src/wikiformat.c | |
| @@ -63,10 +63,11 @@ | |
| 63 | ATTR_SIZE, |
| 64 | ATTR_SRC, |
| 65 | ATTR_START, |
| 66 | ATTR_STYLE, |
| 67 | ATTR_TARGET, |
| 68 | ATTR_TYPE, |
| 69 | ATTR_VALIGN, |
| 70 | ATTR_VALUE, |
| 71 | ATTR_VSPACE, |
| 72 | ATTR_WIDTH |
| @@ -82,24 +83,24 @@ | |
| 82 | AMSK_CLASS = 0x00000040, |
| 83 | AMSK_CLEAR = 0x00000080, |
| 84 | AMSK_COLOR = 0x00000100, |
| 85 | AMSK_COLSPAN = 0x00000200, |
| 86 | AMSK_COMPACT = 0x00000400, |
| 87 | /* re-use = 0x00000800, */ |
| 88 | AMSK_FACE = 0x00001000, |
| 89 | AMSK_HEIGHT = 0x00002000, |
| 90 | AMSK_HREF = 0x00004000, |
| 91 | AMSK_HSPACE = 0x00008000, |
| 92 | AMSK_ID = 0x00010000, |
| 93 | AMSK_LINKS = 0x00020000, |
| 94 | AMSK_NAME = 0x00040000, |
| 95 | AMSK_ROWSPAN = 0x00080000, |
| 96 | AMSK_SIZE = 0x00100000, |
| 97 | AMSK_SRC = 0x00200000, |
| 98 | AMSK_START = 0x00400000, |
| 99 | AMSK_STYLE = 0x00800000, |
| 100 | AMSK_TARGET = 0x01000000, |
| 101 | AMSK_TYPE = 0x02000000, |
| 102 | AMSK_VALIGN = 0x04000000, |
| 103 | AMSK_VALUE = 0x08000000, |
| 104 | AMSK_VSPACE = 0x10000000, |
| 105 | AMSK_WIDTH = 0x20000000 |
| @@ -135,10 +136,11 @@ | |
| 135 | { "size", AMSK_SIZE }, |
| 136 | { "src", AMSK_SRC }, |
| 137 | { "start", AMSK_START }, |
| 138 | { "style", AMSK_STYLE }, |
| 139 | { "target", AMSK_TARGET }, |
| 140 | { "type", AMSK_TYPE }, |
| 141 | { "valign", AMSK_VALIGN }, |
| 142 | { "value", AMSK_VALUE }, |
| 143 | { "vspace", AMSK_VSPACE }, |
| 144 | { "width", AMSK_WIDTH }, |
| @@ -273,11 +275,12 @@ | |
| 273 | short int iType; /* The MUTYPE_* code */ |
| 274 | int allowedAttr; /* Allowed attributes on this markup */ |
| 275 | } aMarkup[] = { |
| 276 | { 0, MARKUP_INVALID, 0, 0 }, |
| 277 | { "a", MARKUP_A, MUTYPE_HYPERLINK, |
| 278 | AMSK_HREF|AMSK_NAME|AMSK_CLASS|AMSK_TARGET|AMSK_STYLE }, |
| 279 | { "address", MARKUP_ADDRESS, MUTYPE_BLOCK, AMSK_STYLE }, |
| 280 | { "article", MARKUP_HTML5_ARTICLE, MUTYPE_BLOCK, |
| 281 | AMSK_ID|AMSK_CLASS|AMSK_STYLE }, |
| 282 | { "aside", MARKUP_HTML5_ASIDE, MUTYPE_BLOCK, |
| 283 | AMSK_ID|AMSK_CLASS|AMSK_STYLE }, |
| 284 |
| --- src/wikiformat.c | |
| +++ src/wikiformat.c | |
| @@ -63,10 +63,11 @@ | |
| 63 | ATTR_SIZE, |
| 64 | ATTR_SRC, |
| 65 | ATTR_START, |
| 66 | ATTR_STYLE, |
| 67 | ATTR_TARGET, |
| 68 | ATTR_TITLE, |
| 69 | ATTR_TYPE, |
| 70 | ATTR_VALIGN, |
| 71 | ATTR_VALUE, |
| 72 | ATTR_VSPACE, |
| 73 | ATTR_WIDTH |
| @@ -82,24 +83,24 @@ | |
| 83 | AMSK_CLASS = 0x00000040, |
| 84 | AMSK_CLEAR = 0x00000080, |
| 85 | AMSK_COLOR = 0x00000100, |
| 86 | AMSK_COLSPAN = 0x00000200, |
| 87 | AMSK_COMPACT = 0x00000400, |
| 88 | AMSK_FACE = 0x00000800, |
| 89 | AMSK_HEIGHT = 0x00001000, |
| 90 | AMSK_HREF = 0x00002000, |
| 91 | AMSK_HSPACE = 0x00004000, |
| 92 | AMSK_ID = 0x00008000, |
| 93 | AMSK_LINKS = 0x00010000, |
| 94 | AMSK_NAME = 0x00020000, |
| 95 | AMSK_ROWSPAN = 0x00040000, |
| 96 | AMSK_SIZE = 0x00080000, |
| 97 | AMSK_SRC = 0x00100000, |
| 98 | AMSK_START = 0x00200000, |
| 99 | AMSK_STYLE = 0x00400000, |
| 100 | AMSK_TARGET = 0x00800000, |
| 101 | AMSK_TITLE = 0x01000000, |
| 102 | AMSK_TYPE = 0x02000000, |
| 103 | AMSK_VALIGN = 0x04000000, |
| 104 | AMSK_VALUE = 0x08000000, |
| 105 | AMSK_VSPACE = 0x10000000, |
| 106 | AMSK_WIDTH = 0x20000000 |
| @@ -135,10 +136,11 @@ | |
| 136 | { "size", AMSK_SIZE }, |
| 137 | { "src", AMSK_SRC }, |
| 138 | { "start", AMSK_START }, |
| 139 | { "style", AMSK_STYLE }, |
| 140 | { "target", AMSK_TARGET }, |
| 141 | { "title", AMSK_TITLE }, |
| 142 | { "type", AMSK_TYPE }, |
| 143 | { "valign", AMSK_VALIGN }, |
| 144 | { "value", AMSK_VALUE }, |
| 145 | { "vspace", AMSK_VSPACE }, |
| 146 | { "width", AMSK_WIDTH }, |
| @@ -273,11 +275,12 @@ | |
| 275 | short int iType; /* The MUTYPE_* code */ |
| 276 | int allowedAttr; /* Allowed attributes on this markup */ |
| 277 | } aMarkup[] = { |
| 278 | { 0, MARKUP_INVALID, 0, 0 }, |
| 279 | { "a", MARKUP_A, MUTYPE_HYPERLINK, |
| 280 | AMSK_HREF|AMSK_NAME|AMSK_CLASS|AMSK_TARGET|AMSK_STYLE| |
| 281 | AMSK_TITLE}, |
| 282 | { "address", MARKUP_ADDRESS, MUTYPE_BLOCK, AMSK_STYLE }, |
| 283 | { "article", MARKUP_HTML5_ARTICLE, MUTYPE_BLOCK, |
| 284 | AMSK_ID|AMSK_CLASS|AMSK_STYLE }, |
| 285 | { "aside", MARKUP_HTML5_ASIDE, MUTYPE_BLOCK, |
| 286 | AMSK_ID|AMSK_CLASS|AMSK_STYLE }, |
| 287 |