diff options
author | Stefan Bühler <stbuehler@web.de> | 2008-07-30 19:38:32 +0000 |
---|---|---|
committer | Stefan Bühler <stbuehler@web.de> | 2008-07-30 19:38:32 +0000 |
commit | 52861d77dfe4e470cac6114cd9f335b30a88b9f5 (patch) | |
tree | 3d05443ad7a0efcefcbcbc46c5a76c202e53af14 | |
parent | 0c8ebbeb606561da6acb4d576fb8ab24571fa2dc (diff) | |
download | lighttpd-git-52861d77dfe4e470cac6114cd9f335b30a88b9f5.tar.gz |
Replace buffer_{append,copy}_string with the _len variant where possible (#1732, thx crypt)
Replace BUFFER_{APPEND,COPY}_STRING_CONST with _len(b, CONST_STRL_LEN(x))
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2250 152afb58-edef-0310-8abb-c4023f1b3aa9
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/array.c | 16 | ||||
-rw-r--r-- | src/chunk.c | 2 | ||||
-rw-r--r-- | src/configfile-glue.c | 4 | ||||
-rw-r--r-- | src/configfile.c | 54 | ||||
-rw-r--r-- | src/connections.c | 16 | ||||
-rw-r--r-- | src/data_string.c | 6 | ||||
-rw-r--r-- | src/http-header-glue.c | 10 | ||||
-rw-r--r-- | src/http_chunk.c | 4 | ||||
-rw-r--r-- | src/log.c | 24 | ||||
-rw-r--r-- | src/mod_accesslog.c | 44 | ||||
-rw-r--r-- | src/mod_auth.c | 16 | ||||
-rw-r--r-- | src/mod_cgi.c | 2 | ||||
-rw-r--r-- | src/mod_compress.c | 6 | ||||
-rw-r--r-- | src/mod_dirlisting.c | 78 | ||||
-rw-r--r-- | src/mod_evhost.c | 8 | ||||
-rw-r--r-- | src/mod_expire.c | 2 | ||||
-rw-r--r-- | src/mod_fastcgi.c | 48 | ||||
-rw-r--r-- | src/mod_flv_streaming.c | 2 | ||||
-rw-r--r-- | src/mod_proxy.c | 10 | ||||
-rw-r--r-- | src/mod_rrdtool.c | 45 | ||||
-rw-r--r-- | src/mod_scgi.c | 8 | ||||
-rw-r--r-- | src/mod_ssi.c | 24 | ||||
-rw-r--r-- | src/mod_ssi_expr.c | 24 | ||||
-rw-r--r-- | src/mod_staticfile.c | 20 | ||||
-rw-r--r-- | src/mod_status.c | 230 | ||||
-rw-r--r-- | src/mod_uploadprogress.c | 19 | ||||
-rw-r--r-- | src/mod_usertrack.c | 14 | ||||
-rw-r--r-- | src/mod_webdav.c | 186 | ||||
-rw-r--r-- | src/network.c | 2 | ||||
-rw-r--r-- | src/plugin.c | 8 | ||||
-rw-r--r-- | src/proc_open.c | 2 | ||||
-rw-r--r-- | src/response.c | 34 | ||||
-rw-r--r-- | src/server.c | 2 |
34 files changed, 489 insertions, 482 deletions
@@ -35,6 +35,7 @@ NEWS * [tests] removed pidfile from test system * [tests] fixed tests needing php running (if not running on port 1026, search php in env[PHP] or /usr/bin/php-cgi) * fixed typo in mod_accesslog (#1699) + * replaced buffer_{append,copy}_string with the _len variant where possible (#1732) (thx crypt) - 1.4.19 - 2008-03-10 diff --git a/src/array.c b/src/array.c index e35455b3..d8751aa4 100644 --- a/src/array.c +++ b/src/array.c @@ -330,30 +330,30 @@ int main (int argc, char **argv) { a = array_init(); ds = data_string_init(); - buffer_copy_string(ds->key, "abc"); - buffer_copy_string(ds->value, "alfrag"); + buffer_copy_string_len(ds->key, CONST_STR_LEN("abc")); + buffer_copy_string_len(ds->value, CONST_STR_LEN("alfrag")); array_insert_unique(a, (data_unset *)ds); ds = data_string_init(); - buffer_copy_string(ds->key, "abc"); - buffer_copy_string(ds->value, "hameplman"); + buffer_copy_string_len(ds->key, CONST_STR_LEN("abc")); + buffer_copy_string_len(ds->value, CONST_STR_LEN("hameplman")); array_insert_unique(a, (data_unset *)ds); ds = data_string_init(); - buffer_copy_string(ds->key, "123"); - buffer_copy_string(ds->value, "alfrag"); + buffer_copy_string_len(ds->key, CONST_STR_LEN("123")); + buffer_copy_string_len(ds->value, CONST_STR_LEN("alfrag")); array_insert_unique(a, (data_unset *)ds); dc = data_count_init(); - buffer_copy_string(dc->key, "def"); + buffer_copy_string_len(dc->key, CONST_STR_LEN("def")); array_insert_unique(a, (data_unset *)dc); dc = data_count_init(); - buffer_copy_string(dc->key, "def"); + buffer_copy_string_len(dc->key, CONST_STR_LEN("def")); array_insert_unique(a, (data_unset *)dc); diff --git a/src/chunk.c b/src/chunk.c index f5ec5645..6eb45c30 100644 --- a/src/chunk.c +++ b/src/chunk.c @@ -296,7 +296,7 @@ chunk *chunkqueue_get_append_tempfile(chunkqueue *cq) { buffer_copy_string_buffer(template, ds->value); BUFFER_APPEND_SLASH(template); - BUFFER_APPEND_STRING_CONST(template, "lighttpd-upload-XXXXXX"); + buffer_append_string_len(template, CONST_STR_LEN("lighttpd-upload-XXXXXX")); if (-1 != (c->file.fd = mkstemp(template->ptr))) { /* only trigger the unlink if we created the temp-file successfully */ diff --git a/src/configfile-glue.c b/src/configfile-glue.c index 65afd01d..5c35497a 100644 --- a/src/configfile-glue.c +++ b/src/configfile-glue.c @@ -155,7 +155,7 @@ int config_insert_values_global(server *srv, array *ca, const config_values_t cv /* touched */ touched = data_string_init(); - buffer_copy_string(touched->value, ""); + buffer_copy_string_len(touched->value, CONST_STR_LEN("")); buffer_copy_string_buffer(touched->key, du->key); array_insert_unique(srv->config_touched, (data_unset *)touched); @@ -260,7 +260,7 @@ static cond_result_t config_check_cond_nocache(server *srv, connection *con, dat if (ck_colon) { /* condition "host:port" but client send "host" */ buffer_copy_string_buffer(srv->cond_check_buf, l); - BUFFER_APPEND_STRING_CONST(srv->cond_check_buf, ":"); + buffer_append_string_len(srv->cond_check_buf, CONST_STR_LEN(":")); buffer_append_long(srv->cond_check_buf, sock_addr_get_port(&(srv_sock->addr))); l = srv->cond_check_buf; } else if (!ck_colon) { diff --git a/src/configfile.c b/src/configfile.c index 958b5f0f..c462c3bb 100644 --- a/src/configfile.c +++ b/src/configfile.c @@ -478,7 +478,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * if (t->input[t->offset + 1] == '>') { t->offset += 2; - buffer_copy_string(token, "=>"); + buffer_copy_string_len(token, CONST_STR_LEN("=>")); tid = TK_ARRAY_ASSIGN; } else { @@ -492,13 +492,13 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * if (t->input[t->offset + 1] == '=') { t->offset += 2; - buffer_copy_string(token, "=="); + buffer_copy_string_len(token, CONST_STR_LEN("==")); tid = TK_EQ; } else if (t->input[t->offset + 1] == '~') { t->offset += 2; - buffer_copy_string(token, "=~"); + buffer_copy_string_len(token, CONST_STR_LEN("=~")); tid = TK_MATCH; } else { @@ -531,13 +531,13 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * if (t->input[t->offset + 1] == '=') { t->offset += 2; - buffer_copy_string(token, "!="); + buffer_copy_string_len(token, CONST_STR_LEN("!=")); tid = TK_NE; } else if (t->input[t->offset + 1] == '~') { t->offset += 2; - buffer_copy_string(token, "!~"); + buffer_copy_string_len(token, CONST_STR_LEN("!~")); tid = TK_NOMATCH; } else { @@ -592,7 +592,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * } t->in_key = 1; tid = TK_EOL; - buffer_copy_string(token, "(EOL)"); + buffer_copy_string_len(token, CONST_STR_LEN("(EOL)")); } else { config_skip_newline(t); t->line_pos = 1; @@ -603,7 +603,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * if (t->in_brace > 0) { tid = TK_COMMA; - buffer_copy_string(token, "(COMMA)"); + buffer_copy_string_len(token, CONST_STR_LEN("(COMMA)")); } t->offset++; @@ -612,7 +612,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * case '"': /* search for the terminating " */ start = t->input + t->offset + 1; - buffer_copy_string(token, ""); + buffer_copy_string_len(token, CONST_STR_LEN("")); for (i = 1; t->input[t->offset + i]; i++) { if (t->input[t->offset + i] == '\\' && @@ -658,7 +658,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * tid = TK_LPARAN; - buffer_copy_string(token, "("); + buffer_copy_string_len(token, CONST_STR_LEN("(")); break; case ')': t->offset++; @@ -666,7 +666,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * tid = TK_RPARAN; - buffer_copy_string(token, ")"); + buffer_copy_string_len(token, CONST_STR_LEN(")")); break; case '$': t->offset++; @@ -675,19 +675,19 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * t->in_cond = 1; t->in_key = 0; - buffer_copy_string(token, "$"); + buffer_copy_string_len(token, CONST_STR_LEN("$")); break; case '+': if (t->input[t->offset + 1] == '=') { t->offset += 2; - buffer_copy_string(token, "+="); + buffer_copy_string_len(token, CONST_STR_LEN("+=")); tid = TK_APPEND; } else { t->offset++; tid = TK_PLUS; - buffer_copy_string(token, "+"); + buffer_copy_string_len(token, CONST_STR_LEN("+")); } break; @@ -696,7 +696,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * tid = TK_LCURLY; - buffer_copy_string(token, "{"); + buffer_copy_string_len(token, CONST_STR_LEN("{")); break; @@ -705,7 +705,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * tid = TK_RCURLY; - buffer_copy_string(token, "}"); + buffer_copy_string_len(token, CONST_STR_LEN("}")); break; @@ -714,7 +714,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * tid = TK_LBRACKET; - buffer_copy_string(token, "["); + buffer_copy_string_len(token, CONST_STR_LEN("[")); break; @@ -723,7 +723,7 @@ static int config_tokenizer(server *srv, tokenizer_t *t, int *token_id, buffer * tid = TK_RBRACKET; - buffer_copy_string(token, "]"); + buffer_copy_string_len(token, CONST_STR_LEN("]")); break; case '#': @@ -1009,7 +1009,7 @@ int config_read(server *srv, const char *fn) { } dc = data_config_init(); - buffer_copy_string(dc->key, "global"); + buffer_copy_string_len(dc->key, CONST_STR_LEN("global")); assert(context.all_configs->used == 0); dc->context_ndx = context.all_configs->used; @@ -1020,14 +1020,14 @@ int config_read(server *srv, const char *fn) { srv->config = dc->value; dpid = data_integer_init(); dpid->value = getpid(); - buffer_copy_string(dpid->key, "var.PID"); + buffer_copy_string_len(dpid->key, CONST_STR_LEN("var.PID")); array_insert_unique(srv->config, (data_unset *)dpid); dcwd = data_string_init(); buffer_prepare_copy(dcwd->value, 1024); if (NULL != getcwd(dcwd->value->ptr, dcwd->value->size - 1)) { dcwd->value->used = strlen(dcwd->value->ptr) + 1; - buffer_copy_string(dcwd->key, "var.CWD"); + buffer_copy_string_len(dcwd->key, CONST_STR_LEN("var.CWD")); array_insert_unique(srv->config, (data_unset *)dcwd); } @@ -1061,7 +1061,7 @@ int config_read(server *srv, const char *fn) { /* prepend default modules */ if (NULL == array_get_element(modules->value, "mod_indexfile")) { ds = data_string_init(); - buffer_copy_string(ds->value, "mod_indexfile"); + buffer_copy_string_len(ds->value, CONST_STR_LEN("mod_indexfile")); array_insert_unique(prepends->value, (data_unset *)ds); } @@ -1074,13 +1074,13 @@ int config_read(server *srv, const char *fn) { /* append default modules */ if (NULL == array_get_element(modules->value, "mod_dirlisting")) { ds = data_string_init(); - buffer_copy_string(ds->value, "mod_dirlisting"); + buffer_copy_string_len(ds->value, CONST_STR_LEN("mod_dirlisting")); array_insert_unique(modules->value, (data_unset *)ds); } if (NULL == array_get_element(modules->value, "mod_staticfile")) { ds = data_string_init(); - buffer_copy_string(ds->value, "mod_staticfile"); + buffer_copy_string_len(ds->value, CONST_STR_LEN("mod_staticfile")); array_insert_unique(modules->value, (data_unset *)ds); } } else { @@ -1090,18 +1090,18 @@ int config_read(server *srv, const char *fn) { /* server.modules is not set */ ds = data_string_init(); - buffer_copy_string(ds->value, "mod_indexfile"); + buffer_copy_string_len(ds->value, CONST_STR_LEN("mod_indexfile")); array_insert_unique(modules->value, (data_unset *)ds); ds = data_string_init(); - buffer_copy_string(ds->value, "mod_dirlisting"); + buffer_copy_string_len(ds->value, CONST_STR_LEN("mod_dirlisting")); array_insert_unique(modules->value, (data_unset *)ds); ds = data_string_init(); - buffer_copy_string(ds->value, "mod_staticfile"); + buffer_copy_string_len(ds->value, CONST_STR_LEN("mod_staticfile")); array_insert_unique(modules->value, (data_unset *)ds); - buffer_copy_string(modules->key, "server.modules"); + buffer_copy_string_len(modules->key, CONST_STR_LEN("server.modules")); array_insert_unique(srv->config, (data_unset *)modules); } diff --git a/src/connections.c b/src/connections.c index dfbeb43b..ef40eb66 100644 --- a/src/connections.c +++ b/src/connections.c @@ -475,30 +475,30 @@ static int connection_handle_write_prepare(server *srv, connection *con) { b = chunkqueue_get_append_buffer(con->write_queue); /* build default error-page */ - buffer_copy_string(b, + buffer_copy_string_len(b, CONST_STR_LEN( "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n" " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n" " <head>\n" - " <title>"); + " <title>")); buffer_append_long(b, con->http_status); - buffer_append_string(b, " - "); + buffer_append_string_len(b, CONST_STR_LEN(" - ")); buffer_append_string(b, get_http_status_name(con->http_status)); - buffer_append_string(b, + buffer_append_string_len(b, CONST_STR_LEN( "</title>\n" " </head>\n" " <body>\n" - " <h1>"); + " <h1>")); buffer_append_long(b, con->http_status); - buffer_append_string(b, " - "); + buffer_append_string_len(b, CONST_STR_LEN(" - ")); buffer_append_string(b, get_http_status_name(con->http_status)); - buffer_append_string(b,"</h1>\n" + buffer_append_string_len(b, CONST_STR_LEN("</h1>\n" " </body>\n" "</html>\n" - ); + )); response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/html")); } diff --git a/src/data_string.c b/src/data_string.c index e7aab1a6..5b2678d8 100644 --- a/src/data_string.c +++ b/src/data_string.c @@ -37,7 +37,7 @@ static int data_string_insert_dup(data_unset *dst, data_unset *src) { data_string *ds_src = (data_string *)src; if (ds_dst->value->used) { - buffer_append_string(ds_dst->value, ", "); + buffer_append_string_len(ds_dst->value, CONST_STR_LEN(", ")); buffer_append_string_buffer(ds_dst->value, ds_src->value); } else { buffer_copy_string_buffer(ds_dst->value, ds_src->value); @@ -53,9 +53,9 @@ static int data_response_insert_dup(data_unset *dst, data_unset *src) { data_string *ds_src = (data_string *)src; if (ds_dst->value->used) { - buffer_append_string(ds_dst->value, "\r\n"); + buffer_append_string_len(ds_dst->value, CONST_STR_LEN("\r\n")); buffer_append_string_buffer(ds_dst->value, ds_dst->key); - buffer_append_string(ds_dst->value, ": "); + buffer_append_string_len(ds_dst->value, CONST_STR_LEN(": ")); buffer_append_string_buffer(ds_dst->value, ds_src->value); } else { buffer_copy_string_buffer(ds_dst->value, ds_src->value); diff --git a/src/http-header-glue.c b/src/http-header-glue.c index 7903c05e..312e9a1a 100644 --- a/src/http-header-glue.c +++ b/src/http-header-glue.c @@ -109,9 +109,9 @@ int http_response_redirect_to_directory(server *srv, connection *con) { o = buffer_init(); if (con->conf.is_ssl) { - buffer_copy_string(o, "https://"); + buffer_copy_string_len(o, CONST_STR_LEN("https://")); } else { - buffer_copy_string(o, "http://"); + buffer_copy_string_len(o, CONST_STR_LEN("http://")); } if (con->uri.authority->used) { buffer_append_string_buffer(o, con->uri.authority); @@ -180,14 +180,14 @@ int http_response_redirect_to_directory(server *srv, connection *con) { if (!((con->conf.is_ssl == 0 && srv->srvconf.port == 80) || (con->conf.is_ssl == 1 && srv->srvconf.port == 443))) { - buffer_append_string(o, ":"); + buffer_append_string_len(o, CONST_STR_LEN(":")); buffer_append_long(o, srv->srvconf.port); } } buffer_append_string_buffer(o, con->uri.path); - buffer_append_string(o, "/"); + buffer_append_string_len(o, CONST_STR_LEN("/")); if (!buffer_is_empty(con->uri.query)) { - buffer_append_string(o, "?"); + buffer_append_string_len(o, CONST_STR_LEN("?")); buffer_append_string_buffer(o, con->uri.query); } diff --git a/src/http_chunk.c b/src/http_chunk.c index 669ff327..37e829d4 100644 --- a/src/http_chunk.c +++ b/src/http_chunk.c @@ -27,7 +27,7 @@ static int http_chunk_append_len(server *srv, connection *con, size_t len) { b = srv->tmp_chunk_len; if (len == 0) { - buffer_copy_string(b, "0"); + buffer_copy_string_len(b, CONST_STR_LEN("0")); } else { for (i = 0; i < 8 && len; i++) { len >>= 4; @@ -44,7 +44,7 @@ static int http_chunk_append_len(server *srv, connection *con, size_t len) { b->ptr[b->used++] = '\0'; } - buffer_append_string(b, "\r\n"); + buffer_append_string_len(b, CONST_STR_LEN("\r\n")); chunkqueue_append_buffer(con->write_queue, b); return 0; @@ -185,18 +185,18 @@ int log_error_write(server *srv, const char *filename, unsigned int line, const } buffer_copy_string_buffer(srv->errorlog_buf, srv->ts_debug_str); - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, ": ("); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN(": (")); break; case ERRORLOG_SYSLOG: /* syslog is generating its own timestamps */ - BUFFER_COPY_STRING_CONST(srv->errorlog_buf, "("); + buffer_copy_string_len(srv->errorlog_buf, CONST_STR_LEN("(")); break; } buffer_append_string(srv->errorlog_buf, filename); - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, "."); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN(".")); buffer_append_long(srv->errorlog_buf, line); - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, ") "); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN(") ")); for(va_start(ap, fmt); *fmt; fmt++) { @@ -209,28 +209,28 @@ int log_error_write(server *srv, const char *filename, unsigned int line, const case 's': /* string */ s = va_arg(ap, char *); buffer_append_string(srv->errorlog_buf, s); - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, " "); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN(" ")); break; case 'b': /* buffer */ b = va_arg(ap, buffer *); buffer_append_string_buffer(srv->errorlog_buf, b); - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, " "); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN(" ")); break; case 'd': /* int */ d = va_arg(ap, int); buffer_append_long(srv->errorlog_buf, d); - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, " "); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN(" ")); break; case 'o': /* off_t */ o = va_arg(ap, off_t); buffer_append_off_t(srv->errorlog_buf, o); - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, " "); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN(" ")); break; case 'x': /* int (hex) */ d = va_arg(ap, int); - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, "0x"); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN("0x")); buffer_append_long_hex(srv->errorlog_buf, d); - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, " "); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN(" ")); break; case 'S': /* string */ s = va_arg(ap, char *); @@ -258,11 +258,11 @@ int log_error_write(server *srv, const char *filename, unsigned int line, const switch(srv->errorlog_mode) { case ERRORLOG_FILE: - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, "\n"); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN("\n")); write(srv->errorlog_fd, srv->errorlog_buf->ptr, srv->errorlog_buf->used - 1); break; case ERRORLOG_STDERR: - BUFFER_APPEND_STRING_CONST(srv->errorlog_buf, "\n"); + buffer_append_string_len(srv->errorlog_buf, CONST_STR_LEN("\n")); write(STDERR_FILENO, srv->errorlog_buf->ptr, srv->errorlog_buf->used - 1); break; case ERRORLOG_SYSLOG: diff --git a/src/mod_accesslog.c b/src/mod_accesslog.c index 84c53db3..a1f39c3f 100644 --- a/src/mod_accesslog.c +++ b/src/mod_accesslog.c @@ -433,7 +433,7 @@ SETDEFAULTS_FUNC(log_access_open) { if (i == 0 && buffer_is_empty(s->format)) { /* set a default logfile string */ - buffer_copy_string(s->format, "%h %V %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""); + buffer_copy_string_len(s->format, CONST_STR_LEN("%h %V %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"")); } /* parse */ @@ -654,7 +654,7 @@ REQUESTDONE_FUNC(log_access_write) { b = p->conf.access_logbuffer; if (b->used == 0) { - buffer_copy_string(b, ""); + buffer_copy_string_len(b, CONST_STR_LEN("")); } for (j = 0; j < p->conf.parsed_format->used; j++) { @@ -683,19 +683,19 @@ REQUESTDONE_FUNC(log_access_write) { # endif p->conf.ts_accesslog_str->used = strlen(p->conf.ts_accesslog_str->ptr) + 1; - buffer_append_string(p->conf.ts_accesslog_str, tm.tm_gmtoff >= 0 ? "+" : "-"); + buffer_append_string_len(p->conf.ts_accesslog_str, tm.tm_gmtoff >= 0 ? "+" : "-", 1); scd = abs(tm.tm_gmtoff); hrs = scd / 3600; min = (scd % 3600) / 60; /* hours */ - if (hrs < 10) buffer_append_string(p->conf.ts_accesslog_str, "0"); + if (hrs < 10) buffer_append_string_len(p->conf.ts_accesslog_str, CONST_STR_LEN("0")); buffer_append_long(p->conf.ts_accesslog_str, hrs); - if (min < 10) buffer_append_string(p->conf.ts_accesslog_str, "0"); + if (min < 10) buffer_append_string_len(p->conf.ts_accesslog_str, CONST_STR_LEN("0")); buffer_append_long(p->conf.ts_accesslog_str, min); - BUFFER_APPEND_STRING_CONST(p->conf.ts_accesslog_str, "]"); + buffer_append_string_len(p->conf.ts_accesslog_str, CONST_STR_LEN("]")); #else #ifdef HAVE_GMTIME_R gmtime_r(&(srv->cur_ts), &tm); @@ -722,13 +722,13 @@ REQUESTDONE_FUNC(log_access_write) { break; case FORMAT_REMOTE_IDENT: /* ident */ - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); break; case FORMAT_REMOTE_USER: if (con->authed_user->used > 1) { buffer_append_string_buffer(b, con->authed_user); } else { - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); } break; case FORMAT_REQUEST_LINE: @@ -745,42 +745,42 @@ REQUESTDONE_FUNC(log_access_write) { buffer_append_off_t(b, con->bytes_written - con->bytes_header <= 0 ? 0 : con->bytes_written - con->bytes_header); } else { - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); } break; case FORMAT_HEADER: if (NULL != (ds = (data_string *)array_get_element(con->request.headers, p->conf.parsed_format->ptr[j]->string->ptr))) { buffer_append_string_buffer(b, ds->value); } else { - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); } break; case FORMAT_RESPONSE_HEADER: if (NULL != (ds = (data_string *)array_get_element(con->response.headers, p->conf.parsed_format->ptr[j]->string->ptr))) { buffer_append_string_buffer(b, ds->value); } else { - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); } break; case FORMAT_FILENAME: if (con->physical.path->used > 1) { buffer_append_string_buffer(b, con->physical.path); } else { - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); } break; case FORMAT_BYTES_OUT: if (con->bytes_written > 0) { buffer_append_off_t(b, con->bytes_written); } else { - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); } break; case FORMAT_BYTES_IN: if (con->bytes_read > 0) { buffer_append_off_t(b, con->bytes_read); } else { - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); } break; case FORMAT_TIME_USED: @@ -790,25 +790,25 @@ REQUESTDONE_FUNC(log_access_write) { if (con->server_name->used > 1) { buffer_append_string_buffer(b, con->server_name); } else { - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); } break; case FORMAT_HTTP_HOST: if (con->uri.authority->used > 1) { buffer_append_string_buffer(b, con->uri.authority); } else { - BUFFER_APPEND_STRING_CONST(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); } break; case FORMAT_REQUEST_PROTOCOL: - buffer_append_string(b, - con->request.http_version == HTTP_VERSION_1_1 ? "HTTP/1.1" : "HTTP/1.0"); + buffer_append_string_len(b, + con->request.http_version == HTTP_VERSION_1_1 ? "HTTP/1.1" : "HTTP/1.0", 8); break; case FORMAT_REQUEST_METHOD: buffer_append_string(b, get_http_method_name(con->request.http_method)); break; case FORMAT_PERCENT: - buffer_append_string(b, "%"); + buffer_append_string_len(b, CONST_STR_LEN("%")); break; case FORMAT_SERVER_PORT: { @@ -828,8 +828,8 @@ REQUESTDONE_FUNC(log_access_write) { break; case FORMAT_CONNECTION_STATUS: switch(con->keep_alive) { - case 0: buffer_append_string(b, "-"); break; - default: buffer_append_string(b, "+"); break; + case 0: buffer_append_string_len(b, CONST_STR_LEN("-")); break; + default: buffer_append_string_len(b, CONST_STR_LEN("+")); break; } break; default: @@ -849,7 +849,7 @@ REQUESTDONE_FUNC(log_access_write) { } } - BUFFER_APPEND_STRING_CONST(b, "\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n")); if (p->conf.use_syslog || /* syslog doesn't cache */ (p->conf.access_logfile->used && p->conf.access_logfile->ptr[0] == '|') || /* pipes don't cache */ diff --git a/src/mod_auth.c b/src/mod_auth.c index 27b79d96..8411585f 100644 --- a/src/mod_auth.c +++ b/src/mod_auth.c @@ -270,20 +270,20 @@ static handler_t mod_auth_uri_handler(server *srv, connection *con, void *p_d) { con->http_status = 401; if (0 == strcmp(method->value->ptr, "basic")) { - buffer_copy_string(p->tmp_buf, "Basic realm=\""); + buffer_copy_string_len(p->tmp_buf, CONST_STR_LEN("Basic realm=\"")); buffer_append_string_buffer(p->tmp_buf, realm->value); - buffer_append_string(p->tmp_buf, "\""); + buffer_append_string_len(p->tmp_buf, CONST_STR_LEN("\"")); response_header_insert(srv, con, CONST_STR_LEN("WWW-Authenticate"), CONST_BUF_LEN(p->tmp_buf)); } else if (0 == strcmp(method->value->ptr, "digest")) { char hh[33]; http_auth_digest_generate_nonce(srv, p, srv->tmp_buf, hh); - buffer_copy_string(p->tmp_buf, "Digest realm=\""); + buffer_copy_string_len(p->tmp_buf, CONST_STR_LEN("Digest realm=\"")); buffer_append_string_buffer(p->tmp_buf, realm->value); - buffer_append_string(p->tmp_buf, "\", nonce=\""); + buffer_append_string_len(p->tmp_buf, CONST_STR_LEN("\", nonce=\"")); buffer_append_string(p->tmp_buf, hh); - buffer_append_string(p->tmp_buf, "\", qop=\"auth\""); + buffer_append_string_len(p->tmp_buf, CONST_STR_LEN("\", qop=\"auth\"")); response_header_insert(srv, con, CONST_STR_LEN("WWW-Authenticate"), CONST_BUF_LEN(p->tmp_buf)); } else { @@ -479,21 +479,21 @@ SETDEFAULTS_FUNC(mod_auth_set_defaults) { ds = data_string_init(); - buffer_copy_string(ds->key, "method"); + buffer_copy_string_len(ds->key, CONST_STR_LEN("method")); buffer_copy_string(ds->value, method); array_insert_unique(a->value, (data_unset *)ds); ds = data_string_init(); - buffer_copy_string(ds->key, "realm"); + buffer_copy_string_len(ds->key, CONST_STR_LEN("realm")); buffer_copy_string(ds->value, realm); array_insert_unique(a->value, (data_unset *)ds); ds = data_string_init(); - buffer_copy_string(ds->key, "require"); + buffer_copy_string_len(ds->key, CONST_STR_LEN("require")); buffer_copy_string(ds->value, require); array_insert_unique(a->value, (data_unset *)ds); diff --git a/src/mod_cgi.c b/src/mod_cgi.c index 0ed4dc7d..116972d5 100644 --- a/src/mod_cgi.c +++ b/src/mod_cgi.c @@ -912,7 +912,7 @@ static int cgi_create_env(server *srv, connection *con, plugin_data *p, buffer * buffer_reset(p->tmp_buf); if (0 != strcasecmp(ds->key->ptr, "CONTENT-TYPE")) { - buffer_copy_string(p->tmp_buf, "HTTP_"); + buffer_copy_string_len(p->tmp_buf, CONST_STR_LEN("HTTP_")); p->tmp_buf->used--; /* strip \0 after HTTP_ */ } diff --git a/src/mod_compress.c b/src/mod_compress.c index 0da611b5..9da3cbad 100644 --- a/src/mod_compress.c +++ b/src/mod_compress.c @@ -396,13 +396,13 @@ static int deflate_file_to_file(server *srv, connection *con, plugin_data *p, bu switch(type) { case HTTP_ACCEPT_ENCODING_GZIP: - buffer_append_string(p->ofn, "-gzip-"); + buffer_append_string_len(p->ofn, CONST_STR_LEN("-gzip-")); break; case HTTP_ACCEPT_ENCODING_DEFLATE: - buffer_append_string(p->ofn, "-deflate-"); + buffer_append_string_len(p->ofn, CONST_STR_LEN("-deflate-")); break; case HTTP_ACCEPT_ENCODING_BZIP2: - buffer_append_string(p->ofn, "-bzip2-"); + buffer_append_string_len(p->ofn, CONST_STR_LEN("-bzip2-")); break; default: log_error_write(srv, __FILE__, __LINE__, "sd", "unknown compression type", type); diff --git a/src/mod_dirlisting.c b/src/mod_dirlisting.c index 043f3d6a..e6b3afc9 100644 --- a/src/mod_dirlisting.c +++ b/src/mod_dirlisting.c @@ -454,21 +454,21 @@ static int http_list_directory_sizefmt(char *buf, off_t size) { static void http_list_directory_header(server *srv, connection *con, plugin_data *p, buffer *out) { UNUSED(srv); - BUFFER_APPEND_STRING_CONST(out, + buffer_append_string_len(out, CONST_STR_LEN( "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n" "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\">\n" "<head>\n" "<title>Index of " - ); + )); buffer_append_string_encoded(out, CONST_BUF_LEN(con->uri.path), ENCODING_MINIMAL_XML); - BUFFER_APPEND_STRING_CONST(out, "</title>\n"); + buffer_append_string_len(out, CONST_STR_LEN("</title>\n")); if (p->conf.external_css->used > 1) { - BUFFER_APPEND_STRING_CONST(out, "<link rel=\"stylesheet\" type=\"text/css\" href=\""); + buffer_append_string_len(out, CONST_STR_LEN("<link rel=\"stylesheet\" type=\"text/css\" href=\"")); buffer_append_string_buffer(out, p->conf.external_css); - BUFFER_APPEND_STRING_CONST(out, "\" />\n"); + buffer_append_string_len(out, CONST_STR_LEN("\" />\n")); } else { - BUFFER_APPEND_STRING_CONST(out, + buffer_append_string_len(out, CONST_STR_LEN( "<style type=\"text/css\">\n" "a, a:active {text-decoration: none; color: blue;}\n" "a:visited {color: #48468F;}\n" @@ -485,8 +485,6 @@ static void http_list_directory_header(server *srv, connection *con, plugin_data " padding-right: 14px;" " padding-bottom: 3px;" "}\n" - ); - BUFFER_APPEND_STRING_CONST(out, "td {padding-right: 14px;}\n" "td.s, th.s {text-align: right;}\n" "div.list {" @@ -502,10 +500,10 @@ static void http_list_directory_header(server *srv, connection *con, plugin_data " padding-top: 4px;" "}\n" "</style>\n" - ); + )); } - BUFFER_APPEND_STRING_CONST(out, "</head>\n<body>\n"); + buffer_append_string_len(out, CONST_STR_LEN("</head>\n<body>\n")); /* HEADER.txt */ if (p->conf.show_header) { @@ -514,19 +512,19 @@ static void http_list_directory_header(server *srv, connection *con, plugin_data buffer_copy_string_buffer(p->tmp_buf, con->physical.path); BUFFER_APPEND_SLASH(p->tmp_buf); - BUFFER_APPEND_STRING_CONST(p->tmp_buf, "HEADER.txt"); + buffer_append_string_len(p->tmp_buf, CONST_STR_LEN("HEADER.txt")); if (-1 != stream_open(&s, p->tmp_buf)) { - BUFFER_APPEND_STRING_CONST(out, "<pre class=\"header\">"); + buffer_append_string_len(out, CONST_STR_LEN("<pre class=\"header\">")); buffer_append_string_encoded(out, s.start, s.size, ENCODING_MINIMAL_XML); - BUFFER_APPEND_STRING_CONST(out, "</pre>"); + buffer_append_string_len(out, CONST_STR_LEN("</pre>")); } stream_close(&s); } - BUFFER_APPEND_STRING_CONST(out, "<h2>Index of "); + buffer_append_string_len(out, CONST_STR_LEN("<h2>Index of ")); buffer_append_string_encoded(out, CONST_BUF_LEN(con->uri.path), ENCODING_MINIMAL_XML); - BUFFER_APPEND_STRING_CONST(out, + buffer_append_string_len(out, CONST_STR_LEN( "</h2>\n" "<div class=\"list\">\n" "<table summary=\"Directory Listing\" cellpadding=\"0\" cellspacing=\"0\">\n" @@ -545,17 +543,17 @@ static void http_list_directory_header(server *srv, connection *con, plugin_data "<td class=\"s\">- </td>" "<td class=\"t\">Directory</td>" "</tr>\n" - ); + )); } static void http_list_directory_footer(server *srv, connection *con, plugin_data *p, buffer *out) { UNUSED(srv); - BUFFER_APPEND_STRING_CONST(out, + buffer_append_string_len(out, CONST_STR_LEN( "</tbody>\n" "</table>\n" "</div>\n" - ); + )); if (p->conf.show_readme) { stream s; @@ -563,33 +561,33 @@ static void http_list_directory_footer(server *srv, connection *con, plugin_data buffer_copy_string_buffer(p->tmp_buf, con->physical.path); BUFFER_APPEND_SLASH(p->tmp_buf); - BUFFER_APPEND_STRING_CONST(p->tmp_buf, "README.txt"); + buffer_append_string_len(p->tmp_buf, CONST_STR_LEN("README.txt")); if (-1 != stream_open(&s, p->tmp_buf)) { - BUFFER_APPEND_STRING_CONST(out, "<pre class=\"readme\">"); + buffer_append_string_len(out, CONST_STR_LEN("<pre class=\"readme\">")); buffer_append_string_encoded(out, s.start, s.size, ENCODING_MINIMAL_XML); - BUFFER_APPEND_STRING_CONST(out, "</pre>"); + buffer_append_string_len(out, CONST_STR_LEN("</pre>")); } stream_close(&s); } - BUFFER_APPEND_STRING_CONST(out, + buffer_append_string_len(out, CONST_STR_LEN( "<div class=\"foot\">" - ); + )); if (p->conf.set_footer->used > 1) { buffer_append_string_buffer(out, p->conf.set_footer); } else if (buffer_is_empty(con->conf.server_tag)) { - BUFFER_APPEND_STRING_CONST(out, PACKAGE_NAME "/" PACKAGE_VERSION); + buffer_append_string_len(out, CONST_STR_LEN(PACKAGE_NAME "/" PACKAGE_VERSION)); } else { buffer_append_string_buffer(out, con->conf.server_tag); } - BUFFER_APPEND_STRING_CONST(out, + buffer_append_string_len(out, CONST_STR_LEN( "</div>\n" "</body>\n" "</html>\n" - ); + )); } static int http_list_directory(server *srv, connection *con, plugin_data *p, buffer *dir) { @@ -742,13 +740,13 @@ static int http_list_directory(server *srv, connection *con, plugin_data *p, buf if (files.used) http_dirls_sort(files.ent, files.used); out = chunkqueue_get_append_buffer(con->write_queue); - BUFFER_COPY_STRING_CONST(out, "<?xml version=\"1.0\" encoding=\""); + buffer_copy_string_len(out, CONST_STR_LEN("<?xml version=\"1.0\" encoding=\"")); if (buffer_is_empty(p->conf.encoding)) { - BUFFER_APPEND_STRING_CONST(out, "iso-8859-1"); + buffer_append_string_len(out, CONST_STR_LEN("iso-8859-1")); } else { buffer_append_string_buffer(out, p->conf.encoding); } - BUFFER_APPEND_STRING_CONST(out, "\"?>\n"); + buffer_append_string_len(out, CONST_STR_LEN("\"?>\n")); http_list_directory_header(srv, con, p, out); /* directories */ @@ -762,13 +760,13 @@ static int http_list_directory(server *srv, connection *con, plugin_data *p, buf strftime(datebuf, sizeof(datebuf), "%Y-%b-%d %H:%M:%S", localtime(&(tmp->mtime))); #endif - BUFFER_APPEND_STRING_CONST(out, "<tr><td class=\"n\"><a href=\""); + buffer_append_string_len(out, CONST_STR_LEN("<tr><td class=\"n\"><a href=\"")); buffer_append_string_encoded(out, DIRLIST_ENT_NAME(tmp), tmp->namelen, ENCODING_REL_URI_PART); - BUFFER_APPEND_STRING_CONST(out, "/\">"); + buffer_append_string_len(out, CONST_STR_LEN("/\">")); buffer_append_string_encoded(out, DIRLIST_ENT_NAME(tmp), tmp->namelen, ENCODING_MINIMAL_XML); - BUFFER_APPEND_STRING_CONST(out, "</a>/</td><td class=\"m\">"); + buffer_append_string_len(out, CONST_STR_LEN("</a>/</td><td class=\"m\">")); buffer_append_string_len(out, datebuf, sizeof(datebuf) - 1); - BUFFER_APPEND_STRING_CONST(out, "</td><td class=\"s\">- </td><td class=\"t\">Directory</td></tr>\n"); + buffer_append_string_len(out, CONST_STR_LEN("</td><td class=\"s\">- </td><td class=\"t\">Directory</td></tr>\n")); free(tmp); } @@ -818,17 +816,17 @@ static int http_list_directory(server *srv, connection *con, plugin_data *p, buf #endif http_list_directory_sizefmt(sizebuf, tmp->size); - BUFFER_APPEND_STRING_CONST(out, "<tr><td class=\"n\"><a href=\""); + buffer_append_string_len(out, CONST_STR_LEN("<tr><td class=\"n\"><a href=\"")); buffer_append_string_encoded(out, DIRLIST_ENT_NAME(tmp), tmp->namelen, ENCODING_REL_URI_PART); - BUFFER_APPEND_STRING_CONST(out, "\">"); + buffer_append_string_len(out, CONST_STR_LEN("\">")); buffer_append_string_encoded(out, DIRLIST_ENT_NAME(tmp), tmp->namelen, ENCODING_MINIMAL_XML); - BUFFER_APPEND_STRING_CONST(out, "</a></td><td class=\"m\">"); + buffer_append_string_len(out, CONST_STR_LEN("</a></td><td class=\"m\">")); buffer_append_string_len(out, datebuf, sizeof(datebuf) - 1); - BUFFER_APPEND_STRING_CONST(out, "</td><td class=\"s\">"); + buffer_append_string_len(out, CONST_STR_LEN("</td><td class=\"s\">")); buffer_append_string(out, sizebuf); - BUFFER_APPEND_STRING_CONST(out, "</td><td class=\"t\">"); + buffer_append_string_len(out, CONST_STR_LEN("</td><td class=\"t\">")); buffer_append_string(out, content_type); - BUFFER_APPEND_STRING_CONST(out, "</td></tr>\n"); + buffer_append_string_len(out, CONST_STR_LEN("</td></tr>\n")); free(tmp); } @@ -843,7 +841,7 @@ static int http_list_directory(server *srv, connection *con, plugin_data *p, buf if (buffer_is_empty(p->conf.encoding)) { response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/html")); } else { - buffer_copy_string(p->content_charset, "text/html; charset="); + buffer_copy_string_len(p->content_charset, CONST_STR_LEN("text/html; charset=")); buffer_append_string_buffer(p->content_charset, p->conf.encoding); response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_BUF_LEN(p->content_charset)); } diff --git a/src/mod_evhost.c b/src/mod_evhost.c index daf44942..9e1e60d5 100644 --- a/src/mod_evhost.c +++ b/src/mod_evhost.c @@ -181,7 +181,7 @@ static int mod_evhost_parse_host(connection *con,array *host) { } ds = data_string_init(); - buffer_copy_string(ds->key,"%0"); + buffer_copy_string_len(ds->key,CONST_STR_LEN("%0")); /* if we stopped at a dot, skip the dot */ if (*ptr == '.') ptr++; @@ -197,7 +197,7 @@ static int mod_evhost_parse_host(connection *con,array *host) { if (ptr != colon - 1) { /* is something between the dots */ ds = data_string_init(); - buffer_copy_string(ds->key,"%"); + buffer_copy_string_len(ds->key,CONST_STR_LEN("%")); buffer_append_long(ds->key, i++); buffer_copy_string_len(ds->value,ptr+1,colon-ptr-1); @@ -210,7 +210,7 @@ static int mod_evhost_parse_host(connection *con,array *host) { /* if the . is not the first charactor of the hostname */ if (colon != ptr) { ds = data_string_init(); - buffer_copy_string(ds->key,"%"); + buffer_copy_string_len(ds->key,CONST_STR_LEN("%")); buffer_append_long(ds->key, i++); buffer_copy_string_len(ds->value,ptr,colon-ptr); @@ -286,7 +286,7 @@ static handler_t mod_evhost_uri_handler(server *srv, connection *con, void *p_d) if (*(ptr+1) == '%') { /* %% */ - BUFFER_APPEND_STRING_CONST(p->tmp_buf,"%"); + buffer_append_string_len(p->tmp_buf,CONST_STR_LEN("%")); } else if (NULL != (ds = (data_string *)array_get_element(parsed_host,p->conf.path_pieces[i]->ptr))) { if (ds->value->used) { buffer_append_string_buffer(p->tmp_buf,ds->value); diff --git a/src/mod_expire.c b/src/mod_expire.c index b58b97db..6aed5143 100644 --- a/src/mod_expire.c +++ b/src/mod_expire.c @@ -339,7 +339,7 @@ URIHANDLER_FUNC(mod_expire_path_handler) { response_header_overwrite(srv, con, CONST_STR_LEN("Expires"), CONST_BUF_LEN(p->expire_tstmp)); /* HTTP/1.1 */ - buffer_copy_string(p->expire_tstmp, "max-age="); + buffer_copy_string_len(p->expire_tstmp, CONST_STR_LEN("max-age=")); buffer_append_long(p->expire_tstmp, ts); response_header_overwrite(srv, con, CONST_STR_LEN("Cache-Control"), CONST_BUF_LEN(p->expire_tstmp)); diff --git a/src/mod_fastcgi.c b/src/mod_fastcgi.c index b9ce1379..3d547587 100644 --- a/src/mod_fastcgi.c +++ b/src/mod_fastcgi.c @@ -390,10 +390,10 @@ typedef struct { static handler_t fcgi_handle_fdevent(void *s, void *ctx, int revents); int fastcgi_status_copy_procname(buffer *b, fcgi_extension_host *host, fcgi_proc *proc) { - buffer_copy_string(b, "fastcgi.backend."); + buffer_copy_string_len(b, CONST_STR_LEN("fastcgi.backend.")); buffer_append_string_buffer(b, host->id); if (proc) { - buffer_append_string(b, "."); + buffer_append_string_len(b, CONST_STR_LEN(".")); buffer_append_long(b, proc->id); } @@ -403,7 +403,7 @@ int fastcgi_status_copy_procname(buffer *b, fcgi_extension_host *host, fcgi_proc int fastcgi_status_init(server *srv, buffer *b, fcgi_extension_host *host, fcgi_proc *proc) { #define CLEAN(x) \ fastcgi_status_copy_procname(b, host, proc); \ - buffer_append_string(b, x); \ + buffer_append_string_len(b, CONST_STR_LEN(x)); \ status_counter_set(srv, CONST_BUF_LEN(b), 0); CLEAN(".disabled"); @@ -416,7 +416,7 @@ int fastcgi_status_init(server *srv, buffer *b, fcgi_extension_host *host, fcgi_ #define CLEAN(x) \ fastcgi_status_copy_procname(b, host, NULL); \ - buffer_append_string(b, x); \ + buffer_append_string_len(b, CONST_STR_LEN(x)); \ status_counter_set(srv, CONST_BUF_LEN(b), 0); CLEAN(".load"); @@ -821,7 +821,7 @@ static int fcgi_spawn_connection(server *srv, socket_type = AF_UNIX; fcgi_addr = (struct sockaddr *) &fcgi_addr_un; - buffer_copy_string(proc->connection_name, "unix:"); + buffer_copy_string_len(proc->connection_name, CONST_STR_LEN("unix:")); buffer_append_string_buffer(proc->connection_name, proc->unixsocket); #else @@ -867,13 +867,13 @@ static int fcgi_spawn_connection(server *srv, socket_type = AF_INET; fcgi_addr = (struct sockaddr *) &fcgi_addr_in; - buffer_copy_string(proc->connection_name, "tcp:"); + buffer_copy_string_len(proc->connection_name, CONST_STR_LEN("tcp:")); if (!buffer_is_empty(host->host)) { buffer_append_string_buffer(proc->connection_name, host->host); } else { - buffer_append_string(proc->connection_name, "localhost"); + buffer_append_string_len(proc->connection_name, CONST_STR_LEN("localhost")); } - buffer_append_string(proc->connection_name, ":"); + buffer_append_string_len(proc->connection_name, CONST_STR_LEN(":")); buffer_append_long(proc->connection_name, proc->port); } @@ -1339,7 +1339,7 @@ SETDEFAULTS_FUNC(mod_fastcgi_set_defaults) { proc->port = host->port + pno; } else { buffer_copy_string_buffer(proc->unixsocket, host->unixsocket); - buffer_append_string(proc->unixsocket, "-"); + buffer_append_string_len(proc->unixsocket, CONST_STR_LEN("-")); buffer_append_long(proc->unixsocket, pno); } @@ -1497,7 +1497,7 @@ void fcgi_connection_close(server *srv, handler_ctx *hctx) { status_counter_dec(srv, CONST_STR_LEN("fastcgi.active-requests")); fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); - buffer_append_string(p->statuskey, ".load"); + buffer_append_string_len(p->statuskey, CONST_STR_LEN(".load")); status_counter_set(srv, CONST_BUF_LEN(p->statuskey), hctx->proc->load); @@ -1698,7 +1698,7 @@ static connection_result_t fcgi_establish_connection(server *srv, handler_ctx *h if (buffer_is_empty(proc->connection_name)) { /* on remote spawing we have to set the connection-name now */ - buffer_copy_string(proc->connection_name, "unix:"); + buffer_copy_string_len(proc->connection_name, CONST_STR_LEN("unix:")); buffer_append_string_buffer(proc->connection_name, proc->unixsocket); } #else @@ -1724,13 +1724,13 @@ static connection_result_t fcgi_establish_connection(server *srv, handler_ctx *h if (buffer_is_empty(proc->connection_name)) { /* on remote spawing we have to set the connection-name now */ - buffer_copy_string(proc->connection_name, "tcp:"); + buffer_copy_string_len(proc->connection_name, CONST_STR_LEN("tcp:")); if (!buffer_is_empty(host->host)) { buffer_append_string_buffer(proc->connection_name, host->host); } else { - buffer_append_string(proc->connection_name, "localhost"); + buffer_append_string_len(proc->connection_name, CONST_STR_LEN("localhost")); } - buffer_append_string(proc->connection_name, ":"); + buffer_append_string_len(proc->connection_name, CONST_STR_LEN(":")); buffer_append_long(proc->connection_name, proc->port); } } @@ -1786,7 +1786,7 @@ static int fcgi_env_add_request_headers(server *srv, connection *con, plugin_dat buffer_reset(srv->tmp_buf); if (0 != strcasecmp(ds->key->ptr, "CONTENT-TYPE")) { - BUFFER_COPY_STRING_CONST(srv->tmp_buf, "HTTP_"); + buffer_copy_string_len(srv->tmp_buf, CONST_STR_LEN("HTTP_")); srv->tmp_buf->used--; } @@ -2041,7 +2041,7 @@ static int fcgi_create_env(server *srv, handler_ctx *hctx, size_t request_id) { */ if ('/' != host->strip_request_uri->ptr[host->strip_request_uri->used - 2]) { /* fix the user-input to have / as last char */ - buffer_append_string(host->strip_request_uri, "/"); + buffer_append_string_len(host->strip_request_uri, CONST_STR_LEN("/")); } if (con->request.orig_uri->used >= host->strip_request_uri->used && @@ -2383,7 +2383,7 @@ static int fastcgi_get_packet(server *srv, handler_ctx *hctx, fastcgi_response_p offset = sizeof(*header); /* ->b should only be the content */ - buffer_copy_string(packet->b, ""); /* used == 1 */ + buffer_copy_string_len(packet->b, CONST_STR_LEN("")); /* used == 1 */ if (packet->len) { /* copy the content */ @@ -2815,7 +2815,7 @@ static handler_t fcgi_write_request(server *srv, handler_ctx *hctx) { hctx->proc->state = PROC_STATE_DIED; fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); - buffer_append_string(p->statuskey, ".died"); + buffer_append_string_len(p->statuskey, CONST_STR_LEN(".died")); status_counter_inc(srv, CONST_BUF_LEN(p->statuskey)); @@ -2907,7 +2907,7 @@ static handler_t fcgi_write_request(server *srv, handler_ctx *hctx) { hctx->proc->state = PROC_STATE_OVERLOADED; fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); - buffer_append_string(p->statuskey, ".overloaded"); + buffer_append_string_len(p->statuskey, CONST_STR_LEN(".overloaded")); status_counter_inc(srv, CONST_BUF_LEN(p->statuskey)); @@ -2933,7 +2933,7 @@ static handler_t fcgi_write_request(server *srv, handler_ctx *hctx) { "load:", host->load); fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); - buffer_append_string(p->statuskey, ".died"); + buffer_append_string_len(p->statuskey, CONST_STR_LEN(".died")); status_counter_inc(srv, CONST_BUF_LEN(p->statuskey)); @@ -2959,19 +2959,19 @@ static handler_t fcgi_write_request(server *srv, handler_ctx *hctx) { status_counter_inc(srv, CONST_STR_LEN("fastcgi.active-requests")); fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); - buffer_append_string(p->statuskey, ".connected"); + buffer_append_string_len(p->statuskey, CONST_STR_LEN(".connected")); status_counter_inc(srv, CONST_BUF_LEN(p->statuskey)); /* the proc-load */ fastcgi_status_copy_procname(p->statuskey, hctx->host, hctx->proc); - buffer_append_string(p->statuskey, ".load"); + buffer_append_string_len(p->statuskey, CONST_STR_LEN(".load")); status_counter_set(srv, CONST_BUF_LEN(p->statuskey), hctx->proc->load); /* the host-load */ fastcgi_status_copy_procname(p->statuskey, hctx->host, NULL); - buffer_append_string(p->statuskey, ".load"); + buffer_append_string_len(p->statuskey, CONST_STR_LEN(".load")); status_counter_set(srv, CONST_BUF_LEN(p->statuskey), hctx->host->load); @@ -3765,7 +3765,7 @@ TRIGGER_FUNC(mod_fastcgi_handle_trigger) { proc->port = host->port + proc->id; } else { buffer_copy_string_buffer(proc->unixsocket, host->unixsocket); - buffer_append_string(proc->unixsocket, "-"); + buffer_append_string_len(proc->unixsocket, CONST_STR_LEN("-")); buffer_append_long(proc->unixsocket, proc->id); } diff --git a/src/mod_flv_streaming.c b/src/mod_flv_streaming.c index 32f23699..238dc9aa 100644 --- a/src/mod_flv_streaming.c +++ b/src/mod_flv_streaming.c @@ -245,7 +245,7 @@ URIHANDLER_FUNC(mod_flv_streaming_path_handler) { /* we are safe now, let's build a flv header */ b = chunkqueue_get_append_buffer(con->write_queue); - BUFFER_COPY_STRING_CONST(b, "FLV\x1\x1\0\0\0\x9\0\0\0\x9"); + buffer_copy_string_len(b, CONST_STR_LEN("FLV\x1\x1\0\0\0\x9\0\0\0\x9")); http_chunk_append_file(srv, con, con->physical.path, start, sce->st.st_size - start); diff --git a/src/mod_proxy.c b/src/mod_proxy.c index 4d8ecdd9..aa0b5718 100644 --- a/src/mod_proxy.c +++ b/src/mod_proxy.c @@ -432,10 +432,10 @@ static int proxy_create_env(server *srv, handler_ctx *hctx) { /* request line */ buffer_copy_string(b, get_http_method_name(con->request.http_method)); - BUFFER_APPEND_STRING_CONST(b, " "); + buffer_append_string_len(b, CONST_STR_LEN(" ")); buffer_append_string_buffer(b, con->request.uri); - BUFFER_APPEND_STRING_CONST(b, " HTTP/1.0\r\n"); + buffer_append_string_len(b, CONST_STR_LEN(" HTTP/1.0\r\n")); proxy_append_header(con, "X-Forwarded-For", (char *)inet_ntop_cache_get_ip(srv, &(con->dst_addr))); /* http_host is NOT is just a pointer to a buffer @@ -456,13 +456,13 @@ static int proxy_create_env(server *srv, handler_ctx *hctx) { if (buffer_is_equal_string(ds->key, CONST_STR_LEN("Connection"))) continue; buffer_append_string_buffer(b, ds->key); - BUFFER_APPEND_STRING_CONST(b, ": "); + buffer_append_string_len(b, CONST_STR_LEN(": ")); buffer_append_string_buffer(b, ds->value); - BUFFER_APPEND_STRING_CONST(b, "\r\n"); + buffer_append_string_len(b, CONST_STR_LEN("\r\n")); } } - BUFFER_APPEND_STRING_CONST(b, "\r\n"); + buffer_append_string_len(b, CONST_STR_LEN("\r\n")); hctx->wb->bytes_in += b->used - 1; /* body */ diff --git a/src/mod_rrdtool.c b/src/mod_rrdtool.c index 48384525..0852f26e 100644 --- a/src/mod_rrdtool.c +++ b/src/mod_rrdtool.c @@ -204,24 +204,25 @@ static int mod_rrdtool_create_rrd(server *srv, plugin_data *p, plugin_config *s) int r ; /* create a new one */ - BUFFER_COPY_STRING_CONST(p->cmd, "create "); + buffer_copy_string_len(p->cmd, CONST_STR_LEN("create ")); buffer_append_string_buffer(p->cmd, s->path_rrd); - buffer_append_string(p->cmd, " --step 60 "); - buffer_append_string(p->cmd, "DS:InOctets:ABSOLUTE:600:U:U "); - buffer_append_string(p->cmd, "DS:OutOctets:ABSOLUTE:600:U:U "); - buffer_append_string(p->cmd, "DS:Requests:ABSOLUTE:600:U:U "); - buffer_append_string(p->cmd, "RRA:AVERAGE:0.5:1:600 "); - buffer_append_string(p->cmd, "RRA:AVERAGE:0.5:6:700 "); - buffer_append_string(p->cmd, "RRA:AVERAGE:0.5:24:775 "); - buffer_append_string(p->cmd, "RRA:AVERAGE:0.5:288:797 "); - buffer_append_string(p->cmd, "RRA:MAX:0.5:1:600 "); - buffer_append_string(p->cmd, "RRA:MAX:0.5:6:700 "); - buffer_append_string(p->cmd, "RRA:MAX:0.5:24:775 "); - buffer_append_string(p->cmd, "RRA:MAX:0.5:288:797 "); - buffer_append_string(p->cmd, "RRA:MIN:0.5:1:600 "); - buffer_append_string(p->cmd, "RRA:MIN:0.5:6:700 "); - buffer_append_string(p->cmd, "RRA:MIN:0.5:24:775 "); - buffer_append_string(p->cmd, "RRA:MIN:0.5:288:797\n"); + buffer_append_string_len(p->cmd, CONST_STR_LEN( + " --step 60 " + "DS:InOctets:ABSOLUTE:600:U:U " + "DS:OutOctets:ABSOLUTE:600:U:U " + "DS:Requests:ABSOLUTE:600:U:U " + "RRA:AVERAGE:0.5:1:600 " + "RRA:AVERAGE:0.5:6:700 " + "RRA:AVERAGE:0.5:24:775 " + "RRA:AVERAGE:0.5:288:797 " + "RRA:MAX:0.5:1:600 " + "RRA:MAX:0.5:6:700 " + "RRA:MAX:0.5:24:775 " + "RRA:MAX:0.5:288:797 " + "RRA:MIN:0.5:1:600 " + "RRA:MIN:0.5:6:700 " + "RRA:MIN:0.5:24:775 " + "RRA:MIN:0.5:288:797\n")); if (-1 == (r = write(p->write_fd, p->cmd->ptr, p->cmd->used - 1))) { log_error_write(srv, __FILE__, __LINE__, "ss", @@ -374,15 +375,15 @@ TRIGGER_FUNC(mod_rrd_trigger) { if (HANDLER_GO_ON != mod_rrdtool_create_rrd(srv, p, s)) return HANDLER_ERROR; - BUFFER_COPY_STRING_CONST(p->cmd, "update "); + buffer_copy_string_len(p->cmd, CONST_STR_LEN("update ")); buffer_append_string_buffer(p->cmd, s->path_rrd); - BUFFER_APPEND_STRING_CONST(p->cmd, " N:"); + buffer_append_string_len(p->cmd, CONST_STR_LEN(" N:")); buffer_append_off_t(p->cmd, s->bytes_read); - BUFFER_APPEND_STRING_CONST(p->cmd, ":"); + buffer_append_string_len(p->cmd, CONST_STR_LEN(":")); buffer_append_off_t(p->cmd, s->bytes_written); - BUFFER_APPEND_STRING_CONST(p->cmd, ":"); + buffer_append_string_len(p->cmd, CONST_STR_LEN(":")); buffer_append_long(p->cmd, s->requests); - BUFFER_APPEND_STRING_CONST(p->cmd, "\n"); + buffer_append_string_len(p->cmd, CONST_STR_LEN("\n")); if (-1 == (r = write(p->write_fd, p->cmd->ptr, p->cmd->used - 1))) { p->rrdtool_running = 0; diff --git a/src/mod_scgi.c b/src/mod_scgi.c index 9b2b3256..00efa22e 100644 --- a/src/mod_scgi.c +++ b/src/mod_scgi.c @@ -804,7 +804,7 @@ static int scgi_spawn_connection(server *srv, env.ptr[env.used] = NULL; b = buffer_init(); - buffer_copy_string(b, "exec "); + buffer_copy_string_len(b, CONST_STR_LEN("exec ")); buffer_append_string_buffer(b, host->bin_path); /* exec the cgi */ @@ -1097,7 +1097,7 @@ SETDEFAULTS_FUNC(mod_scgi_set_defaults) { proc->port = df->port + pno; } else { buffer_copy_string_buffer(proc->socket, df->unixsocket); - buffer_append_string(proc->socket, "-"); + buffer_append_string_len(proc->socket, CONST_STR_LEN("-")); buffer_append_long(proc->socket, pno); } @@ -1379,7 +1379,7 @@ static int scgi_env_add_request_headers(server *srv, connection *con, plugin_dat buffer_reset(srv->tmp_buf); if (0 != strcasecmp(ds->key->ptr, "CONTENT-TYPE")) { - BUFFER_COPY_STRING_CONST(srv->tmp_buf, "HTTP_"); + buffer_copy_string_len(srv->tmp_buf, CONST_STR_LEN("HTTP_")); srv->tmp_buf->used--; } @@ -2972,7 +2972,7 @@ TRIGGER_FUNC(mod_scgi_handle_trigger) { fp->port = host->port + fp->id; } else { buffer_copy_string_buffer(fp->socket, host->unixsocket); - buffer_append_string(fp->socket, "-"); + buffer_append_string_len(fp->socket, CONST_STR_LEN("-")); buffer_append_long(fp->socket, fp->id); } diff --git a/src/mod_ssi.c b/src/mod_ssi.c index d02d9988..bd74225f 100644 --- a/src/mod_ssi.c +++ b/src/mod_ssi.c @@ -177,7 +177,7 @@ static int ssi_env_add_request_headers(server *srv, connection *con, plugin_data } if (0 != strcasecmp(ds->key->ptr, "CONTENT-TYPE")) { - buffer_copy_string(srv->tmp_buf, "HTTP_"); + buffer_copy_string_len(srv->tmp_buf, CONST_STR_LEN("HTTP_")); srv->tmp_buf->used--; } @@ -419,7 +419,7 @@ static int process_ssi_stmt(server *srv, connection *con, plugin_data *p, b = chunkqueue_get_append_buffer(con->write_queue); if (0 == strftime(buf, sizeof(buf), p->timefmt->ptr, localtime(&t))) { - buffer_copy_string(b, "(none)"); + buffer_copy_string_len(b, CONST_STR_LEN("(none)")); } else { buffer_copy_string(b, buf); } @@ -430,7 +430,7 @@ static int process_ssi_stmt(server *srv, connection *con, plugin_data *p, b = chunkqueue_get_append_buffer(con->write_queue); if (0 == strftime(buf, sizeof(buf), p->timefmt->ptr, localtime(&t))) { - buffer_copy_string(b, "(none)"); + buffer_copy_string_len(b, CONST_STR_LEN("(none)")); } else { buffer_copy_string(b, buf); } @@ -441,7 +441,7 @@ static int process_ssi_stmt(server *srv, connection *con, plugin_data *p, b = chunkqueue_get_append_buffer(con->write_queue); if (0 == strftime(buf, sizeof(buf), p->timefmt->ptr, gmtime(&t))) { - buffer_copy_string(b, "(none)"); + buffer_copy_string_len(b, CONST_STR_LEN("(none)")); } else { buffer_copy_string(b, buf); } @@ -472,7 +472,7 @@ static int process_ssi_stmt(server *srv, connection *con, plugin_data *p, if (NULL != (ds = (data_string *)array_get_element(p->ssi_cgi_env, var_val))) { buffer_copy_string_buffer(b, ds->value); } else { - buffer_copy_string(b, "(none)"); + buffer_copy_string_len(b, CONST_STR_LEN("(none)")); } break; @@ -519,7 +519,7 @@ static int process_ssi_stmt(server *srv, connection *con, plugin_data *p, if (file_path) { /* current doc-root */ if (NULL == (sl = strrchr(con->physical.path->ptr, '/'))) { - buffer_copy_string(p->stat_fn, "/"); + buffer_copy_string_len(p->stat_fn, CONST_STR_LEN("/")); } else { buffer_copy_string_len(p->stat_fn, con->physical.path->ptr, sl - con->physical.path->ptr + 1); } @@ -573,7 +573,7 @@ static int process_ssi_stmt(server *srv, connection *con, plugin_data *p, case SSI_FLASTMOD: b = chunkqueue_get_append_buffer(con->write_queue); if (0 == strftime(buf, sizeof(buf), p->timefmt->ptr, localtime(&t))) { - buffer_copy_string(b, "(none)"); + buffer_copy_string_len(b, CONST_STR_LEN("(none)")); } else { buffer_copy_string(b, buf); } @@ -656,17 +656,17 @@ static int process_ssi_stmt(server *srv, connection *con, plugin_data *p, if (p->if_is_false) break; b = chunkqueue_get_append_buffer(con->write_queue); - buffer_copy_string(b, "<pre>"); + buffer_copy_string_len(b, CONST_STR_LEN("<pre>")); for (i = 0; i < p->ssi_vars->used; i++) { data_string *ds = (data_string *)p->ssi_vars->data[p->ssi_vars->sorted[i]]; buffer_append_string_buffer(b, ds->key); - buffer_append_string(b, ": "); + buffer_append_string_len(b, CONST_STR_LEN(": ")); buffer_append_string_buffer(b, ds->value); - buffer_append_string(b, "<br />"); + buffer_append_string_len(b, CONST_STR_LEN("<br />")); } - buffer_append_string(b, "</pre>"); + buffer_append_string_len(b, CONST_STR_LEN("</pre>")); break; case SSI_EXEC: { @@ -924,7 +924,7 @@ static int mod_ssi_handle_request(server *srv, connection *con, plugin_data *p) array_reset(p->ssi_vars); array_reset(p->ssi_cgi_env); - buffer_copy_string(p->timefmt, "%a, %d %b %Y %H:%M:%S %Z"); + buffer_copy_string_len(p->timefmt, CONST_STR_LEN("%a, %d %b %Y %H:%M:%S %Z")); p->sizefmt = 0; build_ssi_cgi_vars(srv, con, p); p->if_is_false = 0; diff --git a/src/mod_ssi_expr.c b/src/mod_ssi_expr.c index fc6e4cbc..b560f793 100644 --- a/src/mod_ssi_expr.c +++ b/src/mod_ssi_expr.c @@ -59,7 +59,7 @@ static int ssi_expr_tokenizer(server *srv, connection *con, plugin_data *p, t->offset++; t->line_pos++; - buffer_copy_string(token, "(=)"); + buffer_copy_string_len(token, CONST_STR_LEN("(=)")); break; case '>': @@ -69,14 +69,14 @@ static int ssi_expr_tokenizer(server *srv, connection *con, plugin_data *p, tid = TK_GE; - buffer_copy_string(token, "(>=)"); + buffer_copy_string_len(token, CONST_STR_LEN("(>=)")); } else { t->offset += 1; t->line_pos += 1; tid = TK_GT; - buffer_copy_string(token, "(>)"); + buffer_copy_string_len(token, CONST_STR_LEN("(>)")); } break; @@ -87,14 +87,14 @@ static int ssi_expr_tokenizer(server *srv, connection *con, plugin_data *p, tid = TK_LE; - buffer_copy_string(token, "(<=)"); + buffer_copy_string_len(token, CONST_STR_LEN("(<=)")); } else { t->offset += 1; t->line_pos += 1; tid = TK_LT; - buffer_copy_string(token, "(<)"); + buffer_copy_string_len(token, CONST_STR_LEN("(<)")); } break; @@ -106,14 +106,14 @@ static int ssi_expr_tokenizer(server *srv, connection *con, plugin_data *p, tid = TK_NE; - buffer_copy_string(token, "(!=)"); + buffer_copy_string_len(token, CONST_STR_LEN("(!=)")); } else { t->offset += 1; t->line_pos += 1; tid = TK_NOT; - buffer_copy_string(token, "(!)"); + buffer_copy_string_len(token, CONST_STR_LEN("(!)")); } break; @@ -124,7 +124,7 @@ static int ssi_expr_tokenizer(server *srv, connection *con, plugin_data *p, tid = TK_AND; - buffer_copy_string(token, "(&&)"); + buffer_copy_string_len(token, CONST_STR_LEN("(&&)")); } else { log_error_write(srv, __FILE__, __LINE__, "sds", "pos:", t->line_pos, @@ -140,7 +140,7 @@ static int ssi_expr_tokenizer(server *srv, connection *con, plugin_data *p, tid = TK_OR; - buffer_copy_string(token, "(||)"); + buffer_copy_string_len(token, CONST_STR_LEN("(||)")); } else { log_error_write(srv, __FILE__, __LINE__, "sds", "pos:", t->line_pos, @@ -183,7 +183,7 @@ static int ssi_expr_tokenizer(server *srv, connection *con, plugin_data *p, tid = TK_LPARAN; - buffer_copy_string(token, "("); + buffer_copy_string_len(token, CONST_STR_LEN("(")); break; case ')': t->offset++; @@ -191,7 +191,7 @@ static int ssi_expr_tokenizer(server *srv, connection *con, plugin_data *p, tid = TK_RPARAN; - buffer_copy_string(token, ")"); + buffer_copy_string_len(token, CONST_STR_LEN(")")); break; case '$': if (t->input[t->offset + 1] == '{') { @@ -219,7 +219,7 @@ static int ssi_expr_tokenizer(server *srv, connection *con, plugin_data *p, } else if (NULL != (ds = (data_string *)array_get_element(p->ssi_vars, token->ptr))) { buffer_copy_string_buffer(token, ds->value); } else { - buffer_copy_string(token, ""); + buffer_copy_string_len(token, CONST_STR_LEN("")); } t->offset += i; diff --git a/src/mod_staticfile.c b/src/mod_staticfile.c index 0ffa9012..37f1b260 100644 --- a/src/mod_staticfile.c +++ b/src/mod_staticfile.c @@ -282,22 +282,22 @@ static int http_response_parse_range(server *srv, connection *con, plugin_data * b = chunkqueue_get_append_buffer(con->write_queue); - buffer_copy_string(b, "\r\n--"); + buffer_copy_string_len(b, CONST_STR_LEN("\r\n--")); buffer_append_string(b, boundary); /* write Content-Range */ - buffer_append_string(b, "\r\nContent-Range: bytes "); + buffer_append_string_len(b, CONST_STR_LEN("\r\nContent-Range: bytes ")); buffer_append_off_t(b, start); - buffer_append_string(b, "-"); + buffer_append_string_len(b, CONST_STR_LEN("-")); buffer_append_off_t(b, end); - buffer_append_string(b, "/"); + buffer_append_string_len(b, CONST_STR_LEN("/")); buffer_append_off_t(b, sce->st.st_size); - buffer_append_string(b, "\r\nContent-Type: "); + buffer_append_string_len(b, CONST_STR_LEN("\r\nContent-Type: ")); buffer_append_string_buffer(b, content_type); /* write END-OF-HEADER */ - buffer_append_string(b, "\r\n\r\n"); + buffer_append_string_len(b, CONST_STR_LEN("\r\n\r\n")); con->response.content_length += b->used - 1; @@ -325,7 +325,7 @@ static int http_response_parse_range(server *srv, connection *con, plugin_data * /* set header-fields */ - buffer_copy_string(p->range_buf, "multipart/byteranges; boundary="); + buffer_copy_string_len(p->range_buf, CONST_STR_LEN("multipart/byteranges; boundary=")); buffer_append_string(p->range_buf, boundary); /* overwrite content-type */ @@ -333,11 +333,11 @@ static int http_response_parse_range(server *srv, connection *con, plugin_data * } else { /* add Content-Range-header */ - buffer_copy_string(p->range_buf, "bytes "); + buffer_copy_string_len(p->range_buf, CONST_STR_LEN("bytes ")); buffer_append_off_t(p->range_buf, start); - buffer_append_string(p->range_buf, "-"); + buffer_append_string_len(p->range_buf, CONST_STR_LEN("-")); buffer_append_off_t(p->range_buf, end); - buffer_append_string(p->range_buf, "/"); + buffer_append_string_len(p->range_buf, CONST_STR_LEN("/")); buffer_append_off_t(p->range_buf, sce->st.st_size); response_header_insert(srv, con, CONST_STR_LEN("Content-Range"), CONST_BUF_LEN(p->range_buf)); diff --git a/src/mod_status.c b/src/mod_status.c index 028cbc7a..7cf5d1a4 100644 --- a/src/mod_status.c +++ b/src/mod_status.c @@ -143,24 +143,24 @@ SETDEFAULTS_FUNC(mod_status_set_defaults) { static int mod_status_row_append(buffer *b, const char *key, const char *value) { - BUFFER_APPEND_STRING_CONST(b, " <tr>\n"); - BUFFER_APPEND_STRING_CONST(b, " <td><b>"); + buffer_append_string_len(b, CONST_STR_LEN(" <tr>\n")); + buffer_append_string_len(b, CONST_STR_LEN(" <td><b>")); buffer_append_string(b, key); - BUFFER_APPEND_STRING_CONST(b, "</b></td>\n"); - BUFFER_APPEND_STRING_CONST(b, " <td>"); + buffer_append_string_len(b, CONST_STR_LEN("</b></td>\n")); + buffer_append_string_len(b, CONST_STR_LEN(" <td>")); buffer_append_string(b, value); - BUFFER_APPEND_STRING_CONST(b, "</td>\n"); - BUFFER_APPEND_STRING_CONST(b, " </tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("</td>\n")); + buffer_append_string_len(b, CONST_STR_LEN(" </tr>\n")); return 0; } static int mod_status_header_append(buffer *b, const char *key) { - BUFFER_APPEND_STRING_CONST(b, " <tr>\n"); - BUFFER_APPEND_STRING_CONST(b, " <th colspan=\"2\">"); + buffer_append_string_len(b, CONST_STR_LEN(" <tr>\n")); + buffer_append_string_len(b, CONST_STR_LEN(" <th colspan=\"2\">")); buffer_append_string(b, key); - BUFFER_APPEND_STRING_CONST(b, "</th>\n"); - BUFFER_APPEND_STRING_CONST(b, " </tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("</th>\n")); + buffer_append_string_len(b, CONST_STR_LEN(" </tr>\n")); return 0; } @@ -169,13 +169,13 @@ static int mod_status_header_append_sort(buffer *b, void *p_d, const char* key) plugin_data *p = p_d; if (p->conf.sort) { - BUFFER_APPEND_STRING_CONST(b, "<th class=\"status\"><a href=\"#\" class=\"sortheader\" onclick=\"resort(this);return false;\">"); + buffer_append_string_len(b, CONST_STR_LEN("<th class=\"status\"><a href=\"#\" class=\"sortheader\" onclick=\"resort(this);return false;\">")); buffer_append_string(b, key); - BUFFER_APPEND_STRING_CONST(b, "<span class=\"sortarrow\">:</span></a></th>\n"); + buffer_append_string_len(b, CONST_STR_LEN("<span class=\"sortarrow\">:</span></a></th>\n")); } else { - BUFFER_APPEND_STRING_CONST(b, "<th class=\"status\">"); + buffer_append_string_len(b, CONST_STR_LEN("<th class=\"status\">")); buffer_append_string(b, key); - BUFFER_APPEND_STRING_CONST(b, "</th>\n"); + buffer_append_string_len(b, CONST_STR_LEN("</th>\n")); } return 0; @@ -209,15 +209,14 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c b = chunkqueue_get_append_buffer(con->write_queue); - BUFFER_COPY_STRING_CONST(b, + buffer_copy_string_len(b, CONST_STR_LEN( "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n" " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n" " <head>\n" - " <title>Status</title>\n"); + " <title>Status</title>\n" - BUFFER_APPEND_STRING_CONST(b, " <style type=\"text/css\">\n" " table.status { border: black solid thin; }\n" " td { white-space: nowrap; }\n" @@ -226,16 +225,15 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c " th.status { background-color: black; color: white; font-weight: bold; }\n" " a.sortheader { background-color: black; color: white; font-weight: bold; text-decoration: none; display: block; }\n" " span.sortarrow { color: white; text-decoration: none; }\n" - " </style>\n"); + " </style>\n")); if (p->conf.sort) { - BUFFER_APPEND_STRING_CONST(b, + buffer_append_string_len(b, CONST_STR_LEN( "<script type=\"text/javascript\">\n" "// <!--\n" "var sort_column;\n" - "var prev_span = null;\n"); + "var prev_span = null;\n" - BUFFER_APPEND_STRING_CONST(b, "function get_inner_text(el) {\n" " if((typeof el == 'string')||(typeof el == 'undefined'))\n" " return el;\n" @@ -251,9 +249,8 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c " }\n" " }\n" " return str;\n" - "}\n"); + "}\n" - BUFFER_APPEND_STRING_CONST(b, "function sortfn(a,b) {\n" " var at = get_inner_text(a.cells[sort_column]);\n" " var bt = get_inner_text(b.cells[sort_column]);\n" @@ -266,9 +263,8 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c " else if (aa<bb) return -1;\n" " else return 1;\n" " }\n" - "}\n"); + "}\n" - BUFFER_APPEND_STRING_CONST(b, "function resort(lnk) {\n" " var span = lnk.childNodes[1];\n" " var table = lnk.parentNode.parentNode.parentNode.parentNode;\n" @@ -276,9 +272,8 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c " for (j=1;j<table.rows.length;j++)\n" " rows[j-1] = table.rows[j];\n" " sort_column = lnk.parentNode.cellIndex;\n" - " rows.sort(sortfn);\n"); + " rows.sort(sortfn);\n" - BUFFER_APPEND_STRING_CONST(b, " if (prev_span != null) prev_span.innerHTML = '';\n" " if (span.getAttribute('sortdir')=='down') {\n" " span.innerHTML = '↑';\n" @@ -293,25 +288,25 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c " prev_span = span;\n" "}\n" "// -->\n" - "</script>\n"); + "</script>\n")); } - BUFFER_APPEND_STRING_CONST(b, + buffer_append_string_len(b, CONST_STR_LEN( " </head>\n" - " <body>\n"); + " <body>\n")); /* connection listing */ - BUFFER_APPEND_STRING_CONST(b, "<h1>Server-Status</h1>"); + buffer_append_string_len(b, CONST_STR_LEN("<h1>Server-Status</h1>")); - BUFFER_APPEND_STRING_CONST(b, "<table summary=\"status\" class=\"status\">"); - BUFFER_APPEND_STRING_CONST(b, "<tr><td>Hostname</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("<table summary=\"status\" class=\"status\">")); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Hostname</td><td class=\"string\">")); buffer_append_string_buffer(b, con->uri.authority); - BUFFER_APPEND_STRING_CONST(b, " ("); + buffer_append_string_len(b, CONST_STR_LEN(" (")); buffer_append_string_buffer(b, con->server_name); - BUFFER_APPEND_STRING_CONST(b, ")</td></tr>\n"); - BUFFER_APPEND_STRING_CONST(b, "<tr><td>Uptime</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN(")</td></tr>\n")); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Uptime</td><td class=\"string\">")); ts = srv->cur_ts - srv->startup_ts; @@ -328,98 +323,98 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c if (days) { buffer_append_long(b, days); - BUFFER_APPEND_STRING_CONST(b, " days "); + buffer_append_string_len(b, CONST_STR_LEN(" days ")); } if (hours) { buffer_append_long(b, hours); - BUFFER_APPEND_STRING_CONST(b, " hours "); + buffer_append_string_len(b, CONST_STR_LEN(" hours ")); } if (mins) { buffer_append_long(b, mins); - BUFFER_APPEND_STRING_CONST(b, " min "); + buffer_append_string_len(b, CONST_STR_LEN(" min ")); } buffer_append_long(b, seconds); - BUFFER_APPEND_STRING_CONST(b, " s"); + buffer_append_string_len(b, CONST_STR_LEN(" s")); - BUFFER_APPEND_STRING_CONST(b, "</td></tr>\n"); - BUFFER_APPEND_STRING_CONST(b, "<tr><td>Started at</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("</td></tr>\n")); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Started at</td><td class=\"string\">")); ts = srv->startup_ts; strftime(buf, sizeof(buf) - 1, "%Y-%m-%d %H:%M:%S", localtime(&ts)); buffer_append_string(b, buf); - BUFFER_APPEND_STRING_CONST(b, "</td></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("</td></tr>\n")); - BUFFER_APPEND_STRING_CONST(b, "<tr><th colspan=\"2\">absolute (since start)</th></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><th colspan=\"2\">absolute (since start)</th></tr>\n")); - BUFFER_APPEND_STRING_CONST(b, "<tr><td>Requests</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Requests</td><td class=\"string\">")); avg = p->abs_requests; mod_status_get_multiplier(&avg, &multiplier, 1000); buffer_append_long(b, avg); - BUFFER_APPEND_STRING_CONST(b, " "); + buffer_append_string_len(b, CONST_STR_LEN(" ")); if (multiplier) buffer_append_string_len(b, &multiplier, 1); - BUFFER_APPEND_STRING_CONST(b, "req</td></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("req</td></tr>\n")); - BUFFER_APPEND_STRING_CONST(b, "<tr><td>Traffic</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Traffic</td><td class=\"string\">")); avg = p->abs_traffic_out; mod_status_get_multiplier(&avg, &multiplier, 1024); sprintf(buf, "%.2f", avg); buffer_append_string(b, buf); - BUFFER_APPEND_STRING_CONST(b, " "); + buffer_append_string_len(b, CONST_STR_LEN(" ")); if (multiplier) buffer_append_string_len(b, &multiplier, 1); - BUFFER_APPEND_STRING_CONST(b, "byte</td></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("byte</td></tr>\n")); - BUFFER_APPEND_STRING_CONST(b, "<tr><th colspan=\"2\">average (since start)</th></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><th colspan=\"2\">average (since start)</th></tr>\n")); - BUFFER_APPEND_STRING_CONST(b, "<tr><td>Requests</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Requests</td><td class=\"string\">")); avg = p->abs_requests / (srv->cur_ts - srv->startup_ts); mod_status_get_multiplier(&avg, &multiplier, 1000); buffer_append_long(b, avg); - BUFFER_APPEND_STRING_CONST(b, " "); + buffer_append_string_len(b, CONST_STR_LEN(" ")); if (multiplier) buffer_append_string_len(b, &multiplier, 1); - BUFFER_APPEND_STRING_CONST(b, "req/s</td></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("req/s</td></tr>\n")); - BUFFER_APPEND_STRING_CONST(b, "<tr><td>Traffic</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Traffic</td><td class=\"string\">")); avg = p->abs_traffic_out / (srv->cur_ts - srv->startup_ts); mod_status_get_multiplier(&avg, &multiplier, 1024); sprintf(buf, "%.2f", avg); buffer_append_string(b, buf); - BUFFER_APPEND_STRING_CONST(b, " "); + buffer_append_string_len(b, CONST_STR_LEN(" ")); if (multiplier) buffer_append_string_len(b, &multiplier, 1); - BUFFER_APPEND_STRING_CONST(b, "byte/s</td></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("byte/s</td></tr>\n")); - BUFFER_APPEND_STRING_CONST(b, "<tr><th colspan=\"2\">average (5s sliding average)</th></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><th colspan=\"2\">average (5s sliding average)</th></tr>\n")); for (j = 0, avg = 0; j < 5; j++) { avg += p->mod_5s_requests[j]; } avg /= 5; - BUFFER_APPEND_STRING_CONST(b, "<tr><td>Requests</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Requests</td><td class=\"string\">")); mod_status_get_multiplier(&avg, &multiplier, 1000); buffer_append_long(b, avg); - BUFFER_APPEND_STRING_CONST(b, " "); + buffer_append_string_len(b, CONST_STR_LEN(" ")); if (multiplier) buffer_append_string_len(b, &multiplier, 1); - BUFFER_APPEND_STRING_CONST(b, "req/s</td></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("req/s</td></tr>\n")); for (j = 0, avg = 0; j < 5; j++) { avg += p->mod_5s_traffic_out[j]; @@ -427,28 +422,29 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c avg /= 5; - BUFFER_APPEND_STRING_CONST(b, "<tr><td>Traffic</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td>Traffic</td><td class=\"string\">")); mod_status_get_multiplier(&avg, &multiplier, 1024); sprintf(buf, "%.2f", avg); buffer_append_string(b, buf); - BUFFER_APPEND_STRING_CONST(b, " "); + buffer_append_string_len(b, CONST_STR_LEN(" ")); if (multiplier) buffer_append_string_len(b, &multiplier, 1); - BUFFER_APPEND_STRING_CONST(b, "byte/s</td></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("byte/s</td></tr>\n")); - BUFFER_APPEND_STRING_CONST(b, "</table>\n"); + buffer_append_string_len(b, CONST_STR_LEN("</table>\n")); - BUFFER_APPEND_STRING_CONST(b, "<hr />\n<pre><b>legend</b>\n"); - BUFFER_APPEND_STRING_CONST(b, ". = connect, C = close, E = hard error\n"); - BUFFER_APPEND_STRING_CONST(b, "r = read, R = read-POST, W = write, h = handle-request\n"); - BUFFER_APPEND_STRING_CONST(b, "q = request-start, Q = request-end\n"); - BUFFER_APPEND_STRING_CONST(b, "s = response-start, S = response-end\n"); + buffer_append_string_len(b, CONST_STR_LEN( + "<hr />\n<pre><b>legend</b>\n" + ". = connect, C = close, E = hard error\n" + "r = read, R = read-POST, W = write, h = handle-request\n" + "q = request-start, Q = request-end\n" + "s = response-start, S = response-end\n")); - BUFFER_APPEND_STRING_CONST(b, "<b>"); + buffer_append_string_len(b, CONST_STR_LEN("<b>")); buffer_append_long(b, srv->conns->used); - BUFFER_APPEND_STRING_CONST(b, " connections</b>\n"); + buffer_append_string_len(b, CONST_STR_LEN(" connections</b>\n")); for (j = 0; j < srv->conns->used; j++) { connection *c = srv->conns->ptr[j]; @@ -457,14 +453,14 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c buffer_append_string_len(b, state, 1); if (((j + 1) % 50) == 0) { - BUFFER_APPEND_STRING_CONST(b, "\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n")); } } - BUFFER_APPEND_STRING_CONST(b, "\n</pre><hr />\n<h2>Connections</h2>\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n</pre><hr />\n<h2>Connections</h2>\n")); - BUFFER_APPEND_STRING_CONST(b, "<table summary=\"status\" class=\"status\">\n"); - BUFFER_APPEND_STRING_CONST(b, "<tr>"); + buffer_append_string_len(b, CONST_STR_LEN("<table summary=\"status\" class=\"status\">\n")); + buffer_append_string_len(b, CONST_STR_LEN("<tr>")); mod_status_header_append_sort(b, p_d, "Client IP"); mod_status_header_append_sort(b, p_d, "Read"); mod_status_header_append_sort(b, p_d, "Written"); @@ -473,40 +469,40 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c mod_status_header_append_sort(b, p_d, "Host"); mod_status_header_append_sort(b, p_d, "URI"); mod_status_header_append_sort(b, p_d, "File"); - BUFFER_APPEND_STRING_CONST(b, "</tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("</tr>\n")); for (j = 0; j < srv->conns->used; j++) { connection *c = srv->conns->ptr[j]; - BUFFER_APPEND_STRING_CONST(b, "<tr><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("<tr><td class=\"string\">")); buffer_append_string(b, inet_ntop_cache_get_ip(srv, &(c->dst_addr))); - BUFFER_APPEND_STRING_CONST(b, "</td><td class=\"int\">"); + buffer_append_string_len(b, CONST_STR_LEN("</td><td class=\"int\">")); if (con->request.content_length) { buffer_append_long(b, c->request_content_queue->bytes_in); - BUFFER_APPEND_STRING_CONST(b, "/"); + buffer_append_string_len(b, CONST_STR_LEN("/")); buffer_append_long(b, c->request.content_length); } else { - BUFFER_APPEND_STRING_CONST(b, "0/0"); + buffer_append_string_len(b, CONST_STR_LEN("0/0")); } - BUFFER_APPEND_STRING_CONST(b, "</td><td class=\"int\">"); + buffer_append_string_len(b, CONST_STR_LEN("</td><td class=\"int\">")); buffer_append_off_t(b, chunkqueue_written(c->write_queue)); - BUFFER_APPEND_STRING_CONST(b, "/"); + buffer_append_string_len(b, CONST_STR_LEN("/")); buffer_append_off_t(b, chunkqueue_length(c->write_queue)); - BUFFER_APPEND_STRING_CONST(b, "</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("</td><td class=\"string\">")); buffer_append_string(b, connection_get_state(c->state)); - BUFFER_APPEND_STRING_CONST(b, "</td><td class=\"int\">"); + buffer_append_string_len(b, CONST_STR_LEN("</td><td class=\"int\">")); buffer_append_long(b, srv->cur_ts - c->request_start); - BUFFER_APPEND_STRING_CONST(b, "</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("</td><td class=\"string\">")); if (buffer_is_empty(c->server_name)) { buffer_append_string_buffer(b, c->uri.authority); @@ -515,38 +511,38 @@ static handler_t mod_status_handle_server_status_html(server *srv, connection *c buffer_append_string_buffer(b, c->server_name); } - BUFFER_APPEND_STRING_CONST(b, "</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("</td><td class=\"string\">")); if (!buffer_is_empty(c->uri.path)) { buffer_append_string_encoded(b, CONST_BUF_LEN(c->uri.path), ENCODING_HTML); } if (!buffer_is_empty(c->uri.query)) { - BUFFER_APPEND_STRING_CONST(b, "?"); + buffer_append_string_len(b, CONST_STR_LEN("?")); buffer_append_string_encoded(b, CONST_BUF_LEN(c->uri.query), ENCODING_HTML); } if (!buffer_is_empty(c->request.orig_uri)) { - BUFFER_APPEND_STRING_CONST(b, " ("); + buffer_append_string_len(b, CONST_STR_LEN(" (")); buffer_append_string_encoded(b, CONST_BUF_LEN(c->request.orig_uri), ENCODING_HTML); - BUFFER_APPEND_STRING_CONST(b, ")"); + buffer_append_string_len(b, CONST_STR_LEN(")")); } - BUFFER_APPEND_STRING_CONST(b, "</td><td class=\"string\">"); + buffer_append_string_len(b, CONST_STR_LEN("</td><td class=\"string\">")); buffer_append_string_buffer(b, c->physical.path); - BUFFER_APPEND_STRING_CONST(b, "</td></tr>\n"); + buffer_append_string_len(b, CONST_STR_LEN("</td></tr>\n")); } - BUFFER_APPEND_STRING_CONST(b, - "</table>\n"); + buffer_append_string_len(b, CONST_STR_LEN( + "</table>\n")); - BUFFER_APPEND_STRING_CONST(b, + buffer_append_string_len(b, CONST_STR_LEN( " </body>\n" "</html>\n" - ); + )); response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/html")); @@ -566,45 +562,45 @@ static handler_t mod_status_handle_server_status_text(server *srv, connection *c b = chunkqueue_get_append_buffer(con->write_queue); /* output total number of requests */ - BUFFER_APPEND_STRING_CONST(b, "Total Accesses: "); + buffer_append_string_len(b, CONST_STR_LEN("Total Accesses: ")); avg = p->abs_requests; snprintf(buf, sizeof(buf) - 1, "%.0f", avg); buffer_append_string(b, buf); - BUFFER_APPEND_STRING_CONST(b, "\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n")); /* output total traffic out in kbytes */ - BUFFER_APPEND_STRING_CONST(b, "Total kBytes: "); + buffer_append_string_len(b, CONST_STR_LEN("Total kBytes: ")); avg = p->abs_traffic_out / 1024; snprintf(buf, sizeof(buf) - 1, "%.0f", avg); buffer_append_string(b, buf); - BUFFER_APPEND_STRING_CONST(b, "\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n")); /* output uptime */ - BUFFER_APPEND_STRING_CONST(b, "Uptime: "); + buffer_append_string_len(b, CONST_STR_LEN("Uptime: ")); ts = srv->cur_ts - srv->startup_ts; buffer_append_long(b, ts); - BUFFER_APPEND_STRING_CONST(b, "\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n")); /* output busy servers */ - BUFFER_APPEND_STRING_CONST(b, "BusyServers: "); + buffer_append_string_len(b, CONST_STR_LEN("BusyServers: ")); buffer_append_long(b, srv->conns->used); - BUFFER_APPEND_STRING_CONST(b, "\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n")); - BUFFER_APPEND_STRING_CONST(b, "IdleServers: "); + buffer_append_string_len(b, CONST_STR_LEN("IdleServers: ")); buffer_append_long(b, srv->conns->size - srv->conns->used); - BUFFER_APPEND_STRING_CONST(b, "\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n")); /* output scoreboard */ - BUFFER_APPEND_STRING_CONST(b, "Scoreboard: "); + buffer_append_string_len(b, CONST_STR_LEN("Scoreboard: ")); for (k = 0; k < srv->conns->used; k++) { connection *c = srv->conns->ptr[k]; const char *state = connection_get_short_state(c->state); buffer_append_string_len(b, state, 1); } for (l = 0; l < srv->conns->size - srv->conns->used; l++) { - BUFFER_APPEND_STRING_CONST(b, "_"); + buffer_append_string_len(b, CONST_STR_LEN("_")); } - BUFFER_APPEND_STRING_CONST(b, "\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n")); /* set text/plain output */ @@ -633,9 +629,9 @@ static handler_t mod_status_handle_server_statistics(server *srv, connection *co size_t ndx = st->sorted[i]; buffer_append_string_buffer(b, st->data[ndx]->key); - buffer_append_string(b, ": "); + buffer_append_string_len(b, CONST_STR_LEN(": ")); buffer_append_long(b, ((data_integer *)(st->data[ndx]))->value); - buffer_append_string(b, "\n"); + buffer_append_string_len(b, CONST_STR_LEN("\n")); } response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/plain")); @@ -696,7 +692,7 @@ static handler_t mod_status_handle_server_config(server *srv, connection *con, v b = chunkqueue_get_append_buffer(con->write_queue); - BUFFER_COPY_STRING_CONST(b, + buffer_copy_string_len(b, CONST_STR_LEN( "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n" "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n" " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" @@ -706,7 +702,7 @@ static handler_t mod_status_handle_server_config(server *srv, connection *con, v " </head>\n" " <body>\n" " <h1>" PACKAGE_NAME " " PACKAGE_VERSION "</h1>\n" - " <table summary=\"status\" border=\"1\">\n"); + " <table summary=\"status\" border=\"1\">\n")); mod_status_header_append(b, "Server-Features"); #ifdef HAVE_PCRE_H @@ -733,19 +729,19 @@ static handler_t mod_status_handle_server_config(server *srv, connection *con, v if (i == 0) { buffer_copy_string_buffer(m, pl->name); } else { - BUFFER_APPEND_STRING_CONST(m, "<br />"); + buffer_append_string_len(m, CONST_STR_LEN("<br />")); buffer_append_string_buffer(m, pl->name); } } mod_status_row_append(b, "Loaded Modules", m->ptr); - BUFFER_APPEND_STRING_CONST(b, " </table>\n"); + buffer_append_string_len(b, CONST_STR_LEN(" </table>\n")); - BUFFER_APPEND_STRING_CONST(b, + buffer_append_string_len(b, CONST_STR_LEN( " </body>\n" "</html>\n" - ); + )); response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/html")); diff --git a/src/mod_uploadprogress.c b/src/mod_uploadprogress.c index 30633574..0d13d29d 100644 --- a/src/mod_uploadprogress.c +++ b/src/mod_uploadprogress.c @@ -363,7 +363,7 @@ URIHANDLER_FUNC(mod_uploadprogress_uri_handler) { b = chunkqueue_get_append_buffer(con->write_queue); - BUFFER_APPEND_STRING_CONST(b, "starting"); + buffer_append_string_len(b, CONST_STR_LEN("starting")); return HANDLER_FINISHED; } @@ -378,15 +378,18 @@ URIHANDLER_FUNC(mod_uploadprogress_uri_handler) { b = chunkqueue_get_append_buffer(con->write_queue); /* prepare XML */ - BUFFER_COPY_STRING_CONST(b, "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"); - BUFFER_APPEND_STRING_CONST(b, "<upload>"); - BUFFER_APPEND_STRING_CONST(b, "<size>"); + buffer_copy_string_len(b, CONST_STR_LEN( + "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>" + "<upload>" + "<size>")); buffer_append_off_t(b, post_con->request.content_length); - BUFFER_APPEND_STRING_CONST(b, "</size>"); - BUFFER_APPEND_STRING_CONST(b, "<received>"); + buffer_append_string_len(b, CONST_STR_LEN( + "</size>" + "<received>")); buffer_append_off_t(b, post_con->request_content_queue->bytes_in); - BUFFER_APPEND_STRING_CONST(b, "</received>"); - BUFFER_APPEND_STRING_CONST(b, "</upload>"); + buffer_append_string_len(b, CONST_STR_LEN( + "</received>" + "</upload>")); log_error_write(srv, __FILE__, __LINE__, "sb", "...", b); diff --git a/src/mod_usertrack.c b/src/mod_usertrack.c index 6c228b3e..c85f36ce 100644 --- a/src/mod_usertrack.c +++ b/src/mod_usertrack.c @@ -103,7 +103,7 @@ SETDEFAULTS_FUNC(mod_usertrack_set_defaults) { } if (buffer_is_empty(s->cookie_name)) { - buffer_copy_string(s->cookie_name, "TRACKID"); + buffer_copy_string_len(s->cookie_name, CONST_STR_LEN("TRACKID")); } else { size_t j; for (j = 0; j < s->cookie_name->used - 1; j++) { @@ -214,9 +214,9 @@ URIHANDLER_FUNC(mod_usertrack_uri_handler) { if (NULL == (ds = (data_string *)array_get_unused_element(con->response.headers, TYPE_STRING))) { ds = data_response_init(); } - buffer_copy_string(ds->key, "Set-Cookie"); + buffer_copy_string_len(ds->key, CONST_STR_LEN("Set-Cookie")); buffer_copy_string_buffer(ds->value, p->conf.cookie_name); - buffer_append_string(ds->value, "="); + buffer_append_string_len(ds->value, CONST_STR_LEN("=")); /* taken from mod_auth.c */ @@ -235,16 +235,16 @@ URIHANDLER_FUNC(mod_usertrack_uri_handler) { MD5_Final(h, &Md5Ctx); buffer_append_string_encoded(ds->value, (char *)h, 16, ENCODING_HEX); - buffer_append_string(ds->value, "; Path=/"); - buffer_append_string(ds->value, "; Version=1"); + buffer_append_string_len(ds->value, CONST_STR_LEN("; Path=/")); + buffer_append_string_len(ds->value, CONST_STR_LEN("; Version=1")); if (!buffer_is_empty(p->conf.cookie_domain)) { - buffer_append_string(ds->value, "; Domain="); + buffer_append_string_len(ds->value, CONST_STR_LEN("; Domain=")); buffer_append_string_encoded(ds->value, CONST_BUF_LEN(p->conf.cookie_domain), ENCODING_REL_URI); } if (p->conf.cookie_max_age) { - buffer_append_string(ds->value, "; max-age="); + buffer_append_string_len(ds->value, CONST_STR_LEN("; max-age=")); buffer_append_long(ds->value, p->conf.cookie_max_age); } diff --git a/src/mod_webdav.c b/src/mod_webdav.c index 1e224a07..7e195a00 100644 --- a/src/mod_webdav.c +++ b/src/mod_webdav.c @@ -485,23 +485,23 @@ static int webdav_gen_prop_tag(server *srv, connection *con, UNUSED(con); if (value) { - buffer_append_string(b,"<"); + buffer_append_string_len(b,CONST_STR_LEN("<")); buffer_append_string(b, prop_name); - buffer_append_string(b, " xmlns=\""); + buffer_append_string_len(b, CONST_STR_LEN(" xmlns=\"")); buffer_append_string(b, prop_ns); - buffer_append_string(b, "\">"); + buffer_append_string_len(b, CONST_STR_LEN("\">")); buffer_append_string(b, value); - buffer_append_string(b,"</"); + buffer_append_string_len(b,CONST_STR_LEN("</")); buffer_append_string(b, prop_name); - buffer_append_string(b, ">"); + buffer_append_string_len(b, CONST_STR_LEN(">")); } else { - buffer_append_string(b,"<"); + buffer_append_string_len(b,CONST_STR_LEN("<")); buffer_append_string(b, prop_name); - buffer_append_string(b, " xmlns=\""); + buffer_append_string_len(b, CONST_STR_LEN(" xmlns=\"")); buffer_append_string(b, prop_ns); - buffer_append_string(b, "\"/>"); + buffer_append_string_len(b, CONST_STR_LEN("\"/>")); } return 0; @@ -511,24 +511,24 @@ static int webdav_gen_prop_tag(server *srv, connection *con, static int webdav_gen_response_status_tag(server *srv, connection *con, physical *dst, int status, buffer *b) { UNUSED(srv); - buffer_append_string(b,"<D:response xmlns:ns0=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\">\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:response xmlns:ns0=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\">\n")); - buffer_append_string(b,"<D:href>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:href>\n")); buffer_append_string_buffer(b, dst->rel_path); - buffer_append_string(b,"</D:href>\n"); - buffer_append_string(b,"<D:status>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:href>\n")); + buffer_append_string_len(b,CONST_STR_LEN("<D:status>\n")); if (con->request.http_version == HTTP_VERSION_1_1) { - BUFFER_COPY_STRING_CONST(b, "HTTP/1.1 "); + buffer_copy_string_len(b, CONST_STR_LEN("HTTP/1.1 ")); } else { - BUFFER_COPY_STRING_CONST(b, "HTTP/1.0 "); + buffer_copy_string_len(b, CONST_STR_LEN("HTTP/1.0 ")); } buffer_append_long(b, status); - BUFFER_APPEND_STRING_CONST(b, " "); + buffer_append_string_len(b, CONST_STR_LEN(" ")); buffer_append_string(b, get_http_status_name(status)); - buffer_append_string(b,"</D:status>\n"); - buffer_append_string(b,"</D:response>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:status>\n")); + buffer_append_string_len(b,CONST_STR_LEN("</D:response>\n")); return 0; } @@ -844,12 +844,12 @@ static int webdav_get_live_property(server *srv, connection *con, plugin_data *p if (0 == strcmp(prop_name, "resourcetype")) { if (S_ISDIR(sce->st.st_mode)) { - buffer_append_string(b, "<D:resourcetype><D:collection/></D:resourcetype>"); + buffer_append_string_len(b, CONST_STR_LEN("<D:resourcetype><D:collection/></D:resourcetype>")); found = 1; } } else if (0 == strcmp(prop_name, "getcontenttype")) { if (S_ISDIR(sce->st.st_mode)) { - buffer_append_string(b, "<D:getcontenttype>httpd/unix-directory</D:getcontenttype>"); + buffer_append_string_len(b, CONST_STR_LEN("<D:getcontenttype>httpd/unix-directory</D:getcontenttype>")); found = 1; } else if(S_ISREG(sce->st.st_mode)) { for (k = 0; k < con->conf.mimetypes->used; k++) { @@ -858,9 +858,9 @@ static int webdav_get_live_property(server *srv, connection *con, plugin_data *p if (ds->key->used == 0) continue; if (buffer_is_equal_right_len(dst->path, ds->key, ds->key->used - 1)) { - buffer_append_string(b,"<D:getcontenttype>"); + buffer_append_string_len(b,CONST_STR_LEN("<D:getcontenttype>")); buffer_append_string_buffer(b, ds->value); - buffer_append_string(b, "</D:getcontenttype>"); + buffer_append_string_len(b, CONST_STR_LEN("</D:getcontenttype>")); found = 1; break; @@ -868,26 +868,26 @@ static int webdav_get_live_property(server *srv, connection *con, plugin_data *p } } } else if (0 == strcmp(prop_name, "creationdate")) { - buffer_append_string(b, "<D:creationdate ns0:dt=\"dateTime.tz\">"); + buffer_append_string_len(b, CONST_STR_LEN("<D:creationdate ns0:dt=\"dateTime.tz\">")); strftime(ctime_buf, sizeof(ctime_buf), "%Y-%m-%dT%H:%M:%SZ", gmtime(&(sce->st.st_ctime))); buffer_append_string(b, ctime_buf); - buffer_append_string(b, "</D:creationdate>"); + buffer_append_string_len(b, CONST_STR_LEN("</D:creationdate>")); found = 1; } else if (0 == strcmp(prop_name, "getlastmodified")) { - buffer_append_string(b,"<D:getlastmodified ns0:dt=\"dateTime.rfc1123\">"); + buffer_append_string_len(b,CONST_STR_LEN("<D:getlastmodified ns0:dt=\"dateTime.rfc1123\">")); strftime(mtime_buf, sizeof(mtime_buf), "%a, %d %b %Y %H:%M:%S GMT", gmtime(&(sce->st.st_mtime))); buffer_append_string(b, mtime_buf); - buffer_append_string(b, "</D:getlastmodified>"); + buffer_append_string_len(b, CONST_STR_LEN("</D:getlastmodified>")); found = 1; } else if (0 == strcmp(prop_name, "getcontentlength")) { - buffer_append_string(b,"<D:getcontentlength>"); + buffer_append_string_len(b,CONST_STR_LEN("<D:getcontentlength>")); buffer_append_off_t(b, sce->st.st_size); - buffer_append_string(b, "</D:getcontentlength>"); + buffer_append_string_len(b, CONST_STR_LEN("</D:getcontentlength>")); found = 1; } else if (0 == strcmp(prop_name, "getcontentlanguage")) { - buffer_append_string(b,"<D:getcontentlanguage>"); - buffer_append_string(b, "en"); - buffer_append_string(b, "</D:getcontentlanguage>"); + buffer_append_string_len(b,CONST_STR_LEN("<D:getcontentlanguage>")); + buffer_append_string_len(b, CONST_STR_LEN("en")); + buffer_append_string_len(b, CONST_STR_LEN("</D:getcontentlanguage>")); found = 1; } } @@ -1107,44 +1107,44 @@ int webdav_lockdiscovery(server *srv, connection *con, b = chunkqueue_get_append_buffer(con->write_queue); - buffer_copy_string(b, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); + buffer_copy_string_len(b, CONST_STR_LEN("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")); - buffer_append_string(b,"<D:prop xmlns:D=\"DAV:\" xmlns:ns0=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\">\n"); - buffer_append_string(b,"<D:lockdiscovery>\n"); - buffer_append_string(b,"<D:activelock>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:prop xmlns:D=\"DAV:\" xmlns:ns0=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\">\n")); + buffer_append_string_len(b,CONST_STR_LEN("<D:lockdiscovery>\n")); + buffer_append_string_len(b,CONST_STR_LEN("<D:activelock>\n")); - buffer_append_string(b,"<D:lockscope>"); - buffer_append_string(b,"<D:"); + buffer_append_string_len(b,CONST_STR_LEN("<D:lockscope>")); + buffer_append_string_len(b,CONST_STR_LEN("<D:")); buffer_append_string(b, lockscope); - buffer_append_string(b, "/>"); - buffer_append_string(b,"</D:lockscope>\n"); + buffer_append_string_len(b, CONST_STR_LEN("/>")); + buffer_append_string_len(b,CONST_STR_LEN("</D:lockscope>\n")); - buffer_append_string(b,"<D:locktype>"); - buffer_append_string(b,"<D:"); + buffer_append_string_len(b,CONST_STR_LEN("<D:locktype>")); + buffer_append_string_len(b,CONST_STR_LEN("<D:")); buffer_append_string(b, locktype); - buffer_append_string(b, "/>"); - buffer_append_string(b,"</D:locktype>\n"); + buffer_append_string_len(b, CONST_STR_LEN("/>")); + buffer_append_string_len(b,CONST_STR_LEN("</D:locktype>\n")); - buffer_append_string(b,"<D:depth>"); + buffer_append_string_len(b,CONST_STR_LEN("<D:depth>")); buffer_append_string(b, depth == 0 ? "0" : "infinity"); - buffer_append_string(b,"</D:depth>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:depth>\n")); - buffer_append_string(b,"<D:timeout>"); - buffer_append_string(b, "Second-600"); - buffer_append_string(b,"</D:timeout>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:timeout>")); + buffer_append_string_len(b, CONST_STR_LEN("Second-600")); + buffer_append_string_len(b,CONST_STR_LEN("</D:timeout>\n")); - buffer_append_string(b,"<D:owner>"); - buffer_append_string(b,"</D:owner>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:owner>")); + buffer_append_string_len(b,CONST_STR_LEN("</D:owner>\n")); - buffer_append_string(b,"<D:locktoken>"); - buffer_append_string(b, "<D:href>"); + buffer_append_string_len(b,CONST_STR_LEN("<D:locktoken>")); + buffer_append_string_len(b, CONST_STR_LEN("<D:href>")); buffer_append_string_buffer(b, locktoken); - buffer_append_string(b, "</D:href>"); - buffer_append_string(b,"</D:locktoken>\n"); + buffer_append_string_len(b, CONST_STR_LEN("</D:href>")); + buffer_append_string_len(b,CONST_STR_LEN("</D:locktoken>\n")); - buffer_append_string(b,"</D:activelock>\n"); - buffer_append_string(b,"</D:lockdiscovery>\n"); - buffer_append_string(b,"</D:prop>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:activelock>\n")); + buffer_append_string_len(b,CONST_STR_LEN("</D:lockdiscovery>\n")); + buffer_append_string_len(b,CONST_STR_LEN("</D:prop>\n")); return 0; } @@ -1344,9 +1344,9 @@ URIHANDLER_FUNC(mod_webdav_subrequest_handler) { b = chunkqueue_get_append_buffer(con->write_queue); - buffer_copy_string(b, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); + buffer_copy_string_len(b, CONST_STR_LEN("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")); - buffer_append_string(b,"<D:multistatus xmlns:D=\"DAV:\" xmlns:ns0=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\">\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:multistatus xmlns:D=\"DAV:\" xmlns:ns0=\"urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/\">\n")); /* allprop */ @@ -1358,40 +1358,40 @@ URIHANDLER_FUNC(mod_webdav_subrequest_handler) { /* Depth: 0 */ webdav_get_props(srv, con, p, &(con->physical), req_props, prop_200, prop_404); - buffer_append_string(b,"<D:response>\n"); - buffer_append_string(b,"<D:href>"); + buffer_append_string_len(b,CONST_STR_LEN("<D:response>\n")); + buffer_append_string_len(b,CONST_STR_LEN("<D:href>")); buffer_append_string_buffer(b, con->uri.scheme); - buffer_append_string(b,"://"); + buffer_append_string_len(b,CONST_STR_LEN("://")); buffer_append_string_buffer(b, con->uri.authority); buffer_append_string_encoded(b, CONST_BUF_LEN(con->uri.path), ENCODING_REL_URI); - buffer_append_string(b,"</D:href>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:href>\n")); if (!buffer_is_empty(prop_200)) { - buffer_append_string(b,"<D:propstat>\n"); - buffer_append_string(b,"<D:prop>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:propstat>\n")); + buffer_append_string_len(b,CONST_STR_LEN("<D:prop>\n")); buffer_append_string_buffer(b, prop_200); - buffer_append_string(b,"</D:prop>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:prop>\n")); - buffer_append_string(b,"<D:status>HTTP/1.1 200 OK</D:status>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:status>HTTP/1.1 200 OK</D:status>\n")); - buffer_append_string(b,"</D:propstat>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:propstat>\n")); } if (!buffer_is_empty(prop_404)) { - buffer_append_string(b,"<D:propstat>\n"); - buffer_append_string(b,"<D:prop>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:propstat>\n")); + buffer_append_string_len(b,CONST_STR_LEN("<D:prop>\n")); buffer_append_string_buffer(b, prop_404); - buffer_append_string(b,"</D:prop>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:prop>\n")); - buffer_append_string(b,"<D:status>HTTP/1.1 404 Not Found</D:status>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:status>HTTP/1.1 404 Not Found</D:status>\n")); - buffer_append_string(b,"</D:propstat>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:propstat>\n")); } - buffer_append_string(b,"</D:response>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:response>\n")); break; case 1: @@ -1427,40 +1427,40 @@ URIHANDLER_FUNC(mod_webdav_subrequest_handler) { webdav_get_props(srv, con, p, &d, req_props, prop_200, prop_404); - buffer_append_string(b,"<D:response>\n"); - buffer_append_string(b,"<D:href>"); + buffer_append_string_len(b,CONST_STR_LEN("<D:response>\n")); + buffer_append_string_len(b,CONST_STR_LEN("<D:href>")); buffer_append_string_buffer(b, con->uri.scheme); - buffer_append_string(b,"://"); + buffer_append_string_len(b,CONST_STR_LEN("://")); buffer_append_string_buffer(b, con->uri.authority); buffer_append_string_encoded(b, CONST_BUF_LEN(d.rel_path), ENCODING_REL_URI); - buffer_append_string(b,"</D:href>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:href>\n")); if (!buffer_is_empty(prop_200)) { - buffer_append_string(b,"<D:propstat>\n"); - buffer_append_string(b,"<D:prop>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:propstat>\n")); + buffer_append_string_len(b,CONST_STR_LEN("<D:prop>\n")); buffer_append_string_buffer(b, prop_200); - buffer_append_string(b,"</D:prop>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:prop>\n")); - buffer_append_string(b,"<D:status>HTTP/1.1 200 OK</D:status>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:status>HTTP/1.1 200 OK</D:status>\n")); - buffer_append_string(b,"</D:propstat>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:propstat>\n")); } if (!buffer_is_empty(prop_404)) { - buffer_append_string(b,"<D:propstat>\n"); - buffer_append_string(b,"<D:prop>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:propstat>\n")); + buffer_append_string_len(b,CONST_STR_LEN("<D:prop>\n")); buffer_append_string_buffer(b, prop_404); - buffer_append_string(b,"</D:prop>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:prop>\n")); - buffer_append_string(b,"<D:status>HTTP/1.1 404 Not Found</D:status>\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:status>HTTP/1.1 404 Not Found</D:status>\n")); - buffer_append_string(b,"</D:propstat>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:propstat>\n")); } - buffer_append_string(b,"</D:response>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:response>\n")); } closedir(dir); buffer_free(d.path); @@ -1483,7 +1483,7 @@ URIHANDLER_FUNC(mod_webdav_subrequest_handler) { buffer_free(prop_200); buffer_free(prop_404); - buffer_append_string(b,"</D:multistatus>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:multistatus>\n")); if (p->conf.log_xml) { log_error_write(srv, __FILE__, __LINE__, "sb", "XML-response-body:", b); @@ -1558,13 +1558,13 @@ URIHANDLER_FUNC(mod_webdav_subrequest_handler) { b = chunkqueue_get_append_buffer(con->write_queue); - buffer_copy_string(b, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); + buffer_copy_string_len(b, CONST_STR_LEN("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")); - buffer_append_string(b,"<D:multistatus xmlns:D=\"DAV:\">\n"); + buffer_append_string_len(b,CONST_STR_LEN("<D:multistatus xmlns:D=\"DAV:\">\n")); buffer_append_string_buffer(b, multi_status_resp); - buffer_append_string(b,"</D:multistatus>\n"); + buffer_append_string_len(b,CONST_STR_LEN("</D:multistatus>\n")); if (p->conf.log_xml) { log_error_write(srv, __FILE__, __LINE__, "sb", "XML-response-body:", b); @@ -2296,7 +2296,7 @@ propmatch_cleanup: uuid_generate(id); uuid_unparse(id, uuid); - buffer_copy_string(p->tmp_buf, "opaquelocktoken:"); + buffer_copy_string_len(p->tmp_buf, CONST_STR_LEN("opaquelocktoken:")); buffer_append_string(p->tmp_buf, uuid); /* "CREATE TABLE locks (" diff --git a/src/network.c b/src/network.c index ba024aac..0534bee3 100644 --- a/src/network.c +++ b/src/network.c @@ -494,7 +494,7 @@ int network_init(server *srv) { b = buffer_init(); buffer_copy_string_buffer(b, srv->srvconf.bindhost); - buffer_append_string(b, ":"); + buffer_append_string_len(b, CONST_STR_LEN(":")); buffer_append_long(b, srv->srvconf.port); if (0 != network_server_init(srv, b, srv->config_storage[0])) { diff --git a/src/plugin.c b/src/plugin.c index a01e014e..68eab659 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -131,12 +131,12 @@ int plugins_load(server *srv) { buffer_copy_string_buffer(srv->tmp_buf, srv->srvconf.modules_dir); - buffer_append_string(srv->tmp_buf, "/"); + buffer_append_string_len(srv->tmp_buf, CONST_STR_LEN("/")); buffer_append_string(srv->tmp_buf, modules); #if defined(__WIN32) || defined(__CYGWIN__) - buffer_append_string(srv->tmp_buf, ".dll"); + buffer_append_string_len(srv->tmp_buf, CONST_STR_LEN(".dll")); #else - buffer_append_string(srv->tmp_buf, ".so"); + buffer_append_string_len(srv->tmp_buf, CONST_STR_LEN(".so")); #endif p = plugin_init(); @@ -173,7 +173,7 @@ int plugins_load(server *srv) { #endif buffer_reset(srv->tmp_buf); buffer_copy_string(srv->tmp_buf, modules); - buffer_append_string(srv->tmp_buf, "_plugin_init"); + buffer_append_string_len(srv->tmp_buf, CONST_STR_LEN("_plugin_init")); #ifdef __WIN32 init = GetProcAddress(p->lib, srv->tmp_buf->ptr); diff --git a/src/proc_open.c b/src/proc_open.c index 1f55b619..14f2539e 100644 --- a/src/proc_open.c +++ b/src/proc_open.c @@ -184,7 +184,7 @@ int proc_open(proc_handler_t *proc, const char *command) { buffer_append_string(cmdline, shell); } else { buffer_append_string(cmdline, windir); - buffer_append_string(cmdline, "\\system32\\cmd.exe"); + buffer_append_string_len(cmdline, CONST_STR_LEN("\\system32\\cmd.exe")); } buffer_append_string_len(cmdline, CONST_STR_LEN(" /c ")); buffer_append_string(cmdline, command); diff --git a/src/response.c b/src/response.c index bc960b2a..64fd8115 100644 --- a/src/response.c +++ b/src/response.c @@ -35,21 +35,25 @@ int http_response_write_header(server *srv, connection *con) { b = chunkqueue_get_prepend_buffer(con->write_queue); if (con->request.http_version == HTTP_VERSION_1_1) { - BUFFER_COPY_STRING_CONST(b, "HTTP/1.1 "); + buffer_copy_string_len(b, CONST_STR_LEN("HTTP/1.1 ")); } else { - BUFFER_COPY_STRING_CONST(b, "HTTP/1.0 "); + buffer_copy_string_len(b, CONST_STR_LEN("HTTP/1.0 ")); } buffer_append_long(b, con->http_status); - BUFFER_APPEND_STRING_CONST(b, " "); + buffer_append_string_len(b, CONST_STR_LEN(" ")); buffer_append_string(b, get_http_status_name(con->http_status)); if (con->request.http_version != HTTP_VERSION_1_1 || con->keep_alive == 0) { - BUFFER_APPEND_STRING_CONST(b, "\r\nConnection: "); - buffer_append_string(b, con->keep_alive ? "keep-alive" : "close"); + buffer_append_string_len(b, CONST_STR_LEN("\r\nConnection: ")); + if (con->keep_alive) { + buffer_append_string_len(b, CONST_STR_LEN("keep-alive")); + } else { + buffer_append_string_len(b, CONST_STR_LEN("close")); + } } if (con->response.transfer_encoding & HTTP_TRANSFER_ENCODING_CHUNKED) { - BUFFER_APPEND_STRING_CONST(b, "\r\nTransfer-Encoding: chunked"); + buffer_append_string_len(b, CONST_STR_LEN("\r\nTransfer-Encoding: chunked")); } @@ -65,9 +69,9 @@ int http_response_write_header(server *srv, connection *con) { if (buffer_is_equal_string(ds->key, CONST_STR_LEN("Date"))) have_date = 1; if (buffer_is_equal_string(ds->key, CONST_STR_LEN("Server"))) have_server = 1; - BUFFER_APPEND_STRING_CONST(b, "\r\n"); + buffer_append_string_len(b, CONST_STR_LEN("\r\n")); buffer_append_string_buffer(b, ds->key); - BUFFER_APPEND_STRING_CONST(b, ": "); + buffer_append_string_len(b, CONST_STR_LEN(": ")); #if 0 /** * the value might contain newlines, encode them with at least one white-space @@ -81,7 +85,7 @@ int http_response_write_header(server *srv, connection *con) { if (!have_date) { /* HTTP/1.1 requires a Date: header */ - BUFFER_APPEND_STRING_CONST(b, "\r\nDate: "); + buffer_append_string_len(b, CONST_STR_LEN("\r\nDate: ")); /* cache the generated timestamp */ if (srv->cur_ts != srv->last_generated_date_ts) { @@ -100,14 +104,14 @@ int http_response_write_header(server *srv, connection *con) { if (!have_server) { if (buffer_is_empty(con->conf.server_tag)) { - BUFFER_APPEND_STRING_CONST(b, "\r\nServer: " PACKAGE_NAME "/" PACKAGE_VERSION); + buffer_append_string_len(b, CONST_STR_LEN("\r\nServer: " PACKAGE_NAME "/" PACKAGE_VERSION)); } else if (con->conf.server_tag->used > 1) { - BUFFER_APPEND_STRING_CONST(b, "\r\nServer: "); + buffer_append_string_len(b, CONST_STR_LEN("\r\nServer: ")); buffer_append_string_encoded(b, CONST_BUF_LEN(con->conf.server_tag), ENCODING_HTTP_HEADER); } } - BUFFER_APPEND_STRING_CONST(b, "\r\n\r\n"); + buffer_append_string_len(b, CONST_STR_LEN("\r\n\r\n")); con->bytes_header = b->used - 1; @@ -181,7 +185,11 @@ handler_t http_response_prepare(server *srv, connection *con) { * */ - buffer_copy_string(con->uri.scheme, con->conf.is_ssl ? "https" : "http"); + if (con->conf.is_ssl) { + buffer_copy_string_len(con->uri.scheme, CONST_STR_LEN("https")); + } else { + buffer_copy_string_len(con->uri.scheme, CONST_STR_LEN("http")); + } buffer_copy_string_buffer(con->uri.authority, con->request.http_host); buffer_to_lower(con->uri.authority); diff --git a/src/server.c b/src/server.c index b1059882..677828e4 100644 --- a/src/server.c +++ b/src/server.c @@ -876,7 +876,7 @@ int main (int argc, char **argv) { /* write pid file */ if (pid_fd != -1) { buffer_copy_long(srv->tmp_buf, getpid()); - buffer_append_string(srv->tmp_buf, "\n"); + buffer_append_string_len(srv->tmp_buf, CONST_STR_LEN("\n")); write(pid_fd, srv->tmp_buf->ptr, srv->tmp_buf->used - 1); close(pid_fd); pid_fd = -1; |