Commit Diff


commit - 6cdfa3a8453cafda65540a440108a4801b889a06
commit + 329a6aa7fb5d28302b8d0ce79cbcfce5741d06ca
blob - 051031983bbd183916ce00e35a404466f2bd3a51
blob + ac01cf603e2090b0c97aa789ce265be2acd8eda7
--- gotd/gotd.c
+++ gotd/gotd.c
@@ -2181,11 +2181,12 @@ main(int argc, char **argv)
 #endif
 		if (proc_id == PROC_SESSION_READ)
 			apply_unveil_repo_readonly(repo_path, 1);
-		else
+		else {
 			apply_unveil_repo_readwrite(repo_path);
-		repo = gotd_find_repo_by_path(repo_path, &gotd);
-		if (repo == NULL)
-			fatalx("no repository for path %s", repo_path);
+			repo = gotd_find_repo_by_path(repo_path, &gotd);
+			if (repo == NULL)
+				fatalx("no repository for path %s", repo_path);
+		}
 		session_main(title, repo_path, pack_fds, temp_fds,
 		    &gotd.request_timeout, repo, proc_id);
 		/* NOTREACHED */
blob - 8006593f4b6573db6b15a7b3f726a26d0f4a6ecd
blob + a8cbc43440c0adfd27dc6521b730726789ee9f41
--- gotd/parse.y
+++ gotd/parse.y
@@ -638,6 +638,7 @@ repository	: REPOSITORY STRING {
 			if (gotd_proc_id == PROC_GOTD ||
 			    gotd_proc_id == PROC_AUTH ||
 			    gotd_proc_id == PROC_REPO_WRITE ||
+			    gotd_proc_id == PROC_SESSION_WRITE ||
 			    gotd_proc_id == PROC_GITWRAPPER |
 			    gotd_proc_id == PROC_NOTIFY) {
 				new_repo = conf_new_repo($2);
@@ -651,6 +652,7 @@ repoopts1	: PATH STRING {
 			if (gotd_proc_id == PROC_GOTD ||
 			    gotd_proc_id == PROC_AUTH ||
 			    gotd_proc_id == PROC_REPO_WRITE ||
+			    gotd_proc_id == PROC_SESSION_WRITE ||
 			    gotd_proc_id == PROC_GITWRAPPER ||
 			    gotd_proc_id == PROC_NOTIFY) {
 				if (!got_path_is_absolute($2)) {