mirror of
https://codeberg.org/grunfink/snac2.git
synced 2024-11-28 23:53:36 +00:00
In is_msg_public(), also look at 'Announce' messages.
This commit is contained in:
parent
4070c009f1
commit
c83b601f90
1 changed files with 13 additions and 2 deletions
|
@ -297,10 +297,16 @@ int is_msg_public(snac *snac, xs_dict *msg)
|
||||||
int is_msg_for_me(snac *snac, xs_dict *c_msg)
|
int is_msg_for_me(snac *snac, xs_dict *c_msg)
|
||||||
/* checks if this message is for me */
|
/* checks if this message is for me */
|
||||||
{
|
{
|
||||||
char *type = xs_dict_get(c_msg, "type");
|
const char *type = xs_dict_get(c_msg, "type");
|
||||||
|
|
||||||
|
/* if it's an Announce by someone we don't follow, reject */
|
||||||
|
if (strcmp(type, "Announce") == 0) {
|
||||||
|
if (!following_check(snac, xs_dict_get(c_msg, "actor")))
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* if it's not a Create, allow */
|
/* if it's not a Create, allow */
|
||||||
if (xs_is_null(type) || strcmp(type, "Create") != 0)
|
if (strcmp(type, "Create") != 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
xs_dict *msg = xs_dict_get(c_msg, "object");
|
xs_dict *msg = xs_dict_get(c_msg, "object");
|
||||||
|
@ -938,6 +944,11 @@ int process_input_message(snac *snac, xs_dict *msg, xs_dict *req)
|
||||||
int a_status;
|
int a_status;
|
||||||
int do_notify = 0;
|
int do_notify = 0;
|
||||||
|
|
||||||
|
if (xs_is_null(actor) || xs_is_null(type)) {
|
||||||
|
snac_debug(snac, 0, xs_fmt("malformed message"));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
char *object, *utype;
|
char *object, *utype;
|
||||||
|
|
||||||
object = xs_dict_get(msg, "object");
|
object = xs_dict_get(msg, "object");
|
||||||
|
|
Loading…
Reference in a new issue