Setting EPICS_CA_NAME_SERVERS creates an anonymous client TCP circuit
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EPICS Base |
Fix Released
|
Low
|
mdavidsaver |
Bug Description
Setting EPICS_CA_
Setting EPICS_CA_
I tested this by starting a softIoc on my workstation tux, then running camonitor thusly:
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.
description: | updated |
description: | updated |
Changed in epics-base: | |
status: | New → Confirmed |
Changed in epics-base: | |
status: | Fix Committed → Fix Released |
The issue is that the decision to send the user+host names is condition on "CA_V41 ( this->minorProt ocolVersion )" in tcpiiu: :userNameSetReq uest() which is called from the tcpiiu ctor. In the case of TCP name servers, the server proto version isn't known when tcpiiu is constructed.
A fix might be to immediately send the client version, then wait for the server version before deciding to send the user+host. Of course I may be assuming details of CA rev. 0 which aren't correct.
Alternately we could deprecate CA rev. 0...