diff options
Diffstat (limited to 'data.c')
-rw-r--r-- | data.c | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -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 */ |