mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
r10627: - use a wrepl specific enum for the node type
- the unknown flag 0x10 seems to mean that this name was localy registered on this
currently asked server, that flag is not present in replica records
metze
(This used to be commit ba3685c41d
)
This commit is contained in:
parent
c91fa5c504
commit
c2d7914428
@ -707,7 +707,7 @@ NTSTATUS wrepl_pull_names_recv(struct wrepl_request *req,
|
||||
talloc_steal(io->out.names, wname->name.scope);
|
||||
name->type = WREPL_NAME_TYPE(wname->flags);
|
||||
name->state = WREPL_NAME_STATE(wname->flags);
|
||||
name->node = WREPL_NBT_NODE(wname->flags);
|
||||
name->node = WREPL_NAME_NODE(wname->flags);
|
||||
name->is_static = WREPL_NAME_IS_STATIC(wname->flags);
|
||||
name->raw_flags = wname->flags;
|
||||
name->version_id= wname->id;
|
||||
|
@ -106,11 +106,11 @@ struct wrepl_pull_table {
|
||||
|
||||
#define WREPL_NAME_TYPE(flags) (flags & WREPL_FLAGS_RECORD_TYPE)
|
||||
#define WREPL_NAME_STATE(flags) ((flags & WREPL_FLAGS_RECORD_STATE)>>2)
|
||||
#define WREPL_NBT_NODE(flags) ((flags & WREPL_FLAGS_NODE_TYPE)<<8)
|
||||
#define WREPL_NAME_NODE(flags) ((flags & WREPL_FLAGS_NODE_TYPE)>>5)
|
||||
#define WREPL_NAME_IS_STATIC(flags) ((flags & WREPL_FLAGS_IS_STATIC)?True:False)
|
||||
|
||||
#define WREPL_NAME_FLAGS(type, state, node, is_static) \
|
||||
(type | (state << 2) | (node>>8) | \
|
||||
(type | (state << 2) | (node << 5) | \
|
||||
(is_static ? WREPL_FLAGS_IS_STATIC : 0))
|
||||
|
||||
/*
|
||||
@ -127,7 +127,7 @@ struct wrepl_pull_names {
|
||||
struct nbt_name name;
|
||||
enum wrepl_name_type type;
|
||||
enum wrepl_name_state state;
|
||||
enum nbt_node_type node;
|
||||
enum wrepl_name_node node;
|
||||
BOOL is_static;
|
||||
uint32_t raw_flags;
|
||||
uint64_t version_id;
|
||||
|
@ -49,10 +49,17 @@ interface wrepl
|
||||
WREPL_STATE_RESERVED = 0x3
|
||||
} wrepl_name_state;
|
||||
|
||||
typedef [enum8bit] enum {
|
||||
WREPL_NODE_B = 0x0,
|
||||
WREPL_NODE_P = 0x1,
|
||||
WREPL_NODE_M = 0x2,
|
||||
WREPL_NODE_H = 0x3
|
||||
} wrepl_name_node;
|
||||
|
||||
typedef [bitmap32bit] bitmap {
|
||||
WREPL_FLAGS_RECORD_TYPE = 0x00000003,
|
||||
WREPL_FLAGS_RECORD_STATE = 0x0000000C,
|
||||
WREPL_FLAGS_0x00000010 = 0x00000010,
|
||||
WREPL_FLAGS_REGISTERED_LOCAL = 0x00000010,
|
||||
WREPL_FLAGS_NODE_TYPE = 0x00000060,
|
||||
WREPL_FLAGS_IS_STATIC = 0x00000080
|
||||
} wrepl_flags;
|
||||
|
@ -147,9 +147,9 @@ static void display_entry(TALLOC_CTX *mem_ctx, struct wrepl_name *name)
|
||||
int i;
|
||||
|
||||
printf("%s\n", nbt_name_string(mem_ctx, &name->name));
|
||||
printf("\tTYPE:%u STATE:%u NODE:0x%04X STATIC:%u VERSION_ID: %llu\n",
|
||||
printf("\tTYPE:%u STATE:%u NODE:%u STATIC:%u VERSION_ID: %llu\n",
|
||||
name->type, name->state, name->node, name->is_static, name->version_id);
|
||||
printf("\tRAW_FLAGS:0x%08X OWNER: %-15s\n",
|
||||
printf("\tRAW_FLAGS: 0x%08X OWNER: %-15s\n",
|
||||
name->raw_flags, name->owner);
|
||||
for (i=0;i<name->num_addresses;i++) {
|
||||
printf("\tADDR: %-15s OWNER: %-15s\n",
|
||||
|
Loading…
Reference in New Issue
Block a user