Mercurial > hg > nginx
comparison src/event/ngx_event.c @ 1380:b590a528fd41
ignore meaningless bits in CIDR and warn about them
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 10 Aug 2007 13:13:28 +0000 |
parents | f69d1aab6a0f |
children | e584e946e198 |
comparison
equal
deleted
inserted
replaced
1379:cc8ac1936aa4 | 1380:b590a528fd41 |
---|---|
1036 ngx_event_debug_connection(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) | 1036 ngx_event_debug_connection(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) |
1037 { | 1037 { |
1038 #if (NGX_DEBUG) | 1038 #if (NGX_DEBUG) |
1039 ngx_event_conf_t *ecf = conf; | 1039 ngx_event_conf_t *ecf = conf; |
1040 | 1040 |
1041 ngx_int_t rc; | |
1042 ngx_str_t *value; | |
1041 ngx_event_debug_t *dc; | 1043 ngx_event_debug_t *dc; |
1042 ngx_str_t *value; | |
1043 struct hostent *h; | 1044 struct hostent *h; |
1044 ngx_inet_cidr_t in_cidr; | 1045 ngx_inet_cidr_t in_cidr; |
1045 | 1046 |
1046 value = cf->args->elts; | 1047 value = cf->args->elts; |
1047 | 1048 |
1054 | 1055 |
1055 dc->addr = inet_addr((char *) value[1].data); | 1056 dc->addr = inet_addr((char *) value[1].data); |
1056 | 1057 |
1057 if (dc->addr != INADDR_NONE) { | 1058 if (dc->addr != INADDR_NONE) { |
1058 dc->mask = 0xffffffff; | 1059 dc->mask = 0xffffffff; |
1059 return NGX_OK; | 1060 return NGX_CONF_OK; |
1060 } | 1061 } |
1061 | 1062 |
1062 if (ngx_ptocidr(&value[1], &in_cidr) == NGX_OK) { | 1063 rc = ngx_ptocidr(&value[1], &in_cidr); |
1064 | |
1065 if (rc == NGX_DONE) { | |
1066 ngx_conf_log_error(NGX_LOG_WARN, cf, 0, | |
1067 "low address bits of %V are meaningless", &value[1]); | |
1068 rc = NGX_OK; | |
1069 } | |
1070 | |
1071 if (rc == NGX_OK) { | |
1063 dc->mask = in_cidr.mask; | 1072 dc->mask = in_cidr.mask; |
1064 dc->addr = in_cidr.addr; | 1073 dc->addr = in_cidr.addr; |
1065 return NGX_OK; | 1074 return NGX_CONF_OK; |
1066 } | 1075 } |
1067 | 1076 |
1068 h = gethostbyname((char *) value[1].data); | 1077 h = gethostbyname((char *) value[1].data); |
1069 | 1078 |
1070 if (h == NULL || h->h_addr_list[0] == NULL) { | 1079 if (h == NULL || h->h_addr_list[0] == NULL) { |
1082 "\"debug_connection\" is ignored, you need to rebuild " | 1091 "\"debug_connection\" is ignored, you need to rebuild " |
1083 "nginx using --with-debug option to enable it"); | 1092 "nginx using --with-debug option to enable it"); |
1084 | 1093 |
1085 #endif | 1094 #endif |
1086 | 1095 |
1087 return NGX_OK; | 1096 return NGX_CONF_OK; |
1088 } | 1097 } |
1089 | 1098 |
1090 | 1099 |
1091 static void * | 1100 static void * |
1092 ngx_event_create_conf(ngx_cycle_t *cycle) | 1101 ngx_event_create_conf(ngx_cycle_t *cycle) |