svn commit: samba r12934 - in
branches/SAMBA_4_0/source/nbt_server/dgram: .
metze at samba.org
metze at samba.org
Sat Jan 14 10:11:05 GMT 2006
Author: metze
Date: 2006-01-14 10:11:04 +0000 (Sat, 14 Jan 2006)
New Revision: 12934
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=12934
Log:
do somemore debugging of the received browse packets,
(so I may learn about the protocol, while watching the debug output)
metze
Modified:
branches/SAMBA_4_0/source/nbt_server/dgram/browse.c
Changeset:
Modified: branches/SAMBA_4_0/source/nbt_server/dgram/browse.c
===================================================================
--- branches/SAMBA_4_0/source/nbt_server/dgram/browse.c 2006-01-14 10:06:18 UTC (rev 12933)
+++ branches/SAMBA_4_0/source/nbt_server/dgram/browse.c 2006-01-14 10:11:04 UTC (rev 12934)
@@ -24,6 +24,26 @@
#include "nbt_server/nbt_server.h"
#include "lib/socket/socket.h"
+static const char *nbt_browse_opcode_string(enum nbt_browse_opcode r)
+{
+ const char *val = NULL;
+
+ switch (r) {
+ case HostAnnouncement: val = "HostAnnouncement"; break;
+ case AnnouncementRequest: val = "AnnouncementRequest"; break;
+ case Election: val = "Election"; break;
+ case GetBackupListReq: val = "GetBackupListReq"; break;
+ case GetBackupListResp: val = "GetBackupListResp"; break;
+ case BecomeBackup: val = "BecomeBackup"; break;
+ case DomainAnnouncement: val = "DomainAnnouncement"; break;
+ case MasterAnnouncement: val = "MasterAnnouncement"; break;
+ case ResetBrowserState: val = "ResetBrowserState"; break;
+ case LocalMasterAnnouncement: val = "LocalMasterAnnouncement"; break;
+ }
+
+ return val;
+}
+
/*
handle incoming browse mailslot requests
*/
@@ -31,6 +51,30 @@
struct nbt_dgram_packet *packet,
struct socket_address *src)
{
- DEBUG(2,("Browse request on '%s' from %s:%d\n",
- dgmslot->mailslot_name, src->addr, src->port));
+ struct nbt_browse_packet *browse = talloc(dgmslot, struct nbt_browse_packet);
+ struct nbt_name *name = &packet->data.msg.dest_name;
+ NTSTATUS status;
+
+ if (browse == NULL) goto failed;
+
+ status = dgram_mailslot_browse_parse(dgmslot, browse, packet, browse);
+ if (!NT_STATUS_IS_OK(status)) goto failed;
+
+ DEBUG(2,("Browse %s (Op %d) on '%s' '%s' from %s:%d\n",
+ nbt_browse_opcode_string(browse->opcode), browse->opcode,
+ nbt_name_string(browse, name), dgmslot->mailslot_name,
+ src->addr, src->port));
+
+ if (DEBUGLEVEL >= 10) {
+ NDR_PRINT_DEBUG(nbt_browse_packet, browse);
+ }
+
+ talloc_free(browse);
+ return;
+
+failed:
+ DEBUG(2,("nbtd browse handler failed from %s:%d - %s\n",
+ src->addr, src->port, nt_errstr(status)));
+ talloc_free(browse);
+
}
More information about the samba-cvs
mailing list