summaryrefslogtreecommitdiff
path: root/source3/nsswitch/winbindd_nss.h
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2002-01-10 23:45:29 +0000
committerTim Potter <tpot@samba.org>2002-01-10 23:45:29 +0000
commit85e06cebc018ce29cfd4788af857a376b13929e9 (patch)
treef6a2de0337fb8aeded9b286121d42ad39fc5f79c /source3/nsswitch/winbindd_nss.h
parent969d1dd4683ddaf7a54db50f8d5a2b2ebcf13c51 (diff)
downloadsamba-85e06cebc018ce29cfd4788af857a376b13929e9.tar.gz
samba-85e06cebc018ce29cfd4788af857a376b13929e9.tar.bz2
samba-85e06cebc018ce29cfd4788af857a376b13929e9.zip
Since AB has been changing the winbind interface it's time to add the "mock
swedish" test to client calls. This is putting a length field at the start of a request so we can disconnect clients talking with an out of date libnss_winbind.so rather than deadlock them. Misc cleanups: - made some int values uint32 - moved WINBIND_INTERFACE_VERSION to start of cmd list (This used to be commit a4af65b9b93671f13f277d49279a85042a8fd1d5)
Diffstat (limited to 'source3/nsswitch/winbindd_nss.h')
-rw-r--r--source3/nsswitch/winbindd_nss.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/source3/nsswitch/winbindd_nss.h b/source3/nsswitch/winbindd_nss.h
index bac07fc42d..a88b1209ab 100644
--- a/source3/nsswitch/winbindd_nss.h
+++ b/source3/nsswitch/winbindd_nss.h
@@ -35,13 +35,16 @@
#define WINBINDD_DOMAIN_ENV "WINBINDD_DOMAIN" /* Environment variables */
#define WINBINDD_DONT_ENV "_NO_WINBINDD"
-/* Socket commands */
-
/* Update this when you change the interface. */
-#define WINBIND_INTERFACE_VERSION 1
+
+#define WINBIND_INTERFACE_VERSION 2
+
+/* Socket commands */
enum winbindd_cmd {
+ WINBINDD_INTERFACE_VERSION, /* Always a well known value */
+
/* Get users and groups */
WINBINDD_GETPWNAM,
@@ -88,7 +91,6 @@ 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 */
@@ -98,6 +100,7 @@ enum winbindd_cmd {
/* Winbind request structure */
struct winbindd_request {
+ uint32 length;
enum winbindd_cmd cmd; /* Winbindd command to execute */
pid_t pid; /* pid of calling process */
@@ -144,7 +147,7 @@ struct winbindd_response {
/* Header information */
- int length; /* Length of response */
+ uint32 length; /* Length of response */
enum winbindd_result result; /* Result code */
/* Fixed length return data */