-
Type:
Enhancement
-
Resolution: Fixed
-
Priority:
P5
-
Affects Version/s: 7
-
Component/s: security-libs
-
b17
-
generic
-
generic
-
Not verified
There're 4 places in JDK with almost identical codes. They'd better be put into one single method.
KrbTgsReq tgs_req = new KrbTgsReq(....); // Only difference
KrbTgsRep tgs_rep = null;
String kdc = null;
try {
kdc = tgs_req.send();
tgs_rep = tgs_req.getReply();
} catch (KrbException ke) {
if (ke.returnCode() == Krb5.KRB_ERR_RESPONSE_TOO_BIG) {
// set useTCP and retry
tgs_req.send(service.getRealmString(), kdc, true);
tgs_rep = tgs_req.getReply();
} else {
throw ke;
}
}
return tgs_rep.getCreds();
KrbTgsReq tgs_req = new KrbTgsReq(....); // Only difference
KrbTgsRep tgs_rep = null;
String kdc = null;
try {
kdc = tgs_req.send();
tgs_rep = tgs_req.getReply();
} catch (KrbException ke) {
if (ke.returnCode() == Krb5.KRB_ERR_RESPONSE_TOO_BIG) {
// set useTCP and retry
tgs_req.send(service.getRealmString(), kdc, true);
tgs_rep = tgs_req.getReply();
} else {
throw ke;
}
}
return tgs_rep.getCreds();