You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by wr...@apache.org on 2016/07/29 17:36:34 UTC
svn commit: r1754555 - /httpd/httpd/trunk/server/gen_test_char.c
Author: wrowe
Date: Fri Jul 29 17:36:34 2016
New Revision: 1754555
URL: http://svn.apache.org/viewvc?rev=1754555&view=rev
Log:
Leave an emphatic TODO per Jeff's observations
Modified:
httpd/httpd/trunk/server/gen_test_char.c
Modified: httpd/httpd/trunk/server/gen_test_char.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/gen_test_char.c?rev=1754555&r1=1754554&r2=1754555&view=diff
==============================================================================
--- httpd/httpd/trunk/server/gen_test_char.c (original)
+++ httpd/httpd/trunk/server/gen_test_char.c Fri Jul 29 17:36:34 2016
@@ -120,19 +120,18 @@ int main(int argc, char *argv[])
/* Stop for any non-'token' character, including ctrls, obs-text,
* and "tspecials" (RFC2068) a.k.a. "separators" (RFC2616)
- * XXX: With luck, isascii behaves sensibly on EBCDIC platforms
- * and insists on chars that correspond to ASCII equivilants
+ * XXX: We need to build a specific table for EBCDIC values with
+ * ASCII equivilants here
*/
- if (!c || apr_iscntrl(c) || strchr(" \t()<>@,;:\\\"/[]?={}", c))
- || !apr_isascii(c)) {
- flags |= T_HTTP_TOKEN_STOP;
+ if (!c || apr_iscntrl(c) || strchr(" \t()<>@,;:\\\"/[]?={}", c)) {
}
/* Catch CTRLs other than VCHAR, HT and SP, and obs-text (RFC7230 3.2)
* This includes only the C0 plane, not C1 (which is obs-text itself.)
- * XXX: Need to confirm this behavior on EBCDIC architecture
+ * XXX: Need to constrain iscntrl to C0 equivilants in ASCII,
+ * even on EBCDIC architecture
*/
- if (!c || (apr_iscntrl(c) && c != '\t' && apr_isascii(c))) {
+ if (!c || (apr_iscntrl(c) && c != '\t')) {
flags |= T_HTTP_CTRLS;
}
Re: svn commit: r1754555 - /httpd/httpd/trunk/server/gen_test_char.c
Posted by Ruediger Pluem <rp...@apache.org>.
On 07/29/2016 07:36 PM, wrowe@apache.org wrote:
> Author: wrowe
> Date: Fri Jul 29 17:36:34 2016
> New Revision: 1754555
>
> URL: http://svn.apache.org/viewvc?rev=1754555&view=rev
> Log:
> Leave an emphatic TODO per Jeff's observations
>
> Modified:
> httpd/httpd/trunk/server/gen_test_char.c
>
> Modified: httpd/httpd/trunk/server/gen_test_char.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/gen_test_char.c?rev=1754555&r1=1754554&r2=1754555&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/server/gen_test_char.c (original)
> +++ httpd/httpd/trunk/server/gen_test_char.c Fri Jul 29 17:36:34 2016
> @@ -120,19 +120,18 @@ int main(int argc, char *argv[])
>
> /* Stop for any non-'token' character, including ctrls, obs-text,
> * and "tspecials" (RFC2068) a.k.a. "separators" (RFC2616)
> - * XXX: With luck, isascii behaves sensibly on EBCDIC platforms
> - * and insists on chars that correspond to ASCII equivilants
> + * XXX: We need to build a specific table for EBCDIC values with
> + * ASCII equivilants here
> */
> - if (!c || apr_iscntrl(c) || strchr(" \t()<>@,;:\\\"/[]?={}", c))
> - || !apr_isascii(c)) {
> - flags |= T_HTTP_TOKEN_STOP;
I guess you did not want to kill the line above.
> + if (!c || apr_iscntrl(c) || strchr(" \t()<>@,;:\\\"/[]?={}", c)) {
> }
>
> /* Catch CTRLs other than VCHAR, HT and SP, and obs-text (RFC7230 3.2)
> * This includes only the C0 plane, not C1 (which is obs-text itself.)
> - * XXX: Need to confirm this behavior on EBCDIC architecture
> + * XXX: Need to constrain iscntrl to C0 equivilants in ASCII,
> + * even on EBCDIC architecture
> */
> - if (!c || (apr_iscntrl(c) && c != '\t' && apr_isascii(c))) {
> + if (!c || (apr_iscntrl(c) && c != '\t')) {
> flags |= T_HTTP_CTRLS;
> }
>
Regards
R�diger