diff options
| author | 2022-09-28 19:59:19 +0200 | |
|---|---|---|
| committer | 2022-09-28 19:59:19 +0200 | |
| commit | c38cc09e4c593f4c7a53df6e289e8b6af03bd9ca (patch) | |
| tree | 775b8f029f31195de4e02f54c5dae28c1d527350 | |
| parent | Added the score for local posts. (diff) | |
| download | snac2-c38cc09e4c593f4c7a53df6e289e8b6af03bd9ca.tar.gz snac2-c38cc09e4c593f4c7a53df6e289e8b6af03bd9ca.tar.xz snac2-c38cc09e4c593f4c7a53df6e289e8b6af03bd9ca.zip | |
Process 'Undo' + 'Follow'.
| -rw-r--r-- | activitypub.c | 10 | ||||
| -rw-r--r-- | data.c | 8 |
2 files changed, 14 insertions, 4 deletions
diff --git a/activitypub.c b/activitypub.c index 81bfa59..82bf028 100644 --- a/activitypub.c +++ b/activitypub.c | |||
| @@ -591,11 +591,17 @@ void process_message(snac *snac, char *msg, char *req) | |||
| 591 | snac_log(snac, xs_fmt("New follower %s", actor)); | 591 | snac_log(snac, xs_fmt("New follower %s", actor)); |
| 592 | } | 592 | } |
| 593 | else | 593 | else |
| 594 | /* | ||
| 595 | if (strcmp(type, "Undo") == 0) { | 594 | if (strcmp(type, "Undo") == 0) { |
| 595 | if (strcmp(utype, "Follow") == 0) { | ||
| 596 | if (valid_status(follower_del(snac, actor))) | ||
| 597 | snac_log(snac, xs_fmt("no longer following us %s", actor)); | ||
| 598 | else | ||
| 599 | snac_log(snac, xs_fmt("error deleting follower %s", actor)); | ||
| 600 | } | ||
| 601 | else | ||
| 602 | snac_debug(snac, 1, xs_fmt("ignored 'Undo' for object type '%s'", utype)); | ||
| 596 | } | 603 | } |
| 597 | else | 604 | else |
| 598 | */ | ||
| 599 | if (strcmp(type, "Create") == 0) { | 605 | if (strcmp(type, "Create") == 0) { |
| 600 | if (strcmp(utype, "Note") == 0) { | 606 | if (strcmp(utype, "Note") == 0) { |
| 601 | if (is_muted(snac, actor)) | 607 | if (is_muted(snac, actor)) |
| @@ -217,13 +217,17 @@ int follower_add(snac *snac, char *actor, char *msg) | |||
| 217 | int follower_del(snac *snac, char *actor) | 217 | int follower_del(snac *snac, char *actor) |
| 218 | /* deletes a follower */ | 218 | /* deletes a follower */ |
| 219 | { | 219 | { |
| 220 | int status = 200; | ||
| 220 | xs *fn = _follower_fn(snac, actor); | 221 | xs *fn = _follower_fn(snac, actor); |
| 221 | 222 | ||
| 222 | unlink(fn); | 223 | if (fn != NULL) |
| 224 | unlink(fn); | ||
| 225 | else | ||
| 226 | status = 404; | ||
| 223 | 227 | ||
| 224 | snac_debug(snac, 2, xs_fmt("follower_del %s %s", actor, fn)); | 228 | snac_debug(snac, 2, xs_fmt("follower_del %s %s", actor, fn)); |
| 225 | 229 | ||
| 226 | return 200; | 230 | return status; |
| 227 | } | 231 | } |
| 228 | 232 | ||
| 229 | 233 | ||