From 1c3e30c47992d79a1956a4b2b5fea93ad25345ea Mon Sep 17 00:00:00 2001 From: grunfink Date: Fri, 1 Aug 2025 08:36:26 +0200 Subject: Version 2.81 RELEASED. --- snac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'snac.h') diff --git a/snac.h b/snac.h index e4e190d..4ad98cc 100644 --- a/snac.h +++ b/snac.h @@ -1,7 +1,7 @@ /* snac - A simple, minimalistic ActivityPub instance */ /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ -#define VERSION "2.81-dev" +#define VERSION "2.81" #define USER_AGENT "snac/" VERSION -- cgit From 3ffb53948252b0696548106e60c7755b0f007da5 Mon Sep 17 00:00:00 2001 From: grunfink Date: Sun, 3 Aug 2025 21:00:36 +0200 Subject: New function unhide(). --- data.c | 10 +++++++++- snac.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'snac.h') diff --git a/data.c b/data.c index 21cb15b..d4661a0 100644 --- a/data.c +++ b/data.c @@ -2041,7 +2041,7 @@ xs_str *_hidden_fn(snac *snac, const char *id) void hide(snac *snac, const char *id) -/* hides a message tree */ +/* hides an object and its children (if it's a post) */ { xs *fn = _hidden_fn(snac, id); FILE *f; @@ -2081,6 +2081,14 @@ int is_hidden(snac *snac, const char *id) } +int unhide(snac *user, const char *id) +/* unhides an object */ +{ + xs *fn = _hidden_fn(user, id); + return unlink(fn); +} + + int actor_add(const char *actor, const xs_dict *msg) /* adds an actor */ { diff --git a/snac.h b/snac.h index 4ad98cc..d59d790 100644 --- a/snac.h +++ b/snac.h @@ -223,6 +223,7 @@ int limited(snac *user, const char *id, int cmd); void hide(snac *snac, const char *id); int is_hidden(snac *snac, const char *id); +int unhide(snac *user, const char *id); void tag_index(const char *id, const xs_dict *obj); xs_str *tag_fn(const char *tag); -- cgit From c3f4a26f558c596197977f9fc7baa6bfa608a4bb Mon Sep 17 00:00:00 2001 From: grunfink Date: Tue, 12 Aug 2025 11:22:17 +0200 Subject: Bumped version. --- snac.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'snac.h') diff --git a/snac.h b/snac.h index d59d790..78b630d 100644 --- a/snac.h +++ b/snac.h @@ -1,7 +1,7 @@ /* snac - A simple, minimalistic ActivityPub instance */ /* copyright (c) 2022 - 2025 grunfink et al. / MIT license */ -#define VERSION "2.81" +#define VERSION "2.82-dev" #define USER_AGENT "snac/" VERSION -- cgit From cd05398133a1ed7b4e953e3a4d363273b58ad970 Mon Sep 17 00:00:00 2001 From: grunfink Date: Thu, 14 Aug 2025 11:17:49 +0200 Subject: Added nodeinfo 2.1 support. --- httpd.c | 20 +++++++++++++++++--- snac.h | 1 + 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'snac.h') diff --git a/httpd.c b/httpd.c index d01eb9c..71e04bf 100644 --- a/httpd.c +++ b/httpd.c @@ -283,9 +283,10 @@ int server_get_handler(xs_dict *req, const char *q_path, status = HTTP_STATUS_OK; *ctype = "application/json; charset=utf-8"; *body = xs_fmt("{\"links\":[" - "{\"rel\":\"http:/" "/nodeinfo.diaspora.software/ns/schema/2.0\"," - "\"href\":\"%s/nodeinfo_2_0\"}]}", - srv_baseurl); + "{\"rel\":\"http:/" "/nodeinfo.diaspora.software/ns/schema/2.0\",\"href\":\"%s/nodeinfo_2_0\"}," + "{\"rel\":\"http:/" "/nodeinfo.diaspora.software/ns/schema/2.1\",\"href\":\"%s/nodeinfo_2_1\"}" + "]}", + srv_baseurl, srv_baseurl); } else if (strcmp(q_path, "/.well-known/host-meta") == 0) { @@ -303,6 +304,19 @@ int server_get_handler(xs_dict *req, const char *q_path, *body = nodeinfo_2_0(); } else + if (strcmp(q_path, "/nodeinfo_2_1") == 0) { + xs *s = nodeinfo_2_0(); + xs *j = xs_json_loads(s); + + j = xs_dict_set(j, "version", "2.1"); + j = xs_dict_set_path(j, "software.repository", WHAT_IS_SNAC_URL); + j = xs_dict_set_path(j, "software.homepage", SNAC_DOC_URL); + + status = HTTP_STATUS_OK; + *ctype = "application/json; charset=utf-8"; + *body = xs_json_dumps(j, 4); + } + else if (strcmp(q_path, "/robots.txt") == 0) { status = HTTP_STATUS_OK; *ctype = "text/plain"; diff --git a/snac.h b/snac.h index 78b630d..c060363 100644 --- a/snac.h +++ b/snac.h @@ -6,6 +6,7 @@ #define USER_AGENT "snac/" VERSION #define WHAT_IS_SNAC_URL "https:/" "/comam.es/what-is-snac" +#define SNAC_DOC_URL "https:/" "/comam.es/snac-doc" #define DIR_PERM 00770 #define DIR_PERM_ADD 02770 -- cgit