summaryrefslogtreecommitdiff
path: root/net/ser/files/patch-modules__auth__auth_mod.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ser/files/patch-modules__auth__auth_mod.c')
-rw-r--r--net/ser/files/patch-modules__auth__auth_mod.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/net/ser/files/patch-modules__auth__auth_mod.c b/net/ser/files/patch-modules__auth__auth_mod.c
new file mode 100644
index 000000000000..2d08c8f5edff
--- /dev/null
+++ b/net/ser/files/patch-modules__auth__auth_mod.c
@@ -0,0 +1,60 @@
+
+$FreeBSD$
+
+--- modules/auth/auth_mod.c.orig
++++ modules/auth/auth_mod.c
+@@ -84,6 +84,9 @@
+ int (*sl_reply)(struct sip_msg* _msg, char* _str1, char* _str2);
+
+
++struct tm_binds tmb;
++
++
+ /*
+ * Module parameter variables
+ */
+@@ -93,6 +96,7 @@
+ str secret;
+ char* sec_rand = 0;
+
++int use_tm = 0;
+
+ /*
+ * Default Remote-Party-ID prefix
+@@ -140,6 +144,7 @@
+ {"rpid_prefix", STR_PARAM, &rpid_prefix_param },
+ {"rpid_suffix", STR_PARAM, &rpid_suffix_param },
+ {"realm_prefix", STR_PARAM, &realm_prefix_param},
++ {"use_tm", INT_PARAM, &use_tm },
+ {0, 0, 0}
+ };
+
+@@ -190,13 +195,23 @@
+
+ static int mod_init(void)
+ {
++ load_tm_f load_tm;
++
+ DBG("auth module - initializing\n");
+-
+- sl_reply = find_export("sl_send_reply", 2, 0);
+
+- if (!sl_reply) {
+- LOG(L_ERR, "auth:mod_init(): This module requires sl module\n");
+- return -2;
++ if (use_tm != 0) {
++ load_tm = (load_tm_f)find_export("load_tm", NO_SCRIPT, 0);
++ if (load_tm == NULL || load_tm(&tmb) == -1) {
++ LOG(L_ERR, "Can't import tm\n");
++ return -1;
++ }
++ } else {
++ sl_reply = find_export("sl_send_reply", 2, 0);
++
++ if (!sl_reply) {
++ LOG(L_ERR, "auth:mod_init(): This module requires sl module\n");
++ return -2;
++ }
+ }
+
+ /* If the parameter was not used */