Michael Davidsaver
34009d2a3a
update pvasr
2019-07-15 13:54:36 -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
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
d52d8cf5d4
pva/server.h allow createChannel() to return NULL
2019-02-19 19:55:58 -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
31ed0b55ec
minor
2018-10-18 17:52:56 -07:00
Michael Davidsaver
ce19199edd
cleanup
2018-05-18 11:58:35 -07:00
Michael Davidsaver
6abfe9d196
server: cleanup handling of vector of providers
...
avoid keeping extra refs. situation is confusing
enough as it is.
2018-05-18 08:53:52 -07:00
Michael Davidsaver
ff5d51b221
server: shorter name for Timer thread
2018-04-04 20:55:57 -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
3859793405
serverContext explicitly close/flush Timer queue
2018-04-02 12:40:18 -07:00
Michael Davidsaver
28cec947ae
serverContext: collapse destroyAllTransports() into shutdown()
2018-04-02 11:47:20 -07:00
Michael Davidsaver
5c1b638db5
avoid spurious Leak warning
...
copying an array just to see if it is empty
isn't so efficient.
2018-02-07 20:17:40 -08:00
Michael Davidsaver
58f996fd98
update transportRegistry
...
avoid leaks of SOCKET and leaving mutex locked
when exceptions are thrown.
2018-02-01 18:54:25 -08:00
Michael Davidsaver
d33356ced6
drop deprecated
2018-01-31 12:48:59 -08:00
Michael Davidsaver
903d117485
pvAccessLog() add EPICS_PRINTF_STYLE()
...
and fixup incorrect specifiers
2017-12-28 10:49:54 -06:00
Michael Davidsaver
457d03508d
reduce noise
2017-12-12 09:57:24 -06:00
Michael Davidsaver
0161799c93
must zero osiSockAddr prior to use!
...
RTEMS depends on this or eg. bind()
will fail because comparison with
list of interface addresses is done
with memcmp()!
2017-11-28 17:54:25 -06:00
Michael Davidsaver
073c77b1ef
consolidate ServerChannel and ServerChannelImpl
...
"interface" with a single implementation.
combine and de-virtualize.
2017-11-06 15:14:41 -06:00
Michael Davidsaver
7b301c4c98
pvasr() call Channel::printInfo()
2017-11-05 17:26:52 -06:00
Michael Davidsaver
8d5c27143b
pvasr list client channels
2017-11-05 17:11:28 -06:00
Michael Davidsaver
47332fdf90
server status reporting via iocsh
2017-11-05 15:59:01 -06:00
Michael Davidsaver
98df225583
insturment with reftrack
2017-08-30 11:17:03 -05:00
Michael Davidsaver
e457e2d0c3
attempt to fix dllimport/export error
2017-07-04 19:01:23 +02:00
Michael Davidsaver
05b6da623a
rename GUID -> ServerGUID
...
avoid ambigious name on windows/mingw
2017-07-04 17:57:20 +02:00
Michael Davidsaver
42e12896d4
serverContext: shared_ptr debugging
2017-06-26 16:41:55 +02:00
Michael Davidsaver
d5481cc277
minor
2017-06-26 16:24:36 +02:00
Michael Davidsaver
0c02625aa5
servercontext wait for transport worker threads to finish
...
doing this through Transport::close()
causes deadlock in client code due to locking.
So make this an extra step.
2017-06-26 14:16:41 +02:00
Michael Davidsaver
3dca3dc38f
ServerContext clear timer queue
2017-06-22 13:51:38 +02:00
Michael Davidsaver
8270a25791
Re-add ServerContext::getChannelProviders()
2017-06-21 15:13:58 +02:00
Michael Davidsaver
35d2c610bf
separate ChannelProviderRegistry for client/server
2017-06-21 14:41:24 +02:00
Michael Davidsaver
46137f96bb
deprecate dispose()
...
bad practice
2017-06-20 20:30:37 +02:00
Michael Davidsaver
6fcfd60bd5
BlockingUDPTransport wrap close() to break ref. loop
2017-06-02 12:32:12 +02:00
Michael Davidsaver
48b3b648ef
add ServerContext::getCurrentConfig()
2017-06-01 01:56:46 +02:00
Michael Davidsaver
8971d2771c
ServerContextImpl::destroyAllTransports()
...
Better check for ref. leaks
2017-05-31 15:58:15 +02:00
Michael Davidsaver
3fa6a4e4cc
TransportRegistry composed
...
no need for a seperate allocation and shared_ptr
2017-05-31 15:48:30 +02:00
Michael Davidsaver
3ad27665e8
BlockingTCPTransportCodec::close() wait for threads
2017-05-31 15:47:46 +02:00
Michael Davidsaver
634e50e011
startPVAServer() has to keep the pointer
2017-05-31 12:18:42 +02:00
Michael Davidsaver
ce25f0b175
ServerContext ref. loop breaking and threading
...
Drop unnecessary "worker" thread which does no work.
Ensure that returned shared_ptr is unique()==true.
Add ServerContext::create() to start a new server
with specific config and/or providers
2017-05-31 11:40:51 +02:00
Michael Davidsaver
277e5c33fb
privatize some API details
...
hide a number of APIs which should not
be public APIs.
2017-05-30 17:12:31 +02:00
Matej Sekoranja
4e264f2295
win32: moved osiSockAttach() call before loadConfiguration
...
should fix #45
2016-04-26 20:48:27 +02:00
Andrew Johnson
6698bb86fb
Additional includes needed for MSVC
2016-04-06 17:02:03 -05:00
Matej Sekoranja
5279d247ca
general indent beautification
2016-03-10 23:36:16 +01:00
Matej Sekoranja
0db4a9a342
udp transport initialization refactoring (deduplication)
2016-03-02 12:37:58 +01:00
Matej Sekoranja
87fa71070d
automatic broadcast port
2016-03-02 11:08:58 +01:00
Matej Sekoranja
1ca3918afa
local multicast reimplemented
2016-03-01 12:11:25 +01:00
Matej Sekoranja
7bfe58f1e2
UDP transport shutdown fixed
2016-02-25 10:37:01 +01:00
Matej Sekoranja
f0ca714214
AUTO_ADDR_LIST - no fallback (as in CA)
2016-02-25 10:30:09 +01:00