Jennifer Richards [Thu, 22 Jun 2017 21:32:06 +0000 (17:32 -0400)]
Fix memory leak in community parsing
Jennifer Richards [Fri, 16 Jun 2017 23:42:49 +0000 (19:42 -0400)]
Fix a few bugs in the filtering. Filtering works.
* Change "community" to "comm" to match other usage
* Gracefully fail to match on null field value
* Print filter debug information
Jennifer Richards [Fri, 16 Jun 2017 17:52:23 +0000 (13:52 -0400)]
Print community table as a debug message
* Add function to create string representation of comm table
* Add calls to print the community table after route table
* TODO: clean up the output so it only shows up when debugging
Jennifer Richards [Thu, 15 Jun 2017 22:37:58 +0000 (18:37 -0400)]
Fix log message to reflect broader filtering capabilities
Jennifer Richards [Thu, 15 Jun 2017 22:35:41 +0000 (18:35 -0400)]
Fix JSON type for TRP peer "filters" block
Jennifer Richards [Thu, 15 Jun 2017 20:15:58 +0000 (16:15 -0400)]
Provide necessary macros from Jansson 2.5+ when using old versions
Jennifer Richards [Wed, 14 Jun 2017 16:24:24 +0000 (12:24 -0400)]
Implement all TRP and TID fields for filtering
Jennifer Richards [Tue, 13 Jun 2017 16:32:58 +0000 (12:32 -0400)]
Allow inforec filter to have access to realm and community
Jennifer Richards [Mon, 12 Jun 2017 22:03:26 +0000 (18:03 -0400)]
Filter outbound TRP updates (compiles but not tested)
* Add methods to count and remove inforecs from an update
* Filter updates after collecting but before sending
Jennifer Richards [Mon, 12 Jun 2017 20:14:21 +0000 (16:14 -0400)]
Filter inbound TRP records (compiles but not tested)
Jennifer Richards [Mon, 12 Jun 2017 17:54:11 +0000 (13:54 -0400)]
Use new tr_filter_apply() function for TID_REQ filtering
Jennifer Richards [Mon, 12 Jun 2017 17:17:44 +0000 (13:17 -0400)]
Code for testing the filters now works
Jennifer Richards [Mon, 12 Jun 2017 17:00:18 +0000 (13:00 -0400)]
Clean up the code a bit
* Avoid looking inside TR_NAME to encode JSON
* Add const modifier to decoder signature
* Only free TR_MSG payload if it is non-NULL
Jennifer Richards [Thu, 8 Jun 2017 23:01:54 +0000 (19:01 -0400)]
In-progress commit.
* Allow array for filter spec match field
* Validate filters and filter specs
* Add filter to TRP_PEER
* Add filter tests in filt_test.c
* Add several test filter JSON files
Jennifer Richards [Wed, 7 Jun 2017 19:23:40 +0000 (15:23 -0400)]
In-progress check-in.
* Created TR_NAME version of wildcard matching, plus a unit test
* Added function to compare a TR_NAME with plain C string
* Renamed TR_FILTER_TYPE enum entries
* Reordered some #includes
* Added filter field handling table and accessors
* Implemented general tr_filter_apply() function
Jennifer Richards [Tue, 6 Jun 2017 20:33:40 +0000 (16:33 -0400)]
Ignore case when translating a string to an inforec type
Jennifer Richards [Fri, 2 Jun 2017 20:07:22 +0000 (16:07 -0400)]
Properly track JSON reference to make code match comment.
Jennifer Richards [Fri, 2 Jun 2017 19:48:15 +0000 (15:48 -0400)]
Add/move some comments.
Jennifer Richards [Fri, 2 Jun 2017 16:05:34 +0000 (12:05 -0400)]
Clean up formatting, no functional changes.
Jennifer Richards [Tue, 6 Jun 2017 18:14:38 +0000 (14:14 -0400)]
Fix misleading indentation
Jennifer Richards [Tue, 6 Jun 2017 18:14:18 +0000 (14:14 -0400)]
Print version information on startup and add --version option
Jennifer Richards [Fri, 13 Jan 2017 17:18:06 +0000 (12:18 -0500)]
Add missing dependency for t_constraint
Jennifer Richards [Wed, 11 Jan 2017 16:34:18 +0000 (11:34 -0500)]
Update version info.
Jennifer Richards [Wed, 11 Jan 2017 16:25:23 +0000 (11:25 -0500)]
Merge branch 'master' into jennifer/trp-devel
Jennifer Richards [Wed, 11 Jan 2017 16:24:37 +0000 (11:24 -0500)]
Bring back tids_start() function.
Jennifer Richards [Tue, 10 Jan 2017 21:19:39 +0000 (16:19 -0500)]
Restore interface compatibility with libtr_tid.so.2
Jennifer Richards [Wed, 21 Dec 2016 19:12:15 +0000 (19:12 +0000)]
Fix typos in filenames.
Jennifer Richards [Wed, 21 Dec 2016 18:17:03 +0000 (18:17 +0000)]
Patches to fix distribution builds.
Jennifer Richards [Wed, 21 Dec 2016 15:53:11 +0000 (10:53 -0500)]
Update version number in configure.ac.
Jennifer Richards [Wed, 21 Dec 2016 15:19:27 +0000 (10:19 -0500)]
Fix config file names in Makefile.am
Jennifer Richards [Tue, 20 Dec 2016 23:13:29 +0000 (18:13 -0500)]
Update RPM spec file and installed config files.
Jennifer Richards [Tue, 20 Dec 2016 22:01:37 +0000 (17:01 -0500)]
Set better defaults.
Jennifer Richards [Tue, 20 Dec 2016 21:32:21 +0000 (16:32 -0500)]
Fix default TRPS port. Add example config files.
Jennifer Richards [Tue, 20 Dec 2016 21:06:44 +0000 (16:06 -0500)]
Remove obsolete sample configuration files.
Jennifer Richards [Tue, 20 Dec 2016 17:44:44 +0000 (12:44 -0500)]
Update test programs. All now succeed.
Jennifer Richards [Tue, 20 Dec 2016 02:51:31 +0000 (21:51 -0500)]
Remove debug output, clarify debug message.
Jennifer Richards [Tue, 20 Dec 2016 01:23:28 +0000 (20:23 -0500)]
Properly set expiry on new community inforecs.
Jennifer Richards [Mon, 19 Dec 2016 21:57:39 +0000 (16:57 -0500)]
Fix bugs in community flooding and TID forwarding.
Now uses "hostname:port" as the peer label instead of the gss credential
name. This allows the same label to be used to identify the local
trust router when avoiding community loops. Fixes several bugs that
prevented TID forwarding from working reliably, notably by properly
initializing the next pointer in a TR_AAA_SERVER structure to null.
Jennifer Richards [Mon, 19 Dec 2016 21:55:48 +0000 (16:55 -0500)]
Decode the error_path field in TID responses.
Jennifer Richards [Wed, 14 Dec 2016 01:54:48 +0000 (20:54 -0500)]
Remove extra free of community table. (Fix bug 1648116)
Jennifer Richards [Tue, 13 Dec 2016 21:43:01 +0000 (16:43 -0500)]
Return error when TID requests fail. (bug #1648118)
Jennifer Richards [Tue, 13 Dec 2016 20:55:03 +0000 (15:55 -0500)]
Remove commented-out and debug code.
Jennifer Richards [Tue, 6 Dec 2016 22:33:32 +0000 (17:33 -0500)]
Fix bugs related to handling TID responses. Fix a few memory leaks.
Jennifer Richards [Thu, 1 Dec 2016 21:21:40 +0000 (16:21 -0500)]
Fix segfaults related to copying DH parameters.
Jennifer Richards [Wed, 30 Nov 2016 22:12:20 +0000 (17:12 -0500)]
Support multiple AAA servers. Compiles but untested.
Jennifer Richards [Wed, 23 Nov 2016 17:52:58 +0000 (12:52 -0500)]
Add timed blocking to tr_mq_pop().
Jennifer Richards [Wed, 23 Nov 2016 13:30:38 +0000 (08:30 -0500)]
Add tr_dup_dh_params() to make copy of DH parameters.
Jennifer Richards [Fri, 18 Nov 2016 20:31:38 +0000 (15:31 -0500)]
Listen for tids clients on all TCP interfaces.
Jennifer Richards [Thu, 17 Nov 2016 16:12:29 +0000 (11:12 -0500)]
Merge fix from debian build machine.
Jennifer Richards [Thu, 17 Nov 2016 16:12:12 +0000 (11:12 -0500)]
Add IPv6 support to tids.
Jennifer Richards [Thu, 17 Nov 2016 16:10:09 +0000 (11:10 -0500)]
Add missing cast.
Jennifer Richards [Sat, 12 Nov 2016 02:14:54 +0000 (21:14 -0500)]
Open all ports for servers. Disallow IPv4-mapped IPv6 addrs.
Jennifer Richards [Fri, 11 Nov 2016 21:30:53 +0000 (16:30 -0500)]
Support IPv6 for TRP connections.
Jennifer Richards [Fri, 11 Nov 2016 19:57:50 +0000 (14:57 -0500)]
Begin adding IPv6 support. Active GSS connections now work.
Jennifer Richards [Mon, 7 Nov 2016 20:36:48 +0000 (15:36 -0500)]
Enforce single COI->APC mapping.
Jennifer Richards [Mon, 7 Nov 2016 17:22:21 +0000 (12:22 -0500)]
Fix community table sweep / removal. Trust router now stable.
Jennifer Richards [Thu, 27 Oct 2016 18:21:41 +0000 (14:21 -0400)]
Don't send communities in triggered updates. Comms now flood!
Community flooding appears to be functional. Does not yet do
correct loop prevention (mismatch between peer labels prevents
detection) or expiration of abandoned community memberships.
Jennifer Richards [Wed, 26 Oct 2016 20:53:59 +0000 (16:53 -0400)]
Handle community updates when received. Builds, not tested.
Jennifer Richards [Tue, 25 Oct 2016 20:59:49 +0000 (16:59 -0400)]
Fix segfault issues. Comm updates now sent, but ignored.
Jennifer Richards [Wed, 19 Oct 2016 19:57:12 +0000 (15:57 -0400)]
Gather/send community updates. Refactoring. Builds, not tested.
Jennifer Richards [Wed, 19 Oct 2016 15:11:41 +0000 (11:11 -0400)]
Remove stray semicolon.
Jennifer Richards [Fri, 14 Oct 2016 18:42:39 +0000 (14:42 -0400)]
Use GArray for route update gathering.
Jennifer Richards [Thu, 13 Oct 2016 22:16:18 +0000 (18:16 -0400)]
Fix several minor bugs affecting config file reading.
Jennifer Richards [Thu, 13 Oct 2016 20:59:28 +0000 (16:59 -0400)]
Remove forgotten merge cruft.
Jennifer Richards [Thu, 13 Oct 2016 20:51:12 +0000 (16:51 -0400)]
Fix pointer error.
Jennifer Richards [Thu, 13 Oct 2016 19:46:57 +0000 (15:46 -0400)]
Refactoring to enable community flooding. Partially tested.
Jennifer Richards [Thu, 29 Sep 2016 18:32:48 +0000 (14:32 -0400)]
Remove debug calls to talloc_report_full().
Jennifer Richards [Thu, 29 Sep 2016 15:31:25 +0000 (11:31 -0400)]
Send all msgs in trpc outgoing queue, not just the first.
Jennifer Richards [Tue, 27 Sep 2016 19:35:18 +0000 (15:35 -0400)]
Move community/realm out of inforec and into update message.
Jennifer Richards [Mon, 26 Sep 2016 18:04:51 +0000 (14:04 -0400)]
Add fields to TR_COMM records. Add accessor functions.
Jennifer Richards [Mon, 26 Sep 2016 17:07:35 +0000 (13:07 -0400)]
Add macros to simplify usage of several _add() functions.
Jennifer Richards [Fri, 23 Sep 2016 22:35:45 +0000 (18:35 -0400)]
Update trust_router.spec, fix version in configure.ac
Jennifer Richards [Wed, 21 Sep 2016 16:53:49 +0000 (12:53 -0400)]
Fix another makefile bug.
Jennifer Richards [Wed, 21 Sep 2016 16:17:38 +0000 (12:17 -0400)]
Additional makefile updates.
Jennifer Richards [Wed, 21 Sep 2016 15:32:54 +0000 (11:32 -0400)]
Fix compiler options
Jennifer Richards [Mon, 19 Sep 2016 20:08:39 +0000 (16:08 -0400)]
Fix build for t_constraint.c test binary.
Jennifer Richards [Wed, 14 Sep 2016 01:20:01 +0000 (21:20 -0400)]
Add copyright statement missing from recently added files.
Jennifer Richards [Tue, 13 Sep 2016 20:24:36 +0000 (16:24 -0400)]
Clean up compiler warnings.
Jennifer Richards [Tue, 13 Sep 2016 20:14:45 +0000 (16:14 -0400)]
Don't ignore asprintf return value.
Jennifer Richards [Mon, 19 Sep 2016 19:33:43 +0000 (15:33 -0400)]
Clean up Makefile.am to produce libtr_tid
Jennifer Richards [Sat, 10 Sep 2016 22:55:08 +0000 (18:55 -0400)]
Change spec "match" field back to a single string instead of array.
Jennifer Richards [Fri, 9 Sep 2016 20:33:22 +0000 (16:33 -0400)]
Fixes so that all binaries build cleanly.
Not all test programs have been run recently, some may not work or may
have incomplete test coverage. The changes to Makefile.am were enough
to get "make" to run, but probably need more work to be optimal.
Jennifer Richards [Fri, 9 Sep 2016 18:56:31 +0000 (14:56 -0400)]
Merge branch 'master' into jennifer/trp-devel
Jennifer Richards [Fri, 9 Sep 2016 15:47:49 +0000 (11:47 -0400)]
Remove debugging code.
Jennifer Richards [Thu, 8 Sep 2016 17:53:25 +0000 (13:53 -0400)]
Return success after updating peer. Additional debug messages.
Jennifer Richards [Wed, 7 Sep 2016 19:13:56 +0000 (15:13 -0400)]
Install callback to request routes when connections established.
Jennifer Richards [Wed, 7 Sep 2016 17:55:16 +0000 (17:55 +0000)]
Bug fixes to make TID forwarding work between trust routers.
- use server hostname instead of GSS name as next_hop in routes
- don't segfault when finding selected route if none selected
- report useful message on error in JSON parsing
Jennifer Richards [Tue, 6 Sep 2016 17:16:48 +0000 (13:16 -0400)]
Check h_errno instead of errno on gethostbyname() failure.
Jennifer Richards [Fri, 2 Sep 2016 23:57:49 +0000 (19:57 -0400)]
Merge branch 'jennifer/trp-devel' of repository.project-moonshot.org:/srv/git/trust_router into jennifer/trp-devel
Conflicts:
common/tr_config.c
Jennifer Richards [Fri, 2 Sep 2016 22:12:17 +0000 (18:12 -0400)]
Add option for "remote" IDP realms. Compiles but not tested.
Jennifer Richards [Fri, 2 Sep 2016 22:12:17 +0000 (18:12 -0400)]
Add option for "remote" IDP realms. Compiles but not tested.
Jennifer Richards [Thu, 1 Sep 2016 15:39:10 +0000 (11:39 -0400)]
Fix several bugs preventing TID requests from functioning.
- Partial implementation of config file print for debug
- Fix a few possibly unitialized values
- Pass TRPS_INSTANCE to tids event for route lookups
- Return 0 on success from tr_tids_req_handler()
- Return null on no match from trp_rtable_get_selected_entry()
Jennifer Richards [Wed, 31 Aug 2016 20:38:48 +0000 (16:38 -0400)]
Initialize TID_RESP values in constructor.
Jennifer Richards [Thu, 25 Aug 2016 20:18:14 +0000 (16:18 -0400)]
Forgot to check in a couple of files.
Jennifer Richards [Thu, 25 Aug 2016 18:41:19 +0000 (14:41 -0400)]
Use default set of filters for RP clients with none specified.
Jennifer Richards [Wed, 24 Aug 2016 15:44:29 +0000 (11:44 -0400)]
Look up TRPC with service name, not gss name.
Jennifer Richards [Tue, 23 Aug 2016 21:12:51 +0000 (17:12 -0400)]
Peer organizations now parsed and added to peer table.
This is feature completeness for initial Dynamic Trust Router
release, not yet debugged.
Jennifer Richards [Mon, 22 Aug 2016 19:20:59 +0000 (15:20 -0400)]
Parsing of local organizations now functional.
Jennifer Richards [Mon, 22 Aug 2016 15:49:35 +0000 (11:49 -0400)]
Parsing new-style config files partially working.
Still need to add APC/community parsing and peer table parsing.
Jennifer Richards [Fri, 19 Aug 2016 20:41:10 +0000 (16:41 -0400)]
Parse RP clients from new-style configuration files.