auth: Create cookie directory if it doesn't exist
authorArun Raghavan <arun.raghavan@collabora.co.uk>
Mon, 11 Jun 2012 07:45:00 +0000 (13:15 +0530)
committerArun Raghavan <arun.raghavan@collabora.co.uk>
Wed, 13 Jun 2012 11:07:21 +0000 (16:37 +0530)
Makes sure the cookie directory exists before trying to create the
cookie. This might be the case on freshly installed headless systems.

src/pulsecore/authkey.c

index c37d3fe..73e4f5e 100644 (file)
@@ -82,6 +82,9 @@ static int load(const char *fn, pa_bool_t create, void *data, size_t length) {
     pa_assert(data);
     pa_assert(length > 0);
 
+    if (create)
+        pa_make_secure_parent_dir(fn, pa_in_system_mode() ? 0755U : 0700U, -1, -1);
+
     if ((fd = pa_open_cloexec(fn, (create ? O_RDWR|O_CREAT : O_RDONLY)|O_BINARY, S_IRUSR|S_IWUSR)) < 0) {
 
         if (!create || errno != EACCES || (fd = open(fn, O_RDONLY|O_BINARY)) < 0) {