summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2017-12-01 13:54:26 -0600
committerRichard Mudgett <rmudgett@digium.com>2017-12-04 17:21:27 -0600
commit8536a09b86a47e3fff02005aed38f5dc1fefb11a (patch)
tree6c6b8d81fa8cccc2bede76cc41af36519b515ec1 /channels
parent890ffcd67247479d5b12f074a79ae2383fc2cdfc (diff)
security-events: Fix SuccessfulAuth using_password declaration.
The SuccessfulAuth using_password field was declared as a pointer to a uint32_t when the field was later read as a uint32_t value. This resulted in unnecessary casts and a non-portable field value reinterpret in main/security_events.c:add_json_object(). i.e., It would work on a 32 bit architecture but not on a 64 bit big endian architecture. Change-Id: Ia08bc797613a62f07e5473425f9ccd8d77c80935
Diffstat (limited to 'channels')
-rw-r--r--channels/sip/include/security_events.h2
-rw-r--r--channels/sip/security_events.c9
2 files changed, 6 insertions, 5 deletions
diff --git a/channels/sip/include/security_events.h b/channels/sip/include/security_events.h
index 1d0f58b41..9f4bb2ec9 100644
--- a/channels/sip/include/security_events.h
+++ b/channels/sip/include/security_events.h
@@ -32,7 +32,7 @@
void sip_report_invalid_peer(const struct sip_pvt *p);
void sip_report_failed_acl(const struct sip_pvt *p, const char *aclname);
void sip_report_inval_password(const struct sip_pvt *p, const char *responsechallenge, const char *responsehash);
-void sip_report_auth_success(const struct sip_pvt *p, uint32_t *using_password);
+void sip_report_auth_success(const struct sip_pvt *p, uint32_t using_password);
void sip_report_session_limit(const struct sip_pvt *p);
void sip_report_failed_challenge_response(const struct sip_pvt *p, const char *response, const char *expected_response);
void sip_report_chal_sent(const struct sip_pvt *p);
diff --git a/channels/sip/security_events.c b/channels/sip/security_events.c
index b51c4736c..86ab6c2f5 100644
--- a/channels/sip/security_events.c
+++ b/channels/sip/security_events.c
@@ -120,7 +120,7 @@ void sip_report_inval_password(const struct sip_pvt *p, const char *response_cha
ast_security_event_report(AST_SEC_EVT(&inval_password));
}
-void sip_report_auth_success(const struct sip_pvt *p, uint32_t *using_password)
+void sip_report_auth_success(const struct sip_pvt *p, uint32_t using_password)
{
char session_id[32];
@@ -269,7 +269,8 @@ void sip_report_inval_transport(const struct sip_pvt *p, const char *transport)
}
int sip_report_security_event(const char *peer, struct ast_sockaddr *addr, const struct sip_pvt *p,
- const struct sip_request *req, const int res) {
+ const struct sip_request *req, const int res)
+{
struct sip_peer *peer_report;
enum check_auth_result res_report = res;
@@ -295,9 +296,9 @@ int sip_report_security_event(const char *peer, struct ast_sockaddr *addr, const
case AUTH_SUCCESSFUL:
if (peer_report) {
if (ast_strlen_zero(peer_report->secret) && ast_strlen_zero(peer_report->md5secret)) {
- sip_report_auth_success(p, (uint32_t *) 0);
+ sip_report_auth_success(p, 0);
} else {
- sip_report_auth_success(p, (uint32_t *) 1);
+ sip_report_auth_success(p, 1);
}
}
break;