From f5dd306f718a5c65958b1b7492bd07e869048842 Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Sat, 25 Jun 2016 12:29:59 +0000 Subject: [PATCH 1/3] Update: improved auth related logging --- src/auth.c | 40 +++++++++++++++++++++++++++++++++++++++- src/fserve.c | 2 +- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/auth.c b/src/auth.c index 43a74e5f..e4df3dc7 100644 --- a/src/auth.c +++ b/src/auth.c @@ -61,6 +61,42 @@ static unsigned long _next_auth_id(void) { return id; } +static const char *auth_result2str(auth_result res) +{ + switch (res) { + case AUTH_UNDEFINED: + return "undefined"; + break; + case AUTH_OK: + return "ok"; + break; + case AUTH_FAILED: + return "failed"; + break; + case AUTH_RELEASED: + return "released"; + break; + case AUTH_FORBIDDEN: + return "forbidden"; + break; + case AUTH_NOMATCH: + return "nomatch"; + break; + case AUTH_USERADDED: + return "useradded"; + break; + case AUTH_USEREXISTS: + return "userexists"; + break; + case AUTH_USERDELETED: + return "userdeleted"; + break; + default: + return "(unknown)"; + break; + } +} + static auth_client *auth_client_setup (client_t *client) { /* This will look something like "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" */ @@ -268,6 +304,8 @@ static void __handle_auth_client (auth_t *auth, auth_client *auth_user) { result = AUTH_FAILED; } + ICECAST_LOG_DEBUG("client %p on auth %p role %s processed: %s", auth_user->client, auth, auth->role, auth_result2str(result)); + if (result == AUTH_OK) { if (auth_user->client->acl) acl_release(auth_user->client->acl); @@ -355,7 +393,7 @@ static void auth_add_client(auth_t *auth, client_t *client, void (*on_no_match)( auth_user->on_no_match = on_no_match; auth_user->on_result = on_result; auth_user->userdata = userdata; - ICECAST_LOG_INFO("adding client for authentication"); + ICECAST_LOG_INFO("adding client %p for authentication on %p", client); queue_auth_client(auth_user); } diff --git a/src/fserve.c b/src/fserve.c index 84b98f94..cda10674 100644 --- a/src/fserve.c +++ b/src/fserve.c @@ -669,7 +669,7 @@ int fserve_add_client (client_t *client, FILE *file) { fserve_t *fclient = calloc (1, sizeof(fserve_t)); - ICECAST_LOG_DEBUG("Adding client to file serving engine"); + ICECAST_LOG_DEBUG("Adding client %p to file serving engine", client); if (fclient == NULL) { client_send_error(client, 404, 0, "memory exhausted"); From e75b1a1612758fe5d98fc19be64093369da723bf Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Tue, 28 Jun 2016 11:54:20 +0000 Subject: [PATCH 2/3] Fix: Corrected number of arguments for ICECAST_LOG_INFO() This fixes the number of arguments for ICECAST_LOG_INFO(). Why doesn't GCC warn about this? --- src/auth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/auth.c b/src/auth.c index e4df3dc7..1ca46778 100644 --- a/src/auth.c +++ b/src/auth.c @@ -393,7 +393,7 @@ static void auth_add_client(auth_t *auth, client_t *client, void (*on_no_match)( auth_user->on_no_match = on_no_match; auth_user->on_result = on_result; auth_user->userdata = userdata; - ICECAST_LOG_INFO("adding client %p for authentication on %p", client); + ICECAST_LOG_INFO("adding client %p for authentication on %p", client, auth); queue_auth_client(auth_user); } From 84124c313a3a86f3aa3dbaeb32adc99505920377 Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Tue, 28 Jun 2016 11:56:04 +0000 Subject: [PATCH 3/3] Update: Added spaces to output of auth_result2str(). This adds spaces into the strings such as "nomatch" (-> "no match") as returned by auth_result2str(). This is to improve readability of resulting logfiles by most uses. --- src/auth.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/auth.c b/src/auth.c index 1ca46778..47427560 100644 --- a/src/auth.c +++ b/src/auth.c @@ -80,16 +80,16 @@ static const char *auth_result2str(auth_result res) return "forbidden"; break; case AUTH_NOMATCH: - return "nomatch"; + return "no match"; break; case AUTH_USERADDED: - return "useradded"; + return "user added"; break; case AUTH_USEREXISTS: - return "userexists"; + return "user exists"; break; case AUTH_USERDELETED: - return "userdeleted"; + return "user deleted"; break; default: return "(unknown)";