ocserv: fixed issue that caused the removal of ocserv-script.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 26 Jul 2014 09:01:42 +0000 (11:01 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 26 Jul 2014 09:02:22 +0000 (11:02 +0200)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
net/ocserv/Makefile
net/ocserv/patches/001-remove-pid-file.patch [new file with mode: 0644]

index 74dd0690fff6a138b8eccc886694660048db06fe..7296381a3c859afbd388aa452b224356746ef90d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ocserv
 PKG_VERSION:=0.8.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
diff --git a/net/ocserv/patches/001-remove-pid-file.patch b/net/ocserv/patches/001-remove-pid-file.patch
new file mode 100644 (file)
index 0000000..a5462d4
--- /dev/null
@@ -0,0 +1,168 @@
+From 6de26b94089929e4cc57c23aa07ae78cfb6ef2a5 Mon Sep 17 00:00:00 2001
+From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
+Date: Sat, 26 Jul 2014 10:57:26 +0200
+Subject: [PATCH 1/2] made macro usage safer
+
+That solves an issue where the pid_file would be overwritten on
+a configuration file reload.
+---
+ src/config.c          | 24 ++++++++++++------------
+ src/sup-config/file.c | 20 ++++++++++----------
+ 2 files changed, 22 insertions(+), 22 deletions(-)
+
+diff --git a/src/config.c b/src/config.c
+index f87fcfc..bc7a0b1 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -158,7 +158,7 @@ unsigned j;
+       return NULL;
+ }
+-#define READ_MULTI_LINE(name, s_name, num) \
++#define READ_MULTI_LINE(name, s_name, num) { \
+       val = get_option(name, &mand); \
+       if (val != NULL && val->valType == OPARG_TYPE_STRING) { \
+               if (s_name == NULL) { \
+@@ -181,9 +181,9 @@ unsigned j;
+       } else if (mand != 0) { \
+               fprintf(stderr, "Configuration option %s is mandatory.\n", name); \
+               exit(1); \
+-      }
++      }}
+-#define READ_MULTI_BRACKET_LINE(name, s_name, s_name2, num) \
++#define READ_MULTI_BRACKET_LINE(name, s_name, s_name2, num) { \
+       val = get_option(name, &mand); \
+       if (val != NULL && val->valType == OPARG_TYPE_STRING) { \
+               if (s_name == NULL || s_name2 == NULL) { \
+@@ -211,25 +211,25 @@ unsigned j;
+       } else if (mand != 0) { \
+               fprintf(stderr, "Configuration option %s is mandatory.\n", name); \
+               exit(1); \
+-      }
++      }}
+-#define READ_STRING(name, s_name) \
++#define READ_STRING(name, s_name) { \
+       val = get_option(name, &mand); \
+       if (val != NULL && val->valType == OPARG_TYPE_STRING) \
+               s_name = talloc_strdup(config, val->v.strVal); \
+       else if (mand != 0) { \
+               fprintf(stderr, "Configuration option %s is mandatory.\n", name); \
+               exit(1); \
+-      }
++      }}
+-#define READ_STATIC_STRING(name, s_name) \
++#define READ_STATIC_STRING(name, s_name) { \
+       val = get_option(name, &mand); \
+       if (val != NULL && val->valType == OPARG_TYPE_STRING) \
+               snprintf(s_name, sizeof(s_name), "%s", val->v.strVal); \
+       else if (mand != 0) { \
+               fprintf(stderr, "Configuration option %s is mandatory.\n", name); \
+               exit(1); \
+-      }
++      }}
+ #define READ_TF(name, s_name, def) \
+       { char* tmp_tf = NULL; \
+@@ -244,7 +244,7 @@ unsigned j;
+               talloc_free(tmp_tf); \
+       }
+-#define READ_NUMERIC(name, s_name) \
++#define READ_NUMERIC(name, s_name) { \
+       val = get_option(name, &mand); \
+       if (val != NULL) { \
+               if (val->valType == OPARG_TYPE_NUMERIC) \
+@@ -254,9 +254,9 @@ unsigned j;
+       } else if (mand != 0) { \
+               fprintf(stderr, "Configuration option %s is mandatory.\n", name); \
+               exit(1); \
+-      }
++      }}
+-#define READ_PRIO_TOS(name, s_name) \
++#define READ_PRIO_TOS(name, s_name) { \
+       val = get_option(name, &mand); \
+       if (val != NULL) { \
+               if (val->valType == OPARG_TYPE_STRING) { \
+@@ -271,7 +271,7 @@ unsigned j;
+       } else if (mand != 0) { \
+               fprintf(stderr, "Configuration option %s is mandatory.\n", name); \
+               exit(1); \
+-      }
++      }}
+ static int handle_option(const tOptionValue* val)
+diff --git a/src/sup-config/file.c b/src/sup-config/file.c
+index 20a97f2..44c4a9d 100644
+--- a/src/sup-config/file.c
++++ b/src/sup-config/file.c
+@@ -61,7 +61,7 @@ static struct cfg_options available_options[] = {
+       { .name = "cgroup", .type = OPTION_STRING, },
+ };
+-#define READ_RAW_MULTI_LINE(name, s_name, num) \
++#define READ_RAW_MULTI_LINE(name, s_name, num) { \
+       val = optionGetValue(pov, name); \
+       if (val != NULL && val->valType == OPARG_TYPE_STRING) { \
+               if (s_name == NULL) { \
+@@ -77,26 +77,26 @@ static struct cfg_options available_options[] = {
+                       num++; \
+             } while((val = optionNextValue(pov, val)) != NULL); \
+             s_name[num] = NULL; \
+-      }
++      }}
+-#define READ_RAW_STRING(name, s_name) \
++#define READ_RAW_STRING(name, s_name) { \
+       val = optionGetValue(pov, name); \
+       if (val != NULL && val->valType == OPARG_TYPE_STRING) { \
+               if (s_name != NULL) \
+                       talloc_free(s_name); \
+               s_name = talloc_strdup(proc, val->v.strVal); \
+-      }
++      }}
+-#define READ_RAW_NUMERIC(name, s_name) \
++#define READ_RAW_NUMERIC(name, s_name) { \
+       val = optionGetValue(pov, name); \
+       if (val != NULL) { \
+               if (val->valType == OPARG_TYPE_NUMERIC) \
+                       s_name = val->v.longVal; \
+               else if (val->valType == OPARG_TYPE_STRING) \
+                       s_name = atoi(val->v.strVal); \
+-      }
++      }}
+-#define READ_RAW_PRIO_TOS(name, s_name) \
++#define READ_RAW_PRIO_TOS(name, s_name) { \
+       val = optionGetValue(pov, name); \
+       if (val != NULL) { \
+               if (val->valType == OPARG_TYPE_STRING) { \
+@@ -108,9 +108,9 @@ static struct cfg_options available_options[] = {
+                               s_name++; \
+                       } \
+               } \
+-      }
++      }}
+-#define READ_TF(name, s_name, def) \
++#define READ_TF(name, s_name, def) { \
+       { char* tmp_tf = NULL; \
+               READ_RAW_STRING(name, tmp_tf); \
+               if (tmp_tf == NULL) s_name = def; \
+@@ -121,7 +121,7 @@ static struct cfg_options available_options[] = {
+                               s_name = 0; \
+               } \
+               talloc_free(tmp_tf); \
+-      }
++      }}
+ static int handle_option(const tOptionValue* val)
+ {
+-- 
+2.0.0
+