summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/sip/domain.c3
-rw-r--r--test/sip/sipsrv.h7
-rw-r--r--test/sip/user.c13
3 files changed, 17 insertions, 6 deletions
diff --git a/test/sip/domain.c b/test/sip/domain.c
index 063e3b9..2aec1a9 100644
--- a/test/sip/domain.c
+++ b/test/sip/domain.c
@@ -163,7 +163,8 @@ int domain_auth(struct sip_server *srv,
break;
}
- err = httpauth_digest_response_auth(&resp, &msg->met,usr->ha1);
+ err = httpauth_digest_response_auth(&resp, &msg->met,
+ user_ha1(usr));
if (err)
return err;
diff --git a/test/sip/sipsrv.h b/test/sip/sipsrv.h
index a4b8bbf..1f1076c 100644
--- a/test/sip/sipsrv.h
+++ b/test/sip/sipsrv.h
@@ -111,12 +111,9 @@ void location_rollback(struct list *locl);
* User
*/
-struct user {
- struct le he;
- uint8_t ha1[MD5_SIZE];
- char *name;
-};
+struct user;
int user_add(struct hash *ht, const char *username, const char *password,
const char *realm);
struct user *user_find(struct hash *ht, const struct pl *name);
+const uint8_t *user_ha1(const struct user *usr);
diff --git a/test/sip/user.c b/test/sip/user.c
index 99fb47d..73a101e 100644
--- a/test/sip/user.c
+++ b/test/sip/user.c
@@ -7,6 +7,13 @@
#include "sipsrv.h"
+struct user {
+ struct le he;
+ uint8_t ha1[MD5_SIZE];
+ char *name;
+};
+
+
static void destructor(void *arg)
{
struct user *usr = arg;
@@ -71,3 +78,9 @@ struct user *user_find(struct hash *ht, const struct pl *name)
return NULL;
}
+
+
+const uint8_t *user_ha1(const struct user *usr)
+{
+ return usr ? usr->ha1 : NULL;
+}