Module: sip-router
Branch: kamailio_3.0
Commit: 9cf36478222aaf573a6cd7b65e6a4fd6227eb8cd
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=9cf3647…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Tue Jan 5 18:27:46 2010 +0100
snmpstats: fix param type checking
- parameter type is given from definition of params not from modparam
value type, resulting in mismatches for parameters that have
USE_FUNC_PARAM flag set
- reported by Santiago Gimeno
---
modules_k/snmpstats/snmpObjects.c | 2 +-
modules_k/snmpstats/utilities.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules_k/snmpstats/snmpObjects.c b/modules_k/snmpstats/snmpObjects.c
index b797317..b9b36af 100644
--- a/modules_k/snmpstats/snmpObjects.c
+++ b/modules_k/snmpstats/snmpObjects.c
@@ -611,7 +611,7 @@ static int set_if_valid_threshold(modparam_t type, void *val, char *varStr,
return -1;
}
- if (type != INT_PARAM) {
+ if (PARAM_TYPE_MASK(type) != INT_PARAM) {
LM_ERR("%s called with type %d instead of %d!\n",
varStr, type, INT_PARAM);
return -1;
diff --git a/modules_k/snmpstats/utilities.c b/modules_k/snmpstats/utilities.c
index 2097f88..9b4011d 100644
--- a/modules_k/snmpstats/utilities.c
+++ b/modules_k/snmpstats/utilities.c
@@ -78,7 +78,7 @@ int stringHandlerSanityCheck( modparam_t type, void *val, char *parameterName)
char *theString = (char *)val;
/* Make sure the function was called correctly. */
- if (type != STR_PARAM) {
+ if (PARAM_TYPE_MASK(type) != STR_PARAM) {
LM_ERR("the %s parameter was assigned a type %d instead of %d\n",
parameterName, type, STR_PARAM);
return 0;
Hi Daniel!
Thanks for topoh, a great module.
1. topology hiding is skipped for REGISTER and PUBLISH - why? For
example I use Kamailio as an outbound proxy for our office as some kind
of firewall and want to add topology hiding (to hide the details of our
LAN). In this scenario it is also needed to mangle REGISTER and PUBLISH too.
Are there any issues from implementation point of view which prevents
mangling for REGISTER|PUBLISH?
I tried removing the method-check and it seems to work fine (at least
for REGISTER with single Contact headers)
Of course this brings in another problem - at the upstream server the
registered Contact is now sip:10.1.1.2;line=sr-......
It would be necessary to have the host part configurable, e.g. in my
setup I would set it to the public IP address of the outbound proxy.
Thus,
str th_ip = {"10.1.1.2", 0};
should be the default and there should be a module paramter to override it.
2. the module uses a default value for encryption. IMO this is insecure.
IMO, either the mask_key parameter should be mandatory or a random one
should be generated at startup.
regards
klaus
Module: sip-router
Branch: kamailio_3.0
Commit: d4db8304926d30a4244b9ee05d21b5614eae5f94
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d4db830…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Mon Jan 4 21:32:24 2010 +0100
core: define module_loaded to use find_module_by_name
- it was declared but not implemented
- in use by snmpstats and perlvdb modules
- reported by Santiago Gimeno
---
sr_module.h | 18 ++++--------------
1 files changed, 4 insertions(+), 14 deletions(-)
diff --git a/sr_module.h b/sr_module.h
index 426729c..10afc55 100644
--- a/sr_module.h
+++ b/sr_module.h
@@ -389,6 +389,10 @@ int init_child(int rank);
int init_modules(void);
struct sr_module* find_module_by_name(char* mod);
+/* true if the module with name 'mod_name' is loaded */
+#define module_loaded(mod_name) (find_module_by_name(mod_name)!=0)
+
+
/*! \brief
* Find a parameter with given type and return it's
* address in memory
@@ -520,18 +524,4 @@ int get_int_fparam(int* dst, struct sip_msg* msg, fparam_t* param);
int get_regex_fparam(regex_t *dst, struct sip_msg* msg, fparam_t* param);
-/* functions needed for kamailio/openser compatibility */
-
-/*! \brief Check if module is loaded
- * \return Returns 1 if the module with name 'name' is loaded, and zero otherwise. */
-int module_loaded(char *name);
-
-/*! \brief Counts the additional the number of processes
- requested by modules */
-int count_module_procs(void);
-
-
-/*! \brief Forks and starts the additional processes required by modules */
-int start_module_procs(void);
-
#endif /* sr_module_h */