1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
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<boost::uint32_t>(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 <boost/array.hpp>
#include <boost/function.hpp>
#include <boost/function/function1.hpp>
+#include <boost/system/system_error.hpp>
#include <pion/PionConfig.hpp>
#include <string>
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;
}
|