From 3347f080115b0fde3baa88056d9e92a892536644 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Mon, 7 Oct 2013 20:19:07 +0200 Subject: [PATCH] Differenciate R and W access to repo --- hooks/gl-pre-git | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hooks/gl-pre-git b/hooks/gl-pre-git index 2a2b69f..ee29bec 100755 --- a/hooks/gl-pre-git +++ b/hooks/gl-pre-git @@ -19,6 +19,9 @@ log DEBUG, "Connection to $ENV{GL_REPO} from $ip"; exit 0 if ($ENV{GL_REPO} !~ /^2[0-9]{3}\/.+\/.+/); +my $read = ($ARGV[0] =~ /R/); +my $write = ($ARGV[0] =~ /W/); + say "Votre IP est : $ip."; $ip = Net::IP->new($ip) or die ("IP invalide"); @@ -27,7 +30,8 @@ my $schoolnetwork = Net::IP->new('10.41.0.0/16'); if ($ip->overlaps($schoolnetwork) != $IP_A_IN_B_OVERLAP) { - log ERROR, "Vous n'êtes pas autorisé à envoyer vos modifications depuis cette IP."; + log ERROR, "Vous n'êtes pas autorisé à envoyer vos modifications depuis cette IP." if ($write); + log ERROR, "Vous n'êtes pas autorisé à accéder à ce dépôt depuis cette IP." if ($read); exit 1; } @@ -35,7 +39,8 @@ my $sshnetwork = Net::IP->new('10.41.253.0/24'); if ($ip->overlaps($sshnetwork) == $IP_A_IN_B_OVERLAP) { - log ERROR, "Vous n'êtes pas autorisé à envoyer vos modifications depuis cette IP."; + log ERROR, "Vous n'êtes pas autorisé à envoyer vos modifications depuis cette IP." if ($write); + log ERROR, "Vous n'êtes pas autorisé à accéder à ce dépôt depuis cette IP." if ($read); exit 1; }