Setting EPICS_CA_NAME_SERVERS causes a CA client to open a TCP connection to the given list of servers and to use those sockets for name resolution. If a server is actually an IOC, the same TCP circuit will be reused for all default priority data connections to that IOC, but the IOC is never actually sent the user or host names by the client, so they appear empty in the output from casr. The names are mainly used by the CA Access Security subsystem.
Setting EPICS_CA_NAME_SERVERS might thus a nice way to limit CA clients to connect to a small set of IOCs, but doing so doesn't permit access security to be used properly.
I tested this by starting a softIoc on my workstation tux, then running camonitor thusly:
tux$ EPICS_CA_NAME_SERVERS='tux' camonitor <pv-name>
Run 'casr 1' on the iocsh console to see the client's host and user-name.
Adding a '-p 10' argument to camonitor causes it to create a new TCP circuit for the data, which *does* have the user and host names. Doing this causes the name resolution TCP circuit to be shown as V4.0, so I wonder if whatever mechanism causes the minor version number to be sent might also be able to be used to send the user and host names.
Setting EPICS_CA_ NAME_SERVERS causes a CA client to open a TCP connection to the given list of servers and to use those sockets for name resolution. If a server is actually an IOC, the same TCP circuit will be reused for all default priority data connections to that IOC, but the IOC is never actually sent the user or host names by the client, so they appear empty in the output from casr. The names are mainly used by the CA Access Security subsystem.
Setting EPICS_CA_ NAME_SERVERS might thus a nice way to limit CA clients to connect to a small set of IOCs, but doing so doesn't permit access security to be used properly.
I tested this by starting a softIoc on my workstation tux, then running camonitor thusly: NAME_SERVERS= 'tux' camonitor <pv-name>
tux$ EPICS_CA_
Run 'casr 1' on the iocsh console to see the client's host and user-name.
Adding a '-p 10' argument to camonitor causes it to create a new TCP circuit for the data, which *does* have the user and host names. Doing this causes the name resolution TCP circuit to be shown as V4.0, so I wonder if whatever mechanism causes the minor version number to be sent might also be able to be used to send the user and host names.