git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Mark Lodato <lodatom@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/2] http.c: prompt for SSL client certificate password
Date: Fri, 12 Jun 2009 19:13:32 -0400	[thread overview]
Message-ID: <ca433830906121613y68e5bdax5778867c41b00339@mail.gmail.com> (raw)
In-Reply-To: <7vprdaarka.fsf@alter.siamese.dyndns.org>

On Fri, Jun 12, 2009 at 2:34 AM, Junio C Hamano<gitster@pobox.com> wrote:
> Mark Lodato <lodatom@gmail.com> writes:
>
>> @@ -189,6 +207,16 @@ static CURL *get_curl_handle(void)
>>
>>       if (ssl_cert != NULL)
>>               curl_easy_setopt(result, CURLOPT_SSLCERT, ssl_cert);
>> +     if (has_cert_password())
>> +             curl_easy_setopt(result,
>> +#if LIBCURL_VERSION_NUM >= 0x071700
>> +                              CURLOPT_KEYPASSWD,
>> +#elif LIBCURL_VERSION_NUM >= 0x070903
>> +                              CURLOPT_SSLKEYPASSWD,
>> +#else
>> +                              CURLOPT_SSLCERTPASSWD,
>> +#endif
>> +                              ssl_cert_password);
>
> This is purely style and readability, but if you do something like this
> much earlier in the file:
>
>    #if !defined(CURLOPT_KEYPASSWD)
>    # if defined(CURLOPT_SSLKEYPASSWD)
>    #  define CURLOPT_KEYTPASSWD CURLOPT_SSLKEYPASSWD
>    # elif defined(CURLOPT_SSLCERTPASSWD
>    #  define CURLOPT_KEYTPASSWD CURLOPT_SSLCERTPASSWD
>    # endif
>    #endif
>
> you can write your main codepath using the latest cURL API without ifdef.
> The callsite can simply say:
>
>        if (must_set_cert_password())
>                curl_easy_setopt(result, CURLOPT_KEYPASSWD, ssl_cert_password);
>
> which I think would be much easier to follow.

I realized this after I submitted the patch.  Locally I have modified
my version to do something similar to the above, but checking libcurl
versions rather than checking the existence of the macros (which don't
exist, as Daniel pointed out.)  If this patch series is accepted, I
will make a cleaner version that includes this change.

Mark

  parent reply	other threads:[~2009-06-12 23:13 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-28  3:16 [PATCH 1/2] http.c: prompt for SSL client certificate password Mark Lodato
2009-05-28  3:16 ` [PATCH 2/2] http.c: add http.sslCertNoPass option Mark Lodato
2009-06-05  2:44 ` [PATCH 1/2] http.c: prompt for SSL client certificate password Mark Lodato
2009-06-05  8:20   ` Constantine Plotnikov
2009-06-07 14:10     ` Mark Lodato
2009-06-11 23:00 ` Mark Lodato
2009-06-11 23:42   ` Nanako Shiraishi
2009-06-11 23:59     ` Junio C Hamano
2009-06-12  7:56     ` Daniel Stenberg
2009-06-12 15:38       ` Constantine Plotnikov
2009-06-12 16:50         ` Jakub Narebski
2009-06-12 21:49           ` Rogan Dawes
2009-06-12 23:11           ` Mark Lodato
2009-06-12 23:26       ` Mark Lodato
2009-06-13  0:31         ` Junio C Hamano
2009-06-13  0:49           ` Mark Lodato
2009-06-13 11:22           ` Daniel Stenberg
2009-06-11 23:56   ` Junio C Hamano
2009-06-12 22:31     ` Mark Lodato
2009-06-12  6:34 ` Junio C Hamano
2009-06-12  7:59   ` Daniel Stenberg
2009-06-12 23:13   ` Mark Lodato [this message]
2009-06-13  0:14     ` Junio C Hamano
2009-06-13  0:33       ` Mark Lodato
2009-06-13  1:12         ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ca433830906121613y68e5bdax5778867c41b00339@mail.gmail.com \
    --to=lodatom@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).