dirmngr: Better error code for http status 413.
authorWerner Koch <wk@gnupg.org>
Fri, 29 Mar 2019 13:20:47 +0000 (14:20 +0100)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Fri, 1 Jul 2022 16:06:43 +0000 (17:06 +0100)
* dirmngr/ks-engine-hkp.c (send_request): New case for 413.
* dirmngr/ks-engine-http.c (ks_http_fetch): Ditto.
* dirmngr/ocsp.c (do_ocsp_request): Ditto.
--

Signed-off-by: Werner Koch <wk@gnupg.org>
(cherry picked from commit 0a30ce036a615bc95382e0640d185b031f8c6a63)

Gbp-Pq: Topic from-2.2.16
Gbp-Pq: Name dirmngr-Better-error-code-for-http-status-413.patch

dirmngr/ks-engine-hkp.c
dirmngr/ks-engine-http.c
dirmngr/ocsp.c

index 68d20642982daf70079da1d6e7b66109ff1801d8..8754a6bf8c80228cb3cb1b76865934be2361fd23 100644 (file)
@@ -1266,6 +1266,10 @@ send_request (ctrl_t ctrl, const char *request, const char *hostportstr,
       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));
index 1abb3501d78b1b6362b79325557c10e1d6848915..a9600dbca3bbadff4a47ddf2bd8dfb86e5e51d10 100644 (file)
@@ -174,6 +174,10 @@ 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));
index 2067b7ba0fa25e69d95e2e1bb598c31a339be453..7edac804f2d627fe8960adf0b4364712c2c57684 100644 (file)
@@ -238,6 +238,10 @@ do_ocsp_request (ctrl_t ctrl, ksba_ocsp_t ocsp, gcry_md_hd_t md,
               }
               break;
 
+            case 413:  /* Payload too large */
+              err = gpg_error (GPG_ERR_TOO_LARGE);
+              break;
+
             default:
               log_error (_("error accessing '%s': http status %u\n"),
                          url, http_get_status_code (http));