Add internet address/hostname validators in tr_inet_util.[ch]
Move AAA server methods out of tr_idp.[ch] into their own files * Create tr_aaa_server.[ch], move methods out of tr_idp.[ch] - Existing methods unchanged * Add port to TR_AAA_SERVER * Add get/set methods for hostname/port * Update makefiles
Move repeated #defines into tr_json_util.h and add documentation
Use TR_LIST for domain/realm constraint matches
Add a generic TR_LIST type, use for TR_FILTER's 'lines' member
Break tr_config.c into smaller chunks No functional changes
Support 'show serial' monitoring request
Add encoders for tr_filters, include in peer and rp_client encoders
Separate tr_rp and tr_rp_client into separate modules No functional changes
Add support for show communities monitoring request
Split trp_ptable into trp_ptable, trp_peer, and _encoders modules No functional changes
Support "show routes" monitoring request * Separate _to_string and _to_json functions into _encoders.c files for trp_rtable and trp_route * Add monitoring handler to call trp_rtable_to_json()
Separate trp_route and trp_rtable, move timespec_to_str to tr_util.c No functional changes
Add TID_REQ_COUNT handler * Add a separate source file for TID-related monitoring handlers * Increment tids->req_count in the main process, otherwise it will always seem to be zero. This does mean any connection to the TID port is counted as a tid request, which is not perfect. *
Get rid of CLion warnings about undefined PACKAGE_* macros
Replace static monitor handler tables with dynamic handler registry * Keep a list of handlers as part of MONS_INSTANCE - each handles a command/opt_type pair - registered via mons_register_handler() * Scan the list of handlers when servicing a monitoring request * Add handlers for version and uptime, registered through tr_main.c (probably need to move these, but this works as a demo)
First functional monitoring server - can return the trust router version
First steps toward actually handling monitoring requests
Refactor tidc/monc to better share code * Implement minimal decoding of monitoring responses * Add tr_gss_client.[ch] to house GSS req/resp message exchange * Always use 'payload' as the key for MON_RESP payload, don't name it after the command that it is responding to * Use better reference count behavior for MON_RESP payload * Move typedefs out of mon_internal.h to mon.h to avoid cyclic header dependencies * Fix some minor integer type mismatches in option parser * Update various test programs to use extra argument to tr_msg_(en/de)code methods
First pass at a trmon command-line interface; fix a few bugs At this point, if you hack tr_mons_auth_handler() to always return 0 (success), then trmon can connect to the trust router's monitoring port and retrieve a test message. That counts as first contact, I guess. Actual functionality is still to come. * Create basic trmon utility based closely on tidc * Temporarily use void pointers for trps/tids handles in the MON_INSTANCE structure - there is a header file cycle that prevents compliation. Need to sort that out, but this works for the moment. * Fill in tr_msg handlers for monitoring message encoders/decoders * Revert to the monitoring msg decoder working from json, not a string, since that is what we need. This breaks the test programs for now.