diff options
| author | Daniil Baturin <daniil@vyos.io> | 2026-05-08 14:29:04 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-08 14:29:04 +0100 |
| commit | 579c649d4d9283f8e6b56bbafa0619932a784969 (patch) | |
| tree | 9c4297075a02305ccea9b0752768bf09bf61714a | |
| parent | 4862ba05290a8bb19728a31909971f28d85554cc (diff) | |
| parent | d9db2273b1ee817e2768994207489e0f1029999f (diff) | |
| download | libnss-tacplus-579c649d4d9283f8e6b56bbafa0619932a784969.tar.gz libnss-tacplus-579c649d4d9283f8e6b56bbafa0619932a784969.zip | |
Merge pull request #6 from vyos/T8595-add-agents-md
general: T8595: add AGENTS.md
| l--------- | .github/copilot-instructions.md | 1 | ||||
| -rw-r--r-- | AGENTS.md | 45 |
2 files changed, 46 insertions, 0 deletions
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 120000 index 0000000..be77ac8 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1 @@ +../AGENTS.md
\ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..da97a79 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,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. |
