[sr-dev] git:master: modules/stun: added read-only stun_active cfg value

Peter Dunkley peter.dunkley at crocodile-rcs.com
Thu Apr 4 01:39:24 CEST 2013


Module: sip-router
Branch: master
Commit: 91b357872f06e988fd09003cffc02742d2731ce3
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=91b357872f06e988fd09003cffc02742d2731ce3

Author: Peter Dunkley <peter.dunkley at crocodile-rcs.com>
Committer: Peter Dunkley <peter.dunkley at crocodile-rcs.com>
Date:   Thu Apr  4 00:38:25 2013 +0100

modules/stun: added read-only stun_active cfg value

---

 modules/stun/config.c   |   45 +++++++++++++++++++++++++++++++++++++++++++++
 modules/stun/config.h   |   44 ++++++++++++++++++++++++++++++++++++++++++++
 modules/stun/stun_mod.c |    8 ++++++++
 3 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/modules/stun/config.c b/modules/stun/config.c
new file mode 100644
index 0000000..422d376
--- /dev/null
+++ b/modules/stun/config.c
@@ -0,0 +1,45 @@
+/*
+ * $Id$
+ *
+ * Copyright (C) 2013 Crocodile RCS Ltd
+ *
+ * This file is part of Kamailio, a free SIP server.
+ *
+ * Kamailio 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 2 of the License, or
+ * (at your option) any later version
+ *
+ * Kamailio 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, write to the Free Software 
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+/*!
+ * \file 
+ * \brief STUN :: Configuration
+ * \ingroup stun
+ */
+
+#include "../../cfg/cfg.h"
+#include "config.h"
+
+struct cfg_group_stun default_stun_cfg = {
+		0,	/* Read only variable to mark if stun is enabled */
+	    };
+
+void *stun_cfg = &default_stun_cfg;
+
+cfg_def_t stun_cfg_def[] = {
+	{ "stun_enabled", CFG_VAR_INT | CFG_ATOMIC | CFG_READONLY,
+	  0, 0, 0, 0,
+	  "If set to one (true) STUN is enabled." },
+
+	{0, 0, 0, 0, 0, 0}
+};
diff --git a/modules/stun/config.h b/modules/stun/config.h
new file mode 100644
index 0000000..2855e54
--- /dev/null
+++ b/modules/stun/config.h
@@ -0,0 +1,44 @@
+/*
+ * $Id$
+ *
+ * Copyright (C) 2013 Crocodile RCS Ltd
+ *
+ * This file is part of Kamailio, a free SIP server.
+ *
+ * Kamailio 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 2 of the License, or
+ * (at your option) any later version
+ *
+ * Kamailio 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, write to the Free Software 
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+/*!
+ * \file 
+ * \brief STUN :: Configuration Framework support
+ * \ingroup stun
+ */
+
+
+#ifndef _STUN_CONFIG_H
+#define _STUN_CONFIG_H
+
+#include "../../cfg/cfg.h"
+
+struct cfg_group_stun {
+	int stun_active;
+};
+
+extern struct cfg_group_stun default_stun_cfg;
+extern void *stun_cfg;
+extern cfg_def_t stun_cfg_def[];
+
+#endif /* _STUN_CONFIG_H */
diff --git a/modules/stun/stun_mod.c b/modules/stun/stun_mod.c
index 5797de6..ae1c981 100644
--- a/modules/stun/stun_mod.c
+++ b/modules/stun/stun_mod.c
@@ -26,6 +26,7 @@
 #include "../../ip_addr.h"
 #include "../../sr_module.h"
 #include "kam_stun.h"
+#include "config.h"
 
 MODULE_VERSION
 
@@ -56,6 +57,13 @@ static int mod_init(void)
 		return -1;
 	}
 
+        if (cfg_declare("stun", stun_cfg_def, &default_stun_cfg,
+                        cfg_sizeof(stun), &stun_cfg)) {
+                LM_ERR("declaring config framework variable\n");
+                return -1;
+        }
+        default_stun_cfg.stun_active = 1;
+
 	return 0;
 }
 




More information about the sr-dev mailing list