Commit Graph

204 Commits

Author SHA1 Message Date
Paul Lorenz 23c98c2d5a Add more tracing and allow enabling debug for specific identities for path selection/establishment 2021-08-09 11:20:51 -04:00
Paul Lorenz b82b92684b Rename fabric session to circuit 2021-08-04 14:39:27 -04:00
Paul Lorenz 7cb0b12d5c Update for JWT lib changes 2021-07-30 10:04:45 -04:00
Paul Lorenz f2670e66a0 Make policy semantic required for POST/PUT. Fix evaluation on policy PUT if semantic not provided 2021-07-30 09:44:21 -04:00
Andrew Martinez f28061de4f fixes missing 400s from list endpoints
- update some CA fields that were not marked required/nullable
- some list endpoints were missing 400 response definitions
- foundation dep update
2021-07-27 14:53:35 -04:00
Andrew Martinez cef4653c2f add missing 401s to list operations, missing required
- adds missing 401s to list operations that were missing them
- adds required status to identityNameFormat for CAs
2021-07-26 16:19:16 -04:00
Andrew Martinez 6a522893fc adds timeoutRemainingSeconds for posture queries 2021-07-21 14:20:26 -04:00
Andrew 22d5d46554 Merge pull request #709 from openziti/add.mfa.options
add mfa options
2021-07-10 00:05:12 -04:00
Andrew Martinez efcb90c033 add all sdk version info to posture data 2021-07-09 15:27:23 -04:00
Andrew Martinez 983fbaacfc fixes #641 enables ?limit=x&offset=x on list association endpoints
Endpoints such as /current-identity/edge-routers would internally use a
ListAssociations(...) that would not respect the original query
parameters of limit/offset. Instead they would only respect the filter
parameter.

Per internal conversations, we agreed to maintain both paths.
2021-07-07 12:25:02 -04:00
Andrew Martinez 47499bc4f1 add mfa options
- allow timeouts for MFA posture checks
- allow wake/unlocked MFA options
- allow legacy toggle for SDKs that don't supply endpoint state
- supply timeouts on posture checks
- posture data now caches session state
2021-07-07 08:39:39 -04:00
Paul Lorenz 3151d31b7f Handle xweb import change (#697)
* Handle xweb import change. Fix tunnel update/delete terminator handling
2021-06-22 14:18:17 -04:00
Andrew 825c0a327a Merge pull request #685 from openziti/fix.process.multi.patch
fixes issues with process multi's patch
2021-06-14 14:18:56 -04:00
Paul Lorenz d920dbbd93 Fix sync early exit bug. Track new session during sync. Simplify thre… (#686)
* Fix sync early exit bug. Track new session during sync. Simplify threading and tighten up locking. Add dump api-sessions debug operation

* Address review comments. Remove spurious error message. Fix defaultHostingCost/Precedence field names
2021-06-11 14:01:20 -04:00
Andrew Martinez 271bf051e0 fixes issues with process multi's patch
- NULL output for empty arrays will now be empty array "[]"
- patching no longer clears osType
- patching with the same path between two different OS types no longer
  collides resulting in 1 process being saved
2021-06-10 16:31:26 -04:00
Paul Lorenz ef8847b34e Delete expired api sessions in batches. Remove some unused methods 2021-06-09 15:40:42 -04:00
Paul Lorenz a3dd639981 Fix setting identity service costs/precedences when patching 2021-06-08 12:54:11 -04:00
Paul Lorenz e180d2fa7b Fix updating terminators when cost is omitted 2021-05-20 11:11:25 -04:00
Paul Lorenz 3f3c1318c7 Merge pull request #665 from openziti/fix-app-data-updates
Add appData to filtered jsonfields. Remove unused identity checker field
2021-05-19 13:37:58 -04:00
Paul Lorenz 9af29b5072 Add appData to filtered jsonfields. Remove unused identity checker field 2021-05-18 21:08:19 -04:00
Andrew Martinez 603fdbd772 set base posture check properties for process multi 2021-05-18 14:39:57 -04:00
Andrew Martinez cc1574fdc9 update /version endpoint
- now reports all versions, api bindings, and api bind points from xweb
- now reports api base urls (http://<bindpoint>/<api path>
- now points 'edge' to 'edge-client' api binding
2021-05-07 10:46:24 -04:00
Andrew Martinez 6625084569 use xweb for Edge Client and Management APIs
- use xweb for run
- use xweb for api tests
- use time.ParseDuration for edge configuration
- use CORS defaults in Client/Management API handlers
2021-05-06 16:45:48 -04:00
Andrew Martinez b562fb5c07 splits API specs into composible modules
- splits Open API 2.0 (swagger) into client/management APIs
- uses go-swaggers flatten capabilities
- uses newer version of go-swagger (v0.27.0)
- introduces /edge/client/v1, /edge/management/v1
- non-prefixed URLs default to /edge/client/v1
- splits some shared management/client API handlers
- renames some REST models to "client" instead of "limited"
- passes all apitests, fails dataflow upd test (main fails this as well)
- updates generate rest script for powershell
- todo: test generate rest script for bash
- todo: use xweb (different branch)
2021-05-04 11:30:32 -04:00
Andrew Martinez 54af8801e7 adds posture check type PROCESS_MULTI
- adds a new posture check for dealing with multiple processes
- supports anyOf and allOf semantics
- does not require new posture responses, current process responses
  suffice
- tests
2021-04-20 08:52:23 -04:00
Andrew Martinez 4a9b226f0e adds the ability for router to extend their enrollment
- routers can now opt to extend their enrollment at any time with a
  previous or new key
- adds tests for router enrollment
- adds tests for router enrollment extension
2021-04-14 09:21:59 -04:00
Andrew Martinez b278f611d0 add policyType to posture query sets
- also fixes policy ids being set as the same value due to pointer in
  for loop reference
2021-04-13 15:26:17 -04:00
Paul Lorenz b493cce490 Add app data to identity and edge router. Add isSystem to ERP 2021-04-06 10:07:57 -04:00
Paul Lorenz 8f6234842e Add per-service identity hosting precedence/costs 2021-04-06 09:51:22 -04:00
Andrew Martinez a753022e37 unify api session modeling 2021-03-24 13:51:26 -04:00
Andrew Martinez 1100d6f388 update service update on posture data change, tests 2021-03-23 09:54:47 -04:00
Andrew Martinez 993f51f7ab set mfa posture on enroll
- update api session session state on mfa enroll
- update posture data state on mfa enroll
- centralize setting mfa posture data
- pass isMfaRequired and isMfaComplete in apiSession/currentApiSession
2021-03-23 09:54:46 -04:00
Paul Lorenz 680852f80e Allow tunnel to run over xgress directly 2021-03-22 14:33:54 -04:00
Andrew Martinez 5449b655b8 moves posture-data/failed-service-requests
- GET /identities/{id}/posture-data/failed-service-requests is now under
  /identities/{id}/failed-service-requests
2021-03-19 10:30:26 -04:00
Andrew Martinez c54a007202 formalize posture data API output, add service request errors
- GET /identity/{id}/posture-data is now formalized in the swagger.yml
- posture data output now includes the last 100 failed service requests
  with temporal posture data state
- added ziti controller instance id header to detect restarts
- add GET /identity/{id}/failed-service-requests
2021-03-19 09:49:44 -04:00
Andrew Martinez 7e559771f3 fixed cachedLastActivityAt 2021-03-19 09:10:23 -04:00
Andrew Martinez fccdc0591e fix expiresAt and expirationSeconds 2021-03-19 08:59:50 -04:00
Andrew Martinez 623681db87 add lastActivityAt
- as updates to API Sessions can now happen later than the last time
  they were active, updatedAt is no longer the correct representation of
  the last activity an API Session had
- move all logic that used updatedAt to lastActivityAt
- add migration to set lastActivityAt
2021-03-17 13:49:12 -04:00
Paul Lorenz 71a3a1643e Pass FieldChecker to toBoltEntityForPatch. Add some ReadByName methods. Move some code to allow re-use 2021-03-17 10:41:21 -04:00
Andrew Martinez 4dba6e95ab on invalid token ignore and check bool status only 2021-03-11 13:33:51 -05:00
Andrew Martinez 90ca54adb8 adds thread safe router state
Router state used to be stored and accessed in a thread unsafe way.
State is now locks on a mutex for setting values and values are copied
out for referencing.
2021-03-08 14:55:36 -05:00
Andrew Martinez 1b253839fc Merge branch 'main' into add.session.route 2021-03-04 09:47:10 -05:00
Andrew Martinez 5eb8649186 move routePath to /sessions/id/route-path 2021-03-04 09:44:12 -05:00
Paul Lorenz 735eb1d80f Move ApiError and FieldError to foundation 2021-03-03 14:44:26 -05:00
Andrew Martinez 005234cb39 add route path to session 2021-03-01 18:02:25 -05:00
Andrew Martinez 7e60583043 fix swagger parameter names, allow mfa codes on headers for get/delete
- swagger copy pasta was using the same parameter name for everything,
  "body", which made error messages read "error in body for body"
- parameter rename ripples into parameter property definitions
- allow mfa codes in GET and DELETe as libuv doesn't allow them to have
  bodies (-.-)
2021-02-25 14:23:12 -05:00
Andrew Martinez 75029f8600 centralize edge router properties, add supportedProtocols to edge
session

- centralized edge router properties so adding/altering affects all
  edge router output
- adds supportedProtocols to edge session create response
- mark urls on edge session create response as deprecated
2021-02-23 15:07:43 -05:00
Andrew Martinez a51cf270f2 ignore duplicate connecting routers, do not dereference er hostnames
hostnames may be a nil pointer at times now due to the fact that edge
routers may be waiting to sync and may be "online" but edge hellos
have not been exchanged.
2021-02-19 10:19:26 -05:00
Andrew Martinez d07618c9d5 modular edge router sync
- edge router sync is now modular and can have different strategies
- plans to make this configurabe in the future with multiple strat
- legacy strategy is called "instant" and is the only option
- instant strat now supports control signaling and resync requests
- edge routers now do not remove connections till after a full sync
- added the ability for the controller to report the er sync status
- added er syn status to GET /edge-routers list and detail
- improved log output in sync logic
2021-02-15 13:22:07 -05:00
Andrew Martinez 6a2c82deca add timeout posture query property, -1 == no timeout
Provides a location for future configurable timeouts and allows
SDKs to detect whether no timeout/timeouts are supported.
2021-02-10 17:13:23 -05:00