From: Adam Dickmeiss Date: Tue, 6 Jan 2004 19:12:19 +0000 (+0000) Subject: Fix a bug with decoding of XML packed records X-Git-Tag: YAZ.2.0.9.4 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=82988dd4a36739a5559015cb7df4dd757765d289 Fix a bug with decoding of XML packed records --- diff --git a/debian/changelog b/debian/changelog index 8006e32..254f7b4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +yaz (2.0.9-4) unstable; urgency=low + + * Fix HTTP decode: Content-Length case insensitive. + + -- Adam Dickmeiss Tue, 6 Jan 2004 14:35:37 +0100 + yaz (2.0.9-3) unstable; urgency=low * Upstream. diff --git a/src/comstack.c b/src/comstack.c index 640b09b..050fcc1 100644 --- a/src/comstack.c +++ b/src/comstack.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1995-2003, Index Data + * Copyright (c) 1995-2004, Index Data * See the file LICENSE for details. * - * $Id: comstack.c,v 1.2 2003-11-17 10:40:56 mike Exp $ + * $Id: comstack.c,v 1.3 2004-01-06 19:12:19 adam Exp $ */ #include @@ -222,21 +222,21 @@ int cs_complete_auto(const unsigned char *buf, int len) } break; } - else if (i < len - 21 && - !memcmp(buf+i, "Transfer-Encoding: ", 18)) + else if (i < len - 20 && + !strncasecmp(buf+i, "Transfer-Encoding:", 18)) { i+=18; - if (buf[i] == ' ') + while (buf[i] == ' ') i++; if (i < len - 8) - if (!memcmp(buf+i, "chunked", 7)) + if (!strncasecmp(buf+i, "chunked", 7)) chunked = 1; } - else if (i < len - 18 && - !memcmp(buf+i, "Content-Length: ", 15)) + else if (i < len - 17 && + !strncasecmp(buf+i, "Content-Length:", 15)) { i+= 15; - if (buf[i] == ' ') + while (buf[i] == ' ') i++; content_len = 0; while (i <= len-4 && isdigit(buf[i]))