summaryrefslogtreecommitdiff
path: root/http.c
diff options
context:
space:
mode:
authorGravatar default2023-01-08 10:02:31 +0100
committerGravatar default2023-01-08 10:02:31 +0100
commit448c4ad7a26fbfac3f9bf68861672c4833cf72a2 (patch)
tree01ed086310881d726cb4e61fe1bf5ad302ac2f0a /http.c
parentMinor refactor to check_signature(). (diff)
downloadpenes-snac2-448c4ad7a26fbfac3f9bf68861672c4833cf72a2.tar.gz
penes-snac2-448c4ad7a26fbfac3f9bf68861672c4833cf72a2.tar.xz
penes-snac2-448c4ad7a26fbfac3f9bf68861672c4833cf72a2.zip
The headers of signature errors are archived in the ~/error directory (if exists).
Diffstat (limited to 'http.c')
-rw-r--r--http.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/http.c b/http.c
index 26ded53..18c4e47 100644
--- a/http.c
+++ b/http.c
@@ -7,6 +7,7 @@
7#include "xs_openssl.h" 7#include "xs_openssl.h"
8#include "xs_curl.h" 8#include "xs_curl.h"
9#include "xs_time.h" 9#include "xs_time.h"
10#include "xs_json.h"
10 11
11#include "snac.h" 12#include "snac.h"
12 13
@@ -210,5 +211,18 @@ int check_signature(snac *snac, char *req)
210 return 1; 211 return 1;
211 212
212error: 213error:
214 {
215 xs *ntid = tid(0);
216 xs *fn = xs_fmt("%s/error/check_signature_%s.json", snac->basedir, ntid);
217 FILE *f;
218
219 if ((f = fopen(fn, "w")) != NULL) {
220 xs *j = xs_json_dumps_pp(req, 4);
221
222 fwrite(j, strlen(j), 1, f);
223 fclose(f);
224 }
225 }
226
213 return 0; 227 return 0;
214} 228}