diff options
author | Damien Miller <djm@mindrot.org> | 2000-01-14 15:45:46 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2000-01-14 15:45:46 +1100 |
commit | 34132e54cbd221d17d373fc54f4e3f7b85727f7f (patch) | |
tree | 7c73917b1082ff91786f9e02d25b853bedd1d472 /configure.in | |
parent | 25e4256ad4f453d8a7c1866243ec1984f859b1de (diff) |
- Merged OpenBSD IPv6 patch:
- [sshd.c sshd.8 sshconnect.c ssh.h ssh.c servconf.h servconf.c scp.1]
[scp.c packet.h packet.c login.c log.c canohost.c channels.c]
[hostfile.c sshd_config]
ipv6 support: mostly gethostbyname->getaddrinfo/getnameinfo, new
features: sshd allows multiple ListenAddress and Port options. note
that libwrap is not IPv6-ready. (based on patches from
fujiwara@rcac.tdi.co.jp)
- [ssh.c canohost.c]
more hints (hints.ai_socktype=SOCK_STREAM) for getaddrinfo,
from itojun@
- [channels.c]
listen on _all_ interfaces for X11-Fwd (hints.ai_flags = AI_PASSIVE)
- [packet.h]
allow auth-kerberos for IPv4 only
- [scp.1 sshd.8 servconf.h scp.c]
document -4, -6, and 'ssh -L 2022/::1/22'
- [ssh.c]
'ssh @host' is illegal (null user name), from
karsten@gedankenpolizei.de
- [sshconnect.c]
better error message
- [sshd.c]
allow auth-kerberos for IPv4 only
- Big IPv6 merge:
- Cleanup overrun in sockaddr copying on RHL 6.1
- Replacements for getaddrinfo, getnameinfo, etc based on versions
from patch from KIKUCHI Takahiro <kick@kyoto.wide.ad.jp>
- Replacement for missing structures on systems that lack IPv6
- record_login needed to know about AF_INET6 addresses
- Borrowed more code from OpenBSD: rresvport_af and requisites
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 88 |
1 files changed, 83 insertions, 5 deletions
diff --git a/configure.in b/configure.in index a6654022b..ab175d409 100644 --- a/configure.in +++ b/configure.in | |||
@@ -128,7 +128,7 @@ dnl Checks for header files. | |||
128 | AC_CHECK_HEADERS(bstring.h endian.h lastlog.h login.h maillock.h netdb.h netgroup.h paths.h poll.h pty.h shadow.h security/pam_appl.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/select.h sys/stropts.h sys/time.h sys/ttcompat.h util.h utmp.h utmpx.h) | 128 | AC_CHECK_HEADERS(bstring.h endian.h lastlog.h login.h maillock.h netdb.h netgroup.h paths.h poll.h pty.h shadow.h security/pam_appl.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/select.h sys/stropts.h sys/time.h sys/ttcompat.h util.h utmp.h utmpx.h) |
129 | 129 | ||
130 | dnl Checks for library functions. | 130 | dnl Checks for library functions. |
131 | AC_CHECK_FUNCS(arc4random getpagesize _getpty innetgr md5_crypt mkdtemp openpty setenv seteuid setlogin setproctitle setreuid snprintf strlcat strlcpy updwtmpx vsnprintf) | 131 | AC_CHECK_FUNCS(arc4random bindresvport_af freeaddrinfo gai_strerror getaddrinfo getpagesize getnameinfo _getpty innetgr md5_crypt mkdtemp openpty rresvport_af setenv seteuid setlogin setproctitle setreuid snprintf strlcat strlcpy updwtmpx vsnprintf) |
132 | 132 | ||
133 | AC_CHECK_FUNC(login, | 133 | AC_CHECK_FUNC(login, |
134 | [AC_DEFINE(HAVE_LOGIN)], | 134 | [AC_DEFINE(HAVE_LOGIN)], |
@@ -169,7 +169,7 @@ AC_TRY_COMPILE( | |||
169 | [AC_MSG_RESULT(no)] | 169 | [AC_MSG_RESULT(no)] |
170 | ) | 170 | ) |
171 | 171 | ||
172 | AC_MSG_CHECKING([For uintXX_t types]) | 172 | AC_MSG_CHECKING([for uintXX_t types]) |
173 | AC_TRY_COMPILE( | 173 | AC_TRY_COMPILE( |
174 | [#include <sys/types.h>], | 174 | [#include <sys/types.h>], |
175 | [uint16_t c; uint32_t d; c = 1235; d = 1235;], | 175 | [uint16_t c; uint32_t d; c = 1235; d = 1235;], |
@@ -180,7 +180,7 @@ AC_TRY_COMPILE( | |||
180 | [AC_MSG_RESULT(no)] | 180 | [AC_MSG_RESULT(no)] |
181 | ) | 181 | ) |
182 | 182 | ||
183 | AC_MSG_CHECKING([For socklen_t]) | 183 | AC_MSG_CHECKING([for socklen_t]) |
184 | AC_TRY_COMPILE( | 184 | AC_TRY_COMPILE( |
185 | [ | 185 | [ |
186 | #include <sys/types.h> | 186 | #include <sys/types.h> |
@@ -194,7 +194,7 @@ AC_TRY_COMPILE( | |||
194 | [AC_MSG_RESULT(no)] | 194 | [AC_MSG_RESULT(no)] |
195 | ) | 195 | ) |
196 | 196 | ||
197 | AC_MSG_CHECKING([For size_t]) | 197 | AC_MSG_CHECKING([for size_t]) |
198 | AC_TRY_COMPILE( | 198 | AC_TRY_COMPILE( |
199 | [#include <sys/types.h>], | 199 | [#include <sys/types.h>], |
200 | [size_t foo; foo = 1235;], | 200 | [size_t foo; foo = 1235;], |
@@ -205,6 +205,53 @@ AC_TRY_COMPILE( | |||
205 | [AC_MSG_RESULT(no)] | 205 | [AC_MSG_RESULT(no)] |
206 | ) | 206 | ) |
207 | 207 | ||
208 | AC_MSG_CHECKING([for struct sockaddr_storage]) | ||
209 | AC_TRY_COMPILE( | ||
210 | [#include <sys/socket.h>], | ||
211 | [struct sockaddr_storage s;], | ||
212 | [ | ||
213 | AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE) | ||
214 | AC_MSG_RESULT(yes) | ||
215 | ], | ||
216 | [AC_MSG_RESULT(no)] | ||
217 | ) | ||
218 | |||
219 | AC_MSG_CHECKING([for struct sockaddr_in6]) | ||
220 | AC_TRY_COMPILE( | ||
221 | [#include <netinet/in.h>], | ||
222 | [struct sockaddr_in6 s; s.sin6_family = 0;], | ||
223 | [ | ||
224 | AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6) | ||
225 | AC_MSG_RESULT(yes) | ||
226 | ], | ||
227 | [AC_MSG_RESULT(no)] | ||
228 | ) | ||
229 | |||
230 | AC_MSG_CHECKING([for struct in6_addr]) | ||
231 | AC_TRY_COMPILE( | ||
232 | [#include <netinet/in.h>], | ||
233 | [struct in6_addr s; s.s6_addr[0] = 0;], | ||
234 | [ | ||
235 | AC_DEFINE(HAVE_STRUCT_IN6_ADDR) | ||
236 | AC_MSG_RESULT(yes) | ||
237 | ], | ||
238 | [AC_MSG_RESULT(no)] | ||
239 | ) | ||
240 | |||
241 | AC_MSG_CHECKING([for struct addrinfo]) | ||
242 | AC_TRY_COMPILE( | ||
243 | [ | ||
244 | #include <sys/socket.h> | ||
245 | #include <netdb.h> | ||
246 | ], | ||
247 | [struct addrinfo s; s.ai_flags = AI_PASSIVE;], | ||
248 | [ | ||
249 | AC_DEFINE(HAVE_STRUCT_ADDRINFO) | ||
250 | AC_MSG_RESULT(yes) | ||
251 | ], | ||
252 | [AC_MSG_RESULT(no)] | ||
253 | ) | ||
254 | |||
208 | AC_ARG_WITH(pam, | 255 | AC_ARG_WITH(pam, |
209 | [ --without-pam Disable PAM support ], | 256 | [ --without-pam Disable PAM support ], |
210 | [ | 257 | [ |
@@ -330,7 +377,38 @@ AC_EGREP_HEADER(ut_addr, utmp.h, | |||
330 | ) | 377 | ) |
331 | AC_MSG_CHECKING([whether utmpx.h has ut_addr field]) | 378 | AC_MSG_CHECKING([whether utmpx.h has ut_addr field]) |
332 | AC_EGREP_HEADER(ut_addr, utmpx.h, | 379 | AC_EGREP_HEADER(ut_addr, utmpx.h, |
333 | [AC_DEFINE(HAVE_ADDR_IN_UTMP) AC_MSG_RESULT(yes); ], | 380 | [AC_DEFINE(HAVE_ADDR_IN_UTMPX) AC_MSG_RESULT(yes); ], |
381 | [AC_MSG_RESULT(no)] | ||
382 | ) | ||
383 | AC_MSG_CHECKING([whether utmp.h has ut_addr_v6 field]) | ||
384 | AC_EGREP_HEADER(ut_addr_v6, utmp.h, | ||
385 | [AC_DEFINE(HAVE_ADDR_V6_IN_UTMP) AC_MSG_RESULT(yes); ], | ||
386 | [AC_MSG_RESULT(no)] | ||
387 | ) | ||
388 | AC_MSG_CHECKING([whether utmpx.h has ut_addr_v6 field]) | ||
389 | AC_EGREP_HEADER(ut_addr_v6, utmpx.h, | ||
390 | [AC_DEFINE(HAVE_ADDR_V6_IN_UTMPX) AC_MSG_RESULT(yes); ], | ||
391 | [AC_MSG_RESULT(no)] | ||
392 | ) | ||
393 | |||
394 | AC_MSG_CHECKING([whether struct sockaddr_storage has ss_family field]) | ||
395 | AC_TRY_COMPILE( | ||
396 | [#include <sys/socket.h>], | ||
397 | [struct sockaddr_storage s; s.ss_family = 1;], | ||
398 | [ | ||
399 | AC_DEFINE(HAVE_SS_FAMILY_IN_SS) | ||
400 | AC_MSG_RESULT(yes) | ||
401 | ], | ||
402 | [AC_MSG_RESULT(no)] | ||
403 | ) | ||
404 | AC_MSG_CHECKING([whether struct sockaddr_storage has __ss_family field]) | ||
405 | AC_TRY_COMPILE( | ||
406 | [#include <sys/socket.h>], | ||
407 | [struct sockaddr_storage s; s.__ss_family = 1;], | ||
408 | [ | ||
409 | AC_DEFINE(HAVE___SS_FAMILY_IN_SS) | ||
410 | AC_MSG_RESULT(yes) | ||
411 | ], | ||
334 | [AC_MSG_RESULT(no)] | 412 | [AC_MSG_RESULT(no)] |
335 | ) | 413 | ) |
336 | 414 | ||