From 9167de3f9b8dca3bbb8e2ac5fa92f679cca62092 Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Tue, 28 Apr 2026 23:22:48 +0300 Subject: general: T8595: add CLAUDE.md --- CLAUDE.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..6cba9e1 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,51 @@ +# CLAUDE.md + +## Project purpose + +Helper library for local mapping of TACACS+-authenticated users that have no `/etc/passwd` entry. Stores per-session mappings (uid/gid/home) so `libnss-tacplus` can answer `getpwnam` for users that came in via `libpam-tacplus`. Ships `libtacplus-map1` (runtime) and `libtacplus-map-dev` (headers); also includes `dumpmap` (debug tool) and a sudoers fragment. + +## Tech stack + +- C, GNU autotools (`configure.ac`, `Makefile.am`, `auto.sh`). +- Debian packaging in `debian/` (debhelper >= 9, `dh-autoreconf`, `autoconf-archive`, `libaudit-dev`). +- License: GPL-2.0 (per `COPYING`). + +## Build / test / run + +```sh +./auto.sh +make +dpkg-buildpackage -us -uc +``` + +No bundled tests; verified end-to-end via `libnss-tacplus` + `libpam-tacplus` on a VyOS image. + +## Repository layout + +- `map_tacplus_user.c`, `map_tacplus_user.h` — mapping API. +- `dumpmap.c` — diagnostic tool that dumps the active mapping. +- `tacplus.sudo` — sudoers integration snippet. +- `debian/` — packaging. + +## Cross-repo context + +Sits between `libpam-tacplus` (which authenticates the user and creates the mapping) and `libnss-tacplus` (which reads the mapping for NSS lookups). Built via `VyOS-Networks/vyos-build-packages`; consumed by `vyos/vyos-build`. Sibling auth packages: `libnss-mapuser`, `libpam-radius-auth`. + +## Conventions + +- Default branch `master`. +- Commit / PR title format: `component: T12345: description` (Phorge task ID at https://vyos.dev). +- Keep API stable — `libnss-tacplus` and `libpam-tacplus` link against this and are version-coupled. + +## Mirror relationship + +Mirror twin: `VyOS-Networks/libtacplus-map`. Canonical side is here. + +## Notes for future contributors + +- README dates to 2016 (`libtacplus_map v1.0.0`). Tracking patches against the original Cumulus / Dell drop is the maintenance posture, not active development. +- Bump `libtacplus-map1` soname on any ABI change — both `libnss-tacplus` and `libpam-tacplus` build-depend on the dev package. + +--- + +This file is mirrored on Confluence: [`vyos/libtacplus-map`](https://internal.confluence.vyos.com/wiki/spaces/VYOS/pages/818479396). The Confluence page also carries the per-repo audit data (settings, workflows, secret counts, hygiene) that complements this CLAUDE.md. Edit either side; resync via the documentation pipeline. -- cgit v1.2.3 From ef46396e403febe8c33d6bd3f55557c8c3ead700 Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Wed, 29 Apr 2026 19:00:29 +0300 Subject: general: T8595: drop internal Confluence link footer from CLAUDE.md --- CLAUDE.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 6cba9e1..9892db4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -45,7 +45,3 @@ Mirror twin: `VyOS-Networks/libtacplus-map`. Canonical side is here. - README dates to 2016 (`libtacplus_map v1.0.0`). Tracking patches against the original Cumulus / Dell drop is the maintenance posture, not active development. - Bump `libtacplus-map1` soname on any ABI change — both `libnss-tacplus` and `libpam-tacplus` build-depend on the dev package. - ---- - -This file is mirrored on Confluence: [`vyos/libtacplus-map`](https://internal.confluence.vyos.com/wiki/spaces/VYOS/pages/818479396). The Confluence page also carries the per-repo audit data (settings, workflows, secret counts, hygiene) that complements this CLAUDE.md. Edit either side; resync via the documentation pipeline. -- cgit v1.2.3 From af74df9f5a275e0c4bc08eee5a405c6e7d90d753 Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Tue, 5 May 2026 00:26:31 +0300 Subject: general: T8595: add AGENTS.md and .cursorrules symlinks to CLAUDE.md --- .cursorrules | 1 + AGENTS.md | 1 + 2 files changed, 2 insertions(+) create mode 120000 .cursorrules create mode 120000 AGENTS.md diff --git a/.cursorrules b/.cursorrules new file mode 120000 index 0000000..681311e --- /dev/null +++ b/.cursorrules @@ -0,0 +1 @@ +CLAUDE.md \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 120000 index 0000000..681311e --- /dev/null +++ b/AGENTS.md @@ -0,0 +1 @@ +CLAUDE.md \ No newline at end of file -- cgit v1.2.3 From 4569c892afd1d9454beeb8785ac1b91b8760b5ea Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Tue, 5 May 2026 20:22:42 +0300 Subject: general: T8595: add .github/copilot-instructions.md symlink to CLAUDE.md --- .github/copilot-instructions.md | 1 + 1 file changed, 1 insertion(+) create mode 120000 .github/copilot-instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 120000 index 0000000..949a29f --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1 @@ +../CLAUDE.md \ No newline at end of file -- cgit v1.2.3 From e1adf709d45f8f32542d0f9b9819f89ba1b76fd0 Mon Sep 17 00:00:00 2001 From: Yuriy Andamasov Date: Wed, 6 May 2026 10:08:36 +0300 Subject: general: T8595: drop .cursorrules symlink --- .cursorrules | 1 - 1 file changed, 1 deletion(-) delete mode 120000 .cursorrules diff --git a/.cursorrules b/.cursorrules deleted file mode 120000 index 681311e..0000000 --- a/.cursorrules +++ /dev/null @@ -1 +0,0 @@ -CLAUDE.md \ No newline at end of file -- cgit v1.2.3