static uid_t us;
static const char *run_base, *script, *socket_path;
+static const char *run_base_mkdir_p;
static int stderr_copy;
static bool find_run_base_var_run(void) {
if (sizeof(ut.nodename) > 32)
ut.nodename[32] = 0;
- try = m_asprintf("%s/%s/%s", pw->pw_dir, ".cgi-fcgi-interp", ut.nodename);
+ run_base_mkdir_p = m_asprintf("%s/%s", pw->pw_dir, ".cgi-fcgi-interp");
+ try = m_asprintf("%/%s", run_base_mkdir_p, ut.nodename);
run_base = try;
return 1;
}
run_base, ident, maxidentlen);
r = mkdir(run_base, 0700);
+ if (r && errno==ENOENT && run_base_mkdir_p) {
+ r = mkdir(run_base_mkdir_p, 0700);
+ if (r) err(127,"mkdir %s (since %s was ENOENT)",run_base_mkdir_p,run_base);
+ r = mkdir(run_base, 0700);
+ }
if (r) {
if (!(errno == EEXIST))
err(127,"mkdir %s",run_base);
+chiark-utils (4.5.0~iwj2) UNRELEASED; urgency=medium
+
+ * cgi-fcgi-interp: mkdir ~/.cgi-fcgi-interp if necessary.
+
+ -- Ian Jackson <ijackson@chiark.greenend.org.uk> Tue, 29 Mar 2016 23:09:45 +0100
+
chiark-utils (4.5.0~iwj1) UNRELEASED; urgency=medium
* New script `git-branchmove'.