summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar m0gg2006-05-15 06:41:33 +0000
committerGravatar m0gg2006-05-15 06:41:33 +0000
commit015fb3328b8d5c3c76d2e16f7b46d9598722f268 (patch)
tree886ac880f746332fe1ece314821c2648910bac50
parent5af10db8fa81b0f74905ae1302aafe43221e4d27 (diff)
downloadcsoap-015fb3328b8d5c3c76d2e16f7b46d9598722f268.tar.gz
csoap-015fb3328b8d5c3c76d2e16f7b46d9598722f268.tar.bz2
HTTP authentication added
-rw-r--r--libcsoap/soap-router.c10
-rw-r--r--libcsoap/soap-router.h5
-rw-r--r--libcsoap/soap-server.c4
3 files changed, 15 insertions, 4 deletions
diff --git a/libcsoap/soap-router.c b/libcsoap/soap-router.c
index c4252c2..ad8edd3 100644
--- a/libcsoap/soap-router.c
+++ b/libcsoap/soap-router.c
@@ -1,5 +1,5 @@
/******************************************************************
-* $Id: soap-router.c,v 1.8 2006/03/07 16:22:24 m0gg Exp $
+* $Id: soap-router.c,v 1.9 2006/05/15 06:41:33 m0gg Exp $
*
* CSOAP Project: A SOAP client/server library in C
* Copyright (C) 2003 Ferhat Ayaz
@@ -74,6 +74,14 @@ soap_router_register_service(SoapRouter * router,
}
void
+soap_router_register_security(SoapRouter * router, httpd_auth auth)
+{
+ router->auth = auth;
+
+ return;
+}
+
+void
soap_router_register_description(SoapRouter * router, xmlDocPtr wsdl)
{
if (router->wsdl)
diff --git a/libcsoap/soap-router.h b/libcsoap/soap-router.h
index ff44988..d75979a 100644
--- a/libcsoap/soap-router.h
+++ b/libcsoap/soap-router.h
@@ -1,5 +1,5 @@
/******************************************************************
- * $Id: soap-router.h,v 1.7 2006/03/07 16:22:24 m0gg Exp $
+ * $Id: soap-router.h,v 1.8 2006/05/15 06:41:34 m0gg Exp $
*
* CSOAP Project: A SOAP client/server library in C
* Copyright (C) 2003 Ferhat Ayaz
@@ -35,6 +35,7 @@ typedef struct _SoapRouter
SoapServiceNode *service_head;
SoapServiceNode *service_tail;
SoapService *default_service;
+ httpd_auth auth;
xmlDocPtr wsdl;
} SoapRouter;
@@ -74,6 +75,8 @@ void soap_router_register_default_service(SoapRouter * router, SoapServiceFunc f
void soap_router_register_description(SoapRouter *router, xmlDocPtr doc);
+void soap_router_register_security(SoapRouter *router, httpd_auth auth);
+
/**
Searches for a registered soap service.
diff --git a/libcsoap/soap-server.c b/libcsoap/soap-server.c
index bf03a3d..d2e577f 100644
--- a/libcsoap/soap-server.c
+++ b/libcsoap/soap-server.c
@@ -1,5 +1,5 @@
/******************************************************************
-* $Id: soap-server.c,v 1.23 2006/04/13 06:22:29 m0gg Exp $
+* $Id: soap-server.c,v 1.24 2006/05/15 06:41:34 m0gg Exp $
*
* CSOAP Project: A SOAP client/server library in C
* Copyright (C) 2003 Ferhat Ayaz
@@ -405,7 +405,7 @@ int
soap_server_register_router(SoapRouter * router, const char *context)
{
- if (!httpd_register(context, soap_server_entry))
+ if (!httpd_register_secure(context, soap_server_entry, router->auth))
{
return 0;
}