mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
d66150c14d
This changes the structure being used to convey the current user state from the netlogon-derived 'netr_SamInfo3' structure to a purpose-built structure that matches the internals of the Samba auth subsystem and contains the final group list, as well as the final privilege set and session key. These previously had to be re-created on the server side of the pipe each time. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
#include "idl_types.h"
|
|
/*
|
|
miscellaneous IDL structures
|
|
*/
|
|
|
|
import "netlogon.idl", "security.idl", "auth.idl";
|
|
|
|
[
|
|
pointer_default(unique)
|
|
]
|
|
interface named_pipe_auth
|
|
{
|
|
const char *NAMED_PIPE_AUTH_MAGIC = "NPAM";
|
|
|
|
typedef struct {
|
|
[charset(UTF8),string] uint8 *client_name;
|
|
[charset(DOS),string] uint8 *client_addr;
|
|
uint16 client_port;
|
|
[charset(UTF8),string] uint8 *server_name;
|
|
[charset(DOS),string] uint8 *server_addr;
|
|
uint16 server_port;
|
|
auth_session_info_transport *session_info;
|
|
} named_pipe_auth_req_info4;
|
|
|
|
typedef [switch_type(uint32)] union {
|
|
[case(4)] named_pipe_auth_req_info4 info4;
|
|
} named_pipe_auth_req_info;
|
|
|
|
typedef [public,gensize] struct {
|
|
[flag(NDR_BIG_ENDIAN),
|
|
value(ndr_size_named_pipe_auth_req(r,ndr->flags)-4)]
|
|
uint32 length;
|
|
[charset(DOS),value(NAMED_PIPE_AUTH_MAGIC)] uint8 magic[4];
|
|
uint32 level;
|
|
[switch_is(level)] named_pipe_auth_req_info info;
|
|
} named_pipe_auth_req;
|
|
|
|
typedef struct {
|
|
uint16 file_type;
|
|
uint16 device_state;
|
|
hyper allocation_size;
|
|
} named_pipe_auth_rep_info4;
|
|
|
|
typedef [switch_type(uint32)] union {
|
|
[case(4)] named_pipe_auth_rep_info4 info4;
|
|
} named_pipe_auth_rep_info;
|
|
|
|
typedef [public,gensize] struct {
|
|
[flag(NDR_BIG_ENDIAN),
|
|
value(ndr_size_named_pipe_auth_rep(r,ndr->flags)-4)]
|
|
uint32 length;
|
|
[charset(DOS),value(NAMED_PIPE_AUTH_MAGIC)] uint8 magic[4];
|
|
uint32 level;
|
|
[switch_is(level)] named_pipe_auth_rep_info info;
|
|
NTSTATUS status;
|
|
} named_pipe_auth_rep;
|
|
}
|
|
|