Archived
1
0

Differenciate R and W access to repo

This commit is contained in:
Mercier Pierre-Olivier 2013-10-07 20:19:07 +02:00
parent ad9c91497c
commit 3347f08011

View File

@ -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;
}