summaryrefslogtreecommitdiff
path: root/source4/winbind
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2007-06-02 11:38:27 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:53:10 -0500
commit3fb4bd1c06a081f8f010ecfe66a9e18ed8413d66 (patch)
treeb4689eeec25beb84f09cb9ad9104957d75e55cca /source4/winbind
parente0f3a383b4aa15980e1b91a9355fd9e802be0c97 (diff)
downloadsamba-3fb4bd1c06a081f8f010ecfe66a9e18ed8413d66.tar.gz
samba-3fb4bd1c06a081f8f010ecfe66a9e18ed8413d66.tar.bz2
samba-3fb4bd1c06a081f8f010ecfe66a9e18ed8413d66.zip
r23311: Updating the samba4 winbind protocol to version 18.
nsswitch/winbindd_nss.h is just copied from SAMBA_3_0. nsswitch/winbind_nss_config.h is copied from SAMBA_3_0, too, but I had to drop some of the defines to make things build again. Kai (This used to be commit 553b7e146f52975b45941ba850140e312a280513)
Diffstat (limited to 'source4/winbind')
-rw-r--r--source4/winbind/wb_samba3_cmd.c15
-rw-r--r--source4/winbind/wb_samba3_protocol.c26
-rw-r--r--source4/winbind/wb_server.h1
3 files changed, 29 insertions, 13 deletions
diff --git a/source4/winbind/wb_samba3_cmd.c b/source4/winbind/wb_samba3_cmd.c
index 7989bec172..f60c65a1d4 100644
--- a/source4/winbind/wb_samba3_cmd.c
+++ b/source4/winbind/wb_samba3_cmd.c
@@ -22,6 +22,7 @@
*/
#include "includes.h"
+#include "nsswitch/winbind_nss_config.h"
#include "nsswitch/winbindd_nss.h"
#include "winbind/wb_server.h"
#include "winbind/wb_async_helpers.h"
@@ -111,9 +112,9 @@ NTSTATUS wbsrv_samba3_netbios_name(struct wbsrv_samba3_call *s3call)
NTSTATUS wbsrv_samba3_priv_pipe_dir(struct wbsrv_samba3_call *s3call)
{
s3call->response.result = WINBINDD_OK;
- s3call->response.extra_data =
+ s3call->response.extra_data.data =
smbd_tmp_path(s3call, WINBINDD_SAMBA3_PRIVILEGED_SOCKET);
- NT_STATUS_HAVE_NO_MEMORY(s3call->response.extra_data);
+ NT_STATUS_HAVE_NO_MEMORY(s3call->response.extra_data.data);
return NT_STATUS_OK;
}
@@ -262,7 +263,7 @@ static void userdomgroups_recv_groups(struct composite_context *ctx)
}
s3call->response.result = WINBINDD_OK;
- s3call->response.extra_data = sids_string;
+ s3call->response.extra_data.data = sids_string;
s3call->response.length += strlen(sids_string)+1;
s3call->response.data.num_entries = num_sids;
@@ -328,7 +329,7 @@ static void usersids_recv_sids(struct composite_context *ctx)
}
s3call->response.result = WINBINDD_OK;
- s3call->response.extra_data = sids_string;
+ s3call->response.extra_data.data = sids_string;
s3call->response.length += strlen(sids_string);
s3call->response.data.num_entries = num_sids;
@@ -510,7 +511,7 @@ static void pam_auth_crap_recv(struct composite_context *ctx)
}
if (s3call->request.flags & WBFLAG_PAM_INFO3_NDR) {
- s3call->response.extra_data = info3.data;
+ s3call->response.extra_data.data = info3.data;
s3call->response.length += info3.length;
}
@@ -521,7 +522,7 @@ static void pam_auth_crap_recv(struct composite_context *ctx)
}
if (s3call->request.flags & WBFLAG_PAM_UNIX_NAME) {
- s3call->response.extra_data = unix_username;
+ s3call->response.extra_data.data = unix_username;
s3call->response.length += strlen(unix_username)+1;
}
@@ -654,7 +655,7 @@ static void list_trustdom_recv_doms(struct composite_context *ctx)
s3call->response.result = WINBINDD_OK;
if (num_domains > 0) {
- s3call->response.extra_data = result;
+ s3call->response.extra_data.data = result;
s3call->response.length += strlen(result)+1;
}
diff --git a/source4/winbind/wb_samba3_protocol.c b/source4/winbind/wb_samba3_protocol.c
index 8580f2a163..da3e404c1e 100644
--- a/source4/winbind/wb_samba3_protocol.c
+++ b/source4/winbind/wb_samba3_protocol.c
@@ -21,6 +21,7 @@
*/
#include "includes.h"
+#include "nsswitch/winbind_nss_config.h"
#include "nsswitch/winbindd_nss.h"
#include "winbind/wb_server.h"
#include "smbd/service_stream.h"
@@ -138,14 +139,21 @@ NTSTATUS wbsrv_samba3_handle_call(struct wbsrv_samba3_call *s3call)
case WINBINDD_ENDGRENT:
case WINBINDD_GETGRENT:
case WINBINDD_PAM_CHAUTHTOK:
+ case WINBINDD_PAM_LOGOFF:
+ case WINBINDD_PAM_CHNG_PSWD_AUTH_CRAP:
case WINBINDD_LIST_USERS:
case WINBINDD_LIST_GROUPS:
+ case WINBINDD_LOOKUPRIDS:
case WINBINDD_SID_TO_UID:
case WINBINDD_SID_TO_GID:
+ case WINBINDD_SIDS_TO_XIDS:
case WINBINDD_UID_TO_SID:
case WINBINDD_GID_TO_SID:
- case WINBINDD_ALLOCATE_RID:
- case WINBINDD_ALLOCATE_RID_AND_GID:
+ case WINBINDD_ALLOCATE_UID:
+ case WINBINDD_ALLOCATE_GID:
+ case WINBINDD_SET_MAPPING:
+ case WINBINDD_SET_HWM:
+ case WINBINDD_DUMP_MAPS:
case WINBINDD_CHECK_MACHACC:
case WINBINDD_DOMAIN_INFO:
case WINBINDD_SHOW_SEQUENCE:
@@ -155,13 +163,19 @@ NTSTATUS wbsrv_samba3_handle_call(struct wbsrv_samba3_call *s3call)
case WINBINDD_INIT_CONNECTION:
case WINBINDD_DUAL_SID2UID:
case WINBINDD_DUAL_SID2GID:
- case WINBINDD_DUAL_IDMAPSET:
+ case WINBINDD_DUAL_SIDS2XIDS:
+ case WINBINDD_DUAL_UID2SID:
+ case WINBINDD_DUAL_GID2SID:
+ case WINBINDD_DUAL_SET_MAPPING:
+ case WINBINDD_DUAL_SET_HWM:
+ case WINBINDD_DUAL_DUMP_MAPS:
case WINBINDD_DUAL_UID2NAME:
case WINBINDD_DUAL_NAME2UID:
case WINBINDD_DUAL_GID2NAME:
case WINBINDD_DUAL_NAME2GID:
case WINBINDD_DUAL_USERINFO:
case WINBINDD_DUAL_GETSIDALIASES:
+ case WINBINDD_CCACHE_NTLMAUTH:
case WINBINDD_NUM_CMDS:
DEBUG(10, ("Unimplemented winbind samba3 request %d\n",
s3call->request.cmd));
@@ -178,7 +192,7 @@ static NTSTATUS wbsrv_samba3_push_reply(struct wbsrv_samba3_call *call, TALLOC_C
uint8_t *extra_data;
size_t extra_data_len = 0;
- extra_data = call->response.extra_data;
+ extra_data = call->response.extra_data.data;
if (extra_data) {
extra_data_len = call->response.length -
sizeof(call->response);
@@ -189,11 +203,11 @@ static NTSTATUS wbsrv_samba3_push_reply(struct wbsrv_samba3_call *call, TALLOC_C
/* don't push real pointer values into sockets */
if (extra_data) {
- call->response.extra_data = (void *)0xFFFFFFFF;
+ call->response.extra_data.data = (void *)0xFFFFFFFF;
}
memcpy(blob.data, &call->response, sizeof(call->response));
/* set back the pointer */
- call->response.extra_data = extra_data;
+ call->response.extra_data.data = extra_data;
if (extra_data) {
memcpy(blob.data + sizeof(call->response), extra_data, extra_data_len);
diff --git a/source4/winbind/wb_server.h b/source4/winbind/wb_server.h
index 3e851fbccc..4099e32d70 100644
--- a/source4/winbind/wb_server.h
+++ b/source4/winbind/wb_server.h
@@ -20,6 +20,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include "nsswitch/winbind_nss_config.h"
#include "nsswitch/winbindd_nss.h"