Print this page
1575 untangle libmlrpc ... (smbsrv)


  22 /*
  23  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  24  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  25  */
  26 
  27 /*
  28  * Security Accounts Manager RPC (SAMR) server-side interface.
  29  *
  30  * The SAM is a hierarchical database:
  31  * - If you want to talk to the SAM you need a SAM handle.
  32  * - If you want to work with a domain, use the SAM handle.
  33  *   to obtain a domain handle.
  34  * - Use domain handles to obtain user handles etc.
  35  */
  36 
  37 #include <strings.h>
  38 #include <unistd.h>
  39 #include <netdb.h>
  40 #include <assert.h>
  41 #include <grp.h>

  42 #include <smbsrv/libsmb.h>
  43 #include <smbsrv/libmlrpc.h>
  44 #include <smbsrv/libmlsvc.h>
  45 #include <smbsrv/smbinfo.h>
  46 #include <smbsrv/nmpipes.h>
  47 #include <smbsrv/ndl/samrpc.ndl>
  48 #include <samlib.h>
  49 
  50 /*
  51  * The keys associated with the various handles dispensed by the SAMR
  52  * server.  These keys can be used to validate client activity.
  53  * These values are never passed over the wire so security shouldn't
  54  * be an issue.
  55  */
  56 typedef enum {
  57         SAMR_KEY_NULL = 0,
  58         SAMR_KEY_CONNECT,
  59         SAMR_KEY_DOMAIN,
  60         SAMR_KEY_USER,
  61         SAMR_KEY_GROUP,
  62         SAMR_KEY_ALIAS
  63 } samr_key_t;




  22 /*
  23  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  24  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  25  */
  26 
  27 /*
  28  * Security Accounts Manager RPC (SAMR) server-side interface.
  29  *
  30  * The SAM is a hierarchical database:
  31  * - If you want to talk to the SAM you need a SAM handle.
  32  * - If you want to work with a domain, use the SAM handle.
  33  *   to obtain a domain handle.
  34  * - Use domain handles to obtain user handles etc.
  35  */
  36 
  37 #include <strings.h>
  38 #include <unistd.h>
  39 #include <netdb.h>
  40 #include <assert.h>
  41 #include <grp.h>
  42 #include <libmlrpc/libmlrpc.h>
  43 #include <smbsrv/libsmb.h>

  44 #include <smbsrv/libmlsvc.h>
  45 #include <smbsrv/smbinfo.h>
  46 #include <smbsrv/nmpipes.h>
  47 #include <smbsrv/ndl/samrpc.ndl>
  48 #include <samlib.h>
  49 
  50 /*
  51  * The keys associated with the various handles dispensed by the SAMR
  52  * server.  These keys can be used to validate client activity.
  53  * These values are never passed over the wire so security shouldn't
  54  * be an issue.
  55  */
  56 typedef enum {
  57         SAMR_KEY_NULL = 0,
  58         SAMR_KEY_CONNECT,
  59         SAMR_KEY_DOMAIN,
  60         SAMR_KEY_USER,
  61         SAMR_KEY_GROUP,
  62         SAMR_KEY_ALIAS
  63 } samr_key_t;