1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
| | Avoid using MAXPATHLEN and MAXHOSTLEN on the Hurd.
Taken from https://salsa.debian.org/debian/krb5/-/blob/master/debian/patches/debian-local/0001-Debian-HURD-compatibility.patch
From: Sam Hartman <hartmans@debian.org>
Date: Mon, 26 Dec 2011 18:05:13 -0500
Subject: Debian: HURD compatibility
HURD has no MAXPATHLEN or MAXHOSTLEN.
Patch-Category: debian-local
---
src/clients/ksu/ksu.h | 4 ++++
src/include/k5-int.h | 3 +++
src/kadmin/ktutil/ktutil_funcs.c | 4 ++++
src/kprop/kprop_util.c | 4 ++++
src/lib/gssapi/spnego/spnego_mech.c | 3 +++
src/lib/krb5/os/sn2princ.c | 4 ++++
src/plugins/kdb/db2/libdb2/include/db-int.h | 4 ++++
src/tests/resolve/resolve.c | 4 ++++
8 files changed, 30 insertions(+)
$ diff -u krb5-1.18/src/util/ss/help.c.orig krb5-1.18/src/util/ss/help.c
--- krb5-1.18/src/util/ss/help.c.orig 2020-03-07 23:25:52.712418587 +0100
+++ krb5-1.18/src/util/ss/help.c 2020-03-07 23:26:25.764941122 +0100
@@ -6,6 +6,9 @@
*/
#include <sys/param.h>
+#ifndef MAXPATHLEN
+# define MAXPATHLEN 4096
+#endif
#include <sys/types.h>
#include <errno.h>
#include <sys/file.h>
$ diff -u krb5-1.18/src/lib/krb5/os/hostrealm.c.orig krb5-1.18/src/lib/krb5/os/hostrealm.c
--- krb5-1.18/src/lib/krb5/os/hostrealm.c.orig 2020-03-07 23:33:19.931420994 +0100
+++ krb5-1.18/src/lib/krb5/os/hostrealm.c 2020-03-07 23:33:58.628026424 +0100
@@ -42,6 +42,10 @@
#endif
#endif
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 256
+#endif
+
struct hostrealm_module_handle {
struct krb5_hostrealm_vtable_st vt;
krb5_hostrealm_moddata data;
diff --git a/src/clients/ksu/ksu.h b/src/clients/ksu/ksu.h
index 3bf0bd4..f680b33 100644
--- a/src/clients/ksu/ksu.h
+++ b/src/clients/ksu/ksu.h
@@ -56,6 +56,10 @@
#define MAX_CMD 2048 /* this is temp, should use realloc instead,
as done in most of the code */
+#ifndef MAXPATHLEN
+# define MAXPATHLEN 4096
+#endif
+
extern int optind;
extern char * optarg;
diff --git a/src/include/k5-int.h b/src/include/k5-int.h
index 6522422..e4f1678 100644
--- a/src/include/k5-int.h
+++ b/src/include/k5-int.h
@@ -589,6 +589,9 @@ extern char *strdup (const char *);
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h> /* MAXPATHLEN */
#endif
+#ifndef MAXPATHLEN
+# define MAXPATHLEN 4096
+#endif
#ifdef HAVE_SYS_FILE_H
#include <sys/file.h> /* prototypes for file-related
diff --git a/src/kadmin/ktutil/ktutil_funcs.c b/src/kadmin/ktutil/ktutil_funcs.c
index 6d119a2..fb7fa22 100644
--- a/src/kadmin/ktutil/ktutil_funcs.c
+++ b/src/kadmin/ktutil/ktutil_funcs.c
@@ -34,6 +34,10 @@
#include <string.h>
#include <ctype.h>
+#ifndef MAXPATHLEN
+# define MAXPATHLEN 4096
+#endif
+
/*
* Free a kt_list
*/
diff --git a/src/kprop/kprop_util.c b/src/kprop/kprop_util.c
index c32d174..d72ab18 100644
--- a/src/kprop/kprop_util.c
+++ b/src/kprop/kprop_util.c
@@ -32,6 +32,10 @@
#include <sys/types.h>
#include <sys/socket.h>
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 256
+#endif
+
/*
* Convert an IPv4 or IPv6 socket address to a newly allocated krb5_address.
* There is similar code elsewhere in the tree, so this should possibly become
diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c
index 9d6027c..585d8a6 100644
--- a/src/lib/gssapi/spnego/spnego_mech.c
+++ b/src/lib/gssapi/spnego/spnego_mech.c
@@ -65,6 +65,9 @@
#include "gssapiP_spnego.h"
#include <gssapi_err_generic.h>
+#ifndef MAXHOSTNAMELEN
+#define MAXHOSTNAMELEN 256
+#endif
#undef g_token_size
#undef g_verify_token_header
diff --git a/src/lib/krb5/os/sn2princ.c b/src/lib/krb5/os/sn2princ.c
index 5932fd9..187daa8 100644
--- a/src/lib/krb5/os/sn2princ.c
+++ b/src/lib/krb5/os/sn2princ.c
@@ -126,6 +126,10 @@ find_trailer(const char *hostname)
return p;
}
+#ifndef MAXHOSTNAMELEN
+# define MAXHOSTNAMELEN 256
+#endif
+
krb5_error_code KRB5_CALLCONV
krb5_sname_to_principal(krb5_context context, const char *hostname,
const char *sname, krb5_int32 type,
diff --git a/src/plugins/kdb/db2/libdb2/include/db-int.h b/src/plugins/kdb/db2/libdb2/include/db-int.h
index 7e981d4..d83b3b6 100644
--- a/src/plugins/kdb/db2/libdb2/include/db-int.h
+++ b/src/plugins/kdb/db2/libdb2/include/db-int.h
@@ -280,4 +280,8 @@ void __dbpanic __P((DB *dbp));
#ifndef O_BINARY
#define O_BINARY 0 /* Needed for Win32 compiles */
#endif
+
+#ifndef MAXPATHLEN
+# define MAXPATHLEN 4096
+#endif
#endif /* _DB_INT_H_ */
|