git: 55f9c25f17a3 - main - krb5: Apply patches to build under FreeBSD
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 05 Jun 2025 02:53:57 UTC
The branch main has been updated by cy:
URL: https://cgit.FreeBSD.org/src/commit/?id=55f9c25f17a362fe1db1ae4df6450963e420089b
commit 55f9c25f17a362fe1db1ae4df6450963e420089b
Author: Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2025-06-05 02:50:35 +0000
Commit: Cy Schubert <cy@FreeBSD.org>
CommitDate: 2025-06-05 02:53:04 +0000
krb5: Apply patches to build under FreeBSD
These patches fix the MIT KRB5 on FreeBSD. Some are obtained from
ports/security/krb5-121.
Sponsored by: The FreeBSD Foundation
---
crypto/krb5/src/lib/krb5/ccache/t_stdio.c | 4 ++++
crypto/krb5/src/lib/krb5/os/localaddr.c | 10 ++++++++++
crypto/krb5/src/util/ss/listen.c | 4 ++++
crypto/krb5/src/util/ss/ss_internal.h | 2 ++
4 files changed, 20 insertions(+)
diff --git a/crypto/krb5/src/lib/krb5/ccache/t_stdio.c b/crypto/krb5/src/lib/krb5/ccache/t_stdio.c
index 15185e301cad..4d95878b2e02 100644
--- a/crypto/krb5/src/lib/krb5/ccache/t_stdio.c
+++ b/crypto/krb5/src/lib/krb5/ccache/t_stdio.c
@@ -27,6 +27,7 @@
#include "scc.h"
krb5_data client1 = {
+ 0,
#define DATA "client1-comp1"
sizeof(DATA),
DATA,
@@ -34,6 +35,7 @@ krb5_data client1 = {
};
krb5_data client2 = {
+ 0,
#define DATA "client1-comp2"
sizeof(DATA),
DATA,
@@ -41,6 +43,7 @@ krb5_data client2 = {
};
krb5_data server1 = {
+ 0,
#define DATA "server1-comp1"
sizeof(DATA),
DATA,
@@ -48,6 +51,7 @@ krb5_data server1 = {
};
krb5_data server2 = {
+ 0,
#define DATA "server1-comp2"
sizeof(DATA),
DATA,
diff --git a/crypto/krb5/src/lib/krb5/os/localaddr.c b/crypto/krb5/src/lib/krb5/os/localaddr.c
index 92d765f4bcac..efaee7cbdca6 100644
--- a/crypto/krb5/src/lib/krb5/os/localaddr.c
+++ b/crypto/krb5/src/lib/krb5/os/localaddr.c
@@ -176,6 +176,7 @@ printaddr(struct sockaddr *sa)
}
#endif
+#if 0
static int
is_loopback_address(struct sockaddr *sa)
{
@@ -192,6 +193,7 @@ is_loopback_address(struct sockaddr *sa)
return 0;
}
}
+#endif
#ifdef HAVE_IFADDRS_H
#include <ifaddrs.h>
@@ -449,12 +451,14 @@ foreach_localaddr (/*@null@*/ void *data,
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;
}
+#endif
/* If this address is a duplicate, punt. */
match = 0;
for (ifp2 = ifp_head; ifp2 && ifp2 != ifp; ifp2 = ifp2->ifa_next) {
@@ -583,11 +587,13 @@ foreach_localaddr (/*@null@*/ void *data,
}
/*@=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;
}
+#endif
/* Ignore interfaces that are down. */
if ((lifreq.lifr_flags & IFF_UP) == 0) {
Tprintf ((" down\n"));
@@ -754,11 +760,13 @@ foreach_localaddr (/*@null@*/ void *data,
}
/*@=moduncon@*/
+#if 0
/* 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"));
@@ -972,11 +980,13 @@ foreach_localaddr (/*@null@*/ void *data,
}
/*@=moduncon@*/
+#if 0
/* 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"));
diff --git a/crypto/krb5/src/util/ss/listen.c b/crypto/krb5/src/util/ss/listen.c
index fe18475447be..08427df1e5c7 100644
--- a/crypto/krb5/src/util/ss/listen.c
+++ b/crypto/krb5/src/util/ss/listen.c
@@ -14,6 +14,9 @@
#include <termios.h>
#include <sys/param.h>
+#ifdef __FreeBSD__
+#include <edit/readline/readline.h>
+#else
#if defined(HAVE_LIBEDIT)
#include <editline/readline.h>
#elif defined(HAVE_READLINE)
@@ -22,6 +25,7 @@
#else
#define NO_READLINE
#endif
+#endif
static ss_data *current_info;
static jmp_buf listen_jmpb;
diff --git a/crypto/krb5/src/util/ss/ss_internal.h b/crypto/krb5/src/util/ss/ss_internal.h
index 1f5ddfff91b5..d37d86014eb3 100644
--- a/crypto/krb5/src/util/ss/ss_internal.h
+++ b/crypto/krb5/src/util/ss/ss_internal.h
@@ -85,7 +85,9 @@ typedef struct _ss_data { /* init values */
#define ss_current_request(sci_idx,code_ptr) \
(*code_ptr=0,ss_info(sci_idx)->current_request)
void ss_unknown_function();
+#ifndef __FreeBSD__
void ss_delete_info_dir();
+#endif
char **ss_parse (int, char *, int *);
ss_abbrev_info *ss_abbrev_initialize (char *, int *);
void ss_page_stdin (void);