Index: source/ariba/utility/addressing/facades/address_v.hpp
===================================================================
--- source/ariba/utility/addressing/facades/address_v.hpp	(revision 6584)
+++ source/ariba/utility/addressing/facades/address_v.hpp	(revision 6786)
@@ -2,4 +2,5 @@
 #define ADDRESS_V_H_
 
+#include <stdint.h>
 #include <string>
 #include <iostream>
Index: source/ariba/utility/addressing/facades/to_bytes_v.hpp
===================================================================
--- source/ariba/utility/addressing/facades/to_bytes_v.hpp	(revision 6584)
+++ source/ariba/utility/addressing/facades/to_bytes_v.hpp	(revision 6786)
@@ -5,4 +5,5 @@
 
 #include <memory>
+#include <stdint.h>
 #include "vfacade.hpp"
 
Index: source/ariba/utility/addressing/port_address.hpp
===================================================================
--- source/ariba/utility/addressing/port_address.hpp	(revision 6584)
+++ source/ariba/utility/addressing/port_address.hpp	(revision 6786)
@@ -5,4 +5,6 @@
 
 #include<string>
+#include<cstdio>
+
 #include<boost/tr1/functional.hpp>
 
Index: source/ariba/utility/messages/Message.h
===================================================================
--- source/ariba/utility/messages/Message.h	(revision 6584)
+++ source/ariba/utility/messages/Message.h	(revision 6786)
@@ -105,5 +105,5 @@
 	 * data.
 	 */
-	inline Message( const Data& data ) :
+	explicit inline Message( const Data& data ) :
 		srcAddr(NULL),destAddr(NULL), releasePayload(true) {
 		this->payload = data.clone();
Index: source/ariba/utility/serialization/Data.hpp
===================================================================
--- source/ariba/utility/serialization/Data.hpp	(revision 6584)
+++ source/ariba/utility/serialization/Data.hpp	(revision 6786)
@@ -49,5 +49,5 @@
 template<typename T = uint8_t, typename DataModel = DefaultDataModel<uint8_t> > class DataTpl;
 typedef DataTpl<> Data;
-template<typename T, typename DataModel> std::ostream& operator<<(std::ostream& stream, DataTpl<T, DataModel>& data);
+template<typename T, typename DataModel> std::ostream& operator<<(std::ostream& stream, const DataTpl<T, DataModel>& data);
 
 //== internal includes ==
@@ -324,18 +324,4 @@
 };
 
-/* default human readable text output */
-template<typename T, typename DataModel>
-std::ostream& operator<<(std::ostream& stream, DataTpl<T, DataModel>& data) {
-	stream << "[" << bitstr(data.getBuffer(), data.getLength(), 4)
-			<< "|'";
-	char* buffer = (char*) data.getBuffer();
-	for (size_t i = 0; i < data.getLength() / 8; i++) {
-		char c = buffer[i] < 32 ? '.' : buffer[i];
-		stream << c;
-	}
-	stream << "']";
-	return stream;
-}
-
 /* unspecified type */
 template<typename T, typename DataModel>
@@ -397,5 +383,5 @@
 
 	finline int32_t length() const {
-		return bufferLen;
+		return (bufferLen == -1) ? 0 : bufferLen;
 	}
 
@@ -442,3 +428,16 @@
 }sznEnd();
 
+/* default human readable text output */
+template<typename T, typename DataModel>
+std::ostream& operator<<(std::ostream& stream, const DataTpl<T, DataModel>& data) {
+	stream << "[" << bitstr(data.getBuffer(), data.getLength(), 4)
+			<< "|'";
+	const char* buffer = (const char*) data.getBuffer();
+	for (size_t i = 0; i < data.getLength() / 8; i++) {
+		char c = buffer[i] < 32 ? '.' : buffer[i];
+		stream << c;
+	}
+	stream << "']";
+	return stream;
+}
 #endif /* DATA_HPP_ */
Index: source/ariba/utility/transport/tcpip/protlib/address.cpp
===================================================================
--- source/ariba/utility/transport/tcpip/protlib/address.cpp	(revision 6584)
+++ source/ariba/utility/transport/tcpip/protlib/address.cpp	(revision 6786)
@@ -534,5 +534,5 @@
 	char ipstr[INET6_ADDRSTRLEN] = {0};
 	// look for /
-	i = strchr(str,'/');
+	i = strchr((char*)str,'/');
 	if (i) {
 		iplen = i-str;
