Module: sip-router Branch: master Commit: 91b357872f06e988fd09003cffc02742d2731ce3 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=91b35787...
Author: Peter Dunkley peter.dunkley@crocodile-rcs.com Committer: Peter Dunkley peter.dunkley@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; }