blob: da97a79fa94a72bacbd050d388fcf828aeb96227 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# AGENTS.md
## Project purpose
NSS plugin (`libnss_tacplus.so`) that resolves `getpwnam` lookups for TACACS+-authenticated users that have no local `/etc/passwd` entry. Maps remote TACACS+ users onto the local `tacacs0..15` stub accounts and pulls home/uid/gid via `libtacplus-map`. Used together with `libpam-tacplus` for full TACACS+ login flow on VyOS.
## Tech stack
- C, GNU autotools (`configure.ac`, `Makefile.am`, `aclocal.m4`).
- Debian packaging in `debian/` (debhelper >= 9, autotools-dev, `libtac-dev`, `libtacplus-map-dev`, `libaudit-dev`, `libpam-tacplus-dev`).
- License: GPL-2.0 (per `COPYING`).
## Build / test / run
```sh
./auto.sh # autoreconf (generates./configure)
./configure
make
sudo make install # installs libnss_tacplus.so + tacplus_nss.conf
dpkg-buildpackage -us -uc # debian package build
```
No in-tree test suite — exercised end-to-end on a VyOS image via `pam_tacplus` login.
## Repository layout
- `nss_tacplus.c`, `nss_tacplus.h` — NSS module entry points.
- `tacplus_nss.conf`, `tacplus_nss.conf.5` — config file + man page.
- `debian/` — Debian packaging.
## Cross-repo context
Pre-dep of the `vyos-1x` runtime auth stack. Built via the internal build-packages workflow and shipped in the ISO from `vyos/vyos-build`. Calls into `libtacplus-map` (mapping helper) and the `libtac` library produced by `libpam-tacplus`. Companion repos: `libpam-tacplus`, `libtacplus-map`, `libnss-mapuser`, `libpam-radius-auth`.
## Conventions
- Default branch `master` (forked from `daveolson53/libnss-tacplus`).
- Commit / PR title format: `component: T12345: description` (Phorge task ID at https://vyos.dev) — enforced if PR-message workflow is added later. No workflow files currently in `.github/workflows/`.
- Treat as upstream-vendored: keep diffs against fork minimal; new functionality belongs in `libtacplus-map` or `libpam-tacplus`.
## Notes for future contributors
- README is upstream's `libnss_tacplus v1.0.1` text (June 2016) — do not assume it documents VyOS-specific patches.
- Outbound webhook to `hooks.zapier.com` is configured at the repo level (audit baseline 2026-04-18).
- LTS-only changes go to `sagitta`/`circinus`/`equuleus` branches if/when created; today only `master` exists.
|