From 9e52c4de4476a99129b4ab2402898dd9af92e86c Mon Sep 17 00:00:00 2001
From: Steven Barth <steven@midlink.org>
Date: Wed, 20 Mar 2013 14:43:09 +0100
Subject: [PATCH] Don't output on stderr by default

---
 src/odhcp6c.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/odhcp6c.c b/src/odhcp6c.c
index f4f83f1..6451312 100644
--- a/src/odhcp6c.c
+++ b/src/odhcp6c.c
@@ -46,8 +46,6 @@ static bool bound = false, allow_slaac_only = true, release = true;
 
 int main(_unused int argc, char* const argv[])
 {
-	openlog("odhcp6c", LOG_PERROR | LOG_PID, LOG_DAEMON);
-
 	// Allocate ressources
 	const char *pidfile = NULL;
 	const char *script = "/usr/sbin/odhcp6c-update";
@@ -58,8 +56,9 @@ int main(_unused int argc, char* const argv[])
 	enum odhcp6c_ia_mode ia_na_mode = IA_MODE_TRY;
 
 	bool help = false, daemonize = false;
+	int logopt = LOG_PID;
 	int c, request_pd = 0;
-	while ((c = getopt(argc, argv, "SN:P:c:r:s:khdp:")) != -1) {
+	while ((c = getopt(argc, argv, "SN:P:c:r:s:khedp:")) != -1) {
 		switch (c) {
 		case 'S':
 			allow_slaac_only = false;
@@ -116,6 +115,10 @@ int main(_unused int argc, char* const argv[])
 			release = false;
 			break;
 
+		case 'e':
+			logopt |= LOG_PERROR;
+			break;
+
 		case 'd':
 			daemonize = true;
 			break;
@@ -130,6 +133,7 @@ int main(_unused int argc, char* const argv[])
 		}
 	}
 
+	openlog("odhcp6c", logopt, LOG_DAEMON);
 	const char *ifname = argv[optind];
 
 	if (help || !ifname)
@@ -313,6 +317,7 @@ static int usage(void)
 	"\nInvocation options:\n"
 	"	-p <pidfile>	Set pidfile (/var/run/6relayd.pid)\n"
 	"	-d		Daemonize\n"
+	"	-e		Write logmessages to stderr\n"
 	//"	-v		Increase logging verbosity\n"
 	"	-h		Show this help\n\n";
 	write(STDERR_FILENO, buf, sizeof(buf));
-- 
2.39.5