static CockpitCreds * cockpit_auth_session_login_finish (CockpitAuth *self, GAsyncResult *result, GError **error) { CockpitCreds *creds; LoginData *login; g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (self), cockpit_auth_session_login_async), NULL); if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error)) return NULL; login = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (result)); creds = parse_auth_results (login, error); if (!creds) return NULL; stash_session_process (self, creds, login->session_pipe); login->session_pipe = NULL; return creds; }
static CockpitCreds * cockpit_auth_session_login_finish (CockpitAuth *self, GAsyncResult *result, GHashTable *headers, CockpitTransport **transport, GError **error) { CockpitCreds *creds; SessionLoginData *sl; g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (self), cockpit_auth_session_login_async), NULL); if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error)) { build_gssapi_output_header (headers, NULL); return NULL; } sl = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (result)); creds = parse_auth_results (sl, headers, error); if (!creds) return NULL; if (transport) *transport = cockpit_pipe_transport_new (sl->session_pipe); return creds; }