Changeset 1801
- Timestamp:
- 04/14/07 15:08:33 (21 months ago)
- Location:
- trunk/src
- Files:
-
- 4 modified
-
defines.h.in (modified) (2 diffs)
-
tcpprep.c (modified) (3 diffs)
-
tcpprep_opts.def (modified) (1 diff)
-
tree.c (modified) (19 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/defines.h.in
r1713 r1801 116 116 #define PCAP_TIMEOUT 100 /* 100ms pcap_open_live timeout */ 117 117 118 /* HP-UX already defines TRUE/FALSE */ 119 #ifndef TRUE 118 120 enum bool_t { 119 121 FALSE = 0, 120 122 TRUE 121 123 }; 124 #endif 122 125 123 126 #define EBUF_SIZE 1024 /* size of our error buffers */ … … 132 135 133 136 enum direction_t { 134 UNKNOWN = -1,135 CLIENT = 0,136 SERVER = 1,137 ANY = 2137 DIR_UNKNOWN = -1, 138 DIR_CLIENT = 0, 139 DIR_SERVER = 1, 140 DIR_ANY = 2 138 141 }; 139 142 -
trunk/src/tcpprep.c
r1795 r1801 398 398 dbg(2, "processing second pass of auto: bridge mode..."); 399 399 cache_result = add_cache(&options.cachedata, SEND, 400 check_ip_tree( UNKNOWN, ip_hdr->ip_src.s_addr));400 check_ip_tree(DIR_UNKNOWN, ip_hdr->ip_src.s_addr)); 401 401 break; 402 402 case SERVER_MODE: … … 407 407 dbg(2, "processing second pass of auto: server mode..."); 408 408 cache_result = add_cache(&options.cachedata, SEND, 409 check_ip_tree( SERVER, ip_hdr->ip_src.s_addr));409 check_ip_tree(DIR_SERVER, ip_hdr->ip_src.s_addr)); 410 410 break; 411 411 case CLIENT_MODE: … … 416 416 dbg(2, "processing second pass of auto: client mode..."); 417 417 cache_result = add_cache(&options.cachedata, SEND, 418 check_ip_tree( CLIENT, ip_hdr->ip_src.s_addr));418 check_ip_tree(DIR_CLIENT, ip_hdr->ip_src.s_addr)); 419 419 break; 420 420 case PORT_MODE: -
trunk/src/tcpprep_opts.def
r1795 r1801 432 432 flag-code = <<- EONonip 433 433 434 options.nonip = SERVER;434 options.nonip = DIR_SERVER; 435 435 436 436 EONonip; -
trunk/src/tree.c
r1757 r1801 79 79 80 80 /* we only check types that are vaild */ 81 if (bcdata->type != ANY) /* don't check if we're adding ANY */81 if (bcdata->type != DIR_ANY) /* don't check if we're adding ANY */ 82 82 if (bcdata->type != node->type) /* no match, exit early */ 83 83 return; … … 116 116 117 117 /* we only check types that are vaild */ 118 if (bcdata->type != ANY) /* don't check if we're adding ANY */118 if (bcdata->type != DIR_ANY) /* don't check if we're adding ANY */ 119 119 if (bcdata->type != node->type) /* no match, exit early */ 120 120 return 0; … … 153 153 154 154 /* set starting vals */ 155 bcdata->type = SERVER;155 bcdata->type = DIR_SERVER; 156 156 bcdata->masklen = mymask; 157 157 … … 163 163 164 164 /* try to find clients in cidrdata */ 165 bcdata->type = CLIENT;165 bcdata->type = DIR_CLIENT; 166 166 167 167 if (! tree_checkincidr(&treeroot, bcdata)) { /* didn't find any clients in cidrdata */ … … 208 208 node = RB_FIND(tcpr_data_tree_s, &treeroot, finder); 209 209 210 if (node == NULL && mode == UNKNOWN)210 if (node == NULL && mode == DIR_UNKNOWN) 211 211 errx(1, "%s (%lu) is an unknown system... aborting.!\n" 212 212 "Try a different auto mode (-n router|client|server)", … … 214 214 215 215 #ifdef DEBUG 216 if (node->type == SERVER) {216 if (node->type == DIR_SERVER) { 217 217 dbgx(1, "Server: %s", get_addr2name4(ip, RESOLVE)); 218 218 } 219 else if (node->type == CLIENT) {219 else if (node->type == DIR_CLIENT) { 220 220 dbgx(1, "Client: %s", get_addr2name4(ip, RESOLVE)); 221 221 } … … 231 231 /* return node type if we found the node, else return the default (mode) */ 232 232 if (node != NULL) { 233 if (node->type == SERVER) {233 if (node->type == DIR_SERVER) { 234 234 return TCPR_DIR_C2S; 235 } else if (node->type == CLIENT) {235 } else if (node->type == DIR_CLIENT) { 236 236 return TCPR_DIR_S2C; 237 237 } 238 238 } 239 239 else { 240 if (mode == SERVER) {240 if (mode == DIR_SERVER) { 241 241 return TCPR_DIR_C2S; 242 } else if (mode == CLIENT) {242 } else if (mode == DIR_CLIENT) { 243 243 return TCPR_DIR_S2C; 244 244 } … … 261 261 assert(ip == newnode->ip); 262 262 263 if (newnode->type == UNKNOWN) {263 if (newnode->type == DIR_UNKNOWN) { 264 264 /* couldn't figure out if packet was client or server */ 265 265 … … 276 276 if (node == NULL) { 277 277 /* increment counters */ 278 if (newnode->type == SERVER) {278 if (newnode->type == DIR_SERVER) { 279 279 newnode->server_cnt++; 280 280 } 281 else if (newnode->type == CLIENT) {281 else if (newnode->type == DIR_CLIENT) { 282 282 newnode->client_cnt++; 283 283 } … … 291 291 dbgx(3, "%s", tree_printnode("update node", node)); 292 292 /* increment counter */ 293 if (newnode->type == SERVER) {293 if (newnode->type == DIR_SERVER) { 294 294 node->server_cnt++; 295 295 } 296 else if (newnode->type == CLIENT) {296 else if (newnode->type == DIR_CLIENT) { 297 297 /* temp debug code */ 298 298 node->client_cnt++; … … 323 323 /* type based on: server >= (client*ratio) */ 324 324 if ((double)node->server_cnt >= (double)node->client_cnt * options.ratio) { 325 node->type = SERVER;325 node->type = DIR_SERVER; 326 326 dbgx(3, "Setting %s to server", 327 327 get_addr2name4(node->ip, RESOLVE)); 328 328 } 329 329 else { 330 node->type = CLIENT;330 node->type = DIR_CLIENT; 331 331 dbgx(3, "Setting %s to client", 332 332 get_addr2name4(node->ip, RESOLVE)); … … 334 334 } 335 335 else { /* IP had no client or server connections */ 336 node->type = UNKNOWN;336 node->type = DIR_UNKNOWN; 337 337 dbgx(3, "Setting %s to unknown", 338 338 get_addr2name4(node->ip, RESOLVE)); … … 386 386 node->server_cnt = 0; 387 387 node->client_cnt = 0; 388 node->type = UNKNOWN;388 node->type = DIR_UNKNOWN; 389 389 node->masklen = -1; 390 390 node->ip = 0; … … 443 443 /* set TREE->type based on TCP flags */ 444 444 if (tcp_hdr.th_flags == TH_SYN) { 445 node->type = CLIENT;445 node->type = DIR_CLIENT; 446 446 dbg(3, "is a client"); 447 447 } 448 448 else if (tcp_hdr.th_flags == (TH_SYN | TH_ACK)) { 449 node->type = SERVER;449 node->type = DIR_SERVER; 450 450 dbg(3, "is a server"); 451 451 } … … 474 474 if (dnsv4_hdr.flags & DNS_QUERY_FLAG) { 475 475 /* bit set, response */ 476 node->type = SERVER;476 node->type = DIR_SERVER; 477 477 478 478 dbg(3, "is a dns server"); … … 481 481 else { 482 482 /* bit not set, query */ 483 node->type = CLIENT;483 node->type = DIR_CLIENT; 484 484 485 485 dbg(3, "is a dns client"); … … 500 500 if ((dnsv4_hdr.flags & 0x7FFFF) ^ DNS_QUERY_FLAG) { 501 501 /* bit set, response */ 502 node->type = SERVER;502 node->type = DIR_SERVER; 503 503 dbg(3, "is a dns server"); 504 504 } 505 505 else { 506 506 /* bit not set, query */ 507 node->type = CLIENT;507 node->type = DIR_CLIENT; 508 508 dbg(3, "is a dns client"); 509 509 } … … 535 535 if ((icmp_hdr.icmp_type == ICMP_UNREACH) && 536 536 (icmp_hdr.icmp_code == ICMP_UNREACH_PORT)) { 537 node->type = SERVER;537 node->type = DIR_SERVER; 538 538 dbg(3, "is a server with a closed port"); 539 539 } … … 564 564 name, (void *)node, get_addr2name4(node->ip, RESOLVE), 565 565 node->masklen, node->server_cnt, node->client_cnt); 566 if (node->type == SERVER) {566 if (node->type == DIR_SERVER) { 567 567 strlcat(tree_print_buff, "Type: Server\n--\n", TREEPRINTBUFFLEN); 568 568 }
