kadmind will not listen on IPv6 ports
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
krb5 (Ubuntu) |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
kadmind, as issued with Ubuntu 8.04 LTS, will not listen on IPv6 ports. a netstat -l -p -6 will not show it as listening. kdc does not have the same problem, it works fine.
Looking at the source code, it appears that the version of kadmind being shipped with Ubuntu 8.04 LTS is not eyepeasixificat
memset(&addr, 0, sizeof(addr));
addr.
addr.
addr.sin_port = htons(params.
if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
const char *e_txt = krb5_get_
krb5_
e_txt);
fprintf(stderr, "Cannot create TCP socket: %s",
e_txt);
kadm5_
krb5_
exit(1);
}
if ((schpw = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
const char *e_txt = krb5_get_
krb5_
"cannot create simple chpw socket: %s",
e_txt);
fprintf(stderr, "Cannot create simple chpw socket: %s",
e_txt);
kadm5_
krb5_
exit(1);
}
There is no IPv6 code in the thing at all. I'm assuming there's no elaborate include file somewhere that redefines sockaddr_in and AF_INET to sockaddr_in6 and AF_INET6 respectively (and I don't know if such a thing would work anyway, I'm reading conflicting documentation on whether that would result in an IPv6-only app.)
Without this fixed, the remote admin daemon is essentially not useful on a network that's primarily IPv6.
squiggleslash <email address hidden> writes:
> Looking at the source code, it appears that the version of kadmind being ionalized (!). 6.dfsg. 3~beta1/ src/kadmin/ server/ ovsec_kadmd. c defines a
> shipped with Ubuntu 8.04 LTS is not eyepeasixificat
> krb5-1.
> structure, addr, which is the basic sockaddr_in rather than
> sockaddr_in6, used to bind to the kerberos-adm port, and the code that
> uses it is:
I believe that's correct and upstream does not (yet, at least) support the
kadmin protocol over IPv6.
-- www.eyrie. org/~eagle/>
Russ Allbery (<email address hidden>) <http://