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 1QWSLk-0006rH-DC for garchives@archives.gentoo.org; Tue, 14 Jun 2011 12:04:04 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 712941C0F3; Tue, 14 Jun 2011 12:02:37 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 2B2501C0DC for ; Tue, 14 Jun 2011 12:02:37 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B794F1BC018 for ; Tue, 14 Jun 2011 12:02:36 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 298648003C for ; Tue, 14 Jun 2011 12:02:36 +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: <8b70af1f50a4e9b1625863356e007d7988486ab1.idl0r@gentoo> Subject: [gentoo-commits] proj/gitolite-gentoo:master commit in: / X-VCS-Repository: proj/gitolite-gentoo X-VCS-Committer: idl0r X-VCS-Committer-Name: Christian Ruppert X-VCS-Revision: 8b70af1f50a4e9b1625863356e007d7988486ab1 Date: Tue, 14 Jun 2011 12:02:36 +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: 79ac1aca0130043a3822ffc1d60e354a commit: 8b70af1f50a4e9b1625863356e007d7988486ab1 Author: Christian Ruppert gentoo org> AuthorDate: Mon Jun 13 17:14:54 2011 +0000 Commit: Christian Ruppert gentoo org> CommitDate: Mon Jun 13 17:14:54 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gitolite-gent= oo.git;a=3Dcommit;h=3D8b70af1f Merge branch 't/find_pubkeys-function' Conflicts: src/gitolite.pm conf/example.gitolite.rc | 1 + contrib/adc/hub | 55 +++++-- contrib/adc/hub.mkd | 6 + contrib/adc/s3backup | 150 +++++++++++++++++++ contrib/putty.mkd | 248 +++++++++++++++++++++++++= ++++++ contrib/update.detect-dup-pubkeys | 74 +++++++++ contrib/update.email-check | 4 +- doc/1-INSTALL.mkd | 53 ++++--- doc/2-admin.mkd | 4 + doc/CHANGELOG | 14 ++ doc/gitolite-and-ssh.mkd | 7 +- doc/gitolite-without-ssh.mkd | 75 +++++++++ doc/gitolite.conf.mkd | 26 +++- doc/gitolite.rc.mkd | 5 + doc/http-backend.mkd | 12 +- doc/overkill.mkd | 10 ++ doc/report-output.mkd | 8 +- doc/who-uses-it.mkd | 20 ++- hooks/common/post-receive.mirrorpush | 6 +- hooks/common/update | 12 +- hooks/common/update.secondary.sample | 44 ++++++ src/gitolite.pm | 101 ++++++++----- src/gitolite_rc.pm | 7 + src/gl-auth-command | 6 +- src/gl-compile-conf | 53 ++++--- src/gl-easy-install | 5 + src/gl-install | 8 +- src/gl-mirror-shell | 2 + src/gl-setup-authkeys | 30 +++-- src/gl-system-install | 38 +++-- t/install-gitolite | 4 +- t/out/t01-repo-groups.1bs | 8 +- t/out/t01-repo-groups.2 | 4 +- t/out/t02-user-groups.1bs | 6 +- t/out/t02-user-groups.2bs | 6 +- t/rollback.server | 3 +- t/t00-initial | 2 +- t/t04a-wild-all | 6 +- t/t04a-wild-students | 2 +- t/t05a-delegation | 2 +- t/t50-sequence-test | 2 +- t/t53-check-info-expand-output | 2 +- t/t54-repo-configs | 8 +- t/t55-repo-configs-wild-without-CREATOR | 14 +- t/t56-repo-configs-wild-with-CREATOR | 14 +- t/t57-daemon-gitweb | 30 ++-- t/t58-daemon-gitweb-wild | 34 ++-- t/t59-repo-not-on-disk | 10 +- t/t60-daemon-gitweb-via-setperms | 50 +++--- t/t61-setperms-groups | 2 +- t/t62-rule-sequences | 4 +- t/t63-perm-cats | 2 +- t/t64-write-able | 16 +- t/t67-hub | 34 ++++- t/t68-include | 62 ++++++++ t/test-driver.sh | 14 ++- t/update-gitolite | 1 + 57 files changed, 1144 insertions(+), 282 deletions(-) diff --cc conf/example.gitolite.rc index 6b73f34,29272dc..eab1a5d --- a/conf/example.gitolite.rc +++ b/conf/example.gitolite.rc @@@ -35,15 -35,8 +35,16 @@@ $REPO_UMASK =3D 0077 $GL_BIG_CONFIG =3D 0; $GL_NO_DAEMON_NO_GITWEB =3D 0; # $GL_NICE_VALUE =3D 0; + # $BIG_INFO_CAP =3D 20; =20 +# Define which metadata variables shall be exported to the gitolite env= ironment. +# Those variables can be used in hooks, e.g. for cia.vc +# A pubkey file might contain one or more of those variable. +# They can be defined by e.g:"# git-username: idl0r" +# Each '-' (dash) will be replaced by an '_' (underscore). +#@GL_METADATA =3D ( "git-username", "git-email", "git-realname", "git-r= ealname-ascii", "cia-vc-username" ); +#@GL_METADATA_REQUIRED =3D ( "git-username", "git-email", "git-realname= " ); + # ---------------------------------------------------------------------= --------- # VARIABLES WITH A SECURITY IMPACT. READ DOCS BEFORE CHANGING THESE! # http://github.com/sitaramc/gitolite/blob/pu/doc/gitolite.rc.mkd#_vari= ables_with_a_security_impact diff --cc src/gitolite.pm index c6130b7,8fa7c51..1bd4a37 --- a/src/gitolite.pm +++ b/src/gitolite.pm @@@ -908,15 -923,15 +934,15 @@@ sub setup_authkey # add our "start" line, each key on its own line (prefixed by comma= nd and # options, in the standard ssh authorized_keys format), then the "e= nd" line. print $newkeys_fh "# gitolite start\n"; - wrap_chdir($GL_KEYDIR); + my @pubkeys =3D find_pubkeys($GL_KEYDIR); my @not_in_config; # pubkeys exist but users don't appear in the c= onfig file - for my $pubkey (`find . -type f | sort`) - { - chomp($pubkey); $pubkey =3D~ s(^\./)(); + foreach my $pubkey (@pubkeys) { + my $pubkey_name =3D $pubkey; + $pubkey_name =3D~ s(.*/)(); # foo/bar/baz.pub -> baz.pub =20 # security check (thanks to divVerent for catching this) - unless ($pubkey =3D~ $REPONAME_PATT) { + unless ($pubkey_name =3D~ $REPONAME_PATT) { - print STDERR "$pubkey contains some unsavoury characters; i= gnored...\n"; + warn "$pubkey contains some unsavoury characters; ignored..= .\n"; next; } =20 diff --cc src/gl-compile-conf index 8408424,9799841..dcbb062 --- a/src/gl-compile-conf +++ b/src/gl-compile-conf @@@ -424,9 -426,9 +433,9 @@@ sub do_normal_repo unless ($GL_NO_CREATE_REPOS) { unless (-d "$repo.git") { print STDERR "creating $repo...\n"; - new_repo($repo, "$GL_ADMINDIR/hooks/common"); + new_repo($repo, "$GL_ADMINDIR/hooks/common", undef, $re= pos{$repo}{"umask"}); # new_repo would have chdir'd us away; come back - wrap_chdir("$ENV{GL_REPO_BASE_ABS}"); + wrap_chdir($REPO_BASE); } =20 # when repos are copied over from elsewhere, one had to run= easy install