diff --git a/apache2/acmp.c b/apache2/acmp.c index d5a6dba8..a12da9aa 100644 --- a/apache2/acmp.c +++ b/apache2/acmp.c @@ -431,7 +431,6 @@ static void acmp_found(ACMP *parser, acmp_node_t *node) { parser->bp_buffer[(parser->char_pos - node->depth - 1) % parser->bp_buff_len], parser->char_pos - node->depth - 1); } - /* printf("found: %s at position %d\n", node->pattern, parser->char_pos - node->depth - 1); */ node->hit_count++; parser->hit_count++; } diff --git a/apache2/apache2_config.c b/apache2/apache2_config.c index ae2f1bb9..1225120b 100644 --- a/apache2/apache2_config.c +++ b/apache2/apache2_config.c @@ -27,7 +27,7 @@ void *create_directory_config(apr_pool_t *mp, char *path) { if (dcfg == NULL) return NULL; #ifdef DEBUG_CONF - fprintf(stderr, "Created directory config %x path %s\n", dcfg, path); + fprintf(stderr, "Created directory config %p path %s\n", (void *)dcfg, path); #endif dcfg->mp = mp; @@ -193,7 +193,7 @@ void *merge_directory_configs(apr_pool_t *mp, void *_parent, void *_child) { directory_config *merged = create_directory_config(mp, NULL); #ifdef DEBUG_CONF - fprintf(stderr, "Merge parent %x child %x RESULT %x\n", _parent, _child, merged); + fprintf(stderr, "Merge parent %p child %p RESULT %p\n", _parent, _child, merged); #endif if (merged == NULL) return NULL; @@ -1114,7 +1114,7 @@ static const char *cmd_rule_remove_by_msg(cmd_parms *cmd, void *_dcfg, const cha msre_ruleset_rule_remove_with_exception(dcfg->ruleset, re); #ifdef DEBUG_CONF - fprintf(stderr, "Added exception %x (%d %s) to dcfg %x.\n", re, re->type, re->param, dcfg); + fprintf(stderr, "Added exception %p (%d %s) to dcfg %p.\n", re, re->type, re->param, dcfg); #endif return NULL; diff --git a/apache2/apache2_io.c b/apache2/apache2_io.c index 411105e1..7c773210 100644 --- a/apache2/apache2_io.c +++ b/apache2/apache2_io.c @@ -48,7 +48,7 @@ apr_status_t input_filter(ap_filter_t *f, apr_bucket_brigade *bb_out, if ((msr->if_status == IF_STATUS_COMPLETE)||(msr->if_status == IF_STATUS_NONE)) { if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Input filter: Input forwarding already complete, skipping (f %x, r %x).", f, f->r); + msr_log(msr, 4, "Input filter: Input forwarding already complete, skipping (f %p, r %p).", f, f->r); } ap_remove_input_filter(f); return ap_get_brigade(f->next, bb_out, mode, block, nbytes); @@ -56,7 +56,7 @@ apr_status_t input_filter(ap_filter_t *f, apr_bucket_brigade *bb_out, if (msr->txcfg->debuglog_level >= 4) { msr_log(msr, 4, "Input filter: Forwarding input: mode=%d, block=%d, nbytes=%" APR_OFF_T_FMT - " (f %x, r %x).", mode, block, nbytes, f, f->r); + " (f %p, r %p).", mode, block, nbytes, f, f->r); } if (msr->if_started_forwarding == 0) { @@ -209,7 +209,7 @@ apr_status_t read_request_body(modsec_rec *msr, char **error_msg) { } if (msr->txcfg->debuglog_level >= 9) { - msr_log(msr, 9, "Input filter: Bucket type %s contains %d bytes.", + msr_log(msr, 9, "Input filter: Bucket type %s contains %" APR_SIZE_T_FMT " bytes.", bucket->type->name, buflen); } @@ -483,7 +483,7 @@ apr_status_t output_filter(ap_filter_t *f, apr_bucket_brigade *bb_in) { msr->r = r; if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Output filter: Receiving output (f %x, r %x).", f, f->r); + msr_log(msr, 4, "Output filter: Receiving output (f %p, r %p).", f, f->r); } /* Initialise on first invocation */ diff --git a/apache2/apache2_util.c b/apache2/apache2_util.c index e9c75b73..11a65014 100644 --- a/apache2/apache2_util.c +++ b/apache2/apache2_util.c @@ -92,7 +92,7 @@ int apache2_exec(modsec_rec *msr, const char *command, const char **argv, char * procnew = apr_pcalloc(r->pool, sizeof(*procnew)); if (procnew == NULL) { - msr_log(msr, 1, "Exec: Unable to allocate %d bytes.", sizeof(*procnew)); + msr_log(msr, 1, "Exec: Unable to allocate %lu bytes.", (unsigned long)sizeof(*procnew)); return -1; } @@ -246,9 +246,9 @@ void internal_log(request_rec *r, directory_config *dcfg, modsec_rec *msr, /* Construct the message. */ apr_vsnprintf(str1, sizeof(str1), text, ap); - apr_snprintf(str2, sizeof(str2), "[%s] [%s/sid#%lx][rid#%lx][%s][%d] %s\n", - current_logtime(msr->mp), ap_get_server_name(r), (unsigned long)(r->server), - (unsigned long)r, ((r->uri == NULL) ? "" : log_escape_nq(msr->mp, r->uri)), + apr_snprintf(str2, sizeof(str2), "[%s] [%s/sid#%p][rid#%p][%s][%d] %s\n", + current_logtime(msr->mp), ap_get_server_name(r), (r->server), + r, ((r->uri == NULL) ? "" : log_escape_nq(msr->mp, r->uri)), level, str1); /* Write to the debug log. */ diff --git a/apache2/mod_security2.c b/apache2/mod_security2.c index a936a95d..a5e4670a 100644 --- a/apache2/mod_security2.c +++ b/apache2/mod_security2.c @@ -348,7 +348,7 @@ static modsec_rec *create_tx_context(request_rec *r) { store_tx_context(msr, r); if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Transaction context created (dcfg %x).", msr->dcfg1); + msr_log(msr, 4, "Transaction context created (dcfg %p).", msr->dcfg1); } return msr; @@ -449,7 +449,7 @@ static int hook_post_config(apr_pool_t *mp, apr_pool_t *mp_log, apr_pool_t *mp_t if (first_time == 0) { ap_log_error(APLOG_MARK, APLOG_NOTICE | APLOG_NOERRNO, 0, s, - "ModSecurity: chroot checkpoint #2 (pid=%d ppid=%d)", (int)getpid(), (int)getppid()); + "ModSecurity: chroot checkpoint #2 (pid=%ld ppid=%ld)", (long)getpid(), (long)getppid()); if (chdir(chroot_dir) < 0) { ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, s, @@ -478,7 +478,7 @@ static int hook_post_config(apr_pool_t *mp, apr_pool_t *mp_log, apr_pool_t *mp_t "ModSecurity: chroot successful, path=%s", chroot_dir); } else { ap_log_error(APLOG_MARK, APLOG_NOTICE | APLOG_NOERRNO, 0, s, - "ModSecurity: chroot checkpoint #1 (pid=%d ppid=%d)", (int)getpid(), (int)getppid()); + "ModSecurity: chroot checkpoint #1 (pid=%ld ppid=%ld)", (long)getpid(), (long)getppid()); } } #endif @@ -625,7 +625,7 @@ static int hook_request_late(request_rec *r) { } if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Second phase starting (dcfg %x).", msr->dcfg2); + msr_log(msr, 4, "Second phase starting (dcfg %p).", msr->dcfg2); } /* Figure out whether or not to extract multipart files. */ @@ -895,7 +895,7 @@ static void hook_insert_filter(request_rec *r) { /* Add the input filter, but only if we need it to run. */ if (msr->if_status == IF_STATUS_WANTS_TO_RUN) { if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Hook insert_filter: Adding input forwarding filter %s(r %x).", (((r->main != NULL)||(r->prev != NULL)) ? "for subrequest " : ""), r); + msr_log(msr, 4, "Hook insert_filter: Adding input forwarding filter %s(r %p).", (((r->main != NULL)||(r->prev != NULL)) ? "for subrequest " : ""), r); } ap_add_input_filter("MODSECURITY_IN", msr, r, r->connection); @@ -910,7 +910,7 @@ static void hook_insert_filter(request_rec *r) { /* We always add the PDF XSS protection filter. */ if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Hook insert_filter: Adding PDF XSS protection output filter (r %x).", r); + msr_log(msr, 4, "Hook insert_filter: Adding PDF XSS protection output filter (r %p).", r); } ap_add_output_filter("PDFP_OUT", msr, r, r->connection); @@ -930,7 +930,7 @@ static void hook_insert_filter(request_rec *r) { */ if (msr->of_status != OF_STATUS_COMPLETE) { if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Hook insert_filter: Adding output filter (r %x).", r); + msr_log(msr, 4, "Hook insert_filter: Adding output filter (r %p).", r); } ap_add_output_filter("MODSECURITY_OUT", msr, r, r->connection); @@ -963,7 +963,7 @@ static void hook_insert_error_filter(request_rec *r) { */ if (msr->of_status != OF_STATUS_COMPLETE) { if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Hook insert_error_filter: Adding output filter (r %x).", r); + msr_log(msr, 4, "Hook insert_error_filter: Adding output filter (r %p).", r); } /* Make a note that the output we will be receiving is a diff --git a/apache2/msc_logging.c b/apache2/msc_logging.c index 334761f5..6fc26c88 100644 --- a/apache2/msc_logging.c +++ b/apache2/msc_logging.c @@ -78,7 +78,7 @@ char *construct_log_vcombinedus(modsec_rec *msr) { /* sessionid */ sessionid = (msr->sessionid == NULL ? "-" : msr->sessionid); - return apr_psprintf(msr->mp, "%s %s %s %s [%s] \"%s\" %d %" APR_OFF_T_FMT " \"%s\" \"%s\" %s \"%s\"", + return apr_psprintf(msr->mp, "%s %s %s %s [%s] \"%s\" %u %" APR_OFF_T_FMT " \"%s\" \"%s\" %s \"%s\"", log_escape_nq(msr->mp, msr->hostname), msr->remote_addr, log_escape_nq(msr->mp, remote_user), log_escape_nq(msr->mp, local_user), current_logtime(msr->mp), ((msr->request_line == NULL) ? "" : log_escape(msr->mp, msr->request_line)), @@ -203,7 +203,7 @@ char *construct_log_vcombinedus_limited(modsec_rec *msr, int _limit, int *was_li *was_limited = 0; } - return apr_psprintf(msr->mp, "%s %s %s %s [%s] \"%s\" %d %s \"%s\" \"%s\" %s \"%s\"", + return apr_psprintf(msr->mp, "%s %s %s %s [%s] \"%s\" %u %s \"%s\" \"%s\" %s \"%s\"", hostname, msr->remote_addr, remote_user, local_user, current_logtime(msr->mp), the_request, msr->response_status, bytes_sent, referer, user_agent, @@ -284,7 +284,7 @@ static void sanitise_request_line(modsec_rec *msr) { j = arg->value_origin_offset; while((*p != '\0')&&(j--)) p++; if (*p == '\0') { - msr_log(msr, 1, "Unable to sanitise variable \"%s\" at offset %d of QUERY_STRING" + msr_log(msr, 1, "Unable to sanitise variable \"%s\" at offset %u of QUERY_STRING" "because the request line is too short.", log_escape_ex(msr->mp, arg->name, arg->name_len), arg->value_origin_offset); @@ -297,7 +297,7 @@ static void sanitise_request_line(modsec_rec *msr) { *p++ = '*'; } if (*p == '\0') { - msr_log(msr, 1, "Unable to sanitise variable \"%s\" at offset %d (size %d) " + msr_log(msr, 1, "Unable to sanitise variable \"%s\" at offset %u (size %d) " "of QUERY_STRING because the request line is too short.", log_escape_ex(msr->mp, arg->name, arg->name_len), arg->value_origin_offset, arg->value_origin_len); @@ -418,7 +418,7 @@ void sec_audit_logger(modsec_rec *msr) { /* Format: time transaction_id remote_addr remote_port local_addr local_port */ - text = apr_psprintf(msr->mp, "[%s] %s %s %d %s %d", + text = apr_psprintf(msr->mp, "[%s] %s %s %u %s %u", current_logtime(msr->mp), msr->txid, msr->remote_addr, msr->remote_port, msr->local_addr, msr->local_port); sec_auditlog_write(msr, text, strlen(text)); @@ -638,7 +638,7 @@ void sec_audit_logger(modsec_rec *msr) { text = apr_psprintf(msr->mp, "%s %s\n", msr->response_protocol, msr->status_line); } else { - text = apr_psprintf(msr->mp, "%s %d\n", msr->response_protocol, + text = apr_psprintf(msr->mp, "%s %u\n", msr->response_protocol, msr->response_status); } sec_auditlog_write(msr, text, strlen(text)); diff --git a/apache2/msc_multipart.c b/apache2/msc_multipart.c index 9868b588..22dfddea 100644 --- a/apache2/msc_multipart.c +++ b/apache2/msc_multipart.c @@ -520,7 +520,7 @@ static int multipart_process_boundary(modsec_rec *msr, int last_part, char **err *(multipart_part **)apr_array_push(msr->mpd->parts) = msr->mpd->mpp; if (msr->mpd->mpp->type == MULTIPART_FILE) { if (msr->txcfg->debuglog_level >= 9) { - msr_log(msr, 9, "Multipart: Added file part %x to the list: name \"%s\" " + msr_log(msr, 9, "Multipart: Added file part %p to the list: name \"%s\" " "file name \"%s\" (offset %u, length %u)", msr->mpd->mpp, log_escape(msr->mp, msr->mpd->mpp->name), log_escape(msr->mp, msr->mpd->mpp->filename), @@ -529,7 +529,7 @@ static int multipart_process_boundary(modsec_rec *msr, int last_part, char **err } else { if (msr->txcfg->debuglog_level >= 9) { - msr_log(msr, 9, "Multipart: Added part %x to the list: name \"%s\" " + msr_log(msr, 9, "Multipart: Added part %p to the list: name \"%s\" " "(offset %u, length %u)", msr->mpd->mpp, log_escape(msr->mp, msr->mpd->mpp->name), msr->mpd->mpp->offset, msr->mpd->mpp->length); } @@ -833,7 +833,7 @@ int multipart_process_chunk(modsec_rec *msr, const char *buf, msr->mpd->flag_data_before = 1; if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Multipart: Ignoring data after last boundary (received %d bytes)", size); + msr_log(msr, 4, "Multipart: Ignoring data after last boundary (received %u bytes)", size); } return 1; @@ -1031,7 +1031,7 @@ int multipart_process_chunk(modsec_rec *msr, const char *buf, msr->mpd->flag_data_after = 1; if (msr->txcfg->debuglog_level >= 4) { - msr_log(msr, 4, "Multipart: Ignoring data after last boundary (%d bytes left)", inleft); + msr_log(msr, 4, "Multipart: Ignoring data after last boundary (%u bytes left)", inleft); } return 1; diff --git a/apache2/msc_multipart.h b/apache2/msc_multipart.h index c68d2780..cb07bf2c 100644 --- a/apache2/msc_multipart.h +++ b/apache2/msc_multipart.h @@ -45,7 +45,7 @@ struct multipart_part { /* files only, the name of the temporary file holding data */ char *tmp_file_name; int tmp_file_fd; - unsigned tmp_file_size; + unsigned int tmp_file_size; /* files only, filename as supplied by the browser */ char *filename; diff --git a/apache2/msc_reqbody.c b/apache2/msc_reqbody.c index 597b7c7a..6358f797 100644 --- a/apache2/msc_reqbody.c +++ b/apache2/msc_reqbody.c @@ -300,7 +300,7 @@ apr_status_t modsecurity_request_body_store(modsec_rec *msr, } /* Should never happen. */ - *error_msg = apr_psprintf(msr->mp, "Internal error, unknown value for msc_reqbody_storage: %d", + *error_msg = apr_psprintf(msr->mp, "Internal error, unknown value for msc_reqbody_storage: %u", msr->msc_reqbody_storage); return -1; } @@ -592,7 +592,8 @@ apr_status_t modsecurity_request_body_retrieve(modsec_rec *msr, return 1; /* More data available. */ } - *error_msg = apr_psprintf(msr->mp, "Internal error, invalid msc_reqbody_storage value: %d", + /* Should never happen. */ + *error_msg = apr_psprintf(msr->mp, "Internal error, invalid msc_reqbody_storage value: %u", msr->msc_reqbody_storage); return -1; diff --git a/apache2/msc_xml.c b/apache2/msc_xml.c index 4e31544d..7eab6937 100644 --- a/apache2/msc_xml.c +++ b/apache2/msc_xml.c @@ -109,7 +109,7 @@ int xml_complete(modsec_rec *msr, char **error_msg) { /* Clean up everything else. */ xmlFreeParserCtxt(msr->xml->parsing_ctx); msr->xml->parsing_ctx = NULL; - msr_log(msr, 4, "XML: Parsing complete (well_formed %d).", msr->xml->well_formed); + msr_log(msr, 4, "XML: Parsing complete (well_formed %u).", msr->xml->well_formed); if (msr->xml->well_formed != 1) { *error_msg = apr_psprintf(msr->mp, "XML: Failed parsing document."); diff --git a/apache2/pdf_protect.c b/apache2/pdf_protect.c index fe26837d..edea9dc8 100644 --- a/apache2/pdf_protect.c +++ b/apache2/pdf_protect.c @@ -64,7 +64,7 @@ static char *create_hash(modsec_rec *msr, * */ static char *create_token(modsec_rec *msr) { - unsigned int current_time; + apr_time_t current_time; const char *time_string = NULL; const char *hash = NULL; int timeout = DEFAULT_TIMEOUT; @@ -74,7 +74,7 @@ static char *create_token(modsec_rec *msr) { } current_time = apr_time_sec(apr_time_now()); - time_string = apr_psprintf(msr->mp, "%d", current_time + timeout); + time_string = apr_psprintf(msr->mp, "%" APR_TIME_T_FMT, (apr_time_t)(current_time + timeout)); if (time_string == NULL) return NULL; hash = create_hash(msr, time_string); diff --git a/apache2/persist_dbm.c b/apache2/persist_dbm.c index 218eaff8..43c31938 100644 --- a/apache2/persist_dbm.c +++ b/apache2/persist_dbm.c @@ -150,7 +150,7 @@ apr_table_t *collection_retrieve(modsec_rec *msr, const char *col_name, if (var == NULL) { /* Error. */ } else { - int td; + apr_time_t td; counter = atoi(var->value); var = (msc_string *)apr_table_get(col, "UPDATE_RATE"); if (var == NULL) { @@ -161,13 +161,13 @@ apr_table_t *collection_retrieve(modsec_rec *msr, const char *col_name, } /* NOTE: No rate if there has been no time elapsed */ - td = (int)(apr_time_sec(apr_time_now()) - create_time); + td = (apr_time_sec(apr_time_now()) - create_time); if (td == 0) { var->value = apr_psprintf(msr->mp, "%d", 0); } else { - var->value = apr_psprintf(msr->mp, "%d", - (int)((60 * counter)/td)); + var->value = apr_psprintf(msr->mp, "%" APR_TIME_T_FMT, + (apr_time_t)((60 * counter)/td)); } var->value_len = strlen(var->value); } @@ -279,7 +279,7 @@ int collection_store(modsec_rec *msr, apr_table_t *col) { int timeout = atoi(var->value); var = (msc_string *)apr_table_get(col, "__expire_KEY"); if (var != NULL) { - var->value = apr_psprintf(msr->mp, "%d", (int)(apr_time_sec(apr_time_now()) + timeout)); + var->value = apr_psprintf(msr->mp, "%" APR_TIME_T_FMT, (apr_time_t)(apr_time_sec(apr_time_now()) + timeout)); var->value_len = strlen(var->value); } } @@ -294,7 +294,7 @@ int collection_store(modsec_rec *msr, apr_table_t *col) { var->name_len = strlen(var->name); apr_table_setn(col, var->name, (void *)var); } - var->value = apr_psprintf(msr->mp, "%d", (int)(apr_time_sec(apr_time_now()))); + var->value = apr_psprintf(msr->mp, "%" APR_TIME_T_FMT, (apr_time_t)(apr_time_sec(apr_time_now()))); var->value_len = strlen(var->value); } @@ -418,7 +418,7 @@ int collections_remove_stale(modsec_rec *msr, const char *col_name) { apr_array_header_t *keys_arr; char **keys; int i; - unsigned int now = (unsigned int)apr_time_sec(msr->request_time); + apr_time_t now = apr_time_sec(msr->request_time); if (msr->txcfg->data_dir == NULL) { /* The user has been warned about this problem enough times already by now. @@ -493,7 +493,7 @@ int collections_remove_stale(modsec_rec *msr, const char *col_name) { } else { unsigned int expiry_time = atoi(var->value); - msr_log(msr, 9, "Record (name \"%s\", key \"%s\") set to expire in %d seconds.", + msr_log(msr, 9, "Record (name \"%s\", key \"%s\") set to expire in %" APR_TIME_T_FMT " seconds.", log_escape(msr->mp, col_name), log_escape(msr->mp, key.dptr), expiry_time - now); diff --git a/apache2/re.c b/apache2/re.c index 4fe98bb6..908a2bdf 100644 --- a/apache2/re.c +++ b/apache2/re.c @@ -351,6 +351,7 @@ int msre_parse_generic(apr_pool_t *mp, const char *text, apr_table_t *vartable, for(;;) { if (*p == '\0') { + // TODO better 64-bit support here *error_msg = apr_psprintf(mp, "Missing closing quote at position %d: %s", (int)(p - text), text); free(value); @@ -358,6 +359,7 @@ int msre_parse_generic(apr_pool_t *mp, const char *text, apr_table_t *vartable, } else if (*p == '\\') { if ( (*(p + 1) == '\0') || ((*(p + 1) != '\'')&&(*(p + 1) != '\\')) ) { + // TODO better 64-bit support here *error_msg = apr_psprintf(mp, "Invalid quoted pair at position %d: %s", (int)(p - text), text); free(value); @@ -773,7 +775,7 @@ apr_status_t msre_ruleset_process_phase(msre_ruleset *ruleset, modsec_rec *msr) if (rule->actionset != NULL && rule->actionset->rev != NULL) { rev = apr_psprintf(p, " [rev \"%s\"]", rule->actionset->rev); } - msr_log(msr, 4, "Recipe: Invoking rule %x;%s%s%s.", + msr_log(msr, 4, "Recipe: Invoking rule %p;%s%s%s.", rule, (fn ? fn : ""), (id ? id : ""), (rev ? rev : "")); } @@ -926,7 +928,7 @@ apr_status_t msre_ruleset_process_phase(msre_ruleset *ruleset, modsec_rec *msr) rules = (msre_rule **)arr->elts; for (i = 0; i < arr->nelts; i++) { msre_rule *rule = rules[i]; - msr_log(msr, 1, "Rule %x [id \"%s\"][file \"%s\"][line \"%d\"]: %lu usec", rule, + msr_log(msr, 1, "Rule %p [id \"%s\"][file \"%s\"][line \"%d\"]: %lu usec", rule, ((rule->actionset != NULL)&&(rule->actionset->id != NULL)) ? rule->actionset->id : "-", rule->filename != NULL ? rule->filename : "-", rule->line_num, @@ -1554,11 +1556,11 @@ apr_status_t msre_rule_process(msre_rule *rule, modsec_rec *msr) { /* check the cache options */ if (var->value_len < msr->txcfg->cache_trans_min) { - msr_log(msr, 9, "CACHE: Disabled - %s value length=%d, smaller than minlen=%d", var->name, var->value_len, msr->txcfg->cache_trans_min); + msr_log(msr, 9, "CACHE: Disabled - %s value length=%u, smaller than minlen=%" APR_SIZE_T_FMT, var->name, var->value_len, msr->txcfg->cache_trans_min); usecache = 0; } if ((msr->txcfg->cache_trans_max != 0) && (var->value_len > msr->txcfg->cache_trans_max)) { - msr_log(msr, 9, "CACHE: Disabled - %s value length=%d, larger than maxlen=%d", var->name, var->value_len, msr->txcfg->cache_trans_max); + msr_log(msr, 9, "CACHE: Disabled - %s value length=%u, larger than maxlen=%" APR_SIZE_T_FMT, var->name, var->value_len, msr->txcfg->cache_trans_max); usecache = 0; } diff --git a/apache2/re_actions.c b/apache2/re_actions.c index bef9de42..5691c433 100644 --- a/apache2/re_actions.c +++ b/apache2/re_actions.c @@ -557,7 +557,7 @@ static char *msre_action_ctl_validate(msre_engine *engine, msre_action *action) if (limit > REQUEST_BODY_HARD_LIMIT) { return apr_psprintf(engine->mp, "Request size limit cannot exceed " - "the hard limit: %li", RESPONSE_BODY_HARD_LIMIT); + "the hard limit: %ld", RESPONSE_BODY_HARD_LIMIT); } return NULL; @@ -572,7 +572,7 @@ static char *msre_action_ctl_validate(msre_engine *engine, msre_action *action) if (limit > RESPONSE_BODY_HARD_LIMIT) { return apr_psprintf(engine->mp, "Response size limit cannot exceed " - "the hard limit: %li", RESPONSE_BODY_HARD_LIMIT); + "the hard limit: %ld", RESPONSE_BODY_HARD_LIMIT); } return NULL; @@ -1118,7 +1118,7 @@ static apr_status_t msre_action_expirevar_execute(modsec_rec *msr, apr_pool_t *m var = (msc_string *)apr_pcalloc(msr->mp, sizeof(msc_string)); var->name = apr_psprintf(msr->mp, "__expire_%s", var_name); var->name_len = strlen(var->name); - var->value = apr_psprintf(msr->mp, "%d", (int)(apr_time_sec(msr->request_time) + var->value = apr_psprintf(msr->mp, "%" APR_TIME_T_FMT, (apr_time_t)(apr_time_sec(msr->request_time) + atoi(var_value))); var->value_len = strlen(var->value); apr_table_setn(target_col, var->name, (void *)var); @@ -1140,8 +1140,8 @@ static apr_status_t msre_action_deprecatevar_execute(modsec_rec *msr, apr_pool_t char *s = NULL; apr_table_t *target_col = NULL; msc_string *var = NULL, *var_last_update_time = NULL; - unsigned int last_update_time, current_time; - long int current_value, new_value; + apr_time_t last_update_time, current_time; + long current_value, new_value; /* Extract the name and the value. */ /* IMP1 We have a function for this now, parse_name_eq_value? */ @@ -1193,7 +1193,7 @@ static apr_status_t msre_action_deprecatevar_execute(modsec_rec *msr, apr_pool_t return 0; } - current_time = (unsigned int)apr_time_sec(apr_time_now()); + current_time = apr_time_sec(apr_time_now()); last_update_time = atoi(var_last_update_time->value); s = strstr(var_value, "/"); @@ -1209,24 +1209,24 @@ static apr_status_t msre_action_deprecatevar_execute(modsec_rec *msr, apr_pool_t * time elapsed since the last update. */ new_value = current_value - - (atoi(var_value) * ((current_time - last_update_time) / atoi(s))); + (atol(var_value) * ((current_time - last_update_time) / atol(s))); if (new_value < 0) new_value = 0; /* Only change the value if it differs. */ if (new_value != current_value) { - var->value = apr_psprintf(msr->mp, "%d", (int)new_value); + var->value = apr_psprintf(msr->mp, "%ld", new_value); var->value_len = strlen(var->value); - msr_log(msr, 4, "Deprecated variable \"%s.%s\" from %li to %li (%d seconds since " + msr_log(msr, 4, "Deprecated variable \"%s.%s\" from %ld to %ld (%" APR_TIME_T_FMT " seconds since " "last update).", log_escape(msr->mp, col_name), log_escape(msr->mp, var_name), - current_value, new_value, current_time - last_update_time); + current_value, new_value, (apr_time_t)(current_time - last_update_time)); apr_table_set(msr->collections_dirty, col_name, "1"); } else { - msr_log(msr, 9, "Not deprecating variable \"%s.%s\" because the new value (%li) is " - "the same as the old one (%li) (%d seconds since last update).", + msr_log(msr, 9, "Not deprecating variable \"%s.%s\" because the new value (%ld) is " + "the same as the old one (%ld) (%" APR_TIME_T_FMT " seconds since last update).", log_escape(msr->mp, col_name), log_escape(msr->mp, var_name), current_value, - new_value, current_time - last_update_time); + new_value, (apr_time_t)(current_time - last_update_time)); } return 1; @@ -1263,7 +1263,7 @@ static apr_status_t init_collection(modsec_rec *msr, const char *real_col_name, var = (msc_string *)apr_pcalloc(msr->mp, sizeof(msc_string)); var->name = "__expire_KEY"; var->name_len = strlen(var->name); - var->value = apr_psprintf(msr->mp, "%d", (int)(apr_time_sec(msr->request_time) + 3600)); + var->value = apr_psprintf(msr->mp, "%" APR_TIME_T_FMT, (apr_time_t)(apr_time_sec(msr->request_time) + 3600)); var->value_len = strlen(var->value); apr_table_setn(table, var->name, (void *)var); @@ -1311,7 +1311,7 @@ static apr_status_t init_collection(modsec_rec *msr, const char *real_col_name, var = apr_pcalloc(msr->mp, sizeof(msc_string)); var->name = "CREATE_TIME"; var->name_len = strlen(var->name); - var->value = apr_psprintf(msr->mp, "%d", (int)apr_time_sec(msr->request_time)); + var->value = apr_psprintf(msr->mp, "%" APR_TIME_T_FMT, (apr_time_t)apr_time_sec(msr->request_time)); var->value_len = strlen(var->value); apr_table_setn(table, var->name, (void *)var); diff --git a/apache2/re_operators.c b/apache2/re_operators.c index 32ca54fa..95fdeaf5 100644 --- a/apache2/re_operators.c +++ b/apache2/re_operators.c @@ -278,7 +278,7 @@ static int msre_op_pmFromFile_param_init(msre_rule *rule, char **error_msg) { rc = apr_file_gets(buf, HUGE_STRING_LEN, fd); if (rc == APR_EOF) break; if (rc != APR_SUCCESS) { - *error_msg = apr_psprintf(rule->ruleset->mp, "Could read \"%s\" line %d: %s", fn, line, apr_strerror(rc, errstr, 1024)); + *error_msg = apr_psprintf(rule->ruleset->mp, "Could not read \"%s\" line %d: %s", fn, line, apr_strerror(rc, errstr, 1024)); return 0; } @@ -407,7 +407,7 @@ static int msre_op_within_execute(modsec_rec *msr, msre_rule *rule, msre_var *va /* scan for first character, then compare from there until we * have a match or there is no room left in the target */ - msr_log(msr, 9, "match[%d]='%s' target[%d]='%s'", match_length, match, target_length, target); + msr_log(msr, 9, "match[%u]='%s' target[%u]='%s'", match_length, match, target_length, target); i_max = match_length - target_length; for (i = 0; i <= i_max; i++) { if (match[i] == target[0]) { diff --git a/apache2/re_variables.c b/apache2/re_variables.c index 18e97eee..3a5d4535 100644 --- a/apache2/re_variables.c +++ b/apache2/re_variables.c @@ -681,7 +681,7 @@ static int var_remote_host_generate(modsec_rec *msr, msre_var *var, msre_rule *r static int var_remote_port_generate(modsec_rec *msr, msre_var *var, msre_rule *rule, apr_table_t *vartab, apr_pool_t *mptmp) { - char *value = apr_psprintf(mptmp, "%d", msr->remote_port); + char *value = apr_psprintf(mptmp, "%u", msr->remote_port); return var_simple_generate(var, vartab, mptmp, value); } @@ -1563,7 +1563,7 @@ static int var_time_epoch_generate(modsec_rec *msr, msre_var *var, msre_rule *ru tc = time(NULL); tm = localtime(&tc); rvar = apr_pmemdup(mptmp, var, sizeof(msre_var)); - rvar->value = apr_psprintf(mptmp, "%d", (int)tc); + rvar->value = apr_psprintf(mptmp, "%ld", (long)tc); rvar->value_len = strlen(rvar->value); apr_table_addn(vartab, rvar->name, (void *)rvar); @@ -1824,7 +1824,7 @@ static int var_server_name_generate(modsec_rec *msr, msre_var *var, msre_rule *r static int var_server_port_generate(modsec_rec *msr, msre_var *var, msre_rule *rule, apr_table_t *vartab, apr_pool_t *mptmp) { - char *value = apr_psprintf(mptmp, "%d", msr->local_port); + char *value = apr_psprintf(mptmp, "%u", msr->local_port); return var_simple_generate(var, vartab, mptmp, value); } @@ -1851,7 +1851,7 @@ static int var_script_filename_generate(modsec_rec *msr, msre_var *var, msre_rul static int var_script_gid_generate(modsec_rec *msr, msre_var *var, msre_rule *rule, apr_table_t *vartab, apr_pool_t *mptmp) { - char *value = apr_psprintf(mptmp, "%d", msr->r->finfo.group); + char *value = apr_psprintf(mptmp, "%ld", (long)msr->r->finfo.group); return var_simple_generate(var, vartab, mptmp, value); } @@ -1881,7 +1881,7 @@ static int var_script_mode_generate(modsec_rec *msr, msre_var *var, msre_rule *r static int var_script_uid_generate(modsec_rec *msr, msre_var *var, msre_rule *rule, apr_table_t *vartab, apr_pool_t *mptmp) { - char *value = apr_psprintf(mptmp, "%d", msr->r->finfo.user); + char *value = apr_psprintf(mptmp, "%ld", (long)msr->r->finfo.user); return var_simple_generate(var, vartab, mptmp, value); } @@ -2039,7 +2039,7 @@ static int var_response_protocol_generate(modsec_rec *msr, msre_var *var, msre_r static int var_response_status_generate(modsec_rec *msr, msre_var *var, msre_rule *rule, apr_table_t *vartab, apr_pool_t *mptmp) { - const char *value = apr_psprintf(mptmp, "%d", msr->response_status); + const char *value = apr_psprintf(mptmp, "%u", msr->response_status); return var_simple_generate(var, vartab, mptmp, value); }