From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Q3DFZ-0004zi-Uh for garchives@archives.gentoo.org; Fri, 25 Mar 2011 20:04:50 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 52C591C167; Fri, 25 Mar 2011 20:00:06 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 107E51C167 for ; Fri, 25 Mar 2011 20:00:05 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id AEE4F1B407B for ; Fri, 25 Mar 2011 20:00:05 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 193BF8006D for ; Fri, 25 Mar 2011 20:00:05 +0000 (UTC) From: "Christian Ruppert" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Christian Ruppert" Message-ID: Subject: [gentoo-commits] proj/gitolite-gentoo:t/export-key-metadata commit in: / X-VCS-Repository: proj/gitolite-gentoo X-VCS-Committer: idl0r X-VCS-Committer-Name: Christian Ruppert X-VCS-Revision: b1ab3f43f2f26dda61b51b76a3e7ecbdc729cc89 Date: Fri, 25 Mar 2011 20:00:05 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 971468cf7bbcc5c295d0a12d0ee09c6d Message-ID: <20110325200005.ANyhkHdyGOS2TfzT-K-oJIU12OvY4VyuBlEmKTMQEj4@z> commit: b1ab3f43f2f26dda61b51b76a3e7ecbdc729cc89 Author: Christian Ruppert gentoo org> AuthorDate: Fri Mar 25 19:41:33 2011 +0000 Commit: Christian Ruppert gentoo org> CommitDate: Fri Mar 25 19:41:33 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gitolite-gent= oo.git;a=3Dcommit;h=3Db1ab3f43 Merge commit 'refs/top-bases/t/ssh-key-options' into t/ssh-key-options README.mkd | 30 +- conf/example.conf | 243 +--------- conf/example.gitolite.rc | 26 +- contrib/adc/able | 20 +- contrib/adc/adc.common-functions | 5 + contrib/adc/fork | 9 +- contrib/adc/get-rights-and-owner.in-perl | 15 +- contrib/adc/git | 123 +++++ contrib/adc/gl-reflog | 8 +- contrib/adc/hub | 443 +++++++++++++++++ contrib/adc/hub.mkd | 202 ++++++++ contrib/adc/perms | 115 +++++ contrib/adc/pygitolite.py | 77 +++ contrib/adc/rm | 4 +- contrib/adc/set-head | 17 + contrib/adc/who-pushed | 2 +- contrib/autotoc | 35 -- contrib/gerrit.mkd | 2 +- contrib/gitolite-tools.mkd | 2 +- contrib/gitweb/gitweb.conf | 44 ++- contrib/ldap/README.mkd | 6 +- contrib/vim/README.mkd | 2 +- doc/1-INSTALL.mkd | 53 ++- doc/2-admin.mkd | 56 ++- doc/3-faq-tips-etc.mkd | 285 ++---------- doc/CHANGELOG | 22 + doc/admin-defined-commands.mkd | 14 +- doc/big-config.mkd | 14 +- doc/delegation.mkd | 10 +- doc/developer-notes.mkd | 213 ++++++++ doc/gitolite.conf.mkd | 469 ++++++++++++++++++ doc/gitolite.rc.mkd | 62 ++- doc/hook-propagation.mkd | 4 +- doc/http-backend.mkd | 142 +++++-- doc/migrate.mkd | 10 +- doc/mirroring.mkd | 21 +- doc/mob-branches.mkd | 2 +- doc/monkeysphere.mkd | 2 + doc/overkill.mkd | 2 +- doc/packaging.mkd | 2 +- doc/progit-article.mkd | 14 +- doc/report-output.mkd | 19 + doc/shell-games.mkd | 25 +- doc/ssh-troubleshooting.mkd | 42 ++- doc/uninstall.mkd | 2 +- doc/who-uses-it.mkd | 4 +- doc/wildcard-repositories.mkd | 17 +- hooks/common/gl-pre-git.hub-sample | 10 + hooks/common/update | 62 +-- hooks/gitolite-admin/post-update | 8 +- src/gitolite.pm | 776 +++++++++++++++---------= ------ src/gitolite_env.pm | 157 ++++++ src/gitolite_rc.pm | 70 +++ src/gl-auth-command | 235 +++------ src/gl-compile-conf | 141 ++---- src/gl-dont-panic | 17 +- src/gl-easy-install | 16 +- src/gl-install | 33 +- src/gl-mirror-shell | 13 +- src/gl-mirror-sync | 4 +- src/gl-query-rc | 23 + src/gl-setup | 47 ++- src/gl-setup-authkeys | 64 ++-- src/gl-time | 30 +- src/gl-tool | 9 +- src/sshkeys-lint | 6 +- t/README.mkd | 11 +- t/t53-check-info-expand-output | 16 + t/t64-write-able | 11 +- t/t65-rsync | 83 ++++ t/t67-hub | 174 +++++++ t/test-driver.sh | 73 ++-- 72 files changed, 3483 insertions(+), 1542 deletions(-) diff --cc src/gitolite.pm index 7b4bb31,a880037..5f594d2 --- a/src/gitolite.pm +++ b/src/gitolite.pm @@@ -6,44 -41,22 +41,24 @@@ use Data::Dumper $Data::Dumper::Deepcopy =3D 1; $|++; =20 - # this file is commonly used using "require". It is not required to us= e "use" - # (because it doesn't live in a different package) ++use Net::SSH::AuthorizedKeysFile; # To parse the pubkeyfile with option= s etc. + - # warning: preceding para requires 4th attribute of a programmer after - # laziness, impatience, and hubris: sense of humour :-) + # ---------------------------------------------------------------------= ------- + # find the rc file, then pull the libraries + # ---------------------------------------------------------------------= ------- =20 - # WARNING - # ------- - # the name of this file will change as soon as its function/feature set - # stabilises enough ;-) + BEGIN { + die "ENV GL_RC not set\n" unless $ENV{GL_RC}; + die "ENV GL_BINDIR not set\n" unless $ENV{GL_BINDIR}; + } =20 - # right now all it does is - # - define a function that tells you where to find the rc file - # - define a function that creates a new repo and give it our update ho= ok + use lib $ENV{GL_BINDIR}; + use gitolite_rc; =20 # ---------------------------------------------------------------------= ------- - # common definitions + # the big data structures we care about # ---------------------------------------------------------------------= ------- =20 - our $ABRT =3D "\n\t\t***** ABORTING *****\n "; - our $WARN =3D "\n\t\t***** WARNING *****\n "; -=20 - # commands we're expecting - our $R_COMMANDS=3Dqr/^(git[ -]upload-pack|git[ -]upload-archive)$/; - our $W_COMMANDS=3Dqr/^git[ -]receive-pack$/; -=20 - # note that REPONAME_PATT allows "/", while USERNAME_PATT does not - # also, the reason REPONAME_PATT is a superset of USERNAME_PATT is (duh= !) - # because in this version, a repo can have "CREATOR" in the name (see d= ocs) - our $REPONAME_PATT=3Dqr(^\@?[0-9a-zA-Z][0-9a-zA-Z._\@/+-]*$); # very si= mple pattern - our $USERNAME_PATT=3Dqr(^\@?[0-9a-zA-Z][0-9a-zA-Z._\@+-]*$); # very si= mple pattern - # same as REPONAME, but used for wildcard repos, allows some common reg= ex metas - our $REPOPATT_PATT=3Dqr(^\@?[0-9a-zA-Z[][\\^.$|()[\]*+?{}0-9a-zA-Z._\@/= -]*$); - # ADC commands and arguments must match this pattern - our $ADC_CMD_ARGS_PATT=3Dqr(^[0-9a-zA-Z._\@/+:-]*$); -=20 - # these come from the RC file - our ($REPO_UMASK, $GL_WILDREPOS, $GL_PACKAGE_CONF, $GL_PACKAGE_HOOKS, $= REPO_BASE, $GL_CONF_COMPILED, $GL_BIG_CONFIG, $GL_PERFLOGT, $PROJECTS_LIS= T, $GL_ALL_INCLUDES_SPECIAL, $GL_SITE_INFO, $GL_GET_MEMBERSHIPS_PGM, $GL_= WILDREPOS_PERM_CATS); our %repos; our %groups; our %git_configs; @@@ -828,18 -875,12 +877,18 @@@ sub setup_authkey # may not be passed; so make sure it's a valid hashref, even if emp= ty $user_list_p =3D {} unless $user_list_p; =20 - # CONSTANTS + # LOCAL CONSTANTS =20 # command and options for authorized_keys + my @AUTH_OPTIONS_PRESERVE =3D ( "from" ); + my %AUTH_OPTIONS =3D ( + "no-port-forwarding" =3D> 1, + "no-X11-forwarding" =3D> 1, + "no-agent-forwarding" =3D> 1, + "no-pty" =3D> 1, + ); - my $AUTH_COMMAND=3D"$bindir/gl-auth-command"; - $AUTH_COMMAND=3D"$bindir/gl-time $bindir/gl-auth-command" if $GL_PE= RFLOGT; + my $AUTH_COMMAND=3D"$ENV{GL_BINDIR}/gl-auth-command"; + $AUTH_COMMAND=3D"$ENV{GL_BINDIR}/gl-time $ENV{GL_BINDIR}/gl-auth-co= mmand" if $GL_PERFLOGT; - my $AUTH_OPTIONS=3D"no-port-forwarding,no-X11-forwarding,no-agent-f= orwarding,no-pty"; =20 # START =20