summaryrefslogtreecommitdiff
path: root/contrib/credential
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'bc/gnome-keyring'Junio C Hamano2013-10-232-134/+167
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanups and tweaks for credential handling to work with ancient versions of the gnome-keyring library that are still in use. * bc/gnome-keyring: contrib/git-credential-gnome-keyring.c: support really ancient gnome-keyring contrib/git-credential-gnome-keyring.c: support ancient gnome-keyring contrib/git-credential-gnome-keyring.c: report failure to store password contrib/git-credential-gnome-keyring.c: use glib messaging functions contrib/git-credential-gnome-keyring.c: use glib memory allocation functions contrib/git-credential-gnome-keyring.c: use secure memory for reading passwords contrib/git-credential-gnome-keyring.c: use secure memory functions for passwds contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object() contrib/git-credential-gnome-keyring.c: set Gnome application name contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty before accessing contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not ssize_t contrib/git-credential-gnome-keyring.c: exit non-zero when called incorrectly contrib/git-credential-gnome-keyring.c: add static where applicable contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()" etc. contrib/git-credential-gnome-keyring.c: remove unused die() function contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarations
| * contrib/git-credential-gnome-keyring.c: support really ancient gnome-keyringbc/gnome-keyringBrandon Casey2013-10-161-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | The gnome-keyring lib (0.4) distributed with RHEL 4.X is really ancient and does not provide most of the synchronous functions that even ancient releases do. Thankfully, we're only using one function that is missing. Let's emulate gnome_keyring_item_delete_sync() by calling the asynchronous function and then triggering the event loop processing until our callback is called. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: support ancient gnome-keyringBrandon Casey2013-10-161-0/+58
| | | | | | | | | | | | | | | | | | | | The gnome-keyring lib distributed with RHEL 5.X is ancient and does not provide a few of the functions/defines that more recent versions do, but mostly the API is the same. Let's provide the missing bits via macro definitions and function implementation. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: report failure to store passwordBrandon Casey2013-10-161-1/+9
| | | | | | | | | | | | | | Produce an error message when we fail to store a password to the keyring. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: use glib messaging functionsBrandon Casey2013-10-161-29/+4
| | | | | | | | | | | | | | | | Rather than roll our own, let's use the messaging functions provided by glib. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: use glib memory allocation functionsBrandon Casey2013-10-161-32/+16
| | | | | | | | | | | | | | | | Rather than roll our own, let's use the memory allocation/free routines provided by glib. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: use secure memory for reading passwordsBrandon Casey2013-10-161-3/+9
| | | | | | | | | | | | | | | | | | gnome-keyring provides functions to allocate non-pageable memory (if possible). Let's use them to allocate memory that may be used to hold secure data read from the keyring. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: use secure memory functions for passwdsBrandon Casey2013-10-161-15/+6
| | | | | | | | | | | | | | | | gnome-keyring provides functions for allocating non-pageable memory (if possible) intended to be used for storing passwords. Let's use them. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object()Brandon Casey2013-10-161-11/+3
| | | | | | | | | | | | | | | | | | Rather than carefully allocating memory for sprintf() to write into, let's make use of the glib helper function g_strdup_printf(), which makes things a lot easier and less error-prone. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: set Gnome application nameBrandon Casey2013-10-162-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Since this is a Gnome application, let's set the application name to something reasonable. This will be displayed in Gnome dialog boxes e.g. the one that prompts for the user's keyring password. We add an include statement for glib.h and add the glib-2.0 cflags and libs to the compilation arguments, but both of these are really noops since glib is already a dependency of gnome-keyring. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty before ↵Brandon Casey2013-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | accessing Ensure buffer length is non-zero before attempting to access the last element. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not ssize_tBrandon Casey2013-10-161-1/+1
| | | | | | | | | | | | | | | | Also, initialization is not necessary since it is assigned before it is used. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: exit non-zero when called incorrectlyBrandon Casey2013-10-161-1/+1
| | | | | | | | | | | | | | | | If the correct arguments were not specified, this program should exit non-zero. Let's do so. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: add static where applicableBrandon Casey2013-10-161-9/+9
| | | | | | | | | | | | | | Mark global variable and functions as static. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()" etc.Brandon Casey2013-10-161-10/+10
| | | | | | | | | | Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * contrib/git-credential-gnome-keyring.c: remove unused die() functionBrandon Casey2013-09-231-10/+0
| | | | | | | | | | Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
| * contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarationsBrandon Casey2013-09-231-13/+0
| | | | | | | | | | | | | | | | These are all defined before they are used, so it is not necessary to pre-declare them. Remove the pre-declarations. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
* | Merge branch 'tz/credential-netrc'Jonathan Nieder2013-10-081-1/+3
|\ \ | |/ |/| | | | | * tz/credential-netrc: git-credential-netrc: fix uninitialized warning
| * git-credential-netrc: fix uninitialized warningtz/credential-netrcTed Zlatanov2013-10-081-1/+3
| | | | | | | | | | | | | | Simple patch to avoid unitialized warning and log what we'll do. Signed-off-by: Ted Zlatanov <tzz@lifelogs.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
* | credential-osxkeychain: support more protocolsXidorn Quan2013-05-281-1/+11
| | | | | | | | | | | | | | | | | | Add protocol imap, imaps, ftp and smtp for credential-osxkeychain. Signed-off-by: Xidorn Quan <quanxunzhen@gmail.com> Acked-by: John Szakmeister <john@szakmeister.net> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'tz/credential-authinfo'Junio C Hamano2013-03-214-0/+545
|\ \ | |/ | | | | | | | | | | | | | | A new read-only credential helper (in contrib/) to interact with the .netrc/.authinfo files. Hopefully mn/send-email-authinfo topic can rebuild on top of something like this. * tz/credential-authinfo: Add contrib/credentials/netrc with GPG support
| * Add contrib/credentials/netrc with GPG supportTed Zlatanov2013-02-254-0/+545
| | | | | | | | | | | | | | | | | | This credential helper supports multiple files, returning the first one that matches. It checks file permissions and owner. For *.gpg files, it will run GPG to decrypt the file. Signed-off-by: Ted Zlatanov <tzz@lifelogs.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'da/downcase-u-in-usage'Junio C Hamano2013-03-193-3/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * da/downcase-u-in-usage: contrib/mw-to-git/t/install-wiki.sh: use a lowercase "usage:" string contrib/examples/git-remote.perl: use a lowercase "usage:" string tests: use a lowercase "usage:" string git-svn: use a lowercase "usage:" string Documentation/user-manual.txt: use a lowercase "usage:" string templates/hooks--update.sample: use a lowercase "usage:" string contrib/hooks/setgitperms.perl: use a lowercase "usage:" string contrib/examples: use a lowercase "usage:" string contrib/fast-import/import-zips.py: use spaces instead of tabs contrib/fast-import/import-zips.py: fix broken error message contrib/fast-import: use a lowercase "usage:" string contrib/credential: use a lowercase "usage:" string git-cvsimport: use a lowercase "usage:" string git-cvsimport: use a lowercase "usage:" string git-cvsexportcommit: use a lowercase "usage:" string git-archimport: use a lowercase "usage:" string git-merge-one-file: use a lowercase "usage:" string git-relink: use a lowercase "usage:" string git-svn: use a lowercase "usage:" string git-sh-setup: use a lowercase "usage:" string
| * | contrib/credential: use a lowercase "usage:" stringDavid Aguilar2013-02-243-3/+3
| |/ | | | | | | | | | | | | | | Make the usage string consistent with Git. Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | wincred: improve compatibility with windows versionsKarsten Blees2013-02-261-129/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On WinXP, the windows credential helper doesn't work at all (due to missing Cred[Un]PackAuthenticationBuffer APIs). On Win7, the credential format used by wincred is incompatible with native Windows tools (such as the control panel applet or 'cmdkey.exe /generic'). These Windows tools only set the TargetName, UserName and CredentialBlob members of the CREDENTIAL structure (where CredentialBlob is the UTF-16-encoded password). Remove the unnecessary packing / unpacking of the password, along with the related API definitions, for compatibility with Windows XP. Don't use CREDENTIAL_ATTRIBUTEs to identify credentials for compatibility with Windows credential manager tools. Parse the protocol, username, host and path fields from the credential's target name instead. Credentials created with an old wincred version will have mangled or empty passwords after this change. Signed-off-by: Karsten Blees <blees@dcon.de> Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
* | wincred: accept CRLF on stdin to simplify console usageKarsten Blees2013-02-261-2/+5
|/ | | | | | | | | | The windows credential helper currently only accepts LF on stdin, but bash and cmd.exe both send CRLF. This prevents interactive use in the console. Change the stdin parser to optionally accept CRLF. Signed-off-by: Karsten Blees <blees@dcon.de> Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
* Merge branch 'ph/credential-gnome-keyring'Junio C Hamano2012-09-103-0/+470
|\ | | | | | | | | * ph/credential-gnome-keyring: contrib: add credential helper for GnomeKeyring
| * contrib: add credential helper for GnomeKeyringPhilipp A. Hartmann2012-08-243-0/+470
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this installed in your $PATH, you can store git-over-http passwords in your keyring by doing: git config credential.helper gnome-keyring The code is based in large part on the work of John Szakmeister who wrote the helper originally for the initial, unpublished version of the credential helper protocol. This version will pass t0303 if you do: GIT_TEST_CREDENTIAL_HELPER=gnome-keyring \ ./t0303-credential-external.sh Signed-off-by: Philipp A. Hartmann <pah@qo.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | contrib: add win32 credential-helperErik Faye-Lund2012-08-162-0/+371
|/ | | | | | | | | | Since the Windows port of Git expects binary pipes, we need to make sure the helper-end also sets up binary pipes. Side-step CRLF-issue in test to make it pass. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* osxkeychain: pull make config from top-level directoryJeff King2012-05-241-2/+5
| | | | | | | | | | | | | | | | | The default compiler and cflags were mostly "works for me" when I built the original version. We need to be much less careful here than usual, because we know we are building only on OS X. But it's only polite to at least respect the CFLAGS and CC definitions that the user may have provided earlier. While we're at it, let's update our definitions and rules to be more like the top-level Makefile; default our CFLAGS to include -O2, and make sure we use CFLAGS and LDFLAGS when linking. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib: add credential helper for OS X Keychainjk/git-promptJeff King2011-12-123-0/+188
With this installed in your $PATH, you can store git-over-http passwords in your keychain by doing: git config credential.helper osxkeychain The code is based in large part on the work of Jay Soffian, who wrote the helper originally for the initial, unpublished version of the credential helper protocol. This version will pass t0303 if you do: GIT_TEST_CREDENTIAL_HELPER=osxkeychain \ GIT_TEST_CREDENTIAL_HELPER_SETUP="export HOME=$HOME" \ ./t0303-credential-external.sh The "HOME" setup is unfortunately necessary. The test scripts set HOME to the trash directory, but this causes the keychain API to complain. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>