gmni: gmnlm: create cert dir on 6x response v1 APPLIED

Eyal Sawady: 1
 gmnlm: create cert dir on 6x response

 3 files changed, 9 insertions(+), 1 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~sircmpwn/gmni-devel/patches/20868/mbox | git am -3
Learn more about email & git
View this thread in the archives

[PATCH gmni] gmnlm: create cert dir on 6x response Export this patch

So that the OpenSSL command doesn't fail when the cert dir hasn't
already been created.
Once this is merged, I'll send a follow-up patch updating the other
dirname calls to use posix_dirname.
 include/util.h | 1 +
 src/gmnlm.c    | 7 +++++++
 src/util.c     | 2 +-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/include/util.h b/include/util.h
index 8ec9ac5..6c241f4 100644
--- a/include/util.h
+++ b/include/util.h
@@ -9,6 +9,7 @@ struct pathspec {

char *getpath(const struct pathspec *paths, size_t npaths);
void posix_dirname(char *path, char *dname);
int mkdirs(char *path, mode_t mode);
int download_resp(FILE *out, struct gemini_response resp, const char *path,
		char *url);
diff --git a/src/gmnlm.c b/src/gmnlm.c
index 87d6f35..1379959 100644
--- a/src/gmnlm.c
+++ b/src/gmnlm.c
@@ -510,6 +510,13 @@ do_requests(struct browser *browser, struct gemini_response *resp)
			n = snprintf(certpath, sizeof(certpath), path_fmt, host, "crt");
			assert(n < sizeof(certpath));
			n = snprintf(keypath, sizeof(keypath), path_fmt, host, "key");
			char dname[PATH_MAX + 1];
			posix_dirname(certpath, dname);
			if (mkdirs(dname, 0755) != 0) {
				fprintf(stderr, "Error creating directory %s: %s\n",
						dname, strerror(errno));
			assert(n < sizeof(keypath));
			fprintf(stderr, "The server requested a client certificate.\n"
				"Presently, this process is not automated.\n"
diff --git a/src/util.c b/src/util.c
index 1cb0bf4..8441b58 100644
--- a/src/util.c
+++ b/src/util.c
@@ -11,7 +11,7 @@
#include <sys/stat.h>
#include "util.h"

static void
posix_dirname(char *path, char *dname)
	char p[PATH_MAX+1];

To git@git.sr.ht:~sircmpwn/gmni
   93f3052..42d8022  master -> master