Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.0-M19
-
None
-
None
Description
Using ibm java, we ran into error:
KrbException, status code: 38 message: Incorrect net address
Debuging ApacheDS code, I found out exception comes from
if ( ticket.getEncTicketPart().getClientAddresses() != null ) { if ( !ticket.getEncTicketPart().getClientAddresses().contains( new HostAddress( clientAddress ) ) ) { throw new KerberosException( ErrorType.KRB_AP_ERR_BADADDR ); } }
I think the root of problem is in HostAddress constructor
/** * Creates a new instance of HostAddress. * * @param internetAddress The Inet form address */ public HostAddress( InetAddress internetAddress ) { addrType = HostAddrType.ADDRTYPE_INET; byte[] newAddress = internetAddress.getAddress(); address = new byte[newAddress.length]; System.arraycopy( newAddress, 0, address, 0, newAddress.length ); }
problem I see address type is not taken form provided parameter internetAddress, but hardcoded into IPv4 version HostAddrType.ADDRTYPE_INET