Thanks, I've checked in these changes (without much testing).
greg_at_bogslab.ucdavis.edu (Greg Shenaut) writes:
>Sorry for not sending patches, but here are some fixes marked
>with "BOGS".
>
>First, in parse.c
>
>parse.c-777- /* base64 decoding */
>parse.c-778- int len;
>parse.c-779- base64Decode(ptr, output, &len);
>parse.c:780: output += len ; /* BOGS was len - 1 */
>parse.c-781- }
>parse.c-782- else {
>parse.c-783- /* unsupported encoding type */
>
>This caused the last character of rfc2047-encoded usernames to
>be chopped off.
>
>Second, in libcgi/form_ent.c
>
>form_ent.c-162- int asize;
>form_ent.c-163- int i;
>form_ent.c-164- int c;
>form_ent.c:165: int c1, c2; /* BOGS */
>form_ent.c-166-
>form_ent.c-167- while (isspace(c = getccl(stream, length)) || c == '&');
>form_ent.c-168- if (c == EOF)
>--
>form_ent.c-183- fe->name[i] = ' ';
>form_ent.c-184- break;
>form_ent.c-185- case '%':
>form_ent.c:186: c1 = getccl(stream, length); /* BOGS */
>form_ent.c:187: c2 = getccl(stream, length); /* BOGS */
>form_ent.c:188: fe->name[i] = dd2c(c1, c2); /* BOGS */
>form_ent.c-189- break;
>form_ent.c-190- default:
>form_ent.c-191- fe->name[i] = c;
>--
>form_ent.c-215- fe->val[i] = ' ';
>form_ent.c-216- break;
>form_ent.c-217- case '%':
>form_ent.c:218: c1 = getccl(stream, length); /* BOGS */
>form_ent.c:219: c2 = getccl(stream, length); /* BOGS */
>form_ent.c:220: fe->val[i] = dd2c(c1, c2); /* BOGS */
>form_ent.c-221- break;
>form_ent.c-222- default:
>form_ent.c-223- fe->val[i] = c;
>
>The old code reversed the order of urlencoded bytes on my FreeBSD/gcc system.
>
>Greg Shenaut
Received on Sun 01 Apr 2001 02:14:16 AM GMT
This archive was generated by hypermail 2.2.0 : Thu 22 Feb 2007 07:33:53 PM GMT GMT