mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-04 01:48:54 +00:00
4bef4dd3c2
Most significant improvement is the support of SMB2 protocol.
53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
--- ./nsswitch/pam_winbind.c.orig 2011-08-09 13:17:47.000000000 +0200
|
|
+++ ./nsswitch/pam_winbind.c 2011-09-06 23:23:18.000000000 +0200
|
|
@@ -163,7 +163,6 @@
|
|
}
|
|
#endif
|
|
|
|
-
|
|
/*
|
|
* Work around the pam API that has functions with void ** as parameters
|
|
* These lead to strict aliasing warnings with gcc.
|
|
@@ -173,14 +172,20 @@
|
|
const void *_item)
|
|
{
|
|
const void **item = (const void **)_item;
|
|
- return pam_get_item(pamh, item_type, item);
|
|
+ return pam_get_item((pam_handle_t *)pamh, item_type, item);
|
|
}
|
|
+
|
|
static int _pam_get_data(const pam_handle_t *pamh,
|
|
const char *module_data_name,
|
|
const void *_data)
|
|
{
|
|
+#if PAM_GET_DATA_ARG3_CONST_VOID_PP
|
|
const void **data = (const void **)_data;
|
|
- return pam_get_data(pamh, module_data_name, data);
|
|
+ return pam_get_data((pam_handle_t *)pamh, module_data_name, data);
|
|
+#else
|
|
+ void **data = (void **)_data;
|
|
+ return pam_get_data((pam_handle_t *)pamh, module_data_name, data);
|
|
+#endif
|
|
}
|
|
|
|
/* some syslogging */
|
|
@@ -311,7 +316,7 @@
|
|
if (item_type != 0) {
|
|
pam_get_item(ctx->pamh, item_type, &data);
|
|
} else {
|
|
- pam_get_data(ctx->pamh, key, &data);
|
|
+ _pam_get_data(ctx->pamh, key, &data);
|
|
}
|
|
if (data != NULL) {
|
|
const char *type = (item_type != 0) ? "ITEM" : "DATA";
|
|
@@ -2835,8 +2840,7 @@
|
|
ret = PAM_USER_UNKNOWN;
|
|
goto out;
|
|
case 0:
|
|
- pam_get_data(pamh, PAM_WINBIND_NEW_AUTHTOK_REQD,
|
|
- (const void **)&tmp);
|
|
+ _pam_get_data(pamh, PAM_WINBIND_NEW_AUTHTOK_REQD, &tmp);
|
|
if (tmp != NULL) {
|
|
ret = atoi((const char *)tmp);
|
|
switch (ret) {
|