Commit Graph
822 Commits
Author SHA1 Message Date
Michael Davidsaver 642168efe1 ipAddrToDottedIP() consistent buffer size
IPv4 + port "XXX.XXX.XXX.XXX:12345" is 4*4 + 5 + 1 == 22

rounding up to 24 for no good reason.
2020-01-16 09:22:23 -08:00
Michael Davidsaver 0fdd3a7079 bind() error msg buffer too small 2020-01-16 09:16:23 -08:00
Michael Davidsaver 7903a736d4 avoid ipAddrToA() 2019-11-24 19:37:08 -08:00
Michael Davidsaver 135bf7265c fully fix AuthorizationRegistry race 2019-10-31 07:43:48 -07:00
Michael Davidsaver 7bc5bc2cbc fix AuthorizationRegistry race
oops.  should only prevent add/remove while iterating,
not concurrent iteration.
2019-10-10 15:12:58 -07:00
Michael Davidsaver f81ebae455 minor log 2019-10-10 15:12:58 -07:00
Michael Davidsaver b24afb9d33 osdGetRoles() avoid fault when gid==0
Attempt to detect misbehaving getgrouplist()
fails when user is actually a member of
group 0 (aka. root).

Instead, fill with (gid_t)-1 which seems less likely
to cause problems if erroneously grant.
2019-09-12 09:32:57 -07:00
Michael Davidsaver 24e83daaba pvac::Monitor::cancel() don't clear data members
Clearing root, overrun, and changed makes it difficult
to avoid a race during an async. cancel (very common).
2019-09-11 18:05:08 -07:00
Michael Davidsaver 03b0121021 server fail to start w/ invalid EPICS_PVAS_INTF_ADDR_LIST 2019-08-20 15:53:06 -07:00
Michael Davidsaver 89bbe09b02 cleanup unused accessors 2019-08-20 15:53:03 -07:00
Michael Davidsaver aafb12f562 SharedPV separate close() and disconnect()
Previously, SharedPV::close() and StaticProvider::close()
would both disconnect all active clients, and put the SharedPV
in a closed (untyped) state.

SharedPV::close() remains unchanged.

StaticProvider::close() now only disconnects Channels created
through it, and leaves SharedPVs in the opened state.
2019-08-20 15:52:59 -07:00
Michael Davidsaver 50de6cc58e remove 3.14 compatibility 2019-08-20 15:52:56 -07:00
Michael Davidsaver 99d66750fb Merge remote-tracking branch 'md/txrxstats'
* md/txrxstats:
  stop testing against Base 3.14
  bytes tx/rx stats per socket and per Operation
2019-08-20 15:52:49 -07:00
Michael Davidsaver a22f866211 mask warnings during shutdown()
On some target (OSX), and interrupted recv() will
return with a a spurious error (EBADF).
2019-07-24 16:08:00 -07:00
Michael Davidsaver badf14c4fa cleanup and quiet warnings 2019-07-15 14:06:06 -07:00
Michael Davidsaver a06c829050 bytes tx/rx stats per socket and per Operation 2019-07-15 14:06:06 -07:00
Michael Davidsaver b06aa1831f minor
disambiguate error messages
2019-07-15 14:03:50 -07:00
Michael Davidsaver 1e9e4bd2a8 BlockingTCPAcceptor drop unused ctor 2019-07-15 14:03:50 -07:00
Michael Davidsaver 34009d2a3a update pvasr 2019-07-15 13:54:36 -07:00
Michael Davidsaver e0dc94a91d always epicsThreadStackBig
on RTEMS at least, c++ code needs the largest standard
stack frame size.
2019-07-15 13:54:36 -07:00
Michael Davidsaver 3a8a24deb3 vxworks fix 2019-06-26 17:02:02 -07:00
Michael Davidsaver fd95f90acc hexDump, now with ascii!
... again
2019-06-26 16:48:31 -07:00
Michael Davidsaver f44dcbfc77 WIN32 fix 2019-06-26 16:48:31 -07:00
mdavidsaverandGitHub 9eb5843def Merge pull request #144 from mdavidsaver/idletimeout
TCP Idle Timeout
2019-06-26 15:57:37 -07:00
Michael Davidsaver 05bf0fc453 CAPlugin handle peer NULL data 2019-06-13 10:52:24 -07:00
Michael Davidsaver 5abfc10a82 really echo this time... 2019-06-12 13:25:35 -07:00
Michael Davidsaver a2c106378a avoid deadlock involving fair_queue<T>::clear()
Avoid destroying items while the queue lock is held.
2019-05-29 11:09:24 -07:00
Michael Davidsaver 6dd1346ace further dead code 2019-05-21 08:54:14 -07:00
Michael Davidsaver 9e05b29f35 Don't clear client _outgoingIR on beacon anomaly
No reason to do this, especially w/o locking.  Outgoing used by
a TCP send thread, beacon anomaly handling on UDP receive thread.

Probably means that anomaly handling never happens...
2019-05-21 08:54:14 -07:00
Michael Davidsaver a6e7d7f5fc Remove dead code
aliveNotification() and unresponsiveTransport() never called.
Remove these, and code only referenced through these methods.
2019-05-21 08:54:14 -07:00
Michael Davidsaver c9bd214f7c client proto v2 2019-05-21 08:54:14 -07:00
Michael Davidsaver 2da60b083e Enable client sending of CMD_ECHO 2019-05-21 08:54:14 -07:00
Michael Davidsaver 8d18b4ca3d PVA server protocol v2
Now with idle timeout!
2019-05-21 08:54:14 -07:00
Michael Davidsaver 111a3dde86 RX timeout
Enable idle timeout if both peers have version>=2.
2019-05-21 08:54:14 -07:00
Michael Davidsaver 79e73ab966 AbstractCodec cleanup 2019-05-21 08:54:14 -07:00
Michael Davidsaver a1af3c2c8e echo content 2019-05-21 08:54:14 -07:00
Michael Davidsaver 0f26f39b5b more de-virt getRevision() 2019-05-21 08:51:01 -07:00
Michael Davidsaver 64453e1f1a split client/server protocol version 2019-05-21 08:51:01 -07:00
Michael Davidsaver 1ea70a302b ignore protocol minor version 0
The change from 0 -> 1 included incompatible changes
to CMD_BEACON and several others.

Ignore any UDP messages (beacon or search),
and disconnect any TCP peers, with version==0.
2019-05-21 08:51:01 -07:00
Michael Davidsaver dfeb9fd5a5 more Troubleshoot "no more data in UDP packet" 2019-05-21 08:51:00 -07:00
Michael Davidsaver ecee708d3a redo hexDump
ludicrously inefficient (cf. toHex() ), and inflexible.
2019-05-21 08:51:00 -07:00
Michael Davidsaver 732fd1f771 Troubleshoot "no more data in UDP packet" 2019-05-21 08:45:50 -07:00
Michael Davidsaver 75befddf46 minor 2019-05-20 17:48:10 -07:00
Michael Davidsaver 3a2a3ac148 remove unused getSocketReceiveBufferSize() 2019-05-20 17:48:10 -07:00
Michael Davidsaver d593462613 yet more osdGetRoles 2019-05-20 17:48:10 -07:00
Michael Davidsaver 0084b6e60a de-virt Transport::getRevision()
Makes clear that this is/was only for TCP,
and eliminate redundant storage.  Also apply
locking to this storage.

Use header version directly in search handler.
Correct as only UDP search is actually used atm.
2019-05-20 17:48:10 -07:00
Michael Davidsaver be1bbe4aa8 const-ness 2019-05-20 17:48:10 -07:00
Michael Davidsaver 32ba2f32d0 avoid deprecated ByteBuffer::getArray()
use identical, but not overloaded, getBuffer()
2019-05-19 14:09:38 -07:00
Michael Davidsaver f9ac164ee7 Revert "try to fix downstream win32 linking"
This reverts commit 4f0c4c46a3.
2019-05-16 18:09:47 -07:00
Michael Davidsaver 4f0c4c46a3 try to fix downstream win32 linking 2019-05-16 14:03:45 -07:00