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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/smbsrv/ndl/samrpc.ndl
          +++ new/usr/src/uts/common/smbsrv/ndl/samrpc.ndl
↓ open down ↓ 13 lines elided ↑ open up ↑
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  24      - * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
       24 + * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  25   25   */
  26   26  
  27   27  #ifndef _MLSVC_SAM_NDL_
  28   28  #define _MLSVC_SAM_NDL_
  29   29  
  30   30  /*
  31   31   * Security Accounts Manager RPC (SAMR) interface definition.
  32   32   */
  33   33  
  34      -#include "ndrtypes.ndl"
       34 +#include <libmlrpc/ndrtypes.ndl>
  35   35  
  36   36  /* Windows NT */
  37   37  #define SAMR_OPNUM_Connect                      0x00    /* SamrConnect */
  38   38  #define SAMR_OPNUM_CloseHandle                  0x01
  39   39  #define SAMR_OPNUM_SetSecObject                 0x02
  40   40  #define SAMR_OPNUM_QuerySecObject               0x03
  41   41  #define SAMR_OPNUM_ShutdownSamServer            0x04    /* NotUsedOnWire */
  42   42  #define SAMR_OPNUM_LookupDomain                 0x05
  43   43  #define SAMR_OPNUM_EnumLocalDomains             0x06
  44   44  #define SAMR_OPNUM_OpenDomain                   0x07
↓ open down ↓ 311 lines elided ↑ open up ↑
 356  356   * struct samr_user_password (internal use) is
 357  357   * the "clear" form of struct samr_encr_passwd
 358  358   * (SAMPR_ENCRYPTED_USER_PASSWORD in MS Net).
 359  359   * It's not used by ndrgen, but is declared here
 360  360   * to help clarify the relationship between these,
 361  361   * and for the benefit of our client-side code.
 362  362   */
 363  363  #ifndef NDRGEN
 364  364  #define SAMR_USER_PWLEN 256
 365  365  struct samr_user_password {
 366      -        smb_wchar_t     Buffer[SAMR_USER_PWLEN];
      366 +        ndr_wchar_t     Buffer[SAMR_USER_PWLEN];
 367  367          DWORD Length;
 368  368  };
 369  369  #endif  /* NDRGEN */
 370  370  
 371  371  /* SAMPR_ENCRYPTED_USER_PASSWORD */
 372  372  #define SAMR_ENCR_PWLEN 516     /* sizeof samr_user_password */
 373  373  struct samr_encr_passwd {
 374  374          BYTE data[SAMR_ENCR_PWLEN];
 375  375  };
 376  376  
↓ open down ↓ 104 lines elided ↑ open up ↑
 481  481  OPERATION(SAMR_OPNUM_CloseHandle)
 482  482  struct samr_CloseHandle {
 483  483          IN      samr_handle_t handle;
 484  484          OUT     samr_handle_t result_handle;
 485  485          OUT     DWORD status;
 486  486  };
 487  487  
 488  488  
 489  489  /*
 490  490   ***********************************************************************
      491 + * QuerySecObject
      492 + *
      493 + * Returns the SecurityDescriptor of the object. Support not complete.
      494 + *
      495 + * QuerySecObject (
      496 + *      IN samr_handle_t obj_handle,
      497 + *      IN SECURITY_INFO secinfo,
      498 + *      OUT samr_sd_t *sd,
      499 + *      OUT DWORD status
      500 + * )
      501 + *
      502 + ***********************************************************************
      503 + */
      504 +
      505 +typedef DWORD SECURITY_INFO;
      506 +
      507 +OPERATION(SAMR_OPNUM_QuerySecObject)
      508 +struct samr_QuerySecObject {
      509 +        IN      samr_handle_t obj_handle;
      510 +        IN      SECURITY_INFO secinfo;
      511 +        OUT     samr_sd_t *sd;
      512 +        OUT     DWORD status;
      513 +};
      514 +
      515 +
      516 +/*
      517 + ***********************************************************************
 491  518   * LookupDomain: lookup up the domain SID.
 492  519   ***********************************************************************
 493  520   */
 494  521  OPERATION(SAMR_OPNUM_LookupDomain)
 495  522  struct samr_LookupDomain {
 496  523          IN      samr_handle_t handle;
 497  524          IN      samr_string_t domain_name;
 498  525          OUT struct samr_sid *sid;
 499  526          OUT     DWORD status;
 500  527  };
↓ open down ↓ 884 lines elided ↑ open up ↑
1385 1412   ***********************************************************************
1386 1413   * The SAMR interface definition.
1387 1414   ***********************************************************************
1388 1415   */
1389 1416  INTERFACE(0)
1390 1417  union samr_interface {
1391 1418          CASE(SAMR_OPNUM_Connect)
1392 1419                  struct samr_Connect             Connect;
1393 1420          CASE(SAMR_OPNUM_CloseHandle)
1394 1421                  struct samr_CloseHandle         CloseHandle;
     1422 +        CASE(SAMR_OPNUM_QuerySecObject)
     1423 +                struct samr_QuerySecObject      QuerySecObject;
1395 1424          CASE(SAMR_OPNUM_LookupDomain)
1396 1425                  struct samr_LookupDomain        LookupDomain;
1397 1426          CASE(SAMR_OPNUM_EnumLocalDomains)
1398 1427                  struct samr_EnumLocalDomain     EnumLocalDomain;
1399 1428          CASE(SAMR_OPNUM_OpenDomain)
1400 1429                  struct samr_OpenDomain          OpenDomain;
1401 1430          CASE(SAMR_OPNUM_QueryDomainInfo)
1402 1431                  struct samr_QueryDomainInfo     QueryDomainInfo;
1403 1432          CASE(SAMR_OPNUM_QueryInfoDomain2)
1404 1433                  struct samr_QueryInfoDomain2    QueryInfoDomain2;
↓ open down ↓ 55 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX