mirror of
https://github.com/jorisvink/kore
synced 2025-03-09 12:39:01 -04:00
Code cleanup, several API breaking changes in here
This commit is contained in:
parent
a8917e355a
commit
d30921103b
@ -118,7 +118,7 @@ int
|
||||
serve_b64test(struct http_request *req)
|
||||
{
|
||||
int i;
|
||||
u_int32_t len;
|
||||
size_t len;
|
||||
struct kore_buf *res;
|
||||
u_int8_t *data;
|
||||
|
||||
@ -141,7 +141,7 @@ serve_file_upload(struct http_request *req)
|
||||
u_int8_t *d;
|
||||
struct kore_buf *b;
|
||||
struct http_file *f;
|
||||
u_int32_t len;
|
||||
size_t len;
|
||||
char *name, buf[BUFSIZ];
|
||||
|
||||
b = kore_buf_create(asset_len_upload_html);
|
||||
@ -185,7 +185,7 @@ void
|
||||
test_base64(u_int8_t *src, u_int32_t slen, struct kore_buf *res)
|
||||
{
|
||||
char *in;
|
||||
u_int32_t len;
|
||||
size_t len;
|
||||
u_int8_t *out;
|
||||
|
||||
kore_buf_appendf(res, "test '%s'\n", src);
|
||||
@ -238,7 +238,7 @@ serve_params_test(struct http_request *req)
|
||||
{
|
||||
struct kore_buf *b;
|
||||
u_int8_t *d;
|
||||
u_int32_t len;
|
||||
size_t len;
|
||||
int r, i;
|
||||
char *test, name[10];
|
||||
|
||||
|
@ -11,8 +11,9 @@ page(struct http_request *req)
|
||||
int32_t s32;
|
||||
int64_t s64;
|
||||
u_int64_t u64;
|
||||
u_int32_t u32;
|
||||
size_t len;
|
||||
struct kore_buf *buf;
|
||||
u_int32_t u32, len;
|
||||
u_int8_t c, *data;
|
||||
|
||||
http_populate_get(req);
|
||||
|
@ -161,7 +161,7 @@ ktunnel_pipe_data(struct netbuf *nb)
|
||||
struct connection *src = nb->owner;
|
||||
struct connection *dst = src->hdlr_extra;
|
||||
|
||||
printf("received %d bytes on pipe %p (-> %p)\n", nb->s_off, src, dst);
|
||||
printf("received %zu bytes on pipe %p (-> %p)\n", nb->s_off, src, dst);
|
||||
|
||||
net_send_queue(dst, nb->buf, nb->s_off);
|
||||
net_send_flush(dst);
|
||||
|
@ -221,9 +221,9 @@ void http_request_sleep(struct http_request *);
|
||||
void http_request_wakeup(struct http_request *);
|
||||
void http_process_request(struct http_request *);
|
||||
ssize_t http_body_read(struct http_request *, void *, size_t);
|
||||
void http_response(struct http_request *, int, void *, u_int32_t);
|
||||
void http_response(struct http_request *, int, const void *, size_t);
|
||||
void http_response_stream(struct http_request *, int, void *,
|
||||
u_int64_t, int (*cb)(struct netbuf *), void *);
|
||||
size_t, int (*cb)(struct netbuf *), void *);
|
||||
int http_request_header(struct http_request *,
|
||||
const char *, char **);
|
||||
void http_response_header(struct http_request *,
|
||||
|
@ -106,9 +106,9 @@ struct http_request;
|
||||
|
||||
struct netbuf {
|
||||
u_int8_t *buf;
|
||||
u_int32_t s_off;
|
||||
u_int32_t b_len;
|
||||
u_int32_t m_len;
|
||||
size_t s_off;
|
||||
size_t b_len;
|
||||
size_t m_len;
|
||||
u_int8_t type;
|
||||
u_int8_t flags;
|
||||
|
||||
@ -327,8 +327,8 @@ struct kore_validator {
|
||||
|
||||
struct kore_buf {
|
||||
u_int8_t *data;
|
||||
u_int64_t length;
|
||||
u_int64_t offset;
|
||||
size_t length;
|
||||
size_t offset;
|
||||
};
|
||||
|
||||
struct kore_pool_region {
|
||||
@ -531,8 +531,8 @@ int kore_split_string(char *, char *, char **, size_t);
|
||||
void kore_strip_chars(char *, const char, char **);
|
||||
int kore_snprintf(char *, size_t, int *, const char *, ...);
|
||||
long long kore_strtonum(const char *, int, long long, long long, int *);
|
||||
int kore_base64_encode(u_int8_t *, u_int32_t, char **);
|
||||
int kore_base64_decode(char *, u_int8_t **, u_int32_t *);
|
||||
int kore_base64_encode(u_int8_t *, size_t, char **);
|
||||
int kore_base64_decode(char *, u_int8_t **, size_t *);
|
||||
void *kore_mem_find(void *, size_t, void *, size_t);
|
||||
char *kore_text_trim(char *, size_t);
|
||||
char *kore_read_line(FILE *, char *, size_t);
|
||||
@ -608,21 +608,21 @@ int net_read(struct connection *, int *);
|
||||
int net_read_ssl(struct connection *, int *);
|
||||
int net_write(struct connection *, int, int *);
|
||||
int net_write_ssl(struct connection *, int, int *);
|
||||
void net_recv_reset(struct connection *, u_int32_t,
|
||||
void net_recv_reset(struct connection *, size_t,
|
||||
int (*cb)(struct netbuf *));
|
||||
void net_remove_netbuf(struct netbuf_head *, struct netbuf *);
|
||||
void net_recv_queue(struct connection *, u_int32_t, int,
|
||||
void net_recv_queue(struct connection *, size_t, int,
|
||||
int (*cb)(struct netbuf *));
|
||||
void net_recv_expand(struct connection *c, u_int32_t,
|
||||
void net_recv_expand(struct connection *c, size_t,
|
||||
int (*cb)(struct netbuf *));
|
||||
void net_send_queue(struct connection *, const void *, u_int32_t);
|
||||
void net_send_queue(struct connection *, const void *, size_t);
|
||||
void net_send_stream(struct connection *, void *,
|
||||
u_int32_t, int (*cb)(struct netbuf *), struct netbuf **);
|
||||
size_t, int (*cb)(struct netbuf *), struct netbuf **);
|
||||
|
||||
void kore_buf_free(struct kore_buf *);
|
||||
struct kore_buf *kore_buf_create(u_int32_t);
|
||||
void kore_buf_append(struct kore_buf *, const void *, u_int32_t);
|
||||
u_int8_t *kore_buf_release(struct kore_buf *, u_int32_t *);
|
||||
struct kore_buf *kore_buf_create(size_t);
|
||||
void kore_buf_append(struct kore_buf *, const void *, size_t);
|
||||
u_int8_t *kore_buf_release(struct kore_buf *, size_t *);
|
||||
void kore_buf_reset(struct kore_buf *);
|
||||
|
||||
char *kore_buf_stringify(struct kore_buf *, size_t *);
|
||||
|
11
src/buf.c
11
src/buf.c
@ -22,7 +22,7 @@
|
||||
#include "kore.h"
|
||||
|
||||
struct kore_buf *
|
||||
kore_buf_create(u_int32_t initial)
|
||||
kore_buf_create(size_t initial)
|
||||
{
|
||||
struct kore_buf *buf;
|
||||
|
||||
@ -35,7 +35,7 @@ kore_buf_create(u_int32_t initial)
|
||||
}
|
||||
|
||||
void
|
||||
kore_buf_append(struct kore_buf *buf, const void *d, u_int32_t len)
|
||||
kore_buf_append(struct kore_buf *buf, const void *d, size_t len)
|
||||
{
|
||||
if ((buf->offset + len) < len)
|
||||
fatal("overflow in kore_buf_append");
|
||||
@ -53,7 +53,7 @@ void
|
||||
kore_buf_appendb(struct kore_buf *buf, struct kore_buf *src)
|
||||
{
|
||||
u_int8_t *d;
|
||||
u_int32_t len;
|
||||
size_t len;
|
||||
|
||||
d = kore_buf_release(src, &len);
|
||||
kore_buf_append(buf, d, len);
|
||||
@ -108,7 +108,7 @@ kore_buf_stringify(struct kore_buf *buf, size_t *len)
|
||||
}
|
||||
|
||||
u_int8_t *
|
||||
kore_buf_release(struct kore_buf *buf, u_int32_t *len)
|
||||
kore_buf_release(struct kore_buf *buf, size_t *len)
|
||||
{
|
||||
u_int8_t *p;
|
||||
|
||||
@ -129,9 +129,8 @@ kore_buf_free(struct kore_buf *buf)
|
||||
void
|
||||
kore_buf_replace_string(struct kore_buf *b, char *src, void *dst, size_t len)
|
||||
{
|
||||
u_int32_t blen, off, off2;
|
||||
size_t nlen, klen;
|
||||
char *key, *end, *tmp, *p;
|
||||
size_t blen, off, off2, nlen, klen;
|
||||
|
||||
off = 0;
|
||||
klen = strlen(src);
|
||||
|
14
src/http.c
14
src/http.c
@ -40,7 +40,7 @@ static int http_body_rewind(struct http_request *);
|
||||
static void http_error_response(struct connection *, int);
|
||||
static void http_argument_add(struct http_request *, const char *, char *);
|
||||
static void http_response_normal(struct http_request *,
|
||||
struct connection *, int, void *, u_int32_t);
|
||||
struct connection *, int, const void *, size_t);
|
||||
static void multipart_add_field(struct http_request *, struct kore_buf *,
|
||||
const char *, const char *, const int);
|
||||
static void multipart_file_add(struct http_request *, struct kore_buf *,
|
||||
@ -481,9 +481,9 @@ http_request_free(struct http_request *req)
|
||||
}
|
||||
|
||||
void
|
||||
http_response(struct http_request *req, int status, void *d, u_int32_t l)
|
||||
http_response(struct http_request *req, int status, const void *d, size_t l)
|
||||
{
|
||||
kore_debug("http_response(%p, %d, %p, %d)", req, status, d, l);
|
||||
kore_debug("http_response(%p, %d, %p, %zu)", req, status, d, l);
|
||||
|
||||
req->status = status;
|
||||
|
||||
@ -500,7 +500,7 @@ http_response(struct http_request *req, int status, void *d, u_int32_t l)
|
||||
|
||||
void
|
||||
http_response_stream(struct http_request *req, int status, void *base,
|
||||
u_int64_t len, int (*cb)(struct netbuf *), void *arg)
|
||||
size_t len, int (*cb)(struct netbuf *), void *arg)
|
||||
{
|
||||
struct netbuf *nb;
|
||||
|
||||
@ -1385,7 +1385,7 @@ http_error_response(struct connection *c, int status)
|
||||
|
||||
static void
|
||||
http_response_normal(struct http_request *req, struct connection *c,
|
||||
int status, void *d, u_int32_t len)
|
||||
int status, const void *d, size_t len)
|
||||
{
|
||||
struct http_header *hdr;
|
||||
char *conn;
|
||||
@ -1439,12 +1439,12 @@ http_response_normal(struct http_request *req, struct connection *c,
|
||||
if (status != 204 && status >= 200 &&
|
||||
!(req->flags & HTTP_REQUEST_NO_CONTENT_LENGTH)) {
|
||||
kore_buf_appendf(header_buf,
|
||||
"content-length: %d\r\n", len);
|
||||
"content-length: %zu\r\n", len);
|
||||
}
|
||||
} else {
|
||||
if (status != 204 && status >= 200) {
|
||||
kore_buf_appendf(header_buf,
|
||||
"content-length: %d\r\n", len);
|
||||
"content-length: %zu\r\n", len);
|
||||
}
|
||||
}
|
||||
|
||||
|
20
src/net.c
20
src/net.c
@ -44,13 +44,13 @@ net_cleanup(void)
|
||||
}
|
||||
|
||||
void
|
||||
net_send_queue(struct connection *c, const void *data, u_int32_t len)
|
||||
net_send_queue(struct connection *c, const void *data, size_t len)
|
||||
{
|
||||
const u_int8_t *d;
|
||||
struct netbuf *nb;
|
||||
u_int32_t avail;
|
||||
size_t avail;
|
||||
|
||||
kore_debug("net_send_queue(%p, %p, %d)", c, data, len);
|
||||
kore_debug("net_send_queue(%p, %p, %zu)", c, data, len);
|
||||
|
||||
d = data;
|
||||
nb = TAILQ_LAST(&(c->send_queue), netbuf_head);
|
||||
@ -93,12 +93,12 @@ net_send_queue(struct connection *c, const void *data, u_int32_t len)
|
||||
}
|
||||
|
||||
void
|
||||
net_send_stream(struct connection *c, void *data, u_int32_t len,
|
||||
net_send_stream(struct connection *c, void *data, size_t len,
|
||||
int (*cb)(struct netbuf *), struct netbuf **out)
|
||||
{
|
||||
struct netbuf *nb;
|
||||
|
||||
kore_debug("net_send_stream(%p, %p, %d)", c, data, len);
|
||||
kore_debug("net_send_stream(%p, %p, %zu)", c, data, len);
|
||||
|
||||
nb = kore_pool_get(&nb_pool);
|
||||
nb->cb = cb;
|
||||
@ -116,9 +116,9 @@ net_send_stream(struct connection *c, void *data, u_int32_t len,
|
||||
}
|
||||
|
||||
void
|
||||
net_recv_reset(struct connection *c, u_int32_t len, int (*cb)(struct netbuf *))
|
||||
net_recv_reset(struct connection *c, size_t len, int (*cb)(struct netbuf *))
|
||||
{
|
||||
kore_debug("net_recv_reset(): %p %d", c, len);
|
||||
kore_debug("net_recv_reset(): %p %zu", c, len);
|
||||
|
||||
if (c->rnb->type != NETBUF_RECV)
|
||||
fatal("net_recv_reset(): wrong netbuf type");
|
||||
@ -137,10 +137,10 @@ net_recv_reset(struct connection *c, u_int32_t len, int (*cb)(struct netbuf *))
|
||||
}
|
||||
|
||||
void
|
||||
net_recv_queue(struct connection *c, u_int32_t len, int flags,
|
||||
net_recv_queue(struct connection *c, size_t len, int flags,
|
||||
int (*cb)(struct netbuf *))
|
||||
{
|
||||
kore_debug("net_recv_queue(): %p %d %d", c, len, flags);
|
||||
kore_debug("net_recv_queue(): %p %zu %d", c, len, flags);
|
||||
|
||||
if (c->rnb != NULL)
|
||||
fatal("net_recv_queue(): called incorrectly for %p", c);
|
||||
@ -158,7 +158,7 @@ net_recv_queue(struct connection *c, u_int32_t len, int flags,
|
||||
}
|
||||
|
||||
void
|
||||
net_recv_expand(struct connection *c, u_int32_t len, int (*cb)(struct netbuf *))
|
||||
net_recv_expand(struct connection *c, size_t len, int (*cb)(struct netbuf *))
|
||||
{
|
||||
kore_debug("net_recv_expand(): %p %d", c, len);
|
||||
|
||||
|
14
src/utils.c
14
src/utils.c
@ -377,18 +377,21 @@ kore_time_ms(void)
|
||||
}
|
||||
|
||||
int
|
||||
kore_base64_encode(u_int8_t *data, u_int32_t len, char **out)
|
||||
kore_base64_encode(u_int8_t *data, size_t len, char **out)
|
||||
{
|
||||
u_int32_t b;
|
||||
struct kore_buf *res;
|
||||
size_t plen, idx;
|
||||
u_int8_t n, *pdata;
|
||||
int i, padding;
|
||||
u_int32_t idx, b, plen;
|
||||
|
||||
if ((len % 3) != 0) {
|
||||
padding = 3 - (len % 3);
|
||||
plen = len + padding;
|
||||
pdata = kore_malloc(plen);
|
||||
if (plen < len)
|
||||
fatal("plen wrapped");
|
||||
|
||||
pdata = kore_malloc(plen);
|
||||
memcpy(pdata, data, len);
|
||||
memset(pdata + len, 0, padding);
|
||||
} else {
|
||||
@ -430,6 +433,9 @@ kore_base64_encode(u_int8_t *data, u_int32_t len, char **out)
|
||||
kore_mem_free(pdata);
|
||||
|
||||
pdata = kore_buf_release(res, &plen);
|
||||
if ((plen + 1) < plen)
|
||||
fatal("plen wrapped");
|
||||
|
||||
*out = kore_malloc(plen + 1);
|
||||
(void)kore_strlcpy(*out, (char *)pdata, plen + 1);
|
||||
kore_mem_free(pdata);
|
||||
@ -438,7 +444,7 @@ kore_base64_encode(u_int8_t *data, u_int32_t len, char **out)
|
||||
}
|
||||
|
||||
int
|
||||
kore_base64_decode(char *in, u_int8_t **out, u_int32_t *olen)
|
||||
kore_base64_decode(char *in, u_int8_t **out, size_t *olen)
|
||||
{
|
||||
int i, c;
|
||||
struct kore_buf *res;
|
||||
|
Loading…
x
Reference in New Issue
Block a user