commit 2da394a
default
·
2024-02-16 04:47:18 +0000 UTC
parent 79f79c0
Added 'accept' and 'user-agent' headers to verify_links().
1 files changed,
+17,
-4
M
utils.c
M
utils.c
+17,
-4
1@@ -418,6 +418,10 @@ void verify_links(snac *user)
2 char *k, *v;
3 int changed = 0;
4
5+ xs *headers = xs_dict_new();
6+ headers = xs_dict_append(headers, "accept", "text/html");
7+ headers = xs_dict_append(headers, "user-agent", USER_AGENT " (link verify)");
8+
9 while (p && xs_dict_iter(&p, &k, &v)) {
10 /* not an https link? skip */
11 if (!xs_startswith(v, "https:/" "/"))
12@@ -428,11 +432,11 @@ void verify_links(snac *user)
13 xs *payload = NULL;
14 int p_size = 0;
15
16- req = xs_http_request("GET", v, NULL, NULL, 0, &status,
17+ req = xs_http_request("GET", v, headers, NULL, 0, &status,
18 &payload, &p_size, 0);
19
20 if (!valid_status(status)) {
21- snac_log(user, xs_fmt("verify link %s error %d", v, status));
22+ snac_log(user, xs_fmt("link %s verify error %d", v, status));
23 continue;
24 }
25
26@@ -441,6 +445,7 @@ void verify_links(snac *user)
27
28 xs_list *lp = ls;
29 char *ll;
30+ int vfied = 0;
31
32 while (xs_list_iter(&lp, &ll)) {
33 /* extract href and rel */
34@@ -490,15 +495,23 @@ void verify_links(snac *user)
35
36 user->links = xs_dict_set(user->links, v, verified_at);
37
38- changed++;
39+ vfied = 1;
40
41- snac_log(user, xs_fmt("link %s verified at %s", v, verified_at));
42+ break;
43 }
44 else
45 snac_debug(user, 1,
46 xs_fmt("verify link %s rel='me' found but not related (%s)", v, href));
47 }
48 }
49+
50+ if (vfied) {
51+ changed++;
52+ snac_log(user, xs_fmt("link %s verified", v));
53+ }
54+ else {
55+ snac_log(user, xs_fmt("link %s not verified (rel='me' not found)", v));
56+ }
57 }
58
59 if (changed) {