1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00
gnupg/agent
Werner Koch aab8a0b052
Implement /run/user/UID/gnupg based sockets.
* common/homedir.c: Include sys/stat.h and zb32.h.
(w32_portable_app, w32_bin_is_bin): Change type from int to byte.
(non_default_homedir): New.
(is_gnupg_default_homedir): New.
(default_homedir): Set non_default_homedir.
(gnupg_set_homedir): Set non_default_homedir and make
the_gnupg_homedir and absolute directory name.
(gnupg_homedir): Return an absolute directory name.
(_gnupg_socketdir_internal): New.
(gnupg_socketdir): Implement /run/user/ based sockets.
* tools/gpg-connect-agent.c (get_var_ext): Replace now obsolete
make_filename by xstrdup.
* tools/gpgconf.c (main): Sue gnupg_homedir for the "homedir:" output.
--

If a [/var]/run/user/$(id -u)/ directory exists, a gnupg subdir is
created as needed and the permissions of the directories are checked.
If that all matches that directory name is returned instead of the
homedir.

To cope with non standard homedirs (via GNUPGHOME or --homedir) the
SHA-1 hash of the homedir is computed, left truncated to 120 bits,
zBase-32 encoded, prefixed with "d.", and appended to
"[/var]/run/user/$(id -u)/gnupg/".  If that directory exists and has
proper permissions it is returned as socket dir - if not the homedir
is used.  Due to cleanup issues, this directory will not be
auto-created but needs to be created by the user in advance.

The required permissions are: directory owned by the user, group and
others bits not set.

Signed-off-by: Werner Koch <wk@gnupg.org>
2016-06-08 13:59:28 +02:00
..
agent.h Replace use of opt.homedir by accessor functions. 2016-06-07 10:59:46 +02:00
cache.c Fix typos found using codespell. 2015-11-17 12:50:22 +01:00
call-pinentry.c agent: New option --pinentry-timeout 2016-01-20 11:22:44 +01:00
call-scd.c common: New put_membuf_cb to replace static membuf_data_cb. 2016-01-08 06:33:27 +01:00
ChangeLog-2011 Fix typos 2015-10-28 10:20:17 +01:00
command-ssh.c Replace use of opt.homedir by accessor functions. 2016-06-07 10:59:46 +02:00
command.c Replace use of opt.homedir by accessor functions. 2016-06-07 10:59:46 +02:00
cvt-openpgp.c agent: Implement new protection mode openpgp-s2k3-ocb-aes. 2016-04-12 14:38:44 +02:00
cvt-openpgp.h agent: IMPORT_KEY with --force option fix. 2015-12-24 14:19:53 +09:00
divert-scd.c Fix typos found using codespell. 2015-11-17 12:50:22 +01:00
findkey.c Replace use of opt.homedir by accessor functions. 2016-06-07 10:59:46 +02:00
genkey.c agent: Implement new protection mode openpgp-s2k3-ocb-aes. 2016-04-12 14:38:44 +02:00
gpg-agent-w32info.rc w32: Add icons and version information. 2013-05-07 21:35:48 +02:00
gpg-agent.c Implement /run/user/UID/gnupg based sockets. 2016-06-08 13:59:28 +02:00
keyformat.txt common: Add support for the new extended private key format. 2016-04-21 14:38:53 +02:00
learncard.c agent: Add --force option for LEARN. 2015-04-03 17:33:11 +09:00
Makefile.am agent: Allow gpg-protect-tool to handle openpgp-native protection. 2016-04-14 12:29:29 +02:00
pkdecrypt.c agent: Replace some sprintf. 2014-12-02 14:13:53 +01:00
pksign.c agent: Fix RSA verification for card. 2016-01-05 10:15:49 +09:00
preset-passphrase.c common: New function gnupg_socketdir. 2016-06-07 13:48:46 +02:00
protect-tool.c common: Remove homedir arg from start_new_{dirmngr,gpg_agent}. 2016-06-07 13:09:00 +02:00
protect.c agent: Fix regression due to recent commit 4159567. 2016-04-14 12:29:36 +02:00
t-protect.c agent: Implement new protection mode openpgp-s2k3-ocb-aes. 2016-04-12 14:38:44 +02:00
trans.c Changed to GPLv3. 2007-07-04 19:49:40 +00:00
trustlist.c Replace use of opt.homedir by accessor functions. 2016-06-07 10:59:46 +02:00
w32main.c Fix typos found using codespell. 2015-11-17 12:50:22 +01:00
w32main.h Changed to GPLv3. 2007-07-04 19:49:40 +00:00