namerec 3639 source3/include/proto.h struct name_record *namerec ); namerec 3645 source3/include/proto.h void update_name_ttl( struct name_record *namerec, int ttl ); namerec 3660 source3/include/proto.h bool find_ip_in_name_record( struct name_record *namerec, struct in_addr ip ); namerec 3661 source3/include/proto.h void add_ip_to_name_record( struct name_record *namerec, struct in_addr new_ip ); namerec 3662 source3/include/proto.h void remove_ip_from_name_record( struct name_record *namerec, namerec 3670 source3/include/proto.h void dump_name_record( struct name_record *namerec, XFILE *fp); namerec 3692 source3/include/proto.h void wins_refresh_name(struct name_record *namerec); namerec 3696 source3/include/proto.h void release_name(struct subnet_record *subrec, struct name_record *namerec, namerec 3798 source3/include/proto.h bool is_refresh_already_queued(struct subnet_record *subrec, struct name_record *namerec); namerec 3851 source3/include/proto.h bool wins_store_changed_namerec(const struct name_record *namerec); namerec 3852 source3/include/proto.h bool add_name_to_wins_subnet(const struct name_record *namerec); namerec 3853 source3/include/proto.h bool remove_name_from_wins_namelist(struct name_record *namerec); namerec 3865 source3/include/proto.h struct name_record *namerec); namerec 3871 source3/include/proto.h void wins_write_name_record(struct name_record *namerec, XFILE *fp); namerec 207 source3/nmbd/asyncdns.c struct name_record *namerec; namerec 227 source3/nmbd/asyncdns.c namerec = add_dns_result(&r.name, r.result); namerec 233 source3/nmbd/asyncdns.c if(namerec == NULL) namerec 236 source3/nmbd/asyncdns.c send_wins_name_query_response(0,dns_current,namerec); namerec 254 source3/nmbd/asyncdns.c if(namerec == NULL) namerec 257 source3/nmbd/asyncdns.c send_wins_name_query_response(0,p,namerec); namerec 327 source3/nmbd/asyncdns.c struct name_record *namerec = NULL; namerec 337 source3/nmbd/asyncdns.c namerec = add_dns_result(question, dns_ip); namerec 338 source3/nmbd/asyncdns.c if(namerec == NULL) { namerec 341 source3/nmbd/asyncdns.c send_wins_name_query_response(0, p, namerec); namerec 36 source3/nmbd/nmbd_become_lmb.c struct name_record *namerec; namerec 38 source3/nmbd/nmbd_become_lmb.c if((namerec = find_name_on_subnet(unicast_subnet, nmbname, FIND_SELF_NAME)) == NULL) { namerec 47 source3/nmbd/nmbd_become_lmb.c add_ip_to_name_record( namerec, subrec->myip); namerec 58 source3/nmbd/nmbd_become_lmb.c struct name_record *namerec; namerec 60 source3/nmbd/nmbd_become_lmb.c if((namerec = find_name_on_subnet(unicast_subnet, nmbname, FIND_SELF_NAME)) != NULL) { namerec 62 source3/nmbd/nmbd_become_lmb.c remove_ip_from_name_record( namerec, subrec->myip); namerec 63 source3/nmbd/nmbd_become_lmb.c if(namerec->data.num_ips == 0) namerec 64 source3/nmbd/nmbd_become_lmb.c remove_name_from_namelist( unicast_subnet, namerec); namerec 165 source3/nmbd/nmbd_become_lmb.c struct name_record *namerec; namerec 176 source3/nmbd/nmbd_become_lmb.c namerec = find_name_on_subnet(subrec, fail_name, FIND_SELF_NAME); namerec 177 source3/nmbd/nmbd_become_lmb.c if(namerec) namerec 178 source3/nmbd/nmbd_become_lmb.c remove_name_from_namelist(subrec, namerec); namerec 201 source3/nmbd/nmbd_become_lmb.c struct name_record *namerec; namerec 204 source3/nmbd/nmbd_become_lmb.c if((namerec = find_name_on_subnet( subrec, &nmbname, FIND_SELF_NAME))!=NULL) { namerec 218 source3/nmbd/nmbd_become_lmb.c release_name(subrec, namerec, namerec 251 source3/nmbd/nmbd_become_lmb.c struct name_record *namerec; namerec 257 source3/nmbd/nmbd_become_lmb.c namerec = find_name_on_subnet(subrec, fail_name, FIND_SELF_NAME); namerec 258 source3/nmbd/nmbd_become_lmb.c if(namerec) namerec 259 source3/nmbd/nmbd_become_lmb.c remove_name_from_namelist(subrec, namerec); namerec 273 source3/nmbd/nmbd_become_lmb.c struct name_record *namerec; namerec 301 source3/nmbd/nmbd_become_lmb.c if((namerec = find_name_on_subnet( subrec, &nmbname, FIND_SELF_NAME))!=NULL) { namerec 302 source3/nmbd/nmbd_become_lmb.c release_name(subrec, namerec, namerec 64 source3/nmbd/nmbd_incomingrequests.c struct name_record *namerec; namerec 109 source3/nmbd/nmbd_incomingrequests.c namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME); namerec 112 source3/nmbd/nmbd_incomingrequests.c if( namerec && ( (namerec->data.source == SELF_NAME) namerec 113 source3/nmbd/nmbd_incomingrequests.c || (namerec->data.source == PERMANENT_NAME) ) ) { namerec 196 source3/nmbd/nmbd_incomingrequests.c struct name_record *namerec = NULL; namerec 222 source3/nmbd/nmbd_incomingrequests.c namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME); namerec 230 source3/nmbd/nmbd_incomingrequests.c if((namerec != NULL) && (namerec->data.source == WINS_PROXY_NAME)) { namerec 231 source3/nmbd/nmbd_incomingrequests.c remove_name_from_namelist( subrec, namerec ); namerec 232 source3/nmbd/nmbd_incomingrequests.c namerec = NULL; namerec 238 source3/nmbd/nmbd_incomingrequests.c if( (namerec != NULL) namerec 239 source3/nmbd/nmbd_incomingrequests.c && ( (namerec->data.source == SELF_NAME) namerec 240 source3/nmbd/nmbd_incomingrequests.c || (namerec->data.source == PERMANENT_NAME) namerec 241 source3/nmbd/nmbd_incomingrequests.c || NAME_GROUP(namerec) ) ) { namerec 247 source3/nmbd/nmbd_incomingrequests.c } else if(namerec != NULL) { namerec 249 source3/nmbd/nmbd_incomingrequests.c namerec->data.ip[0] = from_ip; namerec 250 source3/nmbd/nmbd_incomingrequests.c update_name_ttl(namerec, ttl); namerec 253 source3/nmbd/nmbd_incomingrequests.c with IP %s on subnet %s\n",nmb_namestr(&namerec->name),inet_ntoa(from_ip), subrec->subnet_name)); namerec 259 source3/nmbd/nmbd_incomingrequests.c if( (namerec != NULL) namerec 260 source3/nmbd/nmbd_incomingrequests.c && !NAME_GROUP(namerec) namerec 261 source3/nmbd/nmbd_incomingrequests.c && ( (namerec->data.source == SELF_NAME) namerec 262 source3/nmbd/nmbd_incomingrequests.c || (namerec->data.source == PERMANENT_NAME) ) ) { namerec 317 source3/nmbd/nmbd_incomingrequests.c struct name_record *namerec = NULL; namerec 341 source3/nmbd/nmbd_incomingrequests.c namerec = subrec->namelist; namerec 344 source3/nmbd/nmbd_incomingrequests.c if( (namerec->data.source == SELF_NAME) || (namerec->data.source == PERMANENT_NAME) ) { namerec 345 source3/nmbd/nmbd_incomingrequests.c int name_type = namerec->name.name_type; namerec 348 source3/nmbd/nmbd_incomingrequests.c pull_ascii_nstring(name, sizeof(name), namerec->name.name); namerec 365 source3/nmbd/nmbd_incomingrequests.c set_nb_flags( &buf[16],namerec->data.nb_flags ); namerec 391 source3/nmbd/nmbd_incomingrequests.c namerec = namerec->next; namerec 393 source3/nmbd/nmbd_incomingrequests.c if (!namerec) { namerec 400 source3/nmbd/nmbd_incomingrequests.c namerec = subrec->namelist; namerec 403 source3/nmbd/nmbd_incomingrequests.c if (!namerec) namerec 448 source3/nmbd/nmbd_incomingrequests.c struct name_record *namerec = NULL; namerec 460 source3/nmbd/nmbd_incomingrequests.c namerec = find_name_for_remote_broadcast_subnet( question, FIND_ANY_NAME); namerec 462 source3/nmbd/nmbd_incomingrequests.c namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME); namerec 465 source3/nmbd/nmbd_incomingrequests.c if (namerec && namerec 466 source3/nmbd/nmbd_incomingrequests.c ((namerec->data.death_time != PERMANENT_TTL) && namerec 467 source3/nmbd/nmbd_incomingrequests.c (namerec->data.death_time < p->timestamp))) { namerec 468 source3/nmbd/nmbd_incomingrequests.c DEBUG(5,("process_name_query_request: expired name %s\n", nmb_namestr(&namerec->name))); namerec 469 source3/nmbd/nmbd_incomingrequests.c namerec = NULL; namerec 472 source3/nmbd/nmbd_incomingrequests.c if (namerec) { namerec 483 source3/nmbd/nmbd_incomingrequests.c (namerec->data.source == SELF_NAME) || namerec 484 source3/nmbd/nmbd_incomingrequests.c (namerec->data.source == PERMANENT_NAME) || namerec 485 source3/nmbd/nmbd_incomingrequests.c ((namerec->data.source == WINS_PROXY_NAME) && namerec 498 source3/nmbd/nmbd_incomingrequests.c if (namerec->data.source == WINS_PROXY_NAME) { namerec 499 source3/nmbd/nmbd_incomingrequests.c for( i = 0; i < namerec->data.num_ips; i++) { namerec 500 source3/nmbd/nmbd_incomingrequests.c if (same_net_v4(namerec->data.ip[i], subrec->myip, subrec->mask_ip)) { namerec 502 source3/nmbd/nmbd_incomingrequests.c nmb_namestr(&namerec->name), subrec->subnet_name )); namerec 508 source3/nmbd/nmbd_incomingrequests.c ttl = (namerec->data.death_time != PERMANENT_TTL) ? namerec 509 source3/nmbd/nmbd_incomingrequests.c namerec->data.death_time - p->timestamp : lp_max_ttl(); namerec 515 source3/nmbd/nmbd_incomingrequests.c if (namerec->data.num_ips == 1) { namerec 518 source3/nmbd/nmbd_incomingrequests.c if ((prdata = (char *)SMB_MALLOC( namerec->data.num_ips * 6 )) == NULL) { namerec 524 source3/nmbd/nmbd_incomingrequests.c for (i = 0; i < namerec->data.num_ips; i++) { namerec 525 source3/nmbd/nmbd_incomingrequests.c set_nb_flags(&prdata[i*6],namerec->data.nb_flags); namerec 526 source3/nmbd/nmbd_incomingrequests.c putip((char *)&prdata[2+(i*6)], &namerec->data.ip[i]); namerec 531 source3/nmbd/nmbd_incomingrequests.c reply_data_len = namerec->data.num_ips * 6; namerec 542 source3/nmbd/nmbd_incomingrequests.c if(!success && (namerec == NULL) && we_are_a_wins_client() && lp_wins_proxy() && namerec 91 source3/nmbd/nmbd_lmhosts.c struct name_record *namerec; namerec 95 source3/nmbd/nmbd_lmhosts.c if((namerec = find_name_on_subnet(remote_broadcast_subnet, nmbname, FIND_ANY_NAME))==NULL) namerec 98 source3/nmbd/nmbd_lmhosts.c if(!NAME_IS_ACTIVE(namerec) || (namerec->data.source != LMHOSTS_NAME)) namerec 101 source3/nmbd/nmbd_lmhosts.c *namerecp = namerec; namerec 87 source3/nmbd/nmbd_mynames.c struct name_record *namerec; namerec 94 source3/nmbd/nmbd_mynames.c if((namerec = find_name_on_subnet(unicast_subnet, nmbname, FIND_SELF_NAME)) == NULL) { namerec 104 source3/nmbd/nmbd_mynames.c add_ip_to_name_record( namerec, subrec->myip); namerec 164 source3/nmbd/nmbd_mynames.c struct name_record *namerec; namerec 168 source3/nmbd/nmbd_mynames.c namerec = find_name_on_subnet(unicast_subnet, &nmbname, FIND_SELF_NAME); namerec 169 source3/nmbd/nmbd_mynames.c if (namerec == NULL) continue; namerec 172 source3/nmbd/nmbd_mynames.c add_ip_to_name_record(namerec, ip); namerec 214 source3/nmbd/nmbd_mynames.c struct name_record *namerec, *nextnamerec; namerec 216 source3/nmbd/nmbd_mynames.c for (namerec = subrec->namelist; namerec; namerec = nextnamerec) { namerec 217 source3/nmbd/nmbd_mynames.c nextnamerec = namerec->next; namerec 218 source3/nmbd/nmbd_mynames.c if( (namerec->data.source == SELF_NAME) namerec 219 source3/nmbd/nmbd_mynames.c && !NAME_IS_DEREGISTERING(namerec) ) namerec 220 source3/nmbd/nmbd_mynames.c release_name( subrec, namerec, standard_success_release, namerec 231 source3/nmbd/nmbd_mynames.c struct name_record *namerec; namerec 236 source3/nmbd/nmbd_mynames.c for (namerec = unicast_subnet->namelist; namerec; namerec = namerec->next) { namerec 238 source3/nmbd/nmbd_mynames.c if ((namerec->data.source == SELF_NAME) && namerec 239 source3/nmbd/nmbd_mynames.c (namerec->data.refresh_time < t) && namerec 240 source3/nmbd/nmbd_mynames.c (namerec->data.death_time != PERMANENT_TTL)) { namerec 246 source3/nmbd/nmbd_mynames.c if (!is_refresh_already_queued(unicast_subnet, namerec)) { namerec 247 source3/nmbd/nmbd_mynames.c wins_refresh_name(namerec); namerec 249 source3/nmbd/nmbd_mynames.c namerec->data.death_time = t + lp_max_ttl(); namerec 250 source3/nmbd/nmbd_mynames.c namerec->data.refresh_time = t + MIN(lp_max_ttl()/2, MAX_REFRESH_TIME); namerec 80 source3/nmbd/nmbd_namelistdb.c struct name_record *namerec ) namerec 83 source3/nmbd/nmbd_namelistdb.c remove_name_from_wins_namelist(namerec); namerec 86 source3/nmbd/nmbd_namelistdb.c DLIST_REMOVE(subrec->namelist, namerec); namerec 89 source3/nmbd/nmbd_namelistdb.c SAFE_FREE(namerec->data.ip); namerec 90 source3/nmbd/nmbd_namelistdb.c ZERO_STRUCTP(namerec); namerec 91 source3/nmbd/nmbd_namelistdb.c SAFE_FREE(namerec); namerec 145 source3/nmbd/nmbd_namelistdb.c struct name_record *namerec; namerec 148 source3/nmbd/nmbd_namelistdb.c namerec = find_name_on_subnet(subrec, nmbname, self_only); namerec 149 source3/nmbd/nmbd_namelistdb.c if (namerec) { namerec 150 source3/nmbd/nmbd_namelistdb.c return namerec; namerec 161 source3/nmbd/nmbd_namelistdb.c void update_name_ttl( struct name_record *namerec, int ttl ) namerec 165 source3/nmbd/nmbd_namelistdb.c if( namerec->data.death_time != PERMANENT_TTL) { namerec 166 source3/nmbd/nmbd_namelistdb.c namerec->data.death_time = time_now + ttl; namerec 169 source3/nmbd/nmbd_namelistdb.c namerec->data.refresh_time = time_now + MIN((ttl/2), MAX_REFRESH_TIME); namerec 171 source3/nmbd/nmbd_namelistdb.c if (namerec->subnet == wins_server_subnet) { namerec 172 source3/nmbd/nmbd_namelistdb.c wins_store_changed_namerec(namerec); namerec 174 source3/nmbd/nmbd_namelistdb.c namerec->subnet->namelist_changed = True; namerec 192 source3/nmbd/nmbd_namelistdb.c struct name_record *namerec; namerec 199 source3/nmbd/nmbd_namelistdb.c namerec = SMB_MALLOC_P(struct name_record); namerec 200 source3/nmbd/nmbd_namelistdb.c if( NULL == namerec ) { namerec 205 source3/nmbd/nmbd_namelistdb.c memset( (char *)namerec, '\0', sizeof(*namerec) ); namerec 206 source3/nmbd/nmbd_namelistdb.c namerec->data.ip = SMB_MALLOC_ARRAY( struct in_addr, num_ips ); namerec 207 source3/nmbd/nmbd_namelistdb.c if( NULL == namerec->data.ip ) { namerec 209 source3/nmbd/nmbd_namelistdb.c ZERO_STRUCTP(namerec); namerec 210 source3/nmbd/nmbd_namelistdb.c SAFE_FREE(namerec); namerec 214 source3/nmbd/nmbd_namelistdb.c namerec->subnet = subrec; namerec 216 source3/nmbd/nmbd_namelistdb.c make_nmb_name(&namerec->name, name, type); namerec 217 source3/nmbd/nmbd_namelistdb.c upcase_name(&namerec->name, NULL ); namerec 220 source3/nmbd/nmbd_namelistdb.c namerec->data.nb_flags = nb_flags | NB_ACTIVE; namerec 221 source3/nmbd/nmbd_namelistdb.c namerec->data.wins_flags = WINS_ACTIVE; namerec 225 source3/nmbd/nmbd_namelistdb.c namerec->data.nb_flags |= NB_PERM; namerec 229 source3/nmbd/nmbd_namelistdb.c namerec->data.num_ips = num_ips; namerec 230 source3/nmbd/nmbd_namelistdb.c memcpy( (namerec->data.ip), iplist, num_ips * sizeof(struct in_addr) ); namerec 233 source3/nmbd/nmbd_namelistdb.c namerec->data.source = source; namerec 237 source3/nmbd/nmbd_namelistdb.c namerec->data.death_time = PERMANENT_TTL; namerec 239 source3/nmbd/nmbd_namelistdb.c namerec->data.death_time = time_now + ttl; namerec 242 source3/nmbd/nmbd_namelistdb.c namerec->data.refresh_time = time_now + MIN((ttl/2), MAX_REFRESH_TIME); namerec 246 source3/nmbd/nmbd_namelistdb.c nmb_namestr( &namerec->name ), namerec 255 source3/nmbd/nmbd_namelistdb.c ret = add_name_to_wins_subnet(namerec); namerec 257 source3/nmbd/nmbd_namelistdb.c SAFE_FREE(namerec->data.ip); namerec 258 source3/nmbd/nmbd_namelistdb.c SAFE_FREE(namerec); namerec 260 source3/nmbd/nmbd_namelistdb.c DLIST_ADD(subrec->namelist, namerec); namerec 279 source3/nmbd/nmbd_namelistdb.c struct name_record *namerec; namerec 281 source3/nmbd/nmbd_namelistdb.c namerec = find_name_on_subnet( subrec, nmbname, FIND_SELF_NAME); namerec 282 source3/nmbd/nmbd_namelistdb.c if (namerec == NULL) { namerec 288 source3/nmbd/nmbd_namelistdb.c update_name_ttl( namerec, ttl ); namerec 302 source3/nmbd/nmbd_namelistdb.c struct name_record *namerec; namerec 304 source3/nmbd/nmbd_namelistdb.c namerec = find_name_on_subnet( subrec, nmbname, FIND_SELF_NAME); namerec 310 source3/nmbd/nmbd_namelistdb.c if( namerec ) { namerec 311 source3/nmbd/nmbd_namelistdb.c remove_name_from_namelist(subrec, namerec); namerec 319 source3/nmbd/nmbd_namelistdb.c static void remove_nth_ip_in_record( struct name_record *namerec, int ind) namerec 321 source3/nmbd/nmbd_namelistdb.c if( ind != namerec->data.num_ips ) { namerec 322 source3/nmbd/nmbd_namelistdb.c memmove( (char *)(&namerec->data.ip[ind]), namerec 323 source3/nmbd/nmbd_namelistdb.c (char *)(&namerec->data.ip[ind+1]), namerec 324 source3/nmbd/nmbd_namelistdb.c ( namerec->data.num_ips - ind - 1) * sizeof(struct in_addr) ); namerec 327 source3/nmbd/nmbd_namelistdb.c namerec->data.num_ips--; namerec 328 source3/nmbd/nmbd_namelistdb.c if (namerec->subnet == wins_server_subnet) { namerec 329 source3/nmbd/nmbd_namelistdb.c wins_store_changed_namerec(namerec); namerec 331 source3/nmbd/nmbd_namelistdb.c namerec->subnet->namelist_changed = True; namerec 339 source3/nmbd/nmbd_namelistdb.c bool find_ip_in_name_record( struct name_record *namerec, struct in_addr ip ) namerec 343 source3/nmbd/nmbd_namelistdb.c for(i = 0; i < namerec->data.num_ips; i++) { namerec 344 source3/nmbd/nmbd_namelistdb.c if(ip_equal_v4( namerec->data.ip[i], ip)) { namerec 356 source3/nmbd/nmbd_namelistdb.c void add_ip_to_name_record( struct name_record *namerec, struct in_addr new_ip ) namerec 361 source3/nmbd/nmbd_namelistdb.c if( find_ip_in_name_record( namerec, new_ip )) { namerec 365 source3/nmbd/nmbd_namelistdb.c new_list = SMB_MALLOC_ARRAY( struct in_addr, namerec->data.num_ips + 1); namerec 371 source3/nmbd/nmbd_namelistdb.c memcpy( (char *)new_list, (char *)namerec->data.ip, namerec->data.num_ips * sizeof(struct in_addr) ); namerec 372 source3/nmbd/nmbd_namelistdb.c new_list[namerec->data.num_ips] = new_ip; namerec 374 source3/nmbd/nmbd_namelistdb.c SAFE_FREE(namerec->data.ip); namerec 375 source3/nmbd/nmbd_namelistdb.c namerec->data.ip = new_list; namerec 376 source3/nmbd/nmbd_namelistdb.c namerec->data.num_ips += 1; namerec 378 source3/nmbd/nmbd_namelistdb.c if (namerec->subnet == wins_server_subnet) { namerec 379 source3/nmbd/nmbd_namelistdb.c wins_store_changed_namerec(namerec); namerec 381 source3/nmbd/nmbd_namelistdb.c namerec->subnet->namelist_changed = True; namerec 389 source3/nmbd/nmbd_namelistdb.c void remove_ip_from_name_record( struct name_record *namerec, namerec 394 source3/nmbd/nmbd_namelistdb.c int orig_num = namerec->data.num_ips; namerec 397 source3/nmbd/nmbd_namelistdb.c if( ip_equal_v4( remove_ip, namerec->data.ip[i]) ) { namerec 398 source3/nmbd/nmbd_namelistdb.c remove_nth_ip_in_record( namerec, i); namerec 415 source3/nmbd/nmbd_namelistdb.c struct name_record *namerec; namerec 417 source3/nmbd/nmbd_namelistdb.c namerec = find_name_on_subnet( subrec, nmbname, FIND_ANY_NAME ); namerec 418 source3/nmbd/nmbd_namelistdb.c if( namerec == NULL ) { namerec 424 source3/nmbd/nmbd_namelistdb.c int orig_num = namerec->data.num_ips; namerec 426 source3/nmbd/nmbd_namelistdb.c remove_ip_from_name_record( namerec, released_ip ); namerec 428 source3/nmbd/nmbd_namelistdb.c if( namerec->data.num_ips == orig_num ) { namerec 434 source3/nmbd/nmbd_namelistdb.c if( namerec->data.num_ips == 0 ) { namerec 435 source3/nmbd/nmbd_namelistdb.c remove_name_from_namelist( subrec, namerec ); namerec 446 source3/nmbd/nmbd_namelistdb.c struct name_record *namerec; namerec 449 source3/nmbd/nmbd_namelistdb.c for( namerec = subrec->namelist; namerec; namerec = next_namerec ) { namerec 450 source3/nmbd/nmbd_namelistdb.c next_namerec = namerec->next; namerec 451 source3/nmbd/nmbd_namelistdb.c if( (namerec->data.death_time != PERMANENT_TTL) && (namerec->data.death_time < t) ) { namerec 452 source3/nmbd/nmbd_namelistdb.c if( namerec->data.source == SELF_NAME ) { namerec 454 source3/nmbd/nmbd_namelistdb.c name %s\n", subrec->subnet_name, nmb_namestr(&namerec->name) ) ); namerec 455 source3/nmbd/nmbd_namelistdb.c namerec->data.death_time += 300; namerec 456 source3/nmbd/nmbd_namelistdb.c namerec->subnet->namelist_changed = True; namerec 461 source3/nmbd/nmbd_namelistdb.c subrec->subnet_name, nmb_namestr(&namerec->name))); namerec 463 source3/nmbd/nmbd_namelistdb.c remove_name_from_namelist(subrec, namerec ); namerec 536 source3/nmbd/nmbd_namelistdb.c void dump_name_record( struct name_record *namerec, XFILE *fp) namerec 542 source3/nmbd/nmbd_namelistdb.c x_fprintf(fp,"\tName = %s\t", nmb_namestr(&namerec->name)); namerec 543 source3/nmbd/nmbd_namelistdb.c switch(namerec->data.source) { namerec 570 source3/nmbd/nmbd_namelistdb.c x_fprintf(fp,"Source = %s\nb_flags = %x\t", src_type, namerec->data.nb_flags); namerec 572 source3/nmbd/nmbd_namelistdb.c if(namerec->data.death_time != PERMANENT_TTL) { namerec 574 source3/nmbd/nmbd_namelistdb.c tm = localtime(&namerec->data.death_time); namerec 587 source3/nmbd/nmbd_namelistdb.c if(namerec->data.refresh_time != PERMANENT_TTL) { namerec 589 source3/nmbd/nmbd_namelistdb.c tm = localtime(&namerec->data.refresh_time); namerec 602 source3/nmbd/nmbd_namelistdb.c x_fprintf(fp, "\t\tnumber of IPS = %d", namerec->data.num_ips); namerec 603 source3/nmbd/nmbd_namelistdb.c for(i = 0; i < namerec->data.num_ips; i++) { namerec 604 source3/nmbd/nmbd_namelistdb.c x_fprintf(fp, "\t%s", inet_ntoa(namerec->data.ip[i])); namerec 618 source3/nmbd/nmbd_namelistdb.c struct name_record *namerec; namerec 620 source3/nmbd/nmbd_namelistdb.c for( namerec = subrec->namelist; namerec; namerec = namerec->next) { namerec 621 source3/nmbd/nmbd_namelistdb.c dump_name_record(namerec, fp); namerec 174 source3/nmbd/nmbd_namequery.c struct name_record *namerec; namerec 181 source3/nmbd/nmbd_namequery.c if((namerec = find_name_on_subnet(subrec, nmbname, FIND_ANY_NAME))==NULL) namerec 184 source3/nmbd/nmbd_namequery.c if( NAME_IS_ACTIVE(namerec) && ( (namerec->data.source == SELF_NAME) || (namerec->data.source == LMHOSTS_NAME) ) ) { namerec 185 source3/nmbd/nmbd_namequery.c *namerecp = namerec; namerec 201 source3/nmbd/nmbd_namequery.c struct name_record *namerec; namerec 211 source3/nmbd/nmbd_namequery.c if(query_local_namelists(subrec, &nmbname, &namerec) == True) { namerec 222 source3/nmbd/nmbd_namequery.c rrec.rdlength = namerec->data.num_ips * 6; namerec 226 source3/nmbd/nmbd_namequery.c dbgtext( "there are %d ip addresses ", namerec->data.num_ips ); namerec 232 source3/nmbd/nmbd_namequery.c for( i = 0; i < namerec->data.num_ips; i++) { namerec 233 source3/nmbd/nmbd_namequery.c set_nb_flags( &rrec.rdata[i*6], namerec->data.nb_flags ); namerec 234 source3/nmbd/nmbd_namequery.c putip( &rrec.rdata[(i*6) + 2], (char *)&namerec->data.ip[i]); namerec 239 source3/nmbd/nmbd_namequery.c (*(query_name_success_function)success_fn)(subrec, userdata, &nmbname, namerec->data.ip[0], &rrec); namerec 529 source3/nmbd/nmbd_nameregister.c void wins_refresh_name(struct name_record *namerec) namerec 538 source3/nmbd/nmbd_nameregister.c queue_wins_refresh(&namerec->name, namerec 541 source3/nmbd/nmbd_nameregister.c namerec->data.nb_flags, namerec 542 source3/nmbd/nmbd_nameregister.c namerec->data.ip[0], wins_tags[t]); namerec 138 source3/nmbd/nmbd_namerelease.c static void wins_release_name(struct name_record *namerec, namerec 150 source3/nmbd/nmbd_namerelease.c for (i = 0; i < namerec->data.num_ips; i++) { namerec 151 source3/nmbd/nmbd_namerelease.c struct in_addr wins_ip = wins_srv_ip_tag(wins_tags[t], namerec->data.ip[i]); namerec 153 source3/nmbd/nmbd_namerelease.c bool last_one = ((i==namerec->data.num_ips - 1) && !wins_tags[t+1]); namerec 160 source3/nmbd/nmbd_namerelease.c &namerec->name, namerec 161 source3/nmbd/nmbd_namerelease.c namerec->data.nb_flags, namerec 162 source3/nmbd/nmbd_namerelease.c namerec->data.ip[i], namerec 165 source3/nmbd/nmbd_namerelease.c nmb_namestr(&namerec->name), inet_ntoa(namerec->data.ip[i]) )); namerec 178 source3/nmbd/nmbd_namerelease.c void release_name(struct subnet_record *subrec, struct name_record *namerec, namerec 186 source3/nmbd/nmbd_namerelease.c if ((namerec->data.source != SELF_NAME) || !NAME_IS_ACTIVE(namerec)) { namerec 188 source3/nmbd/nmbd_namerelease.c nmb_namestr(&namerec->name), subrec->subnet_name, namerec->data.source)); namerec 193 source3/nmbd/nmbd_namerelease.c namerec->data.nb_flags |= NB_DEREG; namerec 197 source3/nmbd/nmbd_namerelease.c wins_release_name(namerec, success_fn, fail_fn, userdata); namerec 206 source3/nmbd/nmbd_namerelease.c for (i = 0; i < namerec->data.num_ips; i++) { namerec 210 source3/nmbd/nmbd_namerelease.c (i == (namerec->data.num_ips - 1)) ? success_fn : NULL, namerec 211 source3/nmbd/nmbd_namerelease.c (i == (namerec->data.num_ips - 1)) ? fail_fn : NULL, namerec 212 source3/nmbd/nmbd_namerelease.c (i == (namerec->data.num_ips - 1)) ? userdata : NULL, namerec 213 source3/nmbd/nmbd_namerelease.c &namerec->name, namerec 214 source3/nmbd/nmbd_namerelease.c namerec->data.nb_flags, namerec 215 source3/nmbd/nmbd_namerelease.c namerec->data.ip[i], namerec 218 source3/nmbd/nmbd_namerelease.c nmb_namestr(&namerec->name), inet_ntoa(namerec->data.ip[i]) )); namerec 226 source3/nmbd/nmbd_responserecordsdb.c bool is_refresh_already_queued(struct subnet_record *subrec, struct name_record *namerec) namerec 237 source3/nmbd/nmbd_responserecordsdb.c if(nmb_name_equal(&nmb->question.question_name, &namerec->name)) namerec 35 source3/nmbd/nmbd_winsproxy.c struct name_record *namerec = NULL; namerec 91 source3/nmbd/nmbd_winsproxy.c namerec = find_name_on_subnet(orig_broadcast_subnet, nmbname, FIND_ANY_NAME); namerec 92 source3/nmbd/nmbd_winsproxy.c if (!namerec) { namerec 108 source3/nmbd/nmbd_winsproxy.c if(namerec && original_packet->packet.nmb.header.nm_flags.bcast) { namerec 109 source3/nmbd/nmbd_winsproxy.c for( i = 0; i < namerec->data.num_ips; i++) { namerec 110 source3/nmbd/nmbd_winsproxy.c if( same_net_v4( namerec->data.ip[i], orig_broadcast_subnet->myip, namerec 114 source3/nmbd/nmbd_winsproxy.c Not replying.\n", nmb_namestr(&namerec->name), orig_broadcast_subnet->subnet_name ) ); namerec 60 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 92 source3/nmbd/nmbd_winsserver.c namerec = SMB_MALLOC_P(struct name_record); namerec 93 source3/nmbd/nmbd_winsserver.c if (!namerec) { namerec 96 source3/nmbd/nmbd_winsserver.c ZERO_STRUCTP(namerec); namerec 98 source3/nmbd/nmbd_winsserver.c namerec->data.ip = SMB_MALLOC_ARRAY(struct in_addr, num_ips); namerec 99 source3/nmbd/nmbd_winsserver.c if (!namerec->data.ip) { namerec 100 source3/nmbd/nmbd_winsserver.c SAFE_FREE(namerec); namerec 104 source3/nmbd/nmbd_winsserver.c namerec->subnet = wins_server_subnet; namerec 105 source3/nmbd/nmbd_winsserver.c push_ascii_nstring(namerec->name.name, (const char *)key.dptr); namerec 106 source3/nmbd/nmbd_winsserver.c namerec->name.name_type = key.dptr[sizeof(unstring)]; namerec 108 source3/nmbd/nmbd_winsserver.c push_ascii(namerec->name.scope, global_scope(), 64, STR_TERMINATE); namerec 114 source3/nmbd/nmbd_winsserver.c for( i = strlen( namerec->name.name ); i < sizeof( namerec->name.name ); i++ ) { namerec 115 source3/nmbd/nmbd_winsserver.c namerec->name.name[i] = '\0'; namerec 117 source3/nmbd/nmbd_winsserver.c for( i = strlen( namerec->name.scope ); i < sizeof( namerec->name.scope ); i++ ) { namerec 118 source3/nmbd/nmbd_winsserver.c namerec->name.scope[i] = '\0'; namerec 121 source3/nmbd/nmbd_winsserver.c namerec->data.nb_flags = nb_flags; namerec 122 source3/nmbd/nmbd_winsserver.c namerec->data.source = (enum name_source)nr_src; namerec 123 source3/nmbd/nmbd_winsserver.c namerec->data.death_time = (time_t)death_time; namerec 124 source3/nmbd/nmbd_winsserver.c namerec->data.refresh_time = (time_t)refresh_time; namerec 125 source3/nmbd/nmbd_winsserver.c namerec->data.id = id_low; namerec 127 source3/nmbd/nmbd_winsserver.c namerec->data.id |= ((uint64_t)id_high << 32); namerec 129 source3/nmbd/nmbd_winsserver.c namerec->data.wins_ip.s_addr = saddr; namerec 130 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags = wins_flags, namerec 131 source3/nmbd/nmbd_winsserver.c namerec->data.num_ips = num_ips; namerec 134 source3/nmbd/nmbd_winsserver.c namerec->data.ip[i].s_addr = IVAL(data.dptr, len + (i*4)); namerec 137 source3/nmbd/nmbd_winsserver.c return namerec; namerec 144 source3/nmbd/nmbd_winsserver.c static TDB_DATA name_record_to_wins_record(const struct name_record *namerec) namerec 149 source3/nmbd/nmbd_winsserver.c uint32 id_low = (namerec->data.id & 0xFFFFFFFF); namerec 151 source3/nmbd/nmbd_winsserver.c uint32 id_high = (namerec->data.id >> 32) & 0xFFFFFFFF; namerec 159 source3/nmbd/nmbd_winsserver.c len += (namerec->data.num_ips * 4); namerec 168 source3/nmbd/nmbd_winsserver.c namerec->data.nb_flags, namerec 169 source3/nmbd/nmbd_winsserver.c (unsigned char)namerec->data.source, namerec 170 source3/nmbd/nmbd_winsserver.c (uint32)namerec->data.death_time, namerec 171 source3/nmbd/nmbd_winsserver.c (uint32)namerec->data.refresh_time, namerec 174 source3/nmbd/nmbd_winsserver.c (uint32)namerec->data.wins_ip.s_addr, namerec 175 source3/nmbd/nmbd_winsserver.c (uint32)namerec->data.wins_flags, namerec 176 source3/nmbd/nmbd_winsserver.c (uint32)namerec->data.num_ips ); namerec 178 source3/nmbd/nmbd_winsserver.c for (i = 0; i < namerec->data.num_ips; i++) { namerec 179 source3/nmbd/nmbd_winsserver.c SIVAL(data.dptr, len + (i*4), namerec->data.ip[i].s_addr); namerec 214 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 227 source3/nmbd/nmbd_winsserver.c namerec = wins_record_to_name_record(key, data); namerec 233 source3/nmbd/nmbd_winsserver.c if (!namerec) { namerec 238 source3/nmbd/nmbd_winsserver.c if( self_only && (namerec->data.source != SELF_NAME) && (namerec->data.source != PERMANENT_NAME) ) { namerec 240 source3/nmbd/nmbd_winsserver.c SAFE_FREE(namerec->data.ip); namerec 241 source3/nmbd/nmbd_winsserver.c SAFE_FREE(namerec); namerec 257 source3/nmbd/nmbd_winsserver.c DLIST_ADD(wins_server_subnet->namelist, namerec); namerec 258 source3/nmbd/nmbd_winsserver.c return namerec; namerec 265 source3/nmbd/nmbd_winsserver.c static bool store_or_replace_wins_namerec(const struct name_record *namerec, int tdb_flag) namerec 274 source3/nmbd/nmbd_winsserver.c key = name_to_key(&namerec->name); namerec 275 source3/nmbd/nmbd_winsserver.c data = name_record_to_wins_record(namerec); namerec 291 source3/nmbd/nmbd_winsserver.c bool wins_store_changed_namerec(const struct name_record *namerec) namerec 293 source3/nmbd/nmbd_winsserver.c return store_or_replace_wins_namerec(namerec, TDB_REPLACE); namerec 300 source3/nmbd/nmbd_winsserver.c bool add_name_to_wins_subnet(const struct name_record *namerec) namerec 302 source3/nmbd/nmbd_winsserver.c return store_or_replace_wins_namerec(namerec, TDB_INSERT); namerec 310 source3/nmbd/nmbd_winsserver.c bool remove_name_from_wins_namelist(struct name_record *namerec) namerec 319 source3/nmbd/nmbd_winsserver.c key = name_to_key(&namerec->name); namerec 322 source3/nmbd/nmbd_winsserver.c DLIST_REMOVE(wins_server_subnet->namelist, namerec); namerec 335 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 342 source3/nmbd/nmbd_winsserver.c namerec = wins_record_to_name_record(kbuf, dbuf); namerec 343 source3/nmbd/nmbd_winsserver.c if (!namerec) { namerec 347 source3/nmbd/nmbd_winsserver.c dump_name_record(namerec, fp); namerec 349 source3/nmbd/nmbd_winsserver.c SAFE_FREE(namerec->data.ip); namerec 350 source3/nmbd/nmbd_winsserver.c SAFE_FREE(namerec); namerec 363 source3/nmbd/nmbd_winsserver.c static void update_wins_owner(struct name_record *namerec, struct in_addr wins_ip) namerec 365 source3/nmbd/nmbd_winsserver.c namerec->data.wins_ip=wins_ip; namerec 372 source3/nmbd/nmbd_winsserver.c static void update_wins_flag(struct name_record *namerec, int flags) namerec 374 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags=0x0; namerec 377 source3/nmbd/nmbd_winsserver.c if (namerec->data.nb_flags & NB_GROUP) { namerec 378 source3/nmbd/nmbd_winsserver.c if (namerec->name.name_type==0x1C) { namerec 379 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=WINS_SGROUP; namerec 381 source3/nmbd/nmbd_winsserver.c if (namerec->data.num_ips>1) { namerec 382 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=WINS_SGROUP; namerec 384 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=WINS_NGROUP; namerec 389 source3/nmbd/nmbd_winsserver.c if (namerec->data.num_ips>1) { namerec 390 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=WINS_MHOMED; namerec 392 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=WINS_UNIQUE; namerec 397 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=namerec->data.nb_flags&NB_NODETYPEMASK; namerec 400 source3/nmbd/nmbd_winsserver.c if (namerec->data.death_time == PERMANENT_TTL) { namerec 401 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=WINS_STATIC; namerec 405 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=flags; namerec 408 source3/nmbd/nmbd_winsserver.c namerec->data.nb_flags, (int)namerec->data.death_time, flags, namerec->data.wins_flags)); namerec 438 source3/nmbd/nmbd_winsserver.c static void wins_hook(const char *operation, struct name_record *namerec, int ttl) namerec 446 source3/nmbd/nmbd_winsserver.c wins_store_changed_namerec(namerec); namerec 452 source3/nmbd/nmbd_winsserver.c for (p=namerec->name.name; *p; p++) { namerec 454 source3/nmbd/nmbd_winsserver.c DEBUG(3,("not calling wins hook for invalid name %s\n", nmb_namestr(&namerec->name))); namerec 461 source3/nmbd/nmbd_winsserver.c namestr = nmb_namestr(&namerec->name); namerec 471 source3/nmbd/nmbd_winsserver.c namerec->name.name_type, namerec 477 source3/nmbd/nmbd_winsserver.c for (i=0;i<namerec->data.num_ips;i++) { namerec 480 source3/nmbd/nmbd_winsserver.c inet_ntoa(namerec->data.ip[i])); namerec 486 source3/nmbd/nmbd_winsserver.c DEBUG(3,("calling wins hook for %s\n", nmb_namestr(&namerec->name))); namerec 833 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 869 source3/nmbd/nmbd_winsserver.c namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME); namerec 876 source3/nmbd/nmbd_winsserver.c if(namerec == NULL) { namerec 892 source3/nmbd/nmbd_winsserver.c if (namerec != NULL && !WINS_STATE_ACTIVE(namerec)) { namerec 898 source3/nmbd/nmbd_winsserver.c remove_name_from_namelist( subrec, namerec ); namerec 899 source3/nmbd/nmbd_winsserver.c namerec = NULL; namerec 909 source3/nmbd/nmbd_winsserver.c if( (namerec != NULL) && namerec 910 source3/nmbd/nmbd_winsserver.c ( (group && !NAME_GROUP(namerec)) namerec 911 source3/nmbd/nmbd_winsserver.c || (!group && NAME_GROUP(namerec)) ) ) { namerec 931 source3/nmbd/nmbd_winsserver.c && find_ip_in_name_record(namerec, from_ip) ) { namerec 935 source3/nmbd/nmbd_winsserver.c update_name_ttl(namerec, ttl); namerec 941 source3/nmbd/nmbd_winsserver.c if (!ip_equal_v4(namerec->data.wins_ip, our_fake_ip)) { namerec 942 source3/nmbd/nmbd_winsserver.c update_wins_owner(namerec, our_fake_ip); namerec 943 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 947 source3/nmbd/nmbd_winsserver.c wins_hook("refresh", namerec, ttl); namerec 969 source3/nmbd/nmbd_winsserver.c update_name_ttl(namerec, ttl); namerec 970 source3/nmbd/nmbd_winsserver.c wins_hook("refresh", namerec, ttl); namerec 1040 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 1054 source3/nmbd/nmbd_winsserver.c namerec = find_name_on_subnet(subrec, question_name, FIND_ANY_NAME); namerec 1056 source3/nmbd/nmbd_winsserver.c if ((namerec != NULL) && (namerec->data.source == REGISTER_NAME) && namerec 1057 source3/nmbd/nmbd_winsserver.c ip_equal_v4(rrec->packet->ip, *namerec->data.ip)) { namerec 1058 source3/nmbd/nmbd_winsserver.c remove_name_from_namelist( subrec, namerec); namerec 1059 source3/nmbd/nmbd_winsserver.c namerec = NULL; namerec 1062 source3/nmbd/nmbd_winsserver.c if(namerec == NULL) { namerec 1140 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 1168 source3/nmbd/nmbd_winsserver.c namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME); namerec 1174 source3/nmbd/nmbd_winsserver.c if ( (namerec != NULL) && !WINS_STATE_ACTIVE(namerec)) { namerec 1177 source3/nmbd/nmbd_winsserver.c remove_name_from_namelist( subrec, namerec ); namerec 1178 source3/nmbd/nmbd_winsserver.c namerec = NULL; namerec 1187 source3/nmbd/nmbd_winsserver.c if( (namerec != NULL) && ( (namerec->data.source == DNS_NAME) || (namerec->data.source == DNSFAIL_NAME) ) ) { namerec 1190 source3/nmbd/nmbd_winsserver.c remove_name_from_namelist( subrec, namerec ); namerec 1191 source3/nmbd/nmbd_winsserver.c namerec = NULL; namerec 1199 source3/nmbd/nmbd_winsserver.c if((namerec != NULL) && (namerec->data.source != REGISTER_NAME)) { namerec 1202 source3/nmbd/nmbd_winsserver.c nmb_namestr(question), namerec->data.source )); namerec 1238 source3/nmbd/nmbd_winsserver.c if((namerec != NULL) && NAME_GROUP(namerec)) { namerec 1252 source3/nmbd/nmbd_winsserver.c if(!find_ip_in_name_record(namerec, from_ip)) { namerec 1253 source3/nmbd/nmbd_winsserver.c add_ip_to_name_record(namerec, from_ip); namerec 1255 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 1265 source3/nmbd/nmbd_winsserver.c update_wins_owner(namerec, our_fake_ip); namerec 1267 source3/nmbd/nmbd_winsserver.c update_name_ttl(namerec, ttl); namerec 1268 source3/nmbd/nmbd_winsserver.c wins_hook("refresh", namerec, ttl); namerec 1298 source3/nmbd/nmbd_winsserver.c if ( namerec != NULL ) { namerec 1299 source3/nmbd/nmbd_winsserver.c pull_ascii_nstring(name, sizeof(name), namerec->name.name); namerec 1310 source3/nmbd/nmbd_winsserver.c update_name_ttl(namerec, ttl); namerec 1311 source3/nmbd/nmbd_winsserver.c wins_hook("refresh", namerec, ttl); namerec 1330 source3/nmbd/nmbd_winsserver.c && (namerec != NULL) namerec 1331 source3/nmbd/nmbd_winsserver.c && (namerec->data.num_ips == 1) namerec 1332 source3/nmbd/nmbd_winsserver.c && ip_equal_v4( namerec->data.ip[0], from_ip ) namerec 1333 source3/nmbd/nmbd_winsserver.c && ip_equal_v4(namerec->data.wins_ip, our_fake_ip) ) { namerec 1334 source3/nmbd/nmbd_winsserver.c update_name_ttl( namerec, ttl ); namerec 1335 source3/nmbd/nmbd_winsserver.c wins_hook("refresh", namerec, ttl); namerec 1345 source3/nmbd/nmbd_winsserver.c if( namerec != NULL ) { namerec 1379 source3/nmbd/nmbd_winsserver.c query_name_from_wins_server( *namerec->data.ip, namerec 1396 source3/nmbd/nmbd_winsserver.c if ((namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME))) { namerec 1397 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 1398 source3/nmbd/nmbd_winsserver.c update_wins_owner(namerec, our_fake_ip); namerec 1399 source3/nmbd/nmbd_winsserver.c update_wins_flag(namerec, WINS_ACTIVE); namerec 1400 source3/nmbd/nmbd_winsserver.c wins_hook("add", namerec, ttl); namerec 1422 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 1444 source3/nmbd/nmbd_winsserver.c namerec = find_name_on_subnet(subrec, question_name, FIND_ANY_NAME); namerec 1446 source3/nmbd/nmbd_winsserver.c if( (namerec == NULL) || (namerec->data.source != REGISTER_NAME) || !WINS_STATE_ACTIVE(namerec) ) { namerec 1457 source3/nmbd/nmbd_winsserver.c if(!find_ip_in_name_record(namerec, from_ip)) { namerec 1458 source3/nmbd/nmbd_winsserver.c add_ip_to_name_record(namerec, from_ip); namerec 1461 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 1462 source3/nmbd/nmbd_winsserver.c update_wins_owner(namerec, our_fake_ip); namerec 1463 source3/nmbd/nmbd_winsserver.c update_wins_flag(namerec, WINS_ACTIVE); namerec 1464 source3/nmbd/nmbd_winsserver.c update_name_ttl(namerec, ttl); namerec 1465 source3/nmbd/nmbd_winsserver.c wins_hook("add", namerec, ttl); namerec 1512 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 1563 source3/nmbd/nmbd_winsserver.c namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME); namerec 1570 source3/nmbd/nmbd_winsserver.c if ((namerec != NULL) && !WINS_STATE_ACTIVE(namerec)) { namerec 1572 source3/nmbd/nmbd_winsserver.c remove_name_from_namelist(subrec, namerec); namerec 1573 source3/nmbd/nmbd_winsserver.c namerec = NULL; namerec 1582 source3/nmbd/nmbd_winsserver.c if( (namerec != NULL) && ( (namerec->data.source == DNS_NAME) || (namerec->data.source == DNSFAIL_NAME) ) ) { namerec 1585 source3/nmbd/nmbd_winsserver.c remove_name_from_namelist( subrec, namerec); namerec 1586 source3/nmbd/nmbd_winsserver.c namerec = NULL; namerec 1594 source3/nmbd/nmbd_winsserver.c if( (namerec != NULL) && (namerec->data.source != REGISTER_NAME) ) { namerec 1597 source3/nmbd/nmbd_winsserver.c nmb_namestr(question), namerec->data.source )); namerec 1606 source3/nmbd/nmbd_winsserver.c if((namerec != NULL) && NAME_GROUP(namerec) && WINS_STATE_ACTIVE(namerec)) { namerec 1624 source3/nmbd/nmbd_winsserver.c if((namerec != NULL) && (is_myname(namerec->name.name)) ) { namerec 1635 source3/nmbd/nmbd_winsserver.c update_name_ttl(namerec, ttl); namerec 1637 source3/nmbd/nmbd_winsserver.c if(!find_ip_in_name_record(namerec, from_ip)) { namerec 1638 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 1639 source3/nmbd/nmbd_winsserver.c update_wins_owner(namerec, our_fake_ip); namerec 1640 source3/nmbd/nmbd_winsserver.c update_wins_flag(namerec, WINS_ACTIVE); namerec 1642 source3/nmbd/nmbd_winsserver.c add_ip_to_name_record(namerec, from_ip); namerec 1645 source3/nmbd/nmbd_winsserver.c wins_hook("refresh", namerec, ttl); namerec 1656 source3/nmbd/nmbd_winsserver.c if((namerec != NULL) && find_ip_in_name_record(namerec, from_ip) && WINS_STATE_ACTIVE(namerec)) { namerec 1657 source3/nmbd/nmbd_winsserver.c update_name_ttl(namerec, ttl); namerec 1663 source3/nmbd/nmbd_winsserver.c if (!ip_equal_v4(namerec->data.wins_ip, our_fake_ip)) { namerec 1664 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 1665 source3/nmbd/nmbd_winsserver.c update_wins_owner(namerec, our_fake_ip); namerec 1666 source3/nmbd/nmbd_winsserver.c update_wins_flag(namerec, WINS_ACTIVE); namerec 1669 source3/nmbd/nmbd_winsserver.c wins_hook("refresh", namerec, ttl); namerec 1679 source3/nmbd/nmbd_winsserver.c if(namerec != NULL) { namerec 1716 source3/nmbd/nmbd_winsserver.c query_name_from_wins_server( namerec->data.ip[0], namerec 1734 source3/nmbd/nmbd_winsserver.c if ((namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME))) { namerec 1735 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 1736 source3/nmbd/nmbd_winsserver.c update_wins_owner(namerec, our_fake_ip); namerec 1737 source3/nmbd/nmbd_winsserver.c update_wins_flag(namerec, WINS_ACTIVE); namerec 1738 source3/nmbd/nmbd_winsserver.c wins_hook("add", namerec, ttl); namerec 1750 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 1761 source3/nmbd/nmbd_winsserver.c namerec = wins_record_to_name_record(kbuf, dbuf); namerec 1762 source3/nmbd/nmbd_winsserver.c if (!namerec) { namerec 1766 source3/nmbd/nmbd_winsserver.c DLIST_ADD(wins_server_subnet->namelist, namerec); namerec 1782 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 1801 source3/nmbd/nmbd_winsserver.c for( namerec = subrec->namelist; namerec; namerec = namerec->next ) { namerec 1802 source3/nmbd/nmbd_winsserver.c if( WINS_STATE_ACTIVE(namerec) && namerec->name.name_type == 0x1b) { namerec 1803 source3/nmbd/nmbd_winsserver.c num_ips += namerec->data.num_ips; namerec 1827 source3/nmbd/nmbd_winsserver.c for( namerec = subrec->namelist; namerec; namerec = namerec->next ) { namerec 1828 source3/nmbd/nmbd_winsserver.c if( WINS_STATE_ACTIVE(namerec) && namerec->name.name_type == 0x1b) { namerec 1830 source3/nmbd/nmbd_winsserver.c for(i = 0; i < namerec->data.num_ips; i++) { namerec 1831 source3/nmbd/nmbd_winsserver.c set_nb_flags(&prdata[num_ips * 6],namerec->data.nb_flags); namerec 1832 source3/nmbd/nmbd_winsserver.c putip((char *)&prdata[(num_ips * 6) + 2], &namerec->data.ip[i]); namerec 1858 source3/nmbd/nmbd_winsserver.c struct name_record *namerec) namerec 1869 source3/nmbd/nmbd_winsserver.c ttl = (namerec->data.death_time != PERMANENT_TTL) ? namerec->data.death_time - p->timestamp : lp_max_wins_ttl(); namerec 1874 source3/nmbd/nmbd_winsserver.c if( namerec->data.num_ips == 1 ) { namerec 1877 source3/nmbd/nmbd_winsserver.c if((prdata = (char *)SMB_MALLOC( namerec->data.num_ips * 6 )) == NULL) { namerec 1883 source3/nmbd/nmbd_winsserver.c for(i = 0; i < namerec->data.num_ips; i++) { namerec 1884 source3/nmbd/nmbd_winsserver.c set_nb_flags(&prdata[i*6],namerec->data.nb_flags); namerec 1885 source3/nmbd/nmbd_winsserver.c putip((char *)&prdata[2+(i*6)], &namerec->data.ip[i]); namerec 1889 source3/nmbd/nmbd_winsserver.c reply_data_len = namerec->data.num_ips * 6; namerec 1914 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 1933 source3/nmbd/nmbd_winsserver.c namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME); namerec 1935 source3/nmbd/nmbd_winsserver.c if(namerec != NULL) { namerec 1940 source3/nmbd/nmbd_winsserver.c if (!WINS_STATE_ACTIVE(namerec)) { namerec 1943 source3/nmbd/nmbd_winsserver.c send_wins_name_query_response(NAM_ERR, p, namerec); namerec 1951 source3/nmbd/nmbd_winsserver.c if( namerec->data.source == DNSFAIL_NAME ) { namerec 1954 source3/nmbd/nmbd_winsserver.c send_wins_name_query_response(NAM_ERR, p, namerec); namerec 1962 source3/nmbd/nmbd_winsserver.c if( (namerec->data.death_time != PERMANENT_TTL) && (namerec->data.death_time < p->timestamp) ) { namerec 1965 source3/nmbd/nmbd_winsserver.c send_wins_name_query_response(NAM_ERR, p, namerec); namerec 1970 source3/nmbd/nmbd_winsserver.c nmb_namestr(question), inet_ntoa(namerec->data.ip[0]) )); namerec 1972 source3/nmbd/nmbd_winsserver.c send_wins_name_query_response(0, p, namerec); namerec 2026 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 2063 source3/nmbd/nmbd_winsserver.c namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME); namerec 2065 source3/nmbd/nmbd_winsserver.c if( (namerec == NULL) || ((namerec != NULL) && (namerec->data.source != REGISTER_NAME)) ) { namerec 2086 source3/nmbd/nmbd_winsserver.c if(!find_ip_in_name_record(namerec, from_ip)) { namerec 2099 source3/nmbd/nmbd_winsserver.c if (!WINS_STATE_ACTIVE(namerec)) { namerec 2112 source3/nmbd/nmbd_winsserver.c if(releasing_group_name && (question->name_type == 0x1c) && (namerec->data.num_ips > 1)) { namerec 2113 source3/nmbd/nmbd_winsserver.c remove_ip_from_name_record(namerec, from_ip); namerec 2116 source3/nmbd/nmbd_winsserver.c wins_hook("delete", namerec, 0); namerec 2126 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags |= WINS_RELEASED; namerec 2127 source3/nmbd/nmbd_winsserver.c update_name_ttl(namerec, EXTINCTION_INTERVAL); namerec 2129 source3/nmbd/nmbd_winsserver.c wins_hook("delete", namerec, 0); namerec 2141 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 2149 source3/nmbd/nmbd_winsserver.c namerec = wins_record_to_name_record(kbuf, dbuf); namerec 2150 source3/nmbd/nmbd_winsserver.c if (!namerec) { namerec 2154 source3/nmbd/nmbd_winsserver.c if( (namerec->data.death_time != PERMANENT_TTL) && (namerec->data.death_time < t) ) { namerec 2155 source3/nmbd/nmbd_winsserver.c if( namerec->data.source == SELF_NAME ) { namerec 2157 source3/nmbd/nmbd_winsserver.c wins_server_subnet->subnet_name, nmb_namestr(&namerec->name) ) ); namerec 2158 source3/nmbd/nmbd_winsserver.c namerec->data.death_time += 300; namerec 2161 source3/nmbd/nmbd_winsserver.c } else if (namerec->data.source == DNS_NAME || namerec->data.source == DNSFAIL_NAME) { namerec 2163 source3/nmbd/nmbd_winsserver.c nmb_namestr(&namerec->name))); namerec 2164 source3/nmbd/nmbd_winsserver.c remove_name_from_wins_namelist(namerec ); namerec 2169 source3/nmbd/nmbd_winsserver.c if (ip_equal_v4(namerec->data.wins_ip, our_fake_ip)) { namerec 2170 source3/nmbd/nmbd_winsserver.c switch (namerec->data.wins_flags & WINS_STATE_MASK) { namerec 2172 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags&=~WINS_STATE_MASK; namerec 2173 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=WINS_RELEASED; namerec 2174 source3/nmbd/nmbd_winsserver.c namerec->data.death_time = t + EXTINCTION_INTERVAL; namerec 2176 source3/nmbd/nmbd_winsserver.c nmb_namestr(&namerec->name))); namerec 2180 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags&=~WINS_STATE_MASK; namerec 2181 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=WINS_TOMBSTONED; namerec 2182 source3/nmbd/nmbd_winsserver.c namerec->data.death_time = t + EXTINCTION_TIMEOUT; namerec 2183 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 2185 source3/nmbd/nmbd_winsserver.c nmb_namestr(&namerec->name))); namerec 2190 source3/nmbd/nmbd_winsserver.c nmb_namestr(&namerec->name))); namerec 2191 source3/nmbd/nmbd_winsserver.c remove_name_from_wins_namelist(namerec ); namerec 2195 source3/nmbd/nmbd_winsserver.c switch (namerec->data.wins_flags & WINS_STATE_MASK) { namerec 2198 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags&=~WINS_STATE_MASK; namerec 2199 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags|=WINS_TOMBSTONED; namerec 2200 source3/nmbd/nmbd_winsserver.c namerec->data.death_time = t + EXTINCTION_TIMEOUT; namerec 2202 source3/nmbd/nmbd_winsserver.c nmb_namestr(&namerec->name))); namerec 2207 source3/nmbd/nmbd_winsserver.c nmb_namestr(&namerec->name))); namerec 2208 source3/nmbd/nmbd_winsserver.c remove_name_from_wins_namelist(namerec ); namerec 2212 source3/nmbd/nmbd_winsserver.c we are not the wins owner !\n", nmb_namestr(&namerec->name))); namerec 2221 source3/nmbd/nmbd_winsserver.c wins_store_changed_namerec(namerec); namerec 2224 source3/nmbd/nmbd_winsserver.c SAFE_FREE(namerec->data.ip); namerec 2225 source3/nmbd/nmbd_winsserver.c SAFE_FREE(namerec); namerec 2263 source3/nmbd/nmbd_winsserver.c void wins_write_name_record(struct name_record *namerec, XFILE *fp) namerec 2268 source3/nmbd/nmbd_winsserver.c DEBUGADD(4,("%-19s ", nmb_namestr(&namerec->name) )); namerec 2270 source3/nmbd/nmbd_winsserver.c if( namerec->data.death_time != PERMANENT_TTL ) { namerec 2273 source3/nmbd/nmbd_winsserver.c tm = localtime(&namerec->data.death_time); namerec 2290 source3/nmbd/nmbd_winsserver.c for (i = 0; i < namerec->data.num_ips; i++) { namerec 2291 source3/nmbd/nmbd_winsserver.c DEBUGADD(4,("%15s ", inet_ntoa(namerec->data.ip[i]) )); namerec 2293 source3/nmbd/nmbd_winsserver.c DEBUGADD(4,("%2x\n", namerec->data.nb_flags )); namerec 2295 source3/nmbd/nmbd_winsserver.c if( namerec->data.source == REGISTER_NAME ) { namerec 2297 source3/nmbd/nmbd_winsserver.c pull_ascii_nstring(name, sizeof(name), namerec->name.name); namerec 2298 source3/nmbd/nmbd_winsserver.c x_fprintf(fp, "\"%s#%02x\" %d ", name,namerec->name.name_type, /* Ignore scope. */ namerec 2299 source3/nmbd/nmbd_winsserver.c (int)namerec->data.death_time); namerec 2301 source3/nmbd/nmbd_winsserver.c for (i = 0; i < namerec->data.num_ips; i++) namerec 2302 source3/nmbd/nmbd_winsserver.c x_fprintf( fp, "%s ", inet_ntoa( namerec->data.ip[i] ) ); namerec 2303 source3/nmbd/nmbd_winsserver.c x_fprintf( fp, "%2xR\n", namerec->data.nb_flags ); namerec 2313 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 2320 source3/nmbd/nmbd_winsserver.c namerec = wins_record_to_name_record(kbuf, dbuf); namerec 2321 source3/nmbd/nmbd_winsserver.c if (!namerec) { namerec 2325 source3/nmbd/nmbd_winsserver.c wins_write_name_record(namerec, fp); namerec 2327 source3/nmbd/nmbd_winsserver.c SAFE_FREE(namerec->data.ip); namerec 2328 source3/nmbd/nmbd_winsserver.c SAFE_FREE(namerec); namerec 2418 source3/nmbd/nmbd_winsserver.c struct name_record *namerec = NULL; namerec 2435 source3/nmbd/nmbd_winsserver.c namerec = find_name_on_subnet(wins_server_subnet, &question, FIND_ANY_NAME); namerec 2438 source3/nmbd/nmbd_winsserver.c if (namerec == NULL) { namerec 2461 source3/nmbd/nmbd_winsserver.c if (namerec != NULL) { namerec 2463 source3/nmbd/nmbd_winsserver.c if (namerec->data.wins_flags&WINS_UNIQUE && record->wins_flags&WINS_UNIQUE) { namerec 2466 source3/nmbd/nmbd_winsserver.c if (!ip_equal_v4(namerec->data.wins_ip, our_fake_ip)) { namerec 2467 source3/nmbd/nmbd_winsserver.c if (namerec->data.wins_flags&WINS_ACTIVE && record->wins_flags&WINS_TOMBSTONED) { namerec 2468 source3/nmbd/nmbd_winsserver.c if (ip_equal_v4(namerec->data.wins_ip, record->wins_ip)) namerec 2475 source3/nmbd/nmbd_winsserver.c if (ip_equal_v4(namerec->data.ip[0], record->ip[0])) { namerec 2476 source3/nmbd/nmbd_winsserver.c if (namerec->data.wins_flags&WINS_ACTIVE && record->wins_flags&WINS_TOMBSTONED) namerec 2477 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 2483 source3/nmbd/nmbd_winsserver.c if (namerec->data.wins_flags&WINS_ACTIVE) { namerec 2485 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 2499 source3/nmbd/nmbd_winsserver.c if (namerec->data.wins_flags&WINS_UNIQUE) namerec 2507 source3/nmbd/nmbd_winsserver.c if (record->wins_flags&WINS_SGROUP && namerec->data.wins_flags&WINS_SGROUP) { namerec 2508 source3/nmbd/nmbd_winsserver.c if (namerec->data.wins_flags&WINS_ACTIVE) { namerec 2510 source3/nmbd/nmbd_winsserver.c if(!find_ip_in_name_record(namerec, record->ip[i])) namerec 2511 source3/nmbd/nmbd_winsserver.c add_ip_to_name_record(namerec, record->ip[i]); namerec 2522 source3/nmbd/nmbd_winsserver.c if (! (namerec->data.wins_flags&WINS_ACTIVE)) { namerec 2523 source3/nmbd/nmbd_winsserver.c if ( !(namerec->data.wins_flags&WINS_RELEASED) && !(namerec->data.wins_flags&WINS_NGROUP)) namerec 2527 source3/nmbd/nmbd_winsserver.c if (ip_equal_v4(record->wins_ip, namerec->data.wins_ip)) namerec 2530 source3/nmbd/nmbd_winsserver.c if (ip_equal_v4(namerec->data.wins_ip, our_fake_ip)) namerec 2531 source3/nmbd/nmbd_winsserver.c if (namerec->data.wins_flags&WINS_UNIQUE) namerec 2532 source3/nmbd/nmbd_winsserver.c get_global_id_and_update(&namerec->data.id, True); namerec 2536 source3/nmbd/nmbd_winsserver.c if (record->wins_flags&WINS_ACTIVE && namerec->data.wins_flags&WINS_ACTIVE) namerec 2537 source3/nmbd/nmbd_winsserver.c if (namerec->data.wins_flags&WINS_UNIQUE || namerec 2538 source3/nmbd/nmbd_winsserver.c namerec->data.wins_flags&WINS_MHOMED) namerec 2539 source3/nmbd/nmbd_winsserver.c if (ip_equal_v4(record->wins_ip, namerec->data.wins_ip)) namerec 2552 source3/nmbd/nmbd_winsserver.c remove_name_from_namelist( wins_server_subnet, namerec );