svn commit: samba r11044 - in branches/SAMBA_4_0: . source
source/include source/libcli/dgram source/libcli/nbt
source/nbt_server/dgram source/nbt_server/wins source/torture/nbt
metze at samba.org
metze at samba.org
Fri Oct 14 12:57:06 GMT 2005
Author: metze
Date: 2005-10-14 12:57:00 +0000 (Fri, 14 Oct 2005)
New Revision: 11044
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=11044
Log:
Modified:
branches/SAMBA_4_0/
branches/SAMBA_4_0/source/include/structs.h
branches/SAMBA_4_0/source/libcli/dgram/libdgram.h
branches/SAMBA_4_0/source/libcli/dgram/ntlogon.c
branches/SAMBA_4_0/source/libcli/nbt/namerefresh.c
branches/SAMBA_4_0/source/libcli/nbt/nameregister.c
branches/SAMBA_4_0/source/main.mk
branches/SAMBA_4_0/source/nbt_server/dgram/netlogon.c
branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c
branches/SAMBA_4_0/source/torture/nbt/dgram.c
Changeset:
Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: svk:merge
- 0c0555d6-39d7-0310-84fc-f1cc0bd64818:/branches/tmp/samba4-winsrepl:10362
3a72dc49-98ff-0310-ab52-9b7ed7945d91:/local/samba4:9495
a953eb74-4aff-0310-a63c-855d20285ebb:/local/samba4:11632
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/SAMBA_4_0:5616
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/samba-SAMBA_4_0:5609
+ 0c0555d6-39d7-0310-84fc-f1cc0bd64818:/branches/tmp/samba4-winsrepl:10417
3a72dc49-98ff-0310-ab52-9b7ed7945d91:/local/samba4:9495
a953eb74-4aff-0310-a63c-855d20285ebb:/local/samba4:11632
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/SAMBA_4_0:5616
d349723c-e9fc-0310-b8a8-fdedf1c27407:/local/samba-SAMBA_4_0:5609
Modified: branches/SAMBA_4_0/source/include/structs.h
===================================================================
Modified: branches/SAMBA_4_0/source/libcli/dgram/libdgram.h
===================================================================
Modified: branches/SAMBA_4_0/source/libcli/dgram/ntlogon.c
===================================================================
Modified: branches/SAMBA_4_0/source/libcli/nbt/namerefresh.c
===================================================================
Modified: branches/SAMBA_4_0/source/libcli/nbt/nameregister.c
===================================================================
Modified: branches/SAMBA_4_0/source/main.mk
===================================================================
Modified: branches/SAMBA_4_0/source/nbt_server/dgram/netlogon.c
===================================================================
Modified: branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c
===================================================================
--- branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c 2005-10-14 12:56:42 UTC (rev 11043)
+++ branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c 2005-10-14 12:57:00 UTC (rev 11044)
@@ -561,6 +561,58 @@
return status;
}
+ rec = talloc(mem_ctx, struct winsdb_record);
+ if (rec == NULL) {
+ status = NT_STATUS_NO_MEMORY;
+ goto failed;
+ }
+
+ if (!name) {
+ status = winsdb_nbt_name(rec, msg->dn, &name);
+ if (!NT_STATUS_IS_OK(status)) goto failed;
+ }
+
+ /* parse it into a more convenient winsdb_record structure */
+ rec->name = name;
+ rec->state = ldb_msg_find_int(msg, "state", WINS_REC_RELEASED);
+ rec->nb_flags = ldb_msg_find_int(msg, "nbFlags", 0);
+ rec->wins_owner = ldb_msg_find_string(msg, "winsOwner", NULL);
+ rec->expire_time = ldap_string_to_time(ldb_msg_find_string(msg, "expireTime", NULL));
+ rec->registered_by = ldb_msg_find_string(msg, "registeredBy", NULL);
+ rec->version = ldb_msg_find_uint64(msg, "versionID", 0);
+ talloc_steal(rec, rec->wins_owner);
+ talloc_steal(rec, rec->registered_by);
+
+ if (!rec->wins_owner) rec->wins_owner = WINSDB_OWNER_LOCAL;
+
+ el = ldb_msg_find_element(msg, "address");
+ if (el == NULL) {
+ status = NT_STATUS_INTERNAL_DB_CORRUPTION;
+ goto failed;
+ }
+
+ rec->addresses = talloc_array(rec, struct winsdb_addr *, el->num_values+1);
+ if (rec->addresses == NULL) {
+ status = NT_STATUS_NO_MEMORY;
+ goto failed;
+ }
+
+ for (i=0;i<el->num_values;i++) {
+ status = winsdb_addr_decode(rec, &el->values[i], rec->addresses, &rec->addresses[i]);
+ if (!NT_STATUS_IS_OK(status)) goto failed;
+ }
+ rec->addresses[i] = NULL;
+
+ *_rec = rec;
+ return NT_STATUS_OK;
+failed:
+ if (NT_STATUS_EQUAL(NT_STATUS_INTERNAL_DB_CORRUPTION, status)) {
+ DEBUG(1,("winsdb_record: corrupted record: %s\n", ldb_dn_linearize(rec, msg->dn)));
+ }
+ talloc_free(rec);
+ return status;
+}
+
/*
form a ldb_message from a winsdb_record
*/
Modified: branches/SAMBA_4_0/source/torture/nbt/dgram.c
===================================================================
More information about the samba-cvs
mailing list