From: William A. Kennington III <william@wkennington.com>
Date: Mon, 25 Aug 2014 05:35:25 +0000 (-0700)
Subject: tincctl: Use replace_name to properly replace and validate input hostnames
X-Git-Tag: release-1.1pre11~50
X-Git-Url: https://tinc-vpn.org/git/browse?a=commitdiff_plain;h=38d7e730e619a8b86dfbf68d77773564595f12a1;p=tinc

tincctl: Use replace_name to properly replace and validate input hostnames
---

diff --git a/src/logger.h b/src/logger.h
index 637eef84..8f690290 100644
--- a/src/logger.h
+++ b/src/logger.h
@@ -65,6 +65,8 @@ enum {
 #endif
 #endif
 
+#include <stdbool.h>
+
 extern debug_t debug_level;
 extern bool logcontrol;
 extern void openlogger(const char *, logmode_t);
diff --git a/src/sptps_keypair.c b/src/sptps_keypair.c
index f66a7711..399404e1 100644
--- a/src/sptps_keypair.c
+++ b/src/sptps_keypair.c
@@ -27,6 +27,14 @@
 
 static char *program_name;
 
+void logger(int level, int priority, const char *format, ...) {
+	va_list ap;
+	va_start(ap, format);
+	vfprintf(stderr, format, ap);
+	va_end(ap);
+	fputc('\n', stderr);
+}
+
 static void usage() {
 	fprintf(stderr, "Usage: %s [options] private_key_file public_key_file\n\n", program_name);
 	fprintf(stderr, "Valid options are:\n"
diff --git a/src/tincctl.c b/src/tincctl.c
index 158dfed8..f18dc50e 100644
--- a/src/tincctl.c
+++ b/src/tincctl.c
@@ -1305,7 +1305,7 @@ char *get_my_name(bool verbose) {
 			continue;
 		if(*value) {
 			fclose(f);
-			return strdup(value);
+			return replace_name(value);
 		}
 	}
 
diff --git a/src/utils.c b/src/utils.c
index db7a8cd6..8fbc7108 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -18,11 +18,10 @@
     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
+#include "logger.h"
 #include "system.h"
-#include "xalloc.h"
-
-#include "../src/logger.h"
 #include "utils.h"
+#include "xalloc.h"
 
 static const char hexadecimals[] = "0123456789ABCDEF";
 static const char base64_original[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";