]> ruderich.org/simon Gitweb - tlsproxy/tlsproxy.git/commitdiff
src/: Move log related functions/defines to log.[hc].
authorSimon Ruderich <simon@ruderich.org>
Thu, 10 Mar 2011 22:17:49 +0000 (23:17 +0100)
committerSimon Ruderich <simon@ruderich.org>
Thu, 10 Mar 2011 22:17:49 +0000 (23:17 +0100)
src/Makefile.am
src/connection.c
src/log.c [new file with mode: 0644]
src/log.h [new file with mode: 0644]
src/tlsproxy.c
src/tlsproxy.h

index d997f84c72bec546fbf9aa0f2a888d8ae13f083e..837f651baa5bf7a31b1459df4b10d780fc782419 100644 (file)
@@ -1,2 +1,6 @@
 bin_PROGRAMS = tlsproxy
-tlsproxy_SOURCES = tlsproxy.c tlsproxy.h sem.h sem.c connection.h connection.c
+tlsproxy_SOURCES = \
+       tlsproxy.c tlsproxy.h \
+       sem.h sem.c \
+       connection.h connection.c \
+       log.h log.c
index 8e023fe551718c75359a5d9f70d48fa82c00e782..7ea6eb24a7573dd14d5d21facf89a06dc2546c9d 100644 (file)
 #include <poll.h>
 /* errno */
 #include <errno.h>
-/* va_*() */
-#include <stdarg.h>
-/* pthread_*() */
-#include <pthread.h>
 
 
 /* Maximum line of a HTTP request line. Longer request lines are aborted with
 #define PROXY_CA_FILE  "proxy-ca.pem"
 #define PROXY_KEY_FILE "proxy-key.pem"
 
-/* Helper macro for LOG/LOG_PERROR. Print file/line number if compiled with
- * debug output. */
-#ifdef DEBUG
-#define LOG_PRINT_LOCATION fprintf(stdout, "%s:%-3d ", __FILE__, __LINE__);
-#else
-#define LOG_PRINT_LOCATION
-#endif
-/* Call log_message() and print current file and line number. */
-#define LOG \
-    LOG_PRINT_LOCATION \
-    log_message
-/* perror() replacement with debug level support. */
-#define LOG_PERROR(level, message) \
-    LOG_PRINT_LOCATION \
-    log_message(level, "%s: %s", message, strerror(errno))
-
 
 static int initialize_tls_session_client(int peer_socket,
         const char *hostname,
@@ -86,8 +66,6 @@ static int connect_to_host(const char *hostname, const char *port);
 static int parse_request(const char *buffer, char *host, char *port,
                                              int *version_minor);
 
-static void log_message(int level, const char *format, ...);
-
 
 void handle_connection(int client_socket) {
     int server_socket;
@@ -736,26 +714,3 @@ static int parse_request(const char *request, char *host, char *port,
 
     return 0;
 }
-
-
-static void log_message(int level, const char *format, ...) {
-    va_list ap;
-    const char *level_string;
-
-    if (global_log_level < level) {
-        return;
-    }
-
-    switch (level) {
-        case LOG_ERROR:   level_string = "ERROR"; break;
-        case LOG_WARNING: level_string = "WARN "; break;
-        case LOG_DEBUG:   level_string = "DEBUG"; break;
-        default:          level_string = "UNKNOWN";
-    }
-
-    va_start(ap, format);
-    fprintf(stdout, "[%s] [%d] ", level_string, (int)pthread_self());
-    vfprintf(stdout, format, ap);
-    fprintf(stdout, "\n");
-    va_end(ap);
-}
diff --git a/src/log.c b/src/log.c
new file mode 100644 (file)
index 0000000..dd7c90c
--- /dev/null
+++ b/src/log.c
@@ -0,0 +1,49 @@
+/*
+ * Log related functions/defines.
+ *
+ * Copyright (C) 2011  Simon Ruderich
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "tlsproxy.h"
+#include "log.h"
+
+/* va_*() */
+#include <stdarg.h>
+/* pthread_*() */
+#include <pthread.h>
+
+
+void log_message(int level, const char *format, ...) {
+    va_list ap;
+    const char *level_string;
+
+    if (global_log_level < level) {
+        return;
+    }
+
+    switch (level) {
+        case LOG_ERROR:   level_string = "ERROR"; break;
+        case LOG_WARNING: level_string = "WARN "; break;
+        case LOG_DEBUG:   level_string = "DEBUG"; break;
+        default:          level_string = "UNKNOWN";
+    }
+
+    va_start(ap, format);
+    fprintf(stdout, "[%s] [%d] ", level_string, (int)pthread_self());
+    vfprintf(stdout, format, ap);
+    fprintf(stdout, "\n");
+    va_end(ap);
+}
diff --git a/src/log.h b/src/log.h
new file mode 100644 (file)
index 0000000..e129e9f
--- /dev/null
+++ b/src/log.h
@@ -0,0 +1,47 @@
+/*
+ * Log related functions/defines.
+ *
+ * Copyright (C) 2011  Simon Ruderich
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef LOG_H
+#define LOG_H
+
+/* Log level constants. */
+#define LOG_ERROR   0
+#define LOG_WARNING 1
+#define LOG_DEBUG   2
+
+/* Helper macro for LOG/LOG_PERROR. Print file/line number if compiled with
+ * debug output. */
+#ifdef DEBUG
+#define LOG_PRINT_LOCATION fprintf(stdout, "%s:%-3d ", __FILE__, __LINE__);
+#else
+#define LOG_PRINT_LOCATION
+#endif
+/* Call log_message() and print current file and line number. */
+#define LOG \
+    LOG_PRINT_LOCATION \
+    log_message
+/* perror() replacement with debug level support. */
+#define LOG_PERROR(level, message) \
+    LOG_PRINT_LOCATION \
+    log_message(level, "%s: %s", message, strerror(errno))
+
+
+void log_message(int level, const char *format, ...);
+
+#endif
index 0e095689374b7cae7e4ce51546491d1e9ade25d4..85ca776af98516a91f3d98e789ba2fc266e190bf 100644 (file)
@@ -48,6 +48,14 @@ GCRY_THREAD_OPTION_PTHREAD_IMPL;
 #define DH_SIZE 1024
 
 
+/* For gnutls_*() functions. */
+#define GNUTLS_ERROR_EXIT(error, message) \
+    if (GNUTLS_E_SUCCESS != error) { \
+        fprintf(stderr, "%s: %s\n", message, gnutls_strerror(error)); \
+        exit(EXIT_FAILURE); \
+    }
+
+
 /* Server should shut down. Set by SIGINT handler. */
 static volatile int done;
 
index b2d690e92c5a8206bdb9e82fd666833584802761..8ade4e8c6d4d6ceabed12e9523ceb7783ad56d43 100644 (file)
 /* GnuTLS */
 #include <gnutls/gnutls.h>
 
+#include "log.h"
 
-/* Log level constants. */
-#define LOG_ERROR   0
-#define LOG_WARNING 1
-#define LOG_DEBUG   2
 
 
-/* Macros for shorter error handling. */
-#define GNUTLS_ERROR_EXIT(error, message) \
-    if (GNUTLS_E_SUCCESS != error) { \
-        fprintf(stderr, "%s: %s\n", message, gnutls_strerror(error)); \
-        exit(EXIT_FAILURE); \
-    }
-
 
 /* Proxy hostname and port if specified on the command line. */
 char *global_proxy_host;