1 |
unnilennium |
1.1 |
diff -Nur smeserver-gitweb-1.0.0.old/root/etc/e-smith/templates/etc/gitweb.conf/60ExportAuthHook smeserver-gitweb-1.0.0/root/etc/e-smith/templates/etc/gitweb.conf/60ExportAuthHook |
2 |
|
|
--- smeserver-gitweb-1.0.0.old/root/etc/e-smith/templates/etc/gitweb.conf/60ExportAuthHook 2016-06-22 13:57:51.369000000 -0400 |
3 |
|
|
+++ smeserver-gitweb-1.0.0/root/etc/e-smith/templates/etc/gitweb.conf/60ExportAuthHook 2016-06-22 14:00:02.811000000 -0400 |
4 |
|
|
@@ -129,9 +129,16 @@ |
5 |
|
|
|
6 |
|
|
# See who the effective users are for this repository. The AccountsDB needs |
7 |
|
|
# to have world read permissions to allow this to work. |
8 |
|
|
- my $effective_pull_users = $git_db->effective_users_list_from( $properties\{'pull_groups'\}, |
9 |
|
|
- $properties\{'pull_users'\} ); |
10 |
|
|
- if( grep( /^@http_digest[0]$/, split( / / , $effective_pull_users ) ) ) \{ |
11 |
|
|
+ my @pulled_user_groups; |
12 |
|
|
+ for my $ggroup (split(',',$properties\{'pull_groups'\})) |
13 |
|
|
+ \{ |
14 |
|
|
+ my ($name,$passwd,$gid,$members)=getgrnam($ggroup); |
15 |
|
|
+ push @pulled_user_groups , split(' ',$members); |
16 |
|
|
+ \} |
17 |
|
|
+ push @pulled_user_groups, split(',',$properties\{'pull_users'\}); |
18 |
|
|
+ @pulled_user_groups = do \{ my %seen; grep \{ !$seen\{$_\}++ \} @pulled_user_groups \}; |
19 |
|
|
+ |
20 |
|
|
+ if( grep( /^@http_digest[0]$/, @pulled_user_groups ) ) \{ |
21 |
|
|
# USER IN AUTHORISED LIST -> CHECK PASSWORD |
22 |
|
|
if( trypass( @http_digest[0], @http_digest[1] ) == 0 ) \{ |
23 |
|
|
return 1; # EXIT USER IS AUTHORISED -> REPOSITORY VIEW ALLOWED |