Mercurial > hg > nginx-quic
comparison src/mail/ngx_mail_auth_http_module.c @ 2310:842a558c3bc5
remove unused field
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 13 Nov 2008 13:30:34 +0000 |
parents | 8156bc03982a |
children | 722b5aff05ae |
comparison
equal
deleted
inserted
replaced
2309:8156bc03982a | 2310:842a558c3bc5 |
---|---|
38 ngx_peer_connection_t peer; | 38 ngx_peer_connection_t peer; |
39 | 39 |
40 ngx_mail_auth_http_handler_pt handler; | 40 ngx_mail_auth_http_handler_pt handler; |
41 | 41 |
42 ngx_uint_t state; | 42 ngx_uint_t state; |
43 ngx_uint_t hash; /* no needed ? */ | |
44 | 43 |
45 u_char *header_name_start; | 44 u_char *header_name_start; |
46 u_char *header_name_end; | 45 u_char *header_name_end; |
47 u_char *header_start; | 46 u_char *header_start; |
48 u_char *header_end; | 47 u_char *header_end; |
913 static ngx_int_t | 912 static ngx_int_t |
914 ngx_mail_auth_http_parse_header_line(ngx_mail_session_t *s, | 913 ngx_mail_auth_http_parse_header_line(ngx_mail_session_t *s, |
915 ngx_mail_auth_http_ctx_t *ctx) | 914 ngx_mail_auth_http_ctx_t *ctx) |
916 { | 915 { |
917 u_char c, ch, *p; | 916 u_char c, ch, *p; |
918 ngx_uint_t hash; | |
919 enum { | 917 enum { |
920 sw_start = 0, | 918 sw_start = 0, |
921 sw_name, | 919 sw_name, |
922 sw_space_before_value, | 920 sw_space_before_value, |
923 sw_value, | 921 sw_value, |
925 sw_almost_done, | 923 sw_almost_done, |
926 sw_header_almost_done | 924 sw_header_almost_done |
927 } state; | 925 } state; |
928 | 926 |
929 state = ctx->state; | 927 state = ctx->state; |
930 hash = ctx->hash; | |
931 | 928 |
932 for (p = ctx->response->pos; p < ctx->response->last; p++) { | 929 for (p = ctx->response->pos; p < ctx->response->last; p++) { |
933 ch = *p; | 930 ch = *p; |
934 | 931 |
935 switch (state) { | 932 switch (state) { |
949 state = sw_name; | 946 state = sw_name; |
950 ctx->header_name_start = p; | 947 ctx->header_name_start = p; |
951 | 948 |
952 c = (u_char) (ch | 0x20); | 949 c = (u_char) (ch | 0x20); |
953 if (c >= 'a' && c <= 'z') { | 950 if (c >= 'a' && c <= 'z') { |
954 hash = c; | |
955 break; | 951 break; |
956 } | 952 } |
957 | 953 |
958 if (ch >= '0' && ch <= '9') { | 954 if (ch >= '0' && ch <= '9') { |
959 hash = ch; | |
960 break; | 955 break; |
961 } | 956 } |
962 | 957 |
963 return NGX_ERROR; | 958 return NGX_ERROR; |
964 } | 959 } |
966 | 961 |
967 /* header name */ | 962 /* header name */ |
968 case sw_name: | 963 case sw_name: |
969 c = (u_char) (ch | 0x20); | 964 c = (u_char) (ch | 0x20); |
970 if (c >= 'a' && c <= 'z') { | 965 if (c >= 'a' && c <= 'z') { |
971 hash += c; | |
972 break; | 966 break; |
973 } | 967 } |
974 | 968 |
975 if (ch == ':') { | 969 if (ch == ':') { |
976 ctx->header_name_end = p; | 970 ctx->header_name_end = p; |
977 state = sw_space_before_value; | 971 state = sw_space_before_value; |
978 break; | 972 break; |
979 } | 973 } |
980 | 974 |
981 if (ch == '-') { | 975 if (ch == '-') { |
982 hash += ch; | |
983 break; | 976 break; |
984 } | 977 } |
985 | 978 |
986 if (ch >= '0' && ch <= '9') { | 979 if (ch >= '0' && ch <= '9') { |
987 hash += ch; | |
988 break; | 980 break; |
989 } | 981 } |
990 | 982 |
991 if (ch == CR) { | 983 if (ch == CR) { |
992 ctx->header_name_end = p; | 984 ctx->header_name_end = p; |
1079 } | 1071 } |
1080 } | 1072 } |
1081 | 1073 |
1082 ctx->response->pos = p; | 1074 ctx->response->pos = p; |
1083 ctx->state = state; | 1075 ctx->state = state; |
1084 ctx->hash = hash; | |
1085 | 1076 |
1086 return NGX_AGAIN; | 1077 return NGX_AGAIN; |
1087 | 1078 |
1088 done: | 1079 done: |
1089 | 1080 |
1090 ctx->response->pos = p + 1; | 1081 ctx->response->pos = p + 1; |
1091 ctx->state = sw_start; | 1082 ctx->state = sw_start; |
1092 ctx->hash = hash; | |
1093 | 1083 |
1094 return NGX_OK; | 1084 return NGX_OK; |
1095 | 1085 |
1096 header_done: | 1086 header_done: |
1097 | 1087 |