diff options
Diffstat (limited to 'gnu/services/authentication.scm')
| -rw-r--r-- | gnu/services/authentication.scm | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/gnu/services/authentication.scm b/gnu/services/authentication.scm index f7becdfafbc..f1ad1b1afe3 100644 --- a/gnu/services/authentication.scm +++ b/gnu/services/authentication.scm | |||
| @@ -506,19 +506,21 @@ password.") | |||
| 506 | (define pam-ldap-module | 506 | (define pam-ldap-module |
| 507 | #~(string-append #$(nslcd-configuration-nss-pam-ldapd config) | 507 | #~(string-append #$(nslcd-configuration-nss-pam-ldapd config) |
| 508 | "/lib/security/pam_ldap.so")) | 508 | "/lib/security/pam_ldap.so")) |
| 509 | (lambda (pam) | 509 | (pam-extension |
| 510 | (if (member (pam-service-name pam) | 510 | (transformer |
| 511 | (nslcd-configuration-pam-services config)) | 511 | (lambda (pam) |
| 512 | (let ((sufficient | 512 | (if (member (pam-service-name pam) |
| 513 | (pam-entry | 513 | (nslcd-configuration-pam-services config)) |
| 514 | (control "sufficient") | 514 | (let ((sufficient |
| 515 | (module pam-ldap-module)))) | 515 | (pam-entry |
| 516 | (pam-service | 516 | (control "sufficient") |
| 517 | (inherit pam) | 517 | (module pam-ldap-module)))) |
| 518 | (auth (cons sufficient (pam-service-auth pam))) | 518 | (pam-service |
| 519 | (session (cons sufficient (pam-service-session pam))) | 519 | (inherit pam) |
| 520 | (account (cons sufficient (pam-service-account pam))))) | 520 | (auth (cons sufficient (pam-service-auth pam))) |
| 521 | pam))) | 521 | (session (cons sufficient (pam-service-session pam))) |
| 522 | (account (cons sufficient (pam-service-account pam))))) | ||
| 523 | pam))))) | ||
| 522 | 524 | ||
| 523 | (define (pam-ldap-pam-services config) | 525 | (define (pam-ldap-pam-services config) |
| 524 | (list (pam-ldap-pam-service config))) | 526 | (list (pam-ldap-pam-service config))) |
