svn commit: samba r5081 - in trunk/source/nmbd: .
jra at samba.org
jra at samba.org
Sat Jan 29 02:48:56 GMT 2005
Author: jra
Date: 2005-01-29 02:48:55 +0000 (Sat, 29 Jan 2005)
New Revision: 5081
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=5081
Log:
Don't blindly copy question rr_type and class, set correctly as required
by rfc1002.
Jeremy
Modified:
trunk/source/nmbd/nmbd_packets.c
Changeset:
Modified: trunk/source/nmbd/nmbd_packets.c
===================================================================
--- trunk/source/nmbd/nmbd_packets.c 2005-01-29 02:46:37 UTC (rev 5080)
+++ trunk/source/nmbd/nmbd_packets.c 2005-01-29 02:48:55 UTC (rev 5081)
@@ -864,7 +864,7 @@
struct res_rec answers;
struct nmb_packet *orig_nmb = &orig_packet->packet.nmb;
BOOL loopback_this_packet = False;
- BOOL use_null_rr_type = False;
+ int rr_type = RR_TYPE_NB;
const char *packet_type = "unknown";
/* Check if we are sending to or from ourselves. */
@@ -886,13 +886,14 @@
packet_type = "nmb_status";
nmb->header.nm_flags.recursion_desired = False;
nmb->header.nm_flags.recursion_available = False;
+ rr_type = RR_TYPE_NBSTAT;
break;
case NMB_QUERY:
packet_type = "nmb_query";
nmb->header.nm_flags.recursion_desired = True;
nmb->header.nm_flags.recursion_available = True;
if (rcode) {
- use_null_rr_type = True;
+ rr_type = RR_TYPE_NULL;
}
break;
case NMB_REG:
@@ -910,7 +911,7 @@
packet_type = "nmb_wack";
nmb->header.nm_flags.recursion_desired = False;
nmb->header.nm_flags.recursion_available = False;
- use_null_rr_type = True;
+ rr_type = RR_TYPE_NULL;
break;
case WINS_REG:
packet_type = "wins_reg";
@@ -922,7 +923,7 @@
nmb->header.nm_flags.recursion_desired = True;
nmb->header.nm_flags.recursion_available = True;
if (rcode) {
- use_null_rr_type = True;
+ rr_type = RR_TYPE_NULL;
}
break;
default:
@@ -955,12 +956,8 @@
memset((char*)nmb->answers,'\0',sizeof(*nmb->answers));
nmb->answers->rr_name = orig_nmb->question.question_name;
- if (use_null_rr_type) {
- nmb->answers->rr_type = RR_TYPE_NULL;
- } else {
- nmb->answers->rr_type = orig_nmb->question.question_type;
- }
- nmb->answers->rr_class = orig_nmb->question.question_class;
+ nmb->answers->rr_type = rr_type;
+ nmb->answers->rr_class = RR_CLASS_IN;
nmb->answers->ttl = ttl;
if (data && len) {
More information about the samba-cvs
mailing list