HomeFreeBSD

libtacplus: Allow additional AV pairs to be configured.

Description

libtacplus: Allow additional AV pairs to be configured.

  • Replace hand-rolled input tokenizer with openpam_readlinev() which supports line continuations and has better quoting and escaping.
  • Simplify string handling by merging struct clnt_str and struct srvr_str into just struct tac_str.
  • Each server entry in the configuration file can now have up to 255 AV pairs which will be appended to the ones returned by the server in response to a successful authorization request.

This allows nss_tacplus(8) to be used with servers which do not provide identity information beyond confirming the existence of the user.

This adds a dependency on libpam, however libtacplus is currently only used by pam_tacplus(8) (which is already always used with libpam) and the very recently added nss_tacplus(8) (which is extremely niche). In the longer term it might be a good idea to split this out into a separate library.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: pauamma_gundo.com, markj
Differential Revision: https://reviews.freebsd.org/D40285
Relnotes: yes

(cherry picked from commit 21850106fdda5269bc881f0e62839dff3d9edf47)

Details

Provenance
desAuthored on Jun 13 2023, 4:04 PM
Reviewer
pauamma_gundo.com
Differential Revision
D40285: libtacplus: Allow additional AV pairs to be configured.
Parents
rG96fabd5cbc32: Add nss_tacplus, a TACACS+ NSS module.
Branches
Unknown
Tags
Unknown