Author: metze Date: 2005-09-26 13:42:42 +0000 (Mon, 26 Sep 2005) New Revision: 10508
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10508 Log: - implement WINBINDD_NETBIOS_NAME, WINBINDD_DOMAIN_NAME and WINBINDD_INFO is there a way to test this calls? vl: please review this metze Modified: branches/SAMBA_4_0/source/winbind/wb_samba3_cmd.c branches/SAMBA_4_0/source/winbind/wb_samba3_protocol.c branches/SAMBA_4_0/source/winbind/wb_samba3_protocol.h Changeset: Modified: branches/SAMBA_4_0/source/winbind/wb_samba3_cmd.c =================================================================== --- branches/SAMBA_4_0/source/winbind/wb_samba3_cmd.c 2005-09-26 13:12:02 UTC (rev 10507) +++ branches/SAMBA_4_0/source/winbind/wb_samba3_cmd.c 2005-09-26 13:42:42 UTC (rev 10508) @@ -30,6 +30,7 @@ #include "librpc/gen_ndr/nbt.h" #include "libcli/raw/libcliraw.h" #include "libcli/composite/composite.h" +#include "include/version.h" NTSTATUS wbsrv_samba3_interface_version(struct wbsrv_samba3_call *s3call) { @@ -38,6 +39,28 @@ return NT_STATUS_OK; } +NTSTATUS wbsrv_samba3_info(struct wbsrv_samba3_call *s3call) +{ + s3call->response.result = WINBINDD_OK; + s3call->response.data.info.winbind_separator = *lp_winbind_separator(); + WBSRV_SAMBA3_SET_STRING(s3call->response.data.info.samba_version, SAMBA_VERSION_STRING); + return NT_STATUS_OK; +} + +NTSTATUS wbsrv_samba3_domain_name(struct wbsrv_samba3_call *s3call) +{ + s3call->response.result = WINBINDD_OK; + WBSRV_SAMBA3_SET_STRING(s3call->response.data.domain_name, lp_workgroup()); + return NT_STATUS_OK; +} + +NTSTATUS wbsrv_samba3_netbios_name(struct wbsrv_samba3_call *s3call) +{ + s3call->response.result = WINBINDD_OK; + WBSRV_SAMBA3_SET_STRING(s3call->response.data.netbios_name, lp_netbios_name()); + return NT_STATUS_OK; +} + NTSTATUS wbsrv_samba3_priv_pipe_dir(struct wbsrv_samba3_call *s3call) { s3call->response.result = WINBINDD_OK; @@ -70,10 +93,8 @@ status = wb_finddcs_recv(action, s3call); s3call->response.data.auth.nt_status = NT_STATUS_V(status); - strncpy(s3call->response.data.auth.nt_status_string, nt_errstr(status), - sizeof(s3call->response.data.auth.nt_status_string)-1); - strncpy(s3call->response.data.auth.error_string, nt_errstr(status), - sizeof(s3call->response.data.auth.error_string)-1); + WBSRV_SAMBA3_SET_STRING(s3call->response.data.auth.nt_status_string, nt_errstr(status)); + WBSRV_SAMBA3_SET_STRING(s3call->response.data.auth.error_string, nt_errstr(status)); s3call->response.data.auth.pam_error = nt_status_to_pam(status); if (NT_STATUS_IS_OK(status)) { Modified: branches/SAMBA_4_0/source/winbind/wb_samba3_protocol.c =================================================================== --- branches/SAMBA_4_0/source/winbind/wb_samba3_protocol.c 2005-09-26 13:12:02 UTC (rev 10507) +++ branches/SAMBA_4_0/source/winbind/wb_samba3_protocol.c 2005-09-26 13:42:42 UTC (rev 10508) @@ -72,14 +72,23 @@ case WINBINDD_INTERFACE_VERSION: return wbsrv_samba3_interface_version(s3call); - case WINBINDD_PRIV_PIPE_DIR: - return wbsrv_samba3_priv_pipe_dir(s3call); + case WINBINDD_CHECK_MACHACC: + return wbsrv_samba3_check_machacc(s3call); case WINBINDD_PING: return wbsrv_samba3_ping(s3call); - case WINBINDD_CHECK_MACHACC: - return wbsrv_samba3_check_machacc(s3call); + case WINBINDD_INFO: + return wbsrv_samba3_domain_name(s3call); + + case WINBINDD_DOMAIN_NAME: + return wbsrv_samba3_domain_name(s3call); + + case WINBINDD_NETBIOS_NAME: + return wbsrv_samba3_netbios_name(s3call); + + case WINBINDD_PRIV_PIPE_DIR: + return wbsrv_samba3_priv_pipe_dir(s3call); } s3call->response.result = WINBINDD_ERROR; Modified: branches/SAMBA_4_0/source/winbind/wb_samba3_protocol.h =================================================================== --- branches/SAMBA_4_0/source/winbind/wb_samba3_protocol.h 2005-09-26 13:12:02 UTC (rev 10507) +++ branches/SAMBA_4_0/source/winbind/wb_samba3_protocol.h 2005-09-26 13:42:42 UTC (rev 10508) @@ -33,3 +33,7 @@ /* the response structure of the samba3 protocol*/ struct winbindd_response response; }; + +#define WBSRV_SAMBA3_SET_STRING(dest, src) do { \ + strncpy(dest, src, sizeof(dest)-1);\ +} while(0)