Mercurial > dovecot > core-2.2
comparison src/auth/mech-rpa.c @ 9002:9d0037a997f4 HEAD
Initial commit for config rewrite.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 27 Jan 2009 18:21:53 -0500 |
parents | 84eea1977632 |
children | 97cdfeb57129 |
comparison
equal
deleted
inserted
replaced
8692:77c67307d316 | 9002:9d0037a997f4 |
---|---|
236 } | 236 } |
237 | 237 |
238 static bool | 238 static bool |
239 rpa_verify_realm(struct rpa_auth_request *request, const char *realm) | 239 rpa_verify_realm(struct rpa_auth_request *request, const char *realm) |
240 { | 240 { |
241 const struct auth *auth = request->auth_request.auth; | |
241 const char *default_realm; | 242 const char *default_realm; |
242 char *const *tmp; | 243 const char *const *tmp; |
243 | 244 |
244 tmp = request->auth_request.auth->auth_realms; | 245 for (tmp = auth->auth_realms; *tmp != NULL; tmp++) { |
245 for (; *tmp != NULL; tmp++) { | |
246 if (strcasecmp(realm, *tmp) == 0) | 246 if (strcasecmp(realm, *tmp) == 0) |
247 return TRUE; | 247 return TRUE; |
248 } | 248 } |
249 | 249 |
250 default_realm = request->auth_request.auth->default_realm != NULL ? | 250 default_realm = *auth->set->default_realm != '\0' ? |
251 request->auth_request.auth->default_realm : | 251 auth->set->default_realm : my_hostname; |
252 my_hostname; | |
253 | 252 |
254 return strcasecmp(realm, default_realm) == 0; | 253 return strcasecmp(realm, default_realm) == 0; |
255 } | 254 } |
256 | 255 |
257 static bool | 256 static bool |
351 struct auth *auth = request->auth_request.auth; | 350 struct auth *auth = request->auth_request.auth; |
352 unsigned int realms_len, length; | 351 unsigned int realms_len, length; |
353 string_t *realms; | 352 string_t *realms; |
354 buffer_t *buf; | 353 buffer_t *buf; |
355 unsigned char timestamp[RPA_TIMESTAMP_LEN / 2]; | 354 unsigned char timestamp[RPA_TIMESTAMP_LEN / 2]; |
356 char *const *tmp; | 355 const char *const *tmp; |
357 | 356 |
358 realms = t_str_new(64); | 357 realms = t_str_new(64); |
359 for (tmp = auth->auth_realms; *tmp != NULL; tmp++) { | 358 for (tmp = auth->auth_realms; *tmp != NULL; tmp++) { |
360 rpa_add_realm(realms, *tmp, request->auth_request.service); | 359 rpa_add_realm(realms, *tmp, request->auth_request.service); |
361 } | 360 } |
362 | 361 |
363 if (str_len(realms) == 0) { | 362 if (str_len(realms) == 0) { |
364 rpa_add_realm(realms, auth->default_realm != NULL ? | 363 rpa_add_realm(realms, *auth->set->default_realm != '\0' ? |
365 auth->default_realm : my_hostname, | 364 auth->set->default_realm : my_hostname, |
366 request->auth_request.service); | 365 request->auth_request.service); |
367 } | 366 } |
368 | 367 |
369 realms_len = str_len(realms) - 1; | 368 realms_len = str_len(realms) - 1; |
370 length = sizeof(rpa_oid) + 3 + RPA_SCHALLENGE_LEN + | 369 length = sizeof(rpa_oid) + 3 + RPA_SCHALLENGE_LEN + |