From 07bb297329b9e9754d09dcb6d70417272a626619 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Thu, 22 Nov 2012 10:31:06 -0800 Subject: Imported Upstream version 1.2.14 --- src/membuf.c | 206 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 103 insertions(+), 103 deletions(-) (limited to 'src/membuf.c') diff --git a/src/membuf.c b/src/membuf.c index eb78156c..55053253 100644 --- a/src/membuf.c +++ b/src/membuf.c @@ -1,18 +1,18 @@ -/** +/** * XML Security Library (http://www.aleksey.com/xmlsec). * * Memory buffer transform * * This is free software; see Copyright file in the source * distribution for preciese wording. - * + * * Copyright (C) 2002-2003 Aleksey Sanin */ #include "globals.h" #include #include - + #include #include @@ -28,78 +28,78 @@ /***************************************************************************** * * Memory Buffer Transform - * + * * xmlSecBuffer is located after xmlSecTransform - * + * ****************************************************************************/ #define xmlSecTransformMemBufSize \ - (sizeof(xmlSecTransform) + sizeof(xmlSecBuffer)) + (sizeof(xmlSecTransform) + sizeof(xmlSecBuffer)) #define xmlSecTransformMemBufGetBuf(transform) \ ((xmlSecTransformCheckSize((transform), xmlSecTransformMemBufSize)) ? \ - (xmlSecBufferPtr)(((xmlSecByte*)(transform)) + sizeof(xmlSecTransform)) : \ - (xmlSecBufferPtr)NULL) - -static int xmlSecTransformMemBufInitialize (xmlSecTransformPtr transform); -static void xmlSecTransformMemBufFinalize (xmlSecTransformPtr transform); -static int xmlSecTransformMemBufExecute (xmlSecTransformPtr transform, - int last, - xmlSecTransformCtxPtr transformCtx); + (xmlSecBufferPtr)(((xmlSecByte*)(transform)) + sizeof(xmlSecTransform)) : \ + (xmlSecBufferPtr)NULL) + +static int xmlSecTransformMemBufInitialize (xmlSecTransformPtr transform); +static void xmlSecTransformMemBufFinalize (xmlSecTransformPtr transform); +static int xmlSecTransformMemBufExecute (xmlSecTransformPtr transform, + int last, + xmlSecTransformCtxPtr transformCtx); static xmlSecTransformKlass xmlSecTransformMemBufKlass = { /* klass/object sizes */ - sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ - xmlSecTransformMemBufSize, /* xmlSecSize objSize */ - - xmlSecNameMemBuf, /* const xmlChar* name; */ - NULL, /* const xmlChar* href; */ - 0, /* xmlSecAlgorithmUsage usage; */ - - xmlSecTransformMemBufInitialize, /* xmlSecTransformInitializeMethod initialize; */ - xmlSecTransformMemBufFinalize, /* xmlSecTransformFianlizeMethod finalize; */ - NULL, /* xmlSecTransformNodeReadMethod readNode; */ - NULL, /* xmlSecTransformNodeWriteMethod writeNode; */ - NULL, /* xmlSecTransformSetKeyReqMethod setKeyReq; */ - NULL, /* xmlSecTransformSetKeyMethod setKey; */ - NULL, /* xmlSecTransformValidateMethod validate; */ - xmlSecTransformDefaultGetDataType, /* xmlSecTransformGetDataTypeMethod getDataType; */ - xmlSecTransformDefaultPushBin, /* xmlSecTransformPushBinMethod pushBin; */ - xmlSecTransformDefaultPopBin, /* xmlSecTransformPopBinMethod popBin; */ - NULL, /* xmlSecTransformPushXmlMethod pushXml; */ - NULL, /* xmlSecTransformPopXmlMethod popXml; */ - xmlSecTransformMemBufExecute, /* xmlSecTransformExecuteMethod execute; */ - - NULL, /* void* reserved0; */ - NULL, /* void* reserved1; */ + sizeof(xmlSecTransformKlass), /* xmlSecSize klassSize */ + xmlSecTransformMemBufSize, /* xmlSecSize objSize */ + + xmlSecNameMemBuf, /* const xmlChar* name; */ + NULL, /* const xmlChar* href; */ + 0, /* xmlSecAlgorithmUsage usage; */ + + xmlSecTransformMemBufInitialize, /* xmlSecTransformInitializeMethod initialize; */ + xmlSecTransformMemBufFinalize, /* xmlSecTransformFianlizeMethod finalize; */ + NULL, /* xmlSecTransformNodeReadMethod readNode; */ + NULL, /* xmlSecTransformNodeWriteMethod writeNode; */ + NULL, /* xmlSecTransformSetKeyReqMethod setKeyReq; */ + NULL, /* xmlSecTransformSetKeyMethod setKey; */ + NULL, /* xmlSecTransformValidateMethod validate; */ + xmlSecTransformDefaultGetDataType, /* xmlSecTransformGetDataTypeMethod getDataType; */ + xmlSecTransformDefaultPushBin, /* xmlSecTransformPushBinMethod pushBin; */ + xmlSecTransformDefaultPopBin, /* xmlSecTransformPopBinMethod popBin; */ + NULL, /* xmlSecTransformPushXmlMethod pushXml; */ + NULL, /* xmlSecTransformPopXmlMethod popXml; */ + xmlSecTransformMemBufExecute, /* xmlSecTransformExecuteMethod execute; */ + + NULL, /* void* reserved0; */ + NULL, /* void* reserved1; */ }; /** * xmlSecTransformMemBufGetKlass: - * + * * The memory buffer transorm (used to store the data that go through it). * * Returns: memory buffer transform klass. */ -xmlSecTransformId +xmlSecTransformId xmlSecTransformMemBufGetKlass(void) { return(&xmlSecTransformMemBufKlass); } /** * xmlSecTransformMemBufGetBuffer: - * @transform: the pointer to memory buffer transform. + * @transform: the pointer to memory buffer transform. + * + * Gets the pointer to memory buffer transform buffer. * - * Gets the pointer to memory buffer transform buffer. - * - * Returns: pointer to the transform's #xmlSecBuffer. + * Returns: pointer to the transform's #xmlSecBuffer. */ xmlSecBufferPtr xmlSecTransformMemBufGetBuffer(xmlSecTransformPtr transform) { xmlSecBufferPtr buffer; xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecTransformMemBufId), NULL); - + buffer = xmlSecTransformMemBufGetBuf(transform); xmlSecAssert2(buffer != NULL, NULL); - + return(buffer); } @@ -107,7 +107,7 @@ static int xmlSecTransformMemBufInitialize(xmlSecTransformPtr transform) { xmlSecBufferPtr buffer; int ret; - + xmlSecAssert2(xmlSecTransformCheckId(transform, xmlSecTransformMemBufId), -1); buffer = xmlSecTransformMemBufGetBuf(transform); @@ -115,14 +115,14 @@ xmlSecTransformMemBufInitialize(xmlSecTransformPtr transform) { ret = xmlSecBufferInitialize(buffer, 0); if(ret < 0) { - xmlSecError(XMLSEC_ERRORS_HERE, - xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), - "xmlSecBufferInitialize", - XMLSEC_ERRORS_R_XMLSEC_FAILED, - XMLSEC_ERRORS_NO_MESSAGE); - return(-1); + xmlSecError(XMLSEC_ERRORS_HERE, + xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), + "xmlSecBufferInitialize", + XMLSEC_ERRORS_R_XMLSEC_FAILED, + XMLSEC_ERRORS_NO_MESSAGE); + return(-1); } - return(0); + return(0); } static void @@ -133,11 +133,11 @@ xmlSecTransformMemBufFinalize(xmlSecTransformPtr transform) { buffer = xmlSecTransformMemBufGetBuf(transform); xmlSecAssert(buffer != NULL); - - xmlSecBufferFinalize(xmlSecTransformMemBufGetBuf(transform)); + + xmlSecBufferFinalize(xmlSecTransformMemBufGetBuf(transform)); } -static int +static int xmlSecTransformMemBufExecute(xmlSecTransformPtr transform, int last, xmlSecTransformCtxPtr transformCtx) { xmlSecBufferPtr buffer; xmlSecBufferPtr in, out; @@ -149,60 +149,60 @@ xmlSecTransformMemBufExecute(xmlSecTransformPtr transform, int last, xmlSecTrans buffer = xmlSecTransformMemBufGetBuf(transform); xmlSecAssert2(buffer != NULL, -1); - + in = &(transform->inBuf); - out = &(transform->outBuf); + out = &(transform->outBuf); inSize = xmlSecBufferGetSize(in); if(transform->status == xmlSecTransformStatusNone) { - transform->status = xmlSecTransformStatusWorking; + transform->status = xmlSecTransformStatusWorking; } - - if(transform->status == xmlSecTransformStatusWorking) { - /* just copy everything from in to our buffer and out */ - ret = xmlSecBufferAppend(buffer, xmlSecBufferGetData(in), inSize); - if(ret < 0) { - xmlSecError(XMLSEC_ERRORS_HERE, - xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), - "xmlSecBufferAppend", - XMLSEC_ERRORS_R_XMLSEC_FAILED, - "size=%d", inSize); - return(-1); - } - - ret = xmlSecBufferAppend(out, xmlSecBufferGetData(in), inSize); - if(ret < 0) { - xmlSecError(XMLSEC_ERRORS_HERE, - xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), - "xmlSecBufferAppend", - XMLSEC_ERRORS_R_XMLSEC_FAILED, - "size=%d", inSize); - return(-1); - } - - ret = xmlSecBufferRemoveHead(in, inSize); - if(ret < 0) { - xmlSecError(XMLSEC_ERRORS_HERE, - xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), - "xmlSecBufferRemoveHead", - XMLSEC_ERRORS_R_XMLSEC_FAILED, - "size=%d", inSize); - return(-1); - } - - if(last != 0) { - transform->status = xmlSecTransformStatusFinished; - } + + if(transform->status == xmlSecTransformStatusWorking) { + /* just copy everything from in to our buffer and out */ + ret = xmlSecBufferAppend(buffer, xmlSecBufferGetData(in), inSize); + if(ret < 0) { + xmlSecError(XMLSEC_ERRORS_HERE, + xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), + "xmlSecBufferAppend", + XMLSEC_ERRORS_R_XMLSEC_FAILED, + "size=%d", inSize); + return(-1); + } + + ret = xmlSecBufferAppend(out, xmlSecBufferGetData(in), inSize); + if(ret < 0) { + xmlSecError(XMLSEC_ERRORS_HERE, + xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), + "xmlSecBufferAppend", + XMLSEC_ERRORS_R_XMLSEC_FAILED, + "size=%d", inSize); + return(-1); + } + + ret = xmlSecBufferRemoveHead(in, inSize); + if(ret < 0) { + xmlSecError(XMLSEC_ERRORS_HERE, + xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), + "xmlSecBufferRemoveHead", + XMLSEC_ERRORS_R_XMLSEC_FAILED, + "size=%d", inSize); + return(-1); + } + + if(last != 0) { + transform->status = xmlSecTransformStatusFinished; + } } else if(transform->status == xmlSecTransformStatusFinished) { - /* the only way we can get here is if there is no input */ - xmlSecAssert2(inSize == 0, -1); + /* the only way we can get here is if there is no input */ + xmlSecAssert2(inSize == 0, -1); } else { - xmlSecError(XMLSEC_ERRORS_HERE, - xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), - NULL, - XMLSEC_ERRORS_R_INVALID_STATUS, - "status=%d", transform->status); - return(-1); + xmlSecError(XMLSEC_ERRORS_HERE, + xmlSecErrorsSafeString(xmlSecTransformGetName(transform)), + NULL, + XMLSEC_ERRORS_R_INVALID_STATUS, + "status=%d", transform->status); + return(-1); } return(0); } -- cgit v1.2.3