On 07/26/2012 04:33 PM, Bert Huijben wrote: > > >> -----Original Message----- >> From: C. Michael Pilato [mailto:cmpil...@collab.net] >> Sent: donderdag 26 juli 2012 22:13 >> To: Subversion Development >> Subject: Third-party provider funcs in our API: did we expose too much? >> >> Can anyone explain to me why the following symbols are exposed in the >> public >> Subversion API? >> >> svn_auth_get_platform_specific_provider >> svn_auth_get_windows_simple_provider >> svn_auth_get_windows_ssl_client_cert_pw_provider >> svn_auth_get_windows_ssl_server_trust_provider >> svn_auth_get_keychain_simple_provider >> svn_auth_get_keychain_ssl_client_cert_pw_provider >> svn_auth_get_gnome_keyring_simple_provider >> svn_auth_get_gnome_keyring_ssl_client_cert_pw_provider >> svn_auth_get_kwallet_simple_provider >> svn_auth_get_kwallet_ssl_client_cert_pw_provider >> svn_auth_get_gpg_agent_simple_provider >> svn_auth_gnome_keyring_version >> svn_auth_kwallet_version >> >> I mean, I recognize the value of what each of these functions provides, but >> it seems to me that svn_auth_get_platform_specific_client_providers() >> pretty >> much obsoletes all them. > > You currently can't initialize a non cmdline behavior without these apis. > (The only api that calls them for you also Initializes your console for > you) > > That might be part of the reason.
Why not just use svn_auth_get_platform_specific_client_providers(), which is just a wrapper around svn_auth_get_platform_specific_provider() that actually honors the runtime config? Okay, I can spot one platform-specific provider that ..._providers() doesn't pick up for you, and that's the Windows SSL server trust provider. But I'd be surprised if we couldn't just plop that one into the list that ..._providers() returns, too. >> What's more, this latter single function actually honors the runtime >> configuration's "password-stores" option value (which dictates the >> availability and preferred specific ordering of third-party providers), >> while the aforementioned list of interfaces almost begs API consumers to >> fetch providers individually and plop them into the auth subsystem's >> providers list without regard to the user-configured availability and order. > > That passwords-stores option is part of the cmdline api. What? The password-stores option is part of the Subversion runtime configuration. I've never heard it proposed that our runtime configuration parameters were somehow specific to the command-line client. If that's the case, we have a whoooooooole lot of layering violations all over our codebase. -- C. Michael Pilato <cmpil...@collab.net> CollabNet <> www.collab.net <> Enterprise Cloud Development
signature.asc
Description: OpenPGP digital signature