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