mirror of
https://codeberg.org/grunfink/snac2.git
synced 2024-11-22 05:15:04 +00:00
Fixed minor collision in webfinger caching.
This commit is contained in:
parent
f0d185192b
commit
7f6a793146
2 changed files with 8 additions and 4 deletions
6
snac.h
6
snac.h
|
@ -1,7 +1,7 @@
|
||||||
/* snac - A simple, minimalistic ActivityPub instance */
|
/* snac - A simple, minimalistic ActivityPub instance */
|
||||||
/* copyright (c) 2022 - 2024 grunfink et al. / MIT license */
|
/* copyright (c) 2022 - 2024 grunfink et al. / MIT license */
|
||||||
|
|
||||||
#define VERSION "2.44"
|
#define VERSION "2.45-dev"
|
||||||
|
|
||||||
#define USER_AGENT "snac/" VERSION
|
#define USER_AGENT "snac/" VERSION
|
||||||
|
|
||||||
|
@ -46,13 +46,14 @@ typedef struct {
|
||||||
} snac;
|
} snac;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
int s_size; /* struct size (for double checking) */
|
||||||
int srv_running; /* server running on/off */
|
int srv_running; /* server running on/off */
|
||||||
int use_fcgi; /* FastCGI use on/off */
|
int use_fcgi; /* FastCGI use on/off */
|
||||||
time_t srv_start_time; /* start time */
|
time_t srv_start_time; /* start time */
|
||||||
int job_fifo_size; /* job fifo size */
|
int job_fifo_size; /* job fifo size */
|
||||||
int peak_job_fifo_size; /* maximum job fifo size seen */
|
int peak_job_fifo_size; /* maximum job fifo size seen */
|
||||||
int n_threads; /* number of configured threads */
|
int n_threads; /* number of configured threads */
|
||||||
enum { THST_WAIT, THST_IN, THST_QUEUE, THST_STOP } th_state[MAX_THREADS];
|
enum { THST_STOP, THST_WAIT, THST_IN, THST_QUEUE } th_state[MAX_THREADS];
|
||||||
} srv_state;
|
} srv_state;
|
||||||
|
|
||||||
void snac_log(snac *user, xs_str *str);
|
void snac_log(snac *user, xs_str *str);
|
||||||
|
@ -229,6 +230,7 @@ xs_dict *http_signed_request(snac *snac, const char *method, const char *url,
|
||||||
int timeout);
|
int timeout);
|
||||||
int check_signature(xs_dict *req, xs_str **err);
|
int check_signature(xs_dict *req, xs_str **err);
|
||||||
|
|
||||||
|
srv_state *srv_state_op(xs_str **fname, int op);
|
||||||
void httpd(void);
|
void httpd(void);
|
||||||
|
|
||||||
int webfinger_request_signed(snac *snac, const char *qs, char **actor, char **user);
|
int webfinger_request_signed(snac *snac, const char *qs, char **actor, char **user);
|
||||||
|
|
|
@ -48,8 +48,10 @@ int webfinger_request_signed(snac *snac, const char *qs, char **actor, char **us
|
||||||
|
|
||||||
xs *obj = NULL;
|
xs *obj = NULL;
|
||||||
|
|
||||||
|
xs *cached_qs = xs_fmt("webfinger:%s", qs);
|
||||||
|
|
||||||
/* is it cached? */
|
/* is it cached? */
|
||||||
if (valid_status(status = object_get(qs, &obj))) {
|
if (valid_status(status = object_get(cached_qs, &obj))) {
|
||||||
/* nothing more to do */
|
/* nothing more to do */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -77,7 +79,7 @@ int webfinger_request_signed(snac *snac, const char *qs, char **actor, char **us
|
||||||
|
|
||||||
if (obj == NULL && valid_status(status) && payload) {
|
if (obj == NULL && valid_status(status) && payload) {
|
||||||
obj = xs_json_loads(payload);
|
obj = xs_json_loads(payload);
|
||||||
object_add(qs, obj);
|
object_add(cached_qs, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj) {
|
if (obj) {
|
||||||
|
|
Loading…
Reference in a new issue