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