Michael Davidsaver
2702e60937
increase TCP timeout to 40 seconds
2021-01-14 18:15:30 -08:00
Michael Davidsaver
d005260017
hackAroundRTEMSSocketInterrupt
2020-11-22 11:58:33 -08:00
Michael Davidsaver
3b2261a61f
Remove unused alignBuffer() and alignData()
2020-11-14 12:01:47 -08:00
40300a12cb
replaced tabs with spaces
2020-04-15 08:17:03 -07:00
Michael Davidsaver
19d868eb7d
start CID, SID, and IOID from different non-zero
...
Help to detect situations where these IDs get mixed up
2020-04-07 13:08:55 -07:00
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
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
3a8a24deb3
vxworks fix
2019-06-26 17:02:02 -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
2da60b083e
Enable client sending of CMD_ECHO
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
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
ecee708d3a
redo hexDump
...
ludicrously inefficient (cf. toHex() ), and inflexible.
2019-05-21 08:51:00 -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
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
32ba2f32d0
avoid deprecated ByteBuffer::getArray()
...
use identical, but not overloaded, getBuffer()
2019-05-19 14:09:38 -07:00
Michael Davidsaver
736e0c169a
Merge branch 'auth'
...
* auth:
fix osdGetRoles
oops
Add showauth executable
getgrouplist() on OSX has different sig.
auth fix mingw static
fix search PeerInfo
PeerInfo in pva/server.h and pva/sharedstate.h
make PeerInfo available during search phase
auth status void accidental success.
minor doc
always need to link with netapi32 now
authorize with local group lookup
Add osdGetRoles()
authorization framework
pvasr show PeerInfo
redo security (aka. access control)
remove asCheck
# Conflicts:
# src/server/pv/responseHandlers.h
# src/server/responseHandlers.cpp
2019-05-12 14:40:29 -07:00
Michael Davidsaver
a697008f13
demagic
2019-04-17 09:35:43 -07:00
Michael Davidsaver
bdd2730315
auth status void accidental success.
...
The default value of _verificationStatus is reported
on auth timeout. Make sure it isn't success.
2019-01-13 19:04:59 -08:00
Michael Davidsaver
3209899172
authorization framework
2019-01-12 15:14:19 -08:00
Michael Davidsaver
fa484a883a
redo security (aka. access control)
...
Break up monolithic SecurityPlugin API into three parts.
1. Authentication.
2. Authorization.
3. Access Control decision. Left to ChannelProviders
2019-01-12 15:14:19 -08:00
Michael Davidsaver
2fec84461d
use of CMD_* instead of magic numbers
2018-10-02 12:52:24 -07:00
Michael Davidsaver
d424202323
client: exception propagation from callbacks
...
Swallowing exceptions here hides some of our errors.
Particularly unrecoverable introspectionRegistry misses.
Instead, propagate up to Thread and close connection.
2018-06-22 13:28:49 -07:00
Michael Davidsaver
c8292caf91
remote: Request larger stack for workers
...
Overflows observed on RTEMS/ppc (mvme6100).
2018-06-04 10:08:01 -07:00
Michael Davidsaver
7a523dd948
drop unused NOMINMAX
2018-05-18 15:20:26 -07:00
Michael Davidsaver
bab32c332a
codec: notes on thread self dtor
2018-04-04 18:40:46 -07:00
Michael Davidsaver
7f5eb1de4d
BlockingClientTCPTransportCodec collapse closedNotifyClients() into internalClose()
2018-04-04 18:31:12 -07:00
Michael Davidsaver
0eabf10005
codec: drop unused _shutdownEvent
...
using epicsThread::exitWait() instead
2018-04-04 18:31:12 -07:00
Michael Davidsaver
fe5780521b
Context::getSecurityPlugins() no return of non-const ref.
...
Return of map as non-const ref. allows callers to modify.
Probably unintended.
2018-04-04 09:09:43 -07:00
Michael Davidsaver
df14a19ae0
codec: eliminate internalPostClose()
...
no reason to distinguish before and after
send worker break is _requested_ (won't
actually be stopped).
2018-04-02 11:30:19 -07:00
Michael Davidsaver
434a43dfe1
codec: less force-ful shutdown
...
eliminate unused 'force' argument.
2018-04-02 10:46:57 -07:00
Michael Davidsaver
da85d39c0c
codec: const-ify socket
...
Avoid possible data race of changing _channel
before worker threads are joined.
Was just using this as a boolean flag for a method
which is already guarded in BlockingTCPTransportCodec::close()
from being called twice.
2018-04-02 10:41:30 -07:00
Michael Davidsaver
38965bb847
codec: collapse internalDestroy() into internalClose()
2018-04-02 10:24:35 -07:00
Michael Davidsaver
18758fa497
throw new doesn't work
...
javaism...
2018-02-13 18:07:58 -08:00
Michael Davidsaver
a266777d82
destroyAllChannels() swap out channels list
...
avoid possible modifications while iterating.
2018-02-13 17:58:56 -08:00
Michael Davidsaver
e8347f17b4
minor
2018-02-07 20:16:38 -08:00
Michael Davidsaver
5a86835a6f
add ref-counter for Transport ABC
2018-02-01 11:17:56 -08:00
Michael Davidsaver
3bb2f25bed
Merge remote-tracking branch 'origin/master'
...
* origin/master:
prevent CAChannel::disconnectChannel() from calling ca_clear_channel twice This was causing a crash when exiting
Revert "When caProvider is destroyed make sure all channels are cleared"
make changes suggested by andrew that remove warning messages
Clean up compiler warnings
fix issue #77
2018-01-31 11:51:57 -08:00
Michael Davidsaver
9daf7a0cad
remove unnecessary includes
2018-01-31 11:51:13 -08:00
Andrew Johnson
fa46935d35
Clean up compiler warnings
2018-01-04 17:52:36 -06:00
Michael Davidsaver
903d117485
pvAccessLog() add EPICS_PRINTF_STYLE()
...
and fixup incorrect specifiers
2017-12-28 10:49:54 -06:00
Michael Davidsaver
ba3b777978
missed one
...
cf 2f0bb7d448
2017-11-16 11:18:13 -06:00