summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2005-03-10 16:42:03 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2005-03-10 16:42:03 +0000
commit170d714a15b7a0b101cf81fb41626b7dcab3cda4 (patch)
tree288d6f907219160f91568be92fb83d051da46e4b
parent16df58c4cb8fa19a5163c7db7c12d2347e796182 (diff)
Restore ResourceID and EncryptedResourceID attributes in discovery and modify. Added security mechanism id.
-rw-r--r--lasso/id-wsf/discovery.c19
-rw-r--r--lasso/xml/disco_modify.c7
-rw-r--r--lasso/xml/disco_modify.h4
-rw-r--r--lasso/xml/strings.h12
-rw-r--r--swig/Lasso-wsf.i54
5 files changed, 72 insertions, 24 deletions
diff --git a/lasso/id-wsf/discovery.c b/lasso/id-wsf/discovery.c
index bfac437e..5391fd14 100644
--- a/lasso/id-wsf/discovery.c
+++ b/lasso/id-wsf/discovery.c
@@ -68,8 +68,8 @@ lasso_discovery_init_request(LassoDiscovery *discovery,
if (resourceOffering->ResourceID != NULL) {
g_object_ref(resourceOffering->ResourceID);
if (LASSO_IS_DISCO_MODIFY(profile->request)) {
- LASSO_DISCO_MODIFY(profile->request)->resourceId = \
- LASSO_NODE(resourceOffering->ResourceID);
+ LASSO_DISCO_MODIFY(profile->request)->ResourceID = \
+ resourceOffering->ResourceID;
}
else if (LASSO_IS_DISCO_QUERY(profile->request)) {
LASSO_DISCO_QUERY(profile->request)->ResourceID = \
@@ -79,14 +79,15 @@ lasso_discovery_init_request(LassoDiscovery *discovery,
else if (resourceOffering->EncryptedResourceID != NULL) {
g_object_ref(resourceOffering->EncryptedResourceID);
if (LASSO_IS_DISCO_MODIFY(profile->request)) {
- LASSO_DISCO_MODIFY(profile->request)->resourceId = \
- LASSO_NODE(resourceOffering->EncryptedResourceID);
+ LASSO_DISCO_MODIFY(profile->request)->EncryptedResourceID = \
+ resourceOffering->EncryptedResourceID;
}
else if (LASSO_IS_DISCO_QUERY(profile->request)) {
LASSO_DISCO_QUERY(profile->request)->EncryptedResourceID = \
resourceOffering->EncryptedResourceID;
}
}
+
if (description->Endpoint != NULL) {
profile->msg_url = g_strdup(description->Endpoint);
}
@@ -97,10 +98,6 @@ lasso_discovery_init_request(LassoDiscovery *discovery,
return 0;
}
-/*****************************************************************************/
-/* public methods */
-/*****************************************************************************/
-
LassoDiscoInsertEntry*
lasso_discovery_add_insert_entry(LassoDiscovery *discovery,
const gchar *serviceType,
@@ -119,7 +116,7 @@ lasso_discovery_add_insert_entry(LassoDiscovery *discovery,
g_return_val_if_fail(providerID != NULL, NULL);
/* resourceID/encryptedResourceID and option are optional */
g_return_val_if_fail((resourceID == NULL && encryptedResourceID == NULL) || \
- (LASSO_IS_DISCO_RESOURCE_ID(resourceID) ^ \
+ (LASSO_IS_DISCO_RESOURCE_ID(resourceID) ^ \
LASSO_IS_DISCO_ENCRYPTED_RESOURCE_ID(encryptedResourceID)), NULL);
modify = LASSO_DISCO_MODIFY(LASSO_WSF_PROFILE(discovery)->request);
@@ -129,8 +126,8 @@ lasso_discovery_add_insert_entry(LassoDiscovery *discovery,
resource = lasso_disco_resource_offering_new(service);
/* ResourceID and EncryptedResourceID are owned by the method caller,
so increment reference count */
- resource->ResourceID = g_object_ref(resourceID);
- resource->EncryptedResourceID = g_object_ref(encryptedResourceID);
+ resource->ResourceID = resourceID;
+ resource->EncryptedResourceID = encryptedResourceID;
entry = lasso_disco_insert_entry_new();
entry->ResourceOffering = resource;
diff --git a/lasso/xml/disco_modify.c b/lasso/xml/disco_modify.c
index a615b1a4..c0d85b74 100644
--- a/lasso/xml/disco_modify.c
+++ b/lasso/xml/disco_modify.c
@@ -52,7 +52,9 @@
/*****************************************************************************/
static struct XmlSnippet schema_snippets[] = {
- { "", SNIPPET_NODE, G_STRUCT_OFFSET(LassoDiscoModify, resourceId) },
+ { "ResourceID", SNIPPET_NODE, G_STRUCT_OFFSET(LassoDiscoModify, ResourceID) },
+ { "EncryptedResourceID", SNIPPET_NODE, \
+ G_STRUCT_OFFSET(LassoDiscoModify, EncryptedResourceID) },
{ "InsertEntry", SNIPPET_LIST_NODES, G_STRUCT_OFFSET(LassoDiscoModify, InsertEntry) },
{ "RemoveEntry", SNIPPET_LIST_NODES, G_STRUCT_OFFSET(LassoDiscoModify, RemoveEntry) },
{ "id", SNIPPET_ATTRIBUTE, G_STRUCT_OFFSET(LassoDiscoModify, id) },
@@ -66,7 +68,8 @@ static struct XmlSnippet schema_snippets[] = {
static void
instance_init(LassoDiscoModify *node)
{
- node->resourceId = NULL;
+ node->ResourceID = NULL;
+ node->EncryptedResourceID = NULL;
node->InsertEntry = NULL;
node->RemoveEntry = NULL;
node->id = NULL;
diff --git a/lasso/xml/disco_modify.h b/lasso/xml/disco_modify.h
index c1aa1253..f952ee36 100644
--- a/lasso/xml/disco_modify.h
+++ b/lasso/xml/disco_modify.h
@@ -50,8 +50,8 @@ typedef struct _LassoDiscoModifyClass LassoDiscoModifyClass;
struct _LassoDiscoModify {
LassoNode parent;
- /* must be either LassoResourceID or LassoEncryptedResourceID */
- LassoNode *resourceId;
+ LassoDiscoResourceID *ResourceID;
+ LassoDiscoEncryptedResourceID *EncryptedResourceID;
GList *InsertEntry;
GList *RemoveEntry;
diff --git a/lasso/xml/strings.h b/lasso/xml/strings.h
index d76f33eb..4de6d1c7 100644
--- a/lasso/xml/strings.h
+++ b/lasso/xml/strings.h
@@ -141,6 +141,18 @@
/* Liberty Alliance ID-WSF */
/*****************************************************************************/
+/* Liberty Security Mechanisms */
+#define LASSO_SECURITY_MECH_TLS "urn:liberty:security:2003-08:TLS:null"
+#define LASSO_SECURITY_MECH_TLS_X509 "urn:liberty:security:2003-08:TLS:X509"
+#define LASSO_SECURITY_MECH_TLS_SAML "urn:liberty:security:2003-08:TLS:SAML"
+#define LASSO_SECURITY_MECH_TLS_BEARER "urn:liberty:security:2004-04:TLS:Bearer"
+
+#define LASSO_SECURITY_MECH_CLIENT_TLS "urn:liberty:security:2003-08:ClientTLS:null"
+#define LASSO_SECURITY_MECH_CLIENT_TLS_X509 "urn:liberty:security:2003-08:ClientTLS:X509"
+#define LASSO_SECURITY_MECH_CLIENT_TLS_SAML "urn:liberty:security:2003-08:ClientTLS:SAML"
+#define LASSO_SECURITY_MECH_CLIENT_TLS_BEARER "urn:liberty:security:2004-04:ClientTLS:Bearer"
+
+
/* disco prefix & href */
#define LASSO_DISCO_HREF "urn:liberty:disco:2003-08"
#define LASSO_DISCO_PREFIX "disco"
diff --git a/swig/Lasso-wsf.i b/swig/Lasso-wsf.i
index afffb3d1..2faaa384 100644
--- a/swig/Lasso-wsf.i
+++ b/swig/Lasso-wsf.i
@@ -69,6 +69,27 @@
***********************************************************************
***********************************************************************/
+/* Liberty Security Mechanisms */
+#ifndef SWIGPHP4
+%rename(SECURITY_MECH_TLS) LASSO_SECURITY_MECH_TLS;
+%rename(SECURITY_MECH_TLS_X509) LASSO_SECURITY_MECH_TLS_X509;
+%rename(SECURITY_MECH_TLS_SAML) LASSO_SECURITY_MECH_TLS_SAML;
+%rename(SECURITY_MECH_TLS_BEARER) LASSO_SECURITY_MECH_TLS_BEARER;
+
+%rename(SECURITY_MECH_CLIENT_TLS_X509) LASSO_SECURITY_MECH_CLIENT_TLS_X509;
+%rename(SECURITY_MECH_CLIENT_TLS_SAML) LASSO_SECURITY_MECH_CLIENT_TLS_SAML;
+%rename(SECURITY_MECH_CLIENT_TLS_BEARER) LASSO_SECURITY_MECH_CLIENT_TLS_BEARER;
+#endif
+#define LASSO_SECURITY_MECH_TLS "urn:liberty:security:2003-08:TLS:null"
+#define LASSO_SECURITY_MECH_TLS_X509 "urn:liberty:security:2003-08:TLS:X509"
+#define LASSO_SECURITY_MECH_TLS_SAML "urn:liberty:security:2003-08:TLS:SAML"
+#define LASSO_SECURITY_MECH_TLS_BEARER "urn:liberty:security:2004-04:TLS:Bearer"
+
+#define LASSO_SECURITY_MECH_CLIENT_TLS "urn:liberty:security:2003-08:ClientTLS:null"
+#define LASSO_SECURITY_MECH_CLIENT_TLS_X509 "urn:liberty:security:2003-08:ClientTLS:X509"
+#define LASSO_SECURITY_MECH_CLIENT_TLS_SAML "urn:liberty:security:2003-08:ClientTLS:SAML"
+#define LASSO_SECURITY_MECH_CLIENT_TLS_BEARER "urn:liberty:security:2004-04:ClientTLS:Bearer"
+
/* WSF prefix & href */
#ifndef SWIGPHP4
@@ -728,8 +749,17 @@ typedef struct {
%newobject RemoveEntry_get;
LassoNodeList *RemoveEntry;
- %newobject resourceId_get;
- LassoNode *resourceId;
+#ifndef SWIGPHP4
+ %rename(resourceId) ResourceID;
+#endif
+ %newobject ResourceID_get;
+ LassoDiscoResourceID *ResourceID;
+
+#ifndef SWIGPHP4
+ %rename(encryptedResourceId) EncryptedResourceID;
+#endif
+ %newobject EncryptedResourceID_get;
+ LassoDiscoEncryptedResourceID *EncryptedResourceID;
/* Constructor, Destructor & Static Methods */
@@ -759,11 +789,17 @@ typedef struct {
#define LassoDiscoModify_set_RemoveEntry(self, value) set_node_list(&(self)->RemoveEntry, (value))
#define LassoDiscoModify_RemoveEntry_set(self, value) set_node_list(&(self)->RemoveEntry, (value))
-/* resourceId */
-#define LassoDiscoModify_get_resourceId(self) get_node((self)->resourceId)
-#define LassoDiscoModify_resourceId_get(self) get_node((self)->resourceId)
-#define LassoDiscoModify_set_resourceId(self, value) set_node((gpointer *) &(self)->resourceId, (value))
-#define LassoDiscoModify_resourceId_set(self, value) set_node((gpointer *) &(self)->resourceId, (value))
+/* ResourceID */
+#define LassoDiscoModify_get_ResourceID(self) get_node((self)->ResourceID)
+#define LassoDiscoModify_ResourceID_get(self) get_node((self)->ResourceID)
+#define LassoDiscoModify_set_ResourceID(self, value) set_node((gpointer *) &(self)->ResourceID, (value))
+#define LassoDiscoModify_ResourceID_set(self, value) set_node((gpointer *) &(self)->ResourceID, (value))
+
+/* EncryptedResourceID */
+#define LassoDiscoModify_get_EncryptedResourceID(self) get_node((self)->EncryptedResourceID)
+#define LassoDiscoModify_EncryptedResourceID_get(self) get_node((self)->EncryptedResourceID)
+#define LassoDiscoModify_set_EncryptedResourceID(self, value) set_node((gpointer *) &(self)->EncryptedResourceID, (value))
+#define LassoDiscoModify_EncryptedResourceID_set(self, value) set_node((gpointer *) &(self)->EncryptedResourceID, (value))
/* Constructors, destructors & static methods implementations */
@@ -3310,8 +3346,8 @@ typedef struct {
LassoDiscoInsertEntry* addInsertEntry(char *serviceType,
char *providerID,
LassoDiscoDescription *description,
- LassoDiscoResourceID *resourceID,
- LassoDiscoEncryptedResourceID *encryptedResourceID);
+ LassoDiscoResourceID *resourceID = NULL,
+ LassoDiscoEncryptedResourceID *encryptedResourceID = NULL);
THROW_ERROR
int addRemoveEntry(char *entryID);