|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
Index: source/nsswitch/idmap.c
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
===================================================================
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
--- source/nsswitch/idmap.c (revision 25609)
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+++ source/nsswitch/idmap.c (working copy)
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
@@ -252,12 +252,6 @@
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
return NT_STATUS_OK;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
}
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
-/**********************************************************************
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
- Initialise idmap cache and a remote backend (if configured).
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
-**********************************************************************/
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
-
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
-static const char *idmap_default_domain[] = { "default domain", NULL };
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
-
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
/****************************************************************************
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
****************************************************************************/
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
@@ -292,6 +286,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
char *compat_backend = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
char *compat_params = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
const char **dom_list = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ const char *default_domain = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
char *alloc_backend = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
BOOL default_already_defined = False;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
BOOL pri_dom_is_in_list = False;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
@@ -356,7 +351,25 @@
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
}
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
if ( ! dom_list) {
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
- dom_list = idmap_default_domain;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ /* generate a list with our main domain */
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ char ** dl;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ dl = talloc_array(idmap_ctx, char *, 2);
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ if (dl == NULL) {
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ ret = NT_STATUS_NO_MEMORY;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ goto done;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ dl[0] = talloc_strdup(dl, lp_workgroup());
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ if (dl[0] == NULL) {
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ ret = NT_STATUS_NO_MEMORY;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ goto done;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ /* terminate */
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ dl[1] = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ dom_list = dl;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ default_domain = dl[0];
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
}
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
/***************************
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
@@ -389,7 +389,8 @@
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
}
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
- if (strequal(dom_list[i], lp_workgroup())) {
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
+ if ((dom_list[i] != default_domain) &&
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
+ strequal(dom_list[i], lp_workgroup())) {
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
pri_dom_is_in_list = True;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
}
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
10b9b9b |
/* init domain */
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
@@ -398,10 +411,10 @@
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
"default", False);
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
if (dom->default_domain ||
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
- strequal(dom_list[i], idmap_default_domain[0])) {
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ (default_domain && strequal(dom_list[i], default_domain))) {
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
/* make sure this is set even when we match
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
- * idmap_default_domain[0] */
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
+ * default_domain */
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
dom->default_domain = True;
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
|
|
![](https://seccdn.libravatar.org/avatar/8db14610c11e4de7034d7b1e51581ca1282f45f394f23a904f8b569c9e3e9598?s=16&d=retro) |
0dc7426 |
if (default_already_defined) {
|