wins; lost packets

Maxim Berlin mak at rtsnet.ru
Tue Sep 14 19:21:56 GMT 1999


Hello All,

My computer tries to register in WINS:
(tcpdump output):
--------------------------------------------------------------
00:06:39.937300 172.16.36.61.137 > 172.16.32.3.137:
>>> NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
TrnID=0x8000
OpCode=5
NmFlags=0x11
Rcode=0
QueryCount=1
AnswerCount=0
AuthorityCount=0
AddressRecCount=1
QuestionRecords:
Name=SODOM           NameType=0x00 (Workstation)
QuestionType=0x20
QuestionClass=0x1

ResourceRecords:
Name=SODOM           NameType=0x00 (Workstation)
ResType=0x20
ResClass=0x1
TTL=300000
ResourceLength=6
ResourceData=
AddrType=0x6000
Address=172.16.36.61
--------------------------------------------------------------

here is samba log:
--------------------------------------------------------------
[1999/09/12 00:06:39, 10] lib/util_sock.c:read_udp_socket(189)
  read_udp_socket: lastip 172.16.36.61 lastport 137 read: 68
[1999/09/12 00:06:39, 10] libsmb/nmblib.c:parse_nmb(474)
  parse_nmb: packet id = 32768
[1999/09/12 00:06:39, 5] libsmb/nmblib.c:read_packet(726)
  Received a packet of len 68 from (172.16.36.61) port 137
[1999/09/12 00:06:39, 4] libsmb/nmblib.c:debug_nmb_packet(109)
  nmb packet from 172.16.36.61(137) header: id=32768 opcode=Registration(5) resp
onse=No
      header: flags: bcast=Yes rec_avail=No rec_des=Yes trunc=No auth=No
      header: rcode=0 qdcount=1 ancount=0 nscount=0 arcount=1
      question: q_name=SODOM<00> q_type=32 q_class=1
      additional: nmb_name=SODOM<00> rr_type=32 rr_class=1 ttl=300000
      additional   0 char `...$=   hex 6000AC10243D
[1999/09/12 00:06:39, 3] nmbd/nmbd_incomingrequests.c:process_name_registration_
request(231)
  process_name_registration_request: Name registration for name SODOM<00> IP 172
.16.36.61 on subnet REMOTE_BROADCAST_SUBNET
[1999/09/12 00:06:39, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(92)
nmbd_subnetdb:namelist_entry_compare()
41 == memcmp( "SODOM<00>", "*<00>", 88 )
[1999/09/12 00:06:39, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(92)
nmbd_subnetdb:namelist_entry_compare()
41 == memcmp( "SODOM<00>", "*<20>", 88 )
[1999/09/12 00:06:39, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(92)
nmbd_subnetdb:namelist_entry_compare()
-12 == memcmp( "SODOM<00>", "__SAMBA__<00>", 88 )
[1999/09/12 00:06:39, 9] nmbd/nmbd_namelistdb.c:find_name_on_subnet(137)
  find_name_on_subnet: on subnet REMOTE_BROADCAST_SUBNET - name SODOM<00> NOT FO
UND
--------------------------------------------------------------

nmbd_incomingrequests.c:
--------------------------------------------------------------
/****************************************************************************
Process a name registration request on a broadcast subnet.
**************************************************************************/
void process_name_registration_request(struct subnet_record *subrec,
                                       struct packet_struct *p)
--------------------------------------------------------------

does nothing with this packet:(

namerec = find_name_on_subnet(subrec, question, FIND_ANY_NAME);

So, namerec=NULL and function simply ends. No error, no
add_name_to_subnet => packet lost, registration fails.I think, function
process_name_registration_request should be similar to
wins_process_name_registration_request?


Best wishes,
 Maxim                            mailto:mak at rtsnet.ru




More information about the samba-technical mailing list