Michael Davidsaver
53d18e6a03
SharedPV handle bad_weak_ptr earlier
...
Avoid operating on partly destroyed object.
2020-06-15 09:37:11 -07:00
Michael Davidsaver
a97c5b1cbb
SharedPV::post() handle bad_weak_ptr
2020-06-15 09:25:31 -07:00
3ba6679e67
removed spaces at end of line
2020-04-15 08:17:03 -07:00
40300a12cb
replaced tabs with spaces
2020-04-15 08:17:03 -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
7903a736d4
avoid ipAddrToA()
2019-11-24 19:37:08 -08: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
a06c829050
bytes tx/rx stats per socket and per Operation
2019-07-15 14:06:06 -07:00
Michael Davidsaver
badf14c4fa
cleanup and quiet warnings
2019-07-15 14:06:06 -07:00
Michael Davidsaver
34009d2a3a
update pvasr
2019-07-15 13:54:36 -07:00
Michael Davidsaver
5abfc10a82
really echo this time...
2019-06-12 13:25:35 -07:00
Michael Davidsaver
a1af3c2c8e
echo content
2019-05-21 08:54:14 -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
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
3fa1e83b55
avoid redundant sockaddr -> string
2019-04-17 09:35:43 -07:00
Michael Davidsaver
22622e91a9
server: detect duplicate channelCreated() calls
2019-02-19 19:58:13 -08:00
Michael Davidsaver
d52d8cf5d4
pva/server.h allow createChannel() to return NULL
2019-02-19 19:55:58 -08:00
Michael Davidsaver
c5fe16eff2
fix search PeerInfo
2019-02-19 19:54:42 -08:00
Michael Davidsaver
34f53c123a
PeerInfo in pva/server.h and pva/sharedstate.h
2019-01-29 19:59:53 -08:00
Michael Davidsaver
d8f9ef2557
make PeerInfo available during search phase
2019-01-29 19:59:53 -08:00
Michael Davidsaver
b46e0972ea
minor doc
2019-01-13 19:04:59 -08:00
Michael Davidsaver
9babc06ab3
pvasr show PeerInfo
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
13cac5f4cc
remove asCheck
...
This interface will be removed.
2019-01-12 14:31:19 -08:00
Michael Davidsaver
f84774e3ec
PVA server earlier check of monitor window
...
Check window size before attemting poll() as apparently
"spurious" send() is possible.
2018-10-22 14:07:22 -07:00
Michael Davidsaver
3f85f7c2ad
cleanup
2018-10-22 10:04:57 -07:00
Michael Davidsaver
a486f3d4c7
SharedPV::Handler better defaults
2018-10-18 17:52:56 -07:00
Michael Davidsaver
31ed0b55ec
minor
2018-10-18 17:52:56 -07:00
Michael Davidsaver
729f16f94e
SharedPV move internal names under detail::
2018-10-18 17:52:35 -07:00
Michael Davidsaver
0a5f8b44db
doc
2018-10-18 15:18:00 -07:00
Michael Davidsaver
ac9ebc47ba
improper use of rand() w/o RAND_MAX
...
... with an extra dose of integer modulo thrown in.
2018-10-18 15:18:00 -07:00
Michael Davidsaver
9de8676a6f
pvlist debugging
2018-10-18 15:18:00 -07:00
Michael Davidsaver
731767b086
SharedPV fix onFirstConnect() on monitor creation
2018-10-08 07:10:13 -07:00
Michael Davidsaver
9ca7487e29
SharedPV allow use of Channel::destroy() to trigger onLastDisconnect()
...
Add dead flag to catch double destroy() or use after destroy()
2018-10-07 20:07:40 -07:00
Michael Davidsaver
ed1bd1b962
SharedPV defer onFirstConnect() to first getField/Put/Monitor
2018-10-07 20:07:40 -07:00
Michael Davidsaver
53b95dd336
more SharedPV rpc state tracking
...
handle re-open() with RPC
2018-10-06 17:55:57 -07:00
Michael Davidsaver
605c172d3c
fix SharedPV allow rpc() while close()'d
...
Don't call channelRPCConnect() again during open().
Turns out that a second channelRPCConnect() has
the effect of sending a reply with OK and NULL.
2018-10-04 07:31:01 -07:00
Michael Davidsaver
542d51a215
RPC troubleshooting
...
something funny is going on
2018-10-03 23:41:30 -07:00
Michael Davidsaver
421d50e3ba
SharedPV too many notifiedConn
...
notifiedConn set more often than it should.
2018-10-03 18:36:32 -07:00
Michael Davidsaver
2fec84461d
use of CMD_* instead of magic numbers
2018-10-02 12:52:24 -07:00
Michael Davidsaver
4e5aef3e42
SharedPV allow rpc() while close()'d
...
No reason to prevent this as RPCs need not use
the same type (Structure) as get/put/monitor.
2018-10-02 12:52:24 -07:00
Michael Davidsaver
4296c5e015
more SharedPV::close()
2018-09-27 13:56:13 -07:00
Michael Davidsaver
83b2105241
StaticProvider createChannel() avoid possible deadlock
...
connect() may invoke SharedPV onFirstConnect() callback.
2018-09-26 16:38:22 -07:00
Michael Davidsaver
7ed6f1315f
SharedPV::open() less work under lock
2018-09-26 10:31:33 -07:00
Michael Davidsaver
6b463d77e1
SharedPV ensure callback pairing
...
Ensure that onLastDisconnect() isn't called
unless onFirstConnect() is/has been called.
2018-09-21 11:35:57 -07:00