From 2c3dc9baa57d32c48cc58f16abae20fe763fd06f Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 4 Mar 2008 23:07:45 +0100 Subject: Use pidl for _srvsvc_NetSrvGetInfo(). Guenther (This used to be commit 34caa41fa6d44165b470508261c2bde124fc4955) --- source3/rpc_client/init_srvsvc.c | 86 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 source3/rpc_client/init_srvsvc.c (limited to 'source3/rpc_client/init_srvsvc.c') diff --git a/source3/rpc_client/init_srvsvc.c b/source3/rpc_client/init_srvsvc.c new file mode 100644 index 0000000000..a4ee54cb48 --- /dev/null +++ b/source3/rpc_client/init_srvsvc.c @@ -0,0 +1,86 @@ +/* + * 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 . + */ + +#include "includes.h" + +/******************************************************************* + inits a srvsvc_NetSrvInfo102 structure +********************************************************************/ + +void init_srvsvc_NetSrvInfo102(struct srvsvc_NetSrvInfo102 *r, + enum srvsvc_PlatformId platform_id, + const char *server_name, + uint32_t version_major, + uint32_t version_minor, + uint32_t server_type, + const char *comment, + uint32_t users, + uint32_t disc, + uint32_t hidden, + uint32_t announce, + uint32_t anndelta, + uint32_t licenses, + const char *userpath) +{ + r->platform_id = platform_id; + r->server_name = server_name; + r->version_major = version_major; + r->version_minor = version_minor; + r->server_type = server_type; + r->comment = comment; + r->users = users; + r->disc = disc; + r->hidden = hidden; + r->announce = announce; + r->anndelta = anndelta; + r->licenses = licenses; + r->userpath = userpath; +} + +/******************************************************************* + inits a srvsvc_NetSrvInfo101 structure +********************************************************************/ + +void init_srvsvc_NetSrvInfo101(struct srvsvc_NetSrvInfo101 *r, + enum srvsvc_PlatformId platform_id, + const char *server_name, + uint32_t version_major, + uint32_t version_minor, + uint32_t server_type, + const char *comment) +{ + r->platform_id = platform_id; + r->server_name = server_name; + r->version_major = version_major; + r->version_minor = version_minor; + r->server_type = server_type; + r->comment = comment; +} + +/******************************************************************* + inits a srvsvc_NetSrvInfo100 structure +********************************************************************/ + +void init_srvsvc_NetSrvInfo100(struct srvsvc_NetSrvInfo100 *r, + enum srvsvc_PlatformId platform_id, + const char *server_name) +{ + r->platform_id = platform_id; + r->server_name = server_name; +} -- cgit From 78b20443c587d303aa33f594c746c38e2689004d Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 5 Mar 2008 10:34:45 +0100 Subject: Use pidl for _srvsvc_NetRemoteTOD(). Guenther (This used to be commit 2b4e0f0593c6378cdac4811ded830ca694afac9e) --- source3/rpc_client/init_srvsvc.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'source3/rpc_client/init_srvsvc.c') diff --git a/source3/rpc_client/init_srvsvc.c b/source3/rpc_client/init_srvsvc.c index a4ee54cb48..5e868ffd2b 100644 --- a/source3/rpc_client/init_srvsvc.c +++ b/source3/rpc_client/init_srvsvc.c @@ -84,3 +84,36 @@ void init_srvsvc_NetSrvInfo100(struct srvsvc_NetSrvInfo100 *r, r->platform_id = platform_id; r->server_name = server_name; } + +/******************************************************************* + inits a srvsvc_NetRemoteTODInfo structure + ********************************************************************/ + +void init_srvsvc_NetRemoteTODInfo(struct srvsvc_NetRemoteTODInfo *r, + uint32_t elapsed, + uint32_t msecs, + uint32_t hours, + uint32_t mins, + uint32_t secs, + uint32_t hunds, + int32_t ttimezone, + uint32_t tinterval, + uint32_t day, + uint32_t month, + uint32_t year, + uint32_t weekday) +{ + r->elapsed = elapsed; + r->msecs = msecs; + r->hours = hours; + r->mins = mins; + r->secs = secs; + r->hunds = hunds; + r->timezone = ttimezone; + r->tinterval = tinterval; + r->day = day; + r->month = month; + r->year = year; + r->weekday = weekday; +} + -- cgit From 221af840a597e49e58e2f1ab350307374e912878 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Fri, 7 Mar 2008 02:59:58 +0100 Subject: Add some more init_srvsvc_NetShareInfoX functions. Guenther (This used to be commit cb3577e695f80d76e4c20f6396d57e3a2047c3c4) --- source3/rpc_client/init_srvsvc.c | 134 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) (limited to 'source3/rpc_client/init_srvsvc.c') diff --git a/source3/rpc_client/init_srvsvc.c b/source3/rpc_client/init_srvsvc.c index 5e868ffd2b..579756cae3 100644 --- a/source3/rpc_client/init_srvsvc.c +++ b/source3/rpc_client/init_srvsvc.c @@ -85,6 +85,140 @@ void init_srvsvc_NetSrvInfo100(struct srvsvc_NetSrvInfo100 *r, r->server_name = server_name; } +/******************************************************************* + inits a srvsvc_NetShareInfo0 structure +********************************************************************/ + +void init_srvsvc_NetShareInfo0(struct srvsvc_NetShareInfo0 *r, + const char *name) +{ + r->name = name; +} + +/******************************************************************* + inits a srvsvc_NetShareInfo1 structure +********************************************************************/ + +void init_srvsvc_NetShareInfo1(struct srvsvc_NetShareInfo1 *r, + const char *name, + enum srvsvc_ShareType type, + const char *comment) +{ + r->name = name; + r->type = type; + r->comment = comment; +} + +/******************************************************************* + inits a srvsvc_NetShareInfo2 structure +********************************************************************/ + +void init_srvsvc_NetShareInfo2(struct srvsvc_NetShareInfo2 *r, + const char *name, + enum srvsvc_ShareType type, + const char *comment, + uint32_t permissions, + uint32_t max_users, + uint32_t current_users, + const char *path, + const char *password) +{ + r->name = name; + r->type = type; + r->comment = comment; + r->permissions = permissions; + r->max_users = max_users; + r->current_users = current_users; + r->path = path; + r->password = password; +} + +/******************************************************************* + inits a srvsvc_NetShareInfo501 structure +********************************************************************/ + +void init_srvsvc_NetShareInfo501(struct srvsvc_NetShareInfo501 *r, + const char *name, + enum srvsvc_ShareType type, + const char *comment, + uint32_t csc_policy) +{ + r->name = name; + r->type = type; + r->comment = comment; + r->csc_policy = csc_policy; +} + +/******************************************************************* + inits a srvsvc_NetShareInfo502 structure +********************************************************************/ + +void init_srvsvc_NetShareInfo502(struct srvsvc_NetShareInfo502 *r, + const char *name, + enum srvsvc_ShareType type, + const char *comment, + uint32_t permissions, + int32_t max_users, + uint32_t current_users, + const char *path, + const char *password, + uint32_t unknown, + struct security_descriptor *sd) +{ + r->name = name; + r->type = type; + r->comment = comment; + r->permissions = permissions; + r->max_users = max_users; + r->current_users = current_users; + r->path = path; + r->password = password; + r->unknown = unknown; + r->sd = sd; +} + +/******************************************************************* + inits a srvsvc_NetShareInfo1004 structure +********************************************************************/ + +void init_srvsvc_NetShareInfo1004(struct srvsvc_NetShareInfo1004 *r, + const char *comment) +{ + r->comment = comment; +} + +/******************************************************************* + inits a srvsvc_NetShareInfo1005 structure +********************************************************************/ + +void init_srvsvc_NetShareInfo1005(struct srvsvc_NetShareInfo1005 *r, + uint32_t dfs_flags) +{ + r->dfs_flags = dfs_flags; +} + +/******************************************************************* + inits a srvsvc_NetShareInfo1006 structure +********************************************************************/ + +void init_srvsvc_NetShareInfo1006(struct srvsvc_NetShareInfo1006 *r, + int32_t max_users) +{ + r->max_users = max_users; +} + +/******************************************************************* + inits a srvsvc_NetShareInfo1007 structure +********************************************************************/ + +void init_srvsvc_NetShareInfo1007(struct srvsvc_NetShareInfo1007 *r, + uint32_t flags, + const char *alternate_directory_name) +{ + r->flags = flags; + r->alternate_directory_name = alternate_directory_name; +} + /******************************************************************* inits a srvsvc_NetRemoteTODInfo structure ********************************************************************/ -- cgit From 032d4fa8ea3c5df2607e70eee1f13d51be460196 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Sun, 9 Mar 2008 21:28:53 +0100 Subject: Add some srvsvc_NetSessInfo init functions. Guenther (This used to be commit 8168fd583cfc2ad64e5c1aa67047d8c3c607993a) --- source3/rpc_client/init_srvsvc.c | 91 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) (limited to 'source3/rpc_client/init_srvsvc.c') diff --git a/source3/rpc_client/init_srvsvc.c b/source3/rpc_client/init_srvsvc.c index 579756cae3..0d4d616384 100644 --- a/source3/rpc_client/init_srvsvc.c +++ b/source3/rpc_client/init_srvsvc.c @@ -251,3 +251,94 @@ void init_srvsvc_NetRemoteTODInfo(struct srvsvc_NetRemoteTODInfo *r, r->weekday = weekday; } +/******************************************************************* + inits a srvsvc_NetSessInfo0 structure + ********************************************************************/ + +void init_srvsvc_NetSessInfo0(struct srvsvc_NetSessInfo0 *r, + const char *client) +{ + r->client = client; +} + +/******************************************************************* + inits a srvsvc_NetSessInfo1 structure + ********************************************************************/ + +void init_srvsvc_NetSessInfo1(struct srvsvc_NetSessInfo1 *r, + const char *client, + const char *user, + uint32_t num_open, + uint32_t _time, + uint32_t idle_time, + uint32_t user_flags) +{ + r->client = client; + r->user = user; + r->num_open = num_open; + r->time = _time; + r->idle_time = idle_time; + r->user_flags = user_flags; +} + +/******************************************************************* + inits a srvsvc_NetSessInfo2 structure + ********************************************************************/ + +void init_srvsvc_NetSessInfo2(struct srvsvc_NetSessInfo2 *r, + const char *client, + const char *user, + uint32_t num_open, + uint32_t _time, + uint32_t idle_time, + uint32_t user_flags, + const char *client_type) +{ + r->client = client; + r->user = user; + r->num_open = num_open; + r->time = _time; + r->idle_time = idle_time; + r->user_flags = user_flags; + r->client_type = client_type; +} + +/******************************************************************* + inits a srvsvc_NetSessInfo10 structure + ********************************************************************/ + +void init_srvsvc_NetSessInfo10(struct srvsvc_NetSessInfo10 *r, + const char *client, + const char *user, + uint32_t _time, + uint32_t idle_time) +{ + r->client = client; + r->user = user; + r->time = _time; + r->idle_time = idle_time; +} + +/******************************************************************* + inits a srvsvc_NetSessInfo502 structure + ********************************************************************/ + +void init_srvsvc_NetSessInfo502(struct srvsvc_NetSessInfo502 *r, + const char *client, + const char *user, + uint32_t num_open, + uint32_t _time, + uint32_t idle_time, + uint32_t user_flags, + const char *client_type, + const char *transport) +{ + r->client = client; + r->user = user; + r->num_open = num_open; + r->time = _time; + r->idle_time = idle_time; + r->user_flags = user_flags; + r->client_type = client_type; + r->transport = transport; +} -- cgit From b83234cf4028f067f274754786e66bb071df7cd9 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 11 Mar 2008 18:19:45 +0100 Subject: Add some last init_srvsvc_X functions. Guenther (This used to be commit 41dc55f1de8590b1bb5572e4adbf9bf960c12a64) --- source3/rpc_client/init_srvsvc.c | 60 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'source3/rpc_client/init_srvsvc.c') diff --git a/source3/rpc_client/init_srvsvc.c b/source3/rpc_client/init_srvsvc.c index 0d4d616384..7b595683f7 100644 --- a/source3/rpc_client/init_srvsvc.c +++ b/source3/rpc_client/init_srvsvc.c @@ -342,3 +342,63 @@ void init_srvsvc_NetSessInfo502(struct srvsvc_NetSessInfo502 *r, r->client_type = client_type; r->transport = transport; } + +/******************************************************************* + inits a srvsvc_NetFileInfo2 structure + ********************************************************************/ + +void init_srvsvc_NetFileInfo2(struct srvsvc_NetFileInfo2 *r, + uint32_t fid) +{ + r->fid = fid; +} + +/******************************************************************* + inits a srvsvc_NetFileInfo3 structure + ********************************************************************/ + +void init_srvsvc_NetFileInfo3(struct srvsvc_NetFileInfo3 *r, + uint32_t fid, + uint32_t permissions, + uint32_t num_locks, + const char *path, + const char *user) +{ + r->fid = fid; + r->permissions = permissions; + r->num_locks = num_locks; + r->path = path; + r->user = user; +} + +/******************************************************************* + inits a srvsvc_NetConnInfo0 structure + ********************************************************************/ + +void init_srvsvc_NetConnInfo0(struct srvsvc_NetConnInfo0 *r, + uint32_t conn_id) +{ + r->conn_id = conn_id; +} + +/******************************************************************* + inits a srvsvc_NetConnInfo1 structure + ********************************************************************/ + +void init_srvsvc_NetConnInfo1(struct srvsvc_NetConnInfo1 *r, + uint32_t conn_id, + uint32_t conn_type, + uint32_t num_open, + uint32_t num_users, + uint32_t conn_time, + const char *user, + const char *share) +{ + r->conn_id = conn_id; + r->conn_type = conn_type; + r->num_open = num_open; + r->num_users = num_users; + r->conn_time = conn_time; + r->user = user; + r->share = share; +} -- cgit From 9afc225b377c29a851150af2fddfb26050cbf4a9 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Mon, 31 Mar 2008 23:51:34 +0200 Subject: Fix SRVSVC ShareInfo max_users handling server side. Guenther (This used to be commit b4d944e724f7ae2a97ba788b185aba7b7308b475) --- source3/rpc_client/init_srvsvc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3/rpc_client/init_srvsvc.c') diff --git a/source3/rpc_client/init_srvsvc.c b/source3/rpc_client/init_srvsvc.c index 7b595683f7..4fa260c2c5 100644 --- a/source3/rpc_client/init_srvsvc.c +++ b/source3/rpc_client/init_srvsvc.c @@ -158,7 +158,7 @@ void init_srvsvc_NetShareInfo502(struct srvsvc_NetShareInfo502 *r, enum srvsvc_ShareType type, const char *comment, uint32_t permissions, - int32_t max_users, + uint32_t max_users, uint32_t current_users, const char *path, const char *password, @@ -202,7 +202,7 @@ void init_srvsvc_NetShareInfo1005(struct srvsvc_NetShareInfo1005 *r, ********************************************************************/ void init_srvsvc_NetShareInfo1006(struct srvsvc_NetShareInfo1006 *r, - int32_t max_users) + uint32_t max_users) { r->max_users = max_users; } -- cgit From a3991c9ef40b221ecd36344d65e723e357d8b3c7 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 1 Apr 2008 00:02:48 +0200 Subject: Fix SRVSVC ShareInfo level 502 server side handling. Guenther (This used to be commit 776facabf6f09f643d6dc526aa83f8db517465f9) --- source3/rpc_client/init_srvsvc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'source3/rpc_client/init_srvsvc.c') diff --git a/source3/rpc_client/init_srvsvc.c b/source3/rpc_client/init_srvsvc.c index 4fa260c2c5..24beb1ace2 100644 --- a/source3/rpc_client/init_srvsvc.c +++ b/source3/rpc_client/init_srvsvc.c @@ -162,8 +162,7 @@ void init_srvsvc_NetShareInfo502(struct srvsvc_NetShareInfo502 *r, uint32_t current_users, const char *path, const char *password, - uint32_t unknown, - struct security_descriptor *sd) + struct sec_desc_buf *sd_buf) { r->name = name; r->type = type; @@ -173,8 +172,7 @@ void init_srvsvc_NetShareInfo502(struct srvsvc_NetShareInfo502 *r, r->current_users = current_users; r->path = path; r->password = password; - r->unknown = unknown; - r->sd = sd; + r->sd_buf = *sd_buf; } /******************************************************************* -- cgit