summaryrefslogtreecommitdiff
path: root/AGENTS.md
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@andamasov.com>2026-05-07 14:48:26 +0300
committerYuriy Andamasov <yuriy@andamasov.com>2026-05-07 14:48:26 +0300
commitd37d1ca4b43ddb2ef73dcdc15e3b8205b33f2f76 (patch)
treed2a383752a220bf6bf6868148e6b16f5fc057ecd /AGENTS.md
parent75f9c9365045417c91390da86a23a935ad0000ec (diff)
downloadlibpam-tacplus-d37d1ca4b43ddb2ef73dcdc15e3b8205b33f2f76.tar.gz
libpam-tacplus-d37d1ca4b43ddb2ef73dcdc15e3b8205b33f2f76.zip
general: T8595: switch CLAUDE.md to AGENTS.md (+ Copilot symlink)
Diffstat (limited to 'AGENTS.md')
-rw-r--r--[l---------]AGENTS.md51
1 files changed, 50 insertions, 1 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 681311e..b45dd74 120000..100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1 +1,50 @@
-CLAUDE.md \ No newline at end of file
+# AGENTS.md
+
+## Project purpose
+
+PAM module providing TACACS+ authentication, authorization, and accounting for VyOS logins, plus the `libtac` TACACS+ protocol library and the `tacc` CLI client. Pairs with `libnss-tacplus` (NSS lookups) and `libtacplus-map` (user mapping) to deliver TACACS+ login on VyOS.
+
+## Tech stack
+
+- C, GNU autotools (`configure.ac`, `Makefile.am`, `auto.sh`).
+- Debian packaging in `debian/` (debhelper >= 9, `libpam-dev`, `dh-autoreconf`, `autoconf-archive`, `libaudit-dev`).
+- Builds Debian packages: `libpam-tacplus`, `libpam-tacplus-dev`, `libtac2`, `libtac2-bin`, `libtac-dev`.
+- License: GPL-2.0 (per `COPYING`).
+
+## Build / test / run
+
+```sh
+./auto.sh # autoreconf (generates ./configure)
+./configure
+make
+dpkg-buildpackage -us -uc
+```
+
+`tacc` is a small CLI client useful for manual testing (`tacc.1` man page). No bundled unit tests; Coverity scan badge in README references upstream.
+
+## Repository layout
+
+- `pam_tacplus.c`, `pam_tacplus.h`, `support.c/h` — PAM module.
+- `libtac/` — protocol library (produces `libtac2`).
+- `tacc.c`, `tacc.1` — CLI client.
+- `tacplus_servers`, `tacplus_servers.5`, `Pam.d.common-example`, `sample.pam` — config + examples.
+- `debian/`, `pam_tacplus.spec.in` — packaging.
+
+## Cross-repo context
+
+Authentication building block of the VyOS image. Provides the `libtac` library that `libnss-tacplus` links against, and the PAM module that `libtacplus-map` complements for `/etc/passwd`-less TACACS+ logins. Built via `VyOS-Networks/vyos-build-packages`; consumed by `vyos/vyos-build`.
+
+## Conventions
+
+- Default branch `master`. LTS branches when needed.
+- Commit / PR title format: `component: T12345: description` (Phorge task ID at https://vyos.dev).
+- Treat as upstream-vendored: minimise diffs against the upstream `pam_tacplus`.
+
+## Mirror relationship
+
+Mirror twin: `VyOS-Networks/libpam-tacplus`. Canonical side is here. Note that the VyOS-Networks side has its `git-actions` branch configured as default (audit observation §8.2 of relations doc) — that's not the canonical state.
+
+## Notes for future contributors
+
+- The `libtac/` subdirectory is the TACACS+ protocol library and is shipped as a separately versioned `libtac2` Debian package — bump the soname carefully.
+- README is upstream's; VyOS-specific behaviour is encoded only by the build flags and patches applied here.