Skip to content

Commit fa92741

Browse files
authored
Merge pull request #2540 from gerlingsm/fix/authz
Add missing brackets for function call
2 parents 1b90e9c + ac1fe88 commit fa92741

File tree

3 files changed

+50
-1
lines changed

3 files changed

+50
-1
lines changed

spec/acceptance/vhost_spec.rb

+30
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,25 @@ class { 'apache': }
452452
auth_require => 'valid-user',
453453
satisfy => 'Any',
454454
},
455+
{
456+
path => '/var/www/files/authz',
457+
auth_type => 'Basic',
458+
auth_name => 'Basic Auth',
459+
authz_core => {
460+
require_all => {
461+
require_any => {
462+
require => [
463+
'127.0.0.1'
464+
'10.10.10.10'
465+
],
466+
require_all => {
467+
auth_user_file => ['/var/www/htpasswd'],
468+
require => ['valid-user'],
469+
},
470+
},
471+
}
472+
}
473+
},
455474
],
456475
}
457476
file { '/var/www/files/foo':
@@ -463,6 +482,9 @@ class { 'apache': }
463482
file { '/var/www/files/baz':
464483
ensure => directory,
465484
}
485+
file { '/var/www/files/authz':
486+
ensure => directory,
487+
}
466488
file { '/var/www/files/foo/index.html':
467489
ensure => file,
468490
content => "Hello World\\n",
@@ -475,6 +497,10 @@ class { 'apache': }
475497
ensure => file,
476498
content => "Hello World\\n",
477499
}
500+
file { '/var/www/files/authz/index.html':
501+
ensure => file,
502+
content => "Hello World\\n",
503+
}
478504
file { '/var/www/htpasswd':
479505
ensure => file,
480506
content => "login:IZ7jMcLSx0oQk", # "password" as password
@@ -499,6 +525,10 @@ class { 'apache': }
499525
expect(result.stderr).to match(%r{curl: \(22\) The requested URL returned error: 401})
500526
expect(result.exit_code).to eq 22
501527
expect(run_shell('/usr/bin/curl -sSf -u login:password files.example.net:80/baz/index.html').stdout).to eq("Hello World\n")
528+
result = run_shell('/usr/bin/curl -sSf files.example.net:80/authz/index.html', expect_failures: true)
529+
expect(result.stderr).to match(%r{curl: \(22\) The requested URL returned error: 401})
530+
expect(result.exit_code).to eq 22
531+
expect(run_shell('/usr/bin/curl -sSf -u login:password files.example.net:80/authz/index.html').stdout).to eq("Hello World\n")
502532
end
503533
end
504534
end

spec/defines/vhost_spec.rb

+19
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,24 @@
316316
'mellon_cond' => ['isMemberOf "cn=example-access,ou=Groups,o=example,o=com" [MAP]'],
317317
'mellon_session_length' => '300'
318318
},
319+
{
320+
'path' => '/secure',
321+
'provider' => 'location',
322+
'auth_type' => 'Basic',
323+
'authz_core' => {
324+
'require_all' => {
325+
'require_any' => {
326+
'require' => ['user superadmin'],
327+
'require_all' => {
328+
'require' => ['group admins', 'ldap-group "cn=Administrators,o=Airius"'],
329+
},
330+
},
331+
'require_none' => {
332+
'require' => ['group temps', 'ldap-group "cn=Temporary Employees,o=Airius"']
333+
}
334+
}
335+
}
336+
},
319337
],
320338
'error_log' => false,
321339
'error_log_file' => 'httpd_error_log',
@@ -630,6 +648,7 @@
630648
.with_content(%r{^\s+Require valid-user$})
631649
.with_content(%r{^\s+Require all denied$})
632650
.with_content(%r{^\s+Require all granted$})
651+
.with_content(%r{^\s+Require user superadmin$})
633652
.with_content(%r{^\s+<RequireAll>$})
634653
.with_content(%r{^\s+</RequireAll>$})
635654
.with_content(%r{^\s+Require all-valid1$})

templates/vhost/_directories.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@
548548
<%= directory['custom_fragment'] %>
549549
<%- end -%>
550550
<%- if directory['authz_core'] -%>
551-
<%= scope.call_function('epp',["apache/vhost/_authz_core.epp", 'authz_core_config' => scope.call_function('apache::authz_core_config', directory['authz_core'])]) -%>
551+
<%= scope.call_function('epp',["apache/vhost/_authz_core.epp", 'authz_core_config' => scope.call_function('apache::authz_core_config', [ directory['authz_core'] ]) ]) -%>
552552
<%- end -%>
553553
<%- if directory['gssapi'] -%>
554554
<%= scope.call_function('epp',["apache/vhost/_gssapi.epp", directory['gssapi']]) -%>

0 commit comments

Comments
 (0)