[pulseaudio-commits] 3 commits - man/default.pa.5.xml.in man/pax11publish.1.xml.in man/pulseaudio.1.xml.in man/pulse-client.conf.5.xml.in man/pulse-cli-syntax.5.xml.in man/pulse-daemon.conf.5.xml.in src/modules src/pulse src/pulsecore src/utils

Lennart Poettering lennart at kemper.freedesktop.org
Tue May 15 15:05:47 PDT 2012


 man/default.pa.5.xml.in              |    4 ++--
 man/pax11publish.1.xml.in            |    8 ++++----
 man/pulse-cli-syntax.5.xml.in        |    2 +-
 man/pulse-client.conf.5.xml.in       |    6 +++---
 man/pulse-daemon.conf.5.xml.in       |    8 ++++----
 man/pulseaudio.1.xml.in              |    6 +++---
 src/modules/module-esound-sink.c     |    2 +-
 src/modules/module-tunnel.c          |    2 +-
 src/modules/x11/module-x11-publish.c |    2 +-
 src/pulse/client-conf.c              |   24 ++++++++++++++++++------
 src/pulsecore/auth-cookie.c          |    4 ++--
 src/pulsecore/auth-cookie.h          |    2 +-
 src/pulsecore/authkey.c              |   14 +++++++-------
 src/pulsecore/authkey.h              |    4 ++--
 src/pulsecore/core-util.c            |   13 ++++++++++---
 src/pulsecore/native-common.h        |    3 ++-
 src/pulsecore/protocol-esound.c      |    2 +-
 src/pulsecore/protocol-native.c      |   20 ++++++++++++++++----
 src/utils/pax11publish.c             |    2 +-
 19 files changed, 80 insertions(+), 48 deletions(-)

New commits:
commit 87ae8307057944662bb8a4b638f56fa980eef48a
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue May 15 23:59:33 2012 +0200

    auth: move cookie file to ~/.config/pulse/cookie
    
    In order to follow XDG basedir, read the cookie file from
    ~/.config/pulse/cookie if possible, but fall back to the old file.
    if it doesn't exist.

diff --git a/man/pax11publish.1.xml.in b/man/pax11publish.1.xml.in
index 6ad20f7..0628b9d 100644
--- a/man/pax11publish.1.xml.in
+++ b/man/pax11publish.1.xml.in
@@ -73,7 +73,7 @@ USA.
       the <file>eval</file> shell command to set the $PULSE_SERVER,
       $PULSE_SINK, $PULSE_SOURCE environment variables. Also reads the
       authentication cookie from the root window and stores it in
-      <file>~/.pulse-cookie</file>. </p></optdesc>
+      <file>~/.config/pulse/cookie</file>. </p></optdesc>
     </option>
 
     <option>
@@ -88,7 +88,7 @@ USA.
       exist). If specific options are passed on the command line
       (<opt>-S</opt>, <opt>-O</opt>, <opt>-I</opt>, <opt>-c</opt>, see
       below), they take precedence. Also uploads the local
-      authentication cookie <file>~/.pulse-cookie</file> to the X11
+      authentication cookie <file>~/.config/pulse/cookie</file> to the X11
       server.</p></optdesc>
     </option>
 
@@ -133,7 +133,7 @@ USA.
 
       <optdesc><p>Only valid for <opt>-e</opt>: export the PulseAudio
       authentication cookie stored in the specified file to the X11
-      display instead of the one stored in <file>~/.pulse-cookie</file>.</p></optdesc>
+      display instead of the one stored in <file>~/.config/pulse/cookie</file>.</p></optdesc>
     </option>
 
   </options>
diff --git a/man/pulse-client.conf.5.xml.in b/man/pulse-client.conf.5.xml.in
index 6243a3b..45f02da 100644
--- a/man/pulse-client.conf.5.xml.in
+++ b/man/pulse-client.conf.5.xml.in
@@ -88,7 +88,7 @@ USA.
     <option>
       <p><opt>cookie-file=</opt> Specify the path to the PulseAudio
       authentication cookie. Defaults to
-      <file>~/.pulse-cookie</file>.</p>
+      <file>~/.config/pulse/cookie</file>.</p>
     </option>
 
     <option>
diff --git a/src/modules/module-esound-sink.c b/src/modules/module-esound-sink.c
index 1e26e5e..0838716 100644
--- a/src/modules/module-esound-sink.c
+++ b/src/modules/module-esound-sink.c
@@ -623,7 +623,7 @@ int pa__init(pa_module*m) {
 
     /* Prepare the initial request */
     u->write_data = pa_xmalloc(u->write_length = ESD_KEY_LEN + sizeof(int32_t));
-    if (pa_authkey_load_auto(pa_modargs_get_value(ma, "cookie", ".esd_auth"), u->write_data, ESD_KEY_LEN) < 0) {
+    if (pa_authkey_load_auto(pa_modargs_get_value(ma, "cookie", ".esd_auth"), TRUE, u->write_data, ESD_KEY_LEN) < 0) {
         pa_log("Failed to load cookie");
         goto fail;
     }
diff --git a/src/modules/module-tunnel.c b/src/modules/module-tunnel.c
index 0916717..554eecf 100644
--- a/src/modules/module-tunnel.c
+++ b/src/modules/module-tunnel.c
@@ -1971,7 +1971,7 @@ int pa__init(pa_module*m) {
     u->rtpoll = pa_rtpoll_new();
     pa_thread_mq_init(&u->thread_mq, m->core->mainloop, u->rtpoll);
 
-    if (!(u->auth_cookie = pa_auth_cookie_get(u->core, pa_modargs_get_value(ma, "cookie", PA_NATIVE_COOKIE_FILE), PA_NATIVE_COOKIE_LENGTH)))
+    if (!(u->auth_cookie = pa_auth_cookie_get(u->core, pa_modargs_get_value(ma, "cookie", PA_NATIVE_COOKIE_FILE), TRUE, PA_NATIVE_COOKIE_LENGTH)))
         goto fail;
 
     if (!(u->server_name = pa_xstrdup(pa_modargs_get_value(ma, "server", NULL)))) {
diff --git a/src/modules/x11/module-x11-publish.c b/src/modules/x11/module-x11-publish.c
index 716fe0b..643b735 100644
--- a/src/modules/x11/module-x11-publish.c
+++ b/src/modules/x11/module-x11-publish.c
@@ -157,7 +157,7 @@ int pa__init(pa_module*m) {
 
     u->hook_slot = pa_hook_connect(&pa_native_protocol_hooks(u->protocol)[PA_NATIVE_HOOK_SERVERS_CHANGED], PA_HOOK_NORMAL, servers_changed_cb, u);
 
-    if (!(u->auth_cookie = pa_auth_cookie_get(m->core, pa_modargs_get_value(ma, "cookie", PA_NATIVE_COOKIE_FILE), PA_NATIVE_COOKIE_LENGTH)))
+    if (!(u->auth_cookie = pa_auth_cookie_get(m->core, pa_modargs_get_value(ma, "cookie", PA_NATIVE_COOKIE_FILE), TRUE, PA_NATIVE_COOKIE_LENGTH)))
         goto fail;
 
     if (!(u->x11_wrapper = pa_x11_wrapper_get(m->core, pa_modargs_get_value(ma, "display", NULL))))
diff --git a/src/pulse/client-conf.c b/src/pulse/client-conf.c
index e2c2aae..781fdf9 100644
--- a/src/pulse/client-conf.c
+++ b/src/pulse/client-conf.c
@@ -71,7 +71,7 @@ pa_client_conf *pa_client_conf_new(void) {
 
     c->daemon_binary = pa_xstrdup(PA_BINARY);
     c->extra_arguments = pa_xstrdup("--log-target=syslog");
-    c->cookie_file = pa_xstrdup(PA_NATIVE_COOKIE_FILE);
+    c->cookie_file = NULL;
 
     return c;
 }
@@ -178,15 +178,27 @@ int pa_client_conf_env(pa_client_conf *c) {
 }
 
 int pa_client_conf_load_cookie(pa_client_conf* c) {
-    pa_assert(c);
+    int k;
 
-    if (!c->cookie_file)
-        return -1;
+    pa_assert(c);
 
     c->cookie_valid = FALSE;
 
-    if (pa_authkey_load_auto(c->cookie_file, c->cookie, sizeof(c->cookie)) < 0)
-        return -1;
+    if (c->cookie_file)
+        k = pa_authkey_load_auto(c->cookie_file, TRUE, c->cookie, sizeof(c->cookie));
+    else {
+        k = pa_authkey_load_auto(PA_NATIVE_COOKIE_FILE, FALSE, c->cookie, sizeof(c->cookie));
+
+        if (k < 0) {
+            k = pa_authkey_load_auto(PA_NATIVE_COOKIE_FILE_FALLBACK, FALSE, c->cookie, sizeof(c->cookie));
+
+            if (k < 0)
+                k = pa_authkey_load_auto(PA_NATIVE_COOKIE_FILE, TRUE, c->cookie, sizeof(c->cookie));
+        }
+    }
+
+    if (k < 0)
+        return k;
 
     c->cookie_valid = TRUE;
     return 0;
diff --git a/src/pulsecore/auth-cookie.c b/src/pulsecore/auth-cookie.c
index 0897502..97ea351 100644
--- a/src/pulsecore/auth-cookie.c
+++ b/src/pulsecore/auth-cookie.c
@@ -42,7 +42,7 @@ struct pa_auth_cookie {
     size_t size;
 };
 
-pa_auth_cookie* pa_auth_cookie_get(pa_core *core, const char *cn, size_t size) {
+pa_auth_cookie* pa_auth_cookie_get(pa_core *core, const char *cn, pa_bool_t create, size_t size) {
     pa_auth_cookie *c;
     char *t;
 
@@ -69,7 +69,7 @@ pa_auth_cookie* pa_auth_cookie_get(pa_core *core, const char *cn, size_t size) {
 
     pa_assert_se(pa_shared_set(core, t, c) >= 0);
 
-    if (pa_authkey_load_auto(cn, (uint8_t*) c + PA_ALIGN(sizeof(pa_auth_cookie)), size) < 0) {
+    if (pa_authkey_load_auto(cn, create, (uint8_t*) c + PA_ALIGN(sizeof(pa_auth_cookie)), size) < 0) {
         pa_auth_cookie_unref(c);
         return NULL;
     }
diff --git a/src/pulsecore/auth-cookie.h b/src/pulsecore/auth-cookie.h
index 3db40bc..5f871b1 100644
--- a/src/pulsecore/auth-cookie.h
+++ b/src/pulsecore/auth-cookie.h
@@ -26,7 +26,7 @@
 
 typedef struct pa_auth_cookie pa_auth_cookie;
 
-pa_auth_cookie* pa_auth_cookie_get(pa_core *c, const char *cn, size_t size);
+pa_auth_cookie* pa_auth_cookie_get(pa_core *c, const char *cn, pa_bool_t create, size_t size);
 pa_auth_cookie* pa_auth_cookie_ref(pa_auth_cookie *c);
 void pa_auth_cookie_unref(pa_auth_cookie *c);
 
diff --git a/src/pulsecore/authkey.c b/src/pulsecore/authkey.c
index ac81513..c37d3fe 100644
--- a/src/pulsecore/authkey.c
+++ b/src/pulsecore/authkey.c
@@ -72,7 +72,7 @@ static int generate(int fd, void *ret_data, size_t length) {
 
 /* Load an authorization cookie from file fn and store it in data. If
  * the cookie file doesn't exist, create it */
-static int load(const char *fn, void *data, size_t length) {
+static int load(const char *fn, pa_bool_t create, void *data, size_t length) {
     int fd = -1;
     int writable = 1;
     int unlock = 0, ret = -1;
@@ -82,9 +82,9 @@ static int load(const char *fn, void *data, size_t length) {
     pa_assert(data);
     pa_assert(length > 0);
 
-    if ((fd = pa_open_cloexec(fn, O_RDWR|O_CREAT|O_BINARY, S_IRUSR|S_IWUSR)) < 0) {
+    if ((fd = pa_open_cloexec(fn, (create ? O_RDWR|O_CREAT : O_RDONLY)|O_BINARY, S_IRUSR|S_IWUSR)) < 0) {
 
-        if (errno != EACCES || (fd = open(fn, O_RDONLY|O_BINARY)) < 0) {
+        if (!create || errno != EACCES || (fd = open(fn, O_RDONLY|O_BINARY)) < 0) {
             pa_log_warn("Failed to open cookie file '%s': %s", fn, pa_cstrerror(errno));
             goto finish;
         } else
@@ -129,14 +129,14 @@ finish:
 }
 
 /* Load a cookie from a cookie file. If the file doesn't exist, create it. */
-int pa_authkey_load(const char *path, void *data, size_t length) {
+int pa_authkey_load(const char *path, pa_bool_t create, void *data, size_t length) {
     int ret;
 
     pa_assert(path);
     pa_assert(data);
     pa_assert(length > 0);
 
-    if ((ret = load(path, data, length)) < 0)
+    if ((ret = load(path, create, data, length)) < 0)
         pa_log_warn("Failed to load authorization key '%s': %s", path, (ret < 0) ? pa_cstrerror(errno) : "File corrupt");
 
     return ret;
@@ -169,7 +169,7 @@ static char *normalize_path(const char *fn) {
 
 /* Load a cookie from a file in the home directory. If the specified
  * path starts with /, use it as absolute path instead. */
-int pa_authkey_load_auto(const char *fn, void *data, size_t length) {
+int pa_authkey_load_auto(const char *fn, pa_bool_t create, void *data, size_t length) {
     char *p;
     int ret;
 
@@ -180,7 +180,7 @@ int pa_authkey_load_auto(const char *fn, void *data, size_t length) {
     if (!(p = normalize_path(fn)))
         return -2;
 
-    ret = pa_authkey_load(p, data, length);
+    ret = pa_authkey_load(p, create, data, length);
     pa_xfree(p);
 
     return ret;
diff --git a/src/pulsecore/authkey.h b/src/pulsecore/authkey.h
index 8301db1..22ec990 100644
--- a/src/pulsecore/authkey.h
+++ b/src/pulsecore/authkey.h
@@ -24,8 +24,8 @@
 
 #include <sys/types.h>
 
-int pa_authkey_load(const char *path, void *data, size_t len);
-int pa_authkey_load_auto(const char *fn, void *data, size_t length);
+int pa_authkey_load(const char *path, pa_bool_t create, void *data, size_t len);
+int pa_authkey_load_auto(const char *fn, pa_bool_t create, void *data, size_t length);
 
 int pa_authkey_save(const char *path, const void *data, size_t length);
 
diff --git a/src/pulsecore/native-common.h b/src/pulsecore/native-common.h
index 5d1ba6a..8fde023 100644
--- a/src/pulsecore/native-common.h
+++ b/src/pulsecore/native-common.h
@@ -177,7 +177,8 @@ enum {
 };
 
 #define PA_NATIVE_COOKIE_LENGTH 256
-#define PA_NATIVE_COOKIE_FILE ".pulse-cookie"
+#define PA_NATIVE_COOKIE_FILE ".config/pulse/cookie"
+#define PA_NATIVE_COOKIE_FILE_FALLBACK ".pulse-cookie"
 
 #define PA_NATIVE_DEFAULT_PORT 4713
 
diff --git a/src/pulsecore/protocol-esound.c b/src/pulsecore/protocol-esound.c
index 4e1c56c..00ea000 100644
--- a/src/pulsecore/protocol-esound.c
+++ b/src/pulsecore/protocol-esound.c
@@ -1711,7 +1711,7 @@ int pa_esound_options_parse(pa_esound_options *o, pa_core *c, pa_modargs *ma) {
             if (!(cn = pa_modargs_get_value(ma, "cookie", NULL)))
                 cn = DEFAULT_COOKIE_FILE;
 
-        if (!(o->auth_cookie = pa_auth_cookie_get(c, cn, ESD_KEY_LEN)))
+        if (!(o->auth_cookie = pa_auth_cookie_get(c, cn, TRUE, ESD_KEY_LEN)))
             return -1;
 
     } else
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
index 41fc0a0..396e143 100644
--- a/src/pulsecore/protocol-native.c
+++ b/src/pulsecore/protocol-native.c
@@ -5215,11 +5215,23 @@ int pa_native_options_parse(pa_native_options *o, pa_core *c, pa_modargs *ma) {
 
         /* The new name for this is 'auth-cookie', for compat reasons
          * we check the old name too */
-        if (!(cn = pa_modargs_get_value(ma, "auth-cookie", NULL)))
-            if (!(cn = pa_modargs_get_value(ma, "cookie", NULL)))
-                cn = PA_NATIVE_COOKIE_FILE;
+        cn = pa_modargs_get_value(ma, "auth-cookie", NULL);
+        if (!cn)
+            cn = pa_modargs_get_value(ma, "cookie", NULL);
 
-        if (!(o->auth_cookie = pa_auth_cookie_get(c, cn, PA_NATIVE_COOKIE_LENGTH)))
+        if (cn)
+            o->auth_cookie = pa_auth_cookie_get(c, cn, TRUE, PA_NATIVE_COOKIE_LENGTH);
+        else {
+            o->auth_cookie = pa_auth_cookie_get(c, PA_NATIVE_COOKIE_FILE, FALSE, PA_NATIVE_COOKIE_LENGTH);
+            if (!o->auth_cookie) {
+                o->auth_cookie = pa_auth_cookie_get(c, PA_NATIVE_COOKIE_FILE_FALLBACK, FALSE, PA_NATIVE_COOKIE_LENGTH);
+
+                if (!o->auth_cookie)
+                    o->auth_cookie = pa_auth_cookie_get(c, PA_NATIVE_COOKIE_FILE, TRUE, PA_NATIVE_COOKIE_LENGTH);
+            }
+        }
+
+        if (!o->auth_cookie)
             return -1;
 
     } else
diff --git a/src/utils/pax11publish.c b/src/utils/pax11publish.c
index d3ffc78..0f9a030 100644
--- a/src/utils/pax11publish.c
+++ b/src/utils/pax11publish.c
@@ -195,7 +195,7 @@ int main(int argc, char *argv[]) {
 
             pa_client_conf_free(conf);
 
-            if (pa_authkey_load_auto(cookie_file, cookie, sizeof(cookie)) < 0) {
+            if (pa_authkey_load_auto(cookie_file, cookie, TRUE, sizeof(cookie)) < 0) {
                 fprintf(stderr, _("Failed to load cookie data\n"));
                 goto finish;
             }

commit 9ab510a69216b468c80acad92a0e2360ffccfea2
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue May 15 23:25:00 2012 +0200

    core-util: when searching for configuration files, honour XDG basedir spec

diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
index e6c21be..82480c6 100644
--- a/src/pulsecore/core-util.c
+++ b/src/pulsecore/core-util.c
@@ -1792,15 +1792,22 @@ FILE *pa_open_config_file(const char *global, const char *local, const char *env
         char *lfn;
         char *h;
 
-        if ((e = getenv("PULSE_CONFIG_PATH")))
+        if ((e = getenv("PULSE_CONFIG_PATH"))) {
             fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", e, local);
-        else if ((h = pa_get_home_dir_malloc())) {
+            f = pa_fopen_cloexec(fn, "r");
+        } else if ((h = pa_get_home_dir_malloc())) {
             fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse" PA_PATH_SEP "%s", h, local);
+            f = pa_fopen_cloexec(fn, "r");
+            if (!f) {
+                free(lfn);
+                fn = lfn = pa_sprintf_malloc("%s" PA_PATH_SEP ".config/pulse" PA_PATH_SEP "%s", h, local);
+                f = pa_fopen_cloexec(fn, "r");
+            }
             pa_xfree(h);
         } else
             return NULL;
 
-        if ((f = pa_fopen_cloexec(fn, "r"))) {
+        if (f) {
             if (result)
                 *result = pa_xstrdup(fn);
 

commit 4bc865ad6ea8e566cc95f6abb39d1028d9c652a1
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue May 15 23:24:09 2012 +0200

    man: update man pages to only refer to the new place for the configuration files

diff --git a/man/default.pa.5.xml.in b/man/default.pa.5.xml.in
index fb5b2d2..8159593 100644
--- a/man/default.pa.5.xml.in
+++ b/man/default.pa.5.xml.in
@@ -24,14 +24,14 @@ USA.
 <manpage name="default.pa" section="5" desc="PulseAudio Sound Server Startup Script">
 
   <synopsis>
-    <p><file>~/.pulse/default.pa</file></p>
+    <p><file>~/.config/pulse/default.pa</file></p>
 
     <p><file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file></p>
   </synopsis>
 
   <description>
     <p>The PulseAudio sound server interprets the file
-    <file>~/.pulse/default.pa</file> on startup, and when that file
+    <file>~/.config/pulse/default.pa</file> on startup, and when that file
     doesn't exist <file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file>. It
     should contain directives in the PulseAudio CLI languages, as
     documented in <manref name="pulse-cli-syntax" section="5"/>.</p>
diff --git a/man/pax11publish.1.xml.in b/man/pax11publish.1.xml.in
index be9ce0b..6ad20f7 100644
--- a/man/pax11publish.1.xml.in
+++ b/man/pax11publish.1.xml.in
@@ -83,7 +83,7 @@ USA.
       sink, source configuration to the X11 root window. This takes
       the data from the $PULSE_SERVER, $PULSE_SINK, $PULSE_SOURCE
       environment variables and combines them with the data from
-      <file>~/.pulse/client.conf</file> (or
+      <file>~/.config/pulse/client.conf</file> (or
       <file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file> if that file does not
       exist). If specific options are passed on the command line
       (<opt>-S</opt>, <opt>-O</opt>, <opt>-I</opt>, <opt>-c</opt>, see
diff --git a/man/pulse-cli-syntax.5.xml.in b/man/pulse-cli-syntax.5.xml.in
index dffb4a9..9d3f278 100644
--- a/man/pulse-cli-syntax.5.xml.in
+++ b/man/pulse-cli-syntax.5.xml.in
@@ -24,7 +24,7 @@ USA.
 <manpage name="pulse-cli-syntax" section="5" desc="PulseAudio Command Line Interface Syntax">
 
   <synopsis>
-    <p><file>~/.pulse/default.pa</file></p>
+    <p><file>~/.config/pulse/default.pa</file></p>
     <p><file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file></p>
     <p><file>@PA_DEFAULT_CONFIG_DIR@/system.pa</file></p>
   </synopsis>
diff --git a/man/pulse-client.conf.5.xml.in b/man/pulse-client.conf.5.xml.in
index dc9ae0b..6243a3b 100644
--- a/man/pulse-client.conf.5.xml.in
+++ b/man/pulse-client.conf.5.xml.in
@@ -24,14 +24,14 @@ USA.
 <manpage name="pulse-client.conf" section="5" desc="PulseAudio client configuration file">
 
   <synopsis>
-    <p><file>~/.pulse/client.conf</file></p>
+    <p><file>~/.config/pulse/client.conf</file></p>
 
     <p><file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file></p>
   </synopsis>
 
   <description>
     <p>The PulseAudio client library reads configuration directives from
-    a file <file>~/.pulse/client.conf</file> on startup and when that
+    a file <file>~/.config/pulse/client.conf</file> on startup and when that
     file doesn't exist from
     <file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file>.</p>
 
diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in
index 79f970e..47318e2 100644
--- a/man/pulse-daemon.conf.5.xml.in
+++ b/man/pulse-daemon.conf.5.xml.in
@@ -24,14 +24,14 @@ USA.
 <manpage name="pulse-daemon.conf" section="5" desc="PulseAudio daemon configuration file">
 
   <synopsis>
-    <p><file>~/.pulse/daemon.conf</file></p>
+    <p><file>~/.config/pulse/daemon.conf</file></p>
 
     <p><file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf</file></p>
   </synopsis>
 
   <description>
     <p>The PulseAudio sound server reads configuration directives from
-    a file <file>~/.pulse/daemon.conf</file> on startup and when that
+    a file <file>~/.config/pulse/daemon.conf</file> on startup and when that
     file doesn't exist from
     <file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf</file>. Please note that the
     server also reads a configuration script on startup
@@ -124,7 +124,7 @@ USA.
 
     <option>
       <p><opt>use-pid-file=</opt> Create a PID file in the runtime directory
-      (<file>$HOME/.pulse/*-runtime/pid</file>). If this is enabled you may
+      (<file>$XDG_RUNTIMEDIR/pulse/pid</file>). If this is enabled you may
       use commands like <opt>--kill</opt> or <opt>--check</opt>. If
       you are planning to start more than one PulseAudio process per
       user, you better disable this option since it effectively
@@ -276,7 +276,7 @@ USA.
       <p><opt>default-script-file=</opt> The default configuration
       script file to load. Specify an empty string for not loading a
       default script file. The default behaviour is to load
-      <file>~/.pulse/default.pa</file>, and if that file does not
+      <file>~/.config/pulse/default.pa</file>, and if that file does not
       exist fall back to the system wide installed version
       <file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file>. If run in system-wide
       mode the file <file>@PA_DEFAULT_CONFIG_DIR@/system.pa</file> is used
diff --git a/man/pulseaudio.1.xml.in b/man/pulseaudio.1.xml.in
index 3b34f25..c556bda 100644
--- a/man/pulseaudio.1.xml.in
+++ b/man/pulseaudio.1.xml.in
@@ -326,21 +326,21 @@ USA.
 
   <section name="Files">
 
-    <p><file>~/.pulse/daemon.conf</file>,
+    <p><file>~/.config/pulse/daemon.conf</file>,
     <file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf</file>: configuration settings
     for the PulseAudio daemon. If the version in the user's home
     directory does not exist the global configuration file is
     loaded. See <manref name="pulse-daemon.conf" section="5"/> for
     more information.</p>
 
-    <p><file>~/.pulse/default.pa</file>,
+    <p><file>~/.config/pulse/default.pa</file>,
     <file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file>: the default configuration
     script to execute when the PulseAudio daemon is started. If the
     version in the user's home directory does not exist the global
     configuration script is loaded. See <manref name="default.pa"
     section="5"/> for more information.</p>
 
-    <p><file>~/.pulse/client.conf</file>,
+    <p><file>~/.config/pulse/client.conf</file>,
     <file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file>: configuration settings
     for PulseAudio client applications. If the version in the user's
     home directory does not exist the global configuration file is



More information about the pulseaudio-commits mailing list