Banned federated profiles

Hello guys!

Recently I switched from status.mvdan.cc to status.cat/mvdan, which went well. The new instance runs 1.2 and HTTPS, and seems to run OK with no errors at all. I've got a problem, though - chimo from sn.chromic.org won't show up in my followers list. He can follow me and I him, but I won't get his notices. As it seems, he's banned in status.cat. Here's the log output:

2012-08-04 02:06:49 LOG_WARNING: [status.cat:queuedaemon.php:1805] Attempted post from user disallowed to post: chimo
2012-08-04 02:06:49 LOG_ERR: [status.cat:queuedaemon.php:1805] OStatus save of remote message http://sn.chromic.org/notice/92736 failed: You are banned from posting notices on this site.
2012-08-04 02:06:49 LOG_ERR: [status.cat:queuedaemon.php:1805] Exception during PuSH input processing for http://sn.chromic.org/api/statuses/user_timeline/1.atom: You are banned from posting notices on this site.

This happens every time he posts a dent. Knowing this was the source of the issue, I wanted to unblock/unban him. Since he's not in my followers list, the web UI can't do such thing. I checked the DB, he appears normally under 'profile', and 'profile_block' returns 0 rows. I ran a full 'php plugins/OStatus/scripts/update_ostatus_profiles.php' as well as 'php scripts/fixup_{blocks,deletions}.php' but to no avail.

My last try was to check how many profile IDs my site has recorded (roughly 550) and do an unblock request via the web API for each one of them as follows:

for n in {1..600}; do curl --basic --user "mvdan:PASSWORD" --data-ascii "user_id=$n" "https://status.cat/api/blocks/destroy.json"; done

This took quite some time, and reported the user data for all the profiles (which as the API specifies it should mean they have been unblocked or weren't blocked at all). But even after restarting memcached the problem isn't solved.

Any ideas?

Comments

  • Do you have a way to find his profile page on your SN instance? Maybe you'll be better able to fix it from there. Also, check the blacklist plugin.
  • @lnxwalt Thanks for the reply. What do you mean by 'profile page'? I can see I'm following him, that's all from the web UI.

    I'll check the blacklist plugin now.

    EDIT: Blacklist is empty. Good news is, if the only way to block/unblock an ostatus profile is by our 'followers' page, I'll try and add his subscription manually and see what happens.

    2nd EDIT: Adding him to 'subscription' worked, it seems. Just had to copy another row and change profile ID's. Looking at my followers page, he's there - but the "block" button is just like everyone else's. I'm waiting for him to test reply to a dent of mine to see if it worked. If not, I'll try and do a block + unblock.
  • @mvdan Glad to see you found something that worked.

    I don't remember the exact path, but I believe there is a profile page on your instance for each person that subscribes to you or that you subscribe to them. It is possible to block/silence them from communicating with your instance from that page. I believe it helps prevent remote spammers from @ mentioning to put their content into the instance's users' timelines.
  • @lnxwalt Still searching. I wrote a small php script borrowing some lines of code from StatusNet, which includes:

    if (!$profile->hasRight(Right::NEWNOTICE)) {
    print "User '$nickname' ($id) from $profileurl is banned from posting!\n";
    }

    If I loop over all the profiles in my table (roughtly 950), I get only one occurence:

    User 'chimo' (11) from http://sn.chromic.org/ is banned from posting!

    Now, I need to find a way to give him the right to post a new notice. This is as far as I've got.
  • @lnxwalt Thanks for your help. I finally narrowed down the cause of this issue with @mmn - it turns out profile 11 (chimo) was a valid profile but was listed as deleted in profile_role. Removing the latter line solved all issues.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Google Sign In with OpenID