Chunk server: make write appender's trace messages more uniform to facilitate debugging.
Kfsio library: implement ssl session timeout, and psk id accessors, change the filter base class session timeout method to return 10 years timeout value.
Kerberos library: implement client's ticket end time retrieval with both MIT and Heimdal Kerberos library versions. Display ticket end time with QFS Kerberos library unit tests. Use time_t instead of int64_t type for time values.
Qfs client library: implement session timeout enforcement with kfs protocol state machine by initiating re-connect when session expires and no ops in flight. Implement current time, and session end time retrieval with authenticate RPC response. Use authentication RPC reply session end time with x509 and Kerberos authentication methods, as session end time, and current time to calculate the client and meta server clock skew. Use delegation token end time with PSK authentication when PSK id appears to be a valid delegation token.
Chunk server: implement chunk server re-authentication with meta server. The meta server can request re-authentication by setting "authenticate" field in the heartbeat request. When chunk server receives re-authentication request, it immediately responds with authentication request, and queues other pending requests and responses, including heartbeat response. Upon successful authentication request completion the chunk server initiates [ssl] filter shutdown, installs new [ssl] filter after successful filter shutdown completion, and submits all pending RPC requests and responses.
Meta server: implement authentication rpc response "current" time and session end time. Retrieve ssl session timeouts from ssl context and use these as session end time with PSK and X509 authentication methods. With PSK authentication the token end time takes precedence over ssl session end time. Use ticket end time as session end time with Kerberos authentication method. Implement update counter with authentication context. Use update counter to detect authentication context possible changes, and re-validate client's authentication. Implement chunk server re-authentication. Request chunk server re-authentication when session expires or when authentication context changes. Enqueue RPC requests and responses until chunk server re-authentication completes successfully.