Properly handle the 'accepted_failures' flag of SVN_AUTH_CRED_SSL_SERVER_TRUST
handlers in ra_serf. Before this patch the code assumed that all handlers would
 always accept all failures when they return a credential.

In certain client scenarios this bug could allow certain certificate errors
to go unnoticed, but non of the standard clients is affected because all of
them always accept all certificate failures at once or none at all.

* subversion/libsvn_ra_serf/util.c
  (ssl_server_cert): Clear accepted failures and obtain further results
    in an attempt to accept more failures.
    Return an error when at least one failure type is not accepted.

Found by: SharpSvn tests


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535532 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/cmdline/log_tests.py
  (log_diff_moved): Remove a comment that no longer is important.
    The command that follows it used to fail but that has been
    fixed so it's not expected to fail anymore.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535551 13f79535-47bb-0310-9956-ffa450edef68
Add a test for Issue #4421 to trunk: deep adds of diff --summarize target.

Trunk hasn't had this problem for a while, but add the test for it so if
we ever regress here we'll know.

* subversion/tests/cmdline/diff_tests.py
  (basic_diff_summarize): Test doing diff --summarize on a target that even the
    parent doesn't exist in the base revision.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535591 13f79535-47bb-0310-9956-ffa450edef68
Fix typo in C++ flags setup macro. No wonder -O2 crept into the C++ compiler
flags even with --disable-optimize.

* build/ac-macros/compiler.m4 (SVN_CXX_MODE_SETUP):
   It's all about CXXFLAGS, not CFLAGS. Duh.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535597 13f79535-47bb-0310-9956-ffa450edef68
Avoid a "may be used uninitialized" error in JavaHL.

* subversion/bindings/javahl/native/OperationContext.cpp
  (OperationContext::getAuthBaton): Properly nullify all prompt
   functions and batons if we don't have a prompter callback.
   Before this change, one of them was left uninitialized.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535600 13f79535-47bb-0310-9956-ffa450edef68
Added a (currently disabled) test to JavaHL that tickles a bug that causes
an ArrayIndexOutOfBounds exception in ISVNClient.commit.
The bug exists on trunk but not in 1.8.x.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
  (BasicTests.testCommitPartialMove): New test case; mostly disabled.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535601 13f79535-47bb-0310-9956-ffa450edef68
* subversion/bindings/javahl/README:
  You don't need to install javahl (been true on most platforms for a long
  time now and is recently true on OS X).
  Update the JUnit URL.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535602 13f79535-47bb-0310-9956-ffa450edef68
Do not require JUnit to build JavaHL; only to test it.

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/UtilTests.java:
   Do not impoet org.junit.Assert.
  (UtilTests.testFileDiff, UtilTests.testFileMerge): Update assertions.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535603 13f79535-47bb-0310-9956-ffa450edef68
Fix swig-pl on trunk on OS X.

* subversion/bindings/swig/perl/native/Makefile.PL.in
  (@ldpaths): fs_x needed to be added. 


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535609 13f79535-47bb-0310-9956-ffa450edef68
Filter out -no-cpp-precomp from flags passed to SWIG.

This is necessary since APR for whatever reason leaks the fact that it uses
-no-cpp-precomp on OS X into apr-1-config.  Unfortunately, a lot of versions
of APR have this in the wild so we just have to deal with it.  If you use clang
directly you don't see this because we already filter it out of CPPFLAGS.

* Makefile.in
  (SWIG_CPPFLAGS): New variable, deliberately pulling in EXTRA_CPPFLAGS and
    not EXTRA_SIWG_CPPFLAGS because it would be harmful to split those
    (e.g. users wanting to enable a feature that adds an API).

* build.conf
  (swig-python-opts, swig-perl-opts, swig-ruby-opts): Use SWIG_CPPFLAGS
    instead of CPPFLAGS.

* configure.acc
  (SWIG_CPPFLAGS): Add the variable and copy it from the normal CPPFLAGS
    while filtering out the -no-cpp-precomp.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535610 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/libsvn_subr: Ignore root-pools-test.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535611 13f79535-47bb-0310-9956-ffa450edef68
Following up on r1534149, extract the hostname verification from the
certificate detail processing and perform this before bailing for the no
reported failure case.

* subversion/libsvn_ra_serf/util.c
  (ssl_server_cert): Revert regression since r1535659, where a proper root
    certificate higher in the chain (via Windows or openssl config) would
    break the hostname check. Tweak logic to properly handle more incomplete
    certificate variants.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535676 13f79535-47bb-0310-9956-ffa450edef68
Provide a simple test for the new r/o mode in config_t.
This requires the addition of private API to access internal state.

* subversion/include/private/svn_subr_private.h
  (svn_config__is_read_only,
   svn_config__is_expanded): declare new private API

* subversion/libsvn_subr/config.c
  (svn_config__is_expanded): implement new API

* subversion/libsvn_subr/config_file.c
  (svn_config__is_read_only): implement new API

* subversion/tests/libsvn_subr/config-test.c
  (test_read_only_mode): new test case
  (test_funcs): register it

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535721 13f79535-47bb-0310-9956-ffa450edef68
* tests/libsvn_fs_fs: Ignore get_set_multiple_huge_revprops_packed_fs.
* tests/libsvn_subr: Ignore aligned_seek_tmp and read_length_tmp.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1535913 13f79535-47bb-0310-9956-ffa450edef68
Introduce a null-pointer constant that we can use as a termination sentinel
in variable argument lists. This avoids the ugliness of writing
"(char *) NULL" all over the place.

* subversion/include/svn_types.h (SVN_VA_NULL): New symbol.

* subversion/include/svn_dirent_uri.h (svn_dirent_join_many),
  subversion/include/svn_path.h (svn_path_join_many),
  subversion/include/svn_xml.h (svn_xml_make_open_tag):
   Update docstrings, mentioning SVN_VA_NULL as the argument list terminator.

[Lots of implementation files]: Replace typecast-NULL with SVN_VA_NULL in
function calls with variable argument lists.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1536307 13f79535-47bb-0310-9956-ffa450edef68
Apparently MSC doesn't understand implicit forward declarations.

* subversion/include/svn_types.h
  (struct svn_null_pointer_constant_stdarg_sentinel_t): Forward-delcare the
   struct used by the SVN_VA_NULL macro.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1536308 13f79535-47bb-0310-9956-ffa450edef68
Add missing enumeration mappings to JavaHL and re-enable test that was broken
because of the omission.

[in subversion/bindings/javahl/src/org/apache/subversion/javahl]
* ClientNotifyInformation.java
  (ClientNotifyInformation.Action.cleanup_external,
   ClientNotifyInformation.Action.failed_requires_target): New enum constants.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
* BasicTests.java (BasicTests.testCommitPartialMove): Enable test.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1536319 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to r1536319: Remove a forgotten print to stdout in the JavaHL tests.

[in subversion/bindings/javahl/tests/org/apache/subversion/javahl]
* BasicTests.java (BasicTests.testCommitPartialMove): Remove print statement.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1536323 13f79535-47bb-0310-9956-ffa450edef68
When an Sqlite statement raises some error, the same error is reported
when resetting the statement for the first time, originally for error
reporting reasons, but now this is considered an original design flaw.

But in this case we forget to mark the statement as already been reset,
which may cause an unnecessary false abort() when running in maintainer mode.

* subversion/libsvn_subr/sqlite.c
  (svn_sqlite__reset): Reverse code, documenting why.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1536325 13f79535-47bb-0310-9956-ffa450edef68
Add regression test following the replace pattern as described in recent
e-mail to users list.

* subversion/tests/libsvn_wc/op-depth-test.c
  (move_replace_ancestor_with_child): New function.
  (test_funcs): Add new function.

The failing pattern was
Found by: Casual Trash <casualtrash{_AT_}hotmail.com>
but he reported quite a different error.


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