passenger 6.0.15 → 6.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +25 -2
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +143 -261
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +763 -947
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +1477 -1487
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ed286b35fe2afc9916972e242806d8ef6f38996
|
4
|
+
data.tar.gz: d0286a8f800b66ebb734da79ef381e8886b8c542
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c654ed76d439bdc87b06986fdd651d198c3f5334f589705a0d616545fff738b2f096962a437cdf65379bf6c9c809c833c8f9f19d604ef8fe0a64c4d5d345551
|
7
|
+
data.tar.gz: c6a215512170735670e7a33ac43010cc02e72560aec30899154e2828cd7860ae3f83c4fc028d8c9556cde045deaf02e79a04b91a3458949582360b28ef2293bb
|
data/CHANGELOG
CHANGED
@@ -1,10 +1,33 @@
|
|
1
|
-
Release 6.0.
|
1
|
+
Release 6.0.16 (Not yet released)
|
2
|
+
-------------
|
3
|
+
* Adds Ubuntu 22.10 "Kinetic" packages, removes Ubuntu 16.04 "Xenial" packages.
|
4
|
+
* Adds systemd private tmpdir workaround on Ubuntu/Debian. Closes GH-2397.
|
5
|
+
* Downgrade jsoncpp to 1.8.1 from 1.9.5 to fix invalid json generation bug. Closes GH-2445.
|
6
|
+
* Updated various library versions used in precompiled binaries (used for e.g. gem installs):
|
7
|
+
- ccache: 4.6.3 → 4.7.4
|
8
|
+
- cmake: 3.24.2 → 3.25.1
|
9
|
+
- curl: 7.85.0 → 7.86.0
|
10
|
+
- git 2.37.3 → 2.38.1
|
11
|
+
- gnupg: 2.3.7 → 2.3.8
|
12
|
+
- libgpg_error 1.45 → 1.46
|
13
|
+
- libksba 1.6.1 → 1.6.2
|
14
|
+
- openssl: 1.1.1q → 1.1.1s
|
15
|
+
- rubygems 3.3.22 → 3.3.26
|
16
|
+
- s3cmd 2.2.0 → 2.3.0
|
17
|
+
- zlib: 1.2.12 → 1.2.13
|
18
|
+
- rubies:
|
19
|
+
- 2.7.6 → 2.7.7
|
20
|
+
- 3.0.4 → 3.0.5
|
21
|
+
- 3.1.2 → 3.1.3
|
22
|
+
|
23
|
+
|
24
|
+
Release 6.0.15
|
2
25
|
-------------
|
3
26
|
* Restore ability to build against upstream libev. Contributed by Antonio Terceiro. Closes GH-1544.
|
4
27
|
* Improve rvm gemset detection. Closes GH-2420.
|
5
28
|
* Fix watchdog error on disable-log-prefix flag. Contributed by Paul Hanyzewski. Closes GH-2363.
|
6
29
|
* Upgrades Boost to 1.80.
|
7
|
-
* Fixed compilation on some platforms by
|
30
|
+
* Fixed compilation on some platforms by explicitly using the stl queue. Closes GH-2440.
|
8
31
|
* Raise an error in case rack gets an ENOBUFS error. Contributed by Mathieu Jobin.
|
9
32
|
* Fixes interaction between preload bundler option and setenv RUBYOPT option. Closes GH-2424.
|
10
33
|
* Add rpm packages for el9 (RHEL, Rocky, Alma). Closes GH-2431.
|
data/src/agent/Core/Config.h
CHANGED
@@ -165,7 +165,7 @@ using namespace std;
|
|
165
165
|
* security_update_checker_interval unsigned integer - default(86400)
|
166
166
|
* security_update_checker_proxy_url string - -
|
167
167
|
* security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
|
168
|
-
* server_software string - default("Phusion_Passenger/6.0.
|
168
|
+
* server_software string - default("Phusion_Passenger/6.0.16")
|
169
169
|
* show_version_in_header boolean - default(true)
|
170
170
|
* single_app_mode_app_root string - default,read_only
|
171
171
|
* single_app_mode_app_start_command string - read_only
|
@@ -116,7 +116,7 @@ parseControllerBenchmarkMode(const StaticString &mode) {
|
|
116
116
|
* multi_app boolean - default(true),read_only
|
117
117
|
* request_freelist_limit unsigned integer - default(1024)
|
118
118
|
* response_buffer_high_watermark unsigned integer - default(134217728)
|
119
|
-
* server_software string - default("Phusion_Passenger/6.0.
|
119
|
+
* server_software string - default("Phusion_Passenger/6.0.16")
|
120
120
|
* show_version_in_header boolean - default(true)
|
121
121
|
* start_reading_after_accept boolean - default(true)
|
122
122
|
* stat_throttle_rate unsigned integer - default(10)
|
data/src/agent/Watchdog/Config.h
CHANGED
@@ -154,7 +154,7 @@ using namespace std;
|
|
154
154
|
* security_update_checker_interval unsigned integer - default(86400)
|
155
155
|
* security_update_checker_proxy_url string - -
|
156
156
|
* security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
|
157
|
-
* server_software string - default("Phusion_Passenger/6.0.
|
157
|
+
* server_software string - default("Phusion_Passenger/6.0.16")
|
158
158
|
* setsid boolean - default(false)
|
159
159
|
* show_version_in_header boolean - default(true)
|
160
160
|
* single_app_mode_app_root string - default,read_only
|
@@ -83,7 +83,7 @@
|
|
83
83
|
#define PASSENGER_API_VERSION_MAJOR 0
|
84
84
|
#define PASSENGER_API_VERSION_MINOR 3
|
85
85
|
#define PASSENGER_DEFAULT_USER "nobody"
|
86
|
-
#define PASSENGER_VERSION "6.0.
|
86
|
+
#define PASSENGER_VERSION "6.0.16"
|
87
87
|
#define POOL_HELPER_THREAD_STACK_SIZE 262144
|
88
88
|
#define PROCESS_SHUTDOWN_TIMEOUT 60
|
89
89
|
#define PROCESS_SHUTDOWN_TIMEOUT_DISPLAY "1 minute"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
/// Json-cpp
|
1
|
+
/// Json-cpp amalgated forward header (http://jsoncpp.sourceforge.net/).
|
2
2
|
/// It is intended to be used with #include "json/json-forwards.h"
|
3
3
|
/// This header provides forward declaration for all JsonCpp types.
|
4
4
|
|
@@ -7,32 +7,32 @@
|
|
7
7
|
// //////////////////////////////////////////////////////////////////////
|
8
8
|
|
9
9
|
/*
|
10
|
-
The JsonCpp library's source code, including accompanying documentation,
|
10
|
+
The JsonCpp library's source code, including accompanying documentation,
|
11
11
|
tests and demonstration applications, are licensed under the following
|
12
12
|
conditions...
|
13
13
|
|
14
|
-
|
15
|
-
jurisdictions which recognize such a disclaimer. In such jurisdictions,
|
14
|
+
The JsonCpp Authors explicitly disclaim copyright in all
|
15
|
+
jurisdictions which recognize such a disclaimer. In such jurisdictions,
|
16
16
|
this software is released into the Public Domain.
|
17
17
|
|
18
18
|
In jurisdictions which do not recognize Public Domain property (e.g. Germany as of
|
19
|
-
2010), this software is Copyright (c) 2007-2010 by
|
20
|
-
|
19
|
+
2010), this software is Copyright (c) 2007-2010 by The JsonCpp Authors, and is
|
20
|
+
released under the terms of the MIT License (see below).
|
21
21
|
|
22
|
-
In jurisdictions which recognize Public Domain property, the user of this
|
23
|
-
software may choose to accept it either as 1) Public Domain, 2) under the
|
24
|
-
conditions of the MIT License (see below), or 3) under the terms of dual
|
22
|
+
In jurisdictions which recognize Public Domain property, the user of this
|
23
|
+
software may choose to accept it either as 1) Public Domain, 2) under the
|
24
|
+
conditions of the MIT License (see below), or 3) under the terms of dual
|
25
25
|
Public Domain/MIT License conditions described here, as they choose.
|
26
26
|
|
27
27
|
The MIT License is about as close to Public Domain as a license can get, and is
|
28
28
|
described in clear, concise terms at:
|
29
29
|
|
30
30
|
http://en.wikipedia.org/wiki/MIT_License
|
31
|
-
|
31
|
+
|
32
32
|
The full text of the MIT License follows:
|
33
33
|
|
34
34
|
========================================================================
|
35
|
-
Copyright (c) 2007-2010
|
35
|
+
Copyright (c) 2007-2010 The JsonCpp Authors
|
36
36
|
|
37
37
|
Permission is hereby granted, free of charge, to any person
|
38
38
|
obtaining a copy of this software and associated documentation
|
@@ -73,177 +73,36 @@ license you like.
|
|
73
73
|
|
74
74
|
|
75
75
|
|
76
|
-
#ifndef
|
77
|
-
# define
|
78
|
-
/// If defined, indicates that the source file is
|
76
|
+
#ifndef JSON_FORWARD_AMALGATED_H_INCLUDED
|
77
|
+
# define JSON_FORWARD_AMALGATED_H_INCLUDED
|
78
|
+
/// If defined, indicates that the source file is amalgated
|
79
79
|
/// to prevent private header inclusion.
|
80
80
|
#define JSON_IS_AMALGAMATION
|
81
81
|
|
82
|
-
// //////////////////////////////////////////////////////////////////////
|
83
|
-
// Beginning of content of file: include/json/version.h
|
84
|
-
// //////////////////////////////////////////////////////////////////////
|
85
|
-
|
86
|
-
#ifndef JSON_VERSION_H_INCLUDED
|
87
|
-
#define JSON_VERSION_H_INCLUDED
|
88
|
-
|
89
|
-
// Note: version must be updated in three places when doing a release. This
|
90
|
-
// annoying process ensures that amalgamate, CMake, and meson all report the
|
91
|
-
// correct version.
|
92
|
-
// 1. /meson.build
|
93
|
-
// 2. /include/json/version.h
|
94
|
-
// 3. /CMakeLists.txt
|
95
|
-
// IMPORTANT: also update the SOVERSION!!
|
96
|
-
|
97
|
-
#define JSONCPP_VERSION_STRING "1.9.5"
|
98
|
-
#define JSONCPP_VERSION_MAJOR 1
|
99
|
-
#define JSONCPP_VERSION_MINOR 9
|
100
|
-
#define JSONCPP_VERSION_PATCH 5
|
101
|
-
#define JSONCPP_VERSION_QUALIFIER
|
102
|
-
#define JSONCPP_VERSION_HEXA \
|
103
|
-
((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | \
|
104
|
-
(JSONCPP_VERSION_PATCH << 8))
|
105
|
-
|
106
|
-
#ifdef JSONCPP_USING_SECURE_MEMORY
|
107
|
-
#undef JSONCPP_USING_SECURE_MEMORY
|
108
|
-
#endif
|
109
|
-
#define JSONCPP_USING_SECURE_MEMORY 0
|
110
|
-
// If non-zero, the library zeroes any memory that it has allocated before
|
111
|
-
// it frees its memory.
|
112
|
-
|
113
|
-
#endif // JSON_VERSION_H_INCLUDED
|
114
|
-
|
115
|
-
// //////////////////////////////////////////////////////////////////////
|
116
|
-
// End of content of file: include/json/version.h
|
117
|
-
// //////////////////////////////////////////////////////////////////////
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
// //////////////////////////////////////////////////////////////////////
|
125
|
-
// Beginning of content of file: include/json/allocator.h
|
126
|
-
// //////////////////////////////////////////////////////////////////////
|
127
|
-
|
128
|
-
// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors
|
129
|
-
// Distributed under MIT license, or public domain if desired and
|
130
|
-
// recognized in your jurisdiction.
|
131
|
-
// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
|
132
|
-
|
133
|
-
#ifndef JSON_ALLOCATOR_H_INCLUDED
|
134
|
-
#define JSON_ALLOCATOR_H_INCLUDED
|
135
|
-
|
136
|
-
#include <cstring>
|
137
|
-
#include <memory>
|
138
|
-
|
139
|
-
#pragma pack(push, 8)
|
140
|
-
|
141
|
-
namespace Passenger {
|
142
|
-
namespace Json {
|
143
|
-
template <typename T> class SecureAllocator {
|
144
|
-
public:
|
145
|
-
// Type definitions
|
146
|
-
using value_type = T;
|
147
|
-
using pointer = T*;
|
148
|
-
using const_pointer = const T*;
|
149
|
-
using reference = T&;
|
150
|
-
using const_reference = const T&;
|
151
|
-
using size_type = std::size_t;
|
152
|
-
using difference_type = std::ptrdiff_t;
|
153
|
-
|
154
|
-
/**
|
155
|
-
* Allocate memory for N items using the standard allocator.
|
156
|
-
*/
|
157
|
-
pointer allocate(size_type n) {
|
158
|
-
// allocate using "global operator new"
|
159
|
-
return static_cast<pointer>(::operator new(n * sizeof(T)));
|
160
|
-
}
|
161
|
-
|
162
|
-
/**
|
163
|
-
* Release memory which was allocated for N items at pointer P.
|
164
|
-
*
|
165
|
-
* The memory block is filled with zeroes before being released.
|
166
|
-
*/
|
167
|
-
void deallocate(pointer p, size_type n) {
|
168
|
-
// memset_s is used because memset may be optimized away by the compiler
|
169
|
-
memset_s(p, n * sizeof(T), 0, n * sizeof(T));
|
170
|
-
// free using "global operator delete"
|
171
|
-
::operator delete(p);
|
172
|
-
}
|
173
|
-
|
174
|
-
/**
|
175
|
-
* Construct an item in-place at pointer P.
|
176
|
-
*/
|
177
|
-
template <typename... Args> void construct(pointer p, Args&&... args) {
|
178
|
-
// construct using "placement new" and "perfect forwarding"
|
179
|
-
::new (static_cast<void*>(p)) T(std::forward<Args>(args)...);
|
180
|
-
}
|
181
|
-
|
182
|
-
size_type max_size() const { return size_t(-1) / sizeof(T); }
|
183
|
-
|
184
|
-
pointer address(reference x) const { return std::addressof(x); }
|
185
|
-
|
186
|
-
const_pointer address(const_reference x) const { return std::addressof(x); }
|
187
|
-
|
188
|
-
/**
|
189
|
-
* Destroy an item in-place at pointer P.
|
190
|
-
*/
|
191
|
-
void destroy(pointer p) {
|
192
|
-
// destroy using "explicit destructor"
|
193
|
-
p->~T();
|
194
|
-
}
|
195
|
-
|
196
|
-
// Boilerplate
|
197
|
-
SecureAllocator() {}
|
198
|
-
template <typename U> SecureAllocator(const SecureAllocator<U>&) {}
|
199
|
-
template <typename U> struct rebind { using other = SecureAllocator<U>; };
|
200
|
-
};
|
201
|
-
|
202
|
-
template <typename T, typename U>
|
203
|
-
bool operator==(const SecureAllocator<T>&, const SecureAllocator<U>&) {
|
204
|
-
return true;
|
205
|
-
}
|
206
|
-
|
207
|
-
template <typename T, typename U>
|
208
|
-
bool operator!=(const SecureAllocator<T>&, const SecureAllocator<U>&) {
|
209
|
-
return false;
|
210
|
-
}
|
211
|
-
|
212
|
-
} // namespace Json
|
213
|
-
} // namespace Passenger
|
214
|
-
|
215
|
-
#pragma pack(pop)
|
216
|
-
|
217
|
-
#endif // JSON_ALLOCATOR_H_INCLUDED
|
218
|
-
|
219
|
-
// //////////////////////////////////////////////////////////////////////
|
220
|
-
// End of content of file: include/json/allocator.h
|
221
|
-
// //////////////////////////////////////////////////////////////////////
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
82
|
// //////////////////////////////////////////////////////////////////////
|
229
83
|
// Beginning of content of file: include/json/config.h
|
230
84
|
// //////////////////////////////////////////////////////////////////////
|
231
85
|
|
232
|
-
// Copyright 2007-2010 Baptiste Lepilleur
|
86
|
+
// Copyright 2007-2010 Baptiste Lepilleur
|
233
87
|
// Distributed under MIT license, or public domain if desired and
|
234
88
|
// recognized in your jurisdiction.
|
235
89
|
// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
|
236
90
|
|
237
91
|
#ifndef JSON_CONFIG_H_INCLUDED
|
238
92
|
#define JSON_CONFIG_H_INCLUDED
|
239
|
-
#include <
|
240
|
-
#include <
|
241
|
-
#include <
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
93
|
+
#include <stddef.h>
|
94
|
+
#include <string> //typedef String
|
95
|
+
#include <stdint.h> //typedef int64_t, uint64_t
|
96
|
+
|
97
|
+
/// If defined, indicates that json library is embedded in CppTL library.
|
98
|
+
//# define JSON_IN_CPPTL 1
|
99
|
+
|
100
|
+
/// If defined, indicates that json may leverage CppTL library
|
101
|
+
//# define JSON_USE_CPPTL 1
|
102
|
+
/// If defined, indicates that cpptl vector based map should be used instead of
|
103
|
+
/// std::map
|
104
|
+
/// as Value container.
|
105
|
+
//# define JSON_USE_CPPTL_SMALLMAP 1
|
247
106
|
|
248
107
|
// If non-zero, the library uses exceptions to report bad input instead of C
|
249
108
|
// assertion macros. The default is to use exceptions.
|
@@ -251,134 +110,163 @@ bool operator!=(const SecureAllocator<T>&, const SecureAllocator<U>&) {
|
|
251
110
|
#define JSON_USE_EXCEPTION 1
|
252
111
|
#endif
|
253
112
|
|
254
|
-
|
255
|
-
#ifndef JSON_USE_NULLREF
|
256
|
-
#define JSON_USE_NULLREF 1
|
257
|
-
#endif
|
258
|
-
|
259
|
-
/// If defined, indicates that the source file is amalgamated
|
113
|
+
/// If defined, indicates that the source file is amalgated
|
260
114
|
/// to prevent private header inclusion.
|
261
|
-
/// Remarks: it is automatically defined in the generated
|
115
|
+
/// Remarks: it is automatically defined in the generated amalgated header.
|
262
116
|
// #define JSON_IS_AMALGAMATION
|
263
117
|
|
264
|
-
|
265
|
-
#
|
118
|
+
#ifdef JSON_IN_CPPTL
|
119
|
+
#include <cpptl/config.h>
|
120
|
+
#ifndef JSON_USE_CPPTL
|
121
|
+
#define JSON_USE_CPPTL 1
|
122
|
+
#endif
|
123
|
+
#endif
|
124
|
+
|
125
|
+
#ifdef JSON_IN_CPPTL
|
126
|
+
#define JSON_API CPPTL_API
|
127
|
+
#elif defined(JSON_DLL_BUILD)
|
266
128
|
#if defined(_MSC_VER) || defined(__MINGW32__)
|
267
129
|
#define JSON_API __declspec(dllexport)
|
268
130
|
#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING
|
269
|
-
#elif defined(__GNUC__) || defined(__clang__)
|
270
|
-
#define JSON_API __attribute__((visibility("default")))
|
271
131
|
#endif // if defined(_MSC_VER)
|
272
|
-
|
273
132
|
#elif defined(JSON_DLL)
|
274
133
|
#if defined(_MSC_VER) || defined(__MINGW32__)
|
275
134
|
#define JSON_API __declspec(dllimport)
|
276
135
|
#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING
|
277
136
|
#endif // if defined(_MSC_VER)
|
278
|
-
#endif // ifdef
|
279
|
-
|
137
|
+
#endif // ifdef JSON_IN_CPPTL
|
280
138
|
#if !defined(JSON_API)
|
281
139
|
#define JSON_API
|
282
140
|
#endif
|
283
141
|
|
284
|
-
#if defined(_MSC_VER) && _MSC_VER < 1800
|
285
|
-
#error \
|
286
|
-
"ERROR: Visual Studio 12 (2013) with _MSC_VER=1800 is the oldest supported compiler with sufficient C++11 capabilities"
|
287
|
-
#endif
|
288
|
-
|
289
|
-
#if defined(_MSC_VER) && _MSC_VER < 1900
|
290
|
-
// As recommended at
|
291
|
-
// https://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010
|
292
|
-
extern JSON_API int msvc_pre1900_c99_snprintf(char* outBuf, size_t size,
|
293
|
-
const char* format, ...);
|
294
|
-
#define jsoncpp_snprintf msvc_pre1900_c99_snprintf
|
295
|
-
#else
|
296
|
-
#define jsoncpp_snprintf std::snprintf
|
297
|
-
#endif
|
298
|
-
|
299
142
|
// If JSON_NO_INT64 is defined, then Json only support C++ "int" type for
|
300
143
|
// integer
|
301
144
|
// Storages, and 64 bits integer support is disabled.
|
302
145
|
// #define JSON_NO_INT64 1
|
303
146
|
|
304
|
-
|
305
|
-
|
306
|
-
|
147
|
+
#if defined(_MSC_VER) // MSVC
|
148
|
+
# if _MSC_VER <= 1200 // MSVC 6
|
149
|
+
// Microsoft Visual Studio 6 only support conversion from __int64 to double
|
150
|
+
// (no conversion from unsigned __int64).
|
151
|
+
# define JSON_USE_INT64_DOUBLE_CONVERSION 1
|
152
|
+
// Disable warning 4786 for VS6 caused by STL (identifier was truncated to '255'
|
153
|
+
// characters in the debug information)
|
154
|
+
// All projects I've ever seen with VS6 were using this globally (not bothering
|
155
|
+
// with pragma push/pop).
|
156
|
+
# pragma warning(disable : 4786)
|
157
|
+
# endif // MSVC 6
|
158
|
+
|
159
|
+
# if _MSC_VER >= 1500 // MSVC 2008
|
160
|
+
/// Indicates that the following function is deprecated.
|
161
|
+
# define JSONCPP_DEPRECATED(message) __declspec(deprecated(message))
|
162
|
+
# endif
|
163
|
+
|
164
|
+
#endif // defined(_MSC_VER)
|
165
|
+
|
166
|
+
// In c++11 the override keyword allows you to explicity define that a function
|
167
|
+
// is intended to override the base-class version. This makes the code more
|
168
|
+
// managable and fixes a set of common hard-to-find bugs.
|
169
|
+
#if __cplusplus >= 201103L
|
170
|
+
# define JSONCPP_OVERRIDE override
|
171
|
+
# define JSONCPP_NOEXCEPT noexcept
|
172
|
+
#elif defined(_MSC_VER) && _MSC_VER > 1600 && _MSC_VER < 1900
|
173
|
+
# define JSONCPP_OVERRIDE override
|
174
|
+
# define JSONCPP_NOEXCEPT throw()
|
175
|
+
#elif defined(_MSC_VER) && _MSC_VER >= 1900
|
176
|
+
# define JSONCPP_OVERRIDE override
|
177
|
+
# define JSONCPP_NOEXCEPT noexcept
|
178
|
+
#else
|
179
|
+
# define JSONCPP_OVERRIDE
|
180
|
+
# define JSONCPP_NOEXCEPT throw()
|
181
|
+
#endif
|
182
|
+
|
183
|
+
#ifndef JSON_HAS_RVALUE_REFERENCES
|
184
|
+
|
185
|
+
#if defined(_MSC_VER) && _MSC_VER >= 1600 // MSVC >= 2010
|
186
|
+
#define JSON_HAS_RVALUE_REFERENCES 1
|
187
|
+
#endif // MSVC >= 2010
|
307
188
|
|
308
189
|
#ifdef __clang__
|
309
|
-
#if
|
310
|
-
#define
|
190
|
+
#if __has_feature(cxx_rvalue_references)
|
191
|
+
#define JSON_HAS_RVALUE_REFERENCES 1
|
192
|
+
#endif // has_feature
|
193
|
+
|
194
|
+
#elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc)
|
195
|
+
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
|
196
|
+
#define JSON_HAS_RVALUE_REFERENCES 1
|
197
|
+
#endif // GXX_EXPERIMENTAL
|
198
|
+
|
199
|
+
#endif // __clang__ || __GNUC__
|
200
|
+
|
201
|
+
#endif // not defined JSON_HAS_RVALUE_REFERENCES
|
202
|
+
|
203
|
+
#ifndef JSON_HAS_RVALUE_REFERENCES
|
204
|
+
#define JSON_HAS_RVALUE_REFERENCES 0
|
311
205
|
#endif
|
312
|
-
|
313
|
-
#
|
314
|
-
#
|
315
|
-
#
|
316
|
-
#define JSONCPP_DEPRECATED(message)
|
317
|
-
#
|
318
|
-
#
|
319
|
-
|
320
|
-
#
|
321
|
-
#endif // __clang__ || __GNUC__ || _MSC_VER
|
206
|
+
|
207
|
+
#ifdef __clang__
|
208
|
+
#elif defined __GNUC__ // not clang (gcc comes later since clang emulates gcc)
|
209
|
+
# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
|
210
|
+
# define JSONCPP_DEPRECATED(message) __attribute__ ((deprecated(message)))
|
211
|
+
# elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
|
212
|
+
# define JSONCPP_DEPRECATED(message) __attribute__((__deprecated__))
|
213
|
+
# endif // GNUC version
|
214
|
+
#endif // __clang__ || __GNUC__
|
322
215
|
|
323
216
|
#if !defined(JSONCPP_DEPRECATED)
|
324
217
|
#define JSONCPP_DEPRECATED(message)
|
325
218
|
#endif // if !defined(JSONCPP_DEPRECATED)
|
326
219
|
|
327
|
-
#if
|
328
|
-
#define JSON_USE_INT64_DOUBLE_CONVERSION 1
|
220
|
+
#if __GNUC__ >= 6
|
221
|
+
# define JSON_USE_INT64_DOUBLE_CONVERSION 1
|
329
222
|
#endif
|
330
223
|
|
331
224
|
#if !defined(JSON_IS_AMALGAMATION)
|
332
225
|
|
333
|
-
#include "
|
334
|
-
|
226
|
+
# include "version.h"
|
227
|
+
|
228
|
+
# if JSONCPP_USING_SECURE_MEMORY
|
229
|
+
# include "allocator.h" //typedef Allocator
|
230
|
+
# endif
|
335
231
|
|
336
232
|
#endif // if !defined(JSON_IS_AMALGAMATION)
|
337
233
|
|
338
234
|
namespace Passenger {
|
339
235
|
namespace Json {
|
340
|
-
|
341
|
-
|
236
|
+
typedef int Int;
|
237
|
+
typedef unsigned int UInt;
|
342
238
|
#if defined(JSON_NO_INT64)
|
343
|
-
|
344
|
-
|
239
|
+
typedef int LargestInt;
|
240
|
+
typedef unsigned int LargestUInt;
|
345
241
|
#undef JSON_HAS_INT64
|
346
242
|
#else // if defined(JSON_NO_INT64)
|
347
243
|
// For Microsoft Visual use specific types as long long is not supported
|
348
244
|
#if defined(_MSC_VER) // Microsoft Visual Studio
|
349
|
-
|
350
|
-
|
245
|
+
typedef __int64 Int64;
|
246
|
+
typedef unsigned __int64 UInt64;
|
351
247
|
#else // if defined(_MSC_VER) // Other platforms, use long long
|
352
|
-
|
353
|
-
|
354
|
-
#endif
|
355
|
-
|
356
|
-
|
248
|
+
typedef int64_t Int64;
|
249
|
+
typedef uint64_t UInt64;
|
250
|
+
#endif // if defined(_MSC_VER)
|
251
|
+
typedef Int64 LargestInt;
|
252
|
+
typedef UInt64 LargestUInt;
|
357
253
|
#define JSON_HAS_INT64
|
358
254
|
#endif // if defined(JSON_NO_INT64)
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
} // namespace
|
374
|
-
} // namespace Passenger
|
375
|
-
|
376
|
-
// Legacy names (formerly macros).
|
377
|
-
using JSONCPP_STRING = Json::String;
|
378
|
-
using JSONCPP_ISTRINGSTREAM = Json::IStringStream;
|
379
|
-
using JSONCPP_OSTRINGSTREAM = Json::OStringStream;
|
380
|
-
using JSONCPP_ISTREAM = Json::IStream;
|
381
|
-
using JSONCPP_OSTREAM = Json::OStream;
|
255
|
+
#if JSONCPP_USING_SECURE_MEMORY
|
256
|
+
#define JSONCPP_STRING std::basic_string<char, std::char_traits<char>, Json::SecureAllocator<char> >
|
257
|
+
#define JSONCPP_OSTRINGSTREAM std::basic_ostringstream<char, std::char_traits<char>, Json::SecureAllocator<char> >
|
258
|
+
#define JSONCPP_OSTREAM std::basic_ostream<char, std::char_traits<char>>
|
259
|
+
#define JSONCPP_ISTRINGSTREAM std::basic_istringstream<char, std::char_traits<char>, Json::SecureAllocator<char> >
|
260
|
+
#define JSONCPP_ISTREAM std::istream
|
261
|
+
#else
|
262
|
+
#define JSONCPP_STRING std::string
|
263
|
+
#define JSONCPP_OSTRINGSTREAM std::ostringstream
|
264
|
+
#define JSONCPP_OSTREAM std::ostream
|
265
|
+
#define JSONCPP_ISTRINGSTREAM std::istringstream
|
266
|
+
#define JSONCPP_ISTREAM std::istream
|
267
|
+
#endif // if JSONCPP_USING_SECURE_MEMORY
|
268
|
+
} // end namespace Json
|
269
|
+
} // end namespace Passenger
|
382
270
|
|
383
271
|
#endif // JSON_CONFIG_H_INCLUDED
|
384
272
|
|
@@ -395,7 +283,7 @@ using JSONCPP_OSTREAM = Json::OStream;
|
|
395
283
|
// Beginning of content of file: include/json/forwards.h
|
396
284
|
// //////////////////////////////////////////////////////////////////////
|
397
285
|
|
398
|
-
// Copyright 2007-2010 Baptiste Lepilleur
|
286
|
+
// Copyright 2007-2010 Baptiste Lepilleur
|
399
287
|
// Distributed under MIT license, or public domain if desired and
|
400
288
|
// recognized in your jurisdiction.
|
401
289
|
// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
|
@@ -411,23 +299,17 @@ namespace Passenger {
|
|
411
299
|
namespace Json {
|
412
300
|
|
413
301
|
// writer.h
|
414
|
-
class StreamWriter;
|
415
|
-
class StreamWriterBuilder;
|
416
|
-
class Writer;
|
417
302
|
class FastWriter;
|
418
303
|
class StyledWriter;
|
419
|
-
class StyledStreamWriter;
|
420
304
|
|
421
305
|
// reader.h
|
422
306
|
class Reader;
|
423
|
-
class CharReader;
|
424
|
-
class CharReaderBuilder;
|
425
307
|
|
426
|
-
//
|
308
|
+
// features.h
|
427
309
|
class Features;
|
428
310
|
|
429
311
|
// value.h
|
430
|
-
|
312
|
+
typedef unsigned int ArrayIndex;
|
431
313
|
class StaticString;
|
432
314
|
class Path;
|
433
315
|
class PathArgument;
|
@@ -449,4 +331,4 @@ class ValueConstIterator;
|
|
449
331
|
|
450
332
|
|
451
333
|
|
452
|
-
#endif //ifndef
|
334
|
+
#endif //ifndef JSON_FORWARD_AMALGATED_H_INCLUDED
|