32-bit pam_winbind and 64-bit winbindd patch
Gerald (Jerry) Carter
jerry at samba.org
Tue Apr 11 22:23:14 GMT 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Jeremy,
How do you feel about these changes? I can get a 32-bit
version of `wbinfo -t` working against a 64-bit winbindd.
cheers, jerry
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFEPCxRIR7qMdg1EfYRAlrwAJ9QL2Cj8WH6S9+HiTpBD4FEQAJ2vACcDX/F
N/3/5XWKcXV5I44Z0wwjzrM=
=GmFm
-----END PGP SIGNATURE-----
-------------- next part --------------
Index: configure.in
===================================================================
--- configure.in (revision 15036)
+++ configure.in (working copy)
@@ -914,6 +914,7 @@
AC_CHECK_SIZEOF(int,cross)
AC_CHECK_SIZEOF(long,cross)
+AC_CHECK_SIZEOF(long long,cross)
AC_CHECK_SIZEOF(short,cross)
AC_C_CONST
Index: include/includes.h
===================================================================
--- include/includes.h (revision 15036)
+++ include/includes.h (working copy)
@@ -643,6 +643,19 @@
#endif
/*
+ * check for 8 byte long long
+ */
+
+#if !defined(uint64)
+#if (SIZEOF_LONG == 8)
+#define uint64 unsigned long
+#elif (SIZEOF_LONG_LONG == 8)
+#define uint64 unsigned long long
+#endif /* don't lie. If we don't have it, then don't use it */
+#endif
+
+
+/*
* Types for devices, inodes and offsets.
*/
Index: nsswitch/winbindd_nss.h
===================================================================
--- nsswitch/winbindd_nss.h (revision 15036)
+++ nsswitch/winbindd_nss.h (working copy)
@@ -155,8 +155,8 @@
fstring gr_name;
fstring gr_passwd;
gid_t gr_gid;
- size_t num_gr_mem;
- size_t gr_mem_ofs; /* offset to group membership */
+ uint32 num_gr_mem;
+ uint32 gr_mem_ofs; /* offset to group membership */
char **gr_mem;
} WINBINDD_GR;
@@ -257,8 +257,18 @@
} dual_idmapset;
BOOL list_all_domains;
} data;
- char *extra_data;
- size_t extra_len;
+ union {
+ struct {
+#if defined(uint64)
+ uint64 z;
+#else
+ uint32 x;
+ uint32 y;
+#endif
+ } pad;
+ char *data;
+ } extra_data;
+ uint32 extra_len;
char null_term;
};
@@ -376,7 +386,17 @@
/* Variable length return data */
- void *extra_data; /* getgrnam, getgrgid, getgrent */
+ union {
+ struct {
+#if defined(uint64)
+ uint64 z;
+#else
+ uint32 x;
+ uint32 y;
+#endif
+ } pad;
+ void *data;
+ } extra_data;
};
struct WINBINDD_CCACHE_ENTRY {
More information about the samba-technical
mailing list