From bad729c631819db04191605a237c8fa632818dd8 Mon Sep 17 00:00:00 2001 From: default Date: Wed, 6 Dec 2023 14:46:51 +0100 Subject: Started work to support shared inboxes. --- data.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'data.c') diff --git a/data.c b/data.c index a37fbdb..67d6843 100644 --- a/data.c +++ b/data.c @@ -99,6 +99,9 @@ int srv_open(char *basedir, int auto_upgrade) xs *ibdir = xs_fmt("%s/inbox", srv_basedir); mkdirx(ibdir); + xs *tmpdir = xs_fmt("%s/tmp", srv_basedir); + mkdirx(tmpdir); + #ifdef __OpenBSD__ char *v = xs_dict_get(srv_config, "disable_openbsd_security"); @@ -1586,9 +1589,12 @@ void tag_index(const char *id, const xs_dict *obj) char *name = xs_dict_get(v, "name"); if (!xs_is_null(type) && !xs_is_null(name) && strcmp(type, "Hashtag") == 0) { - if (*name == '#') + while (*name == '#' || *name == '@') name++; + if (*name == '\0') + continue; + name = xs_tolower_i(name); xs *md5_tag = xs_md5_hex(name, strlen(name)); @@ -2123,6 +2129,21 @@ void enqueue_input(snac *snac, const xs_dict *msg, const xs_dict *req, int retri } +void enqueue_shared_input(const xs_dict *msg, const xs_dict *req, int retries) +/* enqueues an input message from the shared input */ +{ + xs *qmsg = _new_qmsg("input", msg, retries); + char *ntid = xs_dict_get(qmsg, "ntid"); + xs *fn = xs_fmt("%s/queue/%s.json", srv_basedir, ntid); + + qmsg = xs_dict_append(qmsg, "req", req); + + qmsg = _enqueue_put(fn, qmsg); + + srv_debug(1, xs_fmt("enqueue_shared_input %s", fn)); +} + + void enqueue_output_raw(const char *keyid, const char *seckey, xs_dict *msg, xs_str *inbox, int retries, int p_status) /* enqueues an output message to an inbox */ -- cgit v1.2.3