~ubuntu-branches/debian/sid/subversion/sid

« back to all changes in this revision

Viewing changes to subversion/include/svn_auth.h

  • Committer: Package Import Robot
  • Author(s): James McCoy, Peter Samuelson, James McCoy
  • Date: 2014-01-12 19:48:33 UTC
  • mfrom: (0.2.10)
  • Revision ID: package-import@ubuntu.com-20140112194833-w3axfwksn296jn5x
Tags: 1.8.5-1
[ Peter Samuelson ]
* New upstream release.  (Closes: #725787) Rediff patches:
  - Remove apr-abi1 (applied upstream), rename apr-abi2 to apr-abi
  - Remove loosen-sqlite-version-check (shouldn't be needed)
  - Remove java-osgi-metadata (applied upstream)
  - svnmucc prompts for a changelog if none is provided. (Closes: #507430)
  - Remove fix-bdb-version-detection, upstream uses "apu-config --dbm-libs"
  - Remove ruby-test-wc (applied upstream)
  - Fix “svn diff -r N file” when file has svn:mime-type set.
    (Closes: #734163)
  - Support specifying an encoding for mod_dav_svn's environment in which
    hooks are run.  (Closes: #601544)
  - Fix ordering of “svnadmin dump” paths with certain APR versions.
    (Closes: #687291)
  - Provide a better error message when authentication fails with an
    svn+ssh:// URL.  (Closes: #273874)
  - Updated Polish translations.  (Closes: #690815)

[ James McCoy ]
* Remove all traces of libneon, replaced by libserf.
* patches/sqlite_3.8.x_workaround: Upstream fix for wc-queries-test test
  failurse.
* Run configure with --with-apache-libexecdir, which allows removing part of
  patches/rpath.
* Re-enable auth-test as upstream has fixed the problem of picking up
  libraries from the environment rather than the build tree.
  (Closes: #654172)
* Point LD_LIBRARY_PATH at the built auth libraries when running the svn
  command during the build.  (Closes: #678224)
* Add a NEWS entry describing how to configure mod_dav_svn to understand
  UTF-8.  (Closes: #566148)
* Remove ancient transitional package, libsvn-ruby.
* Enable compatibility with Sqlite3 versions back to Wheezy.
* Enable hardening flags.  (Closes: #734918)
* patches/build-fixes: Enable verbose build logs.
* Build against the default ruby version.  (Closes: #722393)

Show diffs side-by-side

added added

removed removed

Lines of Context:
416
416
#define SVN_AUTH_SSL_CNMISMATCH  0x00000004
417
417
/** @brief Certificate authority is unknown (i.e. not trusted) */
418
418
#define SVN_AUTH_SSL_UNKNOWNCA   0x00000008
419
 
/** @brief Other failure. This can happen if neon has introduced a new
420
 
 * failure bit that we do not handle yet. */
 
419
/** @brief Other failure. This can happen if an unknown failure occurs
 
420
 * that we do not handle yet. */
421
421
#define SVN_AUTH_SSL_OTHER       0x40000000
422
422
/** @} */
423
423
 
569
569
 
570
570
/**
571
571
 * @name Default credentials defines
572
 
 * Any 'default' credentials that came in through the application itself,
573
 
 * (e.g. --username and --password options). Property values are
574
 
 * const char *.
 
572
 * Property values are const char *.
575
573
 * @{ */
 
574
/** Default username provided by the application itself (e.g. --username) */
576
575
#define SVN_AUTH_PARAM_DEFAULT_USERNAME  SVN_AUTH_PARAM_PREFIX "username"
 
576
/** Default password provided by the application itself (e.g. --password) */
577
577
#define SVN_AUTH_PARAM_DEFAULT_PASSWORD  SVN_AUTH_PARAM_PREFIX "password"
578
578
/** @} */
579
579
 
590
590
 
591
591
/** @brief Indicates whether providers may save passwords to disk in
592
592
 * plaintext. Property value can be either SVN_CONFIG_TRUE,
593
 
 * SVN_CONFIG_FALSE, or SVN_CONFIG_ASK. */
 
593
 * SVN_CONFIG_FALSE, or SVN_CONFIG_ASK.
 
594
 * @since New in 1.6.
 
595
 */
594
596
#define SVN_AUTH_PARAM_STORE_PLAINTEXT_PASSWORDS  SVN_AUTH_PARAM_PREFIX \
595
597
                                                  "store-plaintext-passwords"
596
598
 
597
599
/** @brief The application doesn't want any providers to save passphrase
598
600
 * to disk. Property value is irrelevant; only property's existence
599
 
 * matters. */
 
601
 * matters.
 
602
 * @since New in 1.6.
 
603
 */
600
604
#define SVN_AUTH_PARAM_DONT_STORE_SSL_CLIENT_CERT_PP \
601
605
  SVN_AUTH_PARAM_PREFIX "dont-store-ssl-client-cert-pp"
602
606
 
603
607
/** @brief Indicates whether providers may save passphrase to disk in
604
608
 * plaintext. Property value can be either SVN_CONFIG_TRUE,
605
 
 * SVN_CONFIG_FALSE, or SVN_CONFIG_ASK. */
 
609
 * SVN_CONFIG_FALSE, or SVN_CONFIG_ASK.
 
610
 * @since New in 1.6.
 
611
 */
606
612
#define SVN_AUTH_PARAM_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT \
607
613
  SVN_AUTH_PARAM_PREFIX "store-ssl-client-cert-pp-plaintext"
608
614
 
622
628
#define SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO SVN_AUTH_PARAM_PREFIX \
623
629
  "ssl:cert-info"
624
630
 
625
 
/** Some providers need access to the @c svn_config_t configuration. */
626
 
#define SVN_AUTH_PARAM_CONFIG_CATEGORY_CONFIG SVN_AUTH_PARAM_PREFIX "config-category-config"
627
 
#define SVN_AUTH_PARAM_CONFIG_CATEGORY_SERVERS SVN_AUTH_PARAM_PREFIX "config-category-servers"
 
631
/** This provides a pointer to a @c svn_config_t containting the config
 
632
 * category. */
 
633
#define SVN_AUTH_PARAM_CONFIG_CATEGORY_CONFIG SVN_AUTH_PARAM_PREFIX \
 
634
  "config-category-config"
 
635
 
 
636
/** This provides a pointer to a @c svn_config_t containting the servers
 
637
 * category. */
 
638
#define SVN_AUTH_PARAM_CONFIG_CATEGORY_SERVERS SVN_AUTH_PARAM_PREFIX \
 
639
  "config-category-servers"
628
640
 
629
641
/** @deprecated Provided for backward compatibility with the 1.5 API. */
630
642
#define SVN_AUTH_PARAM_CONFIG SVN_AUTH_PARAM_CONFIG_CATEGORY_SERVERS
683
695
svn_auth_save_credentials(svn_auth_iterstate_t *state,
684
696
                          apr_pool_t *pool);
685
697
 
 
698
/** Forget a set (or all) memory-cached credentials.
 
699
 *
 
700
 * Remove references (if any) in @a auth_baton to credentials cached
 
701
 * therein.  If @a cred_kind and @a realmstring are non-NULL, forget
 
702
 * only the credentials associated with those credential types and
 
703
 * realm.  Otherwise @a cred_kind and @a realmstring must both be
 
704
 * NULL, and this function will forget all credentials cached within
 
705
 * @a auth_baton.
 
706
 *
 
707
 * @note This function does not affect persisted authentication
 
708
 * credential storage at all.  It is merely a way to cause Subversion
 
709
 * to forget about credentials already fetched from a provider,
 
710
 * forcing them to be fetched again later should they be required.
 
711
 *
 
712
 * @since New in 1.8.
 
713
 */
 
714
svn_error_t *
 
715
svn_auth_forget_credentials(svn_auth_baton_t *auth_baton,
 
716
                            const char *cred_kind,
 
717
                            const char *realmstring,
 
718
                            apr_pool_t *pool);
 
719
 
686
720
/** @} */
687
721
 
688
722
/** Set @a *provider to an authentication provider of type
785
819
 * svn_auth_provider_object_t, or return @c NULL if the provider is not
786
820
 * available for the requested platform or the requested provider is unknown.
787
821
 *
788
 
 * Valid @a provider_name values are: "gnome_keyring", "keychain", "kwallet"
789
 
 * and "windows".
 
822
 * Valid @a provider_name values are: "gnome_keyring", "keychain", "kwallet",
 
823
 * "gpg_agent", and "windows".
790
824
 *
791
825
 * Valid @a provider_type values are: "simple", "ssl_client_cert_pw" and
792
826
 * "ssl_server_trust".
820
854
 *   1. gnome-keyring
821
855
 *   2. kwallet
822
856
 *   3. keychain
823
 
 *   4. windows-cryptoapi
 
857
 *   4. gpg-agent
 
858
 *   5. windows-cryptoapi
824
859
 *
825
860
 * @since New in 1.6.
826
861
 */
1071
1106
  apr_pool_t *pool);
1072
1107
#endif /* (!DARWIN && !WIN32) || DOXYGEN */
1073
1108
 
 
1109
#if !defined(WIN32) || defined(DOXYGEN)
 
1110
/**
 
1111
 * Set @a *provider to an authentication provider of type @c
 
1112
 * svn_auth_cred_simple_t that gets/sets information from the user's
 
1113
 * ~/.subversion configuration directory.
 
1114
 *
 
1115
 * This is like svn_client_get_simple_provider(), except that the
 
1116
 * password is obtained from gpg_agent, which will keep it in
 
1117
 * a memory cache.
 
1118
 *
 
1119
 * Allocate @a *provider in @a pool.
 
1120
 *
 
1121
 * @since New in 1.8
 
1122
 * @note This function actually works only on systems with
 
1123
 * GNU Privacy Guard installed.
 
1124
 */
 
1125
void
 
1126
svn_auth_get_gpg_agent_simple_provider
 
1127
    (svn_auth_provider_object_t **provider,
 
1128
     apr_pool_t *pool);
 
1129
#endif /* !defined(WIN32) || defined(DOXYGEN) */
 
1130
 
1074
1131
 
1075
1132
/** Set @a *provider to an authentication provider of type @c
1076
1133
 * svn_auth_cred_username_t that gets/sets information from a user's