Guotao Yu created DIRKRB-777: -------------------------------- Summary: Cannot decode HostAddress using CredCacheInputStream Key: DIRKRB-777 URL: https://issues.apache.org/jira/browse/DIRKRB-777 Project: Directory Kerberos Issue Type: Bug Affects Versions: 2.1.0 Reporter: Guotao Yu
In CredCacheOutputStream, HostAddress is serialized in this way. {code:java} public void writeAddress(HostAddress address) throws IOException { write(address.getAddrType().getValue()); write(address.getAddress().length); write(address.getAddress(), 0, address.getAddress().length); } {code} HostAddrType is serialized as an int type, However, in CredCacheInputStream, it is read as a short type. {code:java} public HostAddress readAddress() throws IOException { int typeValue = readShort(); HostAddrType addrType = HostAddrType.fromValue(typeValue); if (addrType == HostAddrType.NONE) { throw new IOException("Invalid host address type"); } byte[] addrData = readCountedOctets(); if (addrData == null) { throw new IOException("Invalid host address data"); } HostAddress addr = new HostAddress(); addr.setAddrType(addrType); addr.setAddress(addrData); return addr; } {code} This results in the deserialized HostAddrType being an illegal type. So for me the library is unusable. h4. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@directory.apache.org For additional commands, e-mail: dev-h...@directory.apache.org