405 Method Not Allowed ... if there is no file system at the embedded server OR if no auth file
for put has been provided (PUT will never be possible)
401: send an authentication request if there is an auth file (PUT would be possible in principle)
The authorization prompt for PUT/DELETE requests can be confusing for
people not using the feature. Do not even ask for authorization on PUT and
DELETE requests, if PUT_DELETE_PASSWORDS_FILE is not configured.
Add a new (experimental) public interface for pattern matching.
For details: see #499.
The documentation is currently in this issue and in unit test code.
An example has to be added.
Pattern matching caused several problems. For details see #499 and
issues referenced therein. There are only minor incompatibilities
as compared to the original behavior:
Now: The ? pattern will match every character, except '\0' and '/'
Before: The ? pattern will match every character except '\0'
Reasoning: It is not useful to have ? match /.
E.g. "???" would match "abc" as well as "a/c" as well as "../".
Now: The "|x" pattern will match 0 characters.
Before: The result was -1, but this was inconsistent with "x|".
The order of an empty match pattern in a match containing "|" had
influence if the empty match returned -1 or 0.
Furthermore a pattern "**" with pattern_length of 1 lead to a crash.
This has been fixed as well.
The "check" unit test framework did not build for FreeBSD, due to some missing headers.
We added the headers to https://github.com/civetweb/check, but the CivetWeb unit test
on Travis CI still returns the same "missing headers" error than before.
Maybe we do not use the correct version in the unit test?
Maybe it uses the root version libcheck/check, due to some environment variable set on
Travis CI?
Remove references to libcheck/check and print the version used in the CI test.
It seems the Travis CI test i
Since we use our private copy of check anyway, move all patches there.
We need some additional patches for FreeBSD now.
Don't add another patch here, but fix it in the check framework itself.
Some functions have been marked as MG_LEGACY_INTERFACE since 2017.
These functions have been removed.
Some of the functions labeled as MG_EXPERIMENTAL_INTERFACES are well tested now.
They have been released (i.e., the "experimental" label was removed).
For the client unit test, we need to contact some "non-civetweb" web server.
Since we cannot host one in all test container environments, use an external web server,
e.g., the server hosting the project.
We will only make two "GET" requests to these servers, so the traffic is negligible.