summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/winbind/wb_samba3_cmd.c79
-rw-r--r--source4/winbind/wb_samba3_protocol.c34
2 files changed, 107 insertions, 6 deletions
diff --git a/source4/winbind/wb_samba3_cmd.c b/source4/winbind/wb_samba3_cmd.c
index f60c65a1d4..2d020e77d6 100644
--- a/source4/winbind/wb_samba3_cmd.c
+++ b/source4/winbind/wb_samba3_cmd.c
@@ -662,3 +662,82 @@ static void list_trustdom_recv_doms(struct composite_context *ctx)
done:
wbsrv_samba3_async_epilogue(status, s3call);
}
+
+/* NSS calls */
+
+NTSTATUS wbsrv_samba3_getpwnam(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_getpwnam called\n"));
+ s3call->response.result = WINBINDD_ERROR;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_getpwuid(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_getpwuid called\n"));
+ s3call->response.result = WINBINDD_ERROR;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_setpwent(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_setpwent called\n"));
+ s3call->response.result = WINBINDD_OK;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_getpwent(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_getpwent called\n"));
+ s3call->response.result = WINBINDD_ERROR;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_endpwent(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_endpwent called\n"));
+ s3call->response.result = WINBINDD_OK;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_getgrnam(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_getgrnam called\n"));
+ s3call->response.result = WINBINDD_ERROR;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_getgrgid(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_getgrgid called\n"));
+ s3call->response.result = WINBINDD_ERROR;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_getgroups(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_getgroups called\n"));
+ s3call->response.result = WINBINDD_ERROR;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_setgrent(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_setgrent called\n"));
+ s3call->response.result = WINBINDD_OK;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_getgrent(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_getgrent called\n"));
+ s3call->response.result = WINBINDD_ERROR;
+ return NT_STATUS_OK;
+}
+
+NTSTATUS wbsrv_samba3_endgrent(struct wbsrv_samba3_call *s3call)
+{
+ DEBUG(5, ("wbsrv_samba3_endgrent called\n"));
+ s3call->response.result = WINBINDD_OK;
+ return NT_STATUS_OK;
+}
diff --git a/source4/winbind/wb_samba3_protocol.c b/source4/winbind/wb_samba3_protocol.c
index da3e404c1e..33aad302e5 100644
--- a/source4/winbind/wb_samba3_protocol.c
+++ b/source4/winbind/wb_samba3_protocol.c
@@ -125,19 +125,41 @@ NTSTATUS wbsrv_samba3_handle_call(struct wbsrv_samba3_call *s3call)
case WINBINDD_LIST_TRUSTDOM:
return wbsrv_samba3_list_trustdom(s3call);
- /* Unimplemented commands */
-
case WINBINDD_GETPWNAM:
+ return wbsrv_samba3_getpwnam(s3call);
+
case WINBINDD_GETPWUID:
+ return wbsrv_samba3_getpwuid(s3call);
+
+ case WINBINDD_SETPWENT:
+ return wbsrv_samba3_setpwent(s3call);
+
+ case WINBINDD_GETPWENT:
+ return wbsrv_samba3_getpwent(s3call);
+
+ case WINBINDD_ENDPWENT:
+ return wbsrv_samba3_endpwent(s3call);
+
case WINBINDD_GETGRNAM:
+ return wbsrv_samba3_getgrnam(s3call);
+
case WINBINDD_GETGRGID:
+ return wbsrv_samba3_getgrgid(s3call);
+
case WINBINDD_GETGROUPS:
- case WINBINDD_SETPWENT:
- case WINBINDD_ENDPWENT:
- case WINBINDD_GETPWENT:
+ return wbsrv_samba3_getgroups(s3call);
+
case WINBINDD_SETGRENT:
- case WINBINDD_ENDGRENT:
+ return wbsrv_samba3_setgrent(s3call);
+
case WINBINDD_GETGRENT:
+ return wbsrv_samba3_getgrent(s3call);
+
+ case WINBINDD_ENDGRENT:
+ return wbsrv_samba3_endgrent(s3call);
+
+ /* Unimplemented commands */
+
case WINBINDD_PAM_CHAUTHTOK:
case WINBINDD_PAM_LOGOFF:
case WINBINDD_PAM_CHNG_PSWD_AUTH_CRAP: