You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by sc...@apache.org on 2008/12/07 00:34:26 UTC
svn commit: r724055 [3/3] - in /xml/security/trunk/c: ./
Projects/VC6.0/xsec/xsec_lib/ Projects/VC7.0/Samples/simpleDecrypt/
Projects/VC7.0/Samples/simpleEncrypt/ Projects/VC7.0/Samples/simpleHMAC/
Projects/VC7.0/Samples/simpleValidate/ Projects/VC7.0/...
Modified: xml/security/trunk/c/src/utils/XSECDOMUtils.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/XSECDOMUtils.cpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/XSECDOMUtils.cpp (original)
+++ xml/security/trunk/c/src/utils/XSECDOMUtils.cpp Sat Dec 6 15:34:24 2008
@@ -165,7 +165,7 @@
DOMNode *c;
- if (n == NULL)
+ if (n == NULL)
return n;
c = n->getFirstChild();
@@ -196,7 +196,7 @@
DOMNode *c;
- if (n == NULL)
+ if (n == NULL)
return NULL;
c = n->getFirstChild();
@@ -288,7 +288,7 @@
}
XMLCh * XMLT::getUnicodeStr(void) {
-
+
return mp_unicodeStr;
}
@@ -333,37 +333,38 @@
XMLTransService::Codes failReason;
#if defined(XSEC_XERCES_REQUIRES_MEMMGR)
- XMLTranscoder* t =
- XMLPlatformUtils::fgTransService->makeNewTranscoderFor("UTF-8",
- failReason,
- 2*1024,
+ XMLTranscoder* t =
+ XMLPlatformUtils::fgTransService->makeNewTranscoderFor("UTF-8",
+ failReason,
+ 2*1024,
XMLPlatformUtils::fgMemoryManager);
#else
- XMLTranscoder* t =
- XMLPlatformUtils::fgTransService->makeNewTranscoderFor("UTF-8",
- failReason,
+ XMLTranscoder* t =
+ XMLPlatformUtils::fgTransService->makeNewTranscoderFor("UTF-8",
+ failReason,
2*1024);
#endif
Janitor<XMLTranscoder> j_t(t);
// Need to loop through, 2K at a time
- unsigned int bytesEaten, bytesEatenCounter;
- unsigned int charactersEaten;
- unsigned int totalBytesEaten = 0;
- unsigned int bytesToEat = XMLString::stringLen((char *) src);
+ xsecsize_t bytesEaten, bytesEatenCounter;
+ xsecsize_t charactersEaten;
+ xsecsize_t totalBytesEaten = 0;
+ xsecsize_t bytesToEat = XMLString::stringLen((char *) src);
while (totalBytesEaten < bytesToEat) {
- int toEat = bytesToEat - totalBytesEaten;
+ xsecsize_t toEat = bytesToEat - totalBytesEaten;
+
if (toEat > 2048)
toEat = 2048;
- t->transcodeFrom(&src[totalBytesEaten],
- toEat,
- outputBuf,
- 2048,
- bytesEaten,
+ t->transcodeFrom(&src[totalBytesEaten],
+ toEat,
+ outputBuf,
+ 2048,
+ bytesEaten,
charSizes);
// Determine how many characters were used
@@ -372,7 +373,7 @@
while (bytesEatenCounter < bytesEaten) {
bytesEatenCounter += charSizes[charactersEaten++];
}
-
+
outputBuf[charactersEaten] = chNull;
fullDest.sbXMLChCat(outputBuf);
totalBytesEaten += bytesEaten;
@@ -394,36 +395,36 @@
XMLTransService::Codes failReason;
#if defined(XSEC_XERCES_REQUIRES_MEMMGR)
- XMLTranscoder* t =
- XMLPlatformUtils::fgTransService->makeNewTranscoderFor("UTF-8",
- failReason,
- 2*1024,
+ XMLTranscoder* t =
+ XMLPlatformUtils::fgTransService->makeNewTranscoderFor("UTF-8",
+ failReason,
+ 2*1024,
XMLPlatformUtils::fgMemoryManager);
#else
- XMLTranscoder* t =
- XMLPlatformUtils::fgTransService->makeNewTranscoderFor("UTF-8",
- failReason,
+ XMLTranscoder* t =
+ XMLPlatformUtils::fgTransService->makeNewTranscoderFor("UTF-8",
+ failReason,
2*1024);
#endif
Janitor<XMLTranscoder> j_t(t);
// Need to loop through, 2K at a time
- unsigned int charactersEaten, charactersOutput;
- unsigned int totalCharsEaten = 0;
- unsigned int charsToEat = XMLString::stringLen(src);
+ xsecsize_t charactersEaten, charactersOutput;
+ xsecsize_t totalCharsEaten = 0;
+ xsecsize_t charsToEat = XMLString::stringLen(src);
while (totalCharsEaten < charsToEat) {
- int toEat = charsToEat - totalCharsEaten;
+ xsecsize_t toEat = charsToEat - totalCharsEaten;
if (toEat > 2048)
toEat = 2048;
- charactersOutput = t->transcodeTo(&src[totalCharsEaten],
- toEat,
- (unsigned char * const) outputBuf,
- 2048,
- charactersEaten,
+ charactersOutput = t->transcodeTo(&src[totalCharsEaten],
+ toEat,
+ (unsigned char * const) outputBuf,
+ 2048,
+ charactersEaten,
XMLTranscoder::UnRep_RepChar);
outputBuf[charactersOutput] = '\0';
@@ -464,12 +465,12 @@
return NULL;
}
-
+
// Find where the trailing whitespace starts
const XMLCh * ws = &toEncode[XMLString::stringLen(toEncode)];
-
+
*ws--;
- while (ws != toEncode &&
+ while (ws != toEncode &&
(*ws == '\t' || *ws == '\r' || *ws ==' ' || *ws == '\n'))
*ws--;
@@ -525,7 +526,7 @@
}
else {
-
+
if (*i == chPlus ||
*i == chDoubleQuote ||
*i == chBackSlash ||
@@ -589,7 +590,7 @@
if (*i == chBackSlash) {
*i++;
-
+
if (*i == chDigit_0) {
*i++;
@@ -712,7 +713,7 @@
XMLCh * retPath = XMLString::replicate(str);
ArrayJanitor<XMLCh> j_retPath(retPath);
- int len = XMLString::stringLen(retPath);
+ xsecsize_t len = XMLString::stringLen(retPath);
int percentIndex = XMLString::indexOf(retPath, chPercent, 0);
while (percentIndex != -1) {
@@ -720,8 +721,8 @@
if (percentIndex+2 >= len ||
!isHexDigit(retPath[percentIndex+1]) ||
!isHexDigit(retPath[percentIndex+2]))
-
- throw XSECException(XSECException::ErrorOpeningURI,
+
+ throw XSECException(XSECException::ErrorOpeningURI,
"Bad escape sequence in URI");
unsigned int value = (xlatHexDigit(retPath[percentIndex+1]) * 16) +
Modified: xml/security/trunk/c/src/utils/XSECSOAPRequestorSimple.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/XSECSOAPRequestorSimple.cpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/XSECSOAPRequestorSimple.cpp (original)
+++ xml/security/trunk/c/src/utils/XSECSOAPRequestorSimple.cpp Sat Dec 6 15:34:24 2008
@@ -225,10 +225,8 @@
MemBufInputSource* memIS = new MemBufInputSource ((const XMLByte*) buf, len, "XSECMem");
Janitor<MemBufInputSource> j_memIS(memIS);
- int errorCount = 0;
-
parser->parse(*memIS);
- errorCount = parser->getErrorCount();
+ xsecsize_t errorCount = parser->getErrorCount();
if (errorCount > 0)
throw XSECException(XSECException::HTTPURIInputStreamError,
"Error parsing response message");
Modified: xml/security/trunk/c/src/utils/XSECSafeBuffer.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/XSECSafeBuffer.cpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/XSECSafeBuffer.cpp (original)
+++ xml/security/trunk/c/src/utils/XSECSafeBuffer.cpp Sat Dec 6 15:34:24 2008
@@ -49,22 +49,22 @@
#pragma warning(disable: 4311)
#endif
-void safeBuffer::checkAndExpand(unsigned int size) {
+void safeBuffer::checkAndExpand(xsecsize_t size) {
- // For a given size, check it will fit (with one byte spare)
+ // For a given size, check it will fit (with one byte spare)
// and expand if necessary
if (size + 1 < bufferSize)
return;
// Make the new size twice the size of the new string requirement
- int newBufferSize = size * 2;
+ xsecsize_t newBufferSize = size * 2;
unsigned char * newBuffer = new unsigned char[newBufferSize];
memcpy(newBuffer, buffer, bufferSize);
// If we are sensitive, clean the old buffer
- if (m_isSensitive == true)
+ if (m_isSensitive == true)
cleanseBuffer();
// clean up
@@ -91,13 +91,13 @@
}
-void safeBuffer::resize(unsigned int sz) {
+void safeBuffer::resize(xsecsize_t sz) {
checkAndExpand(sz);
}
-safeBuffer::safeBuffer(int initialSize) {
+safeBuffer::safeBuffer(xsecsize_t initialSize) {
// Initialise the buffer with a set size string
@@ -118,11 +118,10 @@
}
-safeBuffer::safeBuffer(const char * inStr, unsigned int initialSize) {
+safeBuffer::safeBuffer(const char * inStr, xsecsize_t initialSize) {
+ // Initialise with a string
+ bufferSize = ((xsecsize_t) strlen(inStr) > initialSize ? (xsecsize_t) (strlen(inStr) * 2) : initialSize);
- // Initialise with a string
-
- bufferSize = ((unsigned int) strlen(inStr) > initialSize ? (unsigned int) (strlen(inStr) * 2) : initialSize);
buffer = new unsigned char[bufferSize];
strcpy((char *) buffer, inStr);
mp_XMLCh = NULL;
@@ -155,7 +154,7 @@
m_isSensitive = other.m_isSensitive;
}
-
+
safeBuffer::~safeBuffer() {
@@ -181,7 +180,7 @@
void safeBuffer::sbStrcpyIn(const char * inStr) {
// Copy a string into the safe buffer
- checkAndExpand((unsigned int) strlen(inStr));
+ checkAndExpand((xsecsize_t) strlen(inStr));
strcpy((char *) buffer, inStr);
m_bufferType = BUFFER_CHAR;
@@ -190,23 +189,22 @@
void safeBuffer::sbStrcpyIn(const safeBuffer & inStr) {
inStr.checkBufferType(BUFFER_CHAR);
- checkAndExpand((unsigned int) strlen((char *) inStr.buffer));
+ checkAndExpand((xsecsize_t) strlen((char *) inStr.buffer));
strcpy((char *) buffer, (char *) inStr.buffer);
m_bufferType = BUFFER_CHAR;
}
-void safeBuffer::sbStrncpyIn(const char * inStr, int n) {
-
- int len = (int) strlen(inStr);
+void safeBuffer::sbStrncpyIn(const char * inStr, xsecsize_t n) {
+ xsecsize_t len = (xsecsize_t) strlen(inStr);
checkAndExpand((n < len) ? n : len);
strncpy((char *) buffer, inStr, n);
m_bufferType = BUFFER_CHAR;
}
-void safeBuffer::sbStrncpyIn(const safeBuffer & inStr, int n) {
+void safeBuffer::sbStrncpyIn(const safeBuffer & inStr, xsecsize_t n) {
inStr.checkBufferType(BUFFER_CHAR);
checkAndExpand(n);
@@ -221,7 +219,7 @@
void safeBuffer::sbStrcatIn(const char * inStr) {
checkBufferType(BUFFER_CHAR);
- checkAndExpand((unsigned int) (strlen((char *) buffer) + strlen(inStr)));
+ checkAndExpand((xsecsize_t) (strlen((char *) buffer) + strlen(inStr)));
strcat((char *) buffer, inStr);
}
@@ -229,22 +227,20 @@
void safeBuffer::sbStrcatIn(const safeBuffer & inStr) {
checkBufferType(BUFFER_CHAR);
- checkAndExpand((unsigned int) (strlen((char *) buffer) + strlen((char *) inStr.buffer) + 2));
+ checkAndExpand((xsecsize_t) (strlen((char *) buffer) + strlen((char *) inStr.buffer) + 2));
strcat((char *) buffer, (char *) inStr.buffer);
}
-void safeBuffer::sbStrncatIn(const char * inStr, int n) {
-
-
- checkBufferType(BUFFER_CHAR);
- int len = (int) strlen(inStr);
- checkAndExpand(((n < len) ? n : len) + (unsigned int) strlen((char *) buffer) + 2);
+void safeBuffer::sbStrncatIn(const char * inStr, xsecsize_t n) {
+ checkBufferType(BUFFER_CHAR);
+ xsecsize_t len = (xsecsize_t) strlen(inStr);
+ checkAndExpand(((n < len) ? n : len) + (xsecsize_t) strlen((char *) buffer) + 2);
strncat((char *) buffer, inStr, n);
}
-void safeBuffer::sbMemcpyIn(const void * inBuf, int n) {
+void safeBuffer::sbMemcpyIn(const void * inBuf, xsecsize_t n) {
checkAndExpand(n);
memcpy(buffer, inBuf, n);
@@ -252,19 +248,19 @@
}
-void safeBuffer::sbMemcpyIn(int offset, const void * inBuf, int n) {
+void safeBuffer::sbMemcpyIn(xsecsize_t offset, const void * inBuf, xsecsize_t n) {
checkAndExpand(n + offset);
memcpy(&buffer[offset], inBuf, n);
m_bufferType = BUFFER_UNKNOWN;
}
-void safeBuffer::sbStrinsIn(const char * inStr, unsigned int offset) {
+void safeBuffer::sbStrinsIn(const char * inStr, xsecsize_t offset) {
- checkBufferType(BUFFER_CHAR);
-
- unsigned int bl = (unsigned int) strlen((char *) buffer);
- unsigned int il = (unsigned int) strlen((char *) inStr);
+ checkBufferType(BUFFER_CHAR);
+
+ xsecsize_t bl = (xsecsize_t) strlen((char *) buffer);
+ xsecsize_t il = (xsecsize_t) strlen((char *) inStr);
if (offset > bl) {
throw XSECException(XSECException::SafeBufferError,
@@ -278,14 +274,14 @@
}
-void safeBuffer::sbStrinsIn(const XMLCh * inStr, unsigned int offset) {
+void safeBuffer::sbStrinsIn(const XMLCh * inStr, xsecsize_t offset) {
- checkBufferType(BUFFER_UNICODE);
-
- unsigned int bl = XMLString::stringLen((XMLCh *) buffer) * size_XMLCh;
- unsigned int il = XMLString::stringLen((XMLCh *) inStr) * size_XMLCh;
+ checkBufferType(BUFFER_UNICODE);
+
+ xsecsize_t bl = XMLString::stringLen((XMLCh *) buffer) * size_XMLCh;
+ xsecsize_t il = XMLString::stringLen((XMLCh *) inStr) * size_XMLCh;
- unsigned int xoffset = offset * size_XMLCh;
+ xsecsize_t xoffset = offset * size_XMLCh;
if (xoffset > bl) {
throw XSECException(XSECException::SafeBufferError,
"Attempt to insert string after termination point");
@@ -299,7 +295,7 @@
}
-void safeBuffer::sbMemcpyOut(void *outBuf, int n) const {
+void safeBuffer::sbMemcpyOut(void *outBuf, xsecsize_t n) const {
// WARNING - JUST ASSUMES OUTPUT BUFFER LONG ENOUGH
// ALSO MAKES NO ASSUMPTION OF THE BUFFER TYPE
@@ -308,10 +304,10 @@
}
-void safeBuffer::sbMemshift(int toOffset, int fromOffset, int len) {
+void safeBuffer::sbMemshift(xsecsize_t toOffset, xsecsize_t fromOffset, xsecsize_t len) {
// Move data in the buffer around
- checkAndExpand((toOffset > fromOffset ? toOffset : fromOffset) + len);
+ checkAndExpand(len + (toOffset > fromOffset ? toOffset : fromOffset));
memmove(&buffer[toOffset], &buffer[fromOffset], len);
@@ -320,7 +316,7 @@
// Comparisons
-int safeBuffer::sbStrncmp(const char *inStr, int n) const {
+int safeBuffer::sbStrncmp(const char *inStr, xsecsize_t n) const {
checkBufferType(BUFFER_CHAR);
return (strncmp((char *) buffer, inStr, n));
@@ -341,10 +337,10 @@
}
-int safeBuffer::sbOffsetStrcmp(const char * inStr, unsigned int offset) const {
+int safeBuffer::sbOffsetStrcmp(const char * inStr, xsecsize_t offset) const {
- checkBufferType(BUFFER_CHAR);
- unsigned int bl = (unsigned int) strlen((char *) buffer);
+ checkBufferType(BUFFER_CHAR);
+ xsecsize_t bl = (xsecsize_t) strlen((char *) buffer);
if (offset > bl)
return -1;
@@ -353,10 +349,10 @@
}
-int safeBuffer::sbOffsetStrncmp(const char * inStr, unsigned int offset, int n) const {
+int safeBuffer::sbOffsetStrncmp(const char * inStr, xsecsize_t offset, xsecsize_t n) const {
- checkBufferType(BUFFER_CHAR);
- unsigned int bl = (unsigned int) strlen((char *) buffer);
+ checkBufferType(BUFFER_CHAR);
+ xsecsize_t bl = (xsecsize_t) strlen((char *) buffer);
if (offset > bl)
return -1;
@@ -364,65 +360,65 @@
}
+#ifdef XSEC_XERCES_64BITSAFE
+long safeBuffer::sbStrstr(const char * inStr) const {
+#else
int safeBuffer::sbStrstr(const char * inStr) const {
-
- char * p;
- long int d;
+#endif
checkBufferType(BUFFER_CHAR);
- p = strstr((char *) buffer, inStr);
+ char* p = strstr((char *) buffer, inStr);
if (p == NULL)
return -1;
- d = (unsigned long int) p - (unsigned long int) buffer;
-
- if (d < 0 || (unsigned int) d > bufferSize)
+ long d = (unsigned long) p - (unsigned long) buffer;
+ if (d < 0 || d > bufferSize)
return -1;
return d;
}
+#ifdef XSEC_XERCES_64BITSAFE
+long safeBuffer::sbStrstr(const XMLCh * inStr) const {
+#else
int safeBuffer::sbStrstr(const XMLCh * inStr) const {
-
- XMLCh * p;
- long int d;
+#endif
checkBufferType(BUFFER_UNICODE);
- p = XMLString::findAny((XMLCh *) buffer, inStr);
+ XMLCh* p = XMLString::findAny((XMLCh *) buffer, inStr);
if (p == NULL)
return -1;
- d = ((unsigned long int) ((p - (unsigned long int) buffer)) / size_XMLCh);
-
- if (d < 0 || (unsigned int) d > bufferSize)
+ long d = ((unsigned long) ((p - (unsigned long) buffer)) / size_XMLCh);
+ if (d < 0 || d > bufferSize)
return -1;
return d;
}
-int safeBuffer::sbOffsetStrstr(const char * inStr, unsigned int offset) const {
-
- char * p;
- long int d;
+#ifdef XSEC_XERCES_64BITSAFE
+long safeBuffer::sbOffsetStrstr(const char * inStr, xsecsize_t offset) const {
+#else
+int safeBuffer::sbOffsetStrstr(const char * inStr, xsecsize_t offset) const {
+#endif
checkBufferType(BUFFER_CHAR);
- unsigned int bl = (unsigned int) strlen((char *) buffer);
+ xsecsize_t bl = (xsecsize_t) strlen((char *) buffer);
if (offset > bl)
return -1;
- p = strstr((char *) &buffer[offset], inStr);
+ char* p = strstr((char *) &buffer[offset], inStr);
if (p == NULL)
return -1;
- d = (unsigned long int) p - (unsigned long int) buffer;
-
- if (d < 0 || (unsigned int) d > bufferSize)
+ long d = (unsigned long) p - (unsigned long) buffer;
+ if (d < 0 || d > bufferSize)
return -1;
return d;
@@ -434,7 +430,7 @@
void safeBuffer::sbStrlwr(void) {
if (m_bufferType == BUFFER_UNKNOWN) {
-
+
throw XSECException(XSECException::SafeBufferError,
"Attempt to perform an operation on a buffer of incorrect type");
@@ -442,8 +438,7 @@
if (m_bufferType == BUFFER_CHAR) {
- unsigned int i;
- unsigned int l = (unsigned int) strlen((char *) buffer);
+ xsecsize_t i, l = (xsecsize_t) strlen((char *) buffer);
for (i = 0; i < l; ++i) {
if (buffer[i] >= 'A' && buffer[i] <= 'Z')
@@ -454,9 +449,8 @@
else {
- unsigned int i;
XMLCh * b = (XMLCh *) buffer;
- unsigned int l = XMLString::stringLen(b);
+ xsecsize_t i, l = XMLString::stringLen(b);
for (i = 0; i < l; ++i) {
if (b[i] >= XERCES_CPP_NAMESPACE_QUALIFIER chLatin_A && b[i] <= XERCES_CPP_NAMESPACE_QUALIFIER chLatin_Z)
@@ -468,16 +462,13 @@
}
// Operators
-unsigned char & safeBuffer::operator[](int n) {
+unsigned char & safeBuffer::operator[](xsecsize_t n) {
// If the character is outside our range (but +ve), then simply increase
// the buffer size - NOTE: it is not our problem if the caller does
// not realise they are outside the buffer, we are simply trying to ensure
// the call is "safe"
- if (n < 0)
- return buffer[0]; // Should raise exception
-
checkAndExpand(n);
return buffer[n];
@@ -489,7 +480,7 @@
if (bufferSize != cpy.bufferSize) {
if (bufferSize != 0) {
-
+
if (m_isSensitive == true)
cleanseBuffer();
@@ -521,9 +512,9 @@
safeBuffer & safeBuffer::operator << (TXFMBase * t) {
// Read into buffer the output of the transform
- unsigned offset = 0;
+ xsecsize_t offset = 0;
unsigned char inBuf[2048];
- unsigned int bytesRead;
+ xsecsize_t bytesRead;
while ((bytesRead = t->readBytes(inBuf, 2000)) > 0) {
@@ -558,17 +549,17 @@
// Transcode the string to the local code page and store in the buffer
char * t;
-
+
t = XMLString::transcode(inStr);
assert (t != 0);
// Now copy into our local buffer - a bit inefficient but better in the long run
- // as a buffer that is the exact size is likely to be deleted anyway during a
+ // as a buffer that is the exact size is likely to be deleted anyway during a
// concat operation
- unsigned int len = (unsigned int) strlen(t) + 1;
+ xsecsize_t len = (xsecsize_t) strlen(t) + 1;
checkAndExpand(len);
strcpy((char *) buffer, t);
m_bufferType = BUFFER_CHAR;
@@ -581,20 +572,20 @@
// Transcode the string to the local code page and store in the buffer
XMLCh * t;
-
+
t = XMLString::transcode(inStr);
assert (t != 0);
// Copy into local buffer
- unsigned int len = XMLString::stringLen(t) + 1;
- len *= (unsigned int) size_XMLCh;
+ xsecsize_t len = XMLString::stringLen(t) + 1;
+ len *= (xsecsize_t) size_XMLCh;
checkAndExpand(len);
XMLString::copyString((XMLCh *) buffer, t);
m_bufferType = BUFFER_UNICODE;
-
+
XSEC_RELEASE_XMLCH(t);
}
@@ -610,23 +601,23 @@
}
void safeBuffer::sbXMLChAppendCh(const XMLCh c) {
-
+
checkBufferType(BUFFER_UNICODE);
- unsigned int len = XMLString::stringLen((XMLCh *) buffer);
+ xsecsize_t len = XMLString::stringLen((XMLCh *) buffer);
- checkAndExpand((len + 2) * size_XMLCh);
+ checkAndExpand((len + 2) * size_XMLCh);
((XMLCh *) buffer)[len++] = c;
((XMLCh *) buffer)[len] = 0;
}
-
+
void safeBuffer::sbXMLChCat(const XMLCh *str) {
-
+
checkBufferType(BUFFER_UNICODE);
- unsigned int len = XMLString::stringLen((XMLCh *) buffer) * size_XMLCh;
+ xsecsize_t len = XMLString::stringLen((XMLCh *) buffer) * size_XMLCh;
len += XMLString::stringLen(str) * size_XMLCh;
- len += (2 * ((unsigned int) size_XMLCh));
+ len += (2 * ((xsecsize_t) size_XMLCh));
checkAndExpand(len);
@@ -637,14 +628,14 @@
void safeBuffer::sbXMLChCat(const char * str) {
checkBufferType(BUFFER_UNICODE);
- unsigned int len = XMLString::stringLen((XMLCh *) buffer) * size_XMLCh;
+ xsecsize_t len = XMLString::stringLen((XMLCh *) buffer) * size_XMLCh;
XMLCh * t = XMLString::transcode(str);
assert (t != NULL);
len += XMLString::stringLen(t);
- len += (unsigned int) (2 * size_XMLCh);
+ len += (xsecsize_t) (2 * size_XMLCh);
checkAndExpand(len);
@@ -665,16 +656,16 @@
// Get functions
-int safeBuffer::sbStrlen(void) const {
+xsecsize_t safeBuffer::sbStrlen(void) const {
- checkBufferType(BUFFER_CHAR);
- return (int) (strlen ((char *) buffer));
+ checkBufferType(BUFFER_CHAR);
+ return (xsecsize_t) (strlen ((char *) buffer));
}
-unsigned int safeBuffer::sbRawBufferSize(void) const {
+xsecsize_t safeBuffer::sbRawBufferSize(void) const {
- return bufferSize;
+ return bufferSize;
}
@@ -710,7 +701,7 @@
void safeBuffer::cleanseBuffer(void) {
// Cleanse the main buffer
- for (unsigned int i = 0; i < bufferSize; ++i)
+ for (xsecsize_t i = 0; i < bufferSize; ++i)
buffer[i] = 0;
}
Modified: xml/security/trunk/c/src/utils/XSECSafeBuffer.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/XSECSafeBuffer.hpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/XSECSafeBuffer.hpp (original)
+++ xml/security/trunk/c/src/utils/XSECSafeBuffer.hpp Sat Dec 6 15:34:24 2008
@@ -22,7 +22,7 @@
* Author(s): Berin Lautenbach
*
* $Id$
- *
+ *
*/
@@ -34,7 +34,7 @@
class TXFMBase;
-/**
+/**
* \addtogroup internal
* @{
*/
@@ -53,7 +53,7 @@
* library, a single class that manipulates buffers of variable
* size was felt to be preferable,
*
- * The safeBuffer is not exposed through interface classes that
+ * The safeBuffer is not exposed through interface classes that
* might be used by external functions. In these cases, a
* pointer to a XMLCh * buffer is used by preference.
*/
@@ -72,10 +72,9 @@
safeBuffer();
- safeBuffer(int initialSize);
- safeBuffer(const char * inStr, unsigned int initialSize = DEFAULT_SAFE_BUFFER_SIZE);
- safeBuffer(const safeBuffer & other);
-
+ safeBuffer(const safeBuffer & other);
+ safeBuffer(xsecsize_t initialSize);
+ safeBuffer(const char * inStr, xsecsize_t initialSize = DEFAULT_SAFE_BUFFER_SIZE);
~safeBuffer();
static void init(void);
@@ -84,55 +83,63 @@
void sbStrcpyIn(const char * inStr);
void sbStrcpyIn(const safeBuffer & inStr);
- void sbStrncpyIn(const char * inStr, int n);
- void sbStrncpyIn(const safeBuffer & inStr, int n);
+ void sbStrncpyIn(const char * inStr, xsecsize_t n);
+ void sbStrncpyIn(const safeBuffer & inStr, xsecsize_t n);
+
void sbStrcatIn(const char * inStr);
void sbStrcatIn(const safeBuffer & inStr);
- void sbStrncatIn(const char * inStr, int n);
- void sbStrinsIn(const char * inStr, unsigned int offset);
+ void sbStrncatIn(const char * inStr, xsecsize_t n);
+ void sbStrinsIn(const char * inStr, xsecsize_t offset);
- void sbMemcpyIn(const void * inBuf, int n);
- void sbMemcpyIn(int offset, const void * inBuf, int n);
+ void sbMemcpyIn(const void * inBuf, xsecsize_t n);
+ void sbMemcpyIn(xsecsize_t offset, const void * inBuf, xsecsize_t n);
- void sbMemcpyOut(void * outBuf, int n) const;
- void sbMemshift(int toOffset, int fromOffset, int len);
+ void sbMemcpyOut(void * outBuf, xsecsize_t n) const;
+ void sbMemshift(xsecsize_t toOffset, xsecsize_t fromOffset, xsecsize_t len);
// Comparison functions
- int sbStrncmp(const char * inStr, int n) const;
- int sbOffsetStrcmp(const char * inStr, unsigned int offset) const;
- int sbOffsetStrncmp(const char * inStr, unsigned int offset, int n) const;
+ int sbStrncmp(const char * inStr, xsecsize_t n) const;
+ int sbOffsetStrcmp(const char * inStr, xsecsize_t offset) const;
+ int sbOffsetStrncmp(const char * inStr, xsecsize_t offset, xsecsize_t n) const;
int sbStrcmp(const char * inStr) const;
int sbStrcmp(const safeBuffer & inStr) const;
- int sbStrstr(const char * inStr) const;
- int sbOffsetStrstr(const char * inStr, unsigned int offset) const;
+#ifdef XSEC_XERCES_64BITSAFE
+ long sbStrstr(const char * inStr) const;
+ long sbOffsetStrstr(const char * inStr, xsecsize_t offset) const;
// XMLCh versions
- int sbStrstr(const XMLCh * inStr) const;
- void sbStrinsIn(const XMLCh * inStr, unsigned int offset);
+ long sbStrstr(const XMLCh * inStr) const;
+#else
+ int sbStrstr(const char * inStr) const;
+ int sbOffsetStrstr(const char * inStr, xsecsize_t offset) const;
+ // XMLCh versions
+ int sbStrstr(const XMLCh * inStr) const;
+#endif
+ void sbStrinsIn(const XMLCh * inStr, xsecsize_t offset);
// XMLCh and char common functions
void sbStrlwr(void); // Lowercase the string
// Operators
- unsigned char & operator[](int n);
+ unsigned char & operator[](xsecsize_t n);
safeBuffer & operator= (const safeBuffer & cpy);
safeBuffer & operator= (const XMLCh * inStr);
safeBuffer & operator << (TXFMBase * t);
// Get functions
- int sbStrlen(void) const;
- unsigned int sbRawBufferSize(void) const;
+ xsecsize_t sbStrlen(void) const;
+ xsecsize_t sbRawBufferSize(void) const;
// raw buffer manipulation
const unsigned char * rawBuffer() const;
const char * rawCharBuffer() const;
const XMLCh * rawXMLChBuffer() const;
- void resize(unsigned int sz); // NOTE : Only grows
- void setBufferType(bufferType bt); // Use with care
+ void resize(xsecsize_t sz); // NOTE : Only grows
+ void setBufferType(bufferType bt); // Use with care
// Unicode (UTF-16 manipulation)
const XMLCh * sbStrToXMLCh(void) const; // Note does not affect internal buffer
@@ -150,14 +157,14 @@
private:
- // Internal function that is used to get a string size and
+ // Internal function that is used to get a string size and
// then re-allocate if necessary
- void checkAndExpand(unsigned int size);
+ void checkAndExpand(xsecsize_t size);
void checkBufferType(bufferType bt) const;
unsigned char * buffer;
- unsigned int bufferSize;
+ xsecsize_t bufferSize;
mutable XMLCh * mp_XMLCh;
bufferType m_bufferType;
Modified: xml/security/trunk/c/src/utils/XSECSafeBufferFormatter.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/XSECSafeBufferFormatter.cpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/XSECSafeBufferFormatter.cpp (original)
+++ xml/security/trunk/c/src/utils/XSECSafeBufferFormatter.cpp Sat Dec 6 15:34:24 2008
@@ -36,20 +36,20 @@
const XMLFormatter::EscapeFlags escapeFlags,
const XMLFormatter::UnRepFlags unrepFlags) {
-
+
sbf = new sbFormatTarget();
sbf->setBuffer(&formatBuffer);
#if defined(XSEC_XERCES_FORMATTER_REQUIRES_VERSION)
- formatter = new XMLFormatter(outEncoding,
+ formatter = new XMLFormatter(outEncoding,
0,
- sbf,
- escapeFlags,
+ sbf,
+ escapeFlags,
unrepFlags);
#else
- XSECnew(formatter, XMLFormatter(outEncoding,
- sbf,
- escapeFlags,
+ XSECnew(formatter, XMLFormatter(outEncoding,
+ sbf,
+ escapeFlags,
unrepFlags));
#endif
}
@@ -67,15 +67,15 @@
sbf->setBuffer(&formatBuffer);
#if defined(XSEC_XERCES_FORMATTER_REQUIRES_VERSION)
- formatter = new XMLFormatter(outEncoding,
+ formatter = new XMLFormatter(outEncoding,
0,
- sbf,
- escapeFlags,
+ sbf,
+ escapeFlags,
unrepFlags);
#else
- XSECnew(formatter, XMLFormatter(outEncoding,
- sbf,
- escapeFlags,
+ XSECnew(formatter, XMLFormatter(outEncoding,
+ sbf,
+ escapeFlags,
unrepFlags));
#endif
@@ -97,7 +97,7 @@
void XSECSafeBufferFormatter::formatBuf (
const XMLCh *const toFormat,
- const unsigned int count,
+ const xsecsize_t count,
const XMLFormatter::EscapeFlags escapeFlags,
const XMLFormatter::UnRepFlags unrepFlags) {
@@ -115,7 +115,7 @@
}
-XSECSafeBufferFormatter&
+XSECSafeBufferFormatter&
XSECSafeBufferFormatter::operator<< (const XMLCh toFormat) {
sbf->reset();
Modified: xml/security/trunk/c/src/utils/XSECSafeBufferFormatter.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/XSECSafeBufferFormatter.hpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/XSECSafeBufferFormatter.hpp (original)
+++ xml/security/trunk/c/src/utils/XSECSafeBufferFormatter.hpp Sat Dec 6 15:34:24 2008
@@ -43,7 +43,7 @@
class sbFormatTarget : public XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatTarget
{
public:
-
+
sbFormatTarget() {m_offset = 0;}
~sbFormatTarget() {}
@@ -56,10 +56,10 @@
// -----------------------------------------------------------------------
void writeChars(const XMLByte* const toWrite,
- const unsigned int count,
+ const xsecsize_t count,
XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter * const formatter)
{
- m_buffer->sbMemcpyIn(m_offset, (char *) toWrite, (int) count);
+ m_buffer->sbMemcpyIn(m_offset, (char *) toWrite, count);
m_buffer->setBufferType(safeBuffer::BUFFER_CHAR);
m_offset += count;
(*m_buffer)[m_offset] = '\0';
@@ -73,8 +73,7 @@
void operator=(const sbFormatTarget& rhs);
safeBuffer * m_buffer; // Buffer to write to
- unsigned int m_offset;
-
+ xsecsize_t m_offset;
};
/**
@@ -87,7 +86,7 @@
class XSECSafeBufferFormatter {
- XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter
+ XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter
* formatter; // To actually perform the formatting
safeBuffer formatBuffer; // Storage of translated strings
sbFormatTarget * sbf; // Format target used by XMLFormatter
@@ -98,17 +97,17 @@
XSECSafeBufferFormatter(
const XMLCh * const outEncoding,
- const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::EscapeFlags
+ const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::EscapeFlags
escapeFlags=XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::NoEscapes,
- const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRepFlags
+ const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRepFlags
unrepFlags=XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRep_Fail
);
XSECSafeBufferFormatter(
const char * const outEncoding,
- const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::EscapeFlags
+ const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::EscapeFlags
escapeFlags=XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::NoEscapes,
- const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRepFlags
+ const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRepFlags
unrepFlags=XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRep_Fail
);
@@ -120,16 +119,16 @@
void formatBuf (
const XMLCh *const toFormat,
- const unsigned int count,
- const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::EscapeFlags
+ const xsecsize_t count,
+ const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::EscapeFlags
escapeFlags=XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::DefaultEscape,
- const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRepFlags
+ const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRepFlags
unrepFlags=XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::DefaultUnRep
); // Format a buffer
XSECSafeBufferFormatter& operator<< (
const XMLCh *const toFormat); // Format a buffer
-
+
XSECSafeBufferFormatter& operator<< (
const XMLCh toFormat); // Format a character
@@ -138,8 +137,8 @@
void setEscapeFlags (const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::EscapeFlags newFlags);
void setUnRepFlags (const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRepFlags newFlags);
- XSECSafeBufferFormatter& operator<< (const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::EscapeFlags newFlags);
- XSECSafeBufferFormatter& operator<< (const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRepFlags newFlags);
+ XSECSafeBufferFormatter& operator<< (const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::EscapeFlags newFlags);
+ XSECSafeBufferFormatter& operator<< (const XERCES_CPP_NAMESPACE_QUALIFIER XMLFormatter::UnRepFlags newFlags);
// Friends for working with safestrings
@@ -151,7 +150,7 @@
XSECSafeBufferFormatter() {};
-
+
};
/** @} */
Modified: xml/security/trunk/c/src/utils/unixutils/XSECBinHTTPURIInputStream.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/unixutils/XSECBinHTTPURIInputStream.cpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/unixutils/XSECBinHTTPURIInputStream.cpp (original)
+++ xml/security/trunk/c/src/utils/unixutils/XSECBinHTTPURIInputStream.cpp Sat Dec 6 15:34:24 2008
@@ -102,7 +102,7 @@
char* queryAsCharStar = 0;
if (query)
queryAsCharStar = XMLString::transcode(query);
- ArrayJanitor<char> janBuf4(queryAsCharStar);
+ ArrayJanitor<char> janBuf4(queryAsCharStar);
unsigned short portNumber = (unsigned short) urlSource.getPort();
if (portNumber == USHRT_MAX)
@@ -159,7 +159,7 @@
strcat(fBuffer, pathAsCharStar);
if (queryAsCharStar != 0)
- {
+ {
size_t n = strlen(fBuffer);
fBuffer[n] = XERCES_CPP_NAMESPACE_QUALIFIER chQuestion;
fBuffer[n+1] = XERCES_CPP_NAMESPACE_QUALIFIER chNull;
@@ -264,7 +264,7 @@
"Error reported reading socket");
}
- // Now read
+ // Now read
p++;
for (q=0; q < 255 && p[q] != '\r' && p[q] !='\n'; ++q)
redirectBuf[q] = p[q];
@@ -309,10 +309,10 @@
}
-unsigned int XSECBinHTTPURIInputStream::readBytes(XMLByte* const toFill
- , const unsigned int maxToRead)
+xsecsize_t XSECBinHTTPURIInputStream::readBytes(XMLByte* const toFill
+ , const xsecsize_t maxToRead)
{
- unsigned int len = fBufferEnd - fBufferPos;
+ xsecsize_t len = fBufferEnd - fBufferPos;
if (len > 0)
{
// If there's any data left over in the buffer into which we first
@@ -339,3 +339,8 @@
return len;
}
+#ifdef XSEC_XERCES_INPUTSTREAM_HAS_CONTENTTYPE
+const XMLCh* XSECBinHTTPURIInputStream::getContentType() const {
+ return NULL;
+}
+#endif
Modified: xml/security/trunk/c/src/utils/unixutils/XSECBinHTTPURIInputStream.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/unixutils/XSECBinHTTPURIInputStream.hpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/unixutils/XSECBinHTTPURIInputStream.hpp (original)
+++ xml/security/trunk/c/src/utils/unixutils/XSECBinHTTPURIInputStream.hpp Sat Dec 6 15:34:24 2008
@@ -66,13 +66,20 @@
XSECBinHTTPURIInputStream(const XERCES_CPP_NAMESPACE_QUALIFIER XMLUri& urlSource);
~XSECBinHTTPURIInputStream();
+#ifdef XSEC_XERCES_64BITSAFE
+ XMLFilePos curPos() const;
+#else
unsigned int curPos() const;
- unsigned int readBytes
+#endif
+ xsecsize_t readBytes
(
XMLByte* const toFill
- , const unsigned int maxToRead
+ , const xsecsize_t maxToRead
);
+#ifdef XSEC_XERCES_INPUTSTREAM_HAS_CONTENTTYPE
+ const XMLCh* getContentType() const;
+#endif
private :
// -----------------------------------------------------------------------
@@ -95,7 +102,7 @@
int getSocketHandle(const XERCES_CPP_NAMESPACE_QUALIFIER XMLUri& urlSource);
int fSocket;
- unsigned int fBytesProcessed;
+ xsecsize_t fBytesProcessed;
char fBuffer[4000];
char * fBufferEnd;
char * fBufferPos;
@@ -103,7 +110,13 @@
};
-inline unsigned int XSECBinHTTPURIInputStream::curPos() const
+inline
+#ifdef XSEC_XERCES_64BITSAFE
+XMLFilePos
+#else
+unsigned int
+#endif
+XSECBinHTTPURIInputStream::curPos() const
{
return fBytesProcessed;
}
Modified: xml/security/trunk/c/src/utils/winutils/XSECBinHTTPURIInputStream.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/winutils/XSECBinHTTPURIInputStream.cpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/winutils/XSECBinHTTPURIInputStream.cpp (original)
+++ xml/security/trunk/c/src/utils/winutils/XSECBinHTTPURIInputStream.cpp Sat Dec 6 15:34:24 2008
@@ -71,6 +71,24 @@
bool XSECBinHTTPURIInputStream::fInitialized = false;
XMLMutex* XSECBinHTTPURIInputStream::fInitMutex = 0;
+// Ported from Xerces 2.x, now missing on 3.x, so I'm inlining it.
+static void* compareAndSwap(void** toFill, const void* const newValue, const void* const toCompare) {
+#if defined _WIN64
+ return ::InterlockedCompareExchangePointer(toFill, (void*)newValue, (void*)toCompare);
+#else
+ void* result;
+ __asm
+ {
+ mov eax, toCompare;
+ mov ebx, newValue;
+ mov ecx, toFill
+ lock cmpxchg [ecx], ebx;
+ mov result, eax;
+ }
+ return result;
+#endif
+}
+
void XSECBinHTTPURIInputStream::Initialize() {
//
// Initialize the WinSock library here.
@@ -226,7 +244,7 @@
char* queryAsCharStar = 0;
if (query)
queryAsCharStar = XMLString::transcode(query);
- ArrayJanitor<char> janBuf4(queryAsCharStar);
+ ArrayJanitor<char> janBuf4(queryAsCharStar);
unsigned short portNumber = (unsigned short) urlSource.getPort();
@@ -420,14 +438,14 @@
throw XSECException(XSECException::HTTPURIInputStreamError,
"Error reported reading socket");
}
-
+
// Now read
p++;
for (q=0; q < 255 && p[q] != '\r' && p[q] !='\n'; ++q)
redirectBuf[q] = p[q];
-
+
redirectBuf[q] = '\0';
-
+
// Try to find this location
XMLCh * redirectBufTrans = XMLString::transcode(redirectBuf);
ArrayJanitor<XMLCh> j_redirectBuf(redirectBufTrans);
@@ -456,7 +474,7 @@
if (!fInitMutex)
{
XMLMutex* tmpMutex = new XMLMutex;
- if (XMLPlatformUtils::compareAndSwap((void**)&fInitMutex, tmpMutex, 0))
+ if (compareAndSwap((void**)&fInitMutex, tmpMutex, 0))
{
// Someone beat us to it, so let's clean up ours
delete tmpMutex;
@@ -480,7 +498,7 @@
if (!fInitMutex)
{
XMLMutex* tmpMutex = new XMLMutex;
- if (XMLPlatformUtils::compareAndSwap((void**)&fInitMutex, tmpMutex, 0))
+ if (compareAndSwap((void**)&fInitMutex, tmpMutex, 0))
{
// Someone beat us to it, so let's clean up ours
delete tmpMutex;
@@ -505,10 +523,11 @@
//
// readBytes
//
-unsigned int XSECBinHTTPURIInputStream::readBytes(XMLByte* const toFill
- , const unsigned int maxToRead)
+xsecsize_t XSECBinHTTPURIInputStream::readBytes(XMLByte* const toFill
+ , const xsecsize_t maxToRead)
{
- unsigned int len = (unsigned int) (fBufferEnd - fBufferPos);
+
+ xsecsize_t len = (xsecsize_t) (fBufferEnd - fBufferPos);
if (len > 0)
{
// If there's any data left over in the buffer into which we first
@@ -535,3 +554,9 @@
fBytesProcessed += len;
return len;
}
+
+#ifdef XSEC_XERCES_INPUTSTREAM_HAS_CONTENTTYPE
+const XMLCh* XSECBinHTTPURIInputStream::getContentType() const {
+ return NULL;
+}
+#endif
Modified: xml/security/trunk/c/src/utils/winutils/XSECBinHTTPURIInputStream.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/winutils/XSECBinHTTPURIInputStream.hpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/utils/winutils/XSECBinHTTPURIInputStream.hpp (original)
+++ xml/security/trunk/c/src/utils/winutils/XSECBinHTTPURIInputStream.hpp Sat Dec 6 15:34:24 2008
@@ -82,8 +82,16 @@
XSECBinHTTPURIInputStream(const XERCES_CPP_NAMESPACE_QUALIFIER XMLUri& urlSource);
~XSECBinHTTPURIInputStream();
+#ifdef XSEC_XERCES_64BITSAFE
+ XMLFilePos curPos() const;
+#else
unsigned int curPos() const;
- unsigned int readBytes(XMLByte* const toFill, const unsigned int maxToRead);
+#endif
+ xsecsize_t readBytes(XMLByte* const toFill, const xsecsize_t maxToRead);
+
+#ifdef XSEC_XERCES_INPUTSTREAM_HAS_CONTENTTYPE
+ const XMLCh* getContentType() const;
+#endif
static void Cleanup();
@@ -91,7 +99,7 @@
protected:
- /*
+ /*
* These are called by other classes that use the loaded DLL
*
* Actually - this is cheating of the worst kind, but it
@@ -133,7 +141,7 @@
// -----------------------------------------------------------------------
unsigned int fSocketHandle;
- unsigned int fBytesProcessed;
+ xsecsize_t fBytesProcessed;
char fBuffer[4000];
char * fBufferEnd;
char * fBufferPos;
@@ -146,7 +154,13 @@
};
-inline unsigned int XSECBinHTTPURIInputStream::curPos() const
+inline
+#ifdef XSEC_XERCES_64BITSAFE
+XMLFilePos
+#else
+unsigned int
+#endif
+XSECBinHTTPURIInputStream::curPos() const
{
return fBytesProcessed;
}
Modified: xml/security/trunk/c/src/xenc/impl/XENCAlgorithmHandlerDefault.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/xenc/impl/XENCAlgorithmHandlerDefault.cpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/xenc/impl/XENCAlgorithmHandlerDefault.cpp (original)
+++ xml/security/trunk/c/src/xenc/impl/XENCAlgorithmHandlerDefault.cpp Sat Dec 6 15:34:24 2008
@@ -156,7 +156,7 @@
XMLByte aesBuf[16];
XMLByte aesOutBuf[16];
TXFMBase * b = cipherText->getLastTxfm();
- int sz = b->readBytes(buf, _MY_MAX_KEY_SIZE);
+ unsigned int sz = (unsigned int) b->readBytes(buf, _MY_MAX_KEY_SIZE);
if (sz <= 0) {
throw XSECException(XSECException::CipherError,
@@ -233,7 +233,7 @@
XMLByte aesBuf[16];
XMLByte aesOutBuf[32]; // Give this an extra block for WinCAPI
TXFMBase * b = cipherText->getLastTxfm();
- int sz = b->readBytes(&buf[8], _MY_MAX_KEY_SIZE);
+ unsigned int sz = (unsigned int) b->readBytes(&buf[8], _MY_MAX_KEY_SIZE);
if (sz <= 0) {
throw XSECException(XSECException::CipherError,
@@ -329,13 +329,13 @@
// Cat the encrypted key
XMLByte buf[_MY_MAX_KEY_SIZE];
TXFMBase * b = cipherText->getLastTxfm();
- int offset = 0;
- int sz = b->readBytes(buf, _MY_MAX_KEY_SIZE);
+ unsigned int offset = 0;
+ unsigned int sz = (unsigned int) b->readBytes(buf, _MY_MAX_KEY_SIZE);
while (sz > 0) {
cipherSB.sbMemcpyIn(offset, buf, sz);
offset += sz;
- sz = b->readBytes(buf, _MY_MAX_KEY_SIZE);
+ sz = (unsigned int) b->readBytes(buf, _MY_MAX_KEY_SIZE);
}
if (offset > _MY_MAX_KEY_SIZE) {
@@ -360,7 +360,7 @@
// We now have the first cut, reverse the cipher text
XMLByte buf2[_MY_MAX_KEY_SIZE];
- for (int i = 0; i < sz; ++ i) {
+ for (unsigned int i = 0; i < sz; ++ i) {
buf2[sz - i - 1] = buf[i];
}
@@ -383,7 +383,7 @@
sha1->finish(buf2, _MY_MAX_KEY_SIZE);
// Compare
- for (int j = 0; j < 8; ++j) {
+ for (unsigned int j = 0; j < 8; ++j) {
if (buf[offset - 8 + j] != buf2[j]) {
throw XSECException(XSECException::CipherError,
@@ -406,7 +406,7 @@
XMLByte buf[_MY_MAX_KEY_SIZE + 16];
TXFMBase * b = cipherText->getLastTxfm();
int offset = 0;
- int sz = b->readBytes(buf, _MY_MAX_KEY_SIZE);
+ unsigned int sz = (unsigned int) b->readBytes(buf, _MY_MAX_KEY_SIZE);
if (sz <= 0) {
throw XSECException(XSECException::CipherError,
@@ -458,7 +458,7 @@
}
// We now have the first cut, reverse the cipher text
- for (int i = 0; i < sz; ++ i) {
+ for (unsigned int i = 0; i < sz; ++ i) {
buf[sz - i - 1] = buf2[i];
}
@@ -561,11 +561,11 @@
XMLByte buf[1024];
unsigned int offset = 0;
- int bytesRead = b->readBytes(buf, 1024);
+ unsigned int bytesRead = (unsigned int) b->readBytes(buf, 1024);
while (bytesRead > 0) {
cipherSB.sbMemcpyIn(offset, buf, bytesRead);
offset += bytesRead;
- bytesRead = b->readBytes(buf, 1024);
+ bytesRead = (unsigned int) b->readBytes(buf, 1024);
}
unsigned int decryptLen;
@@ -715,11 +715,11 @@
XMLByte buf[1024];
TXFMBase * b = cipherText->getLastTxfm();
- int bytesRead = b->readBytes(buf, 1024);
+ unsigned int bytesRead = (unsigned int) b->readBytes(buf, 1024);
while (bytesRead > 0) {
result.sbMemcpyIn(offset, buf, bytesRead);
offset += bytesRead;
- bytesRead = b->readBytes(buf, 1024);
+ bytesRead = (unsigned int) b->readBytes(buf, 1024);
}
result[offset] = '\0';
@@ -761,11 +761,11 @@
XMLByte buf[1024];
unsigned int offset = 0;
- int bytesRead = b->readBytes(buf, 1024);
+ unsigned int bytesRead = (unsigned int) b->readBytes(buf, 1024);
while (bytesRead > 0) {
plainSB.sbMemcpyIn(offset, buf, bytesRead);
offset += bytesRead;
- bytesRead = b->readBytes(buf, 1024);
+ bytesRead = (unsigned int) b->readBytes(buf, 1024);
}
unsigned int encryptLen;
Modified: xml/security/trunk/c/src/xenc/impl/XENCCipherImpl.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/xenc/impl/XENCCipherImpl.cpp?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/src/xenc/impl/XENCCipherImpl.cpp (original)
+++ xml/security/trunk/c/src/xenc/impl/XENCCipherImpl.cpp Sat Dec 6 15:34:24 2008
@@ -329,15 +329,12 @@
// Create an input source
- unsigned int bytes = XMLString::stringLen(sbt.rawCharBuffer());
+ xsecsize_t bytes = XMLString::stringLen(sbt.rawCharBuffer());
MemBufInputSource* memIS = new MemBufInputSource ((const XMLByte*) sbt.rawBuffer(), bytes, "XSECMem");
Janitor<MemBufInputSource> j_memIS(memIS);
- int errorCount = 0;
-
-
parser->parse(*memIS);
- errorCount = parser->getErrorCount();
+ xsecsize_t errorCount = parser->getErrorCount();
if (errorCount > 0)
throw XSECException(XSECException::CipherError, "Errors occured during de-serialisation of decrypted element content");
Modified: xml/security/trunk/c/xml-security-c.spec
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/xml-security-c.spec?rev=724055&r1=724054&r2=724055&view=diff
==============================================================================
--- xml/security/trunk/c/xml-security-c.spec (original)
+++ xml/security/trunk/c/xml-security-c.spec Sat Dec 6 15:34:24 2008
@@ -1,5 +1,5 @@
Name: xml-security-c
-Version: 1.4.1
+Version: 1.5
Release: 1
Summary: C++ XML security library
@@ -64,8 +64,8 @@
%{_libdir}/*.so
%changelog
-* Fri Sep 19 2008 Scott Cantor <ca...@osu.edu> 1.4.1-1
-- update to 1.4.1
+* Sat Dec 6 2008 Scott Cantor <ca...@osu.edu> 1.5-1
+- update to 1.5
- fix Xerces dependency name on SUSE
* Wed Aug 15 2007 Scott Cantor <ca...@osu.edu> 1.4.0-1
- update to 1.4.0