mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
r18391: - match the samba3 protocol for UNIXINFO
- add a test for GidToSid metze (This used to be commit fb92643a8b64428e8259bc21fe04f876b24bfd84)
This commit is contained in:
parent
e6e21ed3ad
commit
fc84f0d3ca
@ -1,3 +1,4 @@
|
||||
#include "idl_types.h"
|
||||
/*
|
||||
Unixinfo interface definition
|
||||
*/
|
||||
@ -22,7 +23,7 @@
|
||||
/* Function: 0x01 */
|
||||
NTSTATUS unixinfo_UidToSid (
|
||||
[in] hyper uid,
|
||||
[out,ref] dom_sid *sid
|
||||
[out,unique] dom_sid *sid
|
||||
);
|
||||
|
||||
/******************/
|
||||
@ -36,13 +37,13 @@
|
||||
/* Function: 0x03 */
|
||||
NTSTATUS unixinfo_GidToSid (
|
||||
[in] hyper gid,
|
||||
[out,ref] dom_sid *sid
|
||||
[out,unique] dom_sid *sid
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
NTSTATUS status;
|
||||
[string,charset(UTF8)] uint8 *homedir;
|
||||
[string,charset(UTF8)] uint8 *shell;
|
||||
typedef struct {
|
||||
NTSTATUS status;
|
||||
utf8string homedir;
|
||||
utf8string shell;
|
||||
} unixinfo_GetPWUidInfo;
|
||||
|
||||
/******************/
|
||||
|
@ -32,13 +32,12 @@ static BOOL test_uidtosid(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct unixinfo_UidToSid r;
|
||||
struct dom_sid sid;
|
||||
|
||||
r.in.uid = 1000;
|
||||
r.out.sid = &sid;
|
||||
|
||||
status = dcerpc_unixinfo_UidToSid(p, mem_ctx, &r);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
if (NT_STATUS_EQUAL(NT_STATUS_NO_SUCH_USER, status)) {
|
||||
} else if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("UidToSid failed == %s\n", nt_errstr(status));
|
||||
return False;
|
||||
}
|
||||
@ -68,6 +67,26 @@ static BOOL test_getpwuid(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
|
||||
return NT_STATUS_IS_OK(result);
|
||||
}
|
||||
|
||||
/*
|
||||
test the GidToSid interface
|
||||
*/
|
||||
static BOOL test_gidtosid(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
NTSTATUS status;
|
||||
struct unixinfo_GidToSid r;
|
||||
|
||||
r.in.gid = 1000;
|
||||
|
||||
status = dcerpc_unixinfo_GidToSid(p, mem_ctx, &r);
|
||||
if (NT_STATUS_EQUAL(NT_STATUS_NO_SUCH_GROUP, status)) {
|
||||
} else if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("GidToSid failed == %s\n", nt_errstr(status));
|
||||
return False;
|
||||
}
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
BOOL torture_rpc_unixinfo(struct torture_context *torture)
|
||||
{
|
||||
NTSTATUS status;
|
||||
@ -84,6 +103,7 @@ BOOL torture_rpc_unixinfo(struct torture_context *torture)
|
||||
|
||||
ret &= test_uidtosid(p, mem_ctx);
|
||||
ret &= test_getpwuid(p, mem_ctx);
|
||||
ret &= test_gidtosid(p, mem_ctx);
|
||||
|
||||
printf("\n");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user