diff options
Diffstat (limited to 'activitypub.c')
| -rw-r--r-- | activitypub.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/activitypub.c b/activitypub.c index 9893470..4869142 100644 --- a/activitypub.c +++ b/activitypub.c | |||
| @@ -1221,6 +1221,10 @@ xs_dict *msg_actor(snac *snac) | |||
| 1221 | xs_str *k; | 1221 | xs_str *k; |
| 1222 | xs_str *v; | 1222 | xs_str *v; |
| 1223 | 1223 | ||
| 1224 | xs_dict *val_metadata = xs_dict_get(snac->config, "validated_metadata"); | ||
| 1225 | if (xs_is_null(val_metadata)) | ||
| 1226 | val_metadata = xs_stock_dict; | ||
| 1227 | |||
| 1224 | while (xs_dict_iter(&metadata, &k, &v)) { | 1228 | while (xs_dict_iter(&metadata, &k, &v)) { |
| 1225 | xs *d = xs_dict_new(); | 1229 | xs *d = xs_dict_new(); |
| 1226 | 1230 | ||
| @@ -1228,8 +1232,13 @@ xs_dict *msg_actor(snac *snac) | |||
| 1228 | xs *v2 = NULL; | 1232 | xs *v2 = NULL; |
| 1229 | 1233 | ||
| 1230 | if (xs_startswith(v, "https:")) { | 1234 | if (xs_startswith(v, "https:")) { |
| 1235 | char *val_date = xs_dict_get(val_metadata, v); | ||
| 1231 | xs *t = encode_html(v); | 1236 | xs *t = encode_html(v); |
| 1232 | v2 = xs_fmt("<a href=\"%s\">%s</a>", t, t); | 1237 | |
| 1238 | if (xs_type(val_date) == XSTYPE_STRING && *val_date) | ||
| 1239 | v2 = xs_fmt("<a href=\"%s\" rel=\"me\">%s</a>", t, t); | ||
| 1240 | else | ||
| 1241 | v2 = xs_fmt("<a href=\"%s\">%s</a>", t, t); | ||
| 1233 | } | 1242 | } |
| 1234 | else | 1243 | else |
| 1235 | v2 = encode_html(v); | 1244 | v2 = encode_html(v); |