Author: kaushalye Date: Wed Dec 12 01:26:21 2007 New Revision: 603521 URL: http://svn.apache.org/viewvc?rev=603521&view=rev Log: New EncryptedHeader node to the token base
Added: webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c Modified: webservices/rampart/trunk/c/NEWS webservices/rampart/trunk/c/include/oxs_constants.h webservices/rampart/trunk/c/include/oxs_tokens.h webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am webservices/rampart/trunk/c/src/util/rampart_handler_util.c Modified: webservices/rampart/trunk/c/NEWS URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/NEWS?rev=603521&r1=603520&r2=603521&view=diff ============================================================================== --- webservices/rampart/trunk/c/NEWS (original) +++ webservices/rampart/trunk/c/NEWS Wed Dec 12 01:26:21 2007 @@ -63,7 +63,6 @@ 1. SAML support 2. WS-Secure conversation 3. WS-Trust -4. Some WS-Security 1.1 features We welcome your early feedback on this implementation. Modified: webservices/rampart/trunk/c/include/oxs_constants.h URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/oxs_constants.h?rev=603521&r1=603520&r2=603521&view=diff ============================================================================== --- webservices/rampart/trunk/c/include/oxs_constants.h (original) +++ webservices/rampart/trunk/c/include/oxs_constants.h Wed Dec 12 01:26:21 2007 @@ -386,7 +386,7 @@ WS Security 1.1 ****************************************************************/ #define OXS_WSS_11_VALUE_TYPE_ENCRYPTED_KEY "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" - +#define OXS_NODE_ENCRYPTED_HEADER "EncryptedHeader" /*************************************************************************/ Modified: webservices/rampart/trunk/c/include/oxs_tokens.h URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/include/oxs_tokens.h?rev=603521&r1=603520&r2=603521&view=diff ============================================================================== --- webservices/rampart/trunk/c/include/oxs_tokens.h (original) +++ webservices/rampart/trunk/c/include/oxs_tokens.h Wed Dec 12 01:26:21 2007 @@ -322,6 +322,15 @@ axiom_node_t * parent, axis2_char_t * id); + /** + * Creates <wss11:EncryptedHeader> element + */ + AXIS2_EXTERN axiom_node_t * AXIS2_CALL + oxs_token_build_enc_header_element( + const axutil_env_t * env, + axiom_node_t * parent, + axis2_char_t * id); + /** * Creates <ds:SignatureMethod> element */ Modified: webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am?rev=603521&r1=603520&r2=603521&view=diff ============================================================================== --- webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am (original) +++ webservices/rampart/trunk/c/src/omxmlsec/tokens/Makefile.am Wed Dec 12 01:26:21 2007 @@ -9,7 +9,8 @@ token_c14n_method.c token_signature_method.c token_digest_method.c token_digest_value.c \ token_transform.c token_transforms.c token_signature.c token_ds_reference.c \ token_x509_certificate.c token_signature_confirmation.c token_derived_key_token.c \ - token_properties.c token_generation.c token_length.c token_nonce.c token_offset.c token_label.c + token_properties.c token_generation.c token_length.c token_nonce.c token_offset.c token_label.c \ + token_encrypted_header.c INCLUDES = -I$(top_builddir)/include \ Added: webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c?rev=603521&view=auto ============================================================================== --- webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c (added) +++ webservices/rampart/trunk/c/src/omxmlsec/tokens/token_encrypted_header.c Wed Dec 12 01:26:21 2007 @@ -0,0 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <stdio.h> +#include <oxs_constants.h> +#include <oxs_error.h> +#include <oxs_tokens.h> +#include <axiom_attribute.h> +#include <axiom_element.h> + + + +AXIS2_EXTERN axiom_node_t* AXIS2_CALL +oxs_token_build_enc_header_element(const axutil_env_t *env, + axiom_node_t *parent, + axis2_char_t* id) +{ + axiom_node_t *enc_header_node = NULL; + axiom_element_t *enc_header_ele = NULL; + axiom_attribute_t *id_attr = NULL; + axiom_namespace_t *ns_obj = NULL; + int ret; + + ns_obj = axiom_namespace_create(env, OXS_WSSE_11_XMLNS, + OXS_WSSE_11); + + enc_header_ele = axiom_element_create(env, parent, OXS_NODE_SIGNATURE, ns_obj, &enc_header_node); + if (!enc_header_ele) + { + oxs_error(env, ERROR_LOCATION, + OXS_ERROR_ELEMENT_FAILED, "Error creating wss11:EncryptedHeader element"); + return NULL; + } + + /*If id is not NULL then add it as an attribute*/ + if (id) + { + id_attr = axiom_attribute_create(env, OXS_ATTR_ID, id, NULL); + ret = axiom_element_add_attribute(enc_header_ele, env, id_attr, enc_header_node); + } + + return enc_header_node; + +} + Modified: webservices/rampart/trunk/c/src/util/rampart_handler_util.c URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_handler_util.c?rev=603521&r1=603520&r2=603521&view=diff ============================================================================== --- webservices/rampart/trunk/c/src/util/rampart_handler_util.c (original) +++ webservices/rampart/trunk/c/src/util/rampart_handler_util.c Wed Dec 12 01:26:21 2007 @@ -135,8 +135,9 @@ { /*Set mustUnderstand = 0*/ axiom_soap_header_block_set_must_understand_with_bool(header_block, env, AXIS2_FALSE); - if (env) + if (env){ AXIS2_FREE(env->allocator, hash_index); + } return header_block_node; }