Print this page
1575 untangle libmlrpc from SMB server
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
NEX-15052 Need a way to add appliance local user/group ACE from Windows
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15052 Need a way to add appliance local user/group ACE from Windows
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-3106 ACL editor crash in Windows 2012 R2
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Alek Pinchuk <alek.pinchuk@nexenta.com>
re #12435 rb3958 r10 is added 2 times to panic info
re #12393 rb3935 Kerberos and smbd disagree about who is our AD server

*** 19,39 **** * CDDL HEADER END */ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. ! * Copyright 2015 Nexenta Systems, Inc. All rights reserved. */ #ifndef _MLSVC_SAM_NDL_ #define _MLSVC_SAM_NDL_ /* * Security Accounts Manager RPC (SAMR) interface definition. */ ! #include "ndrtypes.ndl" /* Windows NT */ #define SAMR_OPNUM_Connect 0x00 /* SamrConnect */ #define SAMR_OPNUM_CloseHandle 0x01 #define SAMR_OPNUM_SetSecObject 0x02 --- 19,39 ---- * CDDL HEADER END */ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. ! * Copyright 2017 Nexenta Systems, Inc. All rights reserved. */ #ifndef _MLSVC_SAM_NDL_ #define _MLSVC_SAM_NDL_ /* * Security Accounts Manager RPC (SAMR) interface definition. */ ! #include <libmlrpc/ndrtypes.ndl> /* Windows NT */ #define SAMR_OPNUM_Connect 0x00 /* SamrConnect */ #define SAMR_OPNUM_CloseHandle 0x01 #define SAMR_OPNUM_SetSecObject 0x02
*** 361,371 **** * and for the benefit of our client-side code. */ #ifndef NDRGEN #define SAMR_USER_PWLEN 256 struct samr_user_password { ! smb_wchar_t Buffer[SAMR_USER_PWLEN]; DWORD Length; }; #endif /* NDRGEN */ /* SAMPR_ENCRYPTED_USER_PASSWORD */ --- 361,371 ---- * and for the benefit of our client-side code. */ #ifndef NDRGEN #define SAMR_USER_PWLEN 256 struct samr_user_password { ! ndr_wchar_t Buffer[SAMR_USER_PWLEN]; DWORD Length; }; #endif /* NDRGEN */ /* SAMPR_ENCRYPTED_USER_PASSWORD */
*** 486,495 **** --- 486,522 ---- }; /* *********************************************************************** + * QuerySecObject + * + * Returns the SecurityDescriptor of the object. Support not complete. + * + * QuerySecObject ( + * IN samr_handle_t obj_handle, + * IN SECURITY_INFO secinfo, + * OUT samr_sd_t *sd, + * OUT DWORD status + * ) + * + *********************************************************************** + */ + + typedef DWORD SECURITY_INFO; + + OPERATION(SAMR_OPNUM_QuerySecObject) + struct samr_QuerySecObject { + IN samr_handle_t obj_handle; + IN SECURITY_INFO secinfo; + OUT samr_sd_t *sd; + OUT DWORD status; + }; + + + /* + *********************************************************************** * LookupDomain: lookup up the domain SID. *********************************************************************** */ OPERATION(SAMR_OPNUM_LookupDomain) struct samr_LookupDomain {
*** 1390,1399 **** --- 1417,1428 ---- union samr_interface { CASE(SAMR_OPNUM_Connect) struct samr_Connect Connect; CASE(SAMR_OPNUM_CloseHandle) struct samr_CloseHandle CloseHandle; + CASE(SAMR_OPNUM_QuerySecObject) + struct samr_QuerySecObject QuerySecObject; CASE(SAMR_OPNUM_LookupDomain) struct samr_LookupDomain LookupDomain; CASE(SAMR_OPNUM_EnumLocalDomains) struct samr_EnumLocalDomain EnumLocalDomain; CASE(SAMR_OPNUM_OpenDomain)