Remove no-op commit from an external test.

* subversion/tests/cmdline/externals_tests.py
  (update_deletes_file_external): Removing the commit, the preceeding change
    is done with URLs.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615030 13f79535-47bb-0310-9956-ffa450edef68
Bring build-svn-deps-win.pl up-to-date. Serf will still not build as-is.

* tools/dev/build-svn-deps-win.pl:
  (set_defaults, SERF_VER): Upgrade serf dependency to 1.3.6.
  (PCRE_VER): Upgrade PCRE dependency to 8.35.
  (build_pcre): Disable recursion as it will cause stack overflows
                in PCRE tests.
  (check_vs_ver,
   build_httpd): Add support for Visual Studio 2013

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615094 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to r1615094:

* tools/dev/build-svn-deps-win.pl
  (download_dependencies,
   build_dependencies): Uncomment code that got accidentally commented out.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615096 13f79535-47bb-0310-9956-ffa450edef68
Provide a new function svn_cert__match_dns_identity() to handling
matching hostnames in X.509 certs as described in RFC 6125.

* subversion/tests/libsvn_subr/dirent_uri-test.c: New tests.

* subversion/include/private/svn_cert.h: New file.

* subversion/libsvn_subr/dirent_uri.c
  (svn_cert__match_dns_identity): New function.

* subversion/libsvn_ra_serf/util.c
  (ssl_server_cert): Use svn_cert__match_dns_identity() instead of
    apr_fnmatch().


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615211 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to r1615211, unbreak the Windows build.

* build.conf
  (msvc-export): Need to export the svn_cert__match_dns_identity() symbol.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615219 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: Add entries for 1.7.18.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615255 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: Add missing new line in 1.7.18 entry.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615256 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: Add 1.8.10 entries.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615260 13f79535-47bb-0310-9956-ffa450edef68
* get-deps.sh: Bump recommended version of HTTPD to 2.4.10.  This
    version has the fix for the encoding bug (httpd PR #56480).


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615263 13f79535-47bb-0310-9956-ffa450edef68
ra_serf: Improve code readability in the certificate validation code.

* subversion/libsvn_ra_serf/util.c
  (ssl_server_cert): Remove a boolean and use an else block instead.

Suggested by: ivan


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615272 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_fs_fs/hotcopy.c
  (hotcopy_locking_src_body): Fix docstring. No functional change.

Found by: kotkov


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615348 13f79535-47bb-0310-9956-ffa450edef68
Teach checked svn_mutex__t instances to detect unlock attempts on mutexes
that are not locked.

* subversion/include/svn_error_codes.h
  (SVN_ERR_INVALID_UNLOCK): Declare new error code.

* subversion/libsvn_subr/mutex.c
  (svn_mutex__unlock): Verify that there was actually a lock on this mutex.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615349 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/cmdline/svnadmin_tests.py
  (FSFS_Index): Fix noob mistake and turn the members into instance variables.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615350 13f79535-47bb-0310-9956-ffa450edef68
Make sure 'svnadmin freeze' acquires the pack lock as well such that the
inner command being executed cannot violate the locking order. This makes
freeze in 1.9 also behave exactly as in 1.8 wrt blocking packs entirely.

* subversion/libsvn_fs_fs/fs.c
  (fs_freeze_body2): New intermediate wrapper around fs_freeze_body
                     taking out the inner (write) lock.
  (fs_freeze): Take out the outer (pack) lock, if supported by the FS.

Found by: kotkov

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615351 13f79535-47bb-0310-9956-ffa450edef68
Implement a TODO.

* subversion/libsvn_fs_fs/cached_data.c
  (get_root_changes_offset): Instead of a plain APR file, take a proper
                             revision file struct as parameter.  That
                             carries information about the pack state.
  (svn_fs_fs__rev_get_root,
   svn_fs_fs__get_changes): Update callers.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615352 13f79535-47bb-0310-9956-ffa450edef68
Enable mutex checks on named atomics to detect incorrect mutex usage.
This will cause the test suite to fail as our usage *is* broken.
Will be fixed with the next commit.

* subversion/libsvn_subr/named_atomic.c
  (init_thread_mutex): Enable checks for correct mutex usage.  We can
                       allow for the overhead as we need to use expensive
                       file locks anyway.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615353 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to 1612405: Fix mutex usage snafu in named atomics.

* subversion/libsvn_subr/named_atomic.c
  (lock): Take out and _keep_ the thread mutex.

Found by: ivan

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615354 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_fs_fs/tree.c
  (open_path): Fix typo in comment. No functional change.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615356 13f79535-47bb-0310-9956-ffa450edef68
Cherry-pick merge r1615360 from authzperf branch (should have
been committed to /trunk directly).
Follow-up to r1605195:  Fix SEGFAULT for log in authz mode.

* subversion/libsvn_repos/log.c
  (detect_changed): When filtering the hash, we must either remove
                    unwanted entries or add wanted ones to a new hash.
                    Otherwise, unwanted entries keep their old, internal
                    data type.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615364 13f79535-47bb-0310-9956-ffa450edef68
Try to address the test timeouts on the solaris build bot.

We don't have efficient atomics on these platforms so we fall back
to explict locking.  Polling for values to change may prevent the
dependent from actually grabbing the lock and do something useful.

This is simply to get the tests to pass (and potentially identify
locking mistakes).  But we won't actually use named atomics on these
platforms in SVN.

* subversion/tests/libsvn_subr/named_atomic-test-common.h
  (watchdog_t): Add a flag to indicate the need to throttle polling.
  (init_watchdog): Init the new flag as well.
  (check_watchdog): Throttle execution when indicated.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1615369 13f79535-47bb-0310-9956-ffa450edef68