diff --git a/ChangeLog.txt b/ChangeLog.txt index 0650ffc5..f131f058 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,7 @@ +Build: +- Various fixes for building with mem_limit){ return NULL; } #endif - void *mem = calloc(nmemb, size); + mem = calloc(nmemb, size); #ifdef REAL_WITH_MEMORY_TRACKING if(mem){ @@ -79,12 +80,15 @@ void mosquitto__free(void *mem) void *mosquitto__malloc(size_t size) { + void *mem; + #ifdef REAL_WITH_MEMORY_TRACKING if(mem_limit && memcount + size > mem_limit){ return NULL; } #endif - void *mem = malloc(size); + + mem = malloc(size); #ifdef REAL_WITH_MEMORY_TRACKING if(mem){ @@ -112,13 +116,11 @@ unsigned long mosquitto__max_memory_used(void) void *mosquitto__realloc(void *ptr, size_t size) { + void *mem; #ifdef REAL_WITH_MEMORY_TRACKING if(mem_limit && memcount + size > mem_limit){ return NULL; } -#endif - void *mem; -#ifdef REAL_WITH_MEMORY_TRACKING if(ptr){ memcount -= malloc_usable_size(ptr); } @@ -139,12 +141,13 @@ void *mosquitto__realloc(void *ptr, size_t size) char *mosquitto__strdup(const char *s) { + char *str; #ifdef REAL_WITH_MEMORY_TRACKING if(mem_limit && memcount + strlen(s) > mem_limit){ return NULL; } #endif - char *str = strdup(s); + str = strdup(s); #ifdef REAL_WITH_MEMORY_TRACKING if(str){ @@ -157,4 +160,3 @@ char *mosquitto__strdup(const char *s) return str; } - diff --git a/lib/mosquitto_internal.h b/lib/mosquitto_internal.h index 5df0b491..2a97506b 100644 --- a/lib/mosquitto_internal.h +++ b/lib/mosquitto_internal.h @@ -165,7 +165,6 @@ struct mosquitto_message_all{ struct mosquitto_message_all *prev; mosquitto_property *properties; time_t timestamp; - //enum mosquitto_msg_direction direction; enum mosquitto_msg_state state; bool dup; struct mosquitto_message msg; @@ -321,7 +320,7 @@ struct mosquitto { void (*on_unsubscribe)(struct mosquitto *, void *userdata, int mid); void (*on_unsubscribe_v5)(struct mosquitto *, void *userdata, int mid, const mosquitto_property *props); void (*on_log)(struct mosquitto *, void *userdata, int level, const char *str); - //void (*on_error)(); + /*void (*on_error)();*/ char *host; int port; char *bind_address; diff --git a/lib/net_mosq.c b/lib/net_mosq.c index 9012646b..c6b46238 100644 --- a/lib/net_mosq.c +++ b/lib/net_mosq.c @@ -482,11 +482,11 @@ void net__print_ssl_error(struct mosquitto *mosq) int net__socket_connect_tls(struct mosquitto *mosq) { int ret, err; + long res; ERR_clear_error(); - long res; if (mosq->tls_ocsp_required) { - // Note: OCSP is available in all currently supported OpenSSL versions. + /* Note: OCSP is available in all currently supported OpenSSL versions. */ if ((res=SSL_set_tlsext_status_type(mosq->ssl, TLSEXT_STATUSTYPE_ocsp)) != 1) { log__printf(mosq, MOSQ_LOG_ERR, "Could not activate OCSP (error: %ld)", res); return MOSQ_ERR_OCSP; @@ -537,6 +537,9 @@ static int net__init_ssl_ctx(struct mosquitto *mosq) ENGINE *engine = NULL; uint8_t tls_alpn_wire[256]; uint8_t tls_alpn_len; +#if !defined(OPENSSL_NO_ENGINE) + EVP_PKEY *pkey; +#endif if(mosq->ssl_ctx){ if(!mosq->ssl_ctx_defaults){ @@ -595,7 +598,7 @@ static int net__init_ssl_ctx(struct mosquitto *mosq) /* Set ALPN */ if(mosq->tls_alpn) { tls_alpn_len = (uint8_t) strnlen(mosq->tls_alpn, 254); - tls_alpn_wire[0] = tls_alpn_len; // first byte is length of string + tls_alpn_wire[0] = tls_alpn_len; /* first byte is length of string */ memcpy(tls_alpn_wire + 1, mosq->tls_alpn, tls_alpn_len); SSL_CTX_set_alpn_protos(mosq->ssl_ctx, tls_alpn_wire, tls_alpn_len + 1); } @@ -718,7 +721,7 @@ static int net__init_ssl_ctx(struct mosquitto *mosq) } ui_method = NULL; } - EVP_PKEY *pkey = ENGINE_load_private_key(engine, mosq->tls_keyfile, ui_method, NULL); + pkey = ENGINE_load_private_key(engine, mosq->tls_keyfile, ui_method, NULL); if(!pkey){ log__printf(mosq, MOSQ_LOG_ERR, "Error: Unable to load engine private key file \"%s\".", mosq->tls_keyfile); ENGINE_FINISH(engine); diff --git a/lib/net_mosq_ocsp.c b/lib/net_mosq_ocsp.c index de7dab6a..af1511f6 100644 --- a/lib/net_mosq_ocsp.c +++ b/lib/net_mosq_ocsp.c @@ -64,7 +64,7 @@ int mosquitto__verify_ocsp_status_cb(SSL * ssl, void *arg) long len = SSL_get_tlsext_status_ocsp_resp(mosq->ssl, &p); log__printf(mosq, MOSQ_LOG_DEBUG, "OCSP: SSL_get_tlsext_status_ocsp_resp returned %ld bytes", len); - // the following functions expect a const pointer + /* the following functions expect a const pointer */ cp = (const unsigned char *)p; if (!cp || len <= 0) { @@ -100,9 +100,10 @@ int mosquitto__verify_ocsp_status_cb(SSL * ssl, void *arg) st = SSL_CTX_get_cert_store(mosq->ssl_ctx); - // Note: - // Other checkers often fix problems in OpenSSL before 1.0.2a (e.g. libcurl). - // For all currently supported versions of the OpenSSL project, this is not needed anymore. + /* Note: + * Other checkers often fix problems in OpenSSL before 1.0.2a (e.g. libcurl). + * For all currently supported versions of the OpenSSL project, this is not needed anymore. + */ if ((result2=OCSP_basic_verify(br, ch, st, 0)) <= 0) { log__printf(mosq, MOSQ_LOG_DEBUG, "OCSP: response verification failed (error: %d)", result2); @@ -126,7 +127,7 @@ int mosquitto__verify_ocsp_status_cb(SSL * ssl, void *arg) switch(cert_status) { case V_OCSP_CERTSTATUS_GOOD: - // Note: A OCSP stapling result will be accepted up to 5 minutes after it expired! + /* Note: A OCSP stapling result will be accepted up to 5 minutes after it expired! */ if(!OCSP_check_validity(thisupd, nextupd, 300L, -1L)) { log__printf(mosq, MOSQ_LOG_DEBUG, "OCSP: OCSP response has expired"); goto end; @@ -149,11 +150,11 @@ int mosquitto__verify_ocsp_status_cb(SSL * ssl, void *arg) if (br!=NULL) OCSP_BASICRESP_free(br); if (rsp!=NULL) OCSP_RESPONSE_free(rsp); - return 1; // OK + return 1; /* OK */ end: if (br!=NULL) OCSP_BASICRESP_free(br); if (rsp!=NULL) OCSP_RESPONSE_free(rsp); - return 0; // Not OK + return 0; /* Not OK */ } #endif diff --git a/lib/utf8_mosq.c b/lib/utf8_mosq.c index ca7de490..47867868 100644 --- a/lib/utf8_mosq.c +++ b/lib/utf8_mosq.c @@ -45,11 +45,11 @@ int mosquitto_validate_utf8(const char *str, int len) codelen = 2; codepoint = (ustr[i] & 0x1F); }else if((ustr[i] & 0xF0) == 0xE0){ - // 1110xxxx - 3 byte sequence + /* 1110xxxx - 3 byte sequence */ codelen = 3; codepoint = (ustr[i] & 0x0F); }else if((ustr[i] & 0xF8) == 0xF0){ - // 11110xxx - 4 byte sequence + /* 11110xxx - 4 byte sequence */ if(ustr[i] > 0xF4){ /* Invalid, this would produce values > 0x10FFFF. */ return MOSQ_ERR_MALFORMED_UTF8; diff --git a/src/conf.c b/src/conf.c index f4038422..cd571d4c 100644 --- a/src/conf.c +++ b/src/conf.c @@ -778,6 +778,10 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct struct mosquitto__listener *cur_listener = &config->default_listener; int i; int lineno_ext = 0; + char **files; + int file_count; + char *kpass_sha = NULL, *kpass_sha_bin = NULL; + char *keyform ; *lineno = 0; @@ -798,7 +802,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct if(conf__parse_string(&token, "acl_file", &cur_security_options->acl_file, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "address") || !strcmp(token, "addresses")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge || cur_bridge->addresses){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -860,7 +864,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct conf__set_cur_security_options(config, cur_listener, &cur_security_options); if(conf__parse_bool(&token, "allow_zero_length_clientid", &cur_security_options->allow_zero_length_clientid, saveptr)) return MOSQ_ERR_INVAL; }else if(!strncmp(token, "auth_opt_", 9)){ - if(reload) continue; // Auth plugin not currently valid for reloading. + if(reload) continue; /* Auth plugin not currently valid for reloading. */ if(!cur_auth_plugin_config){ log__printf(NULL, MOSQ_LOG_ERR, "Error: An auth_opt_ option exists in the config file without an auth_plugin."); return MOSQ_ERR_INVAL; @@ -903,7 +907,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct return MOSQ_ERR_INVAL; } }else if(!strcmp(token, "auth_plugin")){ - if(reload) continue; // Auth plugin not currently valid for reloading. + if(reload) continue; /* Auth plugin not currently valid for reloading. */ conf__set_cur_security_options(config, cur_listener, &cur_security_options); cur_security_options->auth_plugin_configs = mosquitto__realloc(cur_security_options->auth_plugin_configs, (cur_security_options->auth_plugin_config_count+1)*sizeof(struct mosquitto__auth_plugin_config)); if(!cur_security_options->auth_plugin_configs){ @@ -919,7 +923,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct cur_security_options->auth_plugin_config_count++; if(conf__parse_string(&token, "auth_plugin", &cur_auth_plugin_config->path, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "auth_plugin_deny_special_chars")){ - if(reload) continue; // Auth plugin not currently valid for reloading. + if(reload) continue; /* Auth plugin not currently valid for reloading. */ if(!cur_auth_plugin_config){ log__printf(NULL, MOSQ_LOG_ERR, "Error: An auth_plugin_deny_special_chars option exists in the config file without an auth_plugin."); return MOSQ_ERR_INVAL; @@ -939,14 +943,14 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct }else if(!strcmp(token, "autosave_on_changes")){ if(conf__parse_bool(&token, "autosave_on_changes", &config->autosave_on_changes, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "bind_address")){ - if(reload) continue; // Listener not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "default listener bind_address", &config->default_listener.host, saveptr)) return MOSQ_ERR_INVAL; if(conf__attempt_resolve(config->default_listener.host, "bind_address", MOSQ_LOG_ERR, "Error")){ return MOSQ_ERR_INVAL; } }else if(!strcmp(token, "bind_interface")){ #ifdef SO_BINDTODEVICE - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "bind_interface", &cur_listener->bind_interface, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_ERR, "Error: bind_interface specified but socket option not available."); @@ -954,7 +958,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_attempt_unsubscribe")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -965,7 +969,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_cafile")){ #if defined(WITH_BRIDGE) && defined(WITH_TLS) - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -982,7 +986,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_alpn")){ #if defined(WITH_BRIDGE) && defined(WITH_TLS) - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -993,7 +997,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_capath")){ #if defined(WITH_BRIDGE) && defined(WITH_TLS) - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1010,7 +1014,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_certfile")){ #if defined(WITH_BRIDGE) && defined(WITH_TLS) - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1027,7 +1031,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_identity")){ #if defined(WITH_BRIDGE) && defined(FINAL_WITH_TLS_PSK) - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1042,7 +1046,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_insecure")){ #if defined(WITH_BRIDGE) && defined(WITH_TLS) - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1056,7 +1060,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_require_ocsp")){ #if defined(WITH_BRIDGE) && defined(WITH_TLS) - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1067,7 +1071,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_keyfile")){ #if defined(WITH_BRIDGE) && defined(WITH_TLS) - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1084,7 +1088,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_protocol_version")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1108,7 +1112,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_psk")){ #if defined(WITH_BRIDGE) && defined(FINAL_WITH_TLS_PSK) - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1123,7 +1127,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "bridge_tls_version")){ #if defined(WITH_BRIDGE) && defined(WITH_TLS) - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1134,7 +1138,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "cafile")){ #if defined(WITH_TLS) - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(cur_listener->psk_hint){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Cannot use both certificate and psk encryption in a single listener."); return MOSQ_ERR_INVAL; @@ -1145,14 +1149,14 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "capath")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "capath", &cur_listener->capath, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); #endif }else if(!strcmp(token, "certfile")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(cur_listener->psk_hint){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Cannot use both certificate and psk encryption in a single listener."); return MOSQ_ERR_INVAL; @@ -1166,14 +1170,14 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct if(conf__parse_bool(&token, "check_retain_source", &config->check_retain_source, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "ciphers")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "ciphers", &cur_listener->ciphers, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); #endif }else if(!strcmp(token, "clientid") || !strcmp(token, "remote_clientid")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1184,7 +1188,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "cleansession")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1201,7 +1205,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct if(conf__parse_string(&token, "clientid_prefixes", &config->clientid_prefixes, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "connection")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ token = strtok_r(NULL, " ", &saveptr); if(token){ /* Check for existing bridge name. */ @@ -1249,28 +1253,28 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct if(conf__parse_bool(&token, token, &config->connection_messages, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "crlfile")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "crlfile", &cur_listener->crlfile, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); #endif }else if(!strcmp(token, "dhparamfile")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "dhparamfile", &cur_listener->dhparamfile, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); #endif }else if(!strcmp(token, "http_dir")){ #ifdef WITH_WEBSOCKETS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "http_dir", &cur_listener->http_dir, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: Websockets support not available."); #endif }else if(!strcmp(token, "idle_timeout")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1292,8 +1296,6 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct return 1; } - char **files; - int file_count; rc = config__get_dir_files(token, &files, &file_count); if(rc) return rc; @@ -1317,7 +1319,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct } }else if(!strcmp(token, "keepalive_interval")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1332,7 +1334,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "keyfile")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "keyfile", &cur_listener->keyfile, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); @@ -1392,7 +1394,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct } }else if(!strcmp(token, "local_clientid")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1403,7 +1405,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "local_password")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1414,7 +1416,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "local_username")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1549,7 +1551,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct log__printf(NULL, MOSQ_LOG_ERR, "Error: Empty log_type value in configuration."); } }else if(!strcmp(token, "max_connections")){ - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ token = strtok_r(NULL, " ", &saveptr); if(token){ cur_listener->max_connections = atoi(token); @@ -1558,7 +1560,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct log__printf(NULL, MOSQ_LOG_ERR, "Error: Empty max_connections value in configuration."); } }else if(!strcmp(token, "maximum_qos")){ - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_int(&token, "maximum_qos", &tmp_int, saveptr)) return MOSQ_ERR_INVAL; if(tmp_int < 0 || tmp_int > 2){ log__printf(NULL, MOSQ_LOG_ERR, "Error: maximum_qos must be between 0 and 2 inclusive."); @@ -1625,7 +1627,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct return MOSQ_ERR_INVAL; } }else if(!strcmp(token, "mount_point")){ - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(config->listener_count == 0){ log__printf(NULL, MOSQ_LOG_ERR, "Error: You must use create a listener before using the mount_point option in the configuration file."); return MOSQ_ERR_INVAL; @@ -1639,7 +1641,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct } }else if(!strcmp(token, "notifications")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1650,7 +1652,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "notifications_local_only")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration"); return MOSQ_ERR_INVAL; @@ -1661,7 +1663,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "notification_topic")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1672,7 +1674,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "password") || !strcmp(token, "remote_password")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1733,10 +1735,10 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct log__printf(NULL, MOSQ_LOG_ERR, "Error: Empty persistent_client_expiration value in configuration."); } }else if(!strcmp(token, "pid_file")){ - if(reload) continue; // pid file not valid for reloading. + if(reload) continue; /* pid file not valid for reloading. */ if(conf__parse_string(&token, "pid_file", &config->pid_file, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "port")){ - if(reload) continue; // Listener not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(config->default_listener.port){ log__printf(NULL, MOSQ_LOG_WARNING, "Warning: Default listener port specified multiple times. Only the latest will be used."); } @@ -1783,7 +1785,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "psk_hint")){ #ifdef FINAL_WITH_TLS_PSK - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "psk_hint", &cur_listener->psk_hint, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS/TLS-PSK support not available."); @@ -1792,14 +1794,14 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct if(conf__parse_bool(&token, token, &config->queue_qos0_messages, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "require_certificate")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_bool(&token, "require_certificate", &cur_listener->require_certificate, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); #endif }else if(!strcmp(token, "restart_timeout")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1832,7 +1834,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct log__printf(NULL, MOSQ_LOG_WARNING, "Warning: The retry_interval option is no longer available."); }else if(!strcmp(token, "round_robin")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1845,7 +1847,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct if(conf__parse_bool(&token, "set_tcp_nodelay", &config->set_tcp_nodelay, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "start_type")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1873,7 +1875,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct log__printf(NULL, MOSQ_LOG_WARNING, "Warning: Bridge support not available."); #endif }else if(!strcmp(token, "socket_domain")){ - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ token = strtok_r(NULL, " ", &saveptr); if(token){ if(!strcmp(token, "ipv4")){ @@ -1898,7 +1900,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct } }else if(!strcmp(token, "threshold")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -1913,15 +1915,14 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "tls_engine")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "tls_engine", &cur_listener->tls_engine, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); #endif }else if(!strcmp(token, "tls_engine_kpass_sha1")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. - char *kpass_sha = NULL, *kpass_sha_bin = NULL; + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "tls_engine_kpass_sha1", &kpass_sha, saveptr)) return MOSQ_ERR_INVAL; if(mosquitto__hex2bin_sha1(kpass_sha, (unsigned char**)&kpass_sha_bin) != MOSQ_ERR_SUCCESS){ mosquitto__free(kpass_sha); @@ -1934,8 +1935,8 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "tls_keyform")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. - char *keyform = NULL; + if(reload) continue; /* Listeners not valid for reloading. */ + keyform = NULL; if(conf__parse_string(&token, "tls_keyform", &keyform, saveptr)) return MOSQ_ERR_INVAL; cur_listener->tls_keyform = mosq_k_pem; if(!strcmp(keyform, "engine")) cur_listener->tls_keyform = mosq_k_engine; @@ -1945,14 +1946,14 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct #endif }else if(!strcmp(token, "tls_version")){ #if defined(WITH_TLS) - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_string(&token, "tls_version", &cur_listener->tls_version, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); #endif }else if(!strcmp(token, "topic")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -2105,7 +2106,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct log__printf(NULL, MOSQ_LOG_WARNING, "Warning: Bridge support not available."); #endif }else if(!strcmp(token, "max_topic_alias")){ - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ token = strtok_r(NULL, " ", &saveptr); if(token){ cur_listener->max_topic_alias = atoi(token); @@ -2114,7 +2115,7 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct } }else if(!strcmp(token, "try_private")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; @@ -2127,28 +2128,28 @@ int config__read_file_core(struct mosquitto__config *config, bool reload, struct if(conf__parse_bool(&token, token, &config->upgrade_outgoing_qos, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "use_identity_as_username")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_bool(&token, "use_identity_as_username", &cur_listener->use_identity_as_username, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); #endif }else if(!strcmp(token, "use_subject_as_username")){ #ifdef WITH_TLS - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_bool(&token, "use_subject_as_username", &cur_listener->use_subject_as_username, saveptr)) return MOSQ_ERR_INVAL; #else log__printf(NULL, MOSQ_LOG_WARNING, "Warning: TLS support not available."); #endif }else if(!strcmp(token, "user")){ - if(reload) continue; // Drop privileges user not valid for reloading. + if(reload) continue; /* Drop privileges user not valid for reloading. */ mosquitto__free(config->user); if(conf__parse_string(&token, "user", &config->user, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "use_username_as_clientid")){ - if(reload) continue; // Listeners not valid for reloading. + if(reload) continue; /* Listeners not valid for reloading. */ if(conf__parse_bool(&token, "use_username_as_clientid", &cur_listener->use_username_as_clientid, saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "username") || !strcmp(token, "remote_username")){ #ifdef WITH_BRIDGE - if(reload) continue; // FIXME + if(reload) continue; /* FIXME */ if(!cur_bridge){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid bridge configuration."); return MOSQ_ERR_INVAL; diff --git a/src/database.c b/src/database.c index a6c4ad2c..11980d7a 100644 --- a/src/database.c +++ b/src/database.c @@ -74,6 +74,8 @@ static bool db__ready_for_queue(struct mosquitto *context, int qos, struct mosqu int adjust_count; unsigned long source_bytes; unsigned long adjust_bytes = max_inflight_bytes; + bool valid_bytes; + bool valid_count; if(max_queued == 0 && max_queued_bytes == 0){ return true; @@ -94,8 +96,8 @@ static bool db__ready_for_queue(struct mosquitto *context, int qos, struct mosqu adjust_count = 0; } - bool valid_bytes = source_bytes - adjust_bytes < max_queued_bytes; - bool valid_count = source_count - adjust_count < max_queued; + valid_bytes = source_bytes - adjust_bytes < max_queued_bytes; + valid_count = source_count - adjust_count < max_queued; if(max_queued_bytes == 0){ return valid_count; @@ -124,7 +126,7 @@ int db__open(struct mosquitto__config *config, struct mosquitto_db *db) db->bridge_count = 0; #endif - // Initialize the hashtable + /* Initialize the hashtable */ db->clientid_index_hash = NULL; db->subs = NULL; diff --git a/src/handle_connect.c b/src/handle_connect.c index 4d8d6a27..99f1f1c3 100644 --- a/src/handle_connect.c +++ b/src/handle_connect.c @@ -378,12 +378,17 @@ int handle__connect(struct mosquitto_db *db, struct mosquitto *context) uint16_t auth_data_len = 0; void *auth_data_out = NULL; uint16_t auth_data_out_len = 0; + bool allow_zero_length_clientid; #ifdef WITH_TLS int i; X509 *client_cert = NULL; X509_NAME *name; X509_NAME_ENTRY *name_entry; ASN1_STRING *name_asn1 = NULL; + BIO *subject_bio; + char *data_start; + long name_length; + char *subject; #endif G_CONNECTION_COUNT_INC(); @@ -494,7 +499,7 @@ int handle__connect(struct mosquitto_db *db, struct mosquitto *context) rc = MOSQ_ERR_PROTOCOL; goto handle_connect_error; } - will_retain = ((connect_flags & 0x20) == 0x20); // Temporary hack because MSVC<1800 doesn't have stdbool.h. + will_retain = ((connect_flags & 0x20) == 0x20); password_flag = connect_flags & 0x40; username_flag = connect_flags & 0x80; @@ -537,7 +542,6 @@ int handle__connect(struct mosquitto_db *db, struct mosquitto *context) mosquitto__free(client_id); client_id = NULL; - bool allow_zero_length_clientid; if(db->config->per_listener_settings){ allow_zero_length_clientid = context->listener->security_options.allow_zero_length_clientid; }else{ @@ -687,7 +691,7 @@ int handle__connect(struct mosquitto_db *db, struct mosquitto *context) rc = 1; goto handle_connect_error; } - if (context->listener->use_identity_as_username) { //use_identity_as_username + if (context->listener->use_identity_as_username) { /* use_identity_as_username */ i = X509_NAME_get_index_by_NID(name, NID_commonName, -1); if(i == -1){ if(context->protocol == mosq_p_mqtt5){ @@ -735,12 +739,12 @@ int handle__connect(struct mosquitto_db *db, struct mosquitto *context) goto handle_connect_error; } } - } else { // use_subject_as_username - BIO *subject_bio = BIO_new(BIO_s_mem()); + } else { /* use_subject_as_username */ + subject_bio = BIO_new(BIO_s_mem()); X509_NAME_print_ex(subject_bio, X509_get_subject_name(client_cert), 0, XN_FLAG_RFC2253); - char *data_start = NULL; - long name_length = BIO_get_mem_data(subject_bio, &data_start); - char *subject = mosquitto__malloc(sizeof(char)*name_length+1); + data_start = NULL; + name_length = BIO_get_mem_data(subject_bio, &data_start); + subject = mosquitto__malloc(sizeof(char)*name_length+1); if(!subject){ BIO_free(subject_bio); rc = MOSQ_ERR_NOMEM; diff --git a/src/net.c b/src/net.c index 21060db6..153c6956 100644 --- a/src/net.c +++ b/src/net.c @@ -444,6 +444,10 @@ int net__tls_load_verify(struct mosquitto__listener *listener) { #ifdef WITH_TLS ENGINE *engine = NULL; +# if !defined(OPENSSL_NO_ENGINE) + UI_METHOD *ui_method; + EVP_PKEY *pkey; +# endif int rc; rc = SSL_CTX_load_verify_locations(listener->ssl_ctx, listener->cafile, listener->capath); @@ -493,7 +497,7 @@ int net__tls_load_verify(struct mosquitto__listener *listener) } if(listener->tls_engine && listener->tls_keyform == mosq_k_engine){ #if !defined(OPENSSL_NO_ENGINE) - UI_METHOD *ui_method = net__get_ui_method(); + ui_method = net__get_ui_method(); if(listener->tls_engine_kpass_sha1){ if(!ENGINE_ctrl_cmd(engine, ENGINE_SECRET_MODE, ENGINE_SECRET_MODE_SHA, NULL, NULL, 0)){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to set engine secret mode sha"); @@ -509,7 +513,7 @@ int net__tls_load_verify(struct mosquitto__listener *listener) } ui_method = NULL; } - EVP_PKEY *pkey = ENGINE_load_private_key(engine, listener->keyfile, ui_method, NULL); + pkey = ENGINE_load_private_key(engine, listener->keyfile, ui_method, NULL); if(!pkey){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to load engine private key file \"%s\".", listener->keyfile); net__print_ssl_error(NULL); diff --git a/src/persist_read.c b/src/persist_read.c index 9e4b1816..fd87d825 100644 --- a/src/persist_read.c +++ b/src/persist_read.c @@ -408,7 +408,7 @@ int persist__restore(struct mosquitto_db *db) goto error; } if(!memcmp(header, magic, 15)){ - // Restore DB as normal + /* Restore DB as normal */ read_e(fptr, &crc, sizeof(uint32_t)); read_e(fptr, &i32temp, sizeof(uint32_t)); db_version = ntohl(i32temp); diff --git a/src/persist_read_v234.c b/src/persist_read_v234.c index b0987282..27f52bd5 100644 --- a/src/persist_read_v234.c +++ b/src/persist_read_v234.c @@ -57,8 +57,8 @@ int persist__chunk_header_read_v234(FILE *db_fptr, int *chunk, int *length) int persist__chunk_cfg_read_v234(FILE *db_fptr, struct PF_cfg *chunk) { - read_e(db_fptr, &chunk->shutdown, sizeof(uint8_t)); // shutdown - read_e(db_fptr, &chunk->dbid_size, sizeof(uint8_t)); // sizeof(dbid_t) + read_e(db_fptr, &chunk->shutdown, sizeof(uint8_t)); /* shutdown */ + read_e(db_fptr, &chunk->dbid_size, sizeof(uint8_t)); /* sizeof(dbid_t) */ read_e(db_fptr, &chunk->last_db_id, sizeof(dbid_t)); return MOSQ_ERR_SUCCESS; diff --git a/src/security.c b/src/security.c index eb37c88d..7779ca55 100644 --- a/src/security.c +++ b/src/security.c @@ -549,7 +549,7 @@ int mosquitto_security_cleanup(struct mosquitto_db *db, bool reload) } -//int mosquitto_acl_check(struct mosquitto_db *db, struct mosquitto *context, const char *topic, int access) +/* int mosquitto_acl_check(struct mosquitto_db *db, struct mosquitto *context, const char *topic, int access) */ static int acl__check_single(struct mosquitto__auth_plugin_config *auth_plugin, struct mosquitto *context, struct mosquitto_acl_msg *msg, int access) { const char *username; @@ -610,7 +610,7 @@ static int acl__check_dollar(const char *topic, int access) }else if(!strncmp(topic, "$share", 6)){ /* Only allow sub/unsub to shared subscriptions */ if(access == MOSQ_ACL_SUBSCRIBE){ - //FIXME if(access == MOSQ_ACL_SUBSCRIBE || access == MOSQ_ACL_UNSUBSCRIBE){ + /* FIXME if(access == MOSQ_ACL_SUBSCRIBE || access == MOSQ_ACL_UNSUBSCRIBE){ */ return MOSQ_ERR_SUCCESS; }else{ return MOSQ_ERR_ACL_DENIED; diff --git a/src/security_default.c b/src/security_default.c index 7cc10614..3eacce75 100644 --- a/src/security_default.c +++ b/src/security_default.c @@ -396,7 +396,7 @@ int mosquitto_acl_check_default(struct mosquitto_db *db, struct mosquitto *conte len = tlen + acl_root->ccount*(clen-2); } local_acl = mosquitto__malloc(len+1); - if(!local_acl) return 1; // FIXME + if(!local_acl) return 1; /* FIXME */ s = local_acl; for(i=0; itopic[i] == '%'){ @@ -465,8 +465,9 @@ static int aclfile__parse(struct mosquitto_db *db, struct mosquitto__security_op return 1; } - // topic [read|write] - // user + /* topic [read|write] + * user + */ while(fgets_extending(&buf, &buflen, aclfptr)){ slen = strlen(buf); @@ -1000,6 +1001,10 @@ int mosquitto_security_apply_default(struct mosquitto_db *db) X509_NAME_ENTRY *name_entry; ASN1_STRING *name_asn1 = NULL; struct mosquitto__listener *listener; + BIO *subject_bio; + char *data_start; + long name_length; + char *subject; #endif if(!db) return MOSQ_ERR_INVAL; @@ -1078,7 +1083,7 @@ int mosquitto_security_apply_default(struct mosquitto_db *db) security__disconnect_auth(db, context); continue; } - if (context->listener->use_identity_as_username) { //use_identity_as_username + if (context->listener->use_identity_as_username) { /* use_identity_as_username */ i = X509_NAME_get_index_by_NID(name, NID_commonName, -1); if(i == -1){ X509_free(client_cert); @@ -1114,12 +1119,12 @@ int mosquitto_security_apply_default(struct mosquitto_db *db) continue; } } - } else { // use_subject_as_username - BIO *subject_bio = BIO_new(BIO_s_mem()); + } else { /* use_subject_as_username */ + subject_bio = BIO_new(BIO_s_mem()); X509_NAME_print_ex(subject_bio, X509_get_subject_name(client_cert), 0, XN_FLAG_RFC2253); - char *data_start = NULL; - long name_length = BIO_get_mem_data(subject_bio, &data_start); - char *subject = mosquitto__malloc(sizeof(char)*name_length+1); + data_start = NULL; + name_length = BIO_get_mem_data(subject_bio, &data_start); + subject = mosquitto__malloc(sizeof(char)*name_length+1); if(!subject){ BIO_free(subject_bio); X509_free(client_cert); @@ -1227,7 +1232,7 @@ int pw__digest(const char *password, const unsigned char *salt, unsigned int sal digest = EVP_get_digestbyname("sha512"); if(!digest){ - // FIXME fprintf(stderr, "Error: Unable to create openssl digest.\n"); + /* FIXME fprintf(stderr, "Error: Unable to create openssl digest.\n"); */ return 1; } @@ -1243,7 +1248,7 @@ int pw__digest(const char *password, const unsigned char *salt, unsigned int sal digest = EVP_get_digestbyname("sha512"); if(!digest){ - // FIXME fprintf(stderr, "Error: Unable to create openssl digest.\n"); + /* FIXME fprintf(stderr, "Error: Unable to create openssl digest.\n"); */ return 1; } diff --git a/src/sys_tree.c b/src/sys_tree.c index c7d746f5..4e11cfd4 100644 --- a/src/sys_tree.c +++ b/src/sys_tree.c @@ -213,6 +213,7 @@ void sys_tree__update(struct mosquitto_db *db, int interval, time_t start_time) double exponent; double i_mult; + bool initial_publish; now = mosquitto_time(); @@ -222,7 +223,7 @@ void sys_tree__update(struct mosquitto_db *db, int interval, time_t start_time) db__messages_easy_queue(db, NULL, "$SYS/broker/uptime", SYS_TREE_QOS, strlen(buf), buf, 1, 60, NULL); sys_tree__update_clients(db, buf); - bool initial_publish = false; + initial_publish = false; if(last_update == 0){ initial_publish = true; last_update = 1; diff --git a/src/websockets.c b/src/websockets.c index fd2330b0..fccece30 100644 --- a/src/websockets.c +++ b/src/websockets.c @@ -694,7 +694,7 @@ static int callback_http(struct libwebsocket_context *context, static void log_wrap(int level, const char *line) { char *l = (char *)line; - l[strlen(line)-1] = '\0'; // Remove \n + l[strlen(line)-1] = '\0'; /* Remove \n */ log__printf(NULL, MOSQ_LOG_WEBSOCKETS, "%s", l); }