Add init_netr_SamInfo3 routine.
authorGünther Deschner <gd@samba.org>
Sat, 16 Feb 2008 12:27:10 +0000 (13:27 +0100)
committerGünther Deschner <gd@samba.org>
Sat, 16 Feb 2008 12:44:33 +0000 (13:44 +0100)
Guenther

source/Makefile.in
source/rpc_client/init_netlogon.c [new file with mode: 0644]

index c3840d788d79f5254f6957b16f4781a01983b1d9..5257c684030c944cf3ca54491c08cc72da2b1ff5 100644 (file)
@@ -411,7 +411,8 @@ LIBMSRPC_OBJ = rpc_client/cli_lsarpc.o rpc_client/cli_samr.o \
               rpc_client/cli_spoolss.o rpc_client/cli_spoolss_notify.o  \
               rpc_client/cli_svcctl.o \
               rpc_client/init_samr.o \
-              rpc_client/init_lsa.o
+              rpc_client/init_lsa.o \
+              rpc_client/init_netlogon.o
 
 LIBMSRPC_GEN_OBJ = librpc/gen_ndr/cli_lsa.o \
                   librpc/gen_ndr/cli_dfs.o \
diff --git a/source/rpc_client/init_netlogon.c b/source/rpc_client/init_netlogon.c
new file mode 100644 (file)
index 0000000..73e8717
--- /dev/null
@@ -0,0 +1,138 @@
+/*
+ *  Unix SMB/CIFS implementation.
+ *  RPC Pipe client / server routines
+ *  Copyright (C) Guenther Deschner                  2008.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "includes.h"
+
+/*******************************************************************
+ inits a structure.
+********************************************************************/
+
+void init_netr_SamBaseInfo(struct netr_SamBaseInfo *r,
+                          NTTIME last_logon,
+                          NTTIME last_logoff,
+                          NTTIME acct_expiry,
+                          NTTIME last_password_change,
+                          NTTIME allow_password_change,
+                          NTTIME force_password_change,
+                          const char *account_name,
+                          const char *full_name,
+                          const char *logon_script,
+                          const char *profile_path,
+                          const char *home_directory,
+                          const char *home_drive,
+                          uint16_t logon_count,
+                          uint16_t bad_password_count,
+                          uint32_t rid,
+                          uint32_t primary_gid,
+                          struct samr_RidWithAttributeArray groups,
+                          uint32_t user_flags,
+                          struct netr_UserSessionKey key,
+                          const char *logon_server,
+                          const char *domain,
+                          struct dom_sid2 *domain_sid,
+                          struct netr_LMSessionKey LMSessKey,
+                          uint32_t acct_flags)
+{
+       r->last_logon = last_logon;
+       r->last_logoff = last_logoff;
+       r->acct_expiry = acct_expiry;
+       r->last_password_change = last_password_change;
+       r->allow_password_change = allow_password_change;
+       r->force_password_change = force_password_change;
+       init_lsa_String(&r->account_name, account_name);
+       init_lsa_String(&r->full_name, full_name);
+       init_lsa_String(&r->logon_script, logon_script);
+       init_lsa_String(&r->profile_path, profile_path);
+       init_lsa_String(&r->home_directory, home_directory);
+       init_lsa_String(&r->home_drive, home_drive);
+       r->logon_count = logon_count;
+       r->bad_password_count = bad_password_count;
+       r->rid = rid;
+       r->primary_gid = primary_gid;
+       r->groups = groups;
+       r->user_flags = user_flags;
+       r->key = key;
+       init_lsa_StringLarge(&r->logon_server, logon_server);
+       init_lsa_StringLarge(&r->domain, domain);
+       r->domain_sid = domain_sid;
+       r->LMSessKey = LMSessKey;
+       r->acct_flags = acct_flags;
+}
+
+/*******************************************************************
+ inits a structure.
+********************************************************************/
+
+void init_netr_SamInfo3(struct netr_SamInfo3 *r,
+                       NTTIME last_logon,
+                       NTTIME last_logoff,
+                       NTTIME acct_expiry,
+                       NTTIME last_password_change,
+                       NTTIME allow_password_change,
+                       NTTIME force_password_change,
+                       const char *account_name,
+                       const char *full_name,
+                       const char *logon_script,
+                       const char *profile_path,
+                       const char *home_directory,
+                       const char *home_drive,
+                       uint16_t logon_count,
+                       uint16_t bad_password_count,
+                       uint32_t rid,
+                       uint32_t primary_gid,
+                       struct samr_RidWithAttributeArray groups,
+                       uint32_t user_flags,
+                       struct netr_UserSessionKey key,
+                       const char *logon_server,
+                       const char *domain,
+                       struct dom_sid2 *domain_sid,
+                       struct netr_LMSessionKey LMSessKey,
+                       uint32_t acct_flags,
+                       uint32_t sidcount,
+                       struct netr_SidAttr *sids)
+{
+       init_netr_SamBaseInfo(&r->base,
+                             last_logon,
+                             last_logoff,
+                             acct_expiry,
+                             last_password_change,
+                             allow_password_change,
+                             force_password_change,
+                             account_name,
+                             full_name,
+                             logon_script,
+                             profile_path,
+                             home_directory,
+                             home_drive,
+                             logon_count,
+                             bad_password_count,
+                             rid,
+                             primary_gid,
+                             groups,
+                             user_flags,
+                             key,
+                             logon_server,
+                             domain,
+                             domain_sid,
+                             LMSessKey,
+                             acct_flags);
+       r->sidcount = sidcount;
+       r->sids = sids;
+}
+