diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-11-18 13:24:00 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-11-18 13:24:00 +0100 |
commit | a78bc73beb1c34421659258801569128b256f797 (patch) | |
tree | 95021bdd67361554161ec1a9717e86ece86a962d | |
parent | 488615cea6ccb5437ebde23c03a5e52fdbc95436 (diff) | |
download | libmicrohttpd-a78bc73beb1c34421659258801569128b256f797.tar.gz libmicrohttpd-a78bc73beb1c34421659258801569128b256f797.zip |
releasing 0.9.61v0.9.61
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | po/libmicrohttpd.pot | 286 | ||||
-rw-r--r-- | src/examples/suspend_resume_epoll.c | 3 | ||||
-rw-r--r-- | src/include/microhttpd.h | 6 | ||||
-rw-r--r-- | src/microhttpd/connection.c | 38 | ||||
-rw-r--r-- | src/microhttpd/daemon.c | 9 | ||||
-rw-r--r-- | src/microhttpd/digestauth.c | 26 |
8 files changed, 200 insertions, 180 deletions
@@ -1,3 +1,9 @@ | |||
1 | Sun Nov 18 13:08:11 CET 2018 | ||
2 | Parse arguments with (properly) escaped URLs correctly. | ||
3 | (making things work with recent cURL changes, #5473). | ||
4 | Replace sprintf with snprintf in testcases. | ||
5 | Releasing libmicrohttpd 0.9.61. -CG | ||
6 | |||
1 | Wed Nov 14 14:01:21 CET 2018 | 7 | Wed Nov 14 14:01:21 CET 2018 |
2 | Fix build issue with GnuTLS < 3.0. -CG | 8 | Fix build issue with GnuTLS < 3.0. -CG |
3 | 9 | ||
diff --git a/configure.ac b/configure.ac index 02a980a9..3e840234 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -22,15 +22,15 @@ | |||
22 | # | 22 | # |
23 | AC_PREREQ([2.64]) | 23 | AC_PREREQ([2.64]) |
24 | LT_PREREQ([2.4.0]) | 24 | LT_PREREQ([2.4.0]) |
25 | AC_INIT([GNU Libmicrohttpd],[0.9.60],[libmicrohttpd@gnu.org]) | 25 | AC_INIT([GNU Libmicrohttpd],[0.9.61],[libmicrohttpd@gnu.org]) |
26 | AC_CONFIG_AUX_DIR([build-aux]) | 26 | AC_CONFIG_AUX_DIR([build-aux]) |
27 | AM_INIT_AUTOMAKE([silent-rules] [subdir-objects]) | 27 | AM_INIT_AUTOMAKE([silent-rules] [subdir-objects]) |
28 | AC_CONFIG_HEADERS([MHD_config.h]) | 28 | AC_CONFIG_HEADERS([MHD_config.h]) |
29 | AC_CONFIG_MACRO_DIR([m4]) | 29 | AC_CONFIG_MACRO_DIR([m4]) |
30 | 30 | ||
31 | LIB_VERSION_CURRENT=59 | 31 | LIB_VERSION_CURRENT=60 |
32 | LIB_VERSION_REVISION=0 | 32 | LIB_VERSION_REVISION=0 |
33 | LIB_VERSION_AGE=47 | 33 | LIB_VERSION_AGE=48 |
34 | AC_SUBST(LIB_VERSION_CURRENT) | 34 | AC_SUBST(LIB_VERSION_CURRENT) |
35 | AC_SUBST(LIB_VERSION_REVISION) | 35 | AC_SUBST(LIB_VERSION_REVISION) |
36 | AC_SUBST(LIB_VERSION_AGE) | 36 | AC_SUBST(LIB_VERSION_AGE) |
diff --git a/po/libmicrohttpd.pot b/po/libmicrohttpd.pot index 61ea74ab..93487aa6 100644 --- a/po/libmicrohttpd.pot +++ b/po/libmicrohttpd.pot | |||
@@ -6,9 +6,9 @@ | |||
6 | #, fuzzy | 6 | #, fuzzy |
7 | msgid "" | 7 | msgid "" |
8 | msgstr "" | 8 | msgstr "" |
9 | "Project-Id-Version: GNU libmicrohttpd 0.9.60\n" | 9 | "Project-Id-Version: GNU libmicrohttpd 0.9.61\n" |
10 | "Report-Msgid-Bugs-To: libmicrohttpd@gnu.org\n" | 10 | "Report-Msgid-Bugs-To: libmicrohttpd@gnu.org\n" |
11 | "POT-Creation-Date: 2018-11-18 11:25+0100\n" | 11 | "POT-Creation-Date: 2018-11-18 13:11+0100\n" |
12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | "Language-Team: LANGUAGE <LL@li.org>\n" | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
@@ -47,39 +47,39 @@ msgstr "" | |||
47 | msgid "Failed to allocate memory for copy of URI arguments\n" | 47 | msgid "Failed to allocate memory for copy of URI arguments\n" |
48 | msgstr "" | 48 | msgstr "" |
49 | 49 | ||
50 | #: src/microhttpd/digestauth.c:805 | 50 | #: src/microhttpd/digestauth.c:807 |
51 | msgid "Authentication failed, invalid timestamp format.\n" | 51 | msgid "Authentication failed, invalid timestamp format.\n" |
52 | msgstr "" | 52 | msgstr "" |
53 | 53 | ||
54 | #: src/microhttpd/digestauth.c:866 | 54 | #: src/microhttpd/digestauth.c:868 |
55 | msgid "Authentication failed, invalid format.\n" | 55 | msgid "Authentication failed, invalid format.\n" |
56 | msgstr "" | 56 | msgstr "" |
57 | 57 | ||
58 | #: src/microhttpd/digestauth.c:876 | 58 | #: src/microhttpd/digestauth.c:878 |
59 | msgid "Authentication failed, invalid nc format.\n" | 59 | msgid "Authentication failed, invalid nc format.\n" |
60 | msgstr "" | 60 | msgstr "" |
61 | 61 | ||
62 | #: src/microhttpd/digestauth.c:902 | 62 | #: src/microhttpd/digestauth.c:904 |
63 | msgid "Failed to allocate memory for auth header processing\n" | 63 | msgid "Failed to allocate memory for auth header processing\n" |
64 | msgstr "" | 64 | msgstr "" |
65 | 65 | ||
66 | #: src/microhttpd/digestauth.c:954 | 66 | #: src/microhttpd/digestauth.c:956 |
67 | msgid "Authentication failed, URI does not match.\n" | 67 | msgid "Authentication failed, URI does not match.\n" |
68 | msgstr "" | 68 | msgstr "" |
69 | 69 | ||
70 | #: src/microhttpd/digestauth.c:974 | 70 | #: src/microhttpd/digestauth.c:976 |
71 | msgid "Authentication failed, arguments do not match.\n" | 71 | msgid "Authentication failed, arguments do not match.\n" |
72 | msgstr "" | 72 | msgstr "" |
73 | 73 | ||
74 | #: src/microhttpd/digestauth.c:1089 | 74 | #: src/microhttpd/digestauth.c:1091 |
75 | msgid "Could not register nonce (is the nonce array size zero?).\n" | 75 | msgid "Could not register nonce (is the nonce array size zero?).\n" |
76 | msgstr "" | 76 | msgstr "" |
77 | 77 | ||
78 | #: src/microhttpd/digestauth.c:1112 | 78 | #: src/microhttpd/digestauth.c:1114 |
79 | msgid "Failed to allocate memory for auth response header\n" | 79 | msgid "Failed to allocate memory for auth response header\n" |
80 | msgstr "" | 80 | msgstr "" |
81 | 81 | ||
82 | #: src/microhttpd/digestauth.c:1146 | 82 | #: src/microhttpd/digestauth.c:1148 |
83 | msgid "Failed to add Digest auth header\n" | 83 | msgid "Failed to add Digest auth header\n" |
84 | msgstr "" | 84 | msgstr "" |
85 | 85 | ||
@@ -122,7 +122,7 @@ msgid "" | |||
122 | "unsupported.\n" | 122 | "unsupported.\n" |
123 | msgstr "" | 123 | msgstr "" |
124 | 124 | ||
125 | #: src/microhttpd/daemon.c:1258 src/microhttpd/daemon.c:6329 | 125 | #: src/microhttpd/daemon.c:1258 src/microhttpd/daemon.c:6332 |
126 | msgid "" | 126 | msgid "" |
127 | "Initiated daemon shutdown while \"upgraded\" connection was not closed.\n" | 127 | "Initiated daemon shutdown while \"upgraded\" connection was not closed.\n" |
128 | msgstr "" | 128 | msgstr "" |
@@ -139,457 +139,457 @@ msgstr "" | |||
139 | msgid "Error preparing select\n" | 139 | msgid "Error preparing select\n" |
140 | msgstr "" | 140 | msgstr "" |
141 | 141 | ||
142 | #: src/microhttpd/daemon.c:1660 src/microhttpd/daemon.c:1811 | 142 | #: src/microhttpd/daemon.c:1660 src/microhttpd/daemon.c:1812 |
143 | #: src/microhttpd/daemon.c:1955 | 143 | #: src/microhttpd/daemon.c:1956 |
144 | #, c-format | 144 | #, c-format |
145 | msgid "Error during select (%d): `%s'\n" | 145 | msgid "Error during select (%d): `%s'\n" |
146 | msgstr "" | 146 | msgstr "" |
147 | 147 | ||
148 | #: src/microhttpd/daemon.c:1709 src/microhttpd/daemon.c:1832 | 148 | #: src/microhttpd/daemon.c:1709 src/microhttpd/daemon.c:1833 |
149 | #: src/microhttpd/daemon.c:2024 | 149 | #: src/microhttpd/daemon.c:2025 |
150 | #, c-format | 150 | #, c-format |
151 | msgid "Error during poll: `%s'\n" | 151 | msgid "Error during poll: `%s'\n" |
152 | msgstr "" | 152 | msgstr "" |
153 | 153 | ||
154 | #: src/microhttpd/daemon.c:1795 src/microhttpd/daemon.c:1937 | 154 | #: src/microhttpd/daemon.c:1796 src/microhttpd/daemon.c:1938 |
155 | msgid "Failed to add FD to fd_set\n" | 155 | msgid "Failed to add FD to fd_set\n" |
156 | msgstr "" | 156 | msgstr "" |
157 | 157 | ||
158 | #: src/microhttpd/daemon.c:2076 | 158 | #: src/microhttpd/daemon.c:2077 |
159 | msgid "Processing thread terminating. Closing connection\n" | 159 | msgid "Processing thread terminating. Closing connection\n" |
160 | msgstr "" | 160 | msgstr "" |
161 | 161 | ||
162 | #: src/microhttpd/daemon.c:2105 | 162 | #: src/microhttpd/daemon.c:2106 |
163 | msgid "" | 163 | msgid "" |
164 | "Failed to signal thread termination via inter-thread communication channel." | 164 | "Failed to signal thread termination via inter-thread communication channel." |
165 | msgstr "" | 165 | msgstr "" |
166 | 166 | ||
167 | #: src/microhttpd/daemon.c:2175 | 167 | #: src/microhttpd/daemon.c:2176 |
168 | msgid "Internal server error. This should be impossible.\n" | 168 | msgid "Internal server error. This should be impossible.\n" |
169 | msgstr "" | 169 | msgstr "" |
170 | 170 | ||
171 | #: src/microhttpd/daemon.c:2185 src/microhttpd/daemon.c:2213 | 171 | #: src/microhttpd/daemon.c:2186 src/microhttpd/daemon.c:2214 |
172 | msgid "PSK not supported by this server.\n" | 172 | msgid "PSK not supported by this server.\n" |
173 | msgstr "" | 173 | msgstr "" |
174 | 174 | ||
175 | #: src/microhttpd/daemon.c:2199 | 175 | #: src/microhttpd/daemon.c:2200 |
176 | msgid "PSK authentication failed: gnutls_malloc failed to allocate memory\n" | 176 | msgid "PSK authentication failed: gnutls_malloc failed to allocate memory\n" |
177 | msgstr "" | 177 | msgstr "" |
178 | 178 | ||
179 | #: src/microhttpd/daemon.c:2291 src/microhttpd/daemon.c:5998 | 179 | #: src/microhttpd/daemon.c:2292 src/microhttpd/daemon.c:6001 |
180 | #, c-format | 180 | #, c-format |
181 | msgid "Socket descriptor larger than FD_SETSIZE: %d > %d\n" | 181 | msgid "Socket descriptor larger than FD_SETSIZE: %d > %d\n" |
182 | msgstr "" | 182 | msgstr "" |
183 | 183 | ||
184 | #: src/microhttpd/daemon.c:2307 | 184 | #: src/microhttpd/daemon.c:2308 |
185 | #, c-format | 185 | #, c-format |
186 | msgid "Failed to set SO_NOSIGPIPE on accepted socket: %s\n" | 186 | msgid "Failed to set SO_NOSIGPIPE on accepted socket: %s\n" |
187 | msgstr "" | 187 | msgstr "" |
188 | 188 | ||
189 | #: src/microhttpd/daemon.c:2324 src/microhttpd/daemon.c:3100 | 189 | #: src/microhttpd/daemon.c:2325 src/microhttpd/daemon.c:3101 |
190 | #, c-format | 190 | #, c-format |
191 | msgid "Accepted connection on socket %d\n" | 191 | msgid "Accepted connection on socket %d\n" |
192 | msgstr "" | 192 | msgstr "" |
193 | 193 | ||
194 | #: src/microhttpd/daemon.c:2336 src/microhttpd/daemon.c:2512 | 194 | #: src/microhttpd/daemon.c:2337 src/microhttpd/daemon.c:2513 |
195 | msgid "Server reached connection limit. Closing inbound connection.\n" | 195 | msgid "Server reached connection limit. Closing inbound connection.\n" |
196 | msgstr "" | 196 | msgstr "" |
197 | 197 | ||
198 | #: src/microhttpd/daemon.c:2354 | 198 | #: src/microhttpd/daemon.c:2355 |
199 | msgid "Connection rejected by application. Closing connection.\n" | 199 | msgid "Connection rejected by application. Closing connection.\n" |
200 | msgstr "" | 200 | msgstr "" |
201 | 201 | ||
202 | #: src/microhttpd/daemon.c:2387 src/microhttpd/daemon.c:2407 | 202 | #: src/microhttpd/daemon.c:2388 src/microhttpd/daemon.c:2408 |
203 | #: src/microhttpd/daemon.c:3678 | 203 | #: src/microhttpd/daemon.c:3680 |
204 | #, c-format | 204 | #, c-format |
205 | msgid "Error allocating memory: %s\n" | 205 | msgid "Error allocating memory: %s\n" |
206 | msgstr "" | 206 | msgstr "" |
207 | 207 | ||
208 | #: src/microhttpd/daemon.c:2469 | 208 | #: src/microhttpd/daemon.c:2470 |
209 | #, c-format | 209 | #, c-format |
210 | msgid "Failed to setup TLS credentials: unknown credential type %d\n" | 210 | msgid "Failed to setup TLS credentials: unknown credential type %d\n" |
211 | msgstr "" | 211 | msgstr "" |
212 | 212 | ||
213 | #: src/microhttpd/daemon.c:2478 | 213 | #: src/microhttpd/daemon.c:2479 |
214 | msgid "Unknown credential type" | 214 | msgid "Unknown credential type" |
215 | msgstr "" | 215 | msgstr "" |
216 | 216 | ||
217 | #: src/microhttpd/daemon.c:2574 src/microhttpd/daemon.c:4167 | 217 | #: src/microhttpd/daemon.c:2575 src/microhttpd/daemon.c:4170 |
218 | #: src/microhttpd/daemon.c:4200 src/microhttpd/daemon.c:5314 | 218 | #: src/microhttpd/daemon.c:4203 src/microhttpd/daemon.c:5317 |
219 | #: src/microhttpd/daemon.c:5331 src/microhttpd/connection.c:3828 | 219 | #: src/microhttpd/daemon.c:5334 src/microhttpd/connection.c:3836 |
220 | #: src/microhttpd/response.c:962 src/microhttpd/response.c:988 | 220 | #: src/microhttpd/response.c:962 src/microhttpd/response.c:988 |
221 | #, c-format | 221 | #, c-format |
222 | msgid "Call to epoll_ctl failed: %s\n" | 222 | msgid "Call to epoll_ctl failed: %s\n" |
223 | msgstr "" | 223 | msgstr "" |
224 | 224 | ||
225 | #: src/microhttpd/daemon.c:2599 | 225 | #: src/microhttpd/daemon.c:2600 |
226 | msgid "Failed to signal new connection via inter-thread communication channel." | 226 | msgid "Failed to signal new connection via inter-thread communication channel." |
227 | msgstr "" | 227 | msgstr "" |
228 | 228 | ||
229 | #: src/microhttpd/daemon.c:2696 src/microhttpd/daemon.c:3181 | 229 | #: src/microhttpd/daemon.c:2697 src/microhttpd/daemon.c:3182 |
230 | #: src/microhttpd/daemon.c:6231 src/microhttpd/connection.c:990 | 230 | #: src/microhttpd/daemon.c:6234 src/microhttpd/connection.c:990 |
231 | #: src/microhttpd/connection.c:1009 | 231 | #: src/microhttpd/connection.c:1009 |
232 | msgid "Failed to remove FD from epoll set\n" | 232 | msgid "Failed to remove FD from epoll set\n" |
233 | msgstr "" | 233 | msgstr "" |
234 | 234 | ||
235 | #: src/microhttpd/daemon.c:2743 | 235 | #: src/microhttpd/daemon.c:2744 |
236 | msgid "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n" | 236 | msgid "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n" |
237 | msgstr "" | 237 | msgstr "" |
238 | 238 | ||
239 | #: src/microhttpd/daemon.c:2749 | 239 | #: src/microhttpd/daemon.c:2750 |
240 | msgid "Error: connection scheduled for \"upgrade\" cannot be suspended" | 240 | msgid "Error: connection scheduled for \"upgrade\" cannot be suspended" |
241 | msgstr "" | 241 | msgstr "" |
242 | 242 | ||
243 | #: src/microhttpd/daemon.c:2772 | 243 | #: src/microhttpd/daemon.c:2773 |
244 | msgid "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n" | 244 | msgid "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n" |
245 | msgstr "" | 245 | msgstr "" |
246 | 246 | ||
247 | #: src/microhttpd/daemon.c:2782 | 247 | #: src/microhttpd/daemon.c:2783 |
248 | msgid "Failed to signal resume via inter-thread communication channel." | 248 | msgid "Failed to signal resume via inter-thread communication channel." |
249 | msgstr "" | 249 | msgstr "" |
250 | 250 | ||
251 | #: src/microhttpd/daemon.c:2910 | 251 | #: src/microhttpd/daemon.c:2911 |
252 | msgid "" | 252 | msgid "" |
253 | "Failed to signal resume of connection via inter-thread communication channel." | 253 | "Failed to signal resume of connection via inter-thread communication channel." |
254 | msgstr "" | 254 | msgstr "" |
255 | 255 | ||
256 | #: src/microhttpd/daemon.c:2956 | 256 | #: src/microhttpd/daemon.c:2957 |
257 | #, c-format | 257 | #, c-format |
258 | msgid "Failed to set nonblocking mode on new client socket: %s\n" | 258 | msgid "Failed to set nonblocking mode on new client socket: %s\n" |
259 | msgstr "" | 259 | msgstr "" |
260 | 260 | ||
261 | #: src/microhttpd/daemon.c:2969 | 261 | #: src/microhttpd/daemon.c:2970 |
262 | msgid "Failed to set noninheritable mode on new client socket.\n" | 262 | msgid "Failed to set noninheritable mode on new client socket.\n" |
263 | msgstr "" | 263 | msgstr "" |
264 | 264 | ||
265 | #: src/microhttpd/daemon.c:3042 | 265 | #: src/microhttpd/daemon.c:3043 |
266 | #, c-format | 266 | #, c-format |
267 | msgid "Error accepting connection: %s\n" | 267 | msgid "Error accepting connection: %s\n" |
268 | msgstr "" | 268 | msgstr "" |
269 | 269 | ||
270 | #: src/microhttpd/daemon.c:3059 | 270 | #: src/microhttpd/daemon.c:3060 |
271 | msgid "" | 271 | msgid "" |
272 | "Hit process or system resource limit at FIRST connection. This is really bad " | 272 | "Hit process or system resource limit at FIRST connection. This is really bad " |
273 | "as there is no sane way to proceed. Will try busy waiting for system " | 273 | "as there is no sane way to proceed. Will try busy waiting for system " |
274 | "resources to become magically available.\n" | 274 | "resources to become magically available.\n" |
275 | msgstr "" | 275 | msgstr "" |
276 | 276 | ||
277 | #: src/microhttpd/daemon.c:3069 | 277 | #: src/microhttpd/daemon.c:3070 |
278 | #, c-format | 278 | #, c-format |
279 | msgid "" | 279 | msgid "" |
280 | "Hit process or system resource limit at %u connections, temporarily " | 280 | "Hit process or system resource limit at %u connections, temporarily " |
281 | "suspending accept(). Consider setting a lower MHD_OPTION_CONNECTION_LIMIT.\n" | 281 | "suspending accept(). Consider setting a lower MHD_OPTION_CONNECTION_LIMIT.\n" |
282 | msgstr "" | 282 | msgstr "" |
283 | 283 | ||
284 | #: src/microhttpd/daemon.c:3081 | 284 | #: src/microhttpd/daemon.c:3082 |
285 | #, c-format | 285 | #, c-format |
286 | msgid "Failed to set nonblocking mode on incoming connection socket: %s\n" | 286 | msgid "Failed to set nonblocking mode on incoming connection socket: %s\n" |
287 | msgstr "" | 287 | msgstr "" |
288 | 288 | ||
289 | #: src/microhttpd/daemon.c:3093 | 289 | #: src/microhttpd/daemon.c:3094 |
290 | msgid "Failed to set noninheritable mode on incoming connection socket.\n" | 290 | msgid "Failed to set noninheritable mode on incoming connection socket.\n" |
291 | msgstr "" | 291 | msgstr "" |
292 | 292 | ||
293 | #: src/microhttpd/daemon.c:3139 src/microhttpd/daemon.c:6370 | 293 | #: src/microhttpd/daemon.c:3140 src/microhttpd/daemon.c:6373 |
294 | #: src/microhttpd/daemon.c:6400 src/microhttpd/daemon.c:6494 | 294 | #: src/microhttpd/daemon.c:6403 src/microhttpd/daemon.c:6497 |
295 | msgid "Failed to join a thread\n" | 295 | msgid "Failed to join a thread\n" |
296 | msgstr "" | 296 | msgstr "" |
297 | 297 | ||
298 | #: src/microhttpd/daemon.c:3238 | 298 | #: src/microhttpd/daemon.c:3239 |
299 | msgid "Illegal call to MHD_get_timeout\n" | 299 | msgid "Illegal call to MHD_get_timeout\n" |
300 | msgstr "" | 300 | msgstr "" |
301 | 301 | ||
302 | #: src/microhttpd/daemon.c:3435 | 302 | #: src/microhttpd/daemon.c:3436 |
303 | msgid "" | 303 | msgid "" |
304 | "MHD_run_from_select() called with except_fd_set set to NULL. Such behavior " | 304 | "MHD_run_from_select() called with except_fd_set set to NULL. Such behavior " |
305 | "is deprecated.\n" | 305 | "is deprecated.\n" |
306 | msgstr "" | 306 | msgstr "" |
307 | 307 | ||
308 | #: src/microhttpd/daemon.c:3515 | 308 | #: src/microhttpd/daemon.c:3516 |
309 | msgid "Could not obtain daemon fdsets" | 309 | msgid "Could not obtain daemon fdsets" |
310 | msgstr "" | 310 | msgstr "" |
311 | 311 | ||
312 | #: src/microhttpd/daemon.c:3532 | 312 | #: src/microhttpd/daemon.c:3533 |
313 | msgid "Could not add listen socket to fdset" | 313 | msgid "Could not add listen socket to fdset" |
314 | msgstr "" | 314 | msgstr "" |
315 | 315 | ||
316 | #: src/microhttpd/daemon.c:3560 | 316 | #: src/microhttpd/daemon.c:3561 |
317 | msgid "Could not add control inter-thread communication channel FD to fdset" | 317 | msgid "Could not add control inter-thread communication channel FD to fdset" |
318 | msgstr "" | 318 | msgstr "" |
319 | 319 | ||
320 | #: src/microhttpd/daemon.c:3616 | 320 | #: src/microhttpd/daemon.c:3617 |
321 | #, c-format | 321 | #, c-format |
322 | msgid "select failed: %s\n" | 322 | msgid "select failed: %s\n" |
323 | msgstr "" | 323 | msgstr "" |
324 | 324 | ||
325 | #: src/microhttpd/daemon.c:3760 src/microhttpd/daemon.c:3906 | 325 | #: src/microhttpd/daemon.c:3762 src/microhttpd/daemon.c:3909 |
326 | #, c-format | 326 | #, c-format |
327 | msgid "poll failed: %s\n" | 327 | msgid "poll failed: %s\n" |
328 | msgstr "" | 328 | msgstr "" |
329 | 329 | ||
330 | #: src/microhttpd/daemon.c:4036 src/microhttpd/daemon.c:4267 | 330 | #: src/microhttpd/daemon.c:4039 src/microhttpd/daemon.c:4270 |
331 | #, c-format | 331 | #, c-format |
332 | msgid "Call to epoll_wait failed: %s\n" | 332 | msgid "Call to epoll_wait failed: %s\n" |
333 | msgstr "" | 333 | msgstr "" |
334 | 334 | ||
335 | #: src/microhttpd/daemon.c:4219 src/microhttpd/daemon.c:4669 | 335 | #: src/microhttpd/daemon.c:4222 src/microhttpd/daemon.c:4672 |
336 | msgid "Failed to remove listen FD from epoll set\n" | 336 | msgid "Failed to remove listen FD from epoll set\n" |
337 | msgstr "" | 337 | msgstr "" |
338 | 338 | ||
339 | #: src/microhttpd/daemon.c:4677 | 339 | #: src/microhttpd/daemon.c:4680 |
340 | msgid "Failed to signal quiesce via inter-thread communication channel" | 340 | msgid "Failed to signal quiesce via inter-thread communication channel" |
341 | msgstr "" | 341 | msgstr "" |
342 | 342 | ||
343 | #: src/microhttpd/daemon.c:4698 | 343 | #: src/microhttpd/daemon.c:4701 |
344 | msgid "failed to signal quiesce via inter-thread communication channel" | 344 | msgid "failed to signal quiesce via inter-thread communication channel" |
345 | msgstr "" | 345 | msgstr "" |
346 | 346 | ||
347 | #: src/microhttpd/daemon.c:4803 | 347 | #: src/microhttpd/daemon.c:4806 |
348 | msgid "Warning: Too large timeout value, ignored.\n" | 348 | msgid "Warning: Too large timeout value, ignored.\n" |
349 | msgstr "" | 349 | msgstr "" |
350 | 350 | ||
351 | #: src/microhttpd/daemon.c:4843 | 351 | #: src/microhttpd/daemon.c:4846 |
352 | msgid "" | 352 | msgid "" |
353 | "Warning: Zero size, specified for thread pool size, is ignored. Thread pool " | 353 | "Warning: Zero size, specified for thread pool size, is ignored. Thread pool " |
354 | "is not used.\n" | 354 | "is not used.\n" |
355 | msgstr "" | 355 | msgstr "" |
356 | 356 | ||
357 | #: src/microhttpd/daemon.c:4851 | 357 | #: src/microhttpd/daemon.c:4854 |
358 | msgid "" | 358 | msgid "" |
359 | "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is " | 359 | "Warning: \"1\", specified for thread pool size, is ignored. Thread pool is " |
360 | "not used.\n" | 360 | "not used.\n" |
361 | msgstr "" | 361 | msgstr "" |
362 | 362 | ||
363 | #: src/microhttpd/daemon.c:4863 | 363 | #: src/microhttpd/daemon.c:4866 |
364 | #, c-format | 364 | #, c-format |
365 | msgid "Specified thread pool size (%u) too big\n" | 365 | msgid "Specified thread pool size (%u) too big\n" |
366 | msgstr "" | 366 | msgstr "" |
367 | 367 | ||
368 | #: src/microhttpd/daemon.c:4874 | 368 | #: src/microhttpd/daemon.c:4877 |
369 | msgid "" | 369 | msgid "" |
370 | "MHD_OPTION_THREAD_POOL_SIZE option is specified but " | 370 | "MHD_OPTION_THREAD_POOL_SIZE option is specified but " |
371 | "MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n" | 371 | "MHD_USE_INTERNAL_POLLING_THREAD flag is not specified.\n" |
372 | msgstr "" | 372 | msgstr "" |
373 | 373 | ||
374 | #: src/microhttpd/daemon.c:4883 | 374 | #: src/microhttpd/daemon.c:4886 |
375 | msgid "" | 375 | msgid "" |
376 | "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION " | 376 | "Both MHD_OPTION_THREAD_POOL_SIZE option and MHD_USE_THREAD_PER_CONNECTION " |
377 | "flag are specified.\n" | 377 | "flag are specified.\n" |
378 | msgstr "" | 378 | msgstr "" |
379 | 379 | ||
380 | #: src/microhttpd/daemon.c:4898 src/microhttpd/daemon.c:4909 | 380 | #: src/microhttpd/daemon.c:4901 src/microhttpd/daemon.c:4912 |
381 | #: src/microhttpd/daemon.c:4920 src/microhttpd/daemon.c:4931 | 381 | #: src/microhttpd/daemon.c:4923 src/microhttpd/daemon.c:4934 |
382 | #: src/microhttpd/daemon.c:4973 | 382 | #: src/microhttpd/daemon.c:4976 |
383 | #, c-format | 383 | #, c-format |
384 | msgid "MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n" | 384 | msgid "MHD HTTPS option %d passed to MHD but MHD_USE_TLS not set\n" |
385 | msgstr "" | 385 | msgstr "" |
386 | 386 | ||
387 | #: src/microhttpd/daemon.c:4950 | 387 | #: src/microhttpd/daemon.c:4953 |
388 | msgid "Error initializing DH parameters\n" | 388 | msgid "Error initializing DH parameters\n" |
389 | msgstr "" | 389 | msgstr "" |
390 | 390 | ||
391 | #: src/microhttpd/daemon.c:4962 | 391 | #: src/microhttpd/daemon.c:4965 |
392 | msgid "Bad Diffie-Hellman parameters format\n" | 392 | msgid "Bad Diffie-Hellman parameters format\n" |
393 | msgstr "" | 393 | msgstr "" |
394 | 394 | ||
395 | #: src/microhttpd/daemon.c:4990 | 395 | #: src/microhttpd/daemon.c:4993 |
396 | #, c-format | 396 | #, c-format |
397 | msgid "Setting priorities to `%s' failed: %s\n" | 397 | msgid "Setting priorities to `%s' failed: %s\n" |
398 | msgstr "" | 398 | msgstr "" |
399 | 399 | ||
400 | #: src/microhttpd/daemon.c:5003 | 400 | #: src/microhttpd/daemon.c:5006 |
401 | msgid "" | 401 | msgid "" |
402 | "MHD_OPTION_HTTPS_CERT_CALLBACK requires building MHD with GnuTLS >= 3.0\n" | 402 | "MHD_OPTION_HTTPS_CERT_CALLBACK requires building MHD with GnuTLS >= 3.0\n" |
403 | msgstr "" | 403 | msgstr "" |
404 | 404 | ||
405 | #: src/microhttpd/daemon.c:5030 | 405 | #: src/microhttpd/daemon.c:5033 |
406 | msgid "" | 406 | msgid "" |
407 | "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET " | 407 | "MHD_OPTION_LISTEN_SOCKET specified for daemon with MHD_USE_NO_LISTEN_SOCKET " |
408 | "flag set.\n" | 408 | "flag set.\n" |
409 | msgstr "" | 409 | msgstr "" |
410 | 410 | ||
411 | #: src/microhttpd/daemon.c:5077 | 411 | #: src/microhttpd/daemon.c:5080 |
412 | msgid "" | 412 | msgid "" |
413 | "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is " | 413 | "Flag MHD_USE_PEDANTIC_CHECKS is ignored because another behavior is " |
414 | "specified by MHD_OPTION_STRICT_CLIENT.\n" | 414 | "specified by MHD_OPTION_STRICT_CLIENT.\n" |
415 | msgstr "" | 415 | msgstr "" |
416 | 416 | ||
417 | #: src/microhttpd/daemon.c:5209 | 417 | #: src/microhttpd/daemon.c:5212 |
418 | #, c-format | 418 | #, c-format |
419 | msgid "MHD HTTPS option %d passed to MHD compiled without GNUtls >= 3\n" | 419 | msgid "MHD HTTPS option %d passed to MHD compiled without GNUtls >= 3\n" |
420 | msgstr "" | 420 | msgstr "" |
421 | 421 | ||
422 | #: src/microhttpd/daemon.c:5222 | 422 | #: src/microhttpd/daemon.c:5225 |
423 | #, c-format | 423 | #, c-format |
424 | msgid "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n" | 424 | msgid "MHD HTTPS option %d passed to MHD compiled without HTTPS support\n" |
425 | msgstr "" | 425 | msgstr "" |
426 | 426 | ||
427 | #: src/microhttpd/daemon.c:5228 | 427 | #: src/microhttpd/daemon.c:5231 |
428 | #, c-format | 428 | #, c-format |
429 | msgid "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n" | 429 | msgid "Invalid option %d! (Did you terminate the list with MHD_OPTION_END?)\n" |
430 | msgstr "" | 430 | msgstr "" |
431 | 431 | ||
432 | #: src/microhttpd/daemon.c:5258 | 432 | #: src/microhttpd/daemon.c:5261 |
433 | #, c-format | 433 | #, c-format |
434 | msgid "Call to epoll_create1 failed: %s\n" | 434 | msgid "Call to epoll_create1 failed: %s\n" |
435 | msgstr "" | 435 | msgstr "" |
436 | 436 | ||
437 | #: src/microhttpd/daemon.c:5268 | 437 | #: src/microhttpd/daemon.c:5271 |
438 | msgid "Failed to set noninheritable mode on epoll FD.\n" | 438 | msgid "Failed to set noninheritable mode on epoll FD.\n" |
439 | msgstr "" | 439 | msgstr "" |
440 | 440 | ||
441 | #: src/microhttpd/daemon.c:5509 | 441 | #: src/microhttpd/daemon.c:5512 |
442 | msgid "" | 442 | msgid "" |
443 | "Warning: MHD_USE_THREAD_PER_CONNECTION must be used only with " | 443 | "Warning: MHD_USE_THREAD_PER_CONNECTION must be used only with " |
444 | "MHD_USE_INTERNAL_POLLING_THREAD. Flag MHD_USE_INTERNAL_POLLING_THREAD was " | 444 | "MHD_USE_INTERNAL_POLLING_THREAD. Flag MHD_USE_INTERNAL_POLLING_THREAD was " |
445 | "added. Consider setting MHD_USE_INTERNAL_POLLING_THREAD explicitly.\n" | 445 | "added. Consider setting MHD_USE_INTERNAL_POLLING_THREAD explicitly.\n" |
446 | msgstr "" | 446 | msgstr "" |
447 | 447 | ||
448 | #: src/microhttpd/daemon.c:5557 | 448 | #: src/microhttpd/daemon.c:5560 |
449 | msgid "Using debug build of libmicrohttpd.\n" | 449 | msgid "Using debug build of libmicrohttpd.\n" |
450 | msgstr "" | 450 | msgstr "" |
451 | 451 | ||
452 | #: src/microhttpd/daemon.c:5568 | 452 | #: src/microhttpd/daemon.c:5571 |
453 | #, c-format | 453 | #, c-format |
454 | msgid "Failed to create inter-thread communication channel: %s\n" | 454 | msgid "Failed to create inter-thread communication channel: %s\n" |
455 | msgstr "" | 455 | msgstr "" |
456 | 456 | ||
457 | #: src/microhttpd/daemon.c:5584 | 457 | #: src/microhttpd/daemon.c:5587 |
458 | msgid "" | 458 | msgid "" |
459 | "file descriptor for inter-thread communication channel exceeds maximum " | 459 | "file descriptor for inter-thread communication channel exceeds maximum " |
460 | "value\n" | 460 | "value\n" |
461 | msgstr "" | 461 | msgstr "" |
462 | 462 | ||
463 | #: src/microhttpd/daemon.c:5604 | 463 | #: src/microhttpd/daemon.c:5607 |
464 | msgid "Specified value for NC_SIZE too large\n" | 464 | msgid "Specified value for NC_SIZE too large\n" |
465 | msgstr "" | 465 | msgstr "" |
466 | 466 | ||
467 | #: src/microhttpd/daemon.c:5618 | 467 | #: src/microhttpd/daemon.c:5621 |
468 | #, c-format | 468 | #, c-format |
469 | msgid "Failed to allocate memory for nonce-nc map: %s\n" | 469 | msgid "Failed to allocate memory for nonce-nc map: %s\n" |
470 | msgstr "" | 470 | msgstr "" |
471 | 471 | ||
472 | #: src/microhttpd/daemon.c:5634 | 472 | #: src/microhttpd/daemon.c:5637 |
473 | msgid "MHD failed to initialize nonce-nc mutex\n" | 473 | msgid "MHD failed to initialize nonce-nc mutex\n" |
474 | msgstr "" | 474 | msgstr "" |
475 | 475 | ||
476 | #: src/microhttpd/daemon.c:5652 | 476 | #: src/microhttpd/daemon.c:5655 |
477 | msgid "MHD thread pooling only works with MHD_USE_INTERNAL_POLLING_THREAD\n" | 477 | msgid "MHD thread pooling only works with MHD_USE_INTERNAL_POLLING_THREAD\n" |
478 | msgstr "" | 478 | msgstr "" |
479 | 479 | ||
480 | #: src/microhttpd/daemon.c:5676 | 480 | #: src/microhttpd/daemon.c:5679 |
481 | #, c-format | 481 | #, c-format |
482 | msgid "Failed to create socket for listening: %s\n" | 482 | msgid "Failed to create socket for listening: %s\n" |
483 | msgstr "" | 483 | msgstr "" |
484 | 484 | ||
485 | #: src/microhttpd/daemon.c:5697 src/microhttpd/daemon.c:5716 | 485 | #: src/microhttpd/daemon.c:5700 src/microhttpd/daemon.c:5719 |
486 | #: src/microhttpd/daemon.c:5739 src/microhttpd/daemon.c:5776 | 486 | #: src/microhttpd/daemon.c:5742 src/microhttpd/daemon.c:5779 |
487 | #: src/microhttpd/daemon.c:5853 src/microhttpd/daemon.c:5884 | 487 | #: src/microhttpd/daemon.c:5856 src/microhttpd/daemon.c:5887 |
488 | #, c-format | 488 | #, c-format |
489 | msgid "setsockopt failed: %s\n" | 489 | msgid "setsockopt failed: %s\n" |
490 | msgstr "" | 490 | msgstr "" |
491 | 491 | ||
492 | #: src/microhttpd/daemon.c:5749 | 492 | #: src/microhttpd/daemon.c:5752 |
493 | msgid "Cannot allow listening address reuse: SO_REUSEPORT not defined\n" | 493 | msgid "Cannot allow listening address reuse: SO_REUSEPORT not defined\n" |
494 | msgstr "" | 494 | msgstr "" |
495 | 495 | ||
496 | #: src/microhttpd/daemon.c:5784 | 496 | #: src/microhttpd/daemon.c:5787 |
497 | msgid "" | 497 | msgid "" |
498 | "Cannot disallow listening address reuse: SO_EXCLUSIVEADDRUSE not defined\n" | 498 | "Cannot disallow listening address reuse: SO_EXCLUSIVEADDRUSE not defined\n" |
499 | msgstr "" | 499 | msgstr "" |
500 | 500 | ||
501 | #: src/microhttpd/daemon.c:5864 | 501 | #: src/microhttpd/daemon.c:5867 |
502 | #, c-format | 502 | #, c-format |
503 | msgid "Failed to bind to port %u: %s\n" | 503 | msgid "Failed to bind to port %u: %s\n" |
504 | msgstr "" | 504 | msgstr "" |
505 | 505 | ||
506 | #: src/microhttpd/daemon.c:5895 | 506 | #: src/microhttpd/daemon.c:5898 |
507 | #, c-format | 507 | #, c-format |
508 | msgid "Failed to listen for connections: %s\n" | 508 | msgid "Failed to listen for connections: %s\n" |
509 | msgstr "" | 509 | msgstr "" |
510 | 510 | ||
511 | #: src/microhttpd/daemon.c:5922 | 511 | #: src/microhttpd/daemon.c:5925 |
512 | #, c-format | 512 | #, c-format |
513 | msgid "Failed to get listen port number: %s\n" | 513 | msgid "Failed to get listen port number: %s\n" |
514 | msgstr "" | 514 | msgstr "" |
515 | 515 | ||
516 | #: src/microhttpd/daemon.c:5932 | 516 | #: src/microhttpd/daemon.c:5935 |
517 | msgid "" | 517 | msgid "" |
518 | "Failed to get listen port number (`struct sockaddr_storage` too small!?)\n" | 518 | "Failed to get listen port number (`struct sockaddr_storage` too small!?)\n" |
519 | msgstr "" | 519 | msgstr "" |
520 | 520 | ||
521 | #: src/microhttpd/daemon.c:5965 | 521 | #: src/microhttpd/daemon.c:5968 |
522 | msgid "Unknown address family!\n" | 522 | msgid "Unknown address family!\n" |
523 | msgstr "" | 523 | msgstr "" |
524 | 524 | ||
525 | #: src/microhttpd/daemon.c:5978 | 525 | #: src/microhttpd/daemon.c:5981 |
526 | #, c-format | 526 | #, c-format |
527 | msgid "Failed to set nonblocking mode on listening socket: %s\n" | 527 | msgid "Failed to set nonblocking mode on listening socket: %s\n" |
528 | msgstr "" | 528 | msgstr "" |
529 | 529 | ||
530 | #: src/microhttpd/daemon.c:6014 | 530 | #: src/microhttpd/daemon.c:6017 |
531 | msgid "" | 531 | msgid "" |
532 | "Combining MHD_USE_THREAD_PER_CONNECTION and MHD_USE_EPOLL is not supported.\n" | 532 | "Combining MHD_USE_THREAD_PER_CONNECTION and MHD_USE_EPOLL is not supported.\n" |
533 | msgstr "" | 533 | msgstr "" |
534 | 534 | ||
535 | #: src/microhttpd/daemon.c:6027 src/microhttpd/daemon.c:6040 | 535 | #: src/microhttpd/daemon.c:6030 src/microhttpd/daemon.c:6043 |
536 | msgid "MHD failed to initialize IP connection limit mutex\n" | 536 | msgid "MHD failed to initialize IP connection limit mutex\n" |
537 | msgstr "" | 537 | msgstr "" |
538 | 538 | ||
539 | #: src/microhttpd/daemon.c:6056 | 539 | #: src/microhttpd/daemon.c:6059 |
540 | msgid "Failed to initialize TLS support\n" | 540 | msgid "Failed to initialize TLS support\n" |
541 | msgstr "" | 541 | msgstr "" |
542 | 542 | ||
543 | #: src/microhttpd/daemon.c:6080 | 543 | #: src/microhttpd/daemon.c:6083 |
544 | #, c-format | 544 | #, c-format |
545 | msgid "Failed to create listen thread: %s\n" | 545 | msgid "Failed to create listen thread: %s\n" |
546 | msgstr "" | 546 | msgstr "" |
547 | 547 | ||
548 | #: src/microhttpd/daemon.c:6128 | 548 | #: src/microhttpd/daemon.c:6131 |
549 | #, c-format | 549 | #, c-format |
550 | msgid "Failed to create worker inter-thread communication channel: %s\n" | 550 | msgid "Failed to create worker inter-thread communication channel: %s\n" |
551 | msgstr "" | 551 | msgstr "" |
552 | 552 | ||
553 | #: src/microhttpd/daemon.c:6139 | 553 | #: src/microhttpd/daemon.c:6142 |
554 | msgid "" | 554 | msgid "" |
555 | "File descriptor for worker inter-thread communication channel exceeds " | 555 | "File descriptor for worker inter-thread communication channel exceeds " |
556 | "maximum value\n" | 556 | "maximum value\n" |
557 | msgstr "" | 557 | msgstr "" |
558 | 558 | ||
559 | #: src/microhttpd/daemon.c:6164 | 559 | #: src/microhttpd/daemon.c:6167 |
560 | msgid "MHD failed to initialize cleanup connection mutex\n" | 560 | msgid "MHD failed to initialize cleanup connection mutex\n" |
561 | msgstr "" | 561 | msgstr "" |
562 | 562 | ||
563 | #: src/microhttpd/daemon.c:6178 | 563 | #: src/microhttpd/daemon.c:6181 |
564 | #, c-format | 564 | #, c-format |
565 | msgid "Failed to create pool thread: %s\n" | 565 | msgid "Failed to create pool thread: %s\n" |
566 | msgstr "" | 566 | msgstr "" |
567 | 567 | ||
568 | #: src/microhttpd/daemon.c:6316 src/microhttpd/daemon.c:6347 | 568 | #: src/microhttpd/daemon.c:6319 src/microhttpd/daemon.c:6350 |
569 | msgid "MHD_stop_daemon() called while we have suspended connections.\n" | 569 | msgid "MHD_stop_daemon() called while we have suspended connections.\n" |
570 | msgstr "" | 570 | msgstr "" |
571 | 571 | ||
572 | #: src/microhttpd/daemon.c:6356 src/microhttpd/daemon.c:6476 | 572 | #: src/microhttpd/daemon.c:6359 src/microhttpd/daemon.c:6479 |
573 | msgid "Failed to signal shutdown via inter-thread communication channel" | 573 | msgid "Failed to signal shutdown via inter-thread communication channel" |
574 | msgstr "" | 574 | msgstr "" |
575 | 575 | ||
576 | #: src/microhttpd/daemon.c:6441 | 576 | #: src/microhttpd/daemon.c:6444 |
577 | msgid "Failed to signal shutdown via inter-thread communication channel." | 577 | msgid "Failed to signal shutdown via inter-thread communication channel." |
578 | msgstr "" | 578 | msgstr "" |
579 | 579 | ||
580 | #: src/microhttpd/daemon.c:6892 | 580 | #: src/microhttpd/daemon.c:6895 |
581 | msgid "Failed to initialize winsock\n" | 581 | msgid "Failed to initialize winsock\n" |
582 | msgstr "" | 582 | msgstr "" |
583 | 583 | ||
584 | #: src/microhttpd/daemon.c:6895 | 584 | #: src/microhttpd/daemon.c:6898 |
585 | msgid "Winsock version 2.2 is not available\n" | 585 | msgid "Winsock version 2.2 is not available\n" |
586 | msgstr "" | 586 | msgstr "" |
587 | 587 | ||
588 | #: src/microhttpd/daemon.c:6903 src/microhttpd/daemon.c:6907 | 588 | #: src/microhttpd/daemon.c:6906 src/microhttpd/daemon.c:6910 |
589 | msgid "Failed to initialise multithreading in libgcrypt\n" | 589 | msgid "Failed to initialise multithreading in libgcrypt\n" |
590 | msgstr "" | 590 | msgstr "" |
591 | 591 | ||
592 | #: src/microhttpd/daemon.c:6912 | 592 | #: src/microhttpd/daemon.c:6915 |
593 | msgid "libgcrypt is too old. MHD was compiled for libgcrypt 1.6.0 or newer\n" | 593 | msgid "libgcrypt is too old. MHD was compiled for libgcrypt 1.6.0 or newer\n" |
594 | msgstr "" | 594 | msgstr "" |
595 | 595 | ||
@@ -616,17 +616,17 @@ msgid "" | |||
616 | "connection.\n" | 616 | "connection.\n" |
617 | msgstr "" | 617 | msgstr "" |
618 | 618 | ||
619 | #: src/microhttpd/connection.c:1813 src/microhttpd/connection.c:2794 | 619 | #: src/microhttpd/connection.c:1813 src/microhttpd/connection.c:2802 |
620 | msgid "Closing connection (failed to queue response)\n" | 620 | msgid "Closing connection (failed to queue response)\n" |
621 | msgstr "" | 621 | msgstr "" |
622 | 622 | ||
623 | #: src/microhttpd/connection.c:1823 src/microhttpd/connection.c:3552 | 623 | #: src/microhttpd/connection.c:1823 src/microhttpd/connection.c:3560 |
624 | #: src/microhttpd/connection.c:3663 | 624 | #: src/microhttpd/connection.c:3671 |
625 | msgid "Closing connection (failed to create response header)\n" | 625 | msgid "Closing connection (failed to create response header)\n" |
626 | msgstr "" | 626 | msgstr "" |
627 | 627 | ||
628 | #: src/microhttpd/connection.c:1869 src/microhttpd/connection.c:2941 | 628 | #: src/microhttpd/connection.c:1869 src/microhttpd/connection.c:2949 |
629 | #: src/microhttpd/connection.c:3009 src/microhttpd/connection.c:3317 | 629 | #: src/microhttpd/connection.c:3017 src/microhttpd/connection.c:3325 |
630 | #, c-format | 630 | #, c-format |
631 | msgid "In function %s handling connection at state: %s\n" | 631 | msgid "In function %s handling connection at state: %s\n" |
632 | msgstr "" | 632 | msgstr "" |
@@ -639,96 +639,96 @@ msgstr "" | |||
639 | msgid "Not enough memory in pool to parse cookies!\n" | 639 | msgid "Not enough memory in pool to parse cookies!\n" |
640 | msgstr "" | 640 | msgstr "" |
641 | 641 | ||
642 | #: src/microhttpd/connection.c:2340 src/microhttpd/connection.c:2525 | 642 | #: src/microhttpd/connection.c:2348 src/microhttpd/connection.c:2533 |
643 | msgid "Application reported internal error, closing connection.\n" | 643 | msgid "Application reported internal error, closing connection.\n" |
644 | msgstr "" | 644 | msgstr "" |
645 | 645 | ||
646 | #: src/microhttpd/connection.c:2393 src/microhttpd/connection.c:2470 | 646 | #: src/microhttpd/connection.c:2401 src/microhttpd/connection.c:2478 |
647 | msgid "" | 647 | msgid "" |
648 | "Received malformed HTTP request (bad chunked encoding). Closing connection.\n" | 648 | "Received malformed HTTP request (bad chunked encoding). Closing connection.\n" |
649 | msgstr "" | 649 | msgstr "" |
650 | 650 | ||
651 | #: src/microhttpd/connection.c:2533 | 651 | #: src/microhttpd/connection.c:2541 |
652 | msgid "libmicrohttpd API violation" | 652 | msgid "libmicrohttpd API violation" |
653 | msgstr "" | 653 | msgstr "" |
654 | 654 | ||
655 | #: src/microhttpd/connection.c:2548 | 655 | #: src/microhttpd/connection.c:2556 |
656 | msgid "" | 656 | msgid "" |
657 | "WARNING: incomplete upload processing and connection not suspended may " | 657 | "WARNING: incomplete upload processing and connection not suspended may " |
658 | "result in hung connection.\n" | 658 | "result in hung connection.\n" |
659 | msgstr "" | 659 | msgstr "" |
660 | 660 | ||
661 | #: src/microhttpd/connection.c:2618 | 661 | #: src/microhttpd/connection.c:2626 |
662 | msgid "Received malformed line (no colon). Closing connection.\n" | 662 | msgid "Received malformed line (no colon). Closing connection.\n" |
663 | msgstr "" | 663 | msgstr "" |
664 | 664 | ||
665 | #: src/microhttpd/connection.c:2772 | 665 | #: src/microhttpd/connection.c:2780 |
666 | msgid "Received HTTP 1.1 request without `Host' header.\n" | 666 | msgid "Received HTTP 1.1 request without `Host' header.\n" |
667 | msgstr "" | 667 | msgstr "" |
668 | 668 | ||
669 | #: src/microhttpd/connection.c:2783 | 669 | #: src/microhttpd/connection.c:2791 |
670 | msgid "Closing connection (failed to create response)\n" | 670 | msgid "Closing connection (failed to create response)\n" |
671 | msgstr "" | 671 | msgstr "" |
672 | 672 | ||
673 | #: src/microhttpd/connection.c:2920 | 673 | #: src/microhttpd/connection.c:2928 |
674 | msgid "Socket disconnected while reading request.\n" | 674 | msgid "Socket disconnected while reading request.\n" |
675 | msgstr "" | 675 | msgstr "" |
676 | 676 | ||
677 | #: src/microhttpd/connection.c:2926 | 677 | #: src/microhttpd/connection.c:2934 |
678 | msgid "Connection socket is closed due to error when reading request.\n" | 678 | msgid "Connection socket is closed due to error when reading request.\n" |
679 | msgstr "" | 679 | msgstr "" |
680 | 680 | ||
681 | #: src/microhttpd/connection.c:3035 | 681 | #: src/microhttpd/connection.c:3043 |
682 | #, c-format | 682 | #, c-format |
683 | msgid "Failed to send data in request for %s.\n" | 683 | msgid "Failed to send data in request for %s.\n" |
684 | msgstr "" | 684 | msgstr "" |
685 | 685 | ||
686 | #: src/microhttpd/connection.c:3044 | 686 | #: src/microhttpd/connection.c:3052 |
687 | #, c-format | 687 | #, c-format |
688 | msgid "Sent 100 continue response: `%.*s'\n" | 688 | msgid "Sent 100 continue response: `%.*s'\n" |
689 | msgstr "" | 689 | msgstr "" |
690 | 690 | ||
691 | #: src/microhttpd/connection.c:3068 | 691 | #: src/microhttpd/connection.c:3076 |
692 | msgid "Connection was closed while sending response headers.\n" | 692 | msgid "Connection was closed while sending response headers.\n" |
693 | msgstr "" | 693 | msgstr "" |
694 | 694 | ||
695 | #: src/microhttpd/connection.c:3107 | 695 | #: src/microhttpd/connection.c:3115 |
696 | msgid "Data offset exceeds limit" | 696 | msgid "Data offset exceeds limit" |
697 | msgstr "" | 697 | msgstr "" |
698 | 698 | ||
699 | #: src/microhttpd/connection.c:3116 | 699 | #: src/microhttpd/connection.c:3124 |
700 | #, c-format | 700 | #, c-format |
701 | msgid "Sent %d-byte DATA response: `%.*s'\n" | 701 | msgid "Sent %d-byte DATA response: `%.*s'\n" |
702 | msgstr "" | 702 | msgstr "" |
703 | 703 | ||
704 | #: src/microhttpd/connection.c:3131 | 704 | #: src/microhttpd/connection.c:3139 |
705 | #, c-format | 705 | #, c-format |
706 | msgid "Failed to send data in request for `%s'.\n" | 706 | msgid "Failed to send data in request for `%s'.\n" |
707 | msgstr "" | 707 | msgstr "" |
708 | 708 | ||
709 | #: src/microhttpd/connection.c:3159 src/microhttpd/connection.c:3187 | 709 | #: src/microhttpd/connection.c:3167 src/microhttpd/connection.c:3195 |
710 | msgid "Connection was closed while sending response body.\n" | 710 | msgid "Connection was closed while sending response body.\n" |
711 | msgstr "" | 711 | msgstr "" |
712 | 712 | ||
713 | #: src/microhttpd/connection.c:3210 | 713 | #: src/microhttpd/connection.c:3218 |
714 | msgid "Internal error\n" | 714 | msgid "Internal error\n" |
715 | msgstr "" | 715 | msgstr "" |
716 | 716 | ||
717 | #: src/microhttpd/connection.c:3279 | 717 | #: src/microhttpd/connection.c:3287 |
718 | msgid "" | 718 | msgid "" |
719 | "Failed to signal end of connection via inter-thread communication channel" | 719 | "Failed to signal end of connection via inter-thread communication channel" |
720 | msgstr "" | 720 | msgstr "" |
721 | 721 | ||
722 | #: src/microhttpd/connection.c:4010 | 722 | #: src/microhttpd/connection.c:4018 |
723 | msgid "Attempted to queue response on wrong thread!\n" | 723 | msgid "Attempted to queue response on wrong thread!\n" |
724 | msgstr "" | 724 | msgstr "" |
725 | 725 | ||
726 | #: src/microhttpd/connection.c:4020 | 726 | #: src/microhttpd/connection.c:4028 |
727 | msgid "" | 727 | msgid "" |
728 | "Attempted 'upgrade' connection on daemon without MHD_ALLOW_UPGRADE option!\n" | 728 | "Attempted 'upgrade' connection on daemon without MHD_ALLOW_UPGRADE option!\n" |
729 | msgstr "" | 729 | msgstr "" |
730 | 730 | ||
731 | #: src/microhttpd/connection.c:4029 | 731 | #: src/microhttpd/connection.c:4037 |
732 | msgid "Application used invalid status code for 'upgrade' response!\n" | 732 | msgid "Application used invalid status code for 'upgrade' response!\n" |
733 | msgstr "" | 733 | msgstr "" |
734 | 734 | ||
diff --git a/src/examples/suspend_resume_epoll.c b/src/examples/suspend_resume_epoll.c index 73ac6e45..0f9f66bf 100644 --- a/src/examples/suspend_resume_epoll.c +++ b/src/examples/suspend_resume_epoll.c | |||
@@ -123,7 +123,8 @@ connection_done (void *cls, | |||
123 | struct Request *req = *con_cls; | 123 | struct Request *req = *con_cls; |
124 | 124 | ||
125 | if (-1 != req->timerfd) | 125 | if (-1 != req->timerfd) |
126 | close (req->timerfd); | 126 | if (0 != close (req->timerfd)) |
127 | abort (); | ||
127 | free(req); | 128 | free(req); |
128 | } | 129 | } |
129 | 130 | ||
diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h index 5d51e6d4..7eccccf2 100644 --- a/src/include/microhttpd.h +++ b/src/include/microhttpd.h | |||
@@ -126,7 +126,7 @@ typedef intptr_t ssize_t; | |||
126 | * Current version of the library. | 126 | * Current version of the library. |
127 | * 0x01093001 = 1.9.30-1. | 127 | * 0x01093001 = 1.9.30-1. |
128 | */ | 128 | */ |
129 | #define MHD_VERSION 0x00096000 | 129 | #define MHD_VERSION 0x00096100 |
130 | 130 | ||
131 | /** | 131 | /** |
132 | * MHD-internal return code for "YES". | 132 | * MHD-internal return code for "YES". |
@@ -1176,7 +1176,7 @@ typedef void | |||
1176 | * @param psk[out] to be set to the pre-shared-key; should be allocated with malloc(), | 1176 | * @param psk[out] to be set to the pre-shared-key; should be allocated with malloc(), |
1177 | * will be freed by MHD | 1177 | * will be freed by MHD |
1178 | * @param psk_size[out] to be set to the number of bytes in @a psk | 1178 | * @param psk_size[out] to be set to the number of bytes in @a psk |
1179 | * @return 0 on success, -1 on errors | 1179 | * @return 0 on success, -1 on errors |
1180 | */ | 1180 | */ |
1181 | typedef int | 1181 | typedef int |
1182 | (*MHD_PskServerCredentialsCallback)(void *cls, | 1182 | (*MHD_PskServerCredentialsCallback)(void *cls, |
@@ -1511,7 +1511,7 @@ enum MHD_OPTION | |||
1511 | MHD_OPTION_STRICT_FOR_CLIENT = 29, | 1511 | MHD_OPTION_STRICT_FOR_CLIENT = 29, |
1512 | 1512 | ||
1513 | /** | 1513 | /** |
1514 | * This should be a pointer to callback of type | 1514 | * This should be a pointer to callback of type |
1515 | * gnutls_psk_server_credentials_function that will be given to | 1515 | * gnutls_psk_server_credentials_function that will be given to |
1516 | * gnutls_psk_set_server_credentials_function. It is used to | 1516 | * gnutls_psk_set_server_credentials_function. It is used to |
1517 | * retrieve the shared key for a given username. | 1517 | * retrieve the shared key for a given username. |
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c index 3e641d15..abc622e2 100644 --- a/src/microhttpd/connection.c +++ b/src/microhttpd/connection.c | |||
@@ -2236,6 +2236,7 @@ parse_initial_message_line (struct MHD_Connection *connection, | |||
2236 | uri++; | 2236 | uri++; |
2237 | if ((size_t)(uri - line) == line_len) | 2237 | if ((size_t)(uri - line) == line_len) |
2238 | { | 2238 | { |
2239 | /* No URI and no http version given */ | ||
2239 | curi = ""; | 2240 | curi = ""; |
2240 | uri_len = 0; | 2241 | uri_len = 0; |
2241 | uri = NULL; | 2242 | uri = NULL; |
@@ -2257,29 +2258,36 @@ parse_initial_message_line (struct MHD_Connection *connection, | |||
2257 | http_version--; | 2258 | http_version--; |
2258 | if (http_version > uri) | 2259 | if (http_version > uri) |
2259 | { | 2260 | { |
2261 | /* http_version points to string before HTTP version string */ | ||
2260 | http_version[0] = '\0'; | 2262 | http_version[0] = '\0'; |
2261 | connection->version = http_version + 1; | 2263 | connection->version = http_version + 1; |
2262 | args = memchr (uri, | 2264 | uri_len = http_version - uri; |
2263 | '?', | ||
2264 | http_version - uri); | ||
2265 | } | 2265 | } |
2266 | else | 2266 | else |
2267 | { | 2267 | { |
2268 | connection->version = ""; | 2268 | connection->version = ""; |
2269 | args = memchr (uri, | 2269 | uri_len = line_len - (uri - line); |
2270 | '?', | ||
2271 | line_len - (uri - line)); | ||
2272 | } | 2270 | } |
2273 | uri_len = http_version - uri; | 2271 | /* check for spaces in URI if we are "strict" */ |
2274 | } | 2272 | if ( (1 <= daemon->strict_for_client) && |
2275 | if ( (1 <= daemon->strict_for_client) && | 2273 | (NULL != memchr (uri, |
2276 | (NULL != memchr (curi, | 2274 | ' ', |
2277 | ' ', | 2275 | uri_len)) ) |
2278 | uri_len)) ) | 2276 | { |
2279 | { | 2277 | /* space exists in URI and we are supposed to be strict, reject */ |
2280 | /* space exists in URI and we are supposed to be strict, reject */ | 2278 | return MHD_NO; |
2281 | return MHD_NO; | 2279 | } |
2280 | |||
2281 | /* unescape URI before searching for arguments */ | ||
2282 | daemon->unescape_callback (daemon->unescape_callback_cls, | ||
2283 | connection, | ||
2284 | uri); | ||
2285 | uri_len = strlen (uri); /* recalculate: may have changed! */ | ||
2286 | args = memchr (uri, | ||
2287 | '?', | ||
2288 | uri_len); | ||
2282 | } | 2289 | } |
2290 | |||
2283 | if (NULL != daemon->uri_log_callback) | 2291 | if (NULL != daemon->uri_log_callback) |
2284 | { | 2292 | { |
2285 | connection->client_aware = true; | 2293 | connection->client_aware = true; |
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index 90c09d29..4f6f4128 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c | |||
@@ -1711,7 +1711,8 @@ thread_main_connection_upgrade (struct MHD_Connection *con) | |||
1711 | #endif | 1711 | #endif |
1712 | break; | 1712 | break; |
1713 | } | 1713 | } |
1714 | urh_from_pollfd(urh, p); | 1714 | urh_from_pollfd (urh, |
1715 | p); | ||
1715 | process_urh (urh); | 1716 | process_urh (urh); |
1716 | } | 1717 | } |
1717 | } | 1718 | } |
@@ -3670,7 +3671,8 @@ MHD_poll_all (struct MHD_Daemon *daemon, | |||
3670 | struct pollfd *p; | 3671 | struct pollfd *p; |
3671 | MHD_socket ls; | 3672 | MHD_socket ls; |
3672 | 3673 | ||
3673 | p = MHD_calloc_ ((2 + num_connections), sizeof (struct pollfd)); | 3674 | p = MHD_calloc_ ((2 + num_connections), |
3675 | sizeof (struct pollfd)); | ||
3674 | if (NULL == p) | 3676 | if (NULL == p) |
3675 | { | 3677 | { |
3676 | #ifdef HAVE_MESSAGES | 3678 | #ifdef HAVE_MESSAGES |
@@ -3809,7 +3811,8 @@ MHD_poll_all (struct MHD_Daemon *daemon, | |||
3809 | if ((p[poll_server+i].fd != urh->connection->socket_fd) || | 3811 | if ((p[poll_server+i].fd != urh->connection->socket_fd) || |
3810 | (p[poll_server+i+1].fd != urh->mhd.socket)) | 3812 | (p[poll_server+i+1].fd != urh->mhd.socket)) |
3811 | break; | 3813 | break; |
3812 | urh_from_pollfd(urh, &(p[poll_server+i])); | 3814 | urh_from_pollfd (urh, |
3815 | &p[poll_server+i]); | ||
3813 | i += 2; | 3816 | i += 2; |
3814 | process_urh (urh); | 3817 | process_urh (urh); |
3815 | /* Finished forwarding? */ | 3818 | /* Finished forwarding? */ |
diff --git a/src/microhttpd/digestauth.c b/src/microhttpd/digestauth.c index 0c5baffb..33352bc7 100644 --- a/src/microhttpd/digestauth.c +++ b/src/microhttpd/digestauth.c | |||
@@ -112,12 +112,12 @@ digest_calc_ha1_from_digest (const char *alg, | |||
112 | char sessionkey[HASH_MD5_HEX_LEN + 1]) | 112 | char sessionkey[HASH_MD5_HEX_LEN + 1]) |
113 | { | 113 | { |
114 | struct MD5Context md5; | 114 | struct MD5Context md5; |
115 | 115 | ||
116 | if (MHD_str_equal_caseless_(alg, | 116 | if (MHD_str_equal_caseless_(alg, |
117 | "md5-sess")) | 117 | "md5-sess")) |
118 | { | 118 | { |
119 | unsigned char ha1[MHD_MD5_DIGEST_SIZE]; | 119 | unsigned char ha1[MHD_MD5_DIGEST_SIZE]; |
120 | 120 | ||
121 | MD5Init (&md5); | 121 | MD5Init (&md5); |
122 | MD5Update (&md5, | 122 | MD5Update (&md5, |
123 | digest, | 123 | digest, |
@@ -680,7 +680,9 @@ check_argument_match (struct MHD_Connection *connection, | |||
680 | &num_headers); | 680 | &num_headers); |
681 | free (argb); | 681 | free (argb); |
682 | if (MHD_YES != ret) | 682 | if (MHD_YES != ret) |
683 | return MHD_NO; | 683 | { |
684 | return MHD_NO; | ||
685 | } | ||
684 | /* also check that the number of headers matches */ | 686 | /* also check that the number of headers matches */ |
685 | for (pos = connection->headers_received; NULL != pos; pos = pos->next) | 687 | for (pos = connection->headers_received; NULL != pos; pos = pos->next) |
686 | { | 688 | { |
@@ -690,7 +692,7 @@ check_argument_match (struct MHD_Connection *connection, | |||
690 | } | 692 | } |
691 | if (0 != num_headers) | 693 | if (0 != num_headers) |
692 | { | 694 | { |
693 | /* argument count mismatch */ | 695 | /* argument count missmatch */ |
694 | return MHD_NO; | 696 | return MHD_NO; |
695 | } | 697 | } |
696 | return MHD_YES; | 698 | return MHD_YES; |
@@ -978,8 +980,8 @@ digest_auth_check_all (struct MHD_Connection *connection, | |||
978 | } | 980 | } |
979 | } | 981 | } |
980 | free (uri); | 982 | free (uri); |
981 | return (0 == strcmp(response, | 983 | return (0 == strcmp (response, |
982 | respexp)) | 984 | respexp)) |
983 | ? MHD_YES | 985 | ? MHD_YES |
984 | : MHD_NO; | 986 | : MHD_NO; |
985 | } | 987 | } |
@@ -1006,12 +1008,12 @@ MHD_digest_auth_check (struct MHD_Connection *connection, | |||
1006 | const char *password, | 1008 | const char *password, |
1007 | unsigned int nonce_timeout) | 1009 | unsigned int nonce_timeout) |
1008 | { | 1010 | { |
1009 | return digest_auth_check_all(connection, | 1011 | return digest_auth_check_all (connection, |
1010 | realm, | 1012 | realm, |
1011 | username, | 1013 | username, |
1012 | password, | 1014 | password, |
1013 | NULL, | 1015 | NULL, |
1014 | nonce_timeout); | 1016 | nonce_timeout); |
1015 | } | 1017 | } |
1016 | 1018 | ||
1017 | 1019 | ||