mirror of
https://github.com/samba-team/samba.git
synced 2025-02-04 17:47:26 +03:00
r11900: - make sure address and registered_by are replaced when they're not present
- make sure we don't add active records with 0 addresses metze (This used to be commit 5e7324efb338f4c4e390e4930d7ea21056db3a57)
This commit is contained in:
parent
7746a144cd
commit
dd47d5f93f
@ -513,9 +513,16 @@ struct ldb_message *winsdb_message(struct ldb_context *ldb,
|
||||
struct winsdb_record *rec, TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
int i, ret=0;
|
||||
size_t addr_count;
|
||||
struct ldb_message *msg = ldb_msg_new(mem_ctx);
|
||||
if (msg == NULL) goto failed;
|
||||
|
||||
/* make sure we don't put in corrupted records */
|
||||
addr_count = winsdb_addr_list_length(rec->addresses);
|
||||
if (rec->state == WREPL_STATE_ACTIVE && addr_count == 0) {
|
||||
rec->state = WREPL_STATE_RELEASED;
|
||||
}
|
||||
|
||||
msg->dn = winsdb_dn(msg, rec->name);
|
||||
if (msg->dn == NULL) goto failed;
|
||||
ret |= ldb_msg_add_fmt(msg, "type", "0x%02X", rec->name->type);
|
||||
@ -534,9 +541,11 @@ struct ldb_message *winsdb_message(struct ldb_context *ldb,
|
||||
ldb_timestring(msg, rec->expire_time));
|
||||
ret |= ldb_msg_add_fmt(msg, "versionID", "%llu", rec->version);
|
||||
ret |= ldb_msg_add_string(msg, "winsOwner", rec->wins_owner);
|
||||
ret |= ldb_msg_add_empty(msg, "address", 0);
|
||||
for (i=0;rec->addresses[i];i++) {
|
||||
ret |= ldb_msg_add_winsdb_addr(msg, "address", rec->addresses[i]);
|
||||
}
|
||||
ret |= ldb_msg_add_empty(msg, "registeredBy", 0);
|
||||
if (rec->registered_by) {
|
||||
ret |= ldb_msg_add_string(msg, "registeredBy", rec->registered_by);
|
||||
if (ret != 0) goto failed;
|
||||
|
Loading…
x
Reference in New Issue
Block a user