Changeset 222 for branches/samba-3.3.x/source/winbindd
- Timestamp:
- May 24, 2009, 7:45:16 AM (16 years ago)
- Location:
- branches/samba-3.3.x/source/winbindd
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.3.x/source/winbindd/idmap_ad.c
r206 r222 305 305 char *g_filter = NULL; 306 306 307 /* initialize the status to avoid suprise */ 308 for (i = 0; ids[i]; i++) { 309 ids[i]->status = ID_UNKNOWN; 310 } 311 307 312 /* Only do query if we are online */ 308 313 if (idmap_is_offline()) { … … 517 522 char *sidstr; 518 523 524 /* initialize the status to avoid suprise */ 525 for (i = 0; ids[i]; i++) { 526 ids[i]->status = ID_UNKNOWN; 527 } 528 519 529 /* Only do query if we are online */ 520 530 if (idmap_is_offline()) { -
branches/samba-3.3.x/source/winbindd/idmap_adex/idmap_adex.c
r206 r222 160 160 struct likewise_cell *cell; 161 161 162 /* initialize the status to avoid suprise */ 163 for (i = 0; ids[i]; i++) { 164 ids[i]->status = ID_UNKNOWN; 165 } 166 162 167 nt_status = _idmap_adex_init(dom, NULL); 163 168 if (!NT_STATUS_IS_OK(nt_status)) … … 208 213 struct likewise_cell *cell; 209 214 215 /* initialize the status to avoid suprise */ 216 for (i = 0; ids[i]; i++) { 217 ids[i]->status = ID_UNKNOWN; 218 } 219 210 220 nt_status = _idmap_adex_init(dom, NULL); 211 221 if (!NT_STATUS_IS_OK(nt_status)) -
branches/samba-3.3.x/source/winbindd/idmap_hash/idmap_hash.c
r206 r222 161 161 int i; 162 162 163 /* initialize the status to avoid suprise */ 164 for (i = 0; ids[i]; i++) { 165 ids[i]->status = ID_UNKNOWN; 166 } 167 163 168 nt_status = be_init(dom, NULL); 164 169 BAIL_ON_NTSTATUS_ERROR(nt_status); … … 207 212 int i; 208 213 214 /* initialize the status to avoid suprise */ 215 for (i = 0; ids[i]; i++) { 216 ids[i]->status = ID_UNKNOWN; 217 } 218 209 219 nt_status = be_init(dom, NULL); 210 220 BAIL_ON_NTSTATUS_ERROR(nt_status); -
branches/samba-3.3.x/source/winbindd/idmap_ldap.c
r206 r222 936 936 } 937 937 938 for (i = 0; ids[i]; i++) { 939 ids[i]->status = ID_UNKNOWN; 940 } 941 938 942 again: 939 943 if (multi) { … … 1157 1161 } 1158 1162 1163 for (i = 0; ids[i]; i++) { 1164 ids[i]->status = ID_UNKNOWN; 1165 } 1166 1159 1167 again: 1160 1168 if (multi) { -
branches/samba-3.3.x/source/winbindd/idmap_nss.c
r206 r222 45 45 int i; 46 46 47 /* initialize the status to avoid suprise */ 48 for (i = 0; ids[i]; i++) { 49 ids[i]->status = ID_UNKNOWN; 50 } 51 47 52 ctx = talloc_new(dom); 48 53 if ( ! ctx) { … … 131 136 int i; 132 137 138 /* initialize the status to avoid suprise */ 139 for (i = 0; ids[i]; i++) { 140 ids[i]->status = ID_UNKNOWN; 141 } 142 133 143 ctx = talloc_new(dom); 134 144 if ( ! ctx) { -
branches/samba-3.3.x/source/winbindd/idmap_rid.c
r206 r222 172 172 int i; 173 173 174 /* initialize the status to avoid suprise */ 175 for (i = 0; ids[i]; i++) { 176 ids[i]->status = ID_UNKNOWN; 177 } 178 174 179 ridctx = talloc_get_type(dom->private_data, struct idmap_rid_context); 175 180 … … 206 211 int i; 207 212 213 /* initialize the status to avoid suprise */ 214 for (i = 0; ids[i]; i++) { 215 ids[i]->status = ID_UNKNOWN; 216 } 217 208 218 ridctx = talloc_get_type(dom->private_data, struct idmap_rid_context); 209 219 -
branches/samba-3.3.x/source/winbindd/idmap_tdb.c
r206 r222 754 754 int i; 755 755 756 /* initialize the status to avoid suprise */ 757 for (i = 0; ids[i]; i++) { 758 ids[i]->status = ID_UNKNOWN; 759 } 760 756 761 ctx = talloc_get_type(dom->private_data, struct idmap_tdb_context); 757 762 … … 791 796 NTSTATUS ret; 792 797 int i; 798 799 /* initialize the status to avoid suprise */ 800 for (i = 0; ids[i]; i++) { 801 ids[i]->status = ID_UNKNOWN; 802 } 793 803 794 804 ctx = talloc_get_type(dom->private_data, struct idmap_tdb_context); -
branches/samba-3.3.x/source/winbindd/idmap_tdb2.c
r206 r222 640 640 int i; 641 641 642 /* initialize the status to avoid suprise */ 643 for (i = 0; ids[i]; i++) { 644 ids[i]->status = ID_UNKNOWN; 645 } 646 642 647 ctx = talloc_get_type(dom->private_data, struct idmap_tdb2_context); 643 648 … … 677 682 int i; 678 683 684 /* initialize the status to avoid suprise */ 685 for (i = 0; ids[i]; i++) { 686 ids[i]->status = ID_UNKNOWN; 687 } 688 679 689 ctx = talloc_get_type(dom->private_data, struct idmap_tdb2_context); 680 690 -
branches/samba-3.3.x/source/winbindd/idmap_util.c
r206 r222 19 19 20 20 #include "includes.h" 21 #include "winbindd.h" 22 #include "winbindd_proto.h" 21 23 22 24 #undef DBGC_CLASS … … 37 39 (unsigned long)uid, domname?domname:"NULL")); 38 40 39 if (idmap_cache_find_uid2sid(uid, sid, &expired)) { 41 if (winbindd_use_idmap_cache() 42 && idmap_cache_find_uid2sid(uid, sid, &expired)) { 40 43 DEBUG(10, ("idmap_cache_find_uid2sid found %d%s\n", uid, 41 44 expired ? " (expired)": "")); … … 64 67 65 68 if (map.status != ID_MAPPED) { 66 struct dom_sid null_sid; 67 ZERO_STRUCT(null_sid); 68 idmap_cache_set_sid2uid(&null_sid, uid); 69 if (winbindd_use_idmap_cache()) { 70 struct dom_sid null_sid; 71 ZERO_STRUCT(null_sid); 72 idmap_cache_set_sid2uid(&null_sid, uid); 73 } 69 74 DEBUG(10, ("uid [%lu] not mapped\n", (unsigned long)uid)); 70 75 return NT_STATUS_NONE_MAPPED; 71 76 } 72 77 73 idmap_cache_set_sid2uid(sid, uid); 78 if (winbindd_use_idmap_cache()) { 79 idmap_cache_set_sid2uid(sid, uid); 80 } 74 81 75 82 return NT_STATUS_OK; … … 90 97 (unsigned long)gid, domname?domname:"NULL")); 91 98 92 if (idmap_cache_find_gid2sid(gid, sid, &expired)) { 99 if (winbindd_use_idmap_cache() 100 && idmap_cache_find_gid2sid(gid, sid, &expired)) { 93 101 DEBUG(10, ("idmap_cache_find_gid2sid found %d%s\n", gid, 94 102 expired ? " (expired)": "")); … … 117 125 118 126 if (map.status != ID_MAPPED) { 119 struct dom_sid null_sid; 120 ZERO_STRUCT(null_sid); 121 idmap_cache_set_sid2uid(&null_sid, gid); 127 if (winbindd_use_idmap_cache()) { 128 struct dom_sid null_sid; 129 ZERO_STRUCT(null_sid); 130 idmap_cache_set_sid2uid(&null_sid, gid); 131 } 122 132 DEBUG(10, ("gid [%lu] not mapped\n", (unsigned long)gid)); 123 133 return NT_STATUS_NONE_MAPPED; 124 134 } 125 135 126 idmap_cache_set_sid2gid(sid, gid); 136 if (winbindd_use_idmap_cache()) { 137 idmap_cache_set_sid2gid(sid, gid); 138 } 127 139 128 140 return NT_STATUS_OK; … … 143 155 sid_string_dbg(sid), dom_name)); 144 156 145 if (idmap_cache_find_sid2uid(sid, uid, &expired)) { 157 if (winbindd_use_idmap_cache() 158 && idmap_cache_find_sid2uid(sid, uid, &expired)) { 146 159 DEBUG(10, ("idmap_cache_find_sid2uid found %d%s\n", 147 160 (int)(*uid), expired ? " (expired)": "")); … … 172 185 map.xid.type, 173 186 map.xid.id)); 174 idmap_cache_set_sid2uid(sid, -1); 187 if (winbindd_use_idmap_cache()) { 188 idmap_cache_set_sid2uid(sid, -1); 189 } 175 190 return NT_STATUS_NONE_MAPPED; 176 191 } … … 183 198 * could not answer our request. Fail. 184 199 */ 185 idmap_cache_set_sid2uid(sid, -1); 200 if (winbindd_use_idmap_cache()) { 201 idmap_cache_set_sid2uid(sid, -1); 202 } 186 203 return NT_STATUS_NONE_MAPPED; 187 204 } … … 192 209 DEBUG(10, ("idmap_new_mapping failed: %s\n", 193 210 nt_errstr(ret))); 194 idmap_cache_set_sid2uid(sid, -1); 211 if (winbindd_use_idmap_cache()) { 212 idmap_cache_set_sid2uid(sid, -1); 213 } 195 214 return ret; 196 215 } … … 198 217 done: 199 218 *uid = (uid_t)map.xid.id; 200 idmap_cache_set_sid2uid(sid, *uid); 219 if (winbindd_use_idmap_cache()) { 220 idmap_cache_set_sid2uid(sid, *uid); 221 } 201 222 return NT_STATUS_OK; 202 223 } … … 216 237 sid_string_dbg(sid), domname)); 217 238 218 if (idmap_cache_find_sid2gid(sid, gid, &expired)) { 239 if (winbindd_use_idmap_cache() 240 && idmap_cache_find_sid2gid(sid, gid, &expired)) { 219 241 DEBUG(10, ("idmap_cache_find_sid2gid found %d%s\n", 220 242 (int)(*gid), expired ? " (expired)": "")); … … 244 266 map.xid.type, 245 267 map.xid.id)); 246 idmap_cache_set_sid2gid(sid, -1); 268 if (winbindd_use_idmap_cache()) { 269 idmap_cache_set_sid2gid(sid, -1); 270 } 247 271 return NT_STATUS_NONE_MAPPED; 248 272 } … … 255 279 * could not answer our request. Fail. 256 280 */ 257 idmap_cache_set_sid2uid(sid, -1); 281 if (winbindd_use_idmap_cache()) { 282 idmap_cache_set_sid2uid(sid, -1); 283 } 258 284 return NT_STATUS_NONE_MAPPED; 259 285 } … … 264 290 DEBUG(10, ("idmap_new_mapping failed: %s\n", 265 291 nt_errstr(ret))); 266 idmap_cache_set_sid2gid(sid, -1); 292 if (winbindd_use_idmap_cache()) { 293 idmap_cache_set_sid2gid(sid, -1); 294 } 267 295 return ret; 268 296 } … … 270 298 done: 271 299 *gid = map.xid.id; 272 idmap_cache_set_sid2gid(sid, *gid); 300 if (winbindd_use_idmap_cache()) { 301 idmap_cache_set_sid2gid(sid, *gid); 302 } 273 303 return NT_STATUS_OK; 274 304 } -
branches/samba-3.3.x/source/winbindd/winbindd.c
r221 r222 29 29 #define DBGC_CLASS DBGC_WINBIND 30 30 31 bool opt_nocache = False;31 static bool opt_nocache = False; 32 32 static bool interactive = False; 33 33 … … 995 995 } 996 996 } 997 } 998 999 bool winbindd_use_idmap_cache(void) 1000 { 1001 return !opt_nocache; 1002 } 1003 1004 bool winbindd_use_cache(void) 1005 { 1006 return !opt_nocache; 997 1007 } 998 1008 -
branches/samba-3.3.x/source/winbindd/winbindd_cache.c
r221 r222 34 34 35 35 extern struct winbindd_methods reconnect_methods; 36 extern bool opt_nocache;37 36 #ifdef HAVE_ADS 38 37 extern struct winbindd_methods ads_methods; … … 632 631 struct cache_entry *centry; 633 632 634 if ( opt_nocache) {633 if (!winbindd_use_cache()) { 635 634 return NULL; 636 635 } … … 834 833 TDB_DATA key, data; 835 834 836 if ( opt_nocache) {835 if (!winbindd_use_cache()) { 837 836 return; 838 837 } … … 2861 2860 wcache->tdb = NULL; 2862 2861 } 2863 if ( opt_nocache)2862 if (!winbindd_use_cache()) { 2864 2863 return; 2864 } 2865 2865 2866 2866 /* when working offline we must not clear the cache on restart */ -
branches/samba-3.3.x/source/winbindd/winbindd_group.c
r221 r222 26 26 #include "winbindd.h" 27 27 28 extern bool opt_nocache;29 30 28 #undef DBGC_CLASS 31 29 #define DBGC_CLASS DBGC_WINBIND -
branches/samba-3.3.x/source/winbindd/winbindd_proto.h
r206 r222 68 68 void winbind_check_sighup(const char *lfile); 69 69 void winbind_check_sigterm(bool in_parent); 70 bool winbindd_use_idmap_cache(void); 71 bool winbindd_use_cache(void); 70 72 int main(int argc, char **argv, char **envp); 71 73
Note:
See TracChangeset
for help on using the changeset viewer.