comparison src/core/ngx_string.c @ 1405:fdd064faf26a

escape " ", "%", and %00-%1F in login and password
author Igor Sysoev <igor@sysoev.ru>
date Mon, 20 Aug 2007 09:50:53 +0000
parents 07ebeeb55700
children 03341711f9a2
comparison
equal deleted inserted replaced
1404:df2592d32e49 1405:fdd064faf26a
1017 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1017 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1018 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1018 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1019 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1019 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1020 }; 1020 };
1021 1021
1022 /* " ", """, "%", "'", %00-%1F, %7F-%FF */ 1022 /* " ", "#", """, "%", "'", %00-%1F, %7F-%FF */
1023 1023
1024 static uint32_t html[] = { 1024 static uint32_t html[] = {
1025 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1025 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1026 1026
1027 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */ 1027 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */
1037 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1037 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1038 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1038 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1039 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1039 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1040 }; 1040 };
1041 1041
1042 /* " ", """, "'", %00-%1F, %7F-%FF */ 1042 /* " ", """, "%", "'", %00-%1F, %7F-%FF */
1043 1043
1044 static uint32_t refresh[] = { 1044 static uint32_t refresh[] = {
1045 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1045 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1046 1046
1047 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */ 1047 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */
1048 0x00000085, /* 0000 0000 0000 0000 0000 0000 1000 0101 */ 1048 0x000000a5, /* 0000 0000 0000 0000 0000 0000 1010 0101 */
1049 1049
1050 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */ 1050 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */
1051 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ 1051 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */
1052 1052
1053 /* ~}| {zyx wvut srqp onml kjih gfed cba` */ 1053 /* ~}| {zyx wvut srqp onml kjih gfed cba` */
1057 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1057 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1058 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1058 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1059 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1059 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1060 }; 1060 };
1061 1061
1062 /* " ", %00-%1F */ 1062 /* " ", "%", %00-%1F */
1063 1063
1064 static uint32_t memcached[] = { 1064 static uint32_t memcached[] = {
1065 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */ 1065 0xffffffff, /* 1111 1111 1111 1111 1111 1111 1111 1111 */
1066 1066
1067 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */ 1067 /* ?>=< ;:98 7654 3210 /.-, +*)( '&%$ #"! */
1068 0x00000001, /* 0000 0000 0000 0000 0000 0000 0000 0001 */ 1068 0x00000021, /* 0000 0000 0000 0000 0000 0000 0010 0001 */
1069 1069
1070 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */ 1070 /* _^]\ [ZYX WVUT SRQP ONML KJIH GFED CBA@ */
1071 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ 1071 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */
1072 1072
1073 /* ~}| {zyx wvut srqp onml kjih gfed cba` */ 1073 /* ~}| {zyx wvut srqp onml kjih gfed cba` */
1077 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ 1077 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */
1078 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ 1078 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */
1079 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */ 1079 0x00000000, /* 0000 0000 0000 0000 0000 0000 0000 0000 */
1080 }; 1080 };
1081 1081
1082 static uint32_t *map[] = { uri, args, html, refresh, memcached }; 1082 /* mail_auth is the same as memcached */
1083
1084 static uint32_t *map[] =
1085 { uri, args, html, refresh, memcached, memcached };
1083 1086
1084 1087
1085 escape = map[type]; 1088 escape = map[type];
1086 1089
1087 if (dst == NULL) { 1090 if (dst == NULL) {