git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH v2 00/16] Make Gnome Credential helper more Gnome-y and support ancient distros
@ 2013-09-23 18:49 Brandon Casey
  2013-09-23 18:49 ` [PATCH v2 01/16] contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarations Brandon Casey
                   ` (18 more replies)
  0 siblings, 19 replies; 23+ messages in thread
From: Brandon Casey @ 2013-09-23 18:49 UTC (permalink / raw)
  To: git; +Cc: john, pah, felipe.contreras, Brandon Casey

From: Brandon Casey <drafnel@gmail.com>

Mostly unchanged.

Inserts a patch to fix the style issues for block statements.
i.e. use "if ()" instead of "if()"

A couple early patches were reordered to improve logical flow.

Updated the comment in the last patch to hopefully improve clarity
wrt RHEL 4.X

The only functional change is in 14/16 "report failure to store".
We should accept GNOME_KEYRING_RESULT_CANCELLED as a successful
return and _not_ produce an error message.

Interdiff follows...

Brandon Casey (16):
  contrib/git-credential-gnome-keyring.c: remove unnecessary
    pre-declarations
  contrib/git-credential-gnome-keyring.c: remove unused die() function
  contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()"
    etc.
  contrib/git-credential-gnome-keyring.c: add static where applicable
  contrib/git-credential-gnome-keyring.c: exit non-zero when called
    incorrectly
  contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not
    ssize_t
  contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty
    before accessing
  contrib/git-credential-gnome-keyring.c: set Gnome application name
  contrib/git-credential-gnome-keyring.c: use gnome helpers in
    keyring_object()
  contrib/git-credential-gnome-keyring.c: use secure memory functions
    for passwds
  contrib/git-credential-gnome-keyring.c: use secure memory for reading
    passwords
  contrib/git-credential-gnome-keyring.c: use glib memory allocation
    functions
  contrib/git-credential-gnome-keyring.c: use glib messaging functions
  contrib/git-credential-gnome-keyring.c: report failure to store
    password
  contrib/git-credential-gnome-keyring.c: support ancient gnome-keyring
  contrib/git-credential-gnome-keyring.c: support really ancient
    gnome-keyring

 contrib/credential/gnome-keyring/Makefile          |   4 +-
 .../gnome-keyring/git-credential-gnome-keyring.c   | 301 ++++++++++++---------
 2 files changed, 169 insertions(+), 136 deletions(-)

---

diff --git a/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c b/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
index ce2ddee..635c96b 100644
--- a/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
+++ b/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
@@ -50,7 +50,7 @@
 
 /*
  * ancient gnome-keyring returns DENIED when an entry is not found.
- * Setting NO_MATCH to DENIED will prevent us from reporting denied
+ * Setting NO_MATCH to DENIED will prevent us from reporting DENIED
  * errors during get and erase operations, but we will still report
  * DENIED errors during a store.
  */
@@ -87,8 +87,8 @@ static const char* gnome_keyring_result_to_message(GnomeKeyringResult result)
 }
 
 /*
- * Just a guess to support RHEL 4.X.
- * Glib 2.8 was roughly Gnome 2.12 ?
+ * Support really ancient gnome-keyring, circ. RHEL 4.X.
+ * Just a guess for the Glib version.  Glib 2.8 was roughly Gnome 2.12 ?
  * Which was released with gnome-keyring 0.4.3 ??
  */
 #if GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION < 8
@@ -162,7 +162,7 @@ static char* keyring_object(struct credential *c)
 	if (!c->path)
 		return NULL;
 
-	if(c->port)
+	if (c->port)
 		return g_strdup_printf("%s:%hd/%s", c->host, c->port, c->path);
 
 	return g_strdup_printf("%s/%s", c->host, c->path);
@@ -251,7 +251,8 @@ static int keyring_store(struct credential *c)
 
 	g_free(object);
 
-	if (result != GNOME_KEYRING_RESULT_OK) {
+	if (result != GNOME_KEYRING_RESULT_OK &&
+	    result != GNOME_KEYRING_RESULT_CANCELLED) {
 		g_critical("%s", gnome_keyring_result_to_message(result));
 		return EXIT_FAILURE;
 	}
@@ -363,14 +364,14 @@ static int credential_read(struct credential *c)
 	{
 		line_len = strlen(buf);
 
-		if(line_len && buf[line_len-1] == '\n')
+		if (line_len && buf[line_len-1] == '\n')
 			buf[--line_len]='\0';
 
-		if(!line_len)
+		if (!line_len)
 			break;
 
 		value = strchr(buf,'=');
-		if(!value) {
+		if (!value) {
 			g_warning("invalid credential line: %s", key);
 			gnome_keyring_memory_free(buf);
 			return -1;
@@ -432,9 +433,9 @@ static void usage(const char *name)
 
 	basename = (basename) ? basename + 1 : name;
 	fprintf(stderr, "usage: %s <", basename);
-	while(try_op->name) {
+	while (try_op->name) {
 		fprintf(stderr,"%s",(try_op++)->name);
-		if(try_op->name)
+		if (try_op->name)
 			fprintf(stderr,"%s","|");
 	}
 	fprintf(stderr,"%s",">\n");
@@ -455,15 +456,15 @@ int main(int argc, char *argv[])
 	g_set_application_name("Git Credential Helper");
 
 	/* lookup operation callback */
-	while(try_op->name && strcmp(argv[1], try_op->name))
+	while (try_op->name && strcmp(argv[1], try_op->name))
 		try_op++;
 
 	/* unsupported operation given -- ignore silently */
-	if(!try_op->name || !try_op->op)
+	if (!try_op->name || !try_op->op)
 		goto out;
 
 	ret = credential_read(&cred);
-	if(ret)
+	if (ret)
 		goto out;
 
 	/* perform credential operation */

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

^ permalink raw reply related	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2013-10-16 21:38 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-23 18:49 [PATCH v2 00/16] Make Gnome Credential helper more Gnome-y and support ancient distros Brandon Casey
2013-09-23 18:49 ` [PATCH v2 01/16] contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarations Brandon Casey
2013-09-23 18:49 ` [PATCH v2 02/16] contrib/git-credential-gnome-keyring.c: remove unused die() function Brandon Casey
2013-09-23 18:49 ` [PATCH v2 03/16] contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()" etc Brandon Casey
2013-09-23 18:49 ` [PATCH v2 04/16] contrib/git-credential-gnome-keyring.c: add static where applicable Brandon Casey
2013-09-23 18:49 ` [PATCH v2 05/16] contrib/git-credential-gnome-keyring.c: exit non-zero when called incorrectly Brandon Casey
2013-09-23 18:49 ` [PATCH v2 06/16] contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not ssize_t Brandon Casey
2013-09-23 18:49 ` [PATCH v2 07/16] contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty before accessing Brandon Casey
2013-09-23 18:49 ` [PATCH v2 08/16] contrib/git-credential-gnome-keyring.c: set Gnome application name Brandon Casey
2013-09-23 18:49 ` [PATCH v2 09/16] contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object() Brandon Casey
2013-09-23 18:49 ` [PATCH v2 10/16] contrib/git-credential-gnome-keyring.c: use secure memory functions for passwds Brandon Casey
2013-09-23 18:49 ` [PATCH v2 11/16] contrib/git-credential-gnome-keyring.c: use secure memory for reading passwords Brandon Casey
2013-09-23 18:49 ` [PATCH v2 12/16] contrib/git-credential-gnome-keyring.c: use glib memory allocation functions Brandon Casey
2013-09-23 18:49 ` [PATCH v2 13/16] contrib/git-credential-gnome-keyring.c: use glib messaging functions Brandon Casey
2013-09-23 18:49 ` [PATCH v2 14/16] contrib/git-credential-gnome-keyring.c: report failure to store password Brandon Casey
2013-09-23 18:49 ` [PATCH v2 15/16] contrib/git-credential-gnome-keyring.c: support ancient gnome-keyring Brandon Casey
2013-09-23 20:14   ` Felipe Contreras
2013-09-23 18:49 ` [PATCH v2 16/16] contrib/git-credential-gnome-keyring.c: support really " Brandon Casey
2013-09-23 20:15 ` [PATCH v2 00/16] Make Gnome Credential helper more Gnome-y and support ancient distros Felipe Contreras
2013-09-24  3:49 ` Jeff King
2013-10-15 22:40 ` Junio C Hamano
2013-10-15 22:54   ` Brandon Casey
2013-10-16 21:38     ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).