[krbdev.mit.edu #5393] krb5-1.6: tcp kpasswd service required if only admin_server is specified in krb5.conf
Public Submitter via RT
rt-comment at krbdev.mit.edu
Thu Jan 18 09:22:14 EST 2007
[jaltman - Thu Jan 18 07:55:20 2007]:
> I suspect that patch that you are looking for is this. Please
confirm
> that it addresses your issue and I will commit it.
>
> Index: changepw.c
> ===================================================================
> --- changepw.c (revision 19063)
> +++ changepw.c (working copy)
> @@ -70,12 +70,14 @@
> locate_service_kadmin,
> SOCK_STREAM, 0);
> if (!code) {
> /* Success with admin_server but now we need to change
the
> - port number to use DEFAULT_KPASSWD_PORT. */
> + port number to use DEFAULT_KPASSWD_PORT and the
socktype. */
> int i;
> for (i=0; i<addrlist->naddrs; i++) {
> struct addrinfo *a = addrlist->addrs[i].ai;
> if (a->ai_family == AF_INET)
> sa2sin (a->ai_addr)->sin_port =
> htons(DEFAULT_KPASSWD_PORT);
> + if (sockType != SOCK_STREAM)
> + a->ai_socktype == sockType;
> }
> }
> }
>
Sorry, does not work. It still tries tcp. I confirmed that the
socktype was changed, but :
krb5int_sendto(callback=0xbfe3d3e8, addrlist=2{0x80055780=stream
10.10.101.132.464,0x800554e0=stream 10.10.101.132.464})
maybe_send(@0x8005543c) state=INITIALIZING type=tcp
abandoning connection 5: 22/Invalid Argument
Btw: If this call with static SOCK_STREAM is correct, why is call
three lines above
code = krb5int_locate_server (context, realm, addrlist,
locate_service_kpasswd, sockType, 0);
with sockType correct?
More information about the krb5-bugs
mailing list