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

[RFC 0/2] Git-over-TLS (gits://) client side support

From
ILIlari Liusvaara <ilari.liusvaara@elisanet.fi>
Date
Jan 13, 2010, 13:19 UTC
Message-ID
<1263388786-6880-1-git-send-email-ilari.liusvaara@elisanet.fi>

This is client-side support for Git-over-TLS (gits://). gits:// is version of git:// protocol layered on top of TLS (Transport Layer Security). If using TLS, it is autenticated transport supporing fetching, pushing and remote archive (plus special commands that have server-dependent meaning).

Needs GnuTLS, and adds new make option NO_GNUTLS that disables builing this code.

Supported underlying stream transports include TCP/IP, TCP/IPv6 and Unix domain sockets (including Linux abstract namespace).

Supported authentication mechanisms include passwords, keypairs and on some platforms Unix authentication if using unix domain sockets. Server is authenticated using keypair (hostkey).

The patch is split into two parts because it would be otherwise be too large for this list. Included are all the needed client side utilities (some of them run gpg internally).

The main repo for gits:// implementation is git://repo.or.cz/git-daemon2.git , which includes selfstanding client code and server code.

Ilari Liusvaara (2):
  Git-over-TLS (gits://) client side support (part 1 of 2)
  Git-over-TLS (gits://) client side support (part 2 of 2)
 Makefile                               |   23 +-
 git-over-tls/.gitignore                |    5 +
 git-over-tls/Makefile                  |   46 ++
 git-over-tls/cbuffer.c                 |  504 ++++++++++++
 git-over-tls/cbuffer.h                 |  304 +++++++
 git-over-tls/certificate.c             |  306 +++++++
 git-over-tls/certificate.h             |   28 +
 git-over-tls/connect.c                 |  263 ++++++
 git-over-tls/connect.h                 |   14 +
 git-over-tls/genkeypair.c              |   38 +
 git-over-tls/gensrpverifier.c          |  372 +++++++++
 git-over-tls/getkeyid.c                |  118 +++
 git-over-tls/gits-send-special-command |   22 +
 git-over-tls/home.c                    |   47 ++
 git-over-tls/home.h                    |   13 +
 git-over-tls/hostkey.c                 |  116 +++
 git-over-tls/hostkey.h                 |   15 +
 git-over-tls/hostkeymanager.c          |  305 +++++++
 git-over-tls/keypairs.c                |   60 ++
 git-over-tls/keypairs.h                |   16 +
 git-over-tls/main.c                    |  460 +++++++++++
 git-over-tls/misc.c                    |   15 +
 git-over-tls/misc.h                    |   27 +
 git-over-tls/mkcert.c                  |  507 ++++++++++++
 git-over-tls/prompt.c                  |  100 +++
 git-over-tls/prompt.h                  |   18 +
 git-over-tls/srp_askpass.c             |   90 ++
 git-over-tls/srp_askpass.h             |   14 +
 git-over-tls/user.c                    | 1384 ++++++++++++++++++++++++++++++++
 git-over-tls/user.h                    |  357 ++++++++
 30 files changed, 5585 insertions(+), 2 deletions(-)
 create mode 100644 git-over-tls/.gitignore
 create mode 100644 git-over-tls/Makefile
 create mode 100644 git-over-tls/cbuffer.c
 create mode 100644 git-over-tls/cbuffer.h
 create mode 100644 git-over-tls/certificate.c
 create mode 100644 git-over-tls/certificate.h
 create mode 100644 git-over-tls/connect.c
 create mode 100644 git-over-tls/connect.h
 create mode 100644 git-over-tls/genkeypair.c
 create mode 100644 git-over-tls/gensrpverifier.c
 create mode 100644 git-over-tls/getkeyid.c
 create mode 100755 git-over-tls/gits-send-special-command
 create mode 100644 git-over-tls/home.c
 create mode 100644 git-over-tls/home.h
 create mode 100644 git-over-tls/hostkey.c
 create mode 100644 git-over-tls/hostkey.h
 create mode 100644 git-over-tls/hostkeymanager.c
 create mode 100644 git-over-tls/keypairs.c
 create mode 100644 git-over-tls/keypairs.h
 create mode 100644 git-over-tls/main.c
 create mode 100644 git-over-tls/misc.c
 create mode 100644 git-over-tls/misc.h
 create mode 100644 git-over-tls/mkcert.c
 create mode 100644 git-over-tls/prompt.c
 create mode 100644 git-over-tls/prompt.h
 create mode 100644 git-over-tls/srp_askpass.c
 create mode 100644 git-over-tls/srp_askpass.h
 create mode 100644 git-over-tls/user.c
 create mode 100644 git-over-tls/user.h
Next: Ilari Liusvaara
Message 1 of 28 in “[RFC 0/2] Git-over-TLS (gits://) client side support”
  1. Ilari LiusvaaraJan 13, 2010
  2. 1/2 Git-over-TLS (gits://) client side support (part 1 of 2)Ilari Liusvaara, Jan 13, 2010
  3. 2/2 Git-over-TLS (gits://) client side support (part 2 of 2)Ilari Liusvaara, Jan 13, 2010
  4. Alex RiesenJan 13, 2010
  5. Nguyen Thai Ngoc DuyJan 13, 2010
  6. Ilari LiusvaaraJan 13, 2010
  7. Andreas KreyJan 13, 2010
  8. Ilari LiusvaaraJan 13, 2010
  9. Andreas KreyJan 13, 2010
  10. Ilari LiusvaaraJan 13, 2010
  11. Andreas KreyJan 13, 2010
  12. Ilari LiusvaaraJan 13, 2010
  13. Avery PennarunJan 13, 2010
  14. Ilari LiusvaaraJan 13, 2010
  15. Avery PennarunJan 13, 2010
  16. Ilari LiusvaaraJan 13, 2010
  17. Avery PennarunJan 13, 2010
  18. Shawn O. PearceJan 13, 2010
  19. Ilari LiusvaaraJan 13, 2010
  20. Avery PennarunJan 13, 2010
  21. Ilari LiusvaaraJan 14, 2010
  22. Avery PennarunJan 14, 2010
  23. Ilari LiusvaaraJan 14, 2010
  24. Andreas KreyJan 13, 2010
  25. Ilari LiusvaaraJan 13, 2010
  26. Avery PennarunJan 13, 2010
  27. Ilari LiusvaaraJan 13, 2010
  28. Edward Z. YangJan 13, 2010

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.