diff options
author | Werner Koch <[email protected]> | 2023-09-19 14:14:01 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2023-09-26 12:10:42 +0000 |
commit | 668deeded9742e811a786f97a917c59793fcd9ff (patch) | |
tree | eae11884b8c5461982de40bc51f33b446fbc7b51 /dirmngr/ks-engine-hkp.c | |
parent | dirmngr: Implement automatic proxy detection on Windows. (diff) | |
download | gnupg-668deeded9742e811a786f97a917c59793fcd9ff.tar.gz gnupg-668deeded9742e811a786f97a917c59793fcd9ff.zip |
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.
Diffstat (limited to 'dirmngr/ks-engine-hkp.c')
-rw-r--r-- | dirmngr/ks-engine-hkp.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/dirmngr/ks-engine-hkp.c b/dirmngr/ks-engine-hkp.c index 66291bc02..a75cc1aee 100644 --- a/dirmngr/ks-engine-hkp.c +++ b/dirmngr/ks-engine-hkp.c @@ -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; } |