On Tue, 16.03.10 08:38, Rex Dieter (rdie...@math.unl.edu) wrote: > > Juha Tuomala wrote: > > > https://bugs.kde.org/show_bug.cgi?id=179006#c5 > >> in the current version of Akonadi server you can specify a custom > >> socket path by entering > >> > >> [Connection] > >> SocketDirectory=/tmp/akonadi-myuser/ > >> > >> into $HOME/.config/akonadi/akonadiserverrc > > > > How about setting that as default, away from $HOME that can be a NFS > > filesystem? > > Indeed, a solution similar to kde's > ~/.kde/socket-<hostname> => /tmp/ksocket-<username> > symlink is likely needed here too.
If KDE really does this, it is really broken. <hostname> is unsuitable for use cases like this, since on many Fedora/RH systems it is just "localhost". And then very often it is highly dynamic, sometimes even changing with DHCP. If you want to identify a machine, use the D-Bus machine id. If you don't want to link against the libdbus libraries (which you probably should), then at least read /var/lib/dbus/machine-id and use that (possibly with a fallback to the hostname, in case the admin is a nut). The dbus machine id is the only suitable ID for usecases like this: it is static, bound to the installation, and widely available. In addition to this <username> is unsuitable for use cases like this too, since it opens the door to DoS attacks by other users since they can guess you socket path and create the socket and hence make it impossible for you to use it. If you want to do this properly, do something like this: ~/.kde/socket-<dbusid> → /tmp/ksocket-<random>/socket Lennart -- Lennart Poettering Red Hat, Inc. lennart [at] poettering [dot] net http://0pointer.net/lennart/ GnuPG 0x1A015CC4 -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel