1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-24 02:04:21 +03:00

r10167: add a test to check if we always get the same assoc_ctx, on one connection.

metze
(This used to be commit 589541b7402506422e8a85a857ea48910b24f2d6)
This commit is contained in:
Stefan Metzmacher 2005-09-12 11:42:48 +00:00 committed by Gerald (Jerry) Carter
parent 5c7de96d2c
commit 76277d1813

View File

@ -95,6 +95,50 @@ done:
return ret;
}
/*
test if we always get back the same assoc_ctx
*/
static BOOL test_assoc_ctx2(TALLOC_CTX *mem_ctx, const char *address)
{
BOOL ret = True;
struct wrepl_socket *wrepl_socket;
struct wrepl_associate associate;
uint32_t assoc_ctx1;
NTSTATUS status;
printf("Test if we always get back the same assoc_ctx\n");
wrepl_socket = wrepl_socket_init(mem_ctx, NULL);
printf("Setup wrepl connections\n");
status = wrepl_connect(wrepl_socket, address);
CHECK_STATUS(status, NT_STATUS_OK);
printf("Send 1st start association request\n");
status = wrepl_associate(wrepl_socket, &associate);
CHECK_STATUS(status, NT_STATUS_OK);
assoc_ctx1 = associate.out.assoc_ctx;
printf("1st association context: 0x%x\n", associate.out.assoc_ctx);
printf("Send 2nd start association request\n");
status = wrepl_associate(wrepl_socket, &associate);
CHECK_VALUE(associate.out.assoc_ctx, assoc_ctx1);
CHECK_STATUS(status, NT_STATUS_OK);
printf("2nd association context: 0x%x\n", associate.out.assoc_ctx);
printf("Send 3rd start association request\n");
status = wrepl_associate(wrepl_socket, &associate);
CHECK_VALUE(associate.out.assoc_ctx, assoc_ctx1);
CHECK_STATUS(status, NT_STATUS_OK);
printf("3rd association context: 0x%x\n", associate.out.assoc_ctx);
done:
printf("Close wrepl connections\n");
talloc_free(wrepl_socket);
return ret;
}
/*
display a replication entry
*/
@ -145,8 +189,6 @@ static BOOL test_wins_replication(TALLOC_CTX *mem_ctx, const char *address)
struct wrepl_packet packet;
struct wrepl_request *req;
printf("We are not a valid pull partner for the server\n");
ZERO_STRUCT(packet);
packet.opcode = WREPL_OPCODE_BITS;
packet.assoc_ctx = associate.out.assoc_ctx;
@ -155,6 +197,8 @@ static BOOL test_wins_replication(TALLOC_CTX *mem_ctx, const char *address)
req = wrepl_request_send(wrepl_socket, &packet);
talloc_free(req);
printf("failed - We are not a valid pull partner for the server\n");
ret = False;
goto done;
}
@ -212,6 +256,7 @@ BOOL torture_nbt_winsreplication(void)
}
ret &= test_assoc_ctx1(mem_ctx, address);
ret &= test_assoc_ctx2(mem_ctx, address);
ret &= test_wins_replication(mem_ctx, address);