Also strip cgi variables (things after ?) in key request for checking.

This commit is contained in:
default 2023-12-18 10:07:42 +01:00
parent 195c21ab2e
commit de6d61f66f

11
http.c
View file

@ -171,10 +171,15 @@ int check_signature(xs_dict *req, xs_str **err)
if ((p = strchr(keyId, '#')) != NULL)
*p = '\0';
xs *actor = NULL;
/* also strip cgi variables */
if ((p = strchr(keyId, '?')) != NULL)
*p = '\0';
if (!valid_status(actor_request(NULL, keyId, &actor))) {
*err = xs_fmt("unknown actor %s", keyId);
xs *actor = NULL;
int status;
if (!valid_status((status = actor_request(NULL, keyId, &actor)))) {
*err = xs_fmt("actor request error %s %d", keyId, status);
return 0;
}