Commit Graph

414 Commits

Author SHA1 Message Date
Michael Davidsaver 9423252416 testChannelAccess disable for RTEMS
Doesn't pass. for RTEMS 4.x.  Not clear why.
Disable so that the remaining tests can be run.
2020-11-22 11:57:02 -08:00
Michael Davidsaver 597f168b9c fixup tests for RTEMS 2020-11-22 11:53:58 -08:00
Michael Davidsaver 684da91675 testServerContext fix # of tests 2020-11-21 10:32:16 -08:00
zimoch 3ba6679e67 removed spaces at end of line 2020-04-15 08:17:03 -07:00
zimoch 40300a12cb replaced tabs with spaces 2020-04-15 08:17:03 -07:00
Freddie AKeroyd 2c199fe50c Compare float values with a tolerance 2020-02-14 01:18:48 -08:00
Freddie AKeroyd aca717aa2a Print more details about how test failed 2020-02-14 01:18:48 -08: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 6dd1346ace further dead code 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 64453e1f1a split client/server protocol version 2019-05-21 08:51:01 -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 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 cddbabf8bc auth fix mingw static 2019-04-09 11:07:30 -07:00
Michael Davidsaver 5b14bbef5a drop display.format 2019-02-19 19:58:47 -08:00
Michael Davidsaver bfff9275bd always need to link with netapi32 now 2019-01-12 17:07:24 -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 93a83ffa7e don't install testServer et. al
Not really something most end users care about.
So don't clutter up the install tree.  Continue
to build, but not run as, tests.
2018-11-26 10:40:44 -08:00
Michael Davidsaver 1f5c0eedcb MonitorFIFO: open() handle compute() error internally
Introduce Error state when open() fails due to invalid
pvRequest mapping.
2018-09-21 11:35:57 -07:00
Michael Davidsaver 99f68dac04 monitorfifo better default config handling 2018-07-14 15:06:44 -07:00
Michael Davidsaver 74c2ec1ec3 Add SharedPV 2018-06-29 16:55:27 -07:00
Michael Davidsaver ccb1d1dbe3 missing include 2018-06-29 16:55:27 -07:00
Michael Davidsaver 5e887a6d02 add MonitorFIFO 2018-06-26 19:06:47 -07:00
Michael Davidsaver 7a523dd948 drop unused NOMINMAX 2018-05-18 15:20:26 -07:00
Michael Davidsaver 6ccca1ce58 const-ify string constants
yes really...
2018-05-18 10:12:34 -07:00
Michael Davidsaver eed26a166e testChannelAccess: loosen timestamp tests to reduce false positive failures 2018-04-02 11:45:33 -07:00
Michael Davidsaver 9b828852c0 Transport::getRemoteAddress() return reference
make it clear that result is always !NULL
2018-02-01 19:09:44 -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 cc9c666731 Improve client pvRequest option parsing
Give some notice of parse errors
2017-11-16 17:38:11 -06:00
Michael Davidsaver 576b241faa consolidate TransportClient and ChannelImpl as ClientChannelImpl 2017-11-06 15:51:43 -06:00
Michael Davidsaver dcb74b781d be explicit about epics::auto_ptr 2017-11-06 12:46:13 -06:00
Michael Davidsaver 0fde239f23 std::auto_ptr -> epics::auto_ptr 2017-11-06 12:37:42 -06:00
Michael Davidsaver 49173ec884 disable pvAccessMB and unused ref-counting boilerplate 2017-11-05 16:54:10 -06:00
Michael Davidsaver 5e900b1f11 remove super abstract authNZInitialize(void*)
with separate client and server calls.

Still dynamic_cast ugliness as Transport and Codec
hierarchies don't have a common root.
2017-11-05 16:41:59 -06:00
Michael Davidsaver c7fd78af57 more shared_ptr compat 2017-07-18 17:35:32 +02:00
Michael Davidsaver 5d843d3587 RPC cleanup: RPCService is a sub-set of RPCServiceAsync 2017-07-11 14:38:01 +02:00
Michael Davidsaver c98c872835 fix race in channelAccessIFTest 2017-07-04 12:20:51 +02:00
Michael Davidsaver aadf428212 test debugging 2017-07-03 19:32:55 +02:00
Michael Davidsaver 4fe837c9a0 add RPC loopback test 2017-07-03 19:24:01 +02:00
Michael Davidsaver 749e8d71d1 replace all internal use of getChannelProviderRegistry() 2017-07-03 19:24:00 +02:00
Michael Davidsaver a3185f11da MonitorElement const and state tracking
Mark MonitorElement member pointers as const
to prevent user code from accidentally mangling.

Add 'state' tracking to help debugging
2017-06-27 15:42:27 +02:00
Michael Davidsaver 35d2c610bf separate ChannelProviderRegistry for client/server 2017-06-21 14:41:24 +02:00
Michael Davidsaver 3a190cb572 deprecate RPCClient::sendRequest()
Changes to provider factory registery make this
very inefficient (build a new client context of each request)
2017-06-08 20:37:20 +02:00
Michael Davidsaver 3e37781d85 update RPCClient
Addition ctor to use specific Provider (w/ custom config).
Start connect immediately.
Remove need to issueConnect()/waitConnect().
2017-06-08 20:35:43 +02:00
Michael Davidsaver 8febd176bb PVA client ref. loop breaking
Adjust ownership of BaseRequestImpl sub-classes.
Keep two weak_ptr<>.
one (internal) for tracking relations with Channel.
one (external) for tracking relations w/ user code, and send Q.

external wraps internal, and calls destroy() to break
ref. loops involving internal.

death to m_thisPointer!
2017-06-07 13:33:10 +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 7c85e6073b move ServerContextImpl into private header 2017-05-30 12:07:23 +02:00
Michael Davidsaver 3283bed413 drop PVA_ALIGNMENT constant
This will forevermore be 1, so no
reason to incur complexity of testing this.

size % PVA_ALIGNMENT -> 0
alignBuffer(PVA_ALIGNMENT) -> no-op
alignedValue(val, PVA_ALIGNMENT) -> val
2017-05-24 17:20:17 -04:00