From 78928dc5750c36c648821a937b0bd988ab19438f Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Mon, 2 Jan 2017 16:16:37 +0200 Subject: [PATCH] Make session_[getUser|get_remote] const correct - Rename session_getUser to session_get_user - Change session_get_user and session_get_remote to take a const SESSION* as argument and to return a const char*. - Change server_get_persistent, so that user is passed as const. - Update all users of these functions as appropriate. --- include/maxscale/server.h | 2 +- include/maxscale/session.h | 4 ++-- server/core/dcb.c | 8 ++++---- server/core/server.c | 2 +- server/core/session.c | 8 ++++---- server/modules/filter/cache/rules.cc | 2 +- server/modules/filter/mqfilter/mqfilter.c | 5 +++-- .../filter/namedserverfilter/namedserverfilter.c | 4 ++-- server/modules/filter/qlafilter/qlafilter.c | 16 ++++++++-------- server/modules/filter/regexfilter/regexfilter.c | 4 ++-- server/modules/filter/tee/tee.c | 4 ++-- server/modules/filter/topfilter/topfilter.c | 4 ++-- server/modules/filter/tpmfilter/tpmfilter.c | 4 ++-- 13 files changed, 34 insertions(+), 33 deletions(-) diff --git a/include/maxscale/server.h b/include/maxscale/server.h index 4820ea9d1..1eb16c104 100644 --- a/include/maxscale/server.h +++ b/include/maxscale/server.h @@ -291,7 +291,7 @@ extern void server_transfer_status(SERVER *dest_server, SERVER *source_server); extern void serverAddMonUser(SERVER *, char *, char *); extern char *serverGetParameter(SERVER *, char *); extern void server_update_credentials(SERVER *, char *, char *); -extern DCB *server_get_persistent(SERVER *, char *, const char *, int); +extern DCB *server_get_persistent(SERVER *, const char *, const char *, int); extern void server_update_address(SERVER *, char *); extern void server_update_port(SERVER *, unsigned short); extern RESULTSET *serverGetList(); diff --git a/include/maxscale/session.h b/include/maxscale/session.h index b2acc5797..47a713962 100644 --- a/include/maxscale/session.h +++ b/include/maxscale/session.h @@ -212,8 +212,8 @@ SESSION *session_alloc(struct service *, struct dcb *); SESSION *session_set_dummy(struct dcb *); int session_isvalid(SESSION *); int session_reply(void *inst, void *session, GWBUF *data); -char *session_get_remote(SESSION *); -char *session_getUser(SESSION *); +const char *session_get_remote(const SESSION *); +const char *session_get_user(const SESSION *); void printAllSessions(); void printSession(SESSION *); void dprintSessionList(DCB *pdcb); diff --git a/server/core/dcb.c b/server/core/dcb.c index 44663f1b1..19b27d52f 100644 --- a/server/core/dcb.c +++ b/server/core/dcb.c @@ -640,9 +640,9 @@ dcb_connect(SERVER *server, SESSION *session, const char *protocol) GWPROTOCOL *funcs; int fd; int rc; - char *user; + const char *user; - user = session_getUser(session); + user = session_get_user(session); if (user && strlen(user)) { MXS_DEBUG("%lu [dcb_connect] Looking for persistent connection DCB " @@ -1653,8 +1653,8 @@ dcb_close(DCB *dcb) && dcb->server && DCB_STATE_POLLING == dcb->state) { /* May be a candidate for persistence, so save user name */ - char *user; - user = session_getUser(dcb->session); + const char *user; + user = session_get_user(dcb->session); if (user && strlen(user) && !dcb->user) { dcb->user = MXS_STRDUP_A(user); diff --git a/server/core/server.c b/server/core/server.c index 9441d6d64..1f1234e4c 100644 --- a/server/core/server.c +++ b/server/core/server.c @@ -206,7 +206,7 @@ server_free(SERVER *tofreeserver) * @param protocol The name of the protocol needed for the connection */ DCB * -server_get_persistent(SERVER *server, char *user, const char *protocol, int id) +server_get_persistent(SERVER *server, const char *user, const char *protocol, int id) { DCB *dcb, *previous = NULL; diff --git a/server/core/session.c b/server/core/session.c index bdcafa225..b78326e3f 100644 --- a/server/core/session.c +++ b/server/core/session.c @@ -707,8 +707,8 @@ session_reply(void *instance, void *session, GWBUF *data) * * @param session The session whose client address to return */ -char * -session_get_remote(SESSION *session) +const char * +session_get_remote(const SESSION *session) { if (session && session->client_dcb) { @@ -749,8 +749,8 @@ return_succp: * @param session The session pointer. * @return The user name or NULL if it can not be determined. */ -char * -session_getUser(SESSION *session) +const char * +session_get_user(const SESSION *session) { return (session && session->client_dcb) ? session->client_dcb->user : NULL; } diff --git a/server/modules/filter/cache/rules.cc b/server/modules/filter/cache/rules.cc index 8129c2942..bcca08c1f 100644 --- a/server/modules/filter/cache/rules.cc +++ b/server/modules/filter/cache/rules.cc @@ -326,7 +326,7 @@ bool cache_rules_should_use(CACHE_RULES *self, const SESSION *session) bool should_use = false; CACHE_RULE *rule = self->use_rules; - const char *user = session_getUser((SESSION*)session); + const char *user = session_get_user((SESSION*)session); const char *host = session_get_remote((SESSION*)session); if (!user) diff --git a/server/modules/filter/mqfilter/mqfilter.c b/server/modules/filter/mqfilter/mqfilter.c index f9b29d4d0..b2baa0773 100644 --- a/server/modules/filter/mqfilter/mqfilter.c +++ b/server/modules/filter/mqfilter/mqfilter.c @@ -1126,7 +1126,8 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue) { MQ_SESSION *my_session = (MQ_SESSION *) session; MQ_INSTANCE *my_instance = (MQ_INSTANCE *) instance; - char *ptr, t_buf[128], *combined, *canon_q, *sesshost, *sessusr; + char *ptr, t_buf[128], *combined, *canon_q; + const char *sesshost, *sessusr; bool success = false, src_ok = false, schema_ok = false, obj_ok = false; int length, i, j, dbcount = 0; char** sesstbls; @@ -1171,7 +1172,7 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue) { if (session_isvalid(my_session->session)) { - sessusr = session_getUser(my_session->session); + sessusr = session_get_user(my_session->session); sesshost = session_get_remote(my_session->session); /**Username was configured*/ diff --git a/server/modules/filter/namedserverfilter/namedserverfilter.c b/server/modules/filter/namedserverfilter/namedserverfilter.c index e31ae7632..60a022a8d 100644 --- a/server/modules/filter/namedserverfilter/namedserverfilter.c +++ b/server/modules/filter/namedserverfilter/namedserverfilter.c @@ -262,7 +262,7 @@ newSession(FILTER *instance, SESSION *session) { REGEXHINT_INSTANCE *my_instance = (REGEXHINT_INSTANCE *) instance; REGEXHINT_SESSION *my_session; - char *remote, *user; + const char *remote, *user; if ((my_session = MXS_CALLOC(1, sizeof(REGEXHINT_SESSION))) != NULL) { @@ -278,7 +278,7 @@ newSession(FILTER *instance, SESSION *session) } } - if (my_instance->user && (user = session_getUser(session)) + if (my_instance->user && (user = session_get_user(session)) && strcmp(user, my_instance->user)) { my_session->active = 0; diff --git a/server/modules/filter/qlafilter/qlafilter.c b/server/modules/filter/qlafilter/qlafilter.c index a3563fcc7..a6ae491cd 100644 --- a/server/modules/filter/qlafilter/qlafilter.c +++ b/server/modules/filter/qlafilter/qlafilter.c @@ -145,12 +145,12 @@ typedef struct { int active; DOWNSTREAM down; - char *filename; /* The session-specific log file name */ - FILE *fp; /* The session-specific log file */ - char *remote; - char *service; /* The service name this filter is attached to. Not owned. */ - size_t ses_id; /* The session this filter serves */ - char *user; /* The client */ + char *filename; /* The session-specific log file name */ + FILE *fp; /* The session-specific log file */ + const char *remote; + char *service; /* The service name this filter is attached to. Not owned. */ + size_t ses_id; /* The session this filter serves */ + const char *user; /* The client */ } QLA_SESSION; static FILE* open_log_file(uint32_t, QLA_INSTANCE *, const char *); @@ -413,7 +413,7 @@ newSession(FILTER *instance, SESSION *session) { QLA_INSTANCE *my_instance = (QLA_INSTANCE *) instance; QLA_SESSION *my_session; - char *remote, *userName; + const char *remote, *userName; if ((my_session = MXS_CALLOC(1, sizeof(QLA_SESSION))) != NULL) { @@ -425,7 +425,7 @@ newSession(FILTER *instance, SESSION *session) my_session->active = 1; remote = session_get_remote(session); - userName = session_getUser(session); + userName = session_get_user(session); ss_dassert(userName && remote); if ((my_instance->source && remote && diff --git a/server/modules/filter/regexfilter/regexfilter.c b/server/modules/filter/regexfilter/regexfilter.c index 8382ca497..7ba50b04c 100644 --- a/server/modules/filter/regexfilter/regexfilter.c +++ b/server/modules/filter/regexfilter/regexfilter.c @@ -311,7 +311,7 @@ newSession(FILTER *instance, SESSION *session) { REGEX_INSTANCE *my_instance = (REGEX_INSTANCE *) instance; REGEX_SESSION *my_session; - char *remote, *user; + const char *remote, *user; if ((my_session = MXS_CALLOC(1, sizeof(REGEX_SESSION))) != NULL) { @@ -327,7 +327,7 @@ newSession(FILTER *instance, SESSION *session) } } - if (my_instance->user && (user = session_getUser(session)) + if (my_instance->user && (user = session_get_user(session)) && strcmp(user, my_instance->user)) { my_session->active = 0; diff --git a/server/modules/filter/tee/tee.c b/server/modules/filter/tee/tee.c index 5a11aa56b..2bc894d5d 100644 --- a/server/modules/filter/tee/tee.c +++ b/server/modules/filter/tee/tee.c @@ -491,7 +491,7 @@ newSession(FILTER *instance, SESSION *session) { TEE_INSTANCE *my_instance = (TEE_INSTANCE *) instance; TEE_SESSION *my_session; - char *remote, *userName; + const char *remote, *userName; if (strcmp(my_instance->service->name, session->service->name) == 0) { @@ -533,7 +533,7 @@ newSession(FILTER *instance, SESSION *session) MXS_WARNING("Tee filter is not active."); } } - userName = session_getUser(session); + userName = session_get_user(session); if (my_instance->userName && userName && diff --git a/server/modules/filter/topfilter/topfilter.c b/server/modules/filter/topfilter/topfilter.c index a423d2a19..eeeeb1dcc 100644 --- a/server/modules/filter/topfilter/topfilter.c +++ b/server/modules/filter/topfilter/topfilter.c @@ -330,7 +330,7 @@ newSession(FILTER *instance, SESSION *session) TOPN_INSTANCE *my_instance = (TOPN_INSTANCE *) instance; TOPN_SESSION *my_session; int i; - char *remote, *user; + const char *remote, *user; if ((my_session = MXS_CALLOC(1, sizeof(TOPN_SESSION))) != NULL) { @@ -364,7 +364,7 @@ newSession(FILTER *instance, SESSION *session) { my_session->clientHost = NULL; } - if ((user = session_getUser(session)) != NULL) + if ((user = session_get_user(session)) != NULL) { my_session->userName = MXS_STRDUP_A(user); } diff --git a/server/modules/filter/tpmfilter/tpmfilter.c b/server/modules/filter/tpmfilter/tpmfilter.c index 514d2b1c5..c0475de1d 100644 --- a/server/modules/filter/tpmfilter/tpmfilter.c +++ b/server/modules/filter/tpmfilter/tpmfilter.c @@ -343,7 +343,7 @@ newSession(FILTER *instance, SESSION *session) TPM_INSTANCE *my_instance = (TPM_INSTANCE *)instance; TPM_SESSION *my_session; int i; - char *remote, *user; + const char *remote, *user; if ((my_session = MXS_CALLOC(1, sizeof(TPM_SESSION))) != NULL) { @@ -366,7 +366,7 @@ newSession(FILTER *instance, SESSION *session) { my_session->clientHost = NULL; } - if ((user = session_getUser(session)) != NULL) + if ((user = session_get_user(session)) != NULL) { my_session->userName = MXS_STRDUP_A(user); }