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)

Reply via email to