summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2002-05-01 08:08:24 +0000
committeralfred <alfred@FreeBSD.org>2002-05-01 08:08:24 +0000
commitf34e021666b971c45ea81a8c4cc80c8a0c056466 (patch)
treead2f09d70c46a5c79cbaaf29b1ec7400b0a717fa /sys
parente8c453a5436749499fc4a4d0780c347af988bcc8 (diff)
downloadFreeBSD-src-f34e021666b971c45ea81a8c4cc80c8a0c056466.zip
FreeBSD-src-f34e021666b971c45ea81a8c4cc80c8a0c056466.tar.gz
cleanup:
fix line wraps, add some comments, fix macro definitions, fix for(;;) loops.
Diffstat (limited to 'sys')
-rw-r--r--sys/netinet/accf_http.c83
1 files changed, 46 insertions, 37 deletions
diff --git a/sys/netinet/accf_http.c b/sys/netinet/accf_http.c
index 0396b3a..0420078 100644
--- a/sys/netinet/accf_http.c
+++ b/sys/netinet/accf_http.c
@@ -76,9 +76,9 @@ SYSCTL_INT(_net_inet_accf_http, OID_AUTO, parsehttpversion, CTLFLAG_RW,
"Parse http version so that non 1.x requests work");
#ifdef ACCF_HTTP_DEBUG
-#define DPRINT(fmt, args...) \
- do { \
- printf("%s:%d: " fmt "\n", __func__, __LINE__ , ##args); \
+#define DPRINT(fmt, args...) \
+ do { \
+ printf("%s:%d: " fmt "\n", __func__, __LINE__, ##args); \
} while (0)
#else
#define DPRINT(fmt, args...)
@@ -88,10 +88,11 @@ static int
sbfull(struct sockbuf *sb)
{
- DPRINT("sbfull, cc(%ld) >= hiwat(%ld): %d, mbcnt(%ld) >= mbmax(%ld): %d",
- sb->sb_cc, sb->sb_hiwat, sb->sb_cc >= sb->sb_hiwat,
- sb->sb_mbcnt, sb->sb_mbmax, sb->sb_mbcnt >= sb->sb_mbmax);
- return(sb->sb_cc >= sb->sb_hiwat || sb->sb_mbcnt >= sb->sb_mbmax);
+ DPRINT("sbfull, cc(%ld) >= hiwat(%ld): %d, "
+ "mbcnt(%ld) >= mbmax(%ld): %d",
+ sb->sb_cc, sb->sb_hiwat, sb->sb_cc >= sb->sb_hiwat,
+ sb->sb_mbcnt, sb->sb_mbmax, sb->sb_mbcnt >= sb->sb_mbmax);
+ return (sb->sb_cc >= sb->sb_hiwat || sb->sb_mbcnt >= sb->sb_mbmax);
}
/*
@@ -103,17 +104,16 @@ mbufstrcmp(struct mbuf *m, struct mbuf *npkt, int offset, char *cmp)
{
struct mbuf *n;
- for (;m != NULL; m = n) {
+ for (; m != NULL; m = n) {
n = npkt;
if (npkt)
npkt = npkt->m_nextpkt;
for (; m; m = m->m_next) {
for (; offset < m->m_len; offset++, cmp++) {
- if (*cmp == '\0') {
+ if (*cmp == '\0')
return (1);
- } else if (*cmp != *(mtod(m, char *) + offset)) {
+ else if (*cmp != *(mtod(m, char *) + offset))
return (0);
- }
}
offset = 0;
}
@@ -131,17 +131,16 @@ mbufstrncmp(struct mbuf *m, struct mbuf *npkt, int offset, int max, char *cmp)
{
struct mbuf *n;
- for (;m != NULL; m = n) {
+ for (; m != NULL; m = n) {
n = npkt;
if (npkt)
npkt = npkt->m_nextpkt;
for (; m; m = m->m_next) {
for (; offset < m->m_len; offset++, cmp++, max--) {
- if (max == 0 || *cmp == '\0') {
+ if (max == 0 || *cmp == '\0')
return (1);
- } else if (*cmp != *(mtod(m, char *) + offset)) {
+ else if (*cmp != *(mtod(m, char *) + offset))
return (0);
- }
}
offset = 0;
}
@@ -149,10 +148,10 @@ mbufstrncmp(struct mbuf *m, struct mbuf *npkt, int offset, int max, char *cmp)
return (0);
}
-#define STRSETUP(sptr, slen, str) \
- do { \
- sptr = str; \
- slen = sizeof(str) - 1; \
+#define STRSETUP(sptr, slen, str) \
+ do { \
+ sptr = str; \
+ slen = sizeof(str) - 1; \
} while(0)
static void
@@ -226,6 +225,7 @@ soparsehttpvers(struct socket *so, void *arg, int waitflag)
for (i = 0; i < m->m_len; i++, cc--) {
switch (*(mtod(m, char *) + i)) {
case ' ':
+ /* tabs? '\t' */
if (!inspaces) {
spaces++;
inspaces = 1;
@@ -236,28 +236,37 @@ soparsehttpvers(struct socket *so, void *arg, int waitflag)
DPRINT("newline");
goto fallout;
default:
- if (spaces == 2) {
- /* make sure we have enough data left */
- if (cc < sizeof("HTTP/1.0") - 1) {
- if (mbufstrncmp(m, n, i, cc, "HTTP/1.") == 1) {
- DPRINT("mbufstrncmp ok");
- goto readmore;
- } else {
- DPRINT("mbufstrncmp bad");
- goto fallout;
- }
- } else if (mbufstrcmp(m, n, i, "HTTP/1.0") == 1 ||
- mbufstrcmp(m, n, i, "HTTP/1.1") == 1) {
- DPRINT("mbufstrcmp ok");
- soishttpconnected(so, arg, waitflag);
- return;
+ if (spaces != 2) {
+ inspaces = 0;
+ break;
+ }
+
+ /*
+ * if we don't have enough characters
+ * left (cc < sizeof("HTTP/1.0") - 1)
+ * then see if the remaining ones
+ * are a request we can parse.
+ */
+ if (cc < sizeof("HTTP/1.0") - 1) {
+ if (mbufstrncmp(m, n, i, cc,
+ "HTTP/1.") == 1) {
+ DPRINT("ok");
+ goto readmore;
} else {
- DPRINT("mbufstrcmp bad");
+ DPRINT("bad");
goto fallout;
}
+ } else if (
+ mbufstrcmp(m, n, i, "HTTP/1.0") ||
+ mbufstrcmp(m, n, i, "HTTP/1.1")) {
+ DPRINT("ok");
+ soishttpconnected(so,
+ arg, waitflag);
+ return;
+ } else {
+ DPRINT("bad");
+ goto fallout;
}
- inspaces = 0;
- break;
}
}
}
OpenPOWER on IntegriCloud