svn commit: samba r5109 - in branches/SAMBA_4_0/source: librpc/ndr
nbt_server
tridge at samba.org
tridge at samba.org
Sun Jan 30 10:41:15 GMT 2005
Author: tridge
Date: 2005-01-30 10:41:15 +0000 (Sun, 30 Jan 2005)
New Revision: 5109
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=5109
Log:
- fixed handling of zero-length subcontexts in the ndr library
- added error checking on socket startup in nbtd
Modified:
branches/SAMBA_4_0/source/librpc/ndr/ndr.c
branches/SAMBA_4_0/source/nbt_server/nbt_server.c
Changeset:
Modified: branches/SAMBA_4_0/source/librpc/ndr/ndr.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/ndr/ndr.c 2005-01-30 10:24:36 UTC (rev 5108)
+++ branches/SAMBA_4_0/source/librpc/ndr/ndr.c 2005-01-30 10:41:15 UTC (rev 5109)
@@ -441,7 +441,6 @@
switch (sub_size) {
case 0: {
uint32_t size = ndr->data_size - ndr->offset;
- if (size == 0) return NT_STATUS_OK;
NDR_CHECK(ndr_pull_subcontext(ndr, ndr2, size));
break;
}
@@ -449,7 +448,6 @@
case 2: {
uint16_t size;
NDR_CHECK(ndr_pull_uint16(ndr, &size));
- if (size == 0) return NT_STATUS_OK;
NDR_CHECK(ndr_pull_subcontext(ndr, ndr2, size));
break;
}
@@ -457,7 +455,6 @@
case 4: {
uint32_t size;
NDR_CHECK(ndr_pull_uint32(ndr, &size));
- if (size == 0) return NT_STATUS_OK;
NDR_CHECK(ndr_pull_subcontext(ndr, ndr2, size));
break;
}
Modified: branches/SAMBA_4_0/source/nbt_server/nbt_server.c
===================================================================
--- branches/SAMBA_4_0/source/nbt_server/nbt_server.c 2005-01-30 10:24:36 UTC (rev 5108)
+++ branches/SAMBA_4_0/source/nbt_server/nbt_server.c 2005-01-30 10:41:15 UTC (rev 5109)
@@ -49,6 +49,7 @@
{
struct nbt_server *nbtsrv;
struct nbt_interface *iface;
+ NTSTATUS status;
nbtsrv = talloc(task, struct nbt_server);
if (nbtsrv == NULL) {
@@ -59,8 +60,14 @@
nbtsrv->task = task;
nbtsrv->interfaces = NULL;
- nbt_startup_interfaces(nbtsrv);
+ /* start listening on the configured network interfaces */
+ status = nbt_startup_interfaces(nbtsrv);
+ if (!NT_STATUS_IS_OK(status)) {
+ task_terminate(task, "nbtd failed to setup interfaces");
+ return;
+ }
+ /* setup the incoming request handler for all our interfaces */
for (iface=nbtsrv->interfaces;iface;iface=iface->next) {
nbt_set_incoming_handler(iface->nbtsock, nbt_request_handler, iface);
}
More information about the samba-cvs
mailing list