Fossil SCM

Allow the "title" attribute in "<a>" tags in safe HTML. See [forum:/forumpost/81b7308aa7|forum post 81b7308aa7]

drh 2020-11-07 12:51 trunk
Commit b8078aefef9cac95d75a7d9e3afba10a6c179e46f25fd5bcccc8d8f6997a7fa8
1 file changed +18 -15
+18 -15
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -63,10 +63,11 @@
6363
ATTR_SIZE,
6464
ATTR_SRC,
6565
ATTR_START,
6666
ATTR_STYLE,
6767
ATTR_TARGET,
68
+ ATTR_TITLE,
6869
ATTR_TYPE,
6970
ATTR_VALIGN,
7071
ATTR_VALUE,
7172
ATTR_VSPACE,
7273
ATTR_WIDTH
@@ -82,24 +83,24 @@
8283
AMSK_CLASS = 0x00000040,
8384
AMSK_CLEAR = 0x00000080,
8485
AMSK_COLOR = 0x00000100,
8586
AMSK_COLSPAN = 0x00000200,
8687
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,
101102
AMSK_TYPE = 0x02000000,
102103
AMSK_VALIGN = 0x04000000,
103104
AMSK_VALUE = 0x08000000,
104105
AMSK_VSPACE = 0x10000000,
105106
AMSK_WIDTH = 0x20000000
@@ -135,10 +136,11 @@
135136
{ "size", AMSK_SIZE },
136137
{ "src", AMSK_SRC },
137138
{ "start", AMSK_START },
138139
{ "style", AMSK_STYLE },
139140
{ "target", AMSK_TARGET },
141
+ { "title", AMSK_TITLE },
140142
{ "type", AMSK_TYPE },
141143
{ "valign", AMSK_VALIGN },
142144
{ "value", AMSK_VALUE },
143145
{ "vspace", AMSK_VSPACE },
144146
{ "width", AMSK_WIDTH },
@@ -273,11 +275,12 @@
273275
short int iType; /* The MUTYPE_* code */
274276
int allowedAttr; /* Allowed attributes on this markup */
275277
} aMarkup[] = {
276278
{ 0, MARKUP_INVALID, 0, 0 },
277279
{ "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},
279282
{ "address", MARKUP_ADDRESS, MUTYPE_BLOCK, AMSK_STYLE },
280283
{ "article", MARKUP_HTML5_ARTICLE, MUTYPE_BLOCK,
281284
AMSK_ID|AMSK_CLASS|AMSK_STYLE },
282285
{ "aside", MARKUP_HTML5_ASIDE, MUTYPE_BLOCK,
283286
AMSK_ID|AMSK_CLASS|AMSK_STYLE },
284287
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button