-
Notifications
You must be signed in to change notification settings - Fork 41
WIP: pvxput JSON and CLI testing framework #78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
| #ifndef REALMAIN | ||
| # define REALMAIN main | ||
| #endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: instead of requiring this plumbing, would it make sense to move the implementation into a separate object file (or even into the pvxs library, this way people could "exec" into pvxput with a simple function call) and have int main(int argc, char **argv) { return pvxput(argc, argv); }?
That seems easier to understand/maintain, and removes the need for macros and to include a .cpp file into the test.
…hn documentation (epics-base#78) * "Add LDAP and Kerberos quick start guides with detailed SPVA documentation updates and certificate management improvements. Corrected terminology in authenticator-related code and adjusted supervisord config to run as root." * "Remove unused CSS styles and redundant imports from style.css" * "Add normalize.css, update SPVA documentation with LDAP-specific configurations and syntax fixes" * "Revamp LDAP Authenticator Quick Start: enhanced clarity, streamlined instructions, and updated containerized setup with PVXS examples for streamlined deployment." * "Remove unused CSS styles and normalize.css import from documentation styling." * "Set default DOCKER_USERNAME to 'georgeleveln' in multiple Dockerfiles" * "Replace `--no-cache` with `--pull` in Docker build scripts to ensure fetching the latest base image versions." * "Remove explicit username from 'docker login' command in build scripts" * "Fix Dockerfile issues by reordering CONFIG_SITE.local setup and PVXS rebuild steps for both spva_ldap and spva_krb configurations." * "Standardize numbering format in documentation and add build-all.sh script for Docker example" * "Update terminology in documentation: abbreviate authenticator names and fix typo in 'Standard Authenticator'" * "Add Material Icons, improve SPVA documentation with icons and formatting, and introduce enhanced step-by-step guides" * "Refactor documentation, glossary, and authenticator setup for clarity and consistency. - Standardized formatting using monospaced syntax (``...``) for technical terms and variables across multiple files. - Updated terms for concise naming (e.g., 'Cert Management', 'AuthN/AuthZ'). - Enhanced explanations in the glossary for PKCS#12, SKID, and Kerberos concepts. - Reordered Makefile inclusions for cleaner conditional authenticator handling. - Revised Secure PVAccess authentication/authorization docs with improved detail on settings and methods. - Added comprehensive guidance for environment variables and custom authenticator integration." * "Expand SPVA quickstart documentation to include detailed Kerberos setup: Added steps for installing and configuring KDC, kadmin, Kerberos users, rebuilding pvxs, creating keytabs, certificates, and securing client/server communication with TLS." * `Update LDAP quick start documentation: Add setup, configuration, and service instructions for LDAP, SSSD, and PVAccess with TLS and certificates.` * "Update SPVA Quickstart LDAP docs: add LDAP config verification steps, renumber sections, and enhance client/softioc examples." * Issue epics-base#67 : Disambiguate CA from Certificate Authority throughout examples and code - Replaced "Root CA" references with "Root Certificate Authority" across documentation and code for clarity. - Updated configuration options and environment variables to consistently reflect the "Certificate Authority" terminology. - Renamed variables, functions, and file paths for keychain files from "CA" to "CERT_AUTH". - Adjusted instructions and comments to align with the new naming conventions. - Improved documentation for PVACertificateStatus and OCSP response creation functionality. * Issue epics-base#67 : Disambiguate CA from Certificate Authority throughout examples and code "Add --no-cache flag to Docker build commands in all build scripts to ensure fresh image creation." * Revert libevent submodule pointer to commit 112421c8fa4840acd73502f2ab6a674fc025de37 * Issue epics-base#58 : Print out the values used for PVACMS on startup - Updated environment variable names for consistency (e.g., `EPICS_PVA_AUTH_STD_ORG` → `EPICS_PVA_AUTH_ORGANIZATION`). - Standardized configuration definitions and added `updateDefs` methods across authentication modules (std, krb, ldap, cms) to consolidate updates. - Enhanced logging of "effective configuration" during runtime for easier debugging and transparency. - Improved formatting and output for PVACMS certificate management service details. - Added missing includes and refined comments/documentation for clarity. - Adjusted documentation and style for alignment with changes. * Issue epics-base#58 : Print out the values used for PVACMS on startup "Refactor to standardize code formatting across multiple modules, including function signatures, parameter spacing, and line alignment." * "Issue epics-base#58 : Print out the values used for PVACMS on startup Mark AuthNLdap and related classes as `final`, add enhanced configuration methods, placeholders, and help text for LDAP authenticator, and document additional environment variable handling for PVACMS and Kerberos." * "Issue epics-base#58 : Print out the values used for PVACMS on startup Update PVACMS documentation with detailed certificate management configuration, updated keychain file paths, and service metadata." * "Issue epics-base#58 : Print out the values used for PVACMS on startup Enhance LDAP and Kerberos authentication documentation and configuration. Added detailed parameter tables and clarified usage for authnldap and authnkrb tools. Improved examples and corrected formatting issues in docs and code comments." * "Issue epics-base#58 : Remove default “EPICS.ORG” from help text of authnkrb Remove default 'EPICS.ORG' realm from Kerberos configuration and help text. Add dynamic realm fetching from Kerberos ticket if unset. Enhance documentation for authnldap and authnkrb tools, including detailed parameter tables, improved examples, and fixed formatting inconsistencies in docs and comments." * "Issue epics-base#64 : Remove default “EPICS.ORG” from help text of authnkrb Remove default 'EPICS.ORG' realm from Kerberos configuration and help text. Add dynamic realm fetching from Kerberos ticket if unset. Enhance documentation for authnldap and authnkrb tools, including detailed parameter tables, improved examples, and fixed formatting inconsistencies in docs and comments." * "Issue epics-base#64 : Remove default “EPICS.ORG” from help text of authnkrb Clarify behavior for `--realm` option: default to ticket-derived realm if unspecified."
YAJL Added in Base 3.15
f931113 to
19beb69
Compare
The start of a longer term project to make pvxget and friends into suitable replacements for pvget et. al. from pvAccessCPP.
Adds JSON parsing for pvxput (breaks support for Base 3.14). Provisionally expose parsing as public API with
pvxs/json.h.Replace usage of
getopt()with more portable and unit-testable argument parsing. Leverage this to allow unit-testing of pvxput.