Introduce macro for common plugin structure elements
Heimdal's HDB plugin interface, and hence Samba's KDC that depends upon it, doesn't work on 32-bit builds due to structure fields being arranged in the wrong order. This problem presents itself in the form of segmentation faults on 32-bit systems, but goes unnoticed on 64-bit builds thanks to extra structure padding absorbing the errant fields. This commit reorders the HDB plugin structure fields to prevent crashes and introduces a common macro to ensure every plugin presents a consistent interface. Samba BUG: https://bugzilla.samba.org/show_bug.cgi?id=15110 Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
This commit is contained in:
committed by
Nico Williams
parent
16179383fb
commit
cfb32a638e
@@ -243,17 +243,17 @@ struct hdb_method hdb_test =
|
||||
#ifdef WIN32
|
||||
/* Not c99 */
|
||||
HDB_INTERFACE_VERSION,
|
||||
1 /*is_file_based*/, 1 /*can_taste*/,
|
||||
hdb_test_init,
|
||||
hdb_test_fini,
|
||||
1 /*is_file_based*/, 1 /*can_taste*/,
|
||||
"test",
|
||||
hdb_test_create
|
||||
#else
|
||||
.version = HDB_INTERFACE_VERSION,
|
||||
.is_file_based = 1,
|
||||
.can_taste = 1,
|
||||
.minor_version = HDB_INTERFACE_VERSION,
|
||||
.init = hdb_test_init,
|
||||
.fini = hdb_test_fini,
|
||||
.is_file_based = 1,
|
||||
.can_taste = 1,
|
||||
.prefix = "test",
|
||||
.create = hdb_test_create
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user