summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'data.c')
-rw-r--r--data.c23
1 files changed, 22 insertions, 1 deletions
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 */