? files/remove Index: Makefile =================================================================== RCS file: /home/pcvs/ports/security/krb5-17/Makefile,v retrieving revision 1.141 diff -u -r1.141 Makefile --- Makefile 15 Apr 2010 15:42:19 -0000 1.141 +++ Makefile 24 Apr 2010 16:15:46 -0000 @@ -6,10 +6,9 @@ # PORTNAME= krb5 -PORTVERSION= 1.7 -PORTREVISION= 2 +PORTVERSION= 1.8.1 CATEGORIES= security -MASTER_SITES= http://web.mit.edu/kerberos/dist/krb5/${PORTVERSION:C/^[0-9]*\.[0-9]*/&X/:C/X\.[0-9]*$//:C/X//}/ +MASTER_SITES= http://web.mit.edu/kerberos/dist/${PORTNAME}/${PORTVERSION:C/^[0-9]*\.[0-9]*/&X/:C/X\.[0-9]*$//:C/X//}/ PATCH_SITES= http://web.mit.edu/kerberos/advisories/ DISTNAME= ${PORTNAME}-${PORTVERSION}-signed EXTRACT_SUFX= .tar @@ -21,10 +20,7 @@ CONFLICTS= krb[45]-[0-9]* heimdal-[0-9]* srp-[0-9]* -BROKEN= does not compile -FORBIDDEN= MITKRB5-SA-2010-001, MITKRB5-SA-2010-002, and MITKRB5-SA-2010-003. - -LATEST_LINK= ${PORTNAME}-17 +LATEST_LINK= ${PORTNAME}-18 KERBEROSV_URL= http://web.mit.edu/kerberos/ USE_OPENSSL= yes WITH_OPENSSL_PORT= yes @@ -37,14 +33,9 @@ CFLAGS="${CFLAGS}" MAKE_ARGS= INSTALL="${INSTALL}" -OPTIONS= KRB5_RENAME_FTP "Rename ftp to kftp" off \ - KRB5_RENAME_TELNET "Rename telnet to ktelnet" off \ - KRB5_RENAME_RLOGIN "Rename rlogin to krlogin" off \ - KRB5_RENAME_RSH "Rename rsh to krsh" off \ - KRB5_RENAME_RCP "Rename rcp to krcp" off \ - KRB5_KRB4_COMPAT "Build and install krb4 compatibility" off \ - KRB5_DOC "Build and install krb5 documentation" on \ - WANT_HTML "Want HTML documentation too" on +OPTIONS= KRB5_DOC "Build and install krb5 documentation" on \ + WANT_HTML "Want HTML documentation too" on \ + DNS_FOR_REALM "enable DNS lookups of Kerberos realm names" off .include @@ -52,73 +43,26 @@ BROKEN= fails to build with new utmpx .endif +.if defined(WITH_DNS_FOR_REALM) +CONFIGURE_ARGS+= --enable-dns-for-realm +.endif + .if defined(WITH_KRB5_DOC) BUILD_DEPENDS+= texi2dvi:${PORTSDIR}/print/texinfo \ dvips:${PORTSDIR}/print/dvipsk-tetex INFO= krb5-admin krb5-install krb5-user .endif -.if !defined(WITH_KRB5_KRB4_COMPAT) -CONFIGURE_ARGS+= --without-krb4 -PLIST_SUB+= KRB4="@comment " -.else -PLIST_SUB+= KRB4="" -.endif - .if defined(KRB5_HOME) PREFIX= ${KRB5_HOME} .endif MAN1= k5srvutil.1 kadmin.1 krb5-send-pr.1 krb5-config.1 \ kpasswd.1 klist.1 kinit.1 kdestroy.1 ksu.1 ktutil.1 \ - sclient.1 rsh.1 rcp.1 rlogin.1 ftp.1 telnet.1 \ - kerberos.1 kvno.1 compile_et.1 + sclient.1 kerberos.1 kvno.1 compile_et.1 MAN5= kdc.conf.5 krb5.conf.5 .k5login.5 MAN8= krb5kdc.8 kadmin.local.8 kdb5_util.8 kadmind.8 \ - kprop.8 kpropd.8 kproplog.8 sserver.8 kshd.8 \ - klogind.8 login.krb5.8 ftpd.8 telnetd.8 - -.if defined(WITH_KRB5_RENAME_FTP) -MAN1:= ${MAN1:C/ftp/kftp/} -MAN8:= ${MAN8:C/ftp/kftp/} -PROGRAM_TRANSFORM_NAME+= s/^ftp/kftp/; -PLIST_SUB+= FTP_PROG="kftp" -.else -PLIST_SUB+= FTP_PROG="ftp" -.endif - -.if defined(WITH_KRB5_RENAME_TELNET) -MAN1:= ${MAN1:C/telnet/ktelnet/} -MAN8:= ${MAN8:C/telnet/ktelnet/} -PROGRAM_TRANSFORM_NAME+= s/^telnet/ktelnet/; -PLIST_SUB+= TELNET_PROG="ktelnet" -.else -PLIST_SUB+= TELNET_PROG="telnet" -.endif - -.if defined(WITH_KRB5_RENAME_RLOGIN) -MAN1:= ${MAN1:C/rlogin/krlogin/} -PROGRAM_TRANSFORM_NAME+= s/^rlogin/krlogin/; -PLIST_SUB+= RLOGIN_PROG="krlogin" -.else -PLIST_SUB+= RLOGIN_PROG="rlogin" -.endif - -.if defined(WITH_KRB5_RENAME_RSH) -MAN1:= ${MAN1:C/rsh/krsh/} -PROGRAM_TRANSFORM_NAME+= s/^rsh/krsh/; -PLIST_SUB+= RSH_PROG="krsh" -.else -PLIST_SUB+= RSH_PROG="rsh" -.endif - -.if defined(WITH_KRB5_RENAME_RCP) -MAN1:= ${MAN1:C/rcp/krcp/} -PROGRAM_TRANSFORM_NAME+= s/^rcp/krcp/; -PLIST_SUB+= RCP_PROG="krcp" -.else -PLIST_SUB+= RCP_PROG="rcp" -.endif + kprop.8 kpropd.8 kproplog.8 sserver.8 .if defined(PROGRAM_TRANSFORM_NAME) && ${PROGRAM_TRANSFORM_NAME} != "" CONFIGURE_ARGS+= --program-transform-name="${PROGRAM_TRANSFORM_NAME}" @@ -148,14 +92,6 @@ @${REINPLACE_CMD} -e '1s,^#!\/usr\/athena/bin/perl,#!${PERL5},' \ ${WRKSRC}/../doc/man2html -pre-build: -.if !defined(KRB5_KRB4_COMPAT) - @${ECHO} "------------------------------------------------------" - @${ECHO} "Set KRB5_KRB4_COMPAT=NO if you do not want to build " - @${ECHO} "the KerberosIV compatibility libraries. " - @${ECHO} "------------------------------------------------------" -.endif - post-build: .if defined(WITH_KRB5_DOC) @cd ${WRKSRC}/../doc && \ Index: distinfo =================================================================== RCS file: /home/pcvs/ports/security/krb5-17/distinfo,v retrieving revision 1.40 diff -u -r1.40 distinfo --- distinfo 28 Aug 2009 23:35:15 -0000 1.40 +++ distinfo 24 Apr 2010 16:15:46 -0000 @@ -1,3 +1,3 @@ -MD5 (krb5-1.7-signed.tar) = 9f7b3402b4731a7fa543db193bf1b564 -SHA256 (krb5-1.7-signed.tar) = a370cae8386e8b82b309c44a220542af78cbcbb42028fb3c2224eae6dba1ffd5 -SIZE (krb5-1.7-signed.tar) = 12226560 +MD5 (krb5-1.8.1-signed.tar) = e29a78b108c4687f7e7937110d1d0415 +SHA256 (krb5-1.8.1-signed.tar) = 470c486ec5580d12f2a72cde059e3bdfa567cf96215b724fec5a3b6cfa7eebb9 +SIZE (krb5-1.8.1-signed.tar) = 11632640 Index: pkg-plist =================================================================== RCS file: /home/pcvs/ports/security/krb5-17/pkg-plist,v retrieving revision 1.25 diff -u -r1.25 pkg-plist --- pkg-plist 28 Aug 2009 23:35:15 -0000 1.25 +++ pkg-plist 24 Apr 2010 16:15:46 -0000 @@ -1,5 +1,4 @@ bin/compile_et -bin/%%FTP_PROG%% bin/gss-client bin/k5srvutil bin/kadmin @@ -11,12 +10,8 @@ bin/ksu bin/ktutil bin/kvno -bin/%%RCP_PROG%% -bin/%%RLOGIN_PROG%% -bin/%%RSH_PROG%% bin/sclient bin/sim_client -bin/%%TELNET_PROG%% bin/uuclient include/com_err.h include/gssapi.h @@ -58,9 +53,11 @@ lib/libk5crypto.so lib/libk5crypto.so.3 lib/libkadm5clnt.so -lib/libkadm5clnt.so.6 +lib/libkadm5clnt_mit.so +lib/libkadm5clnt_mit.so.7 lib/libkadm5srv.so -lib/libkadm5srv.so.6 +lib/libkadm5srv_mit.so +lib/libkadm5srv_mit.so.7 lib/libkdb5.so lib/libkdb5.so.4 lib/libkrb5.so @@ -70,22 +67,17 @@ lib/krb5/plugins/kdb/db2.so lib/krb5/plugins/preauth/encrypted_challenge.so lib/krb5/plugins/preauth/pkinit.so -sbin/%%FTP_PROG%%d sbin/gss-server sbin/kadmin.local sbin/kadmind sbin/kdb5_util -sbin/klogind sbin/kprop sbin/kpropd sbin/kproplog sbin/krb5-send-pr sbin/krb5kdc -sbin/kshd -sbin/login.krb5 sbin/sim_server sbin/sserver -sbin/%%TELNET_PROG%%d sbin/uuserver share/doc/krb5/README.FreeBSD share/et/et_c.awk Index: files/patch-as =================================================================== RCS file: /home/pcvs/ports/security/krb5-17/files/patch-as,v retrieving revision 1.7 diff -u -r1.7 patch-as --- files/patch-as 9 Jun 2009 04:16:35 -0000 1.7 +++ files/patch-as 24 Apr 2010 16:15:46 -0000 @@ -1,6 +1,6 @@ ---- clients/ksu/main.c.orig Wed Aug 14 12:14:49 2002 -+++ clients/ksu/main.c Tue Jul 29 18:46:00 2003 -@@ -32,6 +32,10 @@ +--- clients/ksu/main.c.orig 2009-11-02 19:27:56.000000000 -0800 ++++ clients/ksu/main.c 2010-04-19 12:27:09.090190157 -0700 +@@ -33,6 +33,10 @@ #include #include @@ -10,9 +10,9 @@ + /* globals */ char * prog_name; - int auth_debug =0; -@@ -61,7 +65,7 @@ - ill specified arguments to commands */ + int auth_debug =0; +@@ -62,7 +66,7 @@ + ill specified arguments to commands */ void usage (){ - fprintf(stderr, "Usage: %s [target user] [-n principal] [-c source cachename] [-k] [-D] [-r time] [-pf] [-l lifetime] [-zZ] [-q] [-e command [args... ] ] [-a [args... ] ]\n", prog_name); @@ -20,176 +20,173 @@ } /* for Ultrix and friends ... */ -@@ -77,6 +81,7 @@ +@@ -78,6 +82,7 @@ int argc; char ** argv; - { + { + int asme = 0; int hp =0; - int some_rest_copy = 0; - int all_rest_copy = 0; -@@ -91,6 +96,7 @@ - char * cc_target_tag = NULL; + int some_rest_copy = 0; + int all_rest_copy = 0; +@@ -92,6 +97,7 @@ + char * cc_target_tag = NULL; char * target_user = NULL; char * source_user; + char * source_shell; - + krb5_ccache cc_source = NULL; - const char * cc_source_tag = NULL; -@@ -117,6 +123,11 @@ - krb5_principal kdc_server; + const char * cc_source_tag = NULL; +@@ -119,6 +125,11 @@ krb5_boolean zero_password; - char * dir_of_cc_target; -+ + char * dir_of_cc_target; + +#ifdef LOGIN_CAP + login_cap_t *lc; + int setwhat; +#endif - ++ options.opt = KRB5_DEFAULT_OPTIONS; options.lifetime = KRB5_DEFAULT_TKT_LIFE; -@@ -181,7 +192,7 @@ - com_err (prog_name, errno, "while setting euid to source user"); - exit (1); + options.rlife =0; +@@ -182,7 +193,8 @@ + com_err (prog_name, errno, "while setting euid to source user"); + exit (1); } - while(!done && ((option = getopt(pargc, pargv,"n:c:r:a:zZDfpkql:e:")) != -1)){ + while(!done && ((option = getopt(pargc, pargv,"n:c:r:a:zZDfpkmql:e:")) != -1)){ - switch (option) { - case 'r': - options.opt |= KDC_OPT_RENEWABLE; -@@ -227,6 +238,9 @@ - errflg++; - } - break; -+ case 'm': -+ asme = 1; -+ break; - case 'n': - if ((retval = krb5_parse_name(ksu_context, optarg, &client))){ - com_err(prog_name, retval, "when parsing name %s", optarg); -@@ -341,6 +355,7 @@ - - /* allocate space and copy the usernamane there */ ++ + switch (option) { + case 'r': + options.opt |= KDC_OPT_RENEWABLE; +@@ -228,6 +240,9 @@ + errflg++; + } + break; ++ case 'm': ++ asme = 1; ++ break; + case 'n': + if ((retval = krb5_parse_name(ksu_context, optarg, &client))){ + com_err(prog_name, retval, "when parsing name %s", optarg); +@@ -342,6 +357,7 @@ + + /* allocate space and copy the usernamane there */ source_user = xstrdup(pwd->pw_name); + source_shell = xstrdup(pwd->pw_shell); source_uid = pwd->pw_uid; source_gid = pwd->pw_gid; - -@@ -672,43 +687,64 @@ - /* get the shell of the user, this will be the shell used by su */ + +@@ -673,43 +689,64 @@ + /* get the shell of the user, this will be the shell used by su */ target_pwd = getpwnam(target_user); - + - if (target_pwd->pw_shell) -- shell = xstrdup(target_pwd->pw_shell); +- shell = xstrdup(target_pwd->pw_shell); - else { -- shell = _DEF_CSH; /* default is cshell */ +- shell = _DEF_CSH; /* default is cshell */ + if (asme) { -+ if (source_shell && *source_shell) { -+ shell = strdup(source_shell); -+ } else { -+ shell = _DEF_CSH; -+ } ++ if (source_shell && *source_shell) { ++ shell = strdup(source_shell); ++ } else { ++ shell = _DEF_CSH; ++ } + } else { -+ if (target_pwd->pw_shell) -+ shell = strdup(target_pwd->pw_shell); -+ else { -+ shell = _DEF_CSH; /* default is cshell */ -+ } ++ if (target_pwd->pw_shell) ++ shell = strdup(target_pwd->pw_shell); ++ else { ++ shell = _DEF_CSH; /* default is cshell */ ++ } } - + #ifdef HAVE_GETUSERSHELL - - /* insist that the target login uses a standard shell (root is omited) */ - + + /* insist that the target login uses a standard shell (root is omited) */ + - if (!standard_shell(target_pwd->pw_shell) && source_uid) { -- fprintf(stderr, "ksu: permission denied (shell).\n"); -- sweep_up(ksu_context, cc_target); -- exit(1); +- fprintf(stderr, "ksu: permission denied (shell).\n"); +- sweep_up(ksu_context, cc_target); +- exit(1); + if (asme) { -+ if (!standard_shell(pwd->pw_shell) && source_uid) { -+ fprintf(stderr, "ksu: permission denied (shell).\n"); -+ sweep_up(ksu_context, cc_target); -+ exit(1); -+ } ++ if (!standard_shell(pwd->pw_shell) && source_uid) { ++ fprintf(stderr, "ksu: permission denied (shell).\n"); ++ sweep_up(ksu_context, cc_target); ++ exit(1); ++ } + } else { -+ if (!standard_shell(target_pwd->pw_shell) && source_uid) { -+ fprintf(stderr, "ksu: permission denied (shell).\n"); -+ sweep_up(ksu_context, cc_target); -+ exit(1); -+ } ++ if (!standard_shell(target_pwd->pw_shell) && source_uid) { ++ fprintf(stderr, "ksu: permission denied (shell).\n"); ++ sweep_up(ksu_context, cc_target); ++ exit(1); ++ } } #endif /* HAVE_GETUSERSHELL */ - + - if (target_pwd->pw_uid){ -- -- if(set_env_var("USER", target_pwd->pw_name)){ + if (!asme) { -+ if (target_pwd->pw_uid){ -+ if (set_env_var("USER", target_pwd->pw_name)){ -+ fprintf(stderr,"ksu: couldn't set environment variable USER\n"); -+ sweep_up(ksu_context, cc_target); -+ exit(1); -+ } -+ } -+ -+ if (set_env_var( "HOME", target_pwd->pw_dir)){ - fprintf(stderr,"ksu: couldn't set environment variable USER\n"); - sweep_up(ksu_context, cc_target); - exit(1); -- } -- } -- ++ if (target_pwd->pw_uid){ ++ if (set_env_var("USER", target_pwd->pw_name)){ ++ fprintf(stderr,"ksu: couldn't set environment variable USER\n"); ++ sweep_up(ksu_context, cc_target); ++ exit(1); ++ } ++ } + +- if(set_env_var("USER", target_pwd->pw_name)){ ++ if (set_env_var( "HOME", target_pwd->pw_dir)){ + fprintf(stderr,"ksu: couldn't set environment variable USER\n"); + sweep_up(ksu_context, cc_target); + exit(1); +- } +- } ++ } + - if(set_env_var( "HOME", target_pwd->pw_dir)){ -- fprintf(stderr,"ksu: couldn't set environment variable USER\n"); -- sweep_up(ksu_context, cc_target); -- exit(1); -- } -+ } - +- fprintf(stderr,"ksu: couldn't set environment variable USER\n"); +- sweep_up(ksu_context, cc_target); +- exit(1); ++ if (set_env_var( "SHELL", shell)){ ++ fprintf(stderr,"ksu: couldn't set environment variable USER\n"); ++ sweep_up(ksu_context, cc_target); ++ exit(1); ++ } + } + - if(set_env_var( "SHELL", shell)){ -- fprintf(stderr,"ksu: couldn't set environment variable USER\n"); -- sweep_up(ksu_context, cc_target); -- exit(1); -- } -+ if (set_env_var( "SHELL", shell)){ -+ fprintf(stderr,"ksu: couldn't set environment variable USER\n"); -+ sweep_up(ksu_context, cc_target); -+ exit(1); -+ } -+ } -+ +- fprintf(stderr,"ksu: couldn't set environment variable USER\n"); +- sweep_up(ksu_context, cc_target); +- exit(1); +- } +#ifdef LOGIN_CAP + lc = login_getpwclass(pwd); +#endif - - /* set the cc env name to target */ - -@@ -718,7 +754,19 @@ - sweep_up(ksu_context, cc_target); - exit(1); - } -- -+ + + /* set the cc env name to target */ + +@@ -720,6 +757,19 @@ + exit(1); + } + +#ifdef LOGIN_CAP -+ setwhat = LOGIN_SETUSER|LOGIN_SETGROUP|LOGIN_SETRESOURCES|LOGIN_SETPRIORITY; ++ setwhat = LOGIN_SETUSER|LOGIN_SETGROUP|LOGIN_SETRESOURCES|LOGIN_SETPRIORIT ++ + setwhat |= LOGIN_SETPATH|LOGIN_SETUMASK|LOGIN_SETENV; + /* + * Don't touch resource/priority settings if -m has been + * used or -l and -c hasn't, and we're not su'ing to root. + */ + if (target_pwd->pw_uid) -+ setwhat &= ~(LOGIN_SETPRIORITY|LOGIN_SETRESOURCES); ++ setwhat &= ~(LOGIN_SETPRIORITY|LOGIN_SETRESOURCES); + if (setusercontext(lc, target_pwd, target_pwd->pw_uid, setwhat) < 0) -+ err(1, "setusercontext"); ++ err(1, "setusercontext"); +#else /* set permissions */ if (setgid(target_pwd->pw_gid) < 0) { - perror("ksu: setgid"); -@@ -759,6 +807,7 @@ - sweep_up(ksu_context, cc_target); - exit(1); - } -+#endif - + perror("ksu: setgid"); +@@ -760,6 +810,7 @@ + sweep_up(ksu_context, cc_target); + exit(1); + } ++#endif /* LOGIN_CAP */ + if (access( cc_target_tag_tmp, R_OK | W_OK )){ - com_err(prog_name, errno, + com_err(prog_name, errno, Index: files/patch-lib-krb5-os-localaddr.c =================================================================== RCS file: /home/pcvs/ports/security/krb5-17/files/patch-lib-krb5-os-localaddr.c,v retrieving revision 1.3 diff -u -r1.3 patch-lib-krb5-os-localaddr.c --- files/patch-lib-krb5-os-localaddr.c 28 Aug 2009 23:35:15 -0000 1.3 +++ files/patch-lib-krb5-os-localaddr.c 24 Apr 2010 16:15:46 -0000 @@ -1,6 +1,6 @@ ---- lib/krb5/os/localaddr.c.orig 2009-02-18 10:14:48.000000000 -0800 -+++ lib/krb5/os/localaddr.c 2009-08-28 13:37:41.000000000 -0700 -@@ -173,6 +173,7 @@ +--- lib/krb5/os/localaddr.c.orig 2009-10-30 20:17:27.000000000 -0700 ++++ lib/krb5/os/localaddr.c 2010-04-19 12:39:56.707090973 -0700 +@@ -175,6 +175,7 @@ } #endif @@ -8,68 +8,68 @@ static int is_loopback_address(struct sockaddr *sa) { -@@ -189,6 +190,7 @@ - return 0; +@@ -191,6 +192,7 @@ + return 0; } } +#endif #ifdef HAVE_IFADDRS_H #include -@@ -464,12 +466,14 @@ - ifp->ifa_flags &= ~IFF_UP; - continue; - } +@@ -467,12 +469,14 @@ + ifp->ifa_flags &= ~IFF_UP; + continue; + } +#if 0 - if (is_loopback_address(ifp->ifa_addr)) { - /* Pretend it's not up, so the second pass will skip - it. */ - ifp->ifa_flags &= ~IFF_UP; - continue; - } + if (is_loopback_address(ifp->ifa_addr)) { + /* Pretend it's not up, so the second pass will skip + it. */ + ifp->ifa_flags &= ~IFF_UP; + continue; + } +#endif - /* If this address is a duplicate, punt. */ - match = 0; - for (ifp2 = ifp_head; ifp2 && ifp2 != ifp; ifp2 = ifp2->ifa_next) { -@@ -598,11 +602,13 @@ - } - /*@=moduncon@*/ + /* If this address is a duplicate, punt. */ + match = 0; + for (ifp2 = ifp_head; ifp2 && ifp2 != ifp; ifp2 = ifp2->ifa_next) { +@@ -601,11 +605,13 @@ + } + /*@=moduncon@*/ +#if 0 - /* None of the current callers want loopback addresses. */ - if (is_loopback_address((struct sockaddr *)&lifr->lifr_addr)) { - Tprintf ((" loopback\n")); - goto skip; - } + /* None of the current callers want loopback addresses. */ + if (is_loopback_address((struct sockaddr *)&lifr->lifr_addr)) { + Tprintf ((" loopback\n")); + goto skip; + } +#endif - /* Ignore interfaces that are down. */ - if ((lifreq.lifr_flags & IFF_UP) == 0) { - Tprintf ((" down\n")); -@@ -769,11 +775,13 @@ - } - /*@=moduncon@*/ + /* Ignore interfaces that are down. */ + if ((lifreq.lifr_flags & IFF_UP) == 0) { + Tprintf ((" down\n")); +@@ -772,11 +778,13 @@ + } + /*@=moduncon@*/ +#if 0 - /* None of the current callers want loopback addresses. */ - if (is_loopback_address(&lifr->iflr_addr)) { - Tprintf ((" loopback\n")); - goto skip; - } + /* None of the current callers want loopback addresses. */ + if (is_loopback_address(&lifr->iflr_addr)) { + Tprintf ((" loopback\n")); + goto skip; + } +#endif - /* Ignore interfaces that are down. */ - if ((lifreq.iflr_flags & IFF_UP) == 0) { - Tprintf ((" down\n")); -@@ -984,11 +992,13 @@ - } - /*@=moduncon@*/ + /* Ignore interfaces that are down. */ + if ((lifreq.iflr_flags & IFF_UP) == 0) { + Tprintf ((" down\n")); +@@ -987,11 +995,13 @@ + } + /*@=moduncon@*/ +#if 0 - /* None of the current callers want loopback addresses. */ - if (is_loopback_address(&ifreq.ifr_addr)) { - Tprintf ((" loopback\n")); - goto skip; - } + /* None of the current callers want loopback addresses. */ + if (is_loopback_address(&ifreq.ifr_addr)) { + Tprintf ((" loopback\n")); + goto skip; + } +#endif - /* Ignore interfaces that are down. */ - if ((ifreq.ifr_flags & IFF_UP) == 0) { - Tprintf ((" down\n")); + /* Ignore interfaces that are down. */ + if ((ifreq.ifr_flags & IFF_UP) == 0) { + Tprintf ((" down\n"));