GUAC-630: Backport changes from GUAC-622.

This commit is contained in:
Michael Jumper 2014-04-14 13:50:21 -07:00
parent c6a6c5b681
commit e226a7aae0
3 changed files with 43 additions and 22 deletions

View File

@ -83,6 +83,10 @@ void guacd_handle_connection(guac_socket* socket) {
guac_instruction* connect;
int init_result;
/* Reset guac_error */
guac_error = GUAC_STATUS_SUCCESS;
guac_error_message = NULL;
/* Get protocol from select instruction */
select = guac_instruction_expect(
socket, GUACD_USEC_TIMEOUT, "select");

View File

@ -102,35 +102,51 @@ void guacd_client_log_error(guac_client* client, const char* format,
void guacd_log_guac_error(const char* message) {
/* If error message provided, include in log */
if (guac_error_message != NULL)
guacd_log_error("%s: %s: %s",
message,
guac_status_string(guac_error),
guac_error_message);
if (guac_error != GUAC_STATUS_SUCCESS) {
/* Otherwise just log with standard status string */
/* If error message provided, include in log */
if (guac_error_message != NULL)
guacd_log_error("%s: %s: %s",
message,
guac_status_string(guac_error),
guac_error_message);
/* Otherwise just log with standard status string */
else
guacd_log_error("%s: %s",
message,
guac_status_string(guac_error));
}
/* Just log message if no status code */
else
guacd_log_error("%s: %s",
message,
guac_status_string(guac_error));
guacd_log_error("%s", message);
}
void guacd_client_log_guac_error(guac_client* client, const char* message) {
/* If error message provided, include in log */
if (guac_error_message != NULL)
guac_client_log_error(client, "%s: %s: %s",
message,
guac_status_string(guac_error),
guac_error_message);
if (guac_error != GUAC_STATUS_SUCCESS) {
/* Otherwise just log with standard status string */
/* If error message provided, include in log */
if (guac_error_message != NULL)
guac_client_log_error(client, "%s: %s: %s",
message,
guac_status_string(guac_error),
guac_error_message);
/* Otherwise just log with standard status string */
else
guac_client_log_error(client, "%s: %s",
message,
guac_status_string(guac_error));
}
/* Just log message if no status code */
else
guac_client_log_error(client, "%s: %s",
message,
guac_status_string(guac_error));
guac_client_log_error(client, "%s", message);
}

View File

@ -127,7 +127,8 @@ int __guac_handle_size(guac_client* client, guac_instruction* instruction) {
}
int __guac_handle_disconnect(guac_client* client, guac_instruction* instruction) {
/* Return error code to force disconnect */
return -1;
guac_client_log_info(client, "Disconnect requested. Stopping client...");
guac_client_stop(client);
return 0;
}