subversion

Checkout Tools
  • last updated 46 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
On all branches:

.: Removed redundant SVN properties

  1. … 78 more files in changeset.
On branch 'master-passphrase':

* BRANCH-README

bus_factor++

On the 'master-passphrase' branch:

* subversion/include/svn_auth.h

Comment formatting change only.

Sync the 'master-passphrase' branch up with recent (and, uh, not-so-recent)

trunk changes. (Merged /subversion/trunk:r1451629-1481020)

  1. … 548 more files in changeset.
Sync the 'master-passphrase' branch with trunk changes. This is gonna

hurt a little bit. (Merged /subversion/trunk:r1403824-1451628.)

  1. … 551 more files in changeset.
Sync the 'master-passphrase' branch with recent trunk changes.

(Merged /subversion/trunk:r1390051-1403823.)

  1. … 338 more files in changeset.
Sync the 'master-passphrase' branch with recent trunk changes.

(Merged /subversion/trunk:r1383955-1390050.)

  1. /branches/master-passphrase/tools/server-side
  2. … 53 more files in changeset.
Bring the 'master-passphrase' branch into sync with recent trunk changes.

(Merged /subversion/trunk:r1372418-1383954.)

  1. … 114 more files in changeset.
On the 'master-passphrase' branch:

* subversion/libsvn_subr/cmdline.c

(get_master_passphrase_auth_baton): Retry the master passphrase

prompt twice now (for a total of three attempts).

* subversion/libsvn_auth_kwallet/kwallet.cpp

(kwallet_master_passphrase_first_creds,

kwallet_master_passphrase_save_creds): Use C++ style cast.

Fix C++ compile errors.

* subversion/libsvn_auth_kwallet/kwallet.cpp

(): Include svn_base64.h.

(kwallet_master_passphrase_first_creds,

kwallet_master_passphrase_save_creds): Cast from void *.

On the 'master-passphrase' branch: also add KDE wallet master

passphrase provider when platform-specific providers are requested.

* subversion/libsvn_subr/masterpass_providers.c

(svn_auth_get_platform_specific_master_passphrase_providers): Enable

kwallet master passphrase provider addition logic.

On the 'master-passphrase' branch: implement the KDE Wallet master

passphrase provider.

Disclaimer: I'm not setup to compile against KDE, so ... this may be

completely broken.

* subversion/include/svn_auth.h

(svn_auth_get_kwallet_master_passphrase_provider): New function.

* subversion/libsvn_auth_kwallet/kwallet.cpp

(kwallet_master_passphrase_first_creds,

kwallet_master_passphrase_save_creds,

svn_auth_get_kwallet_master_passphrase_provider): New functions.

(kwallet_master_passphrase_provider): New static structure instance.

On the 'master-passphrase' branch: sync with recent trunk changes.

(Merged /subversion/trunk:r1370242-1372417.)

    • ?
    /branches/master-passphrase/aclocal.m4
  1. … 24 more files in changeset.
On the 'master-passphrase' branch: fix a segfault triggered by running

in --non-interactive mode.

* subversion/libsvn_subr/cmdline.c

(get_master_passphrase_auth_baton): Initialize the provider list

when non_interactive is set, too.

On the 'master-passphrase' branch: sync with recent trunk changes.

(Merged /subversion/trunk:r1368649-1370241.)

  1. … 19 more files in changeset.
On the 'master-passphrase' branch: Delay the acquisition of the master

password until it's needed to read from the store.

* subversion/libsvn_subr/pathetic_auth_store.c

(acquire_secret): Move higher in the source file.

(get_cred_hash, set_cred_hash): Call acquire_secret() as needed.

(pathetic_store_open): No longer call acquire_secret().

* subversion/tests/libsvn_subr/crypto-test.c

(open_auth_store): New helper function, cored from ...

(test_auth_store_basic): ... here.

On the 'master-passphrase' branch:

* subversion/libsvn_subr/auth_store.h

(svn_auth__pathetic_store_create): Fix a stale comment.

On the 'master-passphrase' branch: Disentangle auth store

opening/creation actions.

* subversion/libsvn_subr/auth_store.h

(svn_auth__store_cb_open_t, svn_auth__store_open): Lose 'create' parameter.

(svn_auth__pathetic_store_get): Remove notes about store creation.

(svn_auth__config_store_get): Add note about auto-creation.

* subversion/libsvn_subr/auth_store.c

(svn_auth__store_open): Remove 'create' parameter and handling.

(svn_auth__get_store_from_parameters): Update call to svn_auth__store_open().

* subversion/libsvn_subr/cmdline.c

(open_auth_store): Update call to svn_auth__store_open().

* subversion/libsvn_subr/config_auth_store.c

(config_store_open): Remove 'create' parameter.

* subversion/libsvn_subr/pathetic_auth_store.c

(pathetic_store_open): Remove 'create' parameter.

* subversion/tests/libsvn_subr/crypto-test.c

(create_ephemeral_auth_store, test_auth_store_basic): Update calls

to svn_auth__store_open().

On the 'master-passphrase' branch: Get the GNOME Keyring master

passphrase provider working, too. At least, in theory. Doesn't seem

to work in practice on my machine just yet ... something about symbol

names not resolving or somesuch.

* subversion/include/svn_auth.h

svn_auth_get_gnome_keyring_master_passphrase_provider): New function.

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c

(master_passphrase_gnome_keyring_first_creds,

master_passphrase_gnome_keyring_save_creds,

svn_auth_get_gnome_keyring_master_passphrase_provider): New functions.

(gnome_keyring_master_passphrase_provider): New structure instance.

* subversion/libsvn_subr/cmdline.c

(get_master_passphrase_auth_baton): New helper function, abstracted from...

(open_auth_store): ...here.

* subversion/libsvn_subr/masterpass_providers.c

(get_provider): Fix expected symbol name for gnome-keyring and kwallet

master passphrase providers.

(svn_auth_get_platform_specific_master_passphrase_providers): Enable

GNOME Keyring master passphrase provider support.

On the 'master-passphrase' branch: Add the framework for supporting

the obvious additional platform-specific master passphrase providers.

* subversion/include/private/svn_auth_private.h

(SVN_AUTH__DEFAULT_PROVIDER_LIST): New #define.

* subversion/include/svn_auth.h

(svn_auth_master_passphrase_provider_func_t): New function type.

(svn_auth_get_platform_specific_master_passphrase_providers): New function.

* subversion/libsvn_subr/auth.c

(SVN__DEFAULT_AUTH_PROVIDER_LIST): Remove.

(svn_auth_get_platform_specific_client_providers): Use

SVN_AUTH__DEFAULT_PROVIDER_LIST instead of SVN__DEFAULT_AUTH_PROVIDER_LIST.

* subversion/libsvn_subr/cmdline.c

(open_auth_store): Add 'cfg' parameter, and now call

svn_auth_get_platform_specific_master_passphrase_providers() instead

of explicitly referencing the gpg-agent master passphrase provider.

(svn_cmdline_create_auth_baton): Update call to open_auth_store().

* subversion/libsvn_subr/masterpass_providers.c

(get_provider, svn_auth_get_platform_specific_master_passphrase_providers):

New functions.

On the 'master-passphrase' branch: introduce GPG-Agent caching of the

master passphrase.

* subversion/include/svn_auth.h

(svn_auth_get_gpg_agent_master_passphrase_provider): New function.

* subversion/libsvn_subr/cmdline.c

(open_auth_store): Register the gpg-agent master passphrase provider

where available.

* subversion/libsvn_subr/gpg_agent.c

(get_password_via_agent): New function, abstracted from of

password_get_gpg_agent().

(password_get_gpg_agent): Now just a wrapper around

get_password_via_agent().

(master_passphrase_gpg_agent_first_creds,

gpg_agent_master_passphrase_provider,

svn_auth_get_gpg_agent_master_passphrase_provider): New stuff.

On the 'master-passphrase' branch:

* subversion/include/svn_auth.h

(svn_auth_get_master_passphrase_prompt_provider): Fix a copy-n-pasto.

Merge recent trunk changes to the 'master-passphrase' branch.

(Merged /subversion/trunk:r1365672-1368648.)

  1. … 53 more files in changeset.
On the 'master-passphrase' branch, introduce flexibility on how master

passphrases are acquired for use with the encrypted store by

introducing a parallel auth baton/subsystem for this purpose.

(Fortunately, this didn't require code duplication, which would have

been a non-starter for me.)

Intended next step: see if the GPG-Agent can remember a master

passphrase so that prompting needn't (always) occur.

* subversion/include/svn_auth.h

(SVN_AUTH_CRED_MASTER_PASSPHRASE): New #define.

(svn_auth_cred_master_passphrase_t): New structure type.

(svn_auth_master_passphrase_prompt_func_t): New prompt function type.

(svn_auth_get_master_passphrase_prompt_provider): New function.

* subversion/libsvn_subr/auth_store.h

(svn_auth__master_passphrase_fetch_t): Remove as unused.

(svn_auth__pathetic_store_get): Swap a simple secret-fetching

callback function for a whole parallel auth subsystem used to

fetch (possibly cached) master passphrases.

(svn_auth__pathetic_store_create, svn_auth__pathetic_store_reencrypt):

New functions.

* subversion/libsvn_subr/cmdline.c

(open_auth_store): Add 'no_auth_cache' and 'non_interactive'

parameters. Build a parallel auth subsystem for master passphrase

handling when dealing with an encrypted auth store.

(svn_cmdline_create_auth_baton): Delay opening the auth store until

other configuration parameters have been investigated.

* subversion/libsvn_subr/masterpass_providers.c

New file with the guts of a master-passphrase-providing auth system

plugin.

* subversion/libsvn_subr/pathetic_auth_store.c

(pathetic_auth_store_baton_t): Lose 'secret_func' and 'secret_baton',

and pick up a 'secret_auth_baton'.

(write_auth_store): Add 'create' flag and handling.

(create_auth_store, set_cred_hash): Update calls to write_auth_store().

(acquire_secret): New helper function.

(pathetic_store_open): Reduce the scope of this function a bit,

disallowing store creation, and offloading secret acquisition to

acquire_secret().

(svn_auth__pathetic_store_get): Lose 'secret_func' and

'secret_baton' parameters, and add 'secret_auth_baton'. Update

associated structure members accordingly.

(svn_auth__pathetic_store_create, svn_auth__pathetic_store_reencrypt):

New functions (the latter of which is near-empty-bodied).

* subversion/include/svn_cmdline.h,

* subversion/libsvn_subr/prompt.c

(svn_cmdline_auth_master_passphrase_prompt): Rework as an

svn_auth_master_passphrase_prompt_func_t implementation.

* subversion/tests/libsvn_subr/crypto-test.c

(fetch_secret): Morph this into a master-passphrase prompt callback

function.

(get_master_passphrase_auth_baton): New helper function.

(create_ephemeral_auth_store, test_auth_store_basic): Tweak in

accordance with the changes made to interfaces.

Sync the 'master-passphrase' branch with recent trunk changes.

(Merged /subversion/trunk:r1363893-1365671)

    • ?
    /branches/master-passphrase/INSTALL
  1. … 4 more files in changeset.
On the 'master-passphrase' branch: Clean up the cleanup of auth

stores, and move away from a hardcoded master passphrase via the

addition of a prompting callback.

* subversion/include/svn_cmdline.h,

* subversion/libsvn_subr/prompt.c

(svn_cmdline_auth_master_passphrase_prompt): New function.

* subversion/libsvn_subr/auth_store.c

(svn_auth__store_t): Add 'pool' member.

(svn_auth__store_create): Initialize new 'pool' struct member.

(cleanup_auth_store_close): New.

(svn_auth__store_open): Register the cleanup_auth_store_close() pool

cleanup handler with the auth store pool.

(svn_auth__store_close): Don't require that the store be open, but only

attempt to really close it if it is.

* subversion/libsvn_subr/cmdline.c

(fetch_nonsecret_secret, cleanup_auth_store_close): Remove as unused.

(open_auth_store): Add 'pb' parameter, passed as the baton for the

new svn_cmdline_auth_master_passphrase_prompt, which itself

replaces fetch_nonsecret_secret as the master passphrase fetch

callback. Also, don't bother registering a pool cleanup function

for the auth store.

On the 'master-passphrase' branch:

* subversion/libsvn_subr/pathetic_auth_store.c

(pathetic_store_open): Improve error message.

On the 'master-passphrase' branch: Re-merge from trunk r1325438.

* subversion/libsvn_subr/gpg_agent.c

(password_get_gpg_agent): Lose an unnecessary checksum object

creation call.

On the 'master-passphrase' branch, revert r1304538 and r1311958, which

introduces changes along a direction I've since decided not to go on

this branch. (I'm trying to get this crazy playground whipped into

some reasonably reviewable shape.)