exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 4baecd4856460a73eb2f0090dfbbe4719972f0c9
parent 21f3412ac7347e1252a4bbf228d81b4b5753c6cc
Author: Florian Dold <florian@dold.me>
Date:   Wed,  4 Aug 2021 20:54:03 +0200

call chmod on path, not on whole sock addr

Diffstat:
Mdebian/changelog | 6++++++
Msrc/util/crypto_helper_denom.c | 19++++++++++++++-----
Msrc/util/crypto_helper_esign.c | 8++++----
3 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/debian/changelog b/debian/changelog @@ -1,3 +1,9 @@ +taler-exchange (0.9.0-25) unstable; urgency=low + + * Socket permissions + + -- Florian Dold <dold@taler.net> Wed, 04 Aug 2021 20:54:31 +0200 + taler-exchange (0.9.0-24) unstable; urgency=low * Service dependencies. diff --git a/src/util/crypto_helper_denom.c b/src/util/crypto_helper_denom.c @@ -152,12 +152,21 @@ try_connect (struct TALER_CRYPTO_DenominationHelper *dh) sizeof (dh->my_sa)); path[sizeof (dh->my_sa)] = '\0'; - if (0 != chmod (path, - S_IRUSR | S_IWUSR | S_IWGRP)) { - GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, - "chmod", - path); + char path[sizeof (dh->sa.sun_path) + 1]; + + strncpy (path, + dh->my_sa.sun_path, + sizeof (dh->my_sa.sun_path)); + path[sizeof (dh->my_sa.sun_path)] = '\0'; + + if (0 != chmod (path, + S_IRUSR | S_IWUSR | S_IWGRP)) + { + GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, + "chmod", + path); + } } } GNUNET_free (tmpdir); diff --git a/src/util/crypto_helper_esign.c b/src/util/crypto_helper_esign.c @@ -146,12 +146,12 @@ try_connect (struct TALER_CRYPTO_ExchangeSignHelper *esh) /* Fix permissions on client UNIX domain socket, just in case umask() is not set to enable group write */ { - char path[sizeof (esh->my_sa) + 1]; + char path[sizeof (esh->sa.sun_path) + 1]; strncpy (path, - (const char *) &esh->my_sa, - sizeof (esh->my_sa)); - path[sizeof (esh->my_sa)] = '\0'; + esh->my_sa.sun_path, + sizeof (esh->my_sa.sun_path)); + path[sizeof (esh->my_sa.sun_path)] = '\0'; if (0 != chmod (path, S_IRUSR | S_IWUSR | S_IWGRP))