summaryrefslogtreecommitdiff
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-04-28 23:22:48 +0300
committerYuriy Andamasov <yuriy@vyos.io>2026-04-28 23:22:48 +0300
commit9167de3f9b8dca3bbb8e2ac5fa92f679cca62092 (patch)
treeafe1c0e6cd34e7232d7848aa6d64163dfe2a37b8 /CLAUDE.md
parente76a062b8d0991007dadd2c1f900bf7e76cf70b3 (diff)
downloadlibtacplus-map-9167de3f9b8dca3bbb8e2ac5fa92f679cca62092.tar.gz
libtacplus-map-9167de3f9b8dca3bbb8e2ac5fa92f679cca62092.zip
general: T8595: add CLAUDE.md
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md51
1 files changed, 51 insertions, 0 deletions
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.