I was super excited to see that Voyager added experimental support for Piefed. I went a created an account on feddit.online, and tried to log in… and got a connection error. No worries, it’s experimental. That was like 5 months ago and it’s still happening and I’m starting to suspect it’s not going to get better on its own. I use a password manager, and it’s saying “connection error” so I feel like it’s probably not bad credentials? Did I choose a bad instance or is this client-side?

  • Jerry on PieFed@feddit.online
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    8 days ago

    Help me here. I’m not an expert. Here is the request going into the server. The error code is 400 (Bad Request)

    @x..@x..  
    18:24:10.580462 IP 127.0.0.1.49126 > 127.0.0.1.5000: Flags [P.], seq 5107:5771, ack 1755, win 8143, options [nop,nop,TS val 1081650450 ecr 1081650382], length 664  
    E....3@.@...............kz.....n...........  
    @x..@x..POST /api/alpha/user/login HTTP/1.1  
    X-Forwarded-For: 162.120.199.186, 172.70.111.121  
    X-Forwarded-Proto: https  
    Host: feddit.online  
    Content-Length: 56  
    accept-language: en-US,en;q=0.5  
    content-type: application/json  
    accept-encoding: gzip, br  
    cf-ray: 9c85ae25b9720f65-EWR  
    user-agent: Dalvik/2.1.0 (Linux; U; Android 16; Pixel 10 Pro XL Build/BP4A.260105.004.E1)  
    cdn-loop: cloudflare; loops=1  
    cf-connecting-ip: 162.120.199.186  
    cf-ipcountry: US  
    cf-visitor: {"scheme":"https"}  
    cookie: session=eyJSZWZlcmVyIjoiaHR0cHM6Ly9sb2NhbGhvc3QvaW5ib3giLCJfZnJlc2giOmZhbHNlfQ.aYJgEQ.nMo4SDt0iKOrzFvSItQuquLp4qo  
    
    {"password":"<hidden>","username":"testuser"}  
    18:24:10.584409 IP 127.0.0.1.49120 > 127.0.0.1.5000: Flags [P.], seq 8671:10383, ack 2866, win 22123, options [nop,nop,TS val 1081650454 ecr 1081650338], length 1712  
    E.....@.@.CB.............BO.+Ngj..Vk.......  
    

    The session string is: eyJSZWZlcmVyIjoiaHR0cHM6Ly9sb2NhbGhvc3QvaW5ib3giLCJfZnJlc2giOmZhbHNlfQ
    This decodes to a referrer of: https://localhost/inbox

    I wonder if this is the issue. Will Piefed accept a session claiming to be from localhost? Will it see this as a potential attack or misconfiguration? Should I reconfigure nginx to drop incoming cookies for the login endpoint?

    I’m grasping at straws.

    • Rimu@piefed.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      8 days ago

      When I do a curl request to the feddit.online API endpoint I can log in fine. If I use an invalid password I get the expected error message.

      rimu@rimu-mate2 ~ $ curl --request POST \
        --url https://feddit.online/api/alpha/user/login \
        --header 'Content-Type: application/json' \
        --data '{
        "username": "rimu",
        "password": "valid password"
      }'
      {"jwt":"some gibberish"}
      rimu@rimu-mate2 ~ $ curl --request POST   --url https://feddit.online/api/alpha/user/login   --header 'Content-Type: application/json'   --data '{
        "username": "rimu",
        "password": "invalid password"
      }'
      {"code":400,"message":"incorrect_login","status":"Bad Request"}
      
      
      • Jerry on PieFed@feddit.online
        link
        fedilink
        English
        arrow-up
        3
        ·
        8 days ago

        @rimu@piefed.social
        But the logins from Voyager are returning 400 (Bad Request), although the username and password are correct, and to me, the request looks good.

        I posted what is coming into the server. The only anomaly I saw was that the session cookie referrer seemed odd. Can you look at the request I posted? Do you see any reason it would be seen as a bad request?

        The odd thing is that while I get an error 95% of the time trying to log into Voyager, twice it did let me log in. I don’t know what was different about those 2 times.

        Nothing gets logged to syslog, any nginx logs, pyfedi.log, or journalctl.