diff options
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/namequery.c | 4 | ||||
-rw-r--r-- | source3/libsmb/nmblib.c | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c index 21d3bd1e50..f1847e38ba 100644 --- a/source3/libsmb/namequery.c +++ b/source3/libsmb/namequery.c @@ -214,8 +214,8 @@ BOOL name_query(int fd,char *name,int name_type, nmb->header.opcode = 0; nmb->header.response = False; nmb->header.nm_flags.bcast = bcast; - nmb->header.nm_flags.recursion_available = 0; - nmb->header.nm_flags.recursion_desired = 1; + nmb->header.nm_flags.recursion_available = False; + nmb->header.nm_flags.recursion_desired = True; nmb->header.nm_flags.trunc = False; nmb->header.nm_flags.authoritative = False; nmb->header.rcode = 0; diff --git a/source3/libsmb/nmblib.c b/source3/libsmb/nmblib.c index 3434f31a33..4113b34cab 100644 --- a/source3/libsmb/nmblib.c +++ b/source3/libsmb/nmblib.c @@ -609,7 +609,8 @@ static int build_nmb(char *buf,struct packet_struct *p) if (nmb->header.nm_flags.authoritative) ubuf[offset+2] |= 0x4; if (nmb->header.nm_flags.trunc) ubuf[offset+2] |= 0x2; if (nmb->header.nm_flags.recursion_desired) ubuf[offset+2] |= 0x1; - if (nmb->header.nm_flags.recursion_available) ubuf[offset+3] |= 0x80; + if (nmb->header.nm_flags.recursion_available && + nmb->header.response) ubuf[offset+3] |= 0x80; if (nmb->header.nm_flags.bcast) ubuf[offset+3] |= 0x10; ubuf[offset+3] |= (nmb->header.rcode & 0xF); |