libcurl dependency for implementing RFC3161 timestamps

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

libcurl dependency for implementing RFC3161 timestamps

Anton Wuerfel
Hello,

for implementing RFC3161 timestamps in git tag, HTTP POST requests have to
be sent via libcurl. We already changed http.c to our needs.

Is there any best-practice how to introduce this libcurl dependency? There
are several options:

-As git tag is a builtin part of the main git executable, introduce a
libcurl dependency for the main executable (maybe not best-practice).

-Move git tag to a separate git-tag binary and introduce a libcurl
dependency to this new submodule.

-Create an own submodule like git-http-timestamp with a libcurl dependency
and call it from git tag and from other places where timestamp signatures
are needed.

Regards,
Phillip Raffeck
Anton Wuerfel

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: libcurl dependency for implementing RFC3161 timestamps

Duy Nguyen
On Wed, Mar 9, 2016 at 6:24 PM, Anton Wuerfel <[hidden email]> wrote:
> -As git tag is a builtin part of the main git executable, introduce a
> libcurl dependency for the main executable (maybe not best-practice).

libcurl was part of the main executable and then split out because it
increased startup time [1]. I don't know if it's still true nowadays,
maybe you should do a simple test before deciding to go that way.

[1] http://article.gmane.org/gmane.comp.version-control.git/123946
--
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

RE: libcurl dependency for implementing RFC3161 timestamps

Randall S. Becker
On March 9, 2016 6:41 AM, Duy Nguyen wrote:

> To: Anton Wuerfel <[hidden email]>
> Cc: Git Mailing List <[hidden email]>; [hidden email];
> [hidden email]
> Subject: Re: libcurl dependency for implementing RFC3161 timestamps
>
> On Wed, Mar 9, 2016 at 6:24 PM, Anton Wuerfel <[hidden email]>
> wrote:
> > -As git tag is a builtin part of the main git executable, introduce a
> > libcurl dependency for the main executable (maybe not best-practice).
>
> libcurl was part of the main executable and then split out because it
> increased startup time [1]. I don't know if it's still true nowadays, maybe you
> should do a simple test before deciding to go that way.

The NSE NonStop port observed that at 2.7.3 (admittedly old) that libcurl was not used for local operations including status, log, reset, etc., but was needed for push, pull, fetch (a.k.a. network) operations. The libcurl.so is loaded statically at start-up for any components needing the latter operations. Added it for local processing is not going to help performance :(, which is quite bad enough on our platform.

Sincerely,
Randall

-- Brief whoami: NonStop&UNIX developer since approximately UNIX(421664400)/NonStop(211288444200000000)
-- In my real life, I talk too much.



--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: libcurl dependency for implementing RFC3161 timestamps

Junio C Hamano
In reply to this post by Anton Wuerfel
"Anton Wuerfel" <[hidden email]> writes:

> Is there any best-practice how to introduce this libcurl dependency? There
> are several options:
>
> -As git tag is a builtin part of the main git executable, introduce a
> libcurl dependency for the main executable (maybe not best-practice).
>
> -Move git tag to a separate git-tag binary and introduce a libcurl
> dependency to this new submodule.
>
> -Create an own submodule like git-http-timestamp with a libcurl dependency
> and call it from git tag and from other places where timestamp signatures
> are needed.

If this were to become part of the official Git distribution, I
think the last one would be the most realistic approach.

In fact, just like the way that Git does not care how GPG implements
its crypto, manages the chain of trust, and any other details, I
think the best way to integrate it would be to write your own RFC3161
program that can be invoked just like we invoke GPG, and drive it
via an interface like we drive GPG via gpg-interface.[ch], since Git
shouldn't even care where your timestamp is coming from and over
what transport.




--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html