krb5_creds my_creds;
krb5_get_init_creds_opt options;
krb5_address ** addrs = NULL;
- int i = 0, addr_count = 0;
+ int i = 0, addr_count = 0, passes = 0;
if (!pkrb5_init_context)
return KRB5_CONFIG_CANTOPEN;
&options);
if (code == KRB5KRB_AP_ERR_REPEAT)
Sleep(1000);
- } while(code == KRB5KRB_AP_ERR_REPEAT);
+ } while(code == KRB5KRB_AP_ERR_REPEAT && passes++ < 2);
if (code)
goto cleanup;
krb5_principal client_principal = NULL;
krb5_data * k5data = NULL;
unsigned int i, retry = 0;
+ int passes = 0;
CurrentState = 0;
memset(HostName, '\0', sizeof(HostName));
pkrb5_free_unparsed_name(ctx,cname);
pkrb5_free_unparsed_name(ctx,sname);
}
-
+ passes = 0;
do {
code = pkrb5_get_credentials(ctx, 0, cc, &increds, &k5creds);
if (code == KRB5KRB_AP_ERR_REPEAT)
Sleep(1000);
- } while(code == KRB5KRB_AP_ERR_REPEAT);
+ } while(code == KRB5KRB_AP_ERR_REPEAT && passes++ < 2);
if (code == 0) {
/* The client's realm is a local realm for the cell.
}
if (!code) {
+ passes = 0;
do {
code = pkrb5_get_credentials(ctx, 0, cc, &increds, &k5creds);
if (code == KRB5KRB_AP_ERR_REPEAT)
Sleep(1000);
- } while(code == KRB5KRB_AP_ERR_REPEAT);
+ } while(code == KRB5KRB_AP_ERR_REPEAT && passes++ < 2);
}
if (code == KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN ||
}
if (!code) {
+ passes = 0;
do {
code = pkrb5_get_credentials(ctx, 0, cc, &increds, &k5creds);
if (code == KRB5KRB_AP_ERR_REPEAT)
Sleep(1000);
- } while(code == KRB5KRB_AP_ERR_REPEAT);
+ } while(code == KRB5KRB_AP_ERR_REPEAT && passes++ < 2);
}
}
}
}
if (!code) {
+ passes = 0;
do {
code = pkrb5_get_credentials(ctx, 0, cc, &increds, &k5creds);
if (code == KRB5KRB_AP_ERR_REPEAT)
Sleep(1000);
- } while(code == KRB5KRB_AP_ERR_REPEAT);
+ } while(code == KRB5KRB_AP_ERR_REPEAT && passes++ < 2);
}
if (!code && !strlen(realm_of_cell))
}
if (!code) {
+ passes = 0;
do {
code = pkrb5_get_credentials(ctx, 0, cc, &increds, &k5creds);
if (code == KRB5KRB_AP_ERR_REPEAT)
Sleep(1000);
- } while(code == KRB5KRB_AP_ERR_REPEAT);
+ } while(code == KRB5KRB_AP_ERR_REPEAT && passes++ < 2);
}
if (!code && !strlen(realm_of_cell))
}
if (!code) {
+ passes = 0;
do {
code = pkrb5_get_credentials(ctx, 0, cc, &increds, &k5creds);
if (code == KRB5KRB_AP_ERR_REPEAT)
Sleep(1000);
- } while(code == KRB5KRB_AP_ERR_REPEAT);
+ } while(code == KRB5KRB_AP_ERR_REPEAT && passes++ < 2);
}
if (!code && !strlen(realm_of_cell))