summaryrefslogtreecommitdiff
path: root/source3/namepacket.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/namepacket.c')
-rw-r--r--source3/namepacket.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/source3/namepacket.c b/source3/namepacket.c
index 086e32d908..d60ef9f6ae 100644
--- a/source3/namepacket.c
+++ b/source3/namepacket.c
@@ -183,10 +183,12 @@ void initiate_netbios_packet(uint16 *id,
/****************************************************************************
- reply to a netbios name packet
+ reply to a netbios name packet. see rfc1002.txt
****************************************************************************/
void reply_netbios_packet(struct packet_struct *p1,int trn_id,
- int rcode, int rcv_code, int opcode, BOOL recurse,
+ int rcode, int rcv_code, int opcode,
+ BOOL recursion_available,
+ BOOL recursion_desired,
struct nmb_name *rr_name,int rr_type,int rr_class,int ttl,
char *data,int len)
{
@@ -197,6 +199,11 @@ void reply_netbios_packet(struct packet_struct *p1,int trn_id,
p = *p1;
+ if (recursion_available && lp_wins_server())
+ {
+ DEBUG(0,("reply_netbios_packet: r_a not to be used when not a WINS server\n"));
+ }
+
switch (rcv_code)
{
case NMB_STATUS:
@@ -240,8 +247,8 @@ void reply_netbios_packet(struct packet_struct *p1,int trn_id,
nmb->header.opcode = opcode;
nmb->header.response = True;
nmb->header.nm_flags.bcast = False;
- nmb->header.nm_flags.recursion_available = (lp_wins_support() ? True : False );
- nmb->header.nm_flags.recursion_desired = (lp_wins_support() ? recurse : False );
+ nmb->header.nm_flags.recursion_available = recursion_available;
+ nmb->header.nm_flags.recursion_desired = recursion_desired;
nmb->header.nm_flags.trunc = False;
nmb->header.nm_flags.authoritative = True;