git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 15/16] contrib/git-credential-gnome-keyring.c: support ancient gnome-keyring

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Sep 23, 2013, 20:14 UTC
Message-ID
<CAMP44s0AnN4t9xuWQy9e09=m1quRegyCtGtizTjP_Ovw62Lycg@mail.gmail.com>
In-Reply-To
<1379962157-1338-16-git-send-email-bcasey@nvidia.com>
On Mon, Sep 23, 2013 at 1:49 PM, Brandon Casey <bcasey@nvidia.com> wrote:
Show 53 quoted lines
> From: Brandon Casey <drafnel@gmail.com>
>
> 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>
> ---
>  .../gnome-keyring/git-credential-gnome-keyring.c   | 58 ++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
>
> diff --git a/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c b/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
> index 447e9aa..e1bc3fa 100644
> --- a/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
> +++ b/contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
> @@ -28,8 +28,66 @@
>  #include <stdlib.h>
>  #include <glib.h>
>  #include <gnome-keyring.h>
> +
> +#ifdef GNOME_KEYRING_DEFAULT
> +
> +   /* Modern gnome-keyring */
> +
>  #include <gnome-keyring-memory.h>
>
> +#else
> +
> +   /*
> +    * Support ancient gnome-keyring, circ. RHEL 5.X.
> +    * GNOME_KEYRING_DEFAULT seems to have been introduced with Gnome 2.22,
> +    * and the other features roughly around Gnome 2.20, 6 months before.
> +    * Ubuntu 8.04 used Gnome 2.22 (I think).  Not sure any distro used 2.20.
> +    * So the existence/non-existence of GNOME_KEYRING_DEFAULT seems like
> +    * a decent thing to use as an indicator.
> +    */
> +
> +#define GNOME_KEYRING_DEFAULT NULL
> +
> +/*
> + * ancient gnome-keyring returns DENIED when an entry is not found.
> + * 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.
> + */
> +#define GNOME_KEYRING_RESULT_NO_MATCH GNOME_KEYRING_RESULT_DENIED
> +
> +#define gnome_keyring_memory_alloc g_malloc
> +#define gnome_keyring_memory_free gnome_keyring_free_password
> +#define gnome_keyring_memory_strdup g_strdup
> +
> +static const char* gnome_keyring_result_to_message(GnomeKeyringResult result)

The style is: static const char *gnome_keyring_result_to_message

There might not be a need to reroll, depending on what Junio says.
-- 
Felipe Contreras
Previous: Brandon CaseyNext: Brandon Casey
Message 17 of 23 in “Make Gnome Credential helper more Gnome-y and support ancient distros”
  1. 00/16 Make Gnome Credential helper more Gnome-y and support ancient distrosBrandon Casey, Sep 23, 2013
  2. 01/16 contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarationsBrandon Casey, Sep 23, 2013
  3. 02/16 contrib/git-credential-gnome-keyring.c: remove unused die() functionBrandon Casey, Sep 23, 2013
  4. 03/16 contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()" etc.Brandon Casey, Sep 23, 2013
  5. 04/16 contrib/git-credential-gnome-keyring.c: add static where applicableBrandon Casey, Sep 23, 2013
  6. 05/16 contrib/git-credential-gnome-keyring.c: exit non-zero when called incorrectlyBrandon Casey, Sep 23, 2013
  7. 06/16 contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not ssize_tBrandon Casey, Sep 23, 2013
  8. 07/16 contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty before accessingBrandon Casey, Sep 23, 2013
  9. 08/16 contrib/git-credential-gnome-keyring.c: set Gnome application nameBrandon Casey, Sep 23, 2013
  10. 09/16 contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object()Brandon Casey, Sep 23, 2013
  11. 10/16 contrib/git-credential-gnome-keyring.c: use secure memory functions for passwdsBrandon Casey, Sep 23, 2013
  12. 11/16 contrib/git-credential-gnome-keyring.c: use secure memory for reading passwordsBrandon Casey, Sep 23, 2013
  13. 12/16 contrib/git-credential-gnome-keyring.c: use glib memory allocation functionsBrandon Casey, Sep 23, 2013
  14. 13/16 contrib/git-credential-gnome-keyring.c: use glib messaging functionsBrandon Casey, Sep 23, 2013
  15. 14/16 contrib/git-credential-gnome-keyring.c: report failure to store passwordBrandon Casey, Sep 23, 2013
  16. 15/16 contrib/git-credential-gnome-keyring.c: support ancient gnome-keyringBrandon Casey, Sep 23, 2013
  17. Felipe ContrerasSep 23, 2013
  18. 16/16 contrib/git-credential-gnome-keyring.c: support really ancient gnome-keyringBrandon Casey, Sep 23, 2013
  19. Felipe ContrerasSep 23, 2013
  20. Jeff KingSep 24, 2013
  21. Junio C HamanoOct 15, 2013
  22. Brandon CaseyOct 15, 2013
  23. Junio C HamanoOct 16, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.