Interstellar-Relay-Community / aode-relay

ActivityPub relay in Rust
GNU Affero General Public License v3.0
30 stars 6 forks source link

HTTP 500 error when relay failed to fetch user's pubk handle. #2

Closed perillamint closed 1 year ago

perillamint commented 1 year ago

When the Pleroma/Akkoma instance tries to add relay on their system and

The server errors out 500.

Needs to reproduce this error in the lab environment and find out the bug

perillamint commented 1 year ago

Some relevant notes: relay_1 | 2022-12-15T03:01:48.862120Z ERROR tracing_actix_web::middleware: Error encountered while processing the incoming HTTP request: Status("https://[DATA EXPUNGED]/relay#main-key", 404)

perillamint commented 1 year ago

Found out the reason and updated issue

perillamint commented 1 year ago

Some cases may involve non-mutual follow of relay actor.

Some idea should be brought up to handle such cases. Related epic: #3

perillamint commented 1 year ago

User removal also AFFECTED by this issue. Need to be addressed ASAP.

Relavent logs:

relay_1  | 2022-12-19T06:14:55.681854Z  WARN relay::requests: Response from https://[REDACTED]/users/[REDACTED]#main-key, {"error":"Gone"}
relay_1  | 2022-12-19T06:14:55.682079Z ERROR tracing_actix_web::middleware: Error encountered while processing the incoming HTTP request: Status("https://[REDACTED]/users/[REDACTED]#main-key", 410)
perillamint commented 1 year ago

Signature checking must be relaxed in some cases. especially, user DELETE handle.

perillamint commented 1 year ago

Partially resolved (at least, not 500) in #9, but it must be discussed with @asonix to properly address and implement fix for it.

perillamint commented 1 year ago

Current implementation pitfalls:

perillamint commented 1 year ago

Resolved in upstream, merged it back.