Showing with 3,998 additions and 4,461 deletions.
  1. +3 −6 .fixtures.yml
  2. +5 −1 .gitignore
  3. +76 −97 .travis.yml
  4. +11 −0 CHANGELOG
  5. +47 −0 CONTRIBUTING.md
  6. +32 −23 Gemfile
  7. +124 −499 README.md
  8. +706 −0 REFERENCE.md
  9. +14 −8 Rakefile
  10. +30 −0 data/os/Debian/7.yaml
  11. +30 −0 data/os/Debian/8.yaml
  12. +29 −0 data/os/RedHat/5.yaml
  13. +49 −0 data/os/RedHat/6.yaml
  14. +51 −0 data/os/RedHat/7.yaml
  15. +27 −0 data/os/Solaris/5.10.yaml
  16. +24 −0 data/os/Solaris/5.11.yaml
  17. +28 −0 data/os/Solaris/5.9.yaml
  18. +23 −0 data/os/Suse/10.yaml
  19. +24 −0 data/os/Suse/11.yaml
  20. +26 −0 data/os/Suse/12.yaml
  21. +29 −0 data/os/Suse/13.yaml
  22. +23 −0 data/os/Suse/9.yaml
  23. +31 −0 data/os/Ubuntu/12.04.yaml
  24. +33 −0 data/os/Ubuntu/14.04.yaml
  25. +32 −0 data/os/Ubuntu/16.04.yaml
  26. +54 −0 examples/hiera/vas/RedHat-6-vas3.yaml
  27. +54 −0 examples/hiera/vas/RedHat-6-vas4.yaml
  28. +56 −0 examples/hiera/vas/RedHat-7-vas4.yaml
  29. +60 −0 examples/hiera/vas/Solaris-5.10.yaml
  30. +19 −0 examples/hiera/vas/Suse-10.yaml
  31. +20 −0 examples/hiera/vas/Suse-11.yaml
  32. +22 −0 examples/hiera/vas/Suse-12.yaml
  33. +25 −0 examples/hiera/vas/Ubuntu-12.04.yaml
  34. +25 −0 examples/hiera/vas/Ubuntu-14.04.yaml
  35. +27 −0 examples/hiera/vas/Ubuntu-16.04.yaml
  36. +14 −0 hiera.yaml
  37. +54 −11 manifests/accesslogin.pp
  38. +320 −1,613 manifests/init.pp
  39. +57 −43 manifests/limits.pp
  40. +28 −21 manifests/limits/fragment.pp
  41. +29 −8 manifests/service.pp
  42. +4 −5 metadata.json
  43. +86 −0 spec/acceptance/00_pam_spec.rb
  44. +20 −0 spec/acceptance/nodesets/centos-6.yml
  45. +20 −0 spec/acceptance/nodesets/centos-7.yml
  46. +25 −0 spec/acceptance/nodesets/debian-8.yml
  47. +20 −0 spec/acceptance/nodesets/default.yml
  48. +22 −0 spec/acceptance/nodesets/ubuntu-1404.yml
  49. +20 −0 spec/acceptance/nodesets/ubuntu-1604.yml
  50. +147 −157 spec/classes/accesslogin_spec.rb
  51. +379 −848 spec/classes/init_spec.rb
  52. +187 −358 spec/classes/limits_spec.rb
  53. +85 −169 spec/defines/limits/fragment_spec.rb
  54. +98 −56 spec/defines/service_spec.rb
  55. +0 −5 spec/fixtures/pam_common_account.vas.suse10
  56. +0 −7 spec/fixtures/pam_common_account.vas.ubuntu1204
  57. +0 −7 spec/fixtures/pam_common_account.vas.ubuntu1404
  58. +0 −7 spec/fixtures/pam_common_account.vas.ubuntu1604
  59. +0 −5 spec/fixtures/pam_common_account_pc.vas.suse11
  60. +0 −5 spec/fixtures/pam_common_account_pc.vas.suse12
  61. +0 −6 spec/fixtures/pam_common_auth.vas.suse10
  62. +0 −6 spec/fixtures/pam_common_auth.vas.ubuntu1204
  63. +0 −6 spec/fixtures/pam_common_auth.vas.ubuntu1404
  64. +0 −7 spec/fixtures/pam_common_auth.vas.ubuntu1604
  65. +0 −6 spec/fixtures/pam_common_auth_pc.vas.suse11
  66. +0 −6 spec/fixtures/pam_common_auth_pc.vas.suse12
  67. +0 −9 spec/fixtures/pam_common_noninteractive_session.vas.ubuntu1204
  68. +0 −9 spec/fixtures/pam_common_noninteractive_session.vas.ubuntu1404
  69. +0 −10 spec/fixtures/pam_common_noninteractive_session.vas.ubuntu1604
  70. +0 −6 spec/fixtures/pam_common_password.vas.suse10
  71. +0 −7 spec/fixtures/pam_common_password.vas.ubuntu1204
  72. +0 −7 spec/fixtures/pam_common_password.vas.ubuntu1404
  73. +0 −7 spec/fixtures/pam_common_password.vas.ubuntu1604
  74. +0 −6 spec/fixtures/pam_common_password_pc.vas.suse11
  75. +0 −6 spec/fixtures/pam_common_password_pc.vas.suse12
  76. +0 −6 spec/fixtures/pam_common_session.vas.suse10
  77. +0 −9 spec/fixtures/pam_common_session.vas.ubuntu1204
  78. +0 −9 spec/fixtures/pam_common_session.vas.ubuntu1404
  79. +0 −10 spec/fixtures/pam_common_session.vas.ubuntu1604
  80. 0 ...mon_noninteractive_session.defaults.debian7 → pam_common_session_noninteractive.defaults.debian7}
  81. 0 ...mon_noninteractive_session.defaults.debian8 → pam_common_session_noninteractive.defaults.debian8}
  82. 0 ...ninteractive_session.defaults.ubuntu1204 → pam_common_session_noninteractive.defaults.ubuntu1204}
  83. 0 ...ninteractive_session.defaults.ubuntu1404 → pam_common_session_noninteractive.defaults.ubuntu1404}
  84. 0 ...ninteractive_session.defaults.ubuntu1604 → pam_common_session_noninteractive.defaults.ubuntu1604}
  85. +0 −7 spec/fixtures/pam_common_session_pc.vas.suse11
  86. +0 −9 spec/fixtures/pam_common_session_pc.vas.suse12
  87. +0 −66 spec/fixtures/pam_conf.vas.solaris10
  88. +0 −27 spec/fixtures/pam_conf.vas.solaris9
  89. +0 −23 spec/fixtures/pam_other.vas.solaris11
  90. +0 −17 spec/fixtures/pam_other.vas.suse9
  91. +0 −33 spec/fixtures/pam_password_auth_ac.vas.el6
  92. +0 −34 spec/fixtures/pam_password_auth_ac.vas.el7
  93. +0 −31 spec/fixtures/pam_system_auth_ac.vas.el5
  94. +0 −32 spec/fixtures/pam_system_auth_ac.vas.el6
  95. +0 −33 spec/fixtures/pam_system_auth_ac.vas.el7
  96. +8 −0 spec/hiera.yaml
  97. +450 −1 spec/spec_helper.rb
  98. +13 −0 spec/spec_helper_acceptance.rb
  99. +2 −16 templates/access.conf.erb
  100. +1 −1 templates/{common-account-pc.erb → common_account.erb}
  101. +1 −1 templates/{common-auth-pc.erb → common_auth.erb}
  102. +1 −1 templates/{common-password-pc.erb → common_password.erb}
  103. +1 −1 templates/{common-session-pc.erb → common_session.erb}
  104. +5 −0 templates/common_session_noninteractive.erb
  105. +1 −1 templates/login.el5.erb
  106. +4 −4 templates/{pam.conf.erb → other.erb}
  107. +0 −22 templates/password-auth-ac.erb
  108. +22 −0 templates/password_auth.erb
  109. +4 −4 templates/{system-auth-ac.erb → system_auth.erb}
  110. +1 −0 templates/unit_tests.erb
9 changes: 3 additions & 6 deletions .fixtures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@ fixtures:
repositories:
stdlib:
repo: 'https://github.com/puppetlabs/puppetlabs-stdlib.git'
ref: '4.6.0'
common:
repo: 'https://github.com/ghoneycutt/puppet-module-common.git'
ref: 'v1.4.1'
ref: '4.22.0'
nsswitch:
repo: 'https://github.com/ghoneycutt/puppet-module-nsswitch.git'
ref: 'v1.5.0'
repo: 'https://github.com/trlinkin/puppet-nsswitch.git'
ref: '2.0.0'
symlinks:
pam: "#{source_dir}"
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ spec/reports
test/tmp
test/version_tmp
tmp
Gemfile.lock

# YARD artifacts
.yardoc
Expand All @@ -31,4 +32,7 @@ doc/
coverage/
spec/fixtures/manifests/*
spec/fixtures/modules/*
Gemfile.lock
log/

# Vagrant
.vagrant/*
173 changes: 76 additions & 97 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,110 +1,89 @@
---
language: ruby

rvm:
- 1.8.7
- 1.9.3
- 2.0.0
- 2.1.9
- 2.3.1
bundler_args: --without system_tests development

env:
matrix:
- PUPPET_GEM_VERSION="~> 3.1.0"
- PUPPET_GEM_VERSION="~> 3.2.0"
- PUPPET_GEM_VERSION="~> 3.3.0"
- PUPPET_GEM_VERSION="~> 3.4.0"
- PUPPET_GEM_VERSION="~> 3.5.0"
- PUPPET_GEM_VERSION="~> 3.6.0"
- PUPPET_GEM_VERSION="~> 3.7.0"
- PUPPET_GEM_VERSION="~> 3.8.0"
- PUPPET_GEM_VERSION="~> 3" FUTURE_PARSER="yes"
- PUPPET_GEM_VERSION="~> 4.0.0"
- PUPPET_GEM_VERSION="~> 4.1.0"
- PUPPET_GEM_VERSION="~> 4.2.0"
- PUPPET_GEM_VERSION="~> 4.3.0"
- PUPPET_GEM_VERSION="~> 4.4.0"
- PUPPET_GEM_VERSION="~> 4.5.0"
- PUPPET_GEM_VERSION="~> 4.6.0"
- PUPPET_GEM_VERSION="~> 4.7.0"
- PUPPET_GEM_VERSION="~> 4.8.0"
- PUPPET_GEM_VERSION="~> 4.9.0"
- PUPPET_GEM_VERSION="~> 4.10.0"
- PUPPET_GEM_VERSION="~> 4"
cache: bundler

before_install:
- bundle -v
- rm Gemfile.lock || true
- gem update --system
- gem update bundler
- gem --version
- bundle -v

sudo: false

script: 'SPEC_OPTS="--format documentation" bundle exec rake validate lint spec'
script: 'SPEC_OPTS="--format documentation" bundle exec rake validate lint spec strings:generate reference'

matrix:
fast_finish: true
exclude:
- rvm: 2.0.0
env: PUPPET_GEM_VERSION="~> 3.1.0"
- rvm: 2.1.9
env: PUPPET_GEM_VERSION="~> 3.1.0"
- rvm: 2.1.9
env: PUPPET_GEM_VERSION="~> 3.2.0"
- rvm: 2.1.9
env: PUPPET_GEM_VERSION="~> 3.3.0"
- rvm: 2.1.9
env: PUPPET_GEM_VERSION="~> 3.4.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.0.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.1.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.2.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.3.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.4.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.5.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.6.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.7.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.8.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.9.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4.10.0"
- rvm: 1.9.3
env: PUPPET_GEM_VERSION="~> 4.9.0"
- rvm: 1.9.3
env: PUPPET_GEM_VERSION="~> 4.10.0"
- rvm: 2.0.0
env: PUPPET_GEM_VERSION="~> 4.9.0"
- rvm: 2.0.0
env: PUPPET_GEM_VERSION="~> 4.10.0"
- rvm: 1.8.7
env: PUPPET_GEM_VERSION="~> 4"
- rvm: 1.9.3
env: PUPPET_GEM_VERSION="~> 4"
- rvm: 2.0.0
env: PUPPET_GEM_VERSION="~> 4"
- rvm: 2.3.1
env: PUPPET_GEM_VERSION="~> 3.1.0"
- rvm: 2.3.1
env: PUPPET_GEM_VERSION="~> 3.2.0"
- rvm: 2.3.1
env: PUPPET_GEM_VERSION="~> 3.3.0"
- rvm: 2.3.1
env: PUPPET_GEM_VERSION="~> 3.4.0"
- rvm: 2.3.1
env: PUPPET_GEM_VERSION="~> 3.5.0"
- rvm: 2.3.1
env: PUPPET_GEM_VERSION="~> 3.6.0"
- rvm: 2.3.1
env: PUPPET_GEM_VERSION="~> 3.7.0"
- rvm: 2.3.1
env: PUPPET_GEM_VERSION="~> 3.8.0"
- rvm: 2.3.1
env: PUPPET_GEM_VERSION="~> 3" FUTURE_PARSER="yes"
allow_failures:
- rvm: 2.3.1
include:
- rvm: 2.4.4
env: PUPPET_GEM_VERSION="~> 5"
- rvm: 2.5.1
env: PUPPET_GEM_VERSION="~> 6"
- rvm: 2.4.4
sudo: required
services: docker
env: BEAKER_set="centos-6" BEAKER_PUPPET_COLLECTION=puppet5
bundler_args:
script: bundle exec rake beaker
- rvm: 2.5.1
sudo: required
services: docker
env: BEAKER_set="centos-6" BEAKER_PUPPET_COLLECTION=puppet6
bundler_args:
script: bundle exec rake beaker
- rvm: 2.4.4
sudo: required
services: docker
env: BEAKER_set="centos-7" BEAKER_PUPPET_COLLECTION=puppet5
bundler_args:
script: bundle exec rake beaker
- rvm: 2.5.1
sudo: required
services: docker
env: BEAKER_set="centos-7" BEAKER_PUPPET_COLLECTION=puppet6
bundler_args:
script: bundle exec rake beaker
- rvm: 2.4.4
sudo: required
services: docker
env: BEAKER_set="debian-8" BEAKER_PUPPET_COLLECTION=puppet5
bundler_args:
script: bundle exec rake beaker
- rvm: 2.5.1
sudo: required
services: docker
env: BEAKER_set="debian-8" BEAKER_PUPPET_COLLECTION=puppet6
bundler_args:
script: bundle exec rake beaker
- rvm: 2.4.4
sudo: required
services: docker
env: BEAKER_set="ubuntu-1404" BEAKER_PUPPET_COLLECTION=puppet5
bundler_args:
script: bundle exec rake beaker
- rvm: 2.5.1
sudo: required
services: docker
env: BEAKER_set="ubuntu-1404" BEAKER_PUPPET_COLLECTION=puppet6
bundler_args:
script: bundle exec rake beaker
- rvm: 2.4.4
sudo: required
services: docker
env: BEAKER_set="ubuntu-1604" BEAKER_PUPPET_COLLECTION=puppet5
bundler_args:
script: bundle exec rake beaker
- rvm: 2.5.1
sudo: required
services: docker
env: BEAKER_set="ubuntu-1604" BEAKER_PUPPET_COLLECTION=puppet6
bundler_args:
script: bundle exec rake beaker

notifications:
email: false
11 changes: 11 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,2 +1,13 @@
3.0.0 - 2018-04-30
* Drop support for Puppet 3 and its associated Ruby versions.
* Support Ruby versions that are in the AIO (all-in-one) installer that are shipped with Puppet.
* Use data types and data in module.
* Move $allowed_users from pam class to pam::accesslogin class.
* Rename parameter $pam_d_other_file to $other_file for better matching with other parameter for pam.d/files.
* Rename other parameters
* Remove explicit VAS/QAS support. This can still be done through specify values in Hiera.
* Switch from ghoneycutt/nsswitch to Approved module trlinkin/nsswitch.
* Remove dependency on ghoneycutt/common.

2.0.0 - 2013-05-16 Garrett Honeycutt <code@garretthoneycutt.com>
* Rebirth of ghoneycutt/pam
47 changes: 47 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Contribution Guidelines

## Tests

- Pull requests that add any additional functionality should have
tests which cover the new feature to ensure it does what is
expected.
- Pull requests with failing tests will not be merged.

## Features

- Keep feature based PRs as small as possible, with as few commits as
necessary. These are easier to review and will be merged quicker.

## Bug Fixes

- Make sure you reference the issue you're closing with `Fixes #<issue
number>`.

## Commits

- Squash/rebase any commits where possible to reduce the noise in the PR

## Git commits

Reference the issue number, in the format `(GH-###)`.

```
(GH-901) Add support for foo
```

# Release process

1. update version in `metadata.json`
1. run `github_changelog_generator`
1. update `CHANGELOG.md` and change `unreleased` at the top to the
version, such as `v2.0.0`, and change `HEAD` to the same version,
such as `v2.0.0`.
1. Update `REFERENCE.md` with the command `bundle exec rake reference`
1. Commit changes and push to master
1. Tag the new version, such as `git tag -a 'v2.0.0' -m 'v2.0.0'`
1. Push tags `git push --tags`
1. Update the puppet strings documentation with `bundle exec rake strings:gh_pages:update`
1. Clean up tests with `bundle exec rake spec_clean`
1. Remove junit directory from beaker runs `rm -fr junit`
1. Build module with `puppet module build`
1. Upload module to Puppet Forge.
55 changes: 32 additions & 23 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,37 @@ else
gem 'puppet', :require => false
end

gem 'facter', '>= 1.7.0'
gem 'rspec-puppet', '~> 2.0'
gem 'puppet-lint', '~> 2.0'
gem 'puppet-lint-absolute_classname-check'
gem 'puppet-lint-alias-check'
gem 'puppet-lint-empty_string-check'
gem 'puppet-lint-file_ensure-check'
gem 'puppet-lint-file_source_rights-check'
gem 'puppet-lint-leading_zero-check'
gem 'puppet-lint-spaceship_operator_without_tag-check'
gem 'puppet-lint-trailing_comma-check'
gem 'puppet-lint-undef_in_function-check'
gem 'puppet-lint-unquoted_string-check'
gem 'puppet-lint-variable_contains_upcase'
gem 'rake', '~> 10.0'
gem 'json', "~> 1.8.3", :require => false
gem 'json_pure', "~> 1.8.3", :require => false
gem 'metadata-json-lint', :require => false
gem 'puppetlabs_spec_helper', '>= 2.7.0', :require => false
gem 'rspec-puppet', '~> 2.0', :require => false
gem 'puppet-lint', '~> 2.0', :require => false
gem 'puppet-lint-absolute_classname-check', :require => false
gem 'puppet-lint-alias-check', :require => false
gem 'puppet-lint-empty_string-check', :require => false
gem 'puppet-lint-file_ensure-check', :require => false
gem 'puppet-lint-file_source_rights-check', :require => false
gem 'puppet-lint-leading_zero-check', :require => false
gem 'puppet-lint-spaceship_operator_without_tag-check', :require => false
gem 'puppet-lint-trailing_comma-check', :require => false
gem 'puppet-lint-undef_in_function-check', :require => false
gem 'puppet-lint-unquoted_string-check', :require => false
gem 'puppet-lint-variable_contains_upcase', :require => false

gem 'rspec', '~> 2.0' if RUBY_VERSION >= '1.8.7' && RUBY_VERSION < '1.9'
gem 'rake', '~> 10.0' if RUBY_VERSION >= '1.8.7' && RUBY_VERSION < '1.9'
gem 'json', '<= 1.8' if RUBY_VERSION < '2.0.0'
gem 'json_pure', '<= 2.0.1' if RUBY_VERSION < '2.0.0'
gem 'metadata-json-lint', '0.0.11' if RUBY_VERSION < '1.9'
gem 'metadata-json-lint' if RUBY_VERSION >= '1.9'
group :documentation do
gem 'yard', require: false
gem 'redcarpet', require: false
gem 'puppet-strings', require: false
end

gem 'puppetlabs_spec_helper', '2.0.2', :require => false if RUBY_VERSION >= '1.8.7' && RUBY_VERSION < '1.9'
gem 'puppetlabs_spec_helper', '>= 2.0.0', :require => false if RUBY_VERSION >= '1.9'
gem 'parallel_tests', '<= 2.9.0', :require => false if RUBY_VERSION < '2.0.0'
group :system_tests do
gem 'beaker', '~> 4.x', :require => false
gem 'beaker-rspec', :require => false
gem 'beaker-puppet', :require => false
gem 'beaker-docker', :require => false
gem 'serverspec', :require => false
gem 'beaker-puppet_install_helper', :require => false
gem 'beaker-module_install_helper', :require => false
end
Loading