From 9c519002384d38acfdd7e605d15aa33017af02f0 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 24 Jun 2019 11:45:22 -0500 Subject: [PATCH] Declare kdc log functions to be printf-like And add a kdc_vlog() function. --- kdc/connect.c | 6 +++--- kdc/default_config.c | 4 +--- kdc/digest-service.c | 2 +- kdc/kerberos5.c | 4 ++-- kdc/log.c | 19 ++++++++++++++++--- 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/kdc/connect.c b/kdc/connect.c index d35b65daa..e1d8ba09e 100644 --- a/kdc/connect.c +++ b/kdc/connect.c @@ -1255,15 +1255,15 @@ start_kdc(krb5_context context, } end: - kdc_log(context, config, 0, "KDC master process exiting", pid); + kdc_log(context, config, 0, "KDC master process exiting"); free(pids); } else { loop(context, config, d, ndescr, -1); - kdc_log(context, config, 0, "KDC exiting", pid); + kdc_log(context, config, 0, "KDC exiting"); } #else loop(context, config, d, ndescr, -1); - kdc_log(context, config, 0, "KDC exiting", pid); + kdc_log(context, config, 0, "KDC exiting"); #endif free(d); diff --git a/kdc/default_config.c b/kdc/default_config.c index 63b4681f0..87413663f 100644 --- a/kdc/default_config.c +++ b/kdc/default_config.c @@ -97,9 +97,7 @@ krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config) digests); c->enable_digest = 0; } else if (c->digests_allowed == 0) { - kdc_log(context, c, 0, - "no digest enable, turning digest off", - digests); + kdc_log(context, c, 0, "no digest enable, turning digest off"); c->enable_digest = 0; } } diff --git a/kdc/digest-service.c b/kdc/digest-service.c index 9f0880bb3..8a48f8c4e 100644 --- a/kdc/digest-service.c +++ b/kdc/digest-service.c @@ -127,7 +127,7 @@ ntlm_service(void *ctx, const heim_idata *req, } kdc_log(context, config, 2, - "digest-request: found user, processing ntlm request", ret); + "digest-request: found user, processing ntlm request"); if (ntq.ntChallengeResponce.length != 24) { struct ntlm_buf infotarget, answer; diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index 61c3d1b23..8e07442ac 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -1452,7 +1452,7 @@ kdc_check_flags(krb5_context context, if (server->flags.locked_out) { kdc_log(context, config, 0, - "Client server locked out -- %s", server_name); + "Server locked out -- %s", server_name); return KRB5KDC_ERR_POLICY; } if (server->flags.invalid) { @@ -1498,7 +1498,7 @@ kdc_check_flags(krb5_context context, krb5_format_time(context, *server->pw_end, pwend_str, sizeof(pwend_str), TRUE); kdc_log(context, config, 0, - "Server's key has expired at -- %s", + "Server's key has expired at %s -- %s", pwend_str, server_name); return KRB5KDC_ERR_KEY_EXPIRED; } diff --git a/kdc/log.c b/kdc/log.c index 6850bedd9..895f1c9c6 100644 --- a/kdc/log.c +++ b/kdc/log.c @@ -60,10 +60,14 @@ kdc_openlog(krb5_context context, krb5_set_warn_dest(context, config->logf); } +#undef __attribute__ +#define __attribute__(X) + char* kdc_log_msg_va(krb5_context context, krb5_kdc_configuration *config, int level, const char *fmt, va_list ap) + __attribute__ ((__format__ (__printf__, 4, 0))) { char *msg; krb5_vlog_msg(context, config->logf, &msg, level, fmt, ap); @@ -74,6 +78,7 @@ char* kdc_log_msg(krb5_context context, krb5_kdc_configuration *config, int level, const char *fmt, ...) + __attribute__ ((__format__ (__printf__, 4, 5))) { va_list ap; char *s; @@ -83,15 +88,23 @@ kdc_log_msg(krb5_context context, return s; } +void +kdc_vlog(krb5_context context, + krb5_kdc_configuration *config, + int level, const char *fmt, va_list ap) + __attribute__ ((__format__ (__printf__, 4, 0))) +{ + free(kdc_log_msg_va(context, config, level, fmt, ap)); +} + void kdc_log(krb5_context context, krb5_kdc_configuration *config, int level, const char *fmt, ...) + __attribute__ ((__format__ (__printf__, 4, 5))) { va_list ap; - char *s; va_start(ap, fmt); - s = kdc_log_msg_va(context, config, level, fmt, ap); - if(s) free(s); + free(kdc_log_msg_va(context, config, level, fmt, ap)); va_end(ap); }