All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Uzel <petr.uzel@suse.cz>
To: util-linux@vger.kernel.org
Subject: [PATCH 15/20] libuuid: implement --disable-libuuid-exec-uuidd configure option
Date: Thu, 29 Mar 2012 18:45:23 +0200	[thread overview]
Message-ID: <1333039528-24784-16-git-send-email-petr.uzel@suse.cz> (raw)
In-Reply-To: <1333039528-24784-1-git-send-email-petr.uzel@suse.cz>

This option prevents libuuid from attempting to spawn uuidd. This
is intended to be used in conjunction with socket-activated uuidd.

Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
---
 configure.ac           |   12 ++++++++++++
 libuuid/src/gen_uuid.c |    9 +++++++++
 2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/configure.ac b/configure.ac
index 8f89639..05e024a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1123,6 +1123,18 @@ fi
 AM_CONDITIONAL(WITH_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != "xno" ])
 
 
+AC_ARG_ENABLE([libuuid-exec-uuidd],
+  AS_HELP_STRING([--disable-libuuid-exec-uuidd], [disable spawning of uuidd from libuuid library]),
+  [], enable_libuuid_exec_uuidd=yes
+)
+
+AM_CONDITIONAL(LIBUUID_EXEC_UUIDD, test "x$enable_libuuid_exec_uuidd" = xyes)
+
+if test "x$enable_libuuid_exec_uuidd" = xyes; then
+  AC_DEFINE(LIBUUID_EXEC_UUIDD, 1, [Should libuuid attempt to exec uuidd daemon?])
+fi
+
+
 AC_ARG_ENABLE([login-stat-mail],
   AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
   [], enable_login_stat_mail=no
diff --git a/libuuid/src/gen_uuid.c b/libuuid/src/gen_uuid.c
index 29211b9..0a75137 100644
--- a/libuuid/src/gen_uuid.c
+++ b/libuuid/src/gen_uuid.c
@@ -452,6 +452,7 @@ static ssize_t read_all(int fd, char *buf, size_t count)
 	return c;
 }
 
+#ifdef LIBUUID_EXEC_UUIDD
 /*
  * Close all file descriptors
  */
@@ -478,6 +479,7 @@ static void close_all_fds(void)
 			open("/dev/null", O_RDWR);
 	}
 }
+#endif
 
 /*
  * Try using the uuidd daemon to generate the UUID
@@ -495,8 +497,10 @@ static int get_uuid_via_daemon(int op, uuid_t out, int *num)
 	struct stat st;
 	pid_t pid;
 	static const char *uuidd_path = UUIDD_PATH;
+#ifdef LIBUUID_EXEC_UUIDD
 	static int access_ret = -2;
 	static int start_attempts = 0;
+#endif
 
 	if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
 		return -1;
@@ -506,6 +510,7 @@ static int get_uuid_via_daemon(int op, uuid_t out, int *num)
 
 	if (connect(s, (const struct sockaddr *) &srv_addr,
 		    sizeof(struct sockaddr_un)) < 0) {
+#ifdef LIBUUID_EXEC_UUIDD
 		if (access_ret == -2)
 			access_ret = access(uuidd_path, X_OK);
 		if (access_ret == 0)
@@ -525,7 +530,11 @@ static int get_uuid_via_daemon(int op, uuid_t out, int *num)
 				goto fail;
 		} else
 			goto fail;
+#else
+		goto fail;
+#endif
 	}
+
 	op_buf[0] = op;
 	op_len = 1;
 	if (op == UUIDD_OP_BULK_TIME_UUID) {
-- 
1.7.7


  parent reply	other threads:[~2012-03-29 16:45 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-29 16:45 [PATCH 00/20] *** uuidd: refactoring & systemd support + build-sys fixes *** Petr Uzel
2012-03-29 16:45 ` [PATCH 01/20] uuidd: use UUIDD_OP_GETPID instead of magic number Petr Uzel
2012-03-29 16:45 ` [PATCH 02/20] uuidd: remove useless initialization of cleanup_socket Petr Uzel
2012-03-29 16:45 ` [PATCH 03/20] uuidd: factor out pidfile creation into separate function Petr Uzel
2012-03-29 16:45 ` [PATCH 04/20] uuidd: implement --no-pid option Petr Uzel
2012-04-03 12:51   ` Karel Zak
2012-04-05  7:36     ` Petr Uzel
2012-03-29 16:45 ` [PATCH 05/20] uuidd: implement --no-fork option Petr Uzel
2012-03-29 16:45 ` [PATCH 06/20] uuidd: factor out socket creation into separate function Petr Uzel
2012-03-29 16:45 ` [PATCH 07/20] uuidd: implement --socket-activation option Petr Uzel
2012-04-03 13:03   ` Karel Zak
2012-04-05  7:46     ` Petr Uzel
2012-03-29 16:45 ` [PATCH 08/20] uuidd: print all debugging information to stderr Petr Uzel
2012-03-29 16:45 ` [PATCH 09/20] uuidd: factor out dropping of privileges into separate function Petr Uzel
2012-03-29 16:45 ` [PATCH 10/20] uuidd: make drop_privs true by default in main() Petr Uzel
2012-03-29 21:29   ` Ted Ts'o
2012-03-31 16:38     ` Petr Uzel
2012-03-29 16:45 ` [PATCH 11/20] uuidd: introduce --keep-privs option Petr Uzel
2012-04-03 13:32   ` Karel Zak
2012-04-05  7:48     ` Petr Uzel
2012-03-29 16:45 ` [PATCH 12/20] uuidd: --socket-activation implies --keep-privs Petr Uzel
2012-04-03 13:38   ` Karel Zak
2012-04-05  7:49     ` Petr Uzel
2012-03-29 16:45 ` [PATCH 13/20] uuidd: add systemd unit files Petr Uzel
2012-04-03 14:01   ` Karel Zak
2012-04-03 14:47     ` Tom Gundersen
2012-04-05  7:52       ` Petr Uzel
2012-04-05  8:23         ` Karel Zak
2012-03-29 16:45 ` [PATCH 14/20] libuuid: use EXIT_FAILURE Petr Uzel
2012-03-29 16:45 ` Petr Uzel [this message]
2012-03-29 16:45 ` [PATCH 16/20] libuuid: fix typo in uuid_compare manpage Petr Uzel
2012-03-29 16:45 ` [PATCH 17/20] build-sys: run distcheck with verbose make rules Petr Uzel
2012-03-29 16:45 ` [PATCH 18/20] build-sys: add ttyutils.h to dist Petr Uzel
2012-03-29 16:45 ` [PATCH 19/20] build-sys: add fsprobe.h " Petr Uzel
2012-03-29 16:45 ` [PATCH 20/20] build-sys: fix installation of uuidd units with make distcheck Petr Uzel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1333039528-24784-16-git-send-email-petr.uzel@suse.cz \
    --to=petr.uzel@suse.cz \
    --cc=util-linux@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.