mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
dirmngr: Improve error codes returned from http fetching.
* dirmngr/ks-engine-http.c (ks_http_fetch): Return better error codes. * dirmngr/ks-engine-hkp.c (send_request): Ditto. * dirmngr/t-http.c (main): New option --try-proxy.
This commit is contained in:
parent
1e120f5a8d
commit
668deeded9
@ -1340,18 +1340,17 @@ send_request (ctrl_t ctrl, const char *request, const char *hostportstr,
|
||||
}
|
||||
goto once_more;
|
||||
|
||||
case 501:
|
||||
err = gpg_error (GPG_ERR_NOT_IMPLEMENTED);
|
||||
goto leave;
|
||||
|
||||
case 413: /* Payload too large */
|
||||
err = gpg_error (GPG_ERR_TOO_LARGE);
|
||||
goto leave;
|
||||
|
||||
default:
|
||||
log_error (_("error accessing '%s': http status %u\n"),
|
||||
request, http_get_status_code (http));
|
||||
err = gpg_error (GPG_ERR_NO_DATA);
|
||||
switch (http_get_status_code (http))
|
||||
{
|
||||
case 401: err = gpg_error (GPG_ERR_NO_AUTH); break;
|
||||
case 407: err = gpg_error (GPG_ERR_BAD_AUTH); break;
|
||||
case 413: err = gpg_error (GPG_ERR_TOO_LARGE); break;
|
||||
case 501: err = gpg_error (GPG_ERR_NOT_IMPLEMENTED); break;
|
||||
default: err = gpg_error (GPG_ERR_NO_DATA); break;
|
||||
}
|
||||
goto leave;
|
||||
}
|
||||
|
||||
|
@ -193,14 +193,16 @@ ks_http_fetch (ctrl_t ctrl, const char *url, unsigned int flags,
|
||||
}
|
||||
goto once_more;
|
||||
|
||||
case 413: /* Payload too large */
|
||||
err = gpg_error (GPG_ERR_TOO_LARGE);
|
||||
goto leave;
|
||||
|
||||
default:
|
||||
log_error (_("error accessing '%s': http status %u\n"),
|
||||
url, http_get_status_code (http));
|
||||
err = gpg_error (GPG_ERR_NO_DATA);
|
||||
switch (http_get_status_code (http))
|
||||
{
|
||||
case 401: err = gpg_error (GPG_ERR_NO_AUTH); break;
|
||||
case 407: err = gpg_error (GPG_ERR_BAD_AUTH); break;
|
||||
case 413: err = gpg_error (GPG_ERR_TOO_LARGE); break;
|
||||
default: err = gpg_error (GPG_ERR_NO_DATA); break;
|
||||
}
|
||||
goto leave;
|
||||
}
|
||||
|
||||
|
@ -288,6 +288,11 @@ main (int argc, char **argv)
|
||||
my_http_flags |= HTTP_FLAG_FORCE_TOR;
|
||||
argc--; argv++;
|
||||
}
|
||||
else if (!strcmp (*argv, "--try-proxy"))
|
||||
{
|
||||
my_http_flags |= HTTP_FLAG_TRY_PROXY;
|
||||
argc--; argv++;
|
||||
}
|
||||
else if (!strcmp (*argv, "--no-out"))
|
||||
{
|
||||
no_out = 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user