From: Andreas Steffen Date: Sat, 8 Jan 2011 01:15:10 +0000 (+0100) Subject: created process() method for TNCCS messages X-Git-Tag: 4.5.1~126 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1c4b4f76adde294d770e09d7f63446ecc80f8cec;p=thirdparty%2Fstrongswan.git created process() method for TNCCS messages --- diff --git a/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.c b/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.c index 30b5e7bb71..2c3bc59be7 100644 --- a/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.c +++ b/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.c @@ -66,6 +66,12 @@ METHOD(tnccs_msg_t, get_node, xmlNodePtr, return this->node; } +METHOD(tnccs_msg_t, process, status_t, + private_imc_imv_msg_t *this) +{ + return SUCCESS; +} + /** * Converts message data into multiple base64-encoded lines */ @@ -131,6 +137,7 @@ tnccs_msg_t *imc_imv_msg_create_from_node(xmlNodePtr node) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_msg_type = _get_msg_type, @@ -158,6 +165,7 @@ tnccs_msg_t *imc_imv_msg_create(TNC_MessageType msg_type, chunk_t msg_body) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_msg_type = _get_msg_type, diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_contact_info_msg.c b/src/libcharon/plugins/tnccs_11/messages/tnccs_contact_info_msg.c deleted file mode 100644 index 099e818508..0000000000 --- a/src/libcharon/plugins/tnccs_11/messages/tnccs_contact_info_msg.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2010 Andreas Steffen, HSR Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -#include "tnccs_tncs_contact_info_msg.h" - -#include - -typedef struct private_tnccs_tncs_contact_info_msg_t private_tnccs_tncs_contact_info_msg_t; - -/** - * Private data of a tnccs_tncs_contact_info_msg_t object. - * - */ -struct private_tnccs_tncs_contact_info_msg_t { - /** - * Public tnccs_tncs_contact_info_msg_t interface. - */ - tnccs_tncs_contact_info_msg_t public; - - /** - * TNCCS message type - */ - tnccs_msg_type_t type; - - /** - * XML-encoded message node - */ - xmlNodePtr node; -}; - -METHOD(tnccs_msg_t, get_type, tnccs_msg_type_t, - private_tnccs_tncs_contact_info_msg_t *this) -{ - return this->type; -} - -METHOD(tnccs_msg_t, get_node, xmlNodePtr, - private_tnccs_tncs_contact_info_msg_t *this) -{ - return this->node; -} - -METHOD(tnccs_msg_t, destroy, void, - private_tnccs_tncs_contact_info_msg_t *this) -{ - free(this); -} - -/** - * See header - */ -tnccs_msg_t *tnccs_tncs_contact_info_msg_create_from_node(xmlNodePtr node) -{ - private_tnccs_tncs_contact_info_msg_t *this; - - INIT(this, - .public = { - .tnccs_msg_interface = { - .get_type = _get_type, - .get_node = _get_node, - .destroy = _destroy, - }, - }, - .type = TNCCS_MSG_TNCS_CONTACT_INFO, - .node = node, - ); - - return &this->public.tnccs_msg_interface; -} - -/** - * See header - */ -tnccs_msg_t *tnccs_tncs_contact_info_msg_create(void) -{ - private_tnccs_tncs_contact_info_msg_t *this; - xmlNodePtr n, n2; - - INIT(this, - .public = { - .tnccs_msg_interface = { - .get_type = _get_type, - .get_node = _get_node, - .destroy = _destroy, - }, - }, - .type = TNCCS_MSG_TNCS_CONTACT_INFO, - .node = xmlNewNode(NULL, BAD_CAST "TNCC-TNCS-Message"), - ); - - /* add the message type number in hex */ - n = xmlNewNode(NULL, BAD_CAST "Type"); - xmlNodeSetContent(n, BAD_CAST "00000005"); - xmlAddChild(this->node, n); - - n = xmlNewNode(NULL, BAD_CAST "XML"); - xmlAddChild(this->node, n); - -/* TODO - n2 = xmlNewNode(NULL, BAD_CAST enum_to_name(tnccs_msg_type_names, this->type)); - xmlNodeSetContent(n2, BAD_CAST language); - xmlAddChild(n, n2); -*/ - - return &this->public.tnccs_msg_interface; -} diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_contact_info_msg.h b/src/libcharon/plugins/tnccs_11/messages/tnccs_contact_info_msg.h deleted file mode 100644 index 83eac7cb52..0000000000 --- a/src/libcharon/plugins/tnccs_11/messages/tnccs_contact_info_msg.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2010 Andreas Steffen - * HSR Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See . - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - */ - -/** - * @defgroup tnccs_tncs_contact_info_msg tnccs_tncs_contact_info_msg - * @{ @ingroup tnccs_11 - */ - -#ifndef TNCCS_TNCS_CONTACT_INFO_MSG_H_ -#define TNCCS_TNCS_CONTACT_INFO_MSG_H_ - -typedef struct tnccs_tncs_contact_info_msg_t tnccs_tncs_contact_info_msg_t; - -#include "tnccs_msg.h" - -/** - * Class representing the TNCCS-TNCSContactInfo message type - */ -struct tnccs_tncs_contact_info_msg_t { - - /** - * TNCCS Message interface - */ - tnccs_msg_t tnccs_msg_interface; -}; - -/** - * Create a TNCCS-TNCSContactInfo message from XML-encoded message node - * - * @param msg_node XML-encoded message node - */ -tnccs_msg_t *tnccs_tncs_contact_info_msg_create_from_node(xmlNodePtr node); - -/** - * Create a TNCCS-TNCSContactInfo message from parameters - * - * @param language preferred language string - */ -tnccs_msg_t *tnccs_tncs_contact_info_msg_create(char *language); - -#endif /** TNCCS_TNCS_CONTACT_INFO_MSG_H_ @}*/ diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_error_msg.c b/src/libcharon/plugins/tnccs_11/messages/tnccs_error_msg.c index f74d06a1e9..8a5646815e 100644 --- a/src/libcharon/plugins/tnccs_11/messages/tnccs_error_msg.c +++ b/src/libcharon/plugins/tnccs_11/messages/tnccs_error_msg.c @@ -71,6 +71,12 @@ METHOD(tnccs_msg_t, get_node, xmlNodePtr, return this->node; } +METHOD(tnccs_msg_t, process, status_t, + private_tnccs_error_msg_t *this) +{ + return SUCCESS; +} + METHOD(tnccs_msg_t, destroy, void, private_tnccs_error_msg_t *this) { @@ -98,6 +104,7 @@ tnccs_msg_t *tnccs_error_msg_create_from_node(xmlNodePtr node) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_message = _get_message, @@ -122,6 +129,7 @@ tnccs_msg_t *tnccs_error_msg_create(tnccs_error_type_t type, char *msg) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_message = _get_message, diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_preferred_language_msg.c b/src/libcharon/plugins/tnccs_11/messages/tnccs_preferred_language_msg.c index d76159be9c..9859222218 100644 --- a/src/libcharon/plugins/tnccs_11/messages/tnccs_preferred_language_msg.c +++ b/src/libcharon/plugins/tnccs_11/messages/tnccs_preferred_language_msg.c @@ -57,6 +57,12 @@ METHOD(tnccs_msg_t, get_node, xmlNodePtr, return this->node; } +METHOD(tnccs_msg_t, process, status_t, + private_tnccs_preferred_language_msg_t *this) +{ + return SUCCESS; +} + METHOD(tnccs_msg_t, destroy, void, private_tnccs_preferred_language_msg_t *this) { @@ -82,6 +88,7 @@ tnccs_msg_t *tnccs_preferred_language_msg_create_from_node(xmlNodePtr node) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_preferred_language = _get_preferred_language, @@ -106,6 +113,7 @@ tnccs_msg_t *tnccs_preferred_language_msg_create(char *language) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_preferred_language = _get_preferred_language, diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_reason_strings_msg.c b/src/libcharon/plugins/tnccs_11/messages/tnccs_reason_strings_msg.c index 884cd14242..af1621b4bb 100644 --- a/src/libcharon/plugins/tnccs_11/messages/tnccs_reason_strings_msg.c +++ b/src/libcharon/plugins/tnccs_11/messages/tnccs_reason_strings_msg.c @@ -62,6 +62,12 @@ METHOD(tnccs_msg_t, get_node, xmlNodePtr, return this->node; } +METHOD(tnccs_msg_t, process, status_t, + private_tnccs_reason_strings_msg_t *this) +{ + return SUCCESS; +} + METHOD(tnccs_msg_t, destroy, void, private_tnccs_reason_strings_msg_t *this) { @@ -90,6 +96,7 @@ tnccs_msg_t *tnccs_reason_strings_msg_create_from_node(xmlNodePtr node) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_reason = _get_reason, @@ -114,6 +121,7 @@ tnccs_msg_t *tnccs_reason_strings_msg_create(char *language, char *reason) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_reason = _get_reason, diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_recommendation_msg.c b/src/libcharon/plugins/tnccs_11/messages/tnccs_recommendation_msg.c index 2ac2b271e5..62874b0ba5 100644 --- a/src/libcharon/plugins/tnccs_11/messages/tnccs_recommendation_msg.c +++ b/src/libcharon/plugins/tnccs_11/messages/tnccs_recommendation_msg.c @@ -57,6 +57,12 @@ METHOD(tnccs_msg_t, get_node, xmlNodePtr, return this->node; } +METHOD(tnccs_msg_t, process, status_t, + private_tnccs_recommendation_msg_t *this) +{ + return SUCCESS; +} + METHOD(tnccs_msg_t, destroy, void, private_tnccs_recommendation_msg_t *this) { @@ -81,6 +87,7 @@ tnccs_msg_t *tnccs_recommendation_msg_create_from_node(xmlNodePtr node) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_recommendation = _get_recommendation, @@ -106,6 +113,7 @@ tnccs_msg_t *tnccs_recommendation_msg_create(TNC_IMV_Action_Recommendation rec) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, .get_recommendation = _get_recommendation, diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_tncs_contact_info_msg.c b/src/libcharon/plugins/tnccs_11/messages/tnccs_tncs_contact_info_msg.c index 34a40c2886..394e645905 100644 --- a/src/libcharon/plugins/tnccs_11/messages/tnccs_tncs_contact_info_msg.c +++ b/src/libcharon/plugins/tnccs_11/messages/tnccs_tncs_contact_info_msg.c @@ -24,7 +24,7 @@ typedef struct private_tnccs_tncs_contact_info_msg_t private_tnccs_tncs_contact_ */ struct private_tnccs_tncs_contact_info_msg_t { /** - * Public tnccs_tncs_contact_info_t interface. + * Public tnccs_tncs_contact_info_msg_t interface. */ tnccs_tncs_contact_info_msg_t public; @@ -37,11 +37,6 @@ struct private_tnccs_tncs_contact_info_msg_t { * XML-encoded message node */ xmlNodePtr node; - - /** - * Preferred language - */ - char *preferred_language; }; METHOD(tnccs_msg_t, get_type, tnccs_msg_type_t, @@ -56,10 +51,14 @@ METHOD(tnccs_msg_t, get_node, xmlNodePtr, return this->node; } +METHOD(tnccs_msg_t, process, status_t, + private_tnccs_tncs_contact_info_msg_t *this) +{ + return SUCCESS; +} METHOD(tnccs_msg_t, destroy, void, private_tnccs_tncs_contact_info_msg_t *this) { - free(this->preferred_language); free(this); } @@ -75,6 +74,7 @@ tnccs_msg_t *tnccs_tncs_contact_info_msg_create_from_node(xmlNodePtr node) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, }, @@ -88,7 +88,7 @@ tnccs_msg_t *tnccs_tncs_contact_info_msg_create_from_node(xmlNodePtr node) /** * See header */ -tnccs_msg_t *tnccs_tncs_contact_info_msg_create(char *language) +tnccs_msg_t *tnccs_tncs_contact_info_msg_create(void) { private_tnccs_tncs_contact_info_msg_t *this; xmlNodePtr n, n2; @@ -98,25 +98,27 @@ tnccs_msg_t *tnccs_tncs_contact_info_msg_create(char *language) .tnccs_msg_interface = { .get_type = _get_type, .get_node = _get_node, + .process = _process, .destroy = _destroy, }, }, .type = TNCCS_MSG_TNCS_CONTACT_INFO, .node = xmlNewNode(NULL, BAD_CAST "TNCC-TNCS-Message"), - .preferred_language = strdup(language), ); - // Add the message type number - n = xmlNewNode(NULL, BAD_CAST "Type"); - xmlNodeSetContent(n, BAD_CAST "00000005"); - xmlAddChild(this->node, n); + /* add the message type number in hex */ + n = xmlNewNode(NULL, BAD_CAST "Type"); + xmlNodeSetContent(n, BAD_CAST "00000005"); + xmlAddChild(this->node, n); - n = xmlNewNode(NULL, BAD_CAST "XML"); - xmlAddChild(this->node, n); + n = xmlNewNode(NULL, BAD_CAST "XML"); + xmlAddChild(this->node, n); - n2 = xmlNewNode(NULL, BAD_CAST "TNCCS-TNCSContactInfo"); - xmlNodeSetContent(n2, BAD_CAST language); - xmlAddChild(n, n2); +/* TODO + n2 = xmlNewNode(NULL, BAD_CAST enum_to_name(tnccs_msg_type_names, this->type)); + xmlNodeSetContent(n2, BAD_CAST language); + xmlAddChild(n, n2); +*/ return &this->public.tnccs_msg_interface; } diff --git a/src/libcharon/plugins/tnccs_11/messages/tnccs_tncs_contact_info_msg.h b/src/libcharon/plugins/tnccs_11/messages/tnccs_tncs_contact_info_msg.h index 83eac7cb52..ef21cd3fab 100644 --- a/src/libcharon/plugins/tnccs_11/messages/tnccs_tncs_contact_info_msg.h +++ b/src/libcharon/plugins/tnccs_11/messages/tnccs_tncs_contact_info_msg.h @@ -46,8 +46,7 @@ tnccs_msg_t *tnccs_tncs_contact_info_msg_create_from_node(xmlNodePtr node); /** * Create a TNCCS-TNCSContactInfo message from parameters * - * @param language preferred language string */ -tnccs_msg_t *tnccs_tncs_contact_info_msg_create(char *language); +tnccs_msg_t *tnccs_tncs_contact_info_msg_create(void); #endif /** TNCCS_TNCS_CONTACT_INFO_MSG_H_ @}*/