mirror of
https://codeberg.org/grunfink/snac2.git
synced 2024-11-22 13:25:04 +00:00
Minor reordering code to process_input_message().
This commit is contained in:
parent
95ccff541c
commit
1c19404258
1 changed files with 34 additions and 32 deletions
|
@ -1475,7 +1475,7 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
|
||||||
int do_notify = 0;
|
int do_notify = 0;
|
||||||
|
|
||||||
if (xs_is_null(actor) || *actor == '\0') {
|
if (xs_is_null(actor) || *actor == '\0') {
|
||||||
snac_debug(snac, 0, xs_fmt("malformed message (bad actor)"));
|
srv_debug(0, xs_fmt("malformed message (bad actor)"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1485,7 +1485,7 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
|
||||||
|
|
||||||
/* reject uninteresting messages right now */
|
/* reject uninteresting messages right now */
|
||||||
if (strcmp(type, "Add") == 0) {
|
if (strcmp(type, "Add") == 0) {
|
||||||
snac_debug(snac, 0, xs_fmt("Ignored message of type '%s'", type));
|
srv_debug(0, xs_fmt("Ignored message of type '%s'", type));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1497,6 +1497,38 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
|
||||||
else
|
else
|
||||||
utype = "(null)";
|
utype = "(null)";
|
||||||
|
|
||||||
|
/* bring the actor */
|
||||||
|
a_status = actor_request(snac, actor, &actor_o);
|
||||||
|
|
||||||
|
/* do not retry permanent failures */
|
||||||
|
if (a_status == 404 || a_status == 410 || a_status < 0) {
|
||||||
|
srv_debug(1, xs_fmt("dropping message due to actor error %s %d", actor, a_status));
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!valid_status(a_status)) {
|
||||||
|
/* other actor download errors may need a retry */
|
||||||
|
srv_debug(1, xs_fmt("error requesting actor %s %d -- retry later", actor, a_status));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* check the signature */
|
||||||
|
xs *sig_err = NULL;
|
||||||
|
|
||||||
|
if (!check_signature(snac, req, &sig_err)) {
|
||||||
|
srv_log(xs_fmt("bad signature %s (%s)", actor, sig_err));
|
||||||
|
|
||||||
|
srv_archive_error("check_signature", sig_err, req, msg);
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* if no user is set, no further checks can be done */
|
||||||
|
if (snac == NULL)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* reject messages that are not for this user */
|
/* reject messages that are not for this user */
|
||||||
if (!is_msg_for_me(snac, msg)) {
|
if (!is_msg_for_me(snac, msg)) {
|
||||||
snac_debug(snac, 1, xs_fmt("message from %s of type '%s' not for us", actor, type));
|
snac_debug(snac, 1, xs_fmt("message from %s of type '%s' not for us", actor, type));
|
||||||
|
@ -1514,36 +1546,6 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* bring the actor */
|
|
||||||
a_status = actor_request(snac, actor, &actor_o);
|
|
||||||
|
|
||||||
/* do not retry permanent failures */
|
|
||||||
if (a_status == 404 || a_status == 410 || a_status < 0) {
|
|
||||||
snac_debug(snac, 1,
|
|
||||||
xs_fmt("dropping message due to actor error %s %d", actor, a_status));
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!valid_status(a_status)) {
|
|
||||||
/* other actor download errors may need a retry */
|
|
||||||
snac_debug(snac, 1,
|
|
||||||
xs_fmt("error requesting actor %s %d -- retry later", actor, a_status));
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* check the signature */
|
|
||||||
xs *sig_err = NULL;
|
|
||||||
|
|
||||||
if (!check_signature(snac, req, &sig_err)) {
|
|
||||||
snac_log(snac, xs_fmt("bad signature %s (%s)", actor, sig_err));
|
|
||||||
|
|
||||||
srv_archive_error("check_signature", sig_err, req, msg);
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strcmp(type, "Follow") == 0) { /** **/
|
if (strcmp(type, "Follow") == 0) { /** **/
|
||||||
if (!follower_check(snac, actor)) {
|
if (!follower_check(snac, actor)) {
|
||||||
xs *f_msg = xs_dup(msg);
|
xs *f_msg = xs_dup(msg);
|
||||||
|
|
Loading…
Reference in a new issue