summaryrefslogtreecommitdiff
path: root/source3/nsswitch/winbindd_nss.h
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2002-01-10 11:28:14 +0000
committerAndrew Bartlett <abartlet@samba.org>2002-01-10 11:28:14 +0000
commit7d6dd0b3a0f6d1c7f2737f90e3099a21bf4a55b5 (patch)
treeb2564eee672dc14c121662c9f2da120e7efbbfcd /source3/nsswitch/winbindd_nss.h
parentcf00e41421793d042f24d0b0ecf47237a3cfc7c2 (diff)
downloadsamba-7d6dd0b3a0f6d1c7f2737f90e3099a21bf4a55b5.tar.gz
samba-7d6dd0b3a0f6d1c7f2737f90e3099a21bf4a55b5.tar.bz2
samba-7d6dd0b3a0f6d1c7f2737f90e3099a21bf4a55b5.zip
Return the winbind separator over the socket, so programs don't have to parse
smb.conf to get it right. While wb_client needs its lp_load() for samba dependency reasons, it now uses the new method both to example and test the new code. Also add an interface version function, and return the winbind's samba version string. In preperation for default domains, its now up to winbindd to reject plaintext auths that don't have a seperator, but NTLM (CRAP) auths now have two feilds, hence need parsing. Andrew Bartlett (This used to be commit 2bd2a092ee3d49a74d896385688d7c7256aa297e)
Diffstat (limited to 'source3/nsswitch/winbindd_nss.h')
-rw-r--r--source3/nsswitch/winbindd_nss.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/source3/nsswitch/winbindd_nss.h b/source3/nsswitch/winbindd_nss.h
index 4d836a21cf..bac07fc42d 100644
--- a/source3/nsswitch/winbindd_nss.h
+++ b/source3/nsswitch/winbindd_nss.h
@@ -37,6 +37,9 @@
/* Socket commands */
+/* Update this when you change the interface. */
+#define WINBIND_INTERFACE_VERSION 1
+
enum winbindd_cmd {
/* Get users and groups */
@@ -84,6 +87,8 @@ enum winbindd_cmd {
WINBINDD_CHECK_MACHACC, /* Check machine account pw works */
WINBINDD_PING, /* Just tell me winbind is running */
+ WINBINDD_INFO, /* Various bit of info. Currently just tidbits */
+ WINBINDD_INTERFACE_VERSION, /* *TRY* to keep this in the same place... */
/* Placeholder for end of cmd list */
@@ -145,6 +150,7 @@ struct winbindd_response {
/* Fixed length return data */
union {
+ int interface_version; /* Try to ensure this is always in the same spot... */
/* getpwnam, getpwuid */
@@ -179,6 +185,10 @@ struct winbindd_response {
} name;
uid_t uid; /* sid_to_uid */
gid_t gid; /* sid_to_gid */
+ struct winbindd_info {
+ char winbind_separator;
+ fstring samba_version;
+ } info;
} data;
/* Variable length return data */