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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]