Changeset 429 for trunk/server/source3/winbindd/winbindd_reconnect.c
- Timestamp:
- Apr 9, 2010, 3:51:41 PM (15 years ago)
- Location:
- trunk/server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
-
Property svn:mergeinfo
set to
/vendor/3.5.2 merged eligible /vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
trunk/server/source3/winbindd/winbindd_reconnect.c
r414 r429 28 28 extern struct winbindd_methods msrpc_methods; 29 29 30 static bool reconnect_need_retry(NTSTATUS status) 31 { 32 if (NT_STATUS_IS_OK(status)) { 33 return false; 34 } 35 36 if (!NT_STATUS_IS_ERR(status)) { 37 return false; 38 } 39 40 if (NT_STATUS_EQUAL(status, NT_STATUS_NONE_MAPPED)) { 41 return false; 42 } 43 44 if (NT_STATUS_EQUAL(status, NT_STATUS_NO_SUCH_USER)) { 45 return false; 46 } 47 48 if (NT_STATUS_EQUAL(status, NT_STATUS_NO_SUCH_GROUP)) { 49 return false; 50 } 51 52 if (NT_STATUS_EQUAL(status, NT_STATUS_NO_SUCH_ALIAS)) { 53 return false; 54 } 55 56 if (NT_STATUS_EQUAL(status, NT_STATUS_NO_SUCH_MEMBER)) { 57 return false; 58 } 59 60 if (NT_STATUS_EQUAL(status, NT_STATUS_NO_SUCH_DOMAIN)) { 61 return false; 62 } 63 64 if (NT_STATUS_EQUAL(status, NT_STATUS_NO_SUCH_PRIVILEGE)) { 65 return false; 66 } 67 68 if (NT_STATUS_EQUAL(status, NT_STATUS_NO_MEMORY)) { 69 return false; 70 } 71 72 return true; 73 } 74 30 75 /* List all users */ 31 76 static NTSTATUS query_user_list(struct winbindd_domain *domain, … … 39 84 num_entries, info); 40 85 41 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))86 if (reconnect_need_retry(result)) 42 87 result = msrpc_methods.query_user_list(domain, mem_ctx, 43 88 num_entries, info); … … 56 101 num_entries, info); 57 102 58 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))103 if (reconnect_need_retry(result)) 59 104 result = msrpc_methods.enum_dom_groups(domain, mem_ctx, 60 105 num_entries, info); … … 74 119 num_entries, info); 75 120 76 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))121 if (reconnect_need_retry(result)) 77 122 result = msrpc_methods.enum_local_groups(domain, mem_ctx, 78 123 num_entries, info); … … 95 140 flags, sid, type); 96 141 97 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))142 if (reconnect_need_retry(result)) 98 143 result = msrpc_methods.name_to_sid(domain, mem_ctx, 99 144 domain_name, name, flags, … … 118 163 domain_name, name, type); 119 164 120 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))165 if (reconnect_need_retry(result)) 121 166 result = msrpc_methods.sid_to_name(domain, mem_ctx, sid, 122 167 domain_name, name, type); … … 139 184 rids, num_rids, 140 185 domain_name, names, types); 141 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL)) {186 if (reconnect_need_retry(result)) { 142 187 result = msrpc_methods.rids_to_names(domain, mem_ctx, sid, 143 188 rids, num_rids, … … 160 205 user_info); 161 206 162 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))207 if (reconnect_need_retry(result)) 163 208 result = msrpc_methods.query_user(domain, mem_ctx, user_sid, 164 209 user_info); … … 179 224 user_gids); 180 225 181 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))226 if (reconnect_need_retry(result)) 182 227 result = msrpc_methods.lookup_usergroups(domain, mem_ctx, 183 228 user_sid, num_groups, … … 199 244 alias_rids); 200 245 201 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))246 if (reconnect_need_retry(result)) 202 247 result = msrpc_methods.lookup_useraliases(domain, mem_ctx, 203 248 num_sids, sids, … … 224 269 name_types); 225 270 226 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))271 if (reconnect_need_retry(result)) 227 272 result = msrpc_methods.lookup_groupmem(domain, mem_ctx, 228 273 group_sid, type, … … 241 286 result = msrpc_methods.sequence_number(domain, seq); 242 287 243 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))288 if (reconnect_need_retry(result)) 244 289 result = msrpc_methods.sequence_number(domain, seq); 245 290 … … 256 301 result = msrpc_methods.lockout_policy(domain, mem_ctx, policy); 257 302 258 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))303 if (reconnect_need_retry(result)) 259 304 result = msrpc_methods.lockout_policy(domain, mem_ctx, policy); 260 305 … … 271 316 result = msrpc_methods.password_policy(domain, mem_ctx, policy); 272 317 273 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))318 if (reconnect_need_retry(result)) 274 319 result = msrpc_methods.password_policy(domain, mem_ctx, policy); 275 320 … … 286 331 result = msrpc_methods.trusted_domains(domain, mem_ctx, trusts); 287 332 288 if ( NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL))333 if (reconnect_need_retry(result)) 289 334 result = msrpc_methods.trusted_domains(domain, mem_ctx, 290 335 trusts);
Note:
See TracChangeset
for help on using the changeset viewer.