diff -rup pion-net-4.0.12/common/src/PionPlugin.cpp pion-net-4.0.12-new/common/src/PionPlugin.cpp --- pion-net-4.0.12/common/src/PionPlugin.cpp 2011-03-22 04:35:12.000000000 +0100 +++ pion-net-4.0.12-new/common/src/PionPlugin.cpp 2012-07-07 20:42:22.084660696 +0200 @@ -58,7 +58,7 @@ void PionPlugin::addPluginDirectory(cons if (! boost::filesystem::exists(plugin_path) ) throw DirectoryNotFoundException(dir); boost::mutex::scoped_lock plugin_lock(m_plugin_mutex); - m_plugin_dirs.push_back(plugin_path.directory_string()); + m_plugin_dirs.push_back(plugin_path.string()); } void PionPlugin::resetPluginDirectories(void) @@ -204,7 +204,7 @@ bool PionPlugin::checkForFile(std::strin try { // is_regular may throw if directory is not readable if (boost::filesystem::is_regular(test_path)) { - final_path = test_path.file_string(); + final_path = test_path.string(); return true; } } catch (...) {} @@ -225,7 +225,7 @@ bool PionPlugin::checkForFile(std::strin try { // is_regular may throw if directory is not readable if (boost::filesystem::is_regular(test_path)) { - final_path = test_path.file_string(); + final_path = test_path.string(); return true; } } catch (...) {} @@ -291,7 +291,7 @@ void PionPlugin::getAllPluginNames(std:: for (boost::filesystem::directory_iterator it2(*it); it2 != end; ++it2) { if (boost::filesystem::is_regular(*it2)) { if (boost::filesystem::extension(it2->path()) == PionPlugin::PION_PLUGIN_EXTENSION) { - plugin_names.push_back(PionPlugin::getPluginName(it2->path().leaf())); + plugin_names.push_back(PionPlugin::getPluginName(it2->path().filename().string())); } } } @@ -309,11 +309,11 @@ void *PionPlugin::loadDynamicLibrary(con #else // convert into a full/absolute/complete path since dlopen() // does not always search the CWD on some operating systems - const boost::filesystem::path full_path = boost::filesystem::complete(plugin_file); + const boost::filesystem::path full_path = boost::filesystem::absolute(plugin_file); // NOTE: you must load shared libraries using RTLD_GLOBAL on Unix platforms // due to a bug in GCC (or Boost::any, depending on which crowd you want to believe). // see: http://svn.boost.org/trac/boost/ticket/754 - return dlopen(full_path.file_string().c_str(), RTLD_LAZY | RTLD_GLOBAL); + return dlopen(full_path.string().c_str(), RTLD_LAZY | RTLD_GLOBAL); #endif } diff -rup pion-net-4.0.12/common/src/PionScheduler.cpp pion-net-4.0.12-new/common/src/PionScheduler.cpp --- pion-net-4.0.12/common/src/PionScheduler.cpp 2008-11-08 00:41:17.000000000 +0100 +++ pion-net-4.0.12-new/common/src/PionScheduler.cpp 2012-07-07 20:42:22.084660696 +0200 @@ -102,7 +102,7 @@ boost::xtime PionScheduler::getWakeupTim boost::uint32_t sleep_nsec) { boost::xtime wakeup_time; - boost::xtime_get(&wakeup_time, boost::TIME_UTC); + boost::xtime_get(&wakeup_time, boost::TIME_UTC_); wakeup_time.sec += sleep_sec; wakeup_time.nsec += sleep_nsec; if (static_cast(wakeup_time.nsec) >= NSEC_IN_SECOND) { diff -rup pion-net-4.0.12/common/tests/PionPluginPtrTests.cpp pion-net-4.0.12-new/common/tests/PionPluginPtrTests.cpp --- pion-net-4.0.12/common/tests/PionPluginPtrTests.cpp 2009-10-13 18:20:43.000000000 +0200 +++ pion-net-4.0.12-new/common/tests/PionPluginPtrTests.cpp 2012-07-07 20:42:22.084660696 +0200 @@ -230,7 +230,7 @@ BOOST_AUTO_TEST_SUITE_END() class Sandbox_F { public: Sandbox_F() { - m_cwd = boost::filesystem::current_path().directory_string(); + m_cwd = boost::filesystem::current_path().string(); boost::filesystem::remove_all("sandbox"); BOOST_REQUIRE(boost::filesystem::create_directory("sandbox")); BOOST_REQUIRE(boost::filesystem::create_directory("sandbox/dir1")); diff -rup pion-net-4.0.12/configure pion-net-4.0.12-new/configure --- pion-net-4.0.12/configure 2012-03-24 08:00:10.000000000 +0100 +++ pion-net-4.0.12-new/configure 2012-07-07 20:42:22.094660551 +0200 @@ -22091,7 +22091,7 @@ fi # AC_MSG_NOTICE(Boost home directory: $BOOST_HOME_DIR) -CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS -DBOOST_FILESYSTEM_VERSION=2" +CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS -DBOOST_FILESYSTEM_VERSION=3" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" # Check for Boost library extension @@ -22197,7 +22197,7 @@ LIBS="$LIBS_SAVED" BOOST_TRY_LIB=thread BOOST_TRY_LINK="boost_${BOOST_TRY_LIB}${BOOST_LIB_EXTENSION}" LIBS_SAVED="$LIBS" -LIBS="$LIBS_SAVED -l${BOOST_TRY_LINK} ${BOOST_DATE_TIME_LIB}" +LIBS="$LIBS_SAVED -lboost_system -l${BOOST_TRY_LINK} ${BOOST_DATE_TIME_LIB}" echo "$as_me:$LINENO: checking for boost::${BOOST_TRY_LIB} library" >&5 echo $ECHO_N "checking for boost::${BOOST_TRY_LIB} library... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF diff -rup pion-net-4.0.12/net/include/pion/net/TCPConnection.hpp pion-net-4.0.12-new/net/include/pion/net/TCPConnection.hpp --- pion-net-4.0.12/net/include/pion/net/TCPConnection.hpp 2012-01-12 17:30:03.000000000 +0100 +++ pion-net-4.0.12-new/net/include/pion/net/TCPConnection.hpp 2012-07-07 20:43:34.530273709 +0200 @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff -rup pion-net-4.0.12/net/services/FileService.cpp pion-net-4.0.12-new/net/services/FileService.cpp --- pion-net-4.0.12/net/services/FileService.cpp 2009-08-06 20:58:13.000000000 +0200 +++ pion-net-4.0.12-new/net/services/FileService.cpp 2012-07-07 20:42:22.097993836 +0200 @@ -137,8 +137,8 @@ void FileService::operator()(HTTPRequest // make sure that the requested file is within the configured directory file_path.normalize(); - std::string file_string = file_path.file_string(); - if (file_string.find(m_directory.directory_string()) != 0) { + std::string file_string = file_path.string(); + if (file_string.find(m_directory.string()) != 0) { PION_LOG_WARN(m_logger, "Request for file outside of directory (" << getResource() << "): " << relative_path); static const std::string FORBIDDEN_HTML_START = @@ -319,7 +319,7 @@ void FileService::operator()(HTTPRequest << getResource() << "): " << relative_path); // determine the MIME type - response_file.setMimeType(findMIMEType( response_file.getFilePath().leaf() )); + response_file.setMimeType(findMIMEType( response_file.getFilePath().filename().string() )); // get the file_size and last_modified timestamp response_file.update(); @@ -597,7 +597,7 @@ void FileService::stop(void) void FileService::scanDirectory(const boost::filesystem::path& dir_path) { PION_LOG_DEBUG(m_logger, "Scanning directory (" << getResource() << "): " - << dir_path.directory_string()); + << dir_path.string()); // iterate through items in the directory boost::filesystem::directory_iterator end_itr; @@ -614,8 +614,8 @@ void FileService::scanDirectory(const bo // item is a regular file // figure out relative path to the file - std::string file_path_string( itr->path().file_string() ); - std::string relative_path( file_path_string.substr(m_directory.directory_string().size() + 1) ); + std::string file_path_string( itr->path().string() ); + std::string relative_path( file_path_string.substr(m_directory.string().size() + 1) ); // add item to cache (use placeholder if scan == 1) addCacheEntry(relative_path, *itr, m_scan_setting == 1); @@ -628,7 +628,7 @@ FileService::addCacheEntry(const std::st const boost::filesystem::path& file_path, const bool placeholder) { - DiskFile cache_entry(file_path, NULL, 0, 0, findMIMEType(file_path.leaf())); + DiskFile cache_entry(file_path, NULL, 0, 0, findMIMEType(file_path.filename().string())); if (! placeholder) { cache_entry.update(); // only read the file if its size is <= max_cache_size @@ -636,7 +636,7 @@ FileService::addCacheEntry(const std::st try { cache_entry.read(); } catch (std::exception&) { PION_LOG_ERROR(m_logger, "Unable to add file to cache: " - << file_path.file_string()); + << file_path.string()); return std::make_pair(m_cache_map.end(), false); } } @@ -647,10 +647,10 @@ FileService::addCacheEntry(const std::st if (add_entry_result.second) { PION_LOG_DEBUG(m_logger, "Added file to cache: " - << file_path.file_string()); + << file_path.string()); } else { PION_LOG_ERROR(m_logger, "Unable to insert cache entry for file: " - << file_path.file_string()); + << file_path.string()); } return add_entry_result; @@ -713,7 +713,7 @@ void DiskFile::read(void) // read the file into memory if (!file_stream.is_open() || !file_stream.read(m_file_content.get(), m_file_size)) - throw FileService::FileReadException(m_file_path.file_string()); + throw FileService::FileReadException(m_file_path.string()); } bool DiskFile::checkUpdated(void) @@ -751,7 +751,7 @@ DiskFileSender::DiskFileSender(DiskFile& { PION_LOG_DEBUG(m_logger, "Preparing to send file" << (m_disk_file.hasFileContent() ? " (cached): " : ": ") - << m_disk_file.getFilePath().file_string()); + << m_disk_file.getFilePath().string()); // set the Content-Type HTTP header using the file's MIME type m_writer->getResponse().setContentType(m_disk_file.getMimeType()); @@ -795,7 +795,7 @@ void DiskFileSender::send(void) m_file_stream.open(m_disk_file.getFilePath(), std::ios::in | std::ios::binary); if (! m_file_stream.is_open()) { PION_LOG_ERROR(m_logger, "Unable to open file: " - << m_disk_file.getFilePath().file_string()); + << m_disk_file.getFilePath().string()); return; } } @@ -811,10 +811,10 @@ void DiskFileSender::send(void) if (! m_file_stream.read(m_content_buf.get(), m_file_bytes_to_send)) { if (m_file_stream.gcount() > 0) { PION_LOG_ERROR(m_logger, "File size inconsistency: " - << m_disk_file.getFilePath().file_string()); + << m_disk_file.getFilePath().string()); } else { PION_LOG_ERROR(m_logger, "Unable to read file: " - << m_disk_file.getFilePath().file_string()); + << m_disk_file.getFilePath().string()); } return; }