Skip to content

Commit

Permalink
Disable UDP pass of gssrpc tests on all platforms
Browse files Browse the repository at this point in the history
The AUTH_GSSAPI flavor of rpc authentication uses IP address channel
bindings.  These are broken over UDP, because svcudp_recv() fails to
get the destination address of incoming packets (it tries to use the
recvmsg() msg_name field to get the destination IP address, which
instead gets the source address; see ticket #5540).

There is no simple or comprehensive way to fix this; using IP_PKTINFO
is a fair amount of code and only works on some platforms.  It's also
not very important--nobody should be using AUTH_GSSAPI except perhaps
for compatibility with really old kadmin, and kadmin only runs over
TCP.  Since the gssrpc tests are closely wedded to AUTH_GSSAPI, the
simplest fix is to only run the TCP pass.
  • Loading branch information
greghudson committed Jan 19, 2016
1 parent 7d2c871 commit ae54def
Showing 1 changed file with 1 addition and 10 deletions.
11 changes: 1 addition & 10 deletions src/configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -930,16 +930,7 @@ extern void endrpcent();],
AC_MSG_RESULT($k5_cv_type_endrpcent)
AC_DEFINE_UNQUOTED(ENDRPCENT_TYPE, $k5_cv_type_endrpcent, [Define as return type of endrpcent])
K5_GEN_FILE(include/gssrpc/types.h:include/gssrpc/types.hin)
changequote(<<, >>)
case "$krb5_cv_host" in
*-*-solaris2.[012345]*)
PASS=tcp
;;
*)
PASS="tcp udp"
;;
esac
changequote([, ])
PASS=tcp
AC_SUBST(PASS)

# for pkinit
Expand Down

0 comments on commit ae54def

Please sign in to comment.