Created by mdavidsaver and last modified

An incomplete attempt to allow CA to transport, and RSRV to use, identifying information in addition to the presently provided user and host strings.

Takes advantage of the fact that present CA server implementations treat user and host messages as null terminated strings, thus ignoring anything after the null. This can be used to transport arbitrary tokens up to EPICS_CA_MAX_ARRAY_BYTES in length.

Also introduces a framework for RSRV to process this information. A stub is added to libca which reads and send a base64 encoded blob from the environment.

Future work must include real token handling in libca with a way to refresh/replace the token of a running process. Also, RSRV must be able to handle tokens which expire. Also, something must be done with PCAS.

Get this branch:
bzr branch lp://staging/~epics-core/epics-base/caserver-id-plugin
Members of EPICS Core Developers can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

EPICS Core Developers

Recent revisions

12524. By mdavidsaver


12523. By mdavidsaver

libca: take ident string from environment

12522. By mdavidsaver

base64 encode/decode

12521. By mdavidsaver

libca: allow extra id information to be set manually.

12520. By mdavidsaver

rsrv: Add identification plugin interface

Add a plugin interface to allow mangling of the
username and hostname provided by the client
before it is passed to Access Security.
Also allow extra information to be passed
in the host and user messages.

12519. By mdavidsaver

rsrv: host/user names must be null terminated

12518. By mdavidsaver

add epicsStrNLen()

Base currently requires only POSIX 2001 while
strnlen() is part of POSIX 2008.

12517. By Andrew Johnson

makeBaseApp tempplate: OPT settings

Eric suggested mentioning the HOST_OPT and CROSS_OPT settings
in the application template's configure/CONFIG_SITE file.

12516. By Andrew Johnson

epicsTypes.h: Don't use C99 types

The __STDC_VERSION__ >= 199901L test never succeeds
in C++, and there were issues with the epicsInt8
definition anyway (int8_t is signed, but char might
not be).

I also removed the epicsBoolean enum which we never use.

12515. By mdavidsaver

rsrv: better error msg when listen() fails

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.