Menu

[r13467]: / experimental / samba3 / files / patch-nsswitch__pam_winbind.c  Maximize  Restore  History

Download this file

90 lines (82 with data), 2.4 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
--- ./nsswitch/pam_winbind.c.orig 2009-06-23 09:35:13.000000000 +0000
+++ ./nsswitch/pam_winbind.c 2009-06-26 00:41:37.000000000 +0000
@@ -161,7 +161,6 @@
}
#endif
-
/*
* Work around the pam API that has functions with void ** as parameters
* These lead to strict aliasing warnings with gcc.
@@ -171,14 +170,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 */
@@ -309,7 +314,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";
@@ -1298,12 +1303,12 @@
static bool _pam_check_remark_auth_err(struct pwb_context *ctx,
const struct wbcAuthErrorInfo *e,
const char *nt_status_string,
- int *pam_error)
+ int *pam_err)
{
const char *ntstatus = NULL;
const char *error_string = NULL;
- if (!e || !pam_error) {
+ if (!e || !pam_err) {
return false;
}
@@ -1317,18 +1322,18 @@
error_string = _get_ntstatus_error_string(nt_status_string);
if (error_string) {
_make_remark(ctx, PAM_ERROR_MSG, error_string);
- *pam_error = e->pam_error;
+ *pam_err = e->pam_error;
return true;
}
if (e->display_string) {
_make_remark(ctx, PAM_ERROR_MSG, e->display_string);
- *pam_error = e->pam_error;
+ *pam_err = e->pam_error;
return true;
}
_make_remark(ctx, PAM_ERROR_MSG, nt_status_string);
- *pam_error = e->pam_error;
+ *pam_err = e->pam_error;
return true;
}
@@ -2695,8 +2700,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) {
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.