-
Enhancement
-
Resolution: Fixed
-
P5
-
7
-
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();