summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12663
-rw-r--r--config.h.in2025
-rwxr-xr-xconfigure21326
-rw-r--r--moduli.074
-rw-r--r--scp.0182
-rw-r--r--sftp-server.096
-rw-r--r--sftp.0396
-rw-r--r--ssh-add.0144
-rw-r--r--ssh-agent.0117
-rw-r--r--ssh-keygen.0789
-rw-r--r--ssh-keyscan.096
-rw-r--r--ssh-keysign.052
-rw-r--r--ssh-pkcs11-helper.035
-rw-r--r--ssh-sk-helper.034
-rw-r--r--ssh.0991
-rw-r--r--ssh_config.01170
-rw-r--r--sshd.0667
-rw-r--r--sshd_config.01145
18 files changed, 42002 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000000000..fbbbca0ed
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,12663 @@
1commit 8aa3455b16fddea4c0144a7c4a1edb10ec67dcc8
2Author: djm@openbsd.org <djm@openbsd.org>
3Date: Fri Feb 14 00:39:20 2020 +0000
4
5 upstream: openssh-8.2
6
7 OpenBSD-Commit-ID: 0a1340ff65fad0d84b997ac58dd1b393dec7c19b
8
9commit 72f0ce33f0d5a37f31bad5800d1eb2fbdb732de6
10Author: Damien Miller <djm@mindrot.org>
11Date: Wed Feb 12 09:28:35 2020 +1100
12
13 crank version numbers
14
15commit b763ed05bd1f1f15ae1727c86a4498546bc36ca8
16Author: Darren Tucker <dtucker@dtucker.net>
17Date: Tue Feb 11 12:51:24 2020 +1100
18
19 Minor documentation update:
20
21 - remove duplication of dependency information (it's all in INSTALL).
22 - SSHFP is now an RFC.
23
24commit 14ccfdb7248e33b1dc8bbac1425ace4598e094cb
25Author: Darren Tucker <dtucker@dtucker.net>
26Date: Sun Feb 9 11:23:35 2020 +1100
27
28 Check if UINT32_MAX is defined before redefining.
29
30commit be075110c735a451fd9d79a864e01e2e0d9f19d2
31Author: Damien Miller <djm@mindrot.org>
32Date: Fri Feb 7 15:07:27 2020 +1100
33
34 typo; reported by Phil Pennock
35
36commit 963d71851e727ffdd2a97fe0898fad61d4a70ba1
37Author: djm@openbsd.org <djm@openbsd.org>
38Date: Fri Feb 7 03:57:31 2020 +0000
39
40 upstream: sync the description of the $SSH_SK_PROVIDER environment
41
42 variable with that of the SecurityKeyProvider ssh/sshd_config(5) directive,
43 as the latter was more descriptive.
44
45 OpenBSD-Commit-ID: 0488f09530524a7e53afca6b6e1780598022552f
46
47commit d4d9e1d40514e2746f9e05335d646512ea1020c6
48Author: dtucker@openbsd.org <dtucker@openbsd.org>
49Date: Fri Feb 7 03:54:44 2020 +0000
50
51 upstream: Add ssh -Q key-sig for all key and signature types.
52
53 Teach ssh -Q to accept ssh_config(5) and sshd_config(5) algorithm keywords as
54 an alias for the corresponding query. Man page help jmc@, ok djm@.
55
56 OpenBSD-Commit-ID: 1e110aee3db2fc4bc5bee2d893b7128fd622e0f8
57
58commit fd68dc27864b099b552a6d9d507ca4b83afd6a76
59Author: djm@openbsd.org <djm@openbsd.org>
60Date: Fri Feb 7 03:27:54 2020 +0000
61
62 upstream: fix two PIN entry bugs on FIDO keygen: 1) it would allow more
63
64 than the intended number of prompts (3) and 2) it would SEGV too many
65 incorrect PINs were entered; based on patch by Gabriel Kihlman
66
67 OpenBSD-Commit-ID: 9c0011f28ba8bd8adf2014424b64960333da1718
68
69commit 96bd895a0a0b3a36f81c14db8c91513578fc5563
70Author: djm@openbsd.org <djm@openbsd.org>
71Date: Thu Feb 6 22:48:23 2020 +0000
72
73 upstream: When using HostkeyAlgorithms to merely append or remove
74
75 algorithms from the default set (i.e. HostkeyAlgorithms=+/-...), retain the
76 default behaviour of preferring those algorithms that have existing keys in
77 known_hosts; ok markus
78
79 OpenBSD-Commit-ID: 040e7fcc38ea00146b5d224ce31ce7a1795ee6ed
80
81commit c7288486731734a864b58d024b1395029b55bbc5
82Author: djm@openbsd.org <djm@openbsd.org>
83Date: Thu Feb 6 22:46:31 2020 +0000
84
85 upstream: expand HostkeyAlgorithms prior to config dump, matching
86
87 other algorithm lists; ok markus@
88
89 OpenBSD-Commit-ID: a66f0fca8cc5ce30405a2867bc115fff600671d0
90
91commit a6ac5d36efc072b15690c65039754f8e44247bdf
92Author: naddy@openbsd.org <naddy@openbsd.org>
93Date: Thu Feb 6 22:34:58 2020 +0000
94
95 upstream: Add Include to the list of permitted keywords after a
96
97 Match keyword. ok markus@
98
99 OpenBSD-Commit-ID: 342e940538b13dd41e0fa167dc9ab192b9f6e2eb
100
101commit a47f6a6c0e06628eed0c2a08dc31a8923bcc37ba
102Author: naddy@openbsd.org <naddy@openbsd.org>
103Date: Thu Feb 6 22:30:54 2020 +0000
104
105 upstream: Replace "security key" with "authenticator" in program
106
107 messages.
108
109 This replaces "security key" in error/usage/verbose messages and
110 distinguishes between "authenticator" and "authenticator-hosted key".
111
112 ok djm@
113
114 OpenBSD-Commit-ID: 7c63800e9c340c59440a054cde9790a78f18592e
115
116commit 849a9b87144f8a5b1771de6c85e44bfeb86be9a9
117Author: Darren Tucker <dtucker@dtucker.net>
118Date: Thu Feb 6 11:28:14 2020 +1100
119
120 Don't look for UINT32_MAX in inttypes.h
121
122 ... unless we are actually going to use it. Fixes build on HP-UX
123 without the potential impact to other platforms of a header change
124 shortly before release.
125
126commit a2437f8ed0c3be54ddd21630a93c68ebd168286f
127Author: Damien Miller <djm@mindrot.org>
128Date: Thu Feb 6 12:02:22 2020 +1100
129
130 depend
131
132commit 9716e8c4956acdd7b223d1642bfa376e07e7503d
133Author: Michael Forney <mforney@mforney.org>
134Date: Wed Nov 27 19:17:26 2019 -0800
135
136 Fix sha2 MAKE_CLONE no-op definition
137
138 The point of the dummy declaration is so that MAKE_CLONE(...) can have
139 a trailing semicolon without introducing an empty declaration. So,
140 the macro replacement text should *not* have a trailing semicolon,
141 just like DEF_WEAK.
142
143commit d596b1d30dc158915a3979fa409d21ff2465b6ee
144Author: djm@openbsd.org <djm@openbsd.org>
145Date: Tue Feb 4 09:58:04 2020 +0000
146
147 upstream: require FIDO application strings to start with "ssh:"; ok
148
149 markus@
150
151 OpenBSD-Commit-ID: 94e9c1c066d42b76f035a3d58250a32b14000afb
152
153commit 501f3582438cb2cb1cb92be0f17be490ae96fb23
154Author: djm@openbsd.org <djm@openbsd.org>
155Date: Mon Feb 3 23:47:57 2020 +0000
156
157 upstream: revert enabling UpdateHostKeys by default - there are still
158
159 corner cases we need to address; ok markus
160
161 OpenBSD-Commit-ID: ff7ad941bfdc49fb1d8baa95fd0717a61adcad57
162
163commit 072f3b832d2a4db8d9880effcb6c4d0dad676504
164Author: jmc@openbsd.org <jmc@openbsd.org>
165Date: Mon Feb 3 08:15:37 2020 +0000
166
167 upstream: use better markup for challenge and write-attestation, and
168
169 rejig the challenge text a little;
170
171 ok djm
172
173 OpenBSD-Commit-ID: 9f351e6da9edfdc907d5c3fdaf2e9ff3ab0a7a6f
174
175commit 262eb05a22cb1fabc3bc1746c220566490b80229
176Author: Damien Miller <djm@mindrot.org>
177Date: Mon Feb 3 21:22:15 2020 +1100
178
179 mention libfido2 in dependencies section
180
181commit ccd3b247d59d3bde16c3bef0ea888213fbd6da86
182Author: Damien Miller <djm@mindrot.org>
183Date: Mon Feb 3 19:40:12 2020 +1100
184
185 add clock_gettime64(2) to sandbox allowed syscalls
186
187 bz3093
188
189commit adffbe1c645ad2887ba0b6d24c194aa7a40c5735
190Author: dtucker@openbsd.org <dtucker@openbsd.org>
191Date: Sun Feb 2 09:45:34 2020 +0000
192
193 upstream: Output (none) in debug in the case in the CheckHostIP=no case
194
195 as suggested by markus@
196
197 OpenBSD-Commit-ID: 4ab9117ee5261cbbd1868717fcc3142eea6385cf
198
199commit 58c819096a2167983e55ae686486ce317b69b2d1
200Author: dtucker@openbsd.org <dtucker@openbsd.org>
201Date: Sun Feb 2 09:22:22 2020 +0000
202
203 upstream: Prevent possible null pointer deref of ip_str in debug.
204
205 OpenBSD-Commit-ID: 37b252e2e6f690efed6682437ef75734dbc8addf
206
207commit 0facae7bc8d3f8f9d02d0f6bed3d163ff7f39806
208Author: jmc@openbsd.org <jmc@openbsd.org>
209Date: Sun Feb 2 07:36:50 2020 +0000
210
211 upstream: shuffle the challenge keyword to keep the -O list sorted;
212
213 OpenBSD-Commit-ID: 08efad608b790949a9a048d65578fae9ed5845fe
214
215commit 6fb3dd0ccda1c26b06223b87bcd1cab9ec8ec3cc
216Author: jmc@openbsd.org <jmc@openbsd.org>
217Date: Sat Feb 1 06:53:12 2020 +0000
218
219 upstream: tweak previous;
220
221 OpenBSD-Commit-ID: 0c42851cdc88583402b4ab2b110a6348563626d3
222
223commit 92725d4d3fde675acc0ca040b48f3d0c7be73b7f
224Author: Darren Tucker <dtucker@dtucker.net>
225Date: Sat Feb 1 17:25:09 2020 +1100
226
227 Use sys-queue.h from compat library.
228
229 Fixes build on platforms that don't have sys/queue.h (eg MUSL).
230
231commit 677d0ece67634262b3b96c3cd6410b19f3a603b7
232Author: djm@openbsd.org <djm@openbsd.org>
233Date: Fri Jan 31 23:25:08 2020 +0000
234
235 upstream: regress test for sshd_config Include directive; from Jakub
236
237 Jelen
238
239 OpenBSD-Regress-ID: 0d9224de3297c7a5f51ba68d6e3725a2a9345fa4
240
241commit d4f4cdd681ab6408a98419f398b75a55497ed324
242Author: djm@openbsd.org <djm@openbsd.org>
243Date: Fri Jan 31 23:13:04 2020 +0000
244
245 upstream: whitespace
246
247 OpenBSD-Commit-ID: 564cf7a5407ecf5da2d94ec15474e07427986772
248
249commit 245399dfb3ecebc6abfc2ef4ee2e650fa9f6942b
250Author: djm@openbsd.org <djm@openbsd.org>
251Date: Fri Jan 31 23:11:25 2020 +0000
252
253 upstream: force early logging to stderr if debug_flag (-d) is set;
254
255 avoids missing messages from re-exec config passing
256
257 OpenBSD-Commit-ID: 02484b8241c1f49010e7a543a7098e6910a8c9ff
258
259commit 7365f28a66d1c443723fbe6f4a2612ea6002901e
260Author: djm@openbsd.org <djm@openbsd.org>
261Date: Fri Jan 31 23:08:08 2020 +0000
262
263 upstream: mistake in previous: filling the incorrect buffer
264
265 OpenBSD-Commit-ID: 862ee84bd4b97b529f64aec5d800c3dcde952e3a
266
267commit c2bd7f74b0e0f3a3ee9d19ac549e6ba89013abaf
268Author: djm@openbsd.org <djm@openbsd.org>
269Date: Fri Jan 31 22:42:45 2020 +0000
270
271 upstream: Add a sshd_config "Include" directive to allow inclusion
272
273 of files. This has sensible semantics wrt Match blocks and accepts glob(3)
274 patterns to specify the included files. Based on patch by Jakub Jelen in
275 bz2468; feedback and ok markus@
276
277 OpenBSD-Commit-ID: 36ed0e845b872e33f03355b936a4fff02d5794ff
278
279commit ba261a1dd33266168ead4f8f40446dcece4d1600
280Author: jmc@openbsd.org <jmc@openbsd.org>
281Date: Fri Jan 31 22:25:59 2020 +0000
282
283 upstream: spelling fix;
284
285 OpenBSD-Commit-ID: 3c079523c4b161725a4b15dd06348186da912402
286
287commit 771891a044f763be0711493eca14b6b0082e030f
288Author: djm@openbsd.org <djm@openbsd.org>
289Date: Thu Jan 30 22:25:34 2020 +0000
290
291 upstream: document changed default for UpdateHostKeys
292
293 OpenBSD-Commit-ID: 25c390b21d142f78ac0106241d13441c4265fd2c
294
295commit d53a518536c552672c00e8892e2aea28f664148c
296Author: djm@openbsd.org <djm@openbsd.org>
297Date: Thu Jan 30 22:19:32 2020 +0000
298
299 upstream: enable UpdateKnownHosts=yes if the configuration
300
301 specifies only the default known_hosts files, otherwise select
302 UpdateKnownHosts=ask; ok markus@
303
304 OpenBSD-Commit-ID: ab401a5ec4a33d2e1a9449eae6202e4b6d427df7
305
306commit bb63ff844e818d188da4fed3c016e0a4eecbbf25
307Author: Darren Tucker <dtucker@dtucker.net>
308Date: Thu Jan 30 18:54:42 2020 +1100
309
310 Look in inttypes.h for UINT32_MAX.
311
312 Should prevent warnings on at least some AIX versions.
313
314commit afeb6a960da23f0a5cbc4b80cca107c7504e932a
315Author: djm@openbsd.org <djm@openbsd.org>
316Date: Thu Jan 30 07:21:38 2020 +0000
317
318 upstream: use sshpkt_fatal() instead of plain fatal() for
319
320 ssh_packet_write_poll() failures here too as the former yields better error
321 messages; ok dtucker@
322
323 OpenBSD-Commit-ID: 1f7a6ca95bc2b716c2e948fc1370753be772d8e3
324
325commit 65d6fd0a8a6f31c3ddf0c1192429a176575cf701
326Author: djm@openbsd.org <djm@openbsd.org>
327Date: Thu Jan 30 07:20:57 2020 +0000
328
329 upstream: check the return value of ssh_packet_write_poll() and
330
331 call sshpkt_fatal() if it fails; avoid potential busy-loop under some
332 circumstances. Based on patch by Mike Frysinger; ok dtucker@
333
334 OpenBSD-Commit-ID: c79fe5cf4f0cd8074cb6db257c1394d5139408ec
335
336commit dce74eab0c0f9010dc84c62500a17771d0131ff3
337Author: djm@openbsd.org <djm@openbsd.org>
338Date: Thu Jan 30 07:20:05 2020 +0000
339
340 upstream: have sshpkt_fatal() save/restore errno before we
341
342 potentially call strerror() (via ssh_err()); ok dtucker
343
344 OpenBSD-Commit-ID: 5590df31d21405498c848245b85c24acb84ad787
345
346commit 14ef4efe2bf4180e085ea6738fdbebc199458b0c
347Author: djm@openbsd.org <djm@openbsd.org>
348Date: Wed Jan 29 08:17:49 2020 +0000
349
350 upstream: markus suggests a simplification to previous
351
352 OpenBSD-Commit-ID: 10bbfb6607ebbb9a018dcd163f0964941adf58de
353
354commit 101ebc3a8cfa78d2e615afffbef9861bbbabf1ff
355Author: djm@openbsd.org <djm@openbsd.org>
356Date: Wed Jan 29 07:51:30 2020 +0000
357
358 upstream: give more context to UpdateHostKeys messages, mentioning
359
360 that the changes are validated by the existing trusted host key. Prompted by
361 espie@ feedback and ok markus@
362
363 OpenBSD-Commit-ID: b3d95f4a45f2692f4143b9e77bb241184dbb8dc5
364
365commit 24c0f752adf9021277a7b0a84931bb5fe48ea379
366Author: djm@openbsd.org <djm@openbsd.org>
367Date: Tue Jan 28 08:01:34 2020 +0000
368
369 upstream: changes to support FIDO attestation
370
371 Allow writing to disk the attestation certificate that is generated by
372 the FIDO token at key enrollment time. These certificates may be used
373 by an out-of-band workflow to prove that a particular key is held in
374 trustworthy hardware.
375
376 Allow passing in a challenge that will be sent to the card during
377 key enrollment. These are needed to build an attestation workflow
378 that resists replay attacks.
379
380 ok markus@
381
382 OpenBSD-Commit-ID: 457dc3c3d689ba39eed328f0817ed9b91a5f78f6
383
384commit 156bef36f93a48212383235bb8e3d71eaf2b2777
385Author: djm@openbsd.org <djm@openbsd.org>
386Date: Tue Jan 28 07:24:15 2020 +0000
387
388 upstream: disable UpdateHostKeys=ask when in quiet mode; "work for
389
390 me" matthieu@
391
392 OpenBSD-Commit-ID: 60d7b5eb91accf935ed9852650a826d86db2ddc7
393
394commit ec8a759b4045e54d6b38e690ffee4cbffc53c7b7
395Author: Damien Miller <djm@mindrot.org>
396Date: Tue Jan 28 12:57:25 2020 +1100
397
398 compat for missing IPTOS_DSCP_LE in system headers
399
400commit 4594c7627680c4f41c2ad5fe412e55b7cc79b10c
401Author: djm@openbsd.org <djm@openbsd.org>
402Date: Tue Jan 28 01:49:36 2020 +0000
403
404 upstream: make IPTOS_DSCP_LE available via IPQoS directive; bz2986,
405
406 based on patch by veegish AT cyberstorm.mu
407
408 OpenBSD-Commit-ID: 9902bf4fbb4ea51de2193ac2b1d965bc5d99c425
409
410commit da22216b5db3613325aa7b639f40dc017e4c6f69
411Author: markus@openbsd.org <markus@openbsd.org>
412Date: Mon Jan 27 20:51:32 2020 +0000
413
414 upstream: disable UpdateHostKeys=ask if command is specified; ok
415
416 djm@ sthen@
417
418 OpenBSD-Commit-ID: e5bcc45eadb78896637d4143d289f1e42c2ef5d7
419
420commit 1e1db0544fdd788e2e3fc21d972a7ccb7de6b4ae
421Author: djm@openbsd.org <djm@openbsd.org>
422Date: Sun Jan 26 00:09:50 2020 +0000
423
424 upstream: unbreak unittests for recent API / source file changes
425
426 OpenBSD-Regress-ID: 075a899a01bbf7781d38bf0b33d8366faaf6d3c0
427
428commit 0d1144769151edf65f74aee9a4c8545c37861695
429Author: Darren Tucker <dtucker@dtucker.net>
430Date: Sun Jan 26 15:09:15 2020 +1100
431
432 Move definition of UINT32_MAX.
433
434 This allows us to always define it if needed not just if we also
435 define the type ourself.
436
437commit f73ab8a811bc874c2fb403012aa8e4bfdcaf5ec7
438Author: djm@openbsd.org <djm@openbsd.org>
439Date: Sun Jan 26 00:09:50 2020 +0000
440
441 upstream: unbreak unittests for recent API / source file changes
442
443 OpenBSD-Regress-ID: 075a899a01bbf7781d38bf0b33d8366faaf6d3c0
444
445commit 0373f9eba2b63455dceedbd3ac3d5dca306789ff
446Author: Darren Tucker <dtucker@dtucker.net>
447Date: Sun Jan 26 14:09:17 2020 +1100
448
449 Include signal.h to prevent redefintion of _NSIG.
450
451commit 638a45b5c1e20a8539100ca44166caad8abf26f8
452Author: Darren Tucker <dtucker@dtucker.net>
453Date: Sun Jan 26 13:40:51 2020 +1100
454
455 Wrap stdint.h in tests inside HAVE_STDINT_H.
456
457commit 74dfc2c859c906eaab1f88a27fd883115ffb928f
458Author: djm@openbsd.org <djm@openbsd.org>
459Date: Sun Jan 26 00:14:45 2020 +0000
460
461 upstream: for UpdateHostKeys, don't report errors for unsupported
462
463 key types - just ignore them. spotted by and ok dtucker@
464
465 OpenBSD-Commit-ID: 91769e443f6197c983932fc8ae9d39948727d473
466
467commit b59618246c332e251160be0f1e0e88a7d4e2b0ae
468Author: djm@openbsd.org <djm@openbsd.org>
469Date: Sun Jan 26 00:13:20 2020 +0000
470
471 upstream: downgrade error() for missing subsequent known_hosts
472
473 files to debug() as it was intended to be; spotted by dtucker@
474
475 OpenBSD-Commit-ID: 18cfea382cb52f2da761be524e309cc3d5354ef9
476
477commit 469df611f778eec5950d556aabfe1d4efc227915
478Author: djm@openbsd.org <djm@openbsd.org>
479Date: Sat Jan 25 23:33:27 2020 +0000
480
481 upstream: clarify that BatchMode applies to all interactive prompts
482
483 (e.g. host key confirmation) and not just password prompts.
484
485 OpenBSD-Commit-ID: 97b001883d89d3fb1620d2e6b747c14a26aa9818
486
487commit de40876c4a5d7c519d3d7253557572fdfc13db76
488Author: djm@openbsd.org <djm@openbsd.org>
489Date: Sat Jan 25 23:28:06 2020 +0000
490
491 upstream: tidy headers; some junk snuck into sshbuf-misc.c and
492
493 sshbuf-io.c doesn't need SSHBUF_INTERNAL set
494
495 OpenBSD-Commit-ID: 27a724d2e0b2619c1a1490f44093bbd73580d9e6
496
497commit 6a107606355fa9547884cad6740e6144a7a7955b
498Author: Damien Miller <djm@mindrot.org>
499Date: Sun Jan 26 10:28:21 2020 +1100
500
501 depend
502
503commit 59d01f1d720ebede4da42882f592d1093dac7adc
504Author: djm@openbsd.org <djm@openbsd.org>
505Date: Sat Jan 25 23:13:09 2020 +0000
506
507 upstream: improve the error message for u2f enrollment errors by
508
509 making ssh-keygen be solely responsible for printing the error message and
510 convertint some more common error responses from the middleware to a useful
511 ssherr.h status code. more detail remains visible via -v of course.
512
513 also remove indepedent copy of sk-api.h declarations in sk-usbhid.c
514 and just include it.
515
516 feedback & ok markus@
517
518 OpenBSD-Commit-ID: a4a8ffa870d9a3e0cfd76544bcdeef5c9fb1f1bb
519
520commit 99aa8035554ddb976348d2a9253ab3653019728d
521Author: djm@openbsd.org <djm@openbsd.org>
522Date: Sat Jan 25 23:02:13 2020 +0000
523
524 upstream: factor out reading/writing sshbufs to dedicated
525
526 functions; feedback and ok markus@
527
528 OpenBSD-Commit-ID: dc09e5f1950b7acc91b8fdf8015347782d2ecd3d
529
530commit 065064fcf455778b0918f783033b374d4ba37a92
531Author: djm@openbsd.org <djm@openbsd.org>
532Date: Sat Jan 25 22:49:38 2020 +0000
533
534 upstream: add a comment describing the ranges of channel IDs that
535
536 we use; requested by markus@
537
538 OpenBSD-Commit-ID: 83a1f09810ffa3a96a55fbe32675b34ba739e56b
539
540commit 69334996ae203c51c70bf01d414c918a44618f8e
541Author: djm@openbsd.org <djm@openbsd.org>
542Date: Sat Jan 25 22:41:01 2020 +0000
543
544 upstream: make sshd_config:ClientAliveCountMax=0 disable the
545
546 connection killing behaviour, rather than killing the connection after
547 sending the first liveness test probe (regardless of whether the client was
548 responsive) bz2627; ok markus
549
550 OpenBSD-Commit-ID: 5af79c35f4c9fa280643b6852f524bfcd9bccdaf
551
552commit bf986a9e2792555e0879a3145fa18d2b49436c74
553Author: djm@openbsd.org <djm@openbsd.org>
554Date: Sat Jan 25 22:36:22 2020 +0000
555
556 upstream: clarify order of AllowUsers/DenyUsers vs
557
558 AllowGroups/DenyGroups; bz1690, ok markus@
559
560 OpenBSD-Commit-ID: 5637584ec30db9cf64822460f41b3e42c8f9facd
561
562commit 022ce92fa0daa9d78830baeb2bd2dc3f83c724ba
563Author: djm@openbsd.org <djm@openbsd.org>
564Date: Sat Jan 25 07:17:18 2020 +0000
565
566 upstream: when AddKeysToAgent=yes is set and the key contains no
567
568 comment, add the key to the agent with the key's path as the comment. bz2564
569
570 OpenBSD-Commit-ID: 8dd8ca9340d7017631a27f4ed5358a4cfddec16f
571
572commit 0b813436bbf6546638b10c1fa71f54691bcf5e63
573Author: tedu@openbsd.org <tedu@openbsd.org>
574Date: Sat Jan 25 07:09:14 2020 +0000
575
576 upstream: group14-sha1 is no longer a default algorithm
577
578 OpenBSD-Commit-ID: a96f04d5e9c2ff760c6799579dc44f69b4ff431d
579
580commit 3432b6e05d5c583c91c566c5708fed487cec79ac
581Author: djm@openbsd.org <djm@openbsd.org>
582Date: Sat Jan 25 07:02:51 2020 +0000
583
584 upstream: reword HashKnownHosts description a little more; some
585
586 people found the wording confusing (bz#2560)
587
588 OpenBSD-Commit-ID: ac30896598694f07d498828690aecd424c496988
589
590commit f80d7d6aa98d6eddc5df02412efee6db75673d4c
591Author: djm@openbsd.org <djm@openbsd.org>
592Date: Sat Jan 25 07:01:00 2020 +0000
593
594 upstream: weaken the language for what HashKnownHosts provides with
595
596 regards to known_hosts name privacy, it's not practical for this option to
597 offer any guarantee that hostnames cannot be recovered from a disclosed
598 known_hosts file (e.g. by brute force).
599
600 OpenBSD-Commit-ID: 13f1e3285f8acf7244e9770074296bcf446c6972
601
602commit 846446bf3e7421e6671a4afd074bdf15eecd7832
603Author: djm@openbsd.org <djm@openbsd.org>
604Date: Sat Jan 25 06:40:20 2020 +0000
605
606 upstream: the GatewayPorts vs -R listen address selection logic is
607
608 still confusing people, so add another comment explaining the special
609 handling of "localhost"; bz#3258
610
611 OpenBSD-Commit-ID: e6bf0f0fbf1c7092bf0dbd9c6eab105970b5b53a
612
613commit 734f2f83f5ff86f2967a99d67be9ce22dd0394dd
614Author: djm@openbsd.org <djm@openbsd.org>
615Date: Sat Jan 25 06:03:10 2020 +0000
616
617 upstream: mention that permitopen=/PermitOpen do no name to address
618
619 translation; prompted by bz3099
620
621 OpenBSD-Commit-ID: 0dda8e54d566b29855e76bebf9cfecce573f5c23
622
623commit e1e97cae19ff07b7a7f7e82556bc048c3c54af63
624Author: Damien Miller <djm@mindrot.org>
625Date: Sat Jan 25 16:30:22 2020 +1100
626
627 include tunnel device path in error message
628
629commit 0ecd20bc9f0b9c7c697c9eb014613516c8f65834
630Author: djm@openbsd.org <djm@openbsd.org>
631Date: Sat Jan 25 04:48:26 2020 +0000
632
633 upstream: unrevert this:
634
635 > revision 1.217
636 > date: 2019/11/27 03:34:04; author: dtucker; state: Exp; lines: +5 -7; commitid: wkiMn49XJyjzoJIs;
637 > Make channel_id u_int32_t and remove unnecessary check and cast that were
638 > left over from the type conversion. Noted by t-hashida@amiya.co.jp in
639 > bz#3098, ok markus@ djm@
640
641 Darren was right the first time; ok dtucker@ "agreed" markus@
642
643 OpenBSD-Commit-ID: 641dd1b99a6bbd85b7160da462ae1be83432c7c8
644
645commit a0c81d2402eedc514b9c9f25ef9604eb0576b86a
646Author: dtucker@openbsd.org <dtucker@openbsd.org>
647Date: Sat Jan 25 02:57:53 2020 +0000
648
649 upstream: Move setting $NC into test-exec since it's now used by
650
651 multiple tests, and in -portable we use our own local copy to avoid
652 portability problems.
653
654 OpenBSD-Regress-ID: ceb78445fcaac317bec2fc51b3f0d9589048c114
655
656commit e16dfa94f86358033531c4a97dcb51508ef84d49
657Author: Darren Tucker <dtucker@dtucker.net>
658Date: Sat Jan 25 13:05:42 2020 +1100
659
660 Put EC key export inside OPENSSL_HAS_ECC.
661
662 Fixes link error when building against an OpenSSL that does not have
663 ECC.
664
665commit 94a2e5951b374e1a89761ceaff72e66eb1946807
666Author: dtucker@openbsd.org <dtucker@openbsd.org>
667Date: Sat Jan 25 00:27:56 2020 +0000
668
669 upstream: Wait a bit longer for the multiplex master to become ready
670
671 since on very slow hosts the current delay is not sufficient and the test
672 will fail.
673
674 OpenBSD-Regress-ID: 6d90c7475d67ac3a95610b64af700629ece51a48
675
676commit b2df804f571d77b07059f087b90955ffbc2f67d4
677Author: dtucker@openbsd.org <dtucker@openbsd.org>
678Date: Fri Jan 24 10:08:17 2020 +0000
679
680 upstream: Add a connection test for proxycommand. This would have
681
682 caught the problem caused by ssh.c rev 1.507 wherein Host and Hostname were
683 swapped. Prompted by beck@
684
685 OpenBSD-Regress-ID: d218500ae6aca4c479c27318fb5b09ebc00f7aae
686
687commit c6f06fd38a257b9fcc7d6760f8fb6d505dccb628
688Author: djm@openbsd.org <djm@openbsd.org>
689Date: Sat Jan 25 00:22:31 2020 +0000
690
691 upstream: set UpdateKnownHosts=ask by default; bz#2894; ok
692
693 markus@
694
695 OpenBSD-Commit-ID: f09cb3177f3a14c96428e14f347e976a8a531fee
696
697commit 7955633a554397bc24913cec9fd7285002935f7e
698Author: djm@openbsd.org <djm@openbsd.org>
699Date: Sat Jan 25 00:21:08 2020 +0000
700
701 upstream: allow UpdateKnownHosts=yes to function when multiple
702
703 known_hosts files are in use. When updating host keys, ssh will now search
704 subsequent known_hosts files, but will add new/changed host keys to the first
705 specified file only. bz#2738
706
707 ok markus@
708
709 OpenBSD-Commit-ID: 6ded6d878a03e57d5aa20bab9c31f92e929dbc6c
710
711commit e5a278a62ab49dffe96929fa8d8506c6928dba90
712Author: djm@openbsd.org <djm@openbsd.org>
713Date: Sat Jan 25 00:06:48 2020 +0000
714
715 upstream: process security key provider via realpath() in agent,
716
717 avoids malicious client from being able to cause agent to load arbitrary
718 libraries into ssh-sk-helper.
719
720 reported by puck AT puckipedia.com; ok markus
721
722 OpenBSD-Commit-ID: 1086643df1b7eee4870825c687cf0c26a6145d1c
723
724commit 89a8d4525e8edd9958ed3df60cf683551142eae0
725Author: djm@openbsd.org <djm@openbsd.org>
726Date: Sat Jan 25 00:03:36 2020 +0000
727
728 upstream: expose PKCS#11 key labels/X.509 subjects as comments
729
730 Extract the key label or X.509 subject string when PKCS#11 keys
731 are retrieved from the token and plumb this through to places where
732 it may be used as a comment.
733
734 based on https://github.com/openssh/openssh-portable/pull/138
735 by Danielle Church
736
737 feedback and ok markus@
738
739 OpenBSD-Commit-ID: cae1fda10d9e10971dea29520916e27cfec7ca35
740
741commit a8c05c640873621681ab64d2e47a314592d5efa2
742Author: djm@openbsd.org <djm@openbsd.org>
743Date: Fri Jan 24 23:56:01 2020 +0000
744
745 upstream: tweak proctitle to include sshd arguments, as these are
746
747 frequently used to distinguish between multiple independent instances of the
748 server. New proctitle looks like this:
749
750 $ pgrep -lf sshd
751 12844 sshd: /usr/sbin/sshd -f /etc/ssh/sshd_config [listener] 0 of 10-100 startups
752
753 requested by sthen@ and aja@; ok aja@
754
755 OpenBSD-Commit-ID: cf235a561c655a3524a82003cf7244ecb48ccc1e
756
757commit 8075fccbd4f70a4371acabcfb47562471ff0de6f
758Author: djm@openbsd.org <djm@openbsd.org>
759Date: Fri Jan 24 23:54:40 2020 +0000
760
761 upstream: add xextendf() to extend a string with a format
762
763 (reallocating as necessary). ok aja@ as part of a larger diff
764
765 OpenBSD-Commit-ID: 30796b50d330b3e0e201747fe40cdf9aa70a77f9
766
767commit d15c8adf2c6f1a6b4845131074383eb9c3d05c3d
768Author: djm@openbsd.org <djm@openbsd.org>
769Date: Fri Jan 24 05:33:01 2020 +0000
770
771 upstream: minor tweaks to ssh-keygen -Y find-principals:
772
773 emit matched principals one per line to stdout rather than as comma-
774 separated and with a free-text preamble (easy confusion opportunity)
775
776 emit "not found" error to stderr
777
778 fix up argument testing for -Y operations and improve error message for
779 unsupported operations
780
781 OpenBSD-Commit-ID: 3d9c9a671ab07fc04a48f543edfa85eae77da69c
782
783commit c3368a5d5ec368ef6bdf9971d6330ca0e3bdca06
784Author: djm@openbsd.org <djm@openbsd.org>
785Date: Fri Jan 24 00:28:57 2020 +0000
786
787 upstream: remove ssh-rsa (SHA1) from the list of allowed CA
788
789 signature algorithms ok markus
790
791 OpenBSD-Commit-ID: da3481fca8c81e6951f319a86b7be67502237f57
792
793commit 4a41d245d6b13bd3882c8dc058dbd2e2b39a9f67
794Author: djm@openbsd.org <djm@openbsd.org>
795Date: Fri Jan 24 00:27:04 2020 +0000
796
797 upstream: when signing a certificate with an RSA key, default to
798
799 a safe signature algorithm (rsa-sha-512) if not is explicitly specified by
800 the user; ok markus@
801
802 OpenBSD-Commit-ID: e05f638f0be6c0266e1d3d799716b461011e83a9
803
804commit 8dfb6a202c96cdf037c8ce05e53e32e0e0b7b454
805Author: djm@openbsd.org <djm@openbsd.org>
806Date: Fri Jan 24 00:00:31 2020 +0000
807
808 upstream: allow PEM export of DSA and ECDSA keys; bz3091, patch
809
810 from Jakub Jelen ok markus@
811
812 OpenBSD-Commit-ID: a58edec8b9f07acab4b962a71a5125830d321b51
813
814commit 72a8bea2d748c8bd7f076a8b39a52082c79ae95f
815Author: djm@openbsd.org <djm@openbsd.org>
816Date: Thu Jan 23 23:31:52 2020 +0000
817
818 upstream: ssh-keygen -Y find-principals fixes based on feedback
819
820 from Markus:
821
822 use "principals" instead of principal, as allowed_signers lines may list
823 multiple.
824
825 When the signing key is a certificate, emit only principals that match
826 the certificate principal list.
827
828 NB. the command -Y name changes: "find-principal" => "find-principals"
829
830 ok markus@
831
832 OpenBSD-Commit-ID: ab575946ff9a55624cd4e811bfd338bf3b1d0faf
833
834commit 0585b5697201f5d8b32e6f1b0fee7e188268d30d
835Author: dtucker@openbsd.org <dtucker@openbsd.org>
836Date: Fri Jan 24 01:29:23 2020 +0000
837
838 upstream: Do not warn about permissions on symlinks.
839
840 OpenBSD-Regress-ID: 339d4cbae224bd8743ffad9c3afb0cf3cb66c357
841
842commit 415192348a5737a960f6d1b292a17b64d55b542c
843Author: dtucker@openbsd.org <dtucker@openbsd.org>
844Date: Thu Jan 23 11:19:12 2020 +0000
845
846 upstream: Handle zlib compression being disabled now that it's
847
848 optional.
849
850 OpenBSD-Regress-ID: 0af4fbc5168e62f89d0350de524bff1cb00e707a
851
852commit fbce7c1a898ae75286349822950682cf46346121
853Author: dtucker@openbsd.org <dtucker@openbsd.org>
854Date: Thu Jan 23 10:53:04 2020 +0000
855
856 upstream: Fix typo in comment.
857
858 OpenBSD-Commit-ID: d1d7a6553208bf439378fd1cf686a828aceb353a
859
860commit ba247af8e9e302910e22881ef9d307a8afeef036
861Author: dtucker@openbsd.org <dtucker@openbsd.org>
862Date: Thu Jan 23 10:19:59 2020 +0000
863
864 upstream: When checking for unsafe directories, ignore non-directories
865
866 (ie symlinks, where permissions are not relevant).
867
868 OpenBSD-Regress-ID: fb6cfc8b022becb62b2dcb99ed3f072b3326e501
869
870commit 74deb7029be4c00810443114aac9308875a81dae
871Author: Darren Tucker <dtucker@dtucker.net>
872Date: Thu Jan 23 22:17:24 2020 +1100
873
874 zlib is now optional.
875
876commit 633a2af47ee90291aaf93969aeee1e5046074c7c
877Author: Darren Tucker <dtucker@dtucker.net>
878Date: Thu Jan 23 22:16:51 2020 +1100
879
880 Plumb WITH_ZLIB into configure.
881
882 This allows zlib support to be disabled by ./configure --without-zlib.
883
884commit 7f8e66fea8c4e2a910df9067cb7638999b7764d5
885Author: dtucker@openbsd.org <dtucker@openbsd.org>
886Date: Thu Jan 23 10:24:29 2020 +0000
887
888 upstream: Make zlib optional. This adds a "ZLIB" build time option
889
890 that allows building without zlib compression and associated options. With
891 feedback from markus@, ok djm@
892
893 OpenBSD-Commit-ID: 44c6e1133a90fd15a3aa865bdedc53bab28b7910
894
895commit 69ac4e33023b379e9a8e9b4b6aeeffa6d1fcf6fa
896Author: djm@openbsd.org <djm@openbsd.org>
897Date: Thu Jan 23 07:54:04 2020 +0000
898
899 upstream: remove trailing period characters from pub/priv key
900
901 pathnames - they make them needlessly more difficult to cut and paste without
902 error; ok markus@ & dtucker@
903
904 OpenBSD-Commit-ID: abdcfd1a5723fcac0711feee7665edc66ae2335a
905
906commit 945bf52c3c815d95b1e842ebf6c910c3524bd5bb
907Author: Darren Tucker <dtucker@dtucker.net>
908Date: Thu Jan 23 21:06:45 2020 +1100
909
910 Fix a couple of mysig_t leftovers.
911
912commit 84226b447d45fe4542613de68c2ca59a890d7c01
913Author: Darren Tucker <dtucker@dtucker.net>
914Date: Thu Jan 23 18:55:24 2020 +1100
915
916 Remove mysignal wrapper.
917
918 We switched the main code to use sigaction(), so the wrapper is no
919 longer used.
920
921commit 5533c2fb7ef21172fa3708d66b03faa2c6b3d93f
922Author: jmc@openbsd.org <jmc@openbsd.org>
923Date: Thu Jan 23 07:16:38 2020 +0000
924
925 upstream: new sentence, new line;
926
927 OpenBSD-Commit-ID: b6c3f2f36ec77e99198619b38a9f146655281925
928
929commit 3bf2a6ac791d64046a537335a0f1d5e43579c5ad
930Author: dtucker@openbsd.org <dtucker@openbsd.org>
931Date: Thu Jan 23 07:10:22 2020 +0000
932
933 upstream: Replace all calls to signal(2) with a wrapper around
934
935 sigaction(2). This wrapper blocks all other signals during the handler
936 preventing races between handlers, and sets SA_RESTART which should reduce
937 the potential for short read/write operations.
938
939 OpenBSD-Commit-ID: 5e047663fd77a40d7b07bdabe68529df51fd2519
940
941commit e027c044c796f3a01081a91bee55741204283f28
942Author: djm@openbsd.org <djm@openbsd.org>
943Date: Thu Jan 23 04:54:34 2020 +0000
944
945 upstream: missing header change from previous; spotted by dtucker@
946
947 OpenBSD-Commit-ID: 321ce74c0a5bbd0f02fa3f20cb5cf2a952c6b96f
948
949commit 7e1323102b1b04eef391b01e180710a2d408a7ab
950Author: dtucker@openbsd.org <dtucker@openbsd.org>
951Date: Thu Jan 23 03:42:41 2020 +0000
952
953 upstream: Check for and warn about StrictModes permission problems. ok tb@
954
955 OpenBSD-Regress-ID: 4841704ccdee50ee7efc6035bc686695c6ac2991
956
957commit 84de1c27f845d15c859db44e7070a46f45504b66
958Author: dtucker@openbsd.org <dtucker@openbsd.org>
959Date: Thu Jan 23 03:35:07 2020 +0000
960
961 upstream: Also test PuTTY chacha20.
962
963 OpenBSD-Regress-ID: 7af6a0e8763b05f1f8eee6bca5f31fcb16151040
964
965commit c7ed15a39695ecd5f1f21842d8d9cd22246d4ee2
966Author: dtucker@openbsd.org <dtucker@openbsd.org>
967Date: Thu Jan 23 03:24:38 2020 +0000
968
969 upstream: Also test PuTTY ecdh kex methods.
970
971 OpenBSD-Regress-ID: ec4017dce612131842398a03e93007a869c2c133
972
973commit c4b3a128954ee1b7fbcbda167baf8aca1a3d1c84
974Author: dtucker@openbsd.org <dtucker@openbsd.org>
975Date: Thu Jan 23 02:46:49 2020 +0000
976
977 upstream: Remove unsupported algorithms from list of defaults at run
978
979 time and remove ifdef and distinct settings for OPENSSL=no case.
980
981 This will make things much simpler for -portable where the exact set
982 of algos depends on the configuration of both OpenSSH and the libcrypto
983 it's linked against (if any). ok djm@
984
985 OpenBSD-Commit-ID: e0116d0183dcafc7a9c40ba5fe9127805c5dfdd2
986
987commit 56cffcc09f8a2e661d2ba02e61364ae6f998b2b1
988Author: djm@openbsd.org <djm@openbsd.org>
989Date: Thu Jan 23 02:43:48 2020 +0000
990
991 upstream: add a new signature operations "find-principal" to look
992
993 up the principal associated with a signature from an allowed-signers file.
994 Work by Sebastian Kinne; ok dtucker@
995
996 OpenBSD-Commit-ID: 6f782cc7e18e38fcfafa62af53246a1dcfe74e5d
997
998commit 65cf8730de6876a56595eef296e07a86c52534a6
999Author: dtucker@openbsd.org <dtucker@openbsd.org>
1000Date: Wed Jan 22 07:38:30 2020 +0000
1001
1002 upstream: Ignore whitespace when checking explict fingerprint.
1003
1004 When confirming a host key using the fingerprint itself, ignore leading and
1005 trailing whitespace. ok deraadt@ djm@
1006
1007 OpenBSD-Commit-ID: cafd7f803bbdcd40c3a8f8f1a77747e6b6d8c011
1008
1009commit 8d3af6ebdf524b34087a0a3ae415b5141ba10572
1010Author: dtucker@openbsd.org <dtucker@openbsd.org>
1011Date: Wed Jan 22 07:31:27 2020 +0000
1012
1013 upstream: Increase keyscan timeout from default. On slow hosts 3
1014
1015 concurrent keyscans can hit the default 5 second timeout, so increase to 15
1016 seconds.
1017
1018 OpenBSD-Regress-ID: 16383dec166af369b7fb9948572856f5d544c93f
1019
1020commit 6c30c9adbeeed09a8a9e7a69974cfa1f1ddd1e9e
1021Author: tedu@openbsd.org <tedu@openbsd.org>
1022Date: Wed Jan 22 04:58:23 2020 +0000
1023
1024 upstream: remove diffie-hellman-group14-sha1 from default kex to
1025
1026 see what happens. general mostly ok
1027
1028 OpenBSD-Commit-ID: 216b7b8462d2ef5f4531f26cb2cb839b2153dad9
1029
1030commit 4a32c0ca44a2dc2a358f69b5d43c08e528b44b39
1031Author: claudio@openbsd.org <claudio@openbsd.org>
1032Date: Wed Jan 22 04:51:51 2020 +0000
1033
1034 upstream: For ssh-keygen -lF only add a space after key fingerprint
1035
1036 when there is a comment. This makes copy-paste of fingerprints into ssh
1037 easier. OK djm@
1038
1039 OpenBSD-Commit-ID: fa01d95624f65c1eb4dc7c575d20d77c78010dfd
1040
1041commit 37d3b736506760e4ebc7fe56255f7b8ea823a00c
1042Author: djm@openbsd.org <djm@openbsd.org>
1043Date: Wed Jan 22 04:49:16 2020 +0000
1044
1045 upstream: some __func__ and strerror(errno) here; no functional
1046
1047 change
1048
1049 OpenBSD-Commit-ID: 6c3ddd5f848b99ea560b31d3fba99ceed66cef37
1050
1051commit e2031b05c74c98b141179ceab13a323cf17d01e5
1052Author: djm@openbsd.org <djm@openbsd.org>
1053Date: Wed Jan 22 02:25:21 2020 +0000
1054
1055 upstream: factor out parsing of allowed-signers lines
1056
1057 OpenBSD-Commit-ID: 85ee6aeff608371826019ea85e55bfa87f79d06e
1058
1059commit 47160e1de8c2f638f0ef41cef42c976417b61778
1060Author: Damien Miller <djm@mindrot.org>
1061Date: Wed Jan 22 10:30:13 2020 +1100
1062
1063 unbreak fuzzer support for recent ssh-sk.h changes
1064
1065commit 70d38c3cfd4550e8ee66cc3bf1b91aa339c91df5
1066Author: djm@openbsd.org <djm@openbsd.org>
1067Date: Tue Jan 21 22:39:57 2020 +0000
1068
1069 upstream: expose the number of currently-authenticating connections
1070
1071 along with the MaxStartups limit in the proctitle; suggestion from Philipp
1072 Marek, w/ feedback from Craig Miskell ok dtucker@
1073
1074 OpenBSD-Commit-ID: a4a6db2dc1641a5df8eddf7d6652176e359dffb3
1075
1076commit a78c66d5d2144bd49779bc80a647346bd3d7233d
1077Author: naddy@openbsd.org <naddy@openbsd.org>
1078Date: Tue Jan 21 12:40:04 2020 +0000
1079
1080 upstream: document the default value of the ControlPersist option;
1081
1082 ok dtucker@ djm@
1083
1084 OpenBSD-Commit-ID: 0788e7f2b5a9d4e36d3d2ab378f73329320fef66
1085
1086commit b46a6325849e40aa2e4b0d962a6f00f708f6576a
1087Author: Damien Miller <djm@mindrot.org>
1088Date: Wed Jan 22 09:28:32 2020 +1100
1089
1090 remove accidental change in f8c11461
1091
1092commit 80d3bebcab96fe1d177e45906e10db16895da01d
1093Author: djm@openbsd.org <djm@openbsd.org>
1094Date: Tue Jan 21 11:06:09 2020 +0000
1095
1096 upstream: don't #ifdef out the KRL code when compiling without
1097
1098 libcrypto support; it works just fine and disabling it breaks a few tests. ok
1099 dtucker@
1100
1101 OpenBSD-Commit-ID: 65f6272c4241eb4b04de78b012fe98b2b555ad44
1102
1103commit f8c11461aa6db168fc5e7eeae448b4cbbf59642a
1104Author: djm@openbsd.org <djm@openbsd.org>
1105Date: Tue Jan 21 08:06:27 2020 +0000
1106
1107 upstream: pass SSH_SK_HELPER explicitly past $SUDO to avoid it getting
1108
1109 cleared; with dtucker@
1110
1111 OpenBSD-Regress-ID: 03178a0580324bf0dff28f7eac6c3edbc5407f8e
1112
1113commit b5fcb0ac1cc0ef01aeec1c089146298654ab3ae0
1114Author: djm@openbsd.org <djm@openbsd.org>
1115Date: Tue Jan 21 07:07:31 2020 +0000
1116
1117 upstream: check access(ssh-sk-helper, X_OK) to provide friendly
1118
1119 error message for misconfigured helper paths
1120
1121 OpenBSD-Commit-ID: 061bcc262155d12e726305c91394ac0aaf1f8341
1122
1123commit 56bced43c14dc6fa2bfa1816007e441644105609
1124Author: dtucker@openbsd.org <dtucker@openbsd.org>
1125Date: Tue Jan 21 06:09:56 2020 +0000
1126
1127 upstream: Document sntrup4591761x25519-sha512@tinyssh.org. Patch
1128
1129 from jtesta@positronsecurity.com via github PR#151.
1130
1131 OpenBSD-Commit-ID: f3d48168623045c258245c340a5a2af7dbb74edc
1132
1133commit 4a05d789b86314fef7303824f69defbc6b96ed60
1134Author: djm@openbsd.org <djm@openbsd.org>
1135Date: Tue Jan 21 05:56:56 2020 +0000
1136
1137 upstream: fix ssh-keygen not displaying authenticator touch
1138
1139 prompt; reported by jmc@
1140
1141 OpenBSD-Commit-ID: 04d4f582fc194eb3897ebcbfe286c49958ba2859
1142
1143commit 881aded0389d999375f926051491a944c6d8752b
1144Author: djm@openbsd.org <djm@openbsd.org>
1145Date: Tue Jan 21 05:56:27 2020 +0000
1146
1147 upstream: a little more verbosity in sign_and_send_pubkey() debug
1148
1149 messages
1150
1151 OpenBSD-Commit-ID: 6da47a0e6373f6683006f49bc2a516d197655508
1152
1153commit b715fdc71bbd009d0caff691ab3fc04903c4aee8
1154Author: naddy@openbsd.org <naddy@openbsd.org>
1155Date: Sat Jan 18 21:16:43 2020 +0000
1156
1157 upstream: one more replacement "(security) key" -> "(FIDO)
1158
1159 authenticator"
1160
1161 OpenBSD-Commit-ID: 031bca03c1d1f878ab929facd561911f1bc68dfd
1162
1163commit 84911da1beeb6ed258a43468efb316cd39fb6855
1164Author: naddy@openbsd.org <naddy@openbsd.org>
1165Date: Sat Jan 18 15:45:41 2020 +0000
1166
1167 upstream: undo merge error and replace the term "security key"
1168
1169 again
1170
1171 OpenBSD-Commit-ID: 341749062c089cc360a7877e9ee3a887aecde395
1172
1173commit e8c06c4ee708720efec12cd1a6f78a3c6d76b7f0
1174Author: naddy@openbsd.org <naddy@openbsd.org>
1175Date: Fri Jan 17 20:13:47 2020 +0000
1176
1177 upstream: Document loading of resident keys from a FIDO
1178
1179 authenticator.
1180
1181 * Rename -O to -K to keep "-O option" available.
1182 * Document -K.
1183 * Trim usage() message down to synopsis, like all other commands.
1184
1185 ok markus@
1186
1187 OpenBSD-Commit-ID: 015c2c4b28f8e19107adc80351b44b23bca4c78a
1188
1189commit 0d005d6372a067b59123dec8fc6dc905f2c09e1e
1190Author: naddy@openbsd.org <naddy@openbsd.org>
1191Date: Tue Jan 14 15:07:30 2020 +0000
1192
1193 upstream: sync ssh-keygen.1 and ssh-keygen's usage() with each
1194
1195 other and reality ok markus@
1196
1197 OpenBSD-Commit-ID: cdf64454f2c3604c25977c944e5b6262a3bcce92
1198
1199commit b8a4ca2ebfddab862f7eb1ea2a07fb9f70330429
1200Author: naddy@openbsd.org <naddy@openbsd.org>
1201Date: Sat Jan 11 16:23:10 2020 +0000
1202
1203 upstream: revise the fix for reversed arguments on
1204
1205 expand_proxy_command()
1206
1207 Always put 'host' before 'host_arg' for consistency. ok markus@ djm@
1208
1209 OpenBSD-Commit-ID: 1ba5b25472779f1b1957295fcc6907bb961472a3
1210
1211commit 57b181eaf2d34fd0a1b51ab30cb6983df784de5a
1212Author: djm@openbsd.org <djm@openbsd.org>
1213Date: Fri Jan 10 23:43:26 2020 +0000
1214
1215 upstream: pass the log-on-stderr flag and log level through to
1216
1217 ssh-sk-helper, making debugging a bit easier. ok markus@
1218
1219 OpenBSD-Commit-ID: 2e7aea6bf5770d3f38b7c7bba891069256c5a49a
1220
1221commit a8bd5fdbdb7581afc7123a042a7cd6ca25357388
1222Author: Damien Miller <djm@mindrot.org>
1223Date: Tue Jan 21 12:32:16 2020 +1100
1224
1225 Wrap copy_environment_blacklist() in #ifdef
1226
1227 It's only needed for USE_PAM or HAVE_CYGWIN cases and will cause compiler
1228 warnings otherwise.
1229
1230commit 10ecc647fc1db8d2dde9f6b9b826b201dfc48b62
1231Author: Damien Miller <djm@mindrot.org>
1232Date: Tue Jan 21 12:20:05 2020 +1100
1233
1234 depend
1235
1236commit b3f7009c9ffa5891283ed96e043001e09934a8d4
1237Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
1238Date: Mon Jan 20 11:56:48 2020 +0100
1239
1240 Fix missing prototype warning for copy_environment
1241
1242 This function is only used in this file, and only on Cygwin, so make
1243 it static and hide it behind HAVE_CYGWIN. Prevents missing prototype
1244 warning.
1245
1246commit 0c428c0e991e2c4fabc48cf5d9b8f84c9412e0c3
1247Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
1248Date: Mon Jan 20 13:58:11 2020 +0100
1249
1250 configure.ac: fix ldns test
1251
1252 When running ./configure --with-ldns, if ldns-config cannot be found, we
1253 add -Iyes/include to CPPFLAGS and -Lyes/lib to LDFLAGS. Fix that.
1254
1255commit 6089abf715e2784751c9f62697e09bb103295b93
1256Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
1257Date: Mon Jan 20 12:13:26 2020 +0100
1258
1259 Make sshpam_password_change_required static.
1260
1261 sshpam_password_change_required is only used in auth-pam.c, so make it
1262 static to prevent a mising prototype warning.
1263
1264commit 5a9b9c82851b7bc219dc3a65962a80803c76c102
1265Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
1266Date: Mon Jan 20 12:24:51 2020 +0100
1267
1268 sandbox-darwin.c: fix missing prototypes.
1269
1270 Include the right header just like the other sandbox files.
1271 Fixes missing prototype warnings for ssh_sandbox_* functions.
1272
1273commit 335dc93526942a650f6c69666b3f6ca44d0a2910
1274Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
1275Date: Mon Jan 20 11:09:27 2020 +0100
1276
1277 Fix a few warnings when on Mac OS X.
1278
1279 Include stdlib.h for calloc, malloc, free and setenv.
1280
1281commit 0488dc2d3050ea1a99ef5cf44afc50ffbf3f1315
1282Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
1283Date: Mon Jan 20 10:32:23 2020 +0100
1284
1285 Fix building without openssl.
1286
1287 This fixes the following when there are no openssl headers on the system:
1288 ssh-ecdsa-sk.c:34:10: fatal error: 'openssl/bn.h' file not found
1289
1290commit e6b7157b4ef29c83ec3a2d1d7c927e4b8898f9bb
1291Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
1292Date: Wed Jan 15 16:08:55 2020 +0100
1293
1294 Add config.log to .gitignore
1295
1296commit 515e10ddf9644010b88cfd7ecf601f4306d42232
1297Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
1298Date: Wed Jan 15 16:16:31 2020 +0100
1299
1300 Fix typo in README.md, s/crytpo/crypto/
1301
1302commit 1af3354aea3c4bfa5b5ecfb5d1ff3ad231c2073c
1303Author: Darren Tucker <dtucker@dtucker.net>
1304Date: Wed Jan 15 16:22:36 2020 +1100
1305
1306 Wrap stdint.h in ifdef HAVE_STDINT_H.
1307
1308commit 429170f273ce1b0140f8111a45ba69390d98de3a
1309Author: Darren Tucker <dtucker@dtucker.net>
1310Date: Tue Jan 14 14:41:47 2020 +1100
1311
1312 Wrap stdint.h inside HAVE_STDINT_H.
1313
1314commit a0989b60211b6f1c2313e1397c526d883a23a075
1315Author: Darren Tucker <dtucker@dtucker.net>
1316Date: Tue Jan 14 14:26:41 2020 +1100
1317
1318 Include compat header for definitions.
1319
1320commit e0cedcad51fe02683943bf4f1ad2961aa3f35313
1321Author: Darren Tucker <dtucker@dtucker.net>
1322Date: Tue Jan 14 09:42:52 2020 +1100
1323
1324 Improve search for 'struct timespec'.
1325
1326 Make struct timespec test consistent with existing timeval test.
1327 Include time.h for timespec in compat header where required.
1328
1329commit acaf9e058594310001ce64468ed2923dc6323e81
1330Author: Darren Tucker <dtucker@dtucker.net>
1331Date: Tue Jan 14 12:43:03 2020 +1100
1332
1333 Update depend to remove rmd160.h.
1334
1335commit 26b2675b0c3e3efea11a52609073aec01736ec84
1336Author: Darren Tucker <dtucker@dtucker.net>
1337Date: Tue Jan 14 07:24:46 2020 +1100
1338
1339 Remove configure test & compat code for ripemd160.
1340
1341 RIPEMD160 support was removed upstream in 2017, however we still had
1342 a configure test and compat code for it, so clean those up now.
1343
1344commit ed3ad71b17adcd1fb4431d145f53cee1c6a1135e
1345Author: djm@openbsd.org <djm@openbsd.org>
1346Date: Thu Jan 9 03:28:38 2020 +0000
1347
1348 upstream: fix reversed arguments on expand_proxy_command(); spotted
1349
1350 by anton@
1351
1352 OpenBSD-Commit-ID: db1c32478a01dfbc9c4db171de0f25907bea5775
1353
1354commit cd53476383f0cf475f40ba8ac8deb6b76dd5ce4e
1355Author: jmc@openbsd.org <jmc@openbsd.org>
1356Date: Mon Jan 6 07:43:28 2020 +0000
1357
1358 upstream: put the fido options in a list, and tidy up the text a
1359
1360 little; ok djm
1361
1362 OpenBSD-Commit-ID: 491ce15ae52a88b7a6a2b3b6708a14b4aacdeebb
1363
1364commit 30f704ebc0e9e32b3d12f5d9e8c1b705fdde2c89
1365Author: Jeremy Drake <github@jdrake.com>
1366Date: Fri Oct 11 18:31:05 2019 -0700
1367
1368 Deny (non-fatal) ipc in preauth privsep child.
1369
1370 As noted in openssh/openssh-portable#149, i386 does not have have
1371 _NR_shmget etc. Instead, it has a single ipc syscall (see man 2 ipc,
1372 https://linux.die.net/man/2/ipc). Add this syscall, if present, to the
1373 list of syscalls that seccomp will deny non-fatally.
1374
1375commit b110cefdfbf5a20f49b774a55062d6ded2fb6e22
1376Author: Khem Raj <raj.khem@gmail.com>
1377Date: Tue Jan 7 16:26:45 2020 -0800
1378
1379 seccomp: Allow clock_gettime64() in sandbox.
1380
1381 This helps sshd accept connections on mips platforms with
1382 upcoming glibc ( 2.31 )
1383
1384commit 3cc60c899a92a469e5118310ba6b74cb57215618
1385Author: djm@openbsd.org <djm@openbsd.org>
1386Date: Mon Jan 6 02:39:30 2020 +0000
1387
1388 upstream: missing else in check_enroll_options()
1389
1390 OpenBSD-Commit-ID: e058fb918fda56ddbbf0bee910101004cec421d4
1391
1392commit ff5784e2698d6c41e9f39ce4df24968c1beeb2bb
1393Author: djm@openbsd.org <djm@openbsd.org>
1394Date: Mon Jan 6 02:24:28 2020 +0000
1395
1396 upstream: fix error message
1397
1398 OpenBSD-Commit-ID: 1eb52025658eb78ea6223181e552862198d3d505
1399
1400commit dd2acc8b862c09751621995fba2d5fa6f4e24cc9
1401Author: djm@openbsd.org <djm@openbsd.org>
1402Date: Mon Jan 6 02:07:50 2020 +0000
1403
1404 upstream: adapt sk-dummy to SK API changes
1405
1406 also, make it pull prototypes directly from sk-api.c and #error
1407 if the expected version changes. This will make any future regress
1408 test breakage because of SK API changes much more apparent
1409
1410 OpenBSD-Regress-ID: 79b07055de4feb988e31da71a89051ad5969829d
1411
1412commit c312ca077cd2a6c15545cd6b4d34ee2f69289174
1413Author: djm@openbsd.org <djm@openbsd.org>
1414Date: Mon Jan 6 02:00:46 2020 +0000
1415
1416 upstream: Extends the SK API to accept a set of key/value options
1417
1418 for all operations. These are intended to future-proof the API a little by
1419 making it easier to specify additional fields for without having to change
1420 the API version for each.
1421
1422 At present, only two options are defined: one to explicitly specify
1423 the device for an operation (rather than accepting the middleware's
1424 autoselection) and another to specify the FIDO2 username that may
1425 be used when generating a resident key. These new options may be
1426 invoked at key generation time via ssh-keygen -O
1427
1428 This also implements a suggestion from Markus to avoid "int" in favour
1429 of uint32_t for the algorithm argument in the API, to make implementation
1430 of ssh-sk-client/helper a little easier.
1431
1432 feedback, fixes and ok markus@
1433
1434 OpenBSD-Commit-ID: 973ce11704609022ab36abbdeb6bc23c8001eabc
1435
1436commit 2ab335712d084d9ccaf3f53afc3fa9535329da87
1437Author: beck@openbsd.org <beck@openbsd.org>
1438Date: Sun Jan 5 16:28:22 2020 +0000
1439
1440 upstream: fix CanonicalizeHostname, broken by rev 1.507
1441
1442 Issue noticed and reported by Pierre-Olivier Martel <pom@apple.com>
1443 ok dtucker@ markus@ djm@
1444
1445 OpenBSD-Commit-ID: 749f3168ec520609c35b0c4e1984e5fa47f16094
1446
1447commit 69e44ba701b90b0f530d64c3fe4363ea86e50cd3
1448Author: Darren Tucker <dtucker@dtucker.net>
1449Date: Mon Jan 6 09:02:53 2020 +1100
1450
1451 Fix typo: 'you' -> 'your'.
1452
1453 bz#3108 from jmckitrick@gmail.com.
1454
1455commit 7652a57662969bd5c61448b3843ec6d407ad12be
1456Author: Darren Tucker <dtucker@dtucker.net>
1457Date: Mon Jan 6 08:56:46 2020 +1100
1458
1459 Remove auth-skey.c.
1460
1461 S/Key support was removed in OpenSSH 7.8 but this file was missed.
1462
1463commit c593cc5e826c9f4ec506e22b629d37cabfaacff9
1464Author: jmc@openbsd.org <jmc@openbsd.org>
1465Date: Fri Jan 3 07:33:33 2020 +0000
1466
1467 upstream: the download resident keys option is -K (upper) not -k
1468
1469 (lower); ok djm
1470
1471 OpenBSD-Commit-ID: 71dc28a3e1fa7c553844abc508845bcf5766e091
1472
1473commit ff31f15773ee173502eec4d7861ec56f26bba381
1474Author: djm@openbsd.org <djm@openbsd.org>
1475Date: Fri Jan 3 03:02:26 2020 +0000
1476
1477 upstream: what bozo decided to use 2020 as a future date in a regress
1478
1479 test?
1480
1481 OpenBSD-Regress-ID: 3b953df5a7e14081ff6cf495d4e8d40e153cbc3a
1482
1483commit 680eb7749a39d0e4d046e66cac4e51e8e3640b75
1484Author: djm@openbsd.org <djm@openbsd.org>
1485Date: Fri Jan 3 02:46:19 2020 +0000
1486
1487 upstream: implement recent SK API change to support resident keys
1488
1489 and PIN prompting in the dummy middleware that we use for the tests. Should
1490 fix breakage spotted by dtucker@
1491
1492 OpenBSD-Regress-ID: 379cf9eabfea57aaf7f3f59dafde59889566c484
1493
1494commit 86834fe6b54ac57b8528c30cf0b27e5cac5b7af7
1495Author: dtucker@openbsd.org <dtucker@openbsd.org>
1496Date: Thu Jan 2 13:25:38 2020 +0000
1497
1498 upstream: Update keygen moduli screen test to match recent command
1499
1500 line option change to ssh-keygen(1).
1501
1502 OpenBSD-Regress-ID: 744a72755004377e9669b662c13c6aa9ead8a0c3
1503
1504commit 9039971887cccd95b209c479296f772a3a93e8e7
1505Author: djm@openbsd.org <djm@openbsd.org>
1506Date: Thu Jan 2 22:40:09 2020 +0000
1507
1508 upstream: ability to download FIDO2 resident keys from a token via
1509
1510 "ssh-keygen -K". This will save public/private keys into the current
1511 directory.
1512
1513 This is handy if you move a token between hosts.
1514
1515 feedback & ok markus@
1516
1517 OpenBSD-Commit-ID: d57c1f9802f7850f00a117a1d36682a6c6d10da6
1518
1519commit 878ba4350d57e905d6bb1865d8ff31bdfe5deab4
1520Author: djm@openbsd.org <djm@openbsd.org>
1521Date: Thu Jan 2 22:38:33 2020 +0000
1522
1523 upstream: add sshkey_save_public(), to save a public key; ok
1524
1525 markus@
1526
1527 OpenBSD-Commit-ID: 5d6f96a966d10d7fa689ff9aa9e1d6767ad5a076
1528
1529commit 3b1382ffd5e71eff78db8cef0f3cada22ff29409
1530Author: jmc@openbsd.org <jmc@openbsd.org>
1531Date: Mon Dec 30 16:10:00 2019 +0000
1532
1533 upstream: simplify the list for moduli options - no need for
1534
1535 -compact;
1536
1537 OpenBSD-Commit-ID: 6492c72280482c6d072be46236b365cb359fc280
1538
1539commit 0248ec7c763dee9ff730a589e3d166eac5c74d7c
1540Author: Damien Miller <djm@mindrot.org>
1541Date: Thu Jan 2 13:41:31 2020 +1100
1542
1543 ssh-sk-null.cc needs extern "C" {}
1544
1545commit 5ca4b414effe4b56f0cfe3058c92391aa8a43871
1546Author: Damien Miller <djm@mindrot.org>
1547Date: Thu Jan 2 10:56:29 2020 +1100
1548
1549 add dummy ssh-sk API for linking with fuzzers
1550
1551commit c4b2664be7ba25e4c233315b25212dec29b727ab
1552Author: Damien Miller <djm@mindrot.org>
1553Date: Mon Dec 30 21:04:09 2019 +1100
1554
1555 refresh depend
1556
1557commit 3093d12ff80927cf45da08d9f262a26680fb14ee
1558Author: djm@openbsd.org <djm@openbsd.org>
1559Date: Mon Dec 30 09:49:52 2019 +0000
1560
1561 upstream: Remove the -x option currently used for
1562
1563 FIDO/U2F-specific key flags. Instead these flags may be specified via -O.
1564
1565 ok markus@
1566
1567 OpenBSD-Commit-ID: f23ebde2a8a7e1bf860a51055a711cffb8c328c1
1568
1569commit ef65e7dbaa8fac3245aa2bfc9f7e09be7cba0d9d
1570Author: djm@openbsd.org <djm@openbsd.org>
1571Date: Mon Dec 30 09:25:29 2019 +0000
1572
1573 upstream: document SK API changes in PROTOCOL.u2f
1574
1575 ok markus@
1576
1577 OpenBSD-Commit-ID: 52622363c103a3c4d3d546050480ffe978a32186
1578
1579commit 43ce96427b76c4918e39af654e2fc9ee18d5d478
1580Author: djm@openbsd.org <djm@openbsd.org>
1581Date: Mon Dec 30 09:24:45 2019 +0000
1582
1583 upstream: translate and return error codes; retry on bad PIN
1584
1585 Define some well-known error codes in the SK API and pass
1586 them back via ssh-sk-helper.
1587
1588 Use the new "wrong PIN" error code to retry PIN prompting during
1589 ssh-keygen of resident keys.
1590
1591 feedback and ok markus@
1592
1593 OpenBSD-Commit-ID: 9663c6a2bb7a0bc8deaccc6c30d9a2983b481620
1594
1595commit d433596736a2cd4818f538be11fc94783f5c5236
1596Author: djm@openbsd.org <djm@openbsd.org>
1597Date: Mon Dec 30 09:24:03 2019 +0000
1598
1599 upstream: improve some error messages; ok markus@
1600
1601 OpenBSD-Commit-ID: 4ccd8ddabb8df4f995107dd3b7ea58220e93cb81
1602
1603commit c54cd1892c3e7f268b21e1f07ada9f0d9816ffc0
1604Author: djm@openbsd.org <djm@openbsd.org>
1605Date: Mon Dec 30 09:23:28 2019 +0000
1606
1607 upstream: SK API and sk-helper error/PIN passing
1608
1609 Allow passing a PIN via the SK API (API major crank) and let the
1610 ssh-sk-helper API follow.
1611
1612 Also enhance the ssh-sk-helper API to support passing back an error
1613 code instead of a complete reply. Will be used to signal "wrong PIN",
1614 etc.
1615
1616 feedback and ok markus@
1617
1618 OpenBSD-Commit-ID: a1bd6b0a2421646919a0c139b8183ad76d28fb71
1619
1620commit 79fe22d9bc2868c5118f032ec1200ac9c2e3aaef
1621Author: djm@openbsd.org <djm@openbsd.org>
1622Date: Mon Dec 30 09:22:49 2019 +0000
1623
1624 upstream: implement loading resident keys in ssh-add
1625
1626 "ssh-add -O" will load resident keys from a FIDO2 token and add them
1627 to a ssh-agent.
1628
1629 feedback and ok markus@
1630
1631 OpenBSD-Commit-ID: 608104ae957a7d65cb84e0a3a26c8f60e0df3290
1632
1633commit 27753a8e21887d47fe6b5c78a4aed0efe558a850
1634Author: djm@openbsd.org <djm@openbsd.org>
1635Date: Mon Dec 30 09:21:59 2019 +0000
1636
1637 upstream: implement loading of resident keys in ssh-sk-helper
1638
1639 feedback and ok markus@
1640
1641 OpenBSD-Commit-ID: b273c23769ea182c55c4a7b8f9cbd9181722011a
1642
1643commit 14cea36df397677b8f8568204300ef654114fd76
1644Author: djm@openbsd.org <djm@openbsd.org>
1645Date: Mon Dec 30 09:21:16 2019 +0000
1646
1647 upstream: resident keys support in SK API
1648
1649 Adds a sk_load_resident_keys() function to the security key
1650 API that accepts a security key provider and a PIN and returns
1651 a list of keys.
1652
1653 Implement support for this in the usbhid middleware.
1654
1655 feedback and ok markus@
1656
1657 OpenBSD-Commit-ID: 67e984e4e87f4999ce447a6178c4249a9174eff0
1658
1659commit 2fe05fcb4a2695f190b4fcf27770b655586ab349
1660Author: djm@openbsd.org <djm@openbsd.org>
1661Date: Mon Dec 30 09:20:36 2019 +0000
1662
1663 upstream: Factor out parsing of struct sk_enroll_response
1664
1665 We'll reuse this for extracting resident keys from a device.
1666
1667 feedback and ok markus@
1668
1669 OpenBSD-Commit-ID: 9bc1efd9c6897eac4df0983746cf6578c1542273
1670
1671commit 4532bd01d57ee13c3ca881eceac1bf9da96a4d7e
1672Author: djm@openbsd.org <djm@openbsd.org>
1673Date: Mon Dec 30 09:19:52 2019 +0000
1674
1675 upstream: basic support for generating FIDO2 resident keys
1676
1677 "ssh-keygen -t ecdsa-sk|ed25519-sk -x resident" will generate a
1678 device-resident key.
1679
1680 feedback and ok markus@
1681
1682 OpenBSD-Commit-ID: 8e1b3c56a4b11d85047bd6c6c705b7eef4d58431
1683
1684commit 3e60d18fba1b502c21d64fc7e81d80bcd08a2092
1685Author: djm@openbsd.org <djm@openbsd.org>
1686Date: Mon Dec 30 03:30:09 2019 +0000
1687
1688 upstream: remove single-letter flags for moduli options
1689
1690 Move all moduli generation options to live under the -O flag.
1691
1692 Frees up seven single-letter flags.
1693
1694 NB. this change break existing ssh-keygen commandline syntax for moduli-
1695 related operations. Very few people use these fortunately.
1696
1697 feedback and ok markus@
1698
1699 OpenBSD-Commit-ID: d498f3eaf28128484826a4fcb343612764927935
1700
1701commit 1e645fe767f27725dc7fd7864526de34683f7daf
1702Author: djm@openbsd.org <djm@openbsd.org>
1703Date: Mon Dec 30 03:28:41 2019 +0000
1704
1705 upstream: prepare for use of ssh-keygen -O flag beyond certs
1706
1707 Move list of available certificate options in ssh-keygen.1 to the
1708 CERTIFICATES section.
1709
1710 Collect options specified by -O but delay parsing/validation of
1711 certificate options until we're sure that we're acting as a CA.
1712
1713 ok markus@
1714
1715 OpenBSD-Commit-ID: 33e6bcc29cfca43606f6fa09bd84b955ee3a4106
1716
1717commit 20ccd854245c598e2b47cc9f8d4955d645195055
1718Author: jmc@openbsd.org <jmc@openbsd.org>
1719Date: Fri Dec 27 08:28:44 2019 +0000
1720
1721 upstream: sort -Y internally in the options list, as is already
1722
1723 done in synopsis;
1724
1725 OpenBSD-Commit-ID: 86d033c5764404057616690d7be992e445b42274
1726
1727commit 5b6c954751dd3677466cda7adb92e4f05446c96c
1728Author: jmc@openbsd.org <jmc@openbsd.org>
1729Date: Fri Dec 27 08:25:07 2019 +0000
1730
1731 upstream: in the options list, sort -Y and -y;
1732
1733 OpenBSD-Commit-ID: 24c2e6a3aeab6e050a0271ffc73fdff91c10dcaa
1734
1735commit 141df487ba699cfd1ec3dcd98186e7c956e99024
1736Author: naddy@openbsd.org <naddy@openbsd.org>
1737Date: Sat Dec 21 20:22:34 2019 +0000
1738
1739 upstream: Replace the term "security key" with "(FIDO)
1740
1741 authenticator".
1742
1743 The polysemous use of "key" was too confusing. Input from markus@.
1744 ok jmc@
1745
1746 OpenBSD-Commit-ID: 12eea973a44c8232af89f86e4269d71ae900ca8f
1747
1748commit fbd9729d4eadf2f7097b6017156387ac64302453
1749Author: djm@openbsd.org <djm@openbsd.org>
1750Date: Sat Dec 21 02:33:07 2019 +0000
1751
1752 upstream: unit tests for ForwardAgent=/path; from Eric Chiang
1753
1754 OpenBSD-Regress-ID: 24f693f78290b2c17725dab2c614dffe4a88c8da
1755
1756commit e5b7cf8edca7e843adc125621e1dab14507f430a
1757Author: djm@openbsd.org <djm@openbsd.org>
1758Date: Mon Dec 16 02:39:05 2019 +0000
1759
1760 upstream: test security key host keys in addition to user keys
1761
1762 OpenBSD-Regress-ID: 9fb45326106669a27e4bf150575c321806e275b1
1763
1764commit 40be78f503277bd91c958fa25ea9ef918a2ffd3d
1765Author: djm@openbsd.org <djm@openbsd.org>
1766Date: Sat Dec 21 02:19:13 2019 +0000
1767
1768 upstream: Allow forwarding a different agent socket to the path
1769
1770 specified by $SSH_AUTH_SOCK, by extending the existing ForwardAgent option to
1771 accepting an explicit path or the name of an environment variable in addition
1772 to yes/no.
1773
1774 Patch by Eric Chiang, manpage by me; ok markus@
1775
1776 OpenBSD-Commit-ID: 98f2ed80bf34ea54d8b2ddd19ac14ebbf40e9265
1777
1778commit 416f15372bfb5be1709a0ad1d00ef5d8ebfb9e0e
1779Author: naddy@openbsd.org <naddy@openbsd.org>
1780Date: Fri Dec 20 20:28:55 2019 +0000
1781
1782 upstream: SSH U2F keys can now be used as host keys. Fix a garden
1783
1784 path sentence. ok markus@
1785
1786 OpenBSD-Commit-ID: 67d7971ca1a020acd6c151426c54bd29d784bd6b
1787
1788commit 68010acbcfe36167b3eece3115f3a502535f80df
1789Author: dtucker@openbsd.org <dtucker@openbsd.org>
1790Date: Fri Dec 20 02:42:42 2019 +0000
1791
1792 upstream: Move always unsupported keywords to be grouped with the other
1793
1794 ones. Move oSecurityProvider to match the order in the OpCodes enum. Patch
1795 from openbsd@academicsolutions.ch, ok djm@
1796
1797 OpenBSD-Commit-ID: 061e4505861ec1e02ba3a63e3d1b3be3cad458ec
1798
1799commit 8784b02dc49e1c98df4e7aca466be2f652ed4ad1
1800Author: dtucker@openbsd.org <dtucker@openbsd.org>
1801Date: Fri Dec 20 02:29:21 2019 +0000
1802
1803 upstream: Remove obsolete opcodes from the configuation enum.
1804
1805 Patch from openbsd@academicsolutions.ch, ok djm@
1806
1807 OpenBSD-Commit-ID: 395c202228872ce8d9044cc08552ac969f51e01b
1808
1809commit 345be6091bdc9be09c90a937d1320f97c01fab2a
1810Author: dtucker@openbsd.org <dtucker@openbsd.org>
1811Date: Fri Dec 20 02:11:38 2019 +0000
1812
1813 upstream: Remove now-obsolete config options from example in
1814
1815 comment. Patch from openbsd@academicsolutions.ch, ok djm@
1816
1817 OpenBSD-Commit-ID: 35862beb0927b1cb0af476ec23cc07f6e3006101
1818
1819commit ae024b22c4fd68e7f39681d605585889f9511108
1820Author: naddy@openbsd.org <naddy@openbsd.org>
1821Date: Thu Dec 19 15:09:30 2019 +0000
1822
1823 upstream: Document that security key-hosted keys can act as host
1824
1825 keys.
1826
1827 Update the list of default host key algorithms in ssh_config.5 and
1828 sshd_config.5. Copy the description of the SecurityKeyProvider
1829 option to sshd_config.5.
1830
1831 ok jmc@
1832
1833 OpenBSD-Commit-ID: edadf3566ab5e94582df4377fee3b8b702c7eca0
1834
1835commit bc2dc091e0ac4ff6245c43a61ebe12c7e9ea0b7f
1836Author: dtucker@openbsd.org <dtucker@openbsd.org>
1837Date: Thu Dec 19 03:50:01 2019 +0000
1838
1839 upstream: "Forward security" -> "Forward secrecy" since that's the
1840
1841 correct term. Add "MAC" since we use that acronym in other man pages. ok
1842 naddy@
1843
1844 OpenBSD-Commit-ID: c35529e511788586725fb63bda3459e10738c5f5
1845
1846commit e905f7260d72bc0e33ef5f10a0db737ff6e77ba7
1847Author: naddy@openbsd.org <naddy@openbsd.org>
1848Date: Tue Dec 17 16:21:07 2019 +0000
1849
1850 upstream: cut obsolete lists of crypto algorithms from outline of
1851
1852 how SSH works ok markus@ jmc@
1853
1854 OpenBSD-Commit-ID: 8e34973f232ab48c4d4f5d07df48d501708b9160
1855
1856commit f65cf1163ff01531ae02f3f9210391d0d692f699
1857Author: tobhe@openbsd.org <tobhe@openbsd.org>
1858Date: Mon Dec 16 13:58:53 2019 +0000
1859
1860 upstream: strdup may return NULL if memory allocation fails. Use
1861
1862 the safer xstrdup which fatals on allocation failures.
1863
1864 ok markus@
1865
1866 OpenBSD-Commit-ID: 8b608d387120630753cbcb8110e0b019c0c9a0d0
1867
1868commit 57634bfc5708477826c0be265ddc59b9d83e4886
1869Author: djm@openbsd.org <djm@openbsd.org>
1870Date: Mon Dec 16 03:16:58 2019 +0000
1871
1872 upstream: sort sk-* methods behind their plain key methods cousins
1873
1874 for now
1875
1876 OpenBSD-Commit-ID: c97e22c2b28c0d12ee389b8b4ef5f2ada7908828
1877
1878commit b8df8fe920e697edcc69c520390b78c3b7ad9d84
1879Author: Darren Tucker <dtucker@dtucker.net>
1880Date: Tue Dec 17 19:46:15 2019 +1100
1881
1882 Mac OS X has PAM too.
1883
1884commit bf8de8b8251af69b5ce96a8faa69145af156af4d
1885Author: Darren Tucker <dtucker@dtucker.net>
1886Date: Tue Dec 17 19:37:06 2019 +1100
1887
1888 Show portable tarball pattern in example.
1889
1890commit a19ef613e98141cc37c8acdeebe285b9dbe2531e
1891Author: Darren Tucker <dtucker@dtucker.net>
1892Date: Tue Dec 17 19:35:59 2019 +1100
1893
1894 OpenSSL is now optional.
1895
1896commit 1a7217ac063e48cf0082895aeee81ed2b8a57191
1897Author: djm@openbsd.org <djm@openbsd.org>
1898Date: Sun Dec 15 18:58:33 2019 +0000
1899
1900 upstream: adapt to ssh-sk-client change
1901
1902 OpenBSD-Regress-ID: 40481999a5928d635ab2e5b029e8239c112005ea
1903
1904commit a7fc1df246e80bfdabd09b069b91c72f9c578ca8
1905Author: djm@openbsd.org <djm@openbsd.org>
1906Date: Wed Dec 11 18:47:14 2019 +0000
1907
1908 upstream: it's no longer possible to disable privilege separation
1909
1910 in sshd, so don't double the tests' work by trying both off/on
1911
1912 OpenBSD-Regress-ID: d366665466dbd09e9b707305da884be3e7619c68
1913
1914commit 3145d38ea06820a66c0f5e068f49af14fd2b7ac1
1915Author: djm@openbsd.org <djm@openbsd.org>
1916Date: Sun Dec 15 20:59:23 2019 +0000
1917
1918 upstream: don't treat HostKeyAgent=none as a path either; avoids
1919
1920 spurious warnings from the cfgparse regress test
1921
1922 OpenBSD-Commit-ID: ba49ea7a5c92b8a16cb9c2e975dbb163853afc54
1923
1924commit 747e25192f436e71dd39e15d65aa32bca967533a
1925Author: djm@openbsd.org <djm@openbsd.org>
1926Date: Sun Dec 15 20:57:15 2019 +0000
1927
1928 upstream: do not attempt to find an absolute path for sshd_config
1929
1930 SecurityKeyProvider=internal - unbreaks cfgparse regress test
1931
1932 OpenBSD-Commit-ID: d2ddcf525c0dc3c8339522360c10b3c70f1fd641
1933
1934commit 9b6e30b96b094ad787511a5b989253e3b8fe1789
1935Author: djm@openbsd.org <djm@openbsd.org>
1936Date: Sun Dec 15 19:47:10 2019 +0000
1937
1938 upstream: allow ssh-keyscan to find security key hostkeys
1939
1940 OpenBSD-Commit-ID: 1fe822a7f714df19a7e7184e3a3bbfbf546811d3
1941
1942commit 56584cce75f3d20aaa30befc7cbd331d922927f3
1943Author: djm@openbsd.org <djm@openbsd.org>
1944Date: Sun Dec 15 18:57:30 2019 +0000
1945
1946 upstream: allow security keys to act as host keys as well as user
1947
1948 keys.
1949
1950 Previously we didn't do this because we didn't want to expose
1951 the attack surface presented by USB and FIDO protocol handling,
1952 but now that this is insulated behind ssh-sk-helper there is
1953 less risk.
1954
1955 ok markus@
1956
1957 OpenBSD-Commit-ID: 77b068dd133b8d87e0f010987bd5131e640ee64c
1958
1959commit 5af6fd5461bb709304e6979c8b7856c7af921c9e
1960Author: Darren Tucker <dtucker@dtucker.net>
1961Date: Mon Dec 16 13:55:56 2019 +1100
1962
1963 Allow clock_nanosleep_time64 in seccomp sandbox.
1964
1965 Needed on Linux ARM. bz#3100, patch from jjelen@redhat.com.
1966
1967commit fff8ff6dd580e1a72ba09a6775d185175cdc8d13
1968Author: Darren Tucker <dtucker@dtucker.net>
1969Date: Sun Dec 15 18:27:02 2019 +1100
1970
1971 Put SK ECDSA bits inside ifdef OPENSSL_HAS_ECC.
1972
1973 Fixes build when linking against OpenSSLs built with no-ec.
1974
1975commit 9244990ecdcfa36bb9371058111685b05f201c1e
1976Author: Damien Miller <djm@mindrot.org>
1977Date: Sat Dec 14 09:21:46 2019 +1100
1978
1979 remove a bunch of ENABLE_SK #ifdefs
1980
1981 The ssh-sk-helper client API gives us a nice place to disable
1982 security key support when it is wasn't enabled at compile time,
1983 so we don't need to check everywere.
1984
1985 Also, verification of security key signatures can remain enabled
1986 all the time - it has no additional dependencies. So sshd can
1987 accept security key pubkeys in authorized_keys, etc regardless of
1988 the host's support for dlopen, etc.
1989
1990commit a33ab1688b5c460a7e2a301418241ce1b13b2638
1991Author: Damien Miller <djm@mindrot.org>
1992Date: Sat Dec 14 09:15:06 2019 +1100
1993
1994 ssh-sk-client.c needs includes.h
1995
1996commit 633778d567ad50b63d2a3bca5e1b97d279d236d9
1997Author: Damien Miller <djm@mindrot.org>
1998Date: Sat Dec 14 08:40:33 2019 +1100
1999
2000 only link ssh-sk-helper against libfido2
2001
2002commit 7b47b40b170db4d6f41da0479575f6d99dd7228a
2003Author: Damien Miller <djm@mindrot.org>
2004Date: Sat Dec 14 08:20:52 2019 +1100
2005
2006 adapt Makefile to ssh-sk-client everywhere
2007
2008commit f45f3a8a12e2bee601046b916e6c5cd6eae08048
2009Author: Damien Miller <djm@mindrot.org>
2010Date: Sat Dec 14 07:53:11 2019 +1100
2011
2012 fixup
2013
2014commit d21434766764d5babf99fc3937c19b625c0f6334
2015Author: djm@openbsd.org <djm@openbsd.org>
2016Date: Fri Dec 13 20:16:56 2019 +0000
2017
2018 upstream: actually commit the ssh-sk-helper client code; ok markus
2019
2020 OpenBSD-Commit-ID: fd2ea776a5bbbf4d452989d3c3054cf25a5e0589
2021
2022commit 611073fb40ecaf4ac65094e403edea3a08deb700
2023Author: djm@openbsd.org <djm@openbsd.org>
2024Date: Fri Dec 13 19:11:14 2019 +0000
2025
2026 upstream: perform security key enrollment via ssh-sk-helper too.
2027
2028 This means that ssh-keygen no longer needs to link against ssh-sk-helper, and
2029 only ssh-sk-helper needs libfido2 and /dev/uhid* access;
2030
2031 feedback & ok markus@
2032
2033 OpenBSD-Commit-ID: 9464233fab95708d2ff059f8bee29c0d1f270800
2034
2035commit 612b1dd1ec91ffb1e01f58cca0c6eb1d47bf4423
2036Author: djm@openbsd.org <djm@openbsd.org>
2037Date: Fri Dec 13 19:09:37 2019 +0000
2038
2039 upstream: allow sshbuf_put_stringb(buf, NULL); ok markus@
2040
2041 OpenBSD-Commit-ID: 91482c1ada9adb283165d48dafbb88ae91c657bd
2042
2043commit b52ec0ba3983859514aa7b57d6100fa9759fe696
2044Author: djm@openbsd.org <djm@openbsd.org>
2045Date: Fri Dec 13 19:09:10 2019 +0000
2046
2047 upstream: use ssh-sk-helper for all security key signing operations
2048
2049 This extracts and refactors the client interface for ssh-sk-helper
2050 from ssh-agent and generalises it for use by the other programs.
2051 This means that most OpenSSH tools no longer need to link against
2052 libfido2 or directly interact with /dev/uhid*
2053
2054 requested by, feedback and ok markus@
2055
2056 OpenBSD-Commit-ID: 1abcd3aea9a7460eccfbf8ca154cdfa62f1dc93f
2057
2058commit c33d46868c3d88e04a92610cdb429094aeeb5847
2059Author: djm@openbsd.org <djm@openbsd.org>
2060Date: Wed Dec 11 22:19:47 2019 +0000
2061
2062 upstream: add a note about the 'extensions' field in the signed
2063
2064 object
2065
2066 OpenBSD-Commit-ID: 67c01e0565b258e0818c1ccfe1f1aeaf9a0d4c7b
2067
2068commit a62f4e1960691f3aeb1f972e009788b29e2ae464
2069Author: djm@openbsd.org <djm@openbsd.org>
2070Date: Tue Dec 10 23:37:31 2019 +0000
2071
2072 upstream: some more corrections for documentation problems spotted
2073
2074 by Ron Frederick
2075
2076 document certifiate private key format
2077 correct flags type for sk-ssh-ed25519@openssh.com keys
2078
2079 OpenBSD-Commit-ID: fc4e9a1ed7f9f7f9dd83e2e2c59327912e933e74
2080
2081commit 22d4beb79622fc82d7111ac941269861fc7aef8d
2082Author: djm@openbsd.org <djm@openbsd.org>
2083Date: Tue Dec 10 23:21:56 2019 +0000
2084
2085 upstream: loading security keys into ssh-agent used the extension
2086
2087 constraint "sk-provider@openssh.com", not "sk@openssh.com"; spotted by Ron
2088 Frederick
2089
2090 OpenBSD-Commit-ID: dbfba09edbe023abadd5f59c1492df9073b0e51d
2091
2092commit 75f7f22a43799f6d25dffd9d6683de1601da05a3
2093Author: djm@openbsd.org <djm@openbsd.org>
2094Date: Tue Dec 10 22:43:19 2019 +0000
2095
2096 upstream: add security key types to list of keys allowed to act as
2097
2098 CAs; spotted by Ron Frederick
2099
2100 OpenBSD-Commit-ID: 9bb0dfff927b4f7aa70679f983f84c69d45656c3
2101
2102commit 516605f2d596884cedc2beed6b262716ec76f63d
2103Author: djm@openbsd.org <djm@openbsd.org>
2104Date: Tue Dec 10 22:37:20 2019 +0000
2105
2106 upstream: when acting as a CA and using a security key as the CA
2107
2108 key, remind the user to touch they key to authorise the signature.
2109
2110 OpenBSD-Commit-ID: fe58733edd367362f9766b526a8b56827cc439c1
2111
2112commit c4036fe75ea5a4d03a2a40be1f3660dcbbfa01b2
2113Author: djm@openbsd.org <djm@openbsd.org>
2114Date: Tue Dec 10 22:36:08 2019 +0000
2115
2116 upstream: chop some unnecessary and confusing verbiage from the
2117
2118 security key protocol description; feedback from Ron Frederick
2119
2120 OpenBSD-Commit-ID: 048c9483027fbf9c995e5a51b3ac502989085a42
2121
2122commit 59175a350fe1091af7528b2971e3273aa7ca7295
2123Author: djm@openbsd.org <djm@openbsd.org>
2124Date: Fri Dec 6 03:06:08 2019 +0000
2125
2126 upstream: fix setting of $SSH_ASKPASS_PROMPT - it shouldn't be set
2127
2128 when asking passphrases, only when confirming the use of a key (i.e. for
2129 ssh-agent keys added with "ssh-add -c keyfile")
2130
2131 OpenBSD-Commit-ID: 6643c82960d9427d5972eb702c917b3b838ecf89
2132
2133commit 36eaa356d391a23a2d4e3a8aaa0223abc70b9822
2134Author: djm@openbsd.org <djm@openbsd.org>
2135Date: Fri Dec 6 02:55:21 2019 +0000
2136
2137 upstream: bring the __func__
2138
2139 OpenBSD-Commit-ID: 71a3a45b0fe1b8f680ff95cf264aa81f7abbff67
2140
2141commit 483cc723d1ff3b7fdafc6239348040a608ebc78d
2142Author: jmc@openbsd.org <jmc@openbsd.org>
2143Date: Sat Nov 30 07:07:59 2019 +0000
2144
2145 upstream: tweak the Nd lines for a bit of consistency; ok markus
2146
2147 OpenBSD-Commit-ID: 876651bdde06bc1e72dd4bd7ad599f42a6ce5a16
2148
2149commit afffd310360b155df2133d1f5f1ab2f4e939b570
2150Author: Darren Tucker <dtucker@dtucker.net>
2151Date: Wed Dec 11 13:22:06 2019 +1100
2152
2153 Check if memmem is declared in system headers.
2154
2155 If the system (or one of the dependencies) implements memmem but does
2156 not define the header, we would not declare it either resulting in
2157 compiler warnings. Check for declaration explicitly. bz#3102.
2158
2159commit ad8cd420797695f3b580aea1034b9de60bede9b9
2160Author: Darren Tucker <dtucker@dtucker.net>
2161Date: Wed Dec 11 13:12:01 2019 +1100
2162
2163 Sort depends.
2164
2165commit 5e3abff39e01817f6866494416f2ada25c316018
2166Author: Darren Tucker <dtucker@dtucker.net>
2167Date: Wed Dec 11 13:09:34 2019 +1100
2168
2169 Sort .depend when rebuilding.
2170
2171 This makes diffs more stable between makedepend implementations.
2172
2173commit 5df9d1f5c0943367d9b68435f4c82224ce11a73f
2174Author: Darren Tucker <dtucker@dtucker.net>
2175Date: Wed Dec 11 13:06:43 2019 +1100
2176
2177 Update depend to include sk files.
2178
2179commit 9a967c5bbfca35835165f7d8a6165009f5b21872
2180Author: Darren Tucker <dtucker@dtucker.net>
2181Date: Mon Dec 9 20:25:26 2019 +1100
2182
2183 Describe how to build libcrypto as PIC.
2184
2185 While there, move the OpenSSL 1.1.0g caveat closer to the other version
2186 information.
2187
2188commit b66fa5da25c4b5b67cf9f0ce7af513f5a6a6a686
2189Author: Darren Tucker <dtucker@dtucker.net>
2190Date: Mon Dec 9 17:23:22 2019 +1100
2191
2192 Recommend running LibreSSL or OpenSSL self-tests.
2193
2194commit fa7924008e838cded7e8a561356ffe5e06e0ed64
2195Author: Darren Tucker <dtucker@dtucker.net>
2196Date: Fri Dec 6 14:17:26 2019 +1100
2197
2198 Wrap ECC specific bits in ifdef.
2199
2200 Fixes tests when built against an OpenSSL configured with no-ec.
2201
2202commit 2ff822eabd7d4461743f22d3b9ba35ab76069df5
2203Author: Darren Tucker <dtucker@dtucker.net>
2204Date: Fri Nov 29 20:21:36 2019 +1100
2205
2206 Wrap sha2.h include in ifdef.
2207
2208 Fixes build --without-openssl on at least Fedora.
2209
2210commit 443848155ffcda65a6077aac118c861b503a093f
2211Author: Damien Miller <djm@mindrot.org>
2212Date: Fri Nov 29 15:10:21 2019 +1100
2213
2214 compile sk-dummy.so with no-PIE version of LDFLAGS
2215
2216 This lets it pick up the -L path to libcrypto for example.
2217
2218commit 37f5b5346e4cc6a894245aa89d2930649bb7045b
2219Author: Damien Miller <djm@mindrot.org>
2220Date: Fri Nov 29 14:48:46 2019 +1100
2221
2222 includes.h for sk-dummy.c, dummy
2223
2224commit b218055e59a7c1a1816f7a55ca18e3f3c05d63a4
2225Author: Damien Miller <djm@mindrot.org>
2226Date: Fri Nov 29 12:32:23 2019 +1100
2227
2228 (yet) another x-platform fix for sk-dummy.so
2229
2230 Check for -fPIC support from compiler
2231
2232 Compile libopenbsd-compat -fPIC
2233
2234 Don't mix -fPIE and -fPIC when compiling
2235
2236commit 0dedb703adcd98d0dbc4479f5f312a2bd3df2850
2237Author: Damien Miller <djm@mindrot.org>
2238Date: Fri Nov 29 11:53:57 2019 +1100
2239
2240 needs includes.h for WITH_OPENSSL
2241
2242commit ef3853bb94c2c72e7eda0de6cec0bcb1da62058f
2243Author: Damien Miller <djm@mindrot.org>
2244Date: Fri Nov 29 11:52:23 2019 +1100
2245
2246 another attempt at sk-dummy.so working x-platform
2247
2248 include a fatal() implementation to satisfy libopenbsd-compat
2249
2250 clean up .lo and .so files
2251
2252 .gitignore .lo and .so files
2253
2254commit d46ac56f1cbd5a855a2d5e7309f90d383dcf6431
2255Author: djm@openbsd.org <djm@openbsd.org>
2256Date: Fri Nov 29 00:13:29 2019 +0000
2257
2258 upstream: lots of dependencies go away here with ed25519 no longer
2259
2260 needing the ssh_digest API.
2261
2262 OpenBSD-Regress-ID: 785847ec78cb580d141e29abce351a436d6b5d49
2263
2264commit 7404b81f25a4a7847380c0f0cf7f1bea5f0a5cd3
2265Author: djm@openbsd.org <djm@openbsd.org>
2266Date: Fri Nov 29 00:11:21 2019 +0000
2267
2268 upstream: perform hashing directly in crypto_hash_sha512() using
2269
2270 libcrypto or libc SHA512 functions rather than calling ssh_digest_memory();
2271 avoids many dependencies on ssh code that complicate standalone use of
2272 ed25519, as we want to do in sk-dummy.so
2273
2274 OpenBSD-Commit-ID: 5a3c37593d3ba7add037b587cec44aaea088496d
2275
2276commit d39a865b7af93a7a9b5a64cf7cf0ef4396c80ba3
2277Author: jmc@openbsd.org <jmc@openbsd.org>
2278Date: Thu Nov 28 12:24:31 2019 +0000
2279
2280 upstream: improve the text for -A a little; input from naddy and
2281
2282 djm
2283
2284 OpenBSD-Commit-ID: f9cdfb1d6dbb9887c4bf3bb25f9c7a94294c988d
2285
2286commit 9a0e01bd0c61f553ead96b5af84abd73865847b8
2287Author: jmc@openbsd.org <jmc@openbsd.org>
2288Date: Thu Nov 28 12:23:25 2019 +0000
2289
2290 upstream: reshuffle the text to read better; input from naddy,
2291
2292 djmc, and dtucker
2293
2294 OpenBSD-Commit-ID: a0b2aca2b67614dda3d6618ea097bf0610c35013
2295
2296commit 5ca52c0f2e5e7f7d01d8d557b994b5c2087bed00
2297Author: Damien Miller <djm@mindrot.org>
2298Date: Thu Nov 28 18:09:07 2019 +1100
2299
2300 $< doesn't work as` I thought; explicily list objs
2301
2302commit 18e84bfdc5906a73405c3b42d7f840013bbffe34
2303Author: djm@openbsd.org <djm@openbsd.org>
2304Date: Thu Nov 28 05:20:54 2019 +0000
2305
2306 upstream: tweak wording
2307
2308 OpenBSD-Commit-ID: bd002ca1599b71331faca735ff5f6de29e32222e
2309
2310commit 8ef5bf9d03aa0f047711cff47f5ffbe3b33ff8c9
2311Author: Damien Miller <djm@mindrot.org>
2312Date: Thu Nov 28 13:12:30 2019 +1100
2313
2314 missing .SUFFIXES line makes make sad
2315
2316commit 323da82b8ea993b7f2c5793fd53b4f5ca105d19d
2317Author: Damien Miller <djm@mindrot.org>
2318Date: Thu Nov 28 09:53:42 2019 +1100
2319
2320 (hopefully) fix out of tree builds of sk-dummy.so
2321
2322commit d8b2838c5d19bf409d44ede4d32df8ee47aeb4cd
2323Author: djm@openbsd.org <djm@openbsd.org>
2324Date: Wed Nov 27 22:32:11 2019 +0000
2325
2326 upstream: remove stray semicolon after closing brace of function;
2327
2328 from Michael Forney
2329
2330 OpenBSD-Commit-ID: fda95acb799bb160d15e205ee126117cf33da3a7
2331
2332commit 6e1d1bbf5a3eca875005e0c87f341a0a03799809
2333Author: dtucker@openbsd.org <dtucker@openbsd.org>
2334Date: Wed Nov 27 05:38:43 2019 +0000
2335
2336 upstream: Revert previous commit. The channels code still uses int
2337
2338 in many places for channel ids so the INT_MAX check still makes sense.
2339
2340 OpenBSD-Commit-ID: 532e4b644791b826956c3c61d6ac6da39bac84bf
2341
2342commit 48989244658b9748b6801034ff4ffbdfc6b1520f
2343Author: Damien Miller <djm@mindrot.org>
2344Date: Wed Nov 27 16:03:12 2019 +1100
2345
2346 wire sk-dummy.so into test suite
2347
2348commit f79364bacaebde4f1c260318ab460fceacace02f
2349Author: djm@openbsd.org <djm@openbsd.org>
2350Date: Wed Nov 27 05:00:17 2019 +0000
2351
2352 upstream: use error()+_exit() instead of fatal() to avoid running
2353
2354 cleanup handlers in child process; spotted via weird regress failures in
2355 portable
2356
2357 OpenBSD-Commit-ID: 6902a9bb3987c7d347774444f7979b8a9ba7f412
2358
2359commit 70ec5e5e2681bcd409a9df94a2fec6f57a750945
2360Author: dtucker@openbsd.org <dtucker@openbsd.org>
2361Date: Wed Nov 27 03:34:04 2019 +0000
2362
2363 upstream: Make channel_id u_int32_t and remove unnecessary check
2364
2365 and cast that were left over from the type conversion. Noted by
2366 t-hashida@amiya.co.jp in bz#3098, ok markus@ djm@
2367
2368 OpenBSD-Commit-ID: 3ad105b6a905284e780b1fd7ff118e1c346e90b5
2369
2370commit ad44ca81bea83657d558aaef5a1d789a9032bac3
2371Author: djm@openbsd.org <djm@openbsd.org>
2372Date: Tue Nov 26 23:43:10 2019 +0000
2373
2374 upstream: test FIDO2/U2F key types; ok markus@
2375
2376 OpenBSD-Regress-ID: 367e06d5a260407619b4b113ea0bd7004a435474
2377
2378commit c6efa8a91af1d4fdb43909a23a0a4ffa012155ad
2379Author: djm@openbsd.org <djm@openbsd.org>
2380Date: Tue Nov 26 23:41:23 2019 +0000
2381
2382 upstream: add dummy security key middleware based on work by
2383
2384 markus@
2385
2386 This will allow us to test U2F/FIDO2 support in OpenSSH without
2387 requiring real hardware.
2388
2389 ok markus@
2390
2391 OpenBSD-Regress-ID: 88b309464b8850c320cf7513f26d97ee1fdf9aae
2392
2393commit 8635afa1cdc21366d61730d943f3cf61861899c8
2394Author: jmc@openbsd.org <jmc@openbsd.org>
2395Date: Tue Nov 26 22:42:26 2019 +0000
2396
2397 upstream: tweak previous;
2398
2399 OpenBSD-Commit-ID: a4c097364c75da320f1b291568db830fb1ee4883
2400
2401commit e0d38ae9bc8c0de421605b9021d8144e4d8ff22b
2402Author: djm@openbsd.org <djm@openbsd.org>
2403Date: Tue Nov 26 03:04:27 2019 +0000
2404
2405 upstream: more debugging; behind DEBUG_SK
2406
2407 OpenBSD-Commit-ID: a978896227118557505999ddefc1f4c839818b60
2408
2409commit 9281d4311b8abc63b88259f354944c53f9b0b3c7
2410Author: Damien Miller <djm@mindrot.org>
2411Date: Mon Nov 25 21:47:49 2019 +1100
2412
2413 unbreak fuzzers for recent security key changes
2414
2415commit c5f1cc993597fed0a9013743556b1567f476c677
2416Author: djm@openbsd.org <djm@openbsd.org>
2417Date: Mon Nov 25 10:32:35 2019 +0000
2418
2419 upstream: unbreak tests for recent security key changes
2420
2421 OpenBSD-Regress-ID: 2cdf2fcae9962ca4d711338f3ceec3c1391bdf95
2422
2423commit 64988266820cc90a45a21672be9d762cbde8d34d
2424Author: djm@openbsd.org <djm@openbsd.org>
2425Date: Mon Nov 25 06:53:04 2019 +0000
2426
2427 upstream: unbreak after security key support landed
2428
2429 OpenBSD-Regress-ID: 3ab578b0dbeb2aa6d9969b54a9c1bad329c0dcba
2430
2431commit e65e25c81e22ea622e89a142a303726a3882384f
2432Author: tb@openbsd.org <tb@openbsd.org>
2433Date: Thu Nov 21 05:18:47 2019 +0000
2434
2435 upstream: Remove workaround for broken 'openssl rsa -text' output
2436
2437 that was fixed in libcrypto/rsa/rsa_ameth.c r1.24.
2438
2439 ok dtucker inoguchi
2440
2441 OpenBSD-Regress-ID: c260edfac177daa8fcce90141587cf04a95c4f5f
2442
2443commit 21377ec2a9378579ba4b44a681af7bbca77581f4
2444Author: djm@openbsd.org <djm@openbsd.org>
2445Date: Mon Nov 25 10:23:36 2019 +0000
2446
2447 upstream: redundant test
2448
2449 OpenBSD-Commit-ID: 38fa7806c528a590d91ae560e67bd8b246c2d7a3
2450
2451commit 664deef95a2e770812533439b8bdd3f3c291ae59
2452Author: djm@openbsd.org <djm@openbsd.org>
2453Date: Mon Nov 25 00:57:51 2019 +0000
2454
2455 upstream: document the "no-touch-required" certificate extension;
2456
2457 ok markus, feedback deraadt
2458
2459 OpenBSD-Commit-ID: 47640122b13f825e9c404ea99803b2372246579d
2460
2461commit 26cb128b31efdd5395153f4943f5be3eddc07033
2462Author: djm@openbsd.org <djm@openbsd.org>
2463Date: Mon Nov 25 00:57:27 2019 +0000
2464
2465 upstream: Print a key touch reminder when generating a security
2466
2467 key. Most keys require a touch to authorize the operation.
2468
2469 OpenBSD-Commit-ID: 7fe8b23edbf33e1bb81741b9f25e9a63be5f6b68
2470
2471commit daeaf4136927c2a82af1399022103d67ff03f74a
2472Author: djm@openbsd.org <djm@openbsd.org>
2473Date: Mon Nov 25 00:55:58 2019 +0000
2474
2475 upstream: allow "ssh-keygen -x no-touch-required" when generating a
2476
2477 security key keypair to request one that does not require a touch for each
2478 authentication attempt. The default remains to require touch.
2479
2480 feedback deraadt; ok markus@
2481
2482 OpenBSD-Commit-ID: 887e7084b2e89c0c62d1598ac378aad8e434bcbd
2483
2484commit 2e71263b80fec7ad977e098004fef7d122169d40
2485Author: djm@openbsd.org <djm@openbsd.org>
2486Date: Mon Nov 25 00:54:23 2019 +0000
2487
2488 upstream: add a "no-touch-required" option for authorized_keys and
2489
2490 a similar extension for certificates. This option disables the default
2491 requirement that security key signatures attest that the user touched their
2492 key to authorize them.
2493
2494 feedback deraadt, ok markus
2495
2496 OpenBSD-Commit-ID: f1fb56151ba68d55d554d0f6d3d4dba0cf1a452e
2497
2498commit 0fddf2967ac51d518e300408a0d7e6adf4cd2634
2499Author: djm@openbsd.org <djm@openbsd.org>
2500Date: Mon Nov 25 00:52:46 2019 +0000
2501
2502 upstream: Add a sshd_config PubkeyAuthOptions directive
2503
2504 This directive has a single valid option "no-touch-required" that
2505 causes sshd to skip checking whether user presence was tested before
2506 a security key signature was made (usually by the user touching the
2507 key).
2508
2509 ok markus@
2510
2511 OpenBSD-Commit-ID: 46e434a49802d4ed82bc0aa38cb985c198c407de
2512
2513commit b7e74ea072919b31391bc0f5ff653f80b9f5e84f
2514Author: djm@openbsd.org <djm@openbsd.org>
2515Date: Mon Nov 25 00:51:37 2019 +0000
2516
2517 upstream: Add new structure for signature options
2518
2519 This is populated during signature verification with additional fields
2520 that are present in and covered by the signature. At the moment, it is
2521 only used to record security key-specific options, especially the flags
2522 field.
2523
2524 with and ok markus@
2525
2526 OpenBSD-Commit-ID: 338a1f0e04904008836130bedb9ece4faafd4e49
2527
2528commit d2b0f88178ec9e3f11b606bf1004ac2fe541a2c3
2529Author: djm@openbsd.org <djm@openbsd.org>
2530Date: Mon Nov 25 00:38:17 2019 +0000
2531
2532 upstream: memleak in error path
2533
2534 OpenBSD-Commit-ID: 93488431bf02dde85a854429362695d2d43d9112
2535
2536commit e2c0a21ade5e0bd7f0aab08d7eb9457f086681e9
2537Author: dtucker@openbsd.org <dtucker@openbsd.org>
2538Date: Fri Nov 22 06:50:30 2019 +0000
2539
2540 upstream: Wait for FD to be readable or writeable during a nonblocking
2541
2542 connect, not just readable. Prevents a timeout when the server doesn't
2543 immediately send a banner (eg multiplexers like sslh) but is also slightly
2544 quicker for other connections since, unlike ssh1, ssh2 doesn't specify
2545 that the client should parse the server banner before sending its own.
2546 Patch from mnissler@chromium.org, ok djm@
2547
2548 OpenBSD-Commit-ID: aba9cd8480d1d9dd31d0ca0422ea155c26c5df1d
2549
2550commit 2f95d43dc222ce194622b706682e8de07c9cfb42
2551Author: Darren Tucker <dtucker@dtucker.net>
2552Date: Wed Nov 20 16:34:11 2019 +1100
2553
2554 Include openssl compat header.
2555
2556 Fixes warning for ECDSA_SIG_set0 on OpenSSL versions prior to 1.1.
2557
2558commit a70d92f236576c032a45c39e68ca0d71e958d19d
2559Author: djm@openbsd.org <djm@openbsd.org>
2560Date: Tue Nov 19 22:23:19 2019 +0000
2561
2562 upstream: adjust on-wire signature encoding for ecdsa-sk keys to
2563
2564 better match ec25519-sk keys. Discussed with markus@ and Sebastian Kinne
2565
2566 NB. if you are depending on security keys (already?) then make sure you
2567 update both your clients and servers.
2568
2569 OpenBSD-Commit-ID: 53d88d8211f0dd02a7954d3af72017b1a79c0679
2570
2571commit 26369a5f7d9c4e4ef44a3e04910126e1bcea43d8
2572Author: djm@openbsd.org <djm@openbsd.org>
2573Date: Tue Nov 19 22:21:15 2019 +0000
2574
2575 upstream: a little more information from the monitor when signature
2576
2577 verification fails.
2578
2579 OpenBSD-Commit-ID: e6a30071e0518cac512f9e10be3dc3500e2003f3
2580
2581commit 4402d6c9b5bf128dcfae2429f1d41cdaa8849b6b
2582Author: jmc@openbsd.org <jmc@openbsd.org>
2583Date: Tue Nov 19 16:02:32 2019 +0000
2584
2585 upstream: revert previous: naddy pointed out what's meant to
2586
2587 happen. rethink needed...
2588
2589 OpenBSD-Commit-ID: fb0fede8123ea7f725fd65e00d49241c40bd3421
2590
2591commit 88056f881315233e990e4e04a815f8f96b4674e1
2592Author: jmc@openbsd.org <jmc@openbsd.org>
2593Date: Tue Nov 19 14:54:47 2019 +0000
2594
2595 upstream: -c and -s do not make sense with -k; reshuffle -k into
2596
2597 the main synopsis/usage; ok djm
2598
2599 OpenBSD-Commit-ID: f881ba253da015398ae8758d973e3390754869bc
2600
2601commit 2cf262c21f35296c2ff718cfdb52e0473a1c3983
2602Author: naddy@openbsd.org <naddy@openbsd.org>
2603Date: Mon Nov 18 23:17:48 2019 +0000
2604
2605 upstream: document '$' environment variable expansion for
2606
2607 SecurityKeyProvider; ok djm@
2608
2609 OpenBSD-Commit-ID: 76db507ebd336a573e1cd4146cc40019332c5799
2610
2611commit f0edda81c5ebccffcce52b182c3033531a1aab71
2612Author: naddy@openbsd.org <naddy@openbsd.org>
2613Date: Mon Nov 18 23:16:49 2019 +0000
2614
2615 upstream: more missing mentions of ed25519-sk; ok djm@
2616
2617 OpenBSD-Commit-ID: f242e53366f61697dffd53af881bc5daf78230ff
2618
2619commit 189550f5bc85148e85f4caa1f6b2fc623149a4ee
2620Author: naddy@openbsd.org <naddy@openbsd.org>
2621Date: Mon Nov 18 16:10:05 2019 +0000
2622
2623 upstream: additional missing stdarg.h includes when built without
2624
2625 WITH_OPENSSL; ok djm@
2626
2627 OpenBSD-Commit-ID: 881f9a2c4e2239849cee8bbf4faec9bab128f55b
2628
2629commit 723a5369864b338c48d22854bc2bb4ee5c083deb
2630Author: naddy@openbsd.org <naddy@openbsd.org>
2631Date: Mon Nov 18 16:08:57 2019 +0000
2632
2633 upstream: add the missing WITH_OPENSSL ifdefs after the ED25519-SK
2634
2635 addition; ok djm@
2636
2637 OpenBSD-Commit-ID: a9545e1c273e506cf70e328cbb9d0129b6d62474
2638
2639commit 478f4f98e4e93ae4ed1a8911dec4e5b75ea10f30
2640Author: Damien Miller <djm@mindrot.org>
2641Date: Tue Nov 19 08:52:24 2019 +1100
2642
2643 remove all EC algs from proposals, no just sk ones
2644
2645 ok dtucker@
2646
2647commit 6a7ef310da100f876a257b7367e3b0766dac3994
2648Author: Damien Miller <djm@mindrot.org>
2649Date: Mon Nov 18 22:22:04 2019 +1100
2650
2651 filter PUBKEY_DEFAULT_PK_ALG for ECC algorithms
2652
2653 Remove ECC algorithms from the PUBKEY_DEFAULT_PK_ALG list when
2654 compiling without ECC support in libcrypto.
2655
2656commit 64f56f1d1af3947a71a4c391f2c08747d19ee591
2657Author: dtucker@openbsd.org <dtucker@openbsd.org>
2658Date: Mon Nov 18 09:15:17 2019 +0000
2659
2660 upstream: LibreSSL change the format for openssl rsa -text output from
2661
2662 "publicExponent" to "Exponent" so accept either. with djm.
2663
2664 OpenBSD-Regress-ID: b7e6c4bf700029a31c98be14600d4472fe0467e6
2665
2666commit 4bfc0503ad94a2a7190686a89649567c20b8534f
2667Author: djm@openbsd.org <djm@openbsd.org>
2668Date: Mon Nov 18 06:58:00 2019 +0000
2669
2670 upstream: fix a bug that prevented serialisation of ed25519-sk keys
2671
2672 OpenBSD-Commit-ID: 066682b79333159cac04fcbe03ebd9c8dcc152a9
2673
2674commit d88205417084f523107fbe1bc92061635cd57fd2
2675Author: djm@openbsd.org <djm@openbsd.org>
2676Date: Mon Nov 18 06:39:36 2019 +0000
2677
2678 upstream: Fix incorrect error message when key certification fails
2679
2680 OpenBSD-Commit-ID: 7771bd77ee73f7116df37c734c41192943a73cee
2681
2682commit 740c4bc9875cbb4b9fc03fd5eac19df080f20df5
2683Author: djm@openbsd.org <djm@openbsd.org>
2684Date: Mon Nov 18 06:39:02 2019 +0000
2685
2686 upstream: fix bug that prevented certification of ed25519-sk keys
2687
2688 OpenBSD-Commit-ID: 64c8cc6f5de2cdd0ee3a81c3a9dee8d862645996
2689
2690commit 85409cbb505d8c463ab6e2284b4039764c7243de
2691Author: djm@openbsd.org <djm@openbsd.org>
2692Date: Mon Nov 18 06:24:17 2019 +0000
2693
2694 upstream: allow *-sk key types to be turned into certificates
2695
2696 OpenBSD-Commit-ID: cd365ee343934862286d0b011aa77fa739d2a945
2697
2698commit e2e1283404e06a22ac6135d057199e70dcadb8dd
2699Author: djm@openbsd.org <djm@openbsd.org>
2700Date: Mon Nov 18 04:55:02 2019 +0000
2701
2702 upstream: mention ed25519-sk key/cert types here too; prompted by
2703
2704 jmc@
2705
2706 OpenBSD-Commit-ID: e281977e4a4f121f3470517cbd5e483eee37b818
2707
2708commit 97dc5d1d82865a7d20f1eb193b5c62ce684024e5
2709Author: djm@openbsd.org <djm@openbsd.org>
2710Date: Mon Nov 18 04:50:45 2019 +0000
2711
2712 upstream: mention ed25519-sk in places where it is accepted;
2713
2714 prompted by jmc@
2715
2716 OpenBSD-Commit-ID: 076d386739ebe7336c2137e583bc7a5c9538a442
2717
2718commit 130664344862a8c7afd3e24d8d36ce40af41a99f
2719Author: djm@openbsd.org <djm@openbsd.org>
2720Date: Mon Nov 18 04:34:47 2019 +0000
2721
2722 upstream: document ed25519-sk pubkey, private key and certificate
2723
2724 formats
2725
2726 OpenBSD-Commit-ID: 795a7c1c80315412e701bef90e31e376ea2f3c88
2727
2728commit 71856e1142fc01628ce53098f8cfc74765464b35
2729Author: djm@openbsd.org <djm@openbsd.org>
2730Date: Mon Nov 18 04:29:50 2019 +0000
2731
2732 upstream: correct order or ecdsa-sk private key fields
2733
2734 OpenBSD-Commit-ID: 4d4a0c13226a79f0080ce6cbe74f73b03ed8092e
2735
2736commit 93fa2a6649ae3e0626cbff25c985a4573d63e3f2
2737Author: djm@openbsd.org <djm@openbsd.org>
2738Date: Mon Nov 18 04:16:53 2019 +0000
2739
2740 upstream: correct description of fields in pub/private keys (was
2741
2742 missing curve name); spotted by Sebastian Kinne
2743
2744 OpenBSD-Commit-ID: 2a11340dc7ed16200342d384fb45ecd4fcce26e7
2745
2746commit b497e920b409250309c4abe64229237b8f2730ba
2747Author: Damien Miller <djm@mindrot.org>
2748Date: Mon Nov 18 15:05:04 2019 +1100
2749
2750 Teach the GTK2/3 ssh-askpass the new prompt hints
2751
2752 ssh/ssh-agent now sets a hint environment variable $SSH_ASKPASS_PROMPT
2753 when running the askpass program. This is intended to allow the
2754 askpass to vary its UI across the three cases it supports: asking for
2755 a passphrase, confirming the use of a key and (recently) reminding
2756 a user to touch their security key.
2757
2758 This adapts the gnome-ssh-askpass[23] to use these hints. Specifically,
2759 for SSH_ASKPASS_PROMPT=confirm it will skip the text input box and show
2760 only "yes"/"no" buttons. For SSH_ASKPASS_PROMPT=none (used to remind
2761 users to tap their security key), it shows only a "close" button.
2762
2763 Help wanted: adapt the other askpass programs in active use, including
2764 x11-ssh-askpass, lxqt-openssh-askpass, etc.
2765
2766commit 857f49e91eeae6feb781ef5f5e26c38ca3d953ec
2767Author: Darren Tucker <dtucker@dtucker.net>
2768Date: Mon Nov 18 14:15:26 2019 +1100
2769
2770 Move ifdef OPENSSL_HAS_ECC.
2771
2772 Found by -Wimplicit-fallthrough: one ECC case was not inside the ifdef.
2773 ok djm@
2774
2775commit 6cf1c40096a79e5eedcf897c7cdb46bb32d4a3ee
2776Author: Darren Tucker <dtucker@dtucker.net>
2777Date: Mon Nov 18 14:14:18 2019 +1100
2778
2779 Enable -Wimplicit-fallthrough if supported
2780
2781 Suggested by djm.
2782
2783commit 103c51fd5f5ddc01cd6b5c1132e711765b921bf5
2784Author: djm@openbsd.org <djm@openbsd.org>
2785Date: Mon Nov 18 01:59:48 2019 +0000
2786
2787 upstream: missing break in getopt switch; spotted by Sebastian Kinne
2788
2789 OpenBSD-Commit-ID: f002dbf14dba5586e8407e90f0141148ade8e8fc
2790
2791commit 9a1225e8ca2ce1fe809910874935302234399a6d
2792Author: djm@openbsd.org <djm@openbsd.org>
2793Date: Sat Nov 16 23:17:20 2019 +0000
2794
2795 upstream: tweak debug message
2796
2797 OpenBSD-Commit-ID: 2bf336d3be0b7e3dd97920d7e7471146a281d2b9
2798
2799commit 4103a3ec7c68493dbc4f0994a229507e943a86d3
2800Author: djm@openbsd.org <djm@openbsd.org>
2801Date: Sat Nov 16 22:42:30 2019 +0000
2802
2803 upstream: a little debug() in the security key interface
2804
2805 OpenBSD-Commit-ID: 4c70300609a5c8b19707207bb7ad4109e963b0e8
2806
2807commit 05daa211de926f66f50b7380d637f84dc6341574
2808Author: djm@openbsd.org <djm@openbsd.org>
2809Date: Sat Nov 16 22:36:48 2019 +0000
2810
2811 upstream: always use ssh-sk-helper, even for the internal USB HID
2812
2813 support. This avoid the need for a wpath pledge in ssh-agent.
2814
2815 reported by jmc@
2816
2817 OpenBSD-Commit-ID: 19f799c4d020b870741d221335dbfa5e76691c23
2818
2819commit d431778a561d90131814f986b646299f9af33c8c
2820Author: markus@openbsd.org <markus@openbsd.org>
2821Date: Fri Nov 15 15:41:01 2019 +0000
2822
2823 upstream: fix typos in sk_enroll
2824
2825 OpenBSD-Commit-ID: faa9bf779e008b3e64e2eb1344d9b7d83b3c4487
2826
2827commit af90aec0443ec51e6b2d804cb91771d3905f8a6f
2828Author: jmc@openbsd.org <jmc@openbsd.org>
2829Date: Fri Nov 15 11:16:28 2019 +0000
2830
2831 upstream: double word;
2832
2833 OpenBSD-Commit-ID: 43d09bafa4ea9002078cb30ca9adc3dcc0b9c2b9
2834
2835commit fd1a96490cef7f945a1b3b5df4e90c8a1070f425
2836Author: djm@openbsd.org <djm@openbsd.org>
2837Date: Fri Nov 15 06:00:20 2019 +0000
2838
2839 upstream: remove most uses of BN_CTX
2840
2841 We weren't following the rules re BN_CTX_start/BN_CTX_end and the places
2842 we were using it didn't benefit from its use anyway. ok dtucker@
2843
2844 OpenBSD-Commit-ID: ea9ba6c0d2e6f6adfe00b309a8f41842fe12fc7a
2845
2846commit 39b87104cdd47baf79ef77dc81de62cea07d119f
2847Author: Darren Tucker <dtucker@dtucker.net>
2848Date: Fri Nov 15 18:56:54 2019 +1100
2849
2850 Add wrappers for other ultrix headers.
2851
2852 Wrappers protect against multiple inclusions for headers that don't do
2853 it themselves.
2854
2855commit 134a74f4e0cf750931f1125beb2a3f40c54c8809
2856Author: Darren Tucker <dtucker@dtucker.net>
2857Date: Fri Nov 15 18:55:13 2019 +1100
2858
2859 Add SSIZE_MAX when we define ssize_t.
2860
2861commit 9c6d0a3a1ed77989d8c5436d8c3cc6c7045c0197
2862Author: Darren Tucker <dtucker@dtucker.net>
2863Date: Fri Nov 15 17:13:19 2019 +1100
2864
2865 Remove ultrix realpath hack.
2866
2867commit c63fba5e3472307167850bbd84187186af7fa9f0
2868Author: djm@openbsd.org <djm@openbsd.org>
2869Date: Fri Nov 15 05:37:27 2019 +0000
2870
2871 upstream: unshield security key privkey before attempting signature
2872
2873 in agent. spotted by dtucker@
2874
2875 OpenBSD-Commit-ID: fb67d451665385b8a0a55371231c50aac67b91d2
2876
2877commit d165bb5396e3f718480e6039ca2cf77f5a2c2885
2878Author: deraadt@openbsd.org <deraadt@openbsd.org>
2879Date: Fri Nov 15 05:26:56 2019 +0000
2880
2881 upstream: rewrite c99-ism
2882
2883 OpenBSD-Commit-ID: d0c70cca29cfa7e6d9f7ec1d6d5dabea112499b3
2884
2885commit 03e06dd0e6e1c0a9f4b4b9de7def8a44dcbf93a7
2886Author: deraadt@openbsd.org <deraadt@openbsd.org>
2887Date: Fri Nov 15 05:25:52 2019 +0000
2888
2889 upstream: only clang understands those new -W options
2890
2891 OpenBSD-Commit-ID: d9b910e412d139141b072a905e66714870c38ac0
2892
2893commit 5c0bc273cba53f822b7d777bbb6c35d160d3b505
2894Author: Damien Miller <djm@mindrot.org>
2895Date: Fri Nov 15 16:08:00 2019 +1100
2896
2897 configure flag to built-in security key support
2898
2899 Require --with-security-key-builtin before enabling the built-in
2900 security key support (and consequent dependency on libfido2).
2901
2902commit fbcb9a7fa55300b8bd4c18bee024c6104c5a25d7
2903Author: Damien Miller <djm@mindrot.org>
2904Date: Fri Nov 15 16:06:30 2019 +1100
2905
2906 upstream commit
2907
2908 revision 1.48
2909 date: 2019/02/04 16:45:40; author: millert; state: Exp; lines: +16 -17; commitid: cpNtVC7erojNyctw;
2910 Make gl_pathc, gl_matchc and gl_offs size_t in glob_t to match POSIX.
2911 This requires a libc major version bump. OK deraadt@
2912
2913commit 2cfb11abac85885de0cb888bbeb9a3e4303105ea
2914Author: Damien Miller <djm@mindrot.org>
2915Date: Fri Nov 15 16:05:07 2019 +1100
2916
2917 upstream commit
2918
2919 revision 1.47
2920 date: 2017/05/08 14:53:27; author: millert; state: Exp; lines: +34 -21; commitid: sYfxfyUHAfarP8sE;
2921 Fix exponential CPU use with repeated '*' operators by changing '*'
2922 handling to be interative instead of recursive.
2923 Fix by Yves Orton, ported to OpenBSD glob.c by Ray Lai. OK tb@
2924
2925commit 228dd595c7882bb9b161dbb7d4dca15c8a5f03f5
2926Author: Damien Miller <djm@mindrot.org>
2927Date: Fri Nov 15 16:04:28 2019 +1100
2928
2929 upstream commit
2930
2931 revision 1.46
2932 date: 2015/12/28 22:08:18; author: mmcc; state: Exp; lines: +5 -9; commitid: 0uXuF2O13NH9q2e1;
2933 Remove NULL-checks before free() and a few related dead assignments.
2934
2935 ok and valuable input from millert@
2936
2937commit a16f748690139b9f452485d97511ad5e578f59b2
2938Author: Damien Miller <djm@mindrot.org>
2939Date: Fri Nov 15 16:02:43 2019 +1100
2940
2941 upstream commit
2942
2943 revision 1.44
2944 date: 2015/09/14 16:09:13; author: tedu; state: Exp; lines: +3 -5; commitid: iWfSX2BIn0sLw62l;
2945 remove null check before free. from Michael McConville
2946 ok semarie
2947
2948commit fd37cdeafe25adfcdc752280f535d28de7997ff1
2949Author: Damien Miller <djm@mindrot.org>
2950Date: Fri Nov 15 16:02:27 2019 +1100
2951
2952 upstream commit
2953
2954 revision 1.43
2955 date: 2015/06/13 16:57:04; author: deraadt; state: Exp; lines: +4 -4; commitid: zOUKuqWBdOPOz1SZ;
2956 in glob() initialize the glob_t before the first failure check.
2957 from j@pureftpd.org
2958 ok millert stsp
2959
2960commit fd62769c3882adea118dccaff80a06009874a2d1
2961Author: Damien Miller <djm@mindrot.org>
2962Date: Fri Nov 15 16:01:20 2019 +1100
2963
2964 upstream commit
2965
2966 revision 1.42
2967 date: 2015/02/05 12:59:57; author: millert; state: Exp; lines: +2 -1; commitid: DTQbfd4poqBW8iSJ;
2968 Include stdint.h, not limits.h to get SIZE_MAX. OK guenther@
2969
2970commit 2b6cba7ee2b8b36f393be739c860a9d2e5d8eb48
2971Author: Damien Miller <djm@mindrot.org>
2972Date: Fri Nov 15 16:00:07 2019 +1100
2973
2974 upstream commit
2975
2976 revision 1.41
2977 date: 2014/10/08 05:35:27; author: deraadt; state: Exp; lines: +3 -3; commitid: JwTGarRLHQKDgPh2;
2978 obvious realloc -> reallocarray conversion
2979
2980commit ab3600665387ae34785498558c4409e27f495b0b
2981Author: djm@openbsd.org <djm@openbsd.org>
2982Date: Fri Nov 15 04:12:32 2019 +0000
2983
2984 upstream: don't consult dlopen whitelist for internal security key
2985
2986 provider; spotted by dtucker@
2987
2988 OpenBSD-Commit-ID: bfe5fbd17e4ff95dd85b9212181652b54444192e
2989
2990commit 19f8ec428db835f68c1cfd63587e9880ccd6486c
2991Author: Damien Miller <djm@mindrot.org>
2992Date: Fri Nov 15 15:08:28 2019 +1100
2993
2994 upstream commit
2995
2996 revision 1.40
2997 date: 2013/09/30 12:02:34; author: millert; state: Exp; lines: +14 -15;
2998 Use PATH_MAX, NAME_MAX and LOGIN_NAME_MAX not MAXPATHNAMELEN,
2999 MAXNAMLEN or MAXLOGNAME where possible. OK deraadt@
3000
3001commit bb7413db98e418d4af791244660abf6c829783f5
3002Author: Damien Miller <djm@mindrot.org>
3003Date: Fri Nov 15 15:07:30 2019 +1100
3004
3005 upstream commit
3006
3007 revision 1.39
3008 date: 2012/01/20 07:09:42; author: tedu; state: Exp; lines: +4 -4;
3009 the glob stat limit is way too low. bump to 2048.
3010 while here, failed stats should count against the limit too.
3011 ok deraadt sthen stsp
3012
3013commit 01362cf7cb979525c014714e2bccf799a46e772e
3014Author: djm@openbsd.org <djm@openbsd.org>
3015Date: Fri Nov 15 03:41:57 2019 +0000
3016
3017 upstream: U2F tokens may return FIDO_ERR_USER_PRESENCE_REQUIRED when
3018
3019 probed to see if they own a key handle. Handle this case so the find_device()
3020 look can work for them. Reported by Michael Forney
3021
3022 OpenBSD-Commit-ID: 2ccd5b30a6ddfe4dba228b7159bf168601bd9166
3023
3024commit cf62307bc9758105913dcb91b418e4968ac2244d
3025Author: Darren Tucker <dtucker@dtucker.net>
3026Date: Fri Nov 15 14:01:00 2019 +1100
3027
3028 Add libfido2 to INSTALL.
3029
3030commit 69fbda1894349d1f420c842dfcbcc883239d1aa7
3031Author: Darren Tucker <dtucker@dtucker.net>
3032Date: Fri Nov 15 13:42:15 2019 +1100
3033
3034 libcrypto is now optional.
3035
3036commit 45ffa369886e37930776d7c15dd8b973242d6ecc
3037Author: djm@openbsd.org <djm@openbsd.org>
3038Date: Fri Nov 15 02:38:07 2019 +0000
3039
3040 upstream: show the "please touch your security key" notifier when
3041
3042 using the (default) build-in security key support.
3043
3044 OpenBSD-Commit-ID: 4707643aaa7124501d14e92d1364b20f312a6428
3045
3046commit 49dc9fa928d77807c53bdc2898db7fb515fe5eb3
3047Author: djm@openbsd.org <djm@openbsd.org>
3048Date: Fri Nov 15 02:37:24 2019 +0000
3049
3050 upstream: close the "touch your security key" notifier on the error
3051
3052 path too
3053
3054 OpenBSD-Commit-ID: c7628bf80505c1aefbb1de7abc8bb5ee51826829
3055
3056commit 22a82712e89bf17c27427aeba15795fb4011a0c2
3057Author: djm@openbsd.org <djm@openbsd.org>
3058Date: Fri Nov 15 02:20:06 2019 +0000
3059
3060 upstream: correct function name in debug message
3061
3062 OpenBSD-Commit-ID: 2482c99d2ce448f39282493050f8a01e3ffc39ab
3063
3064commit 018e2902a65c22faded215a7c588492c948f108c
3065Author: djm@openbsd.org <djm@openbsd.org>
3066Date: Fri Nov 15 00:32:40 2019 +0000
3067
3068 upstream: follow existing askpass logic for security key notifier:
3069
3070 fall back to _PATH_SSH_ASKPASS_DEFAULT if no $SSH_ASKPASS environment
3071 variable is set.
3072
3073 OpenBSD-Commit-ID: cda753726b13fb797bf7a9f7a0b3022d9ade4520
3074
3075commit 575d0042a94997c1eeb86a6dcfb30b3c7bdbcba3
3076Author: djm@openbsd.org <djm@openbsd.org>
3077Date: Thu Nov 14 21:56:52 2019 +0000
3078
3079 upstream: remove debugging goop that snuck in to last commit
3080
3081 OpenBSD-Commit-ID: 8ea4455a2d9364a0a04f9e4a2cbfa4c9fcefe77e
3082
3083commit 63a5b24f2dbdc9a4bf2182ac3db26731ddc617e8
3084Author: Damien Miller <djm@mindrot.org>
3085Date: Fri Nov 15 11:21:26 2019 +1100
3086
3087 don't fatal if libfido2 not found
3088
3089 spotted by dtucker@
3090
3091commit 129952a81c00c332721b4ba3ede868c720ad7f4e
3092Author: Damien Miller <djm@mindrot.org>
3093Date: Fri Nov 15 11:17:12 2019 +1100
3094
3095 correct object dependency
3096
3097commit 6bff9521ab9a9f7396d635755c342b72373bb4f9
3098Author: djm@openbsd.org <djm@openbsd.org>
3099Date: Thu Nov 14 21:27:29 2019 +0000
3100
3101 upstream: directly support U2F/FIDO2 security keys in OpenSSH by
3102
3103 linking against the (previously external) USB HID middleware. The dlopen()
3104 capability still exists for alternate middlewares, e.g. for Bluetooth, NFC
3105 and test/debugging.
3106
3107 OpenBSD-Commit-ID: 14446cf170ac0351f0d4792ba0bca53024930069
3108
3109commit 4f5e331cb8e11face3025aa6578662dde489c3ad
3110Author: markus@openbsd.org <markus@openbsd.org>
3111Date: Wed Nov 13 22:00:21 2019 +0000
3112
3113 upstream: in order to be able to figure out the number of
3114
3115 signatures left on a shielded key, we need to transfer the number of
3116 signatures left from the private to the public key. ok djm@
3117
3118 OpenBSD-Commit-ID: 8a5d0d260aeace47d372695fdae383ce9b962574
3119
3120commit dffd02e297e6c2a4e86775f293eb1b0ff01fb3df
3121Author: markus@openbsd.org <markus@openbsd.org>
3122Date: Wed Nov 13 20:25:45 2019 +0000
3123
3124 upstream: fix check for sig_s; noted by qsa at qualys.com
3125
3126 OpenBSD-Commit-ID: 34198084e4afb424a859f52c04bb2c9668a52867
3127
3128commit fc173aeb1526d4268db89ec5dfebaf8750dd26cd
3129Author: dtucker@openbsd.org <dtucker@openbsd.org>
3130Date: Wed Nov 13 11:25:11 2019 +0000
3131
3132 upstream: When clients get denied by MaxStartups, send a
3133
3134 noification prior to the SSH2 protocol banner according to RFC4253 section
3135 4.2. ok djm@ deraadt@ markus@
3136
3137 OpenBSD-Commit-ID: e5dabcb722d54dea18eafb336d50b733af4f9c63
3138
3139commit bf219920b70cafbf29ebc9890ef67d0efa54e738
3140Author: markus@openbsd.org <markus@openbsd.org>
3141Date: Wed Nov 13 07:53:10 2019 +0000
3142
3143 upstream: fix shield/unshield for xmss keys: - in ssh-agent we need
3144
3145 to delay the call to shield until we have received key specific options. -
3146 when serializing xmss keys for shield we need to deal with all optional
3147 components (e.g. state might not be loaded). ok djm@
3148
3149 OpenBSD-Commit-ID: cc2db82524b209468eb176d6b4d6b9486422f41f
3150
3151commit 40598b85d72a509566b7b2a6d57676c7231fed34
3152Author: deraadt@openbsd.org <deraadt@openbsd.org>
3153Date: Wed Nov 13 05:42:26 2019 +0000
3154
3155 upstream: remove size_t gl_pathc < 0 test, it is invalid. the
3156
3157 return value from glob() is sufficient. discussed with djm
3158
3159 OpenBSD-Commit-ID: c91203322db9caaf7efaf5ae90c794a91070be3c
3160
3161commit 72687c8e7c38736e3e64e833ee7aa8f9cd9efed1
3162Author: deraadt@openbsd.org <deraadt@openbsd.org>
3163Date: Wed Nov 13 04:47:52 2019 +0000
3164
3165 upstream: stdarg.h required more broadly; ok djm
3166
3167 OpenBSD-Commit-ID: b5b15674cde1b54d6dbbae8faf30d47e6e5d6513
3168
3169commit 1e0b248d47c96be944868a735553af8482300a07
3170Author: Darren Tucker <dtucker@dtucker.net>
3171Date: Thu Nov 14 16:08:17 2019 +1100
3172
3173 Put sshsk_sign call inside ifdef ENABLE_SK.
3174
3175 Fixes build against OpenSSL configured without ECC.
3176
3177commit 546274a6f89489d2e6be8a8b62f2bb63c87a61fd
3178Author: Darren Tucker <dtucker@dtucker.net>
3179Date: Wed Nov 13 23:27:31 2019 +1100
3180
3181 Remove duplicate __NR_clock_nanosleep
3182
3183commit b1c82f4b8adf3f42476d8a1f292df33fb7aa1a56
3184Author: Darren Tucker <dtucker@dtucker.net>
3185Date: Wed Nov 13 23:19:35 2019 +1100
3186
3187 seccomp: Allow clock_nanosleep() in sandbox.
3188
3189 seccomp: Allow clock_nanosleep() to make OpenSSH working with latest
3190 glibc. Patch from Jakub Jelen <jjelen@redhat.com> via bz #3093.
3191
3192commit 2b523d23804c13cb68db135b919fcf312c42b580
3193Author: Darren Tucker <dtucker@dtucker.net>
3194Date: Wed Nov 13 11:56:56 2019 +1100
3195
3196 Include stdarg.h for va_list in xmalloc.h.
3197
3198commit 245dcbdca5374296bdb9c48be6e24bdf6b1c0af7
3199Author: Darren Tucker <dtucker@dtucker.net>
3200Date: Wed Nov 13 11:19:26 2019 +1100
3201
3202 Put headers inside ifdef _AIX.
3203
3204 Prevents compile errors due to missing definitions (eg va_list) on
3205 non-AIX platforms.
3206
3207commit a4cc579c6ad2b2e54bdd6cc0d5e12c2288113a56
3208Author: Darren Tucker <dtucker@dtucker.net>
3209Date: Wed Nov 13 10:41:41 2019 +1100
3210
3211 Fix comment in match_usergroup_pattern_list.
3212
3213 Spotted by balu.gajjala@gmail.com via bz#3092.
3214
3215commit fccff339cab5aa66f2554e0188b83f980683490b
3216Author: djm@openbsd.org <djm@openbsd.org>
3217Date: Tue Nov 12 22:38:19 2019 +0000
3218
3219 upstream: allow an empty attestation certificate returned by a
3220
3221 security key enrollment - these are possible for tokens that only offer self-
3222 attestation. This also needs support from the middleware.
3223
3224 ok markus@
3225
3226 OpenBSD-Commit-ID: 135eeeb937088ef6830a25ca0bbe678dfd2c57cc
3227
3228commit e44bb61824e36d0d181a08489c16c378c486a974
3229Author: djm@openbsd.org <djm@openbsd.org>
3230Date: Tue Nov 12 22:36:44 2019 +0000
3231
3232 upstream: security keys typically need to be tapped/touched in
3233
3234 order to perform a signature operation. Notify the user when this is expected
3235 via the TTY (if available) or $SSH_ASKPASS if we can.
3236
3237 ok markus@
3238
3239 OpenBSD-Commit-ID: 0ef90a99a85d4a2a07217a58efb4df8444818609
3240
3241commit 4671211068441519011ac0e38c588317f4157ba1
3242Author: djm@openbsd.org <djm@openbsd.org>
3243Date: Tue Nov 12 22:35:02 2019 +0000
3244
3245 upstream: pass SSH_ASKPASS_PROMPT hint to y/n key confirm too
3246
3247 OpenBSD-Commit-ID: 08d46712e5e5f1bad0aea68e7717b7bec1ab8959
3248
3249commit 5d1c1590d736694f41b03e686045f08fcae20d62
3250Author: djm@openbsd.org <djm@openbsd.org>
3251Date: Tue Nov 12 22:34:20 2019 +0000
3252
3253 upstream: dd API for performing one-shot notifications via tty or
3254
3255 SSH_ASKPASS
3256
3257 OpenBSD-Commit-ID: 9484aea33aff5b62ce3642bf259546c7639f23f3
3258
3259commit 166927fd410823eec8a7b2472463db51e0e6fef5
3260Author: djm@openbsd.org <djm@openbsd.org>
3261Date: Tue Nov 12 22:32:48 2019 +0000
3262
3263 upstream: add xvasprintf()
3264
3265 OpenBSD-Commit-ID: e5e3671c05c121993b034db935bce1a7aa372247
3266
3267commit 782093ec6cf64cc6c4078410093359869ea9329f
3268Author: Darren Tucker <dtucker@dtucker.net>
3269Date: Wed Nov 13 09:08:55 2019 +1100
3270
3271 Remove leftover if statement from sync.
3272
3273commit b556cc3cbf0c43f073bb41bba4e92ca709a1ec13
3274Author: markus@openbsd.org <markus@openbsd.org>
3275Date: Tue Nov 12 19:34:40 2019 +0000
3276
3277 upstream: remove extra layer for ed25519 signature; ok djm@
3278
3279 OpenBSD-Commit-ID: 7672d9d0278b4bf656a12d3aab0c0bfe92a8ae47
3280
3281commit 3fcf69ace19e75cf9dcd7206f396adfcb29611a8
3282Author: markus@openbsd.org <markus@openbsd.org>
3283Date: Tue Nov 12 19:34:00 2019 +0000
3284
3285 upstream: check sig_r and sig_s for ssh-sk keys; ok djm
3286
3287 OpenBSD-Commit-ID: 1a1e6a85b5f465d447a3800f739e35c5b74e0abc
3288
3289commit 2c55744a56de0ffc81fe445a1e7fc5cd308712b3
3290Author: markus@openbsd.org <markus@openbsd.org>
3291Date: Tue Nov 12 19:33:08 2019 +0000
3292
3293 upstream: enable ed25519 support; ok djm
3294
3295 OpenBSD-Commit-ID: 1a399c5b3ef15bd8efb916110cf5a9e0b554ab7e
3296
3297commit fd1a3b5e38721b1d69aae2d9de1a1d9155dfa5c7
3298Author: markus@openbsd.org <markus@openbsd.org>
3299Date: Tue Nov 12 19:32:30 2019 +0000
3300
3301 upstream: update sk-api to version 2 for ed25519 support; ok djm
3302
3303 OpenBSD-Commit-ID: 77aa4d5b6ab17987d8a600907b49573940a0044a
3304
3305commit 7c32b51edbed5bd57870249c0a45dffd06be0002
3306Author: markus@openbsd.org <markus@openbsd.org>
3307Date: Tue Nov 12 19:31:45 2019 +0000
3308
3309 upstream: implement sshsk_ed25519_assemble(); ok djm
3310
3311 OpenBSD-Commit-ID: af9ec838b9bc643786310b5caefc4ca4754e68c6
3312
3313commit fe05a36dc0ea884c8c2395d53d804fe4f4202b26
3314Author: markus@openbsd.org <markus@openbsd.org>
3315Date: Tue Nov 12 19:31:18 2019 +0000
3316
3317 upstream: implement sshsk_ed25519_inner_sig(); ok djm
3318
3319 OpenBSD-Commit-ID: f422d0052c6d948fe0e4b04bc961f37fdffa0910
3320
3321commit e03a29e6554cd0c9cdbac0dae53dd79e6eb4ea47
3322Author: markus@openbsd.org <markus@openbsd.org>
3323Date: Tue Nov 12 19:30:50 2019 +0000
3324
3325 upstream: rename sshsk_ecdsa_sign() to sshsk_sign(); ok djm
3326
3327 OpenBSD-Commit-ID: 1524042e09d81e54c4470d7bfcc0194c5b46fe19
3328
3329commit bc7b5d6187de625c086b5f639b25bbad17bbabfc
3330Author: markus@openbsd.org <markus@openbsd.org>
3331Date: Tue Nov 12 19:30:21 2019 +0000
3332
3333 upstream: factor out sshsk_ecdsa_inner_sig(); ok djm@
3334
3335 OpenBSD-Commit-ID: 07e41997b542f670a15d7e2807143fe01efef584
3336
3337commit cef84a062db8cfeece26f067235dc440f6992c17
3338Author: markus@openbsd.org <markus@openbsd.org>
3339Date: Tue Nov 12 19:29:54 2019 +0000
3340
3341 upstream: factor out sshsk_ecdsa_assemble(); ok djm@
3342
3343 OpenBSD-Commit-ID: 2313761a3a84ccfe032874d638d3c363e0f14026
3344
3345commit 7c096c456f33f3d2682736d4735cc10e790276e9
3346Author: markus@openbsd.org <markus@openbsd.org>
3347Date: Tue Nov 12 19:29:24 2019 +0000
3348
3349 upstream: implement ssh-ed25519-sk verification; ok djm@
3350
3351 OpenBSD-Commit-ID: 37906d93948a1e3d237c20e713d6ca8fbf7d13f6
3352
3353commit ba5fb02bed1e556d0ce7b1740ae8a5f87b737491
3354Author: Damien Miller <djm@mindrot.org>
3355Date: Wed Nov 13 08:48:30 2019 +1100
3356
3357 ignore ssh-sk-helper
3358
3359commit 78c96498947f711141f493a40d202c482cc59438
3360Author: deraadt@openbsd.org <deraadt@openbsd.org>
3361Date: Mon Nov 11 19:53:37 2019 +0000
3362
3363 upstream: skip demanding -fstack-protector-all on hppa. we never
3364
3365 wrote a stack protector for reverse-stack architectures, and i don't think
3366 anyone else did either. a warning per compiled file is just annoying.
3367
3368 OpenBSD-Commit-ID: 14806a59353152f843eb349e618abbf6f4dd3ada
3369
3370commit aa1c9e37789f999979fe59df74ce5c8424861ac8
3371Author: djm@openbsd.org <djm@openbsd.org>
3372Date: Fri Nov 8 03:54:02 2019 +0000
3373
3374 upstream: duplicate 'x' character in getopt(3) optstring
3375
3376 OpenBSD-Commit-ID: 64c81caa0cb5798de3621eca16b7dd22e5d0d8a7
3377
3378commit aa4c640dc362816d63584a16e786d5e314e24390
3379Author: naddy@openbsd.org <naddy@openbsd.org>
3380Date: Thu Nov 7 08:38:38 2019 +0000
3381
3382 upstream: Fill in missing man page bits for U2F security key support:
3383
3384 Mention the new key types, the ~/.ssh/id_ecdsa_sk file, ssh's
3385 SecurityKeyProvider keyword, the SSH_SK_PROVIDER environment variable,
3386 and ssh-keygen's new -w and -x options.
3387
3388 Copy the ssh-sk-helper man page from ssh-pkcs11-helper with minimal
3389 substitutions.
3390
3391 ok djm@
3392
3393 OpenBSD-Commit-ID: ef2e8f83d0c0ce11ad9b8c28945747e5ca337ac4
3394
3395commit b236b27d6dada7f0542214003632b4e9b7aa1380
3396Author: Darren Tucker <dtucker@dtucker.net>
3397Date: Sun Nov 3 00:10:43 2019 +1100
3398
3399 Put sftp-realpath in libssh.a
3400
3401 and remove it from the specific binary targets.
3402
3403commit 382c18c20cdcec45b5d21ff25b4a5e0df91a68c4
3404Author: Darren Tucker <dtucker@dtucker.net>
3405Date: Sun Nov 3 00:09:21 2019 +1100
3406
3407 statfs might be defined in sys/mount.h.
3408
3409 eg on old NetBSDs.
3410
3411commit 03ffc0951c305c8e3b5fdc260d65312a57f8f7ea
3412Author: Darren Tucker <dtucker@dtucker.net>
3413Date: Sat Nov 2 23:25:01 2019 +1100
3414
3415 Put stdint.h inside ifdef HAVE_STDINT_H.
3416
3417commit 19cb64c4b42d4312ce12091fd9436dbd6898998c
3418Author: Darren Tucker <dtucker@dtucker.net>
3419Date: Sat Nov 2 22:45:44 2019 +1100
3420
3421 Rebuild .depend.
3422
3423commit 3611bfe89b92ada5914526d8ff0919aeb967cfa7
3424Author: Darren Tucker <dtucker@dtucker.net>
3425Date: Sat Nov 2 22:42:05 2019 +1100
3426
3427 Define __BSD_VISIBLE in fnmatch.h.
3428
3429 .. since we use symbols defined only when it is when using the compat
3430 fnmatch.
3431
3432commit f5cc5816aaddb8eca3cba193f53e99d6a0b37d05
3433Author: Darren Tucker <dtucker@dtucker.net>
3434Date: Sat Nov 2 16:39:38 2019 +1100
3435
3436 Only enable U2F if OpenSSL supports ECC.
3437
3438 This requires moving the U2F bits to below the OpenSSL parts so we have
3439 the required information. ok djm@
3440
3441commit ad38406fc95fa223b0ef2edf8ff50508f8ab1cb6
3442Author: naddy@openbsd.org <naddy@openbsd.org>
3443Date: Fri Nov 1 12:10:43 2019 +0000
3444
3445 upstream: fix miscellaneous text problems; ok djm@
3446
3447 OpenBSD-Commit-ID: 0cbf411a14d8fa0b269b69cbb1b4fc0ca699fe9f
3448
3449commit 9cac151c2dc76b8e5b727b2fa216f572e372170f
3450Author: Darren Tucker <dtucker@dtucker.net>
3451Date: Fri Nov 1 18:26:07 2019 +1100
3452
3453 Add flags needed to build and work on Ultrix.
3454
3455commit 0e3c5bc50907d2058407641b5a3581b7eda91b7e
3456Author: Darren Tucker <dtucker@dtucker.net>
3457Date: Fri Nov 1 18:24:29 2019 +1100
3458
3459 Hook up fnmatch for platforms that don't have it.
3460
3461commit b56dbfd9d967e5b6ce7be9f81f206112e19e1030
3462Author: Darren Tucker <dtucker@dtucker.net>
3463Date: Fri Nov 1 18:17:42 2019 +1100
3464
3465 Add missing bracket in realpath macro.
3466
3467commit 59ccb56f15e5e530e7c1b5a0b361749d8c6217d5
3468Author: Darren Tucker <dtucker@dtucker.net>
3469Date: Fri Nov 1 17:32:47 2019 +1100
3470
3471 Import fnmatch.c from OpenBSD.
3472
3473commit 79d46de9fbea0f3c0e8ae7cf84effaba089071b0
3474Author: Darren Tucker <dtucker@dtucker.net>
3475Date: Fri Nov 1 15:22:32 2019 +1100
3476
3477 Use sftp_realpath if no native realpath.
3478
3479commit bb4f003ed8c5f61ec74a66bcedc8ab19bf5b35c4
3480Author: Darren Tucker <dtucker@dtucker.net>
3481Date: Fri Nov 1 15:06:16 2019 +1100
3482
3483 Configure flags for haiku from haikuports.
3484
3485 Should build with the default flags with ./configure
3486
3487commit 4332b4fe49360679647a8705bc08f4e81323f6b4
3488Author: djm@openbsd.org <djm@openbsd.org>
3489Date: Fri Nov 1 03:54:33 2019 +0000
3490
3491 upstream: fix a race condition in the SIGCHILD handler that could turn
3492
3493 in to a kill(-1); bz3084, reported by Gao Rui, ok dtucker@
3494
3495 OpenBSD-Commit-ID: ac2742e04a69d4c34223505b6a32f6d686e18896
3496
3497commit 03f9205f0fb49ea2507eacc143737a8511ae5a4e
3498Author: Damien Miller <djm@mindrot.org>
3499Date: Fri Nov 1 14:49:25 2019 +1100
3500
3501 conditionalise SK sign/verify on ENABLE_SK
3502
3503 Spotted by Darren and his faux-Vax
3504
3505commit 5eb7b9563ff818e17de24231bf2d347d9db302c5
3506Author: Darren Tucker <dtucker@dtucker.net>
3507Date: Fri Nov 1 14:41:07 2019 +1100
3508
3509 Add prototype for localtime_r if needed.
3510
3511commit d500b59a825f6a58f2abf7b04eb1992d81e45d58
3512Author: Darren Tucker <dtucker@dtucker.net>
3513Date: Fri Nov 1 13:42:12 2019 +1100
3514
3515 Check if IP_TOS is defined before using.
3516
3517commit 764d51e04460ec0da12e05e4777bc90c116accb9
3518Author: Damien Miller <djm@mindrot.org>
3519Date: Fri Nov 1 13:34:49 2019 +1100
3520
3521 autoconf pieces for U2F support
3522
3523 Mostly following existing logic for PKCS#11 - turning off support
3524 when either libcrypto or dlopen(3) are unavailable.
3525
3526commit 45f17a159acfc5a8e450bfbcc2cffe72950ed7a3
3527Author: djm@openbsd.org <djm@openbsd.org>
3528Date: Fri Nov 1 02:32:05 2019 +0000
3529
3530 upstream: remove duplicate PUBKEY_DEFAULT_PK_ALG on !WITH_OPENSSL path
3531
3532 OpenBSD-Commit-ID: 95a7cafad2a4665d57cabacc28031fabc0bea9fc
3533
3534commit db8d13f7925da7337df87248995c533e111637ec
3535Author: djm@openbsd.org <djm@openbsd.org>
3536Date: Fri Nov 1 02:06:52 2019 +0000
3537
3538 upstream: more additional source files
3539
3540 OpenBSD-Regress-ID: 8eaa25fb901594aee23b76eda99dca5b8db94c6f
3541
3542commit f89c5df65dd307739ff22319c2cf847d3b0c5ab4
3543Author: djm@openbsd.org <djm@openbsd.org>
3544Date: Fri Nov 1 02:04:25 2019 +0000
3545
3546 upstream: additional source files here too
3547
3548 OpenBSD-Regress-ID: 8809f8e1c8f7459e7096ab6b58d8e56cb2f483fd
3549
3550commit 02275afa1ecbfbd39f27d34c97090e76bec232ec
3551Author: djm@openbsd.org <djm@openbsd.org>
3552Date: Fri Nov 1 02:03:27 2019 +0000
3553
3554 upstream: additional source files here too
3555
3556 OpenBSD-Regress-ID: 09297e484327f911fd353489518cceaa0c1b95ce
3557
3558commit dfc8f01b9886c7999e6e20acf3f7492cb8c80796
3559Author: djm@openbsd.org <djm@openbsd.org>
3560Date: Fri Nov 1 01:57:59 2019 +0000
3561
3562 upstream: adapt to extra sshkey_sign() argument and additional
3563
3564 dependencies
3565
3566 OpenBSD-Regress-ID: 7a25604968486c4d6f81d06e8fbc7d17519de50e
3567
3568commit afa59e26eeb44a93f36f043f60b936eaddae77c4
3569Author: djm@openbsd.org <djm@openbsd.org>
3570Date: Fri Nov 1 01:55:41 2019 +0000
3571
3572 upstream: skip security-key key types for tests until we have a
3573
3574 dummy U2F middleware to use.
3575
3576 OpenBSD-Regress-ID: 37200462b44334a4ad45e6a1f7ad1bd717521a95
3577
3578commit de871e4daf346a712c78fa4ab8f18b231a47cb85
3579Author: jmc@openbsd.org <jmc@openbsd.org>
3580Date: Fri Nov 1 00:52:35 2019 +0000
3581
3582 upstream: sort;
3583
3584 OpenBSD-Commit-ID: 8264b0be01ec5a60602bd50fd49cc3c81162ea16
3585
3586commit 2aae149a34b1b5dfbef423d3b7999a96818969bb
3587Author: djm@openbsd.org <djm@openbsd.org>
3588Date: Thu Oct 31 21:37:33 2019 +0000
3589
3590 upstream: undo debugging bits that shouldn't have been committed
3591
3592 OpenBSD-Commit-ID: 4bd5551b306df55379afe17d841207990eb773bf
3593
3594commit 3420e0464bd0e8fedcfa5fd20ad37bdc740ad5b4
3595Author: Damien Miller <djm@mindrot.org>
3596Date: Fri Nov 1 09:24:58 2019 +1100
3597
3598 depend
3599
3600commit b923a90abc7bccb11a513dc8b5c0f13a0ea9682c
3601Author: djm@openbsd.org <djm@openbsd.org>
3602Date: Thu Oct 31 21:28:27 2019 +0000
3603
3604 upstream: fix -Wshadow warning
3605
3606 OpenBSD-Commit-ID: 3441eb04f872a00c2483c11a5f1570dfe775103c
3607
3608commit 9a14c64c38fc14d0029f1c7bc70cf62cc7f0fdf9
3609Author: djm@openbsd.org <djm@openbsd.org>
3610Date: Thu Oct 31 21:23:19 2019 +0000
3611
3612 upstream: Refactor signing - use sshkey_sign for everything,
3613
3614 including the new U2F signatures.
3615
3616 Don't use sshsk_ecdsa_sign() directly, instead make it reachable via
3617 sshkey_sign() like all other signature operations. This means that
3618 we need to add a provider argument to sshkey_sign(), so most of this
3619 change is mechanically adding that.
3620
3621 Suggested by / ok markus@
3622
3623 OpenBSD-Commit-ID: d5193a03fcfa895085d91b2b83d984a9fde76c8c
3624
3625commit 07da39f71d36fb547749a5b16aa8892e621a7e4a
3626Author: djm@openbsd.org <djm@openbsd.org>
3627Date: Thu Oct 31 21:22:01 2019 +0000
3628
3629 upstream: ssh-agent support for U2F/FIDO keys
3630
3631 feedback & ok markus@
3632
3633 OpenBSD-Commit-ID: bb544a44bc32e45d2ec8bf652db2046f38360acb
3634
3635commit eebec620c9519c4839d781c4d5b6082152998f82
3636Author: djm@openbsd.org <djm@openbsd.org>
3637Date: Thu Oct 31 21:20:38 2019 +0000
3638
3639 upstream: ssh AddKeysToAgent support for U2F/FIDO keys
3640
3641 feedback & ok markus@
3642
3643 OpenBSD-Commit-ID: ac08e45c7f995fa71f8d661b3f582e38cc0a2f91
3644
3645commit 486164d060314a7f8bca2a00f53be9e900c5e74d
3646Author: djm@openbsd.org <djm@openbsd.org>
3647Date: Thu Oct 31 21:19:56 2019 +0000
3648
3649 upstream: ssh-add support for U2F/FIDO keys
3650
3651 OpenBSD-Commit-ID: 7f88a5181c982687afedf3130c6ab2bba60f7644
3652
3653commit b9dd14d3091e31fb836f69873d3aa622eb7b4a1c
3654Author: djm@openbsd.org <djm@openbsd.org>
3655Date: Thu Oct 31 21:19:14 2019 +0000
3656
3657 upstream: add new agent key constraint for U2F/FIDO provider
3658
3659 feedback & ok markus@
3660
3661 OpenBSD-Commit-ID: d880c380170704280b4003860a1744d286c7a172
3662
3663commit 884416bdb10468f1252e4d7c13d51b43dccba7f6
3664Author: djm@openbsd.org <djm@openbsd.org>
3665Date: Thu Oct 31 21:18:28 2019 +0000
3666
3667 upstream: ssh client support for U2F/FIDO keys
3668
3669 OpenBSD-Commit-ID: eb2cfa6cf7419a1895e06e398ea6d41516c5b0bc
3670
3671commit 01a0670f69c5b86e471e033b92145d6c7cc77c58
3672Author: djm@openbsd.org <djm@openbsd.org>
3673Date: Thu Oct 31 21:17:49 2019 +0000
3674
3675 upstream: Separate myproposal.h userauth pubkey types
3676
3677 U2F/FIDO keys are not supported for host authentication, so we need
3678 a separate list for user keys.
3679
3680 feedback & ok markus@
3681
3682 OpenBSD-Commit-ID: 7fe2e6ab85f9f2338866e5af8ca2d312abbf0429
3683
3684commit 23f38c2d8cda3fad24e214e1f0133c42435b54ee
3685Author: djm@openbsd.org <djm@openbsd.org>
3686Date: Thu Oct 31 21:17:09 2019 +0000
3687
3688 upstream: ssh-keygen support for generating U2F/FIDO keys
3689
3690 OpenBSD-Commit-ID: 6ce04f2b497ac9dd8c327f76f1e6c724fb1d1b37
3691
3692commit ed3467c1e16b7396ff7fcf12d2769261512935ec
3693Author: djm@openbsd.org <djm@openbsd.org>
3694Date: Thu Oct 31 21:16:20 2019 +0000
3695
3696 upstream: U2F/FIDO middleware interface
3697
3698 Supports enrolling (generating) keys and signatures.
3699
3700 feedback & ok markus@
3701
3702 OpenBSD-Commit-ID: 73d1dd5939454f9c7bd840f48236cba41e8ad592
3703
3704commit 02bb0768a937e50bbb236efc2bbdddb1991b1c85
3705Author: djm@openbsd.org <djm@openbsd.org>
3706Date: Thu Oct 31 21:15:14 2019 +0000
3707
3708 upstream: Initial infrastructure for U2F/FIDO support
3709
3710 Key library support: including allocation, marshalling public/private
3711 keys and certificates, signature validation.
3712
3713 feedback & ok markus@
3714
3715 OpenBSD-Commit-ID: a17615ba15e0f7932ac4360cb18fc9a9544e68c7
3716
3717commit 57ecc10628b04c384cbba2fbc87d38b74cd1199d
3718Author: djm@openbsd.org <djm@openbsd.org>
3719Date: Thu Oct 31 21:14:17 2019 +0000
3720
3721 upstream: Protocol documentation for U2F/FIDO keys in OpenSSH
3722
3723 OpenBSD-Commit-ID: 8f3247317c2909870593aeb306dff848bc427915
3724
3725commit f4fdcd2b7a2bbf5d8770d44565173ca5158d4dcb
3726Author: Damien Miller <djm@mindrot.org>
3727Date: Fri Nov 1 08:36:16 2019 +1100
3728
3729 Missing unit test files
3730
3731commit 1bcd1169c5221688418fa38606e9c69055b72451
3732Author: Darren Tucker <dtucker@dtucker.net>
3733Date: Tue Oct 29 19:45:03 2019 +1100
3734
3735 Add implementation of localtime_r.
3736
3737commit 2046ed16c1202431b0307674c33a123a113e8297
3738Author: dtucker@openbsd.org <dtucker@openbsd.org>
3739Date: Tue Oct 29 07:47:27 2019 +0000
3740
3741 upstream: Signal handler cleanup: remove leftover support for
3742
3743 unreliable signals and now-unneeded save and restore of errno. ok deraadt@
3744 markus@
3745
3746 OpenBSD-Commit-ID: 01dd8a1ebdd991c8629ba1f5237283341a93cd88
3747
3748commit 70fc9a6ca4dd33cb2dd400a4dad5db9683a3d284
3749Author: jmc@openbsd.org <jmc@openbsd.org>
3750Date: Tue Oct 22 08:50:35 2019 +0000
3751
3752 upstream: fixes from lucas;
3753
3754 OpenBSD-Commit-ID: 4c4bfd2806c5bbc753788ffe19c5ee13aaf418b2
3755
3756commit 702368aa4381c3b482368257ac574a87b5a80938
3757Author: dtucker@openbsd.org <dtucker@openbsd.org>
3758Date: Tue Oct 22 07:06:35 2019 +0000
3759
3760 upstream: Import regenerated moduli file.
3761
3762 OpenBSD-Commit-ID: 58ec755be4e51978ecfee73539090eb68652a987
3763
3764commit 5fe81da22652f8caa63e9e3a1af519a85d36337e
3765Author: Darren Tucker <dtucker@dtucker.net>
3766Date: Mon Oct 28 21:19:47 2019 +1100
3767
3768 Fix ifdefs to not mask needed bits.
3769
3770commit 7694e9d2fb5785bbdd0920dce7a160bd79feaf00
3771Author: Darren Tucker <dtucker@dtucker.net>
3772Date: Mon Oct 28 17:05:36 2019 +1100
3773
3774 Only use RLIMIT_NOFILE if it's defined.
3775
3776commit d561b0b2fa2531b4cc3bc70a7d657c6485c9fd0b
3777Author: Darren Tucker <dtucker@dtucker.net>
3778Date: Mon Oct 28 16:09:04 2019 +1100
3779
3780 Make sure we have struct statfs before using.
3781
3782commit 2912596aecfcf48e5115c7a906d1e664f7717a4b
3783Author: Darren Tucker <dtucker@dtucker.net>
3784Date: Mon Oct 28 16:06:59 2019 +1100
3785
3786 Define UINT32_MAX if needed.
3787
3788commit 7169e31121e8c8cc729b55154deb722ae495b316
3789Author: Darren Tucker <dtucker@dtucker.net>
3790Date: Mon Oct 28 16:00:45 2019 +1100
3791
3792 Move utimensat definition into timespec section.
3793
3794 Since utimensat uses struct timespec, move it to the section where we
3795 define struct timespec when needed.
3796
3797commit 850ec1773d656cbff44d78a79e369dc262ce5853
3798Author: Darren Tucker <dtucker@dtucker.net>
3799Date: Mon Oct 28 15:57:22 2019 +1100
3800
3801 Wrap OpenSSL bits in WITH_OPENSSL.
3802
3803commit 6fc7e1c6fec3ba589869ae98e968c0e5e2e4695b
3804Author: Darren Tucker <dtucker@dtucker.net>
3805Date: Mon Oct 28 15:53:25 2019 +1100
3806
3807 Wrap poll.h includes in HAVE_POLL_H.
3808
3809commit 9239a18f96905cc1a353e861e33af093652f24e7
3810Author: Darren Tucker <dtucker@dtucker.net>
3811Date: Thu Oct 24 14:39:49 2019 +1100
3812
3813 Add a function call stackprotector tests.
3814
3815 Including a function call in the test programs for the gcc stack
3816 protector flag tests exercises more of the compiler and makes it more
3817 likely it'll detect problems.
3818
3819commit b9705393be4612fd5e29d0cd8e7cf2b66ed19eb7
3820Author: Darren Tucker <dtucker@dtucker.net>
3821Date: Tue Oct 22 18:09:22 2019 +1100
3822
3823 Import regenerated moduli file.
3824
3825commit 76ed2199491397e0f9902ade80d5271e4a9b2630
3826Author: djm@openbsd.org <djm@openbsd.org>
3827Date: Wed Oct 16 06:05:39 2019 +0000
3828
3829 upstream: potential NULL dereference for revoked hostkeys; reported
3830
3831 by krishnaiah bommu
3832
3833 OpenBSD-Commit-ID: 35ff685e7cc9dd2e3fe2e3dfcdcb9bc5c79f6506
3834
3835commit 6500c3bc71bf4fe14972c1177e6b93f1164d07a4
3836Author: djm@openbsd.org <djm@openbsd.org>
3837Date: Wed Oct 16 06:03:30 2019 +0000
3838
3839 upstream: free buf before return; reported by krishnaiah bommu
3840
3841 OpenBSD-Commit-ID: 091bb23a6e913af5d4f72c50030b53ce1cef4de1
3842
3843commit d7d116b6d9e6cb79cc235e9801caa683d3db3181
3844Author: djm@openbsd.org <djm@openbsd.org>
3845Date: Mon Oct 14 06:00:02 2019 +0000
3846
3847 upstream: memleak in error path; spotted by oss-fuzz, ok markus@
3848
3849 OpenBSD-Commit-ID: d6ed260cbbc297ab157ad63931802fb1ef7a4266
3850
3851commit 9b9e3ca6945351eefb821ff783a4a8e6d9b98b9a
3852Author: Darren Tucker <dtucker@dtucker.net>
3853Date: Fri Oct 11 14:12:16 2019 +1100
3854
3855 Re-add SA_RESTART to mysignal.
3856
3857 This makes mysignal implement reliable BSD semantics according to
3858 Stevens' APUE. This was first attempted in 2001 but was reverted
3859 due to problems with HP-UX 10.20 and select() and possibly grantpt().
3860 Modern systems should be fine with it, but if any current platforms have
3861 a problem with it now we can disable it just for those. ok djm@
3862
3863commit 0bd312a362168c1eae3cd6b3889395a78e6fd0f8
3864Author: Darren Tucker <dtucker@dtucker.net>
3865Date: Thu Oct 10 09:42:03 2019 +1100
3866
3867 Fix ifdef typo for declaration of memmem.
3868
3869 Fixes build on IRIX. bz#3081.
3870
3871commit 01ce1cd402d5eecde2bba35b67e08f5b266b37fd
3872Author: Abhishek Arya <inferno@chromium.org>
3873Date: Tue Oct 8 20:19:18 2019 -0700
3874
3875 Update README.md
3876
3877commit 1ba130ac8fb2884307f658126f04578f8aef409e
3878Author: Damien Miller <djm@mindrot.org>
3879Date: Wed Oct 9 13:49:35 2019 +1100
3880
3881 add a fuzzer for private key parsing
3882
3883commit cdf1d0a9f5d18535e0a18ff34860e81a6d83aa5c
3884Author: Damien Miller <djm@mindrot.org>
3885Date: Wed Oct 9 11:31:03 2019 +1100
3886
3887 prepare for 8.1 release
3888
3889commit 3b4e56d740b74324e2d7542957cad5a11518f455
3890Author: djm@openbsd.org <djm@openbsd.org>
3891Date: Wed Oct 9 00:04:57 2019 +0000
3892
3893 upstream: openssh-8.1
3894
3895 OpenBSD-Commit-ID: 3356bb34e2aa287f0e6d6773c9ae659dc680147d
3896
3897commit 29e0ecd9b4eb3b9f305e2240351f0c59cad9ef81
3898Author: djm@openbsd.org <djm@openbsd.org>
3899Date: Wed Oct 9 00:04:42 2019 +0000
3900
3901 upstream: fix an unreachable integer overflow similar to the XMSS
3902
3903 case, and some other NULL dereferences found by fuzzing.
3904
3905 fix with and ok markus@
3906
3907 OpenBSD-Commit-ID: 0f81adbb95ef887ce586953e1cb225fa45c7a47b
3908
3909commit a546b17bbaeb12beac4c9aeed56f74a42b18a93a
3910Author: djm@openbsd.org <djm@openbsd.org>
3911Date: Wed Oct 9 00:02:57 2019 +0000
3912
3913 upstream: fix integer overflow in XMSS private key parsing.
3914
3915 Reported by Adam Zabrocki via SecuriTeam's SSH program.
3916
3917 Note that this code is experimental and not compiled by default.
3918
3919 ok markus@
3920
3921 OpenBSD-Commit-ID: cd0361896d15e8a1bac495ac583ff065ffca2be1
3922
3923commit c2cc25480ba36ab48c1a577bebb12493865aad87
3924Author: dtucker@openbsd.org <dtucker@openbsd.org>
3925Date: Tue Oct 8 22:40:39 2019 +0000
3926
3927 upstream: Correct type for end-of-list sentinel; fixes initializer
3928
3929 warnings on some platforms. ok deraadt.
3930
3931 OpenBSD-Commit-ID: a990dbc2dac25bdfa07e79321349c73fd991efa2
3932
3933commit e827aedf8818e75c0016b47ed8fc231427457c43
3934Author: djm@openbsd.org <djm@openbsd.org>
3935Date: Mon Oct 7 23:10:38 2019 +0000
3936
3937 upstream: reversed test yielded incorrect debug message
3938
3939 OpenBSD-Commit-ID: 78bb512d04cfc238adb2c5b7504ac93eecf523b3
3940
3941commit 8ca491d29fbe26e5909ce22b344c0a848dc28d55
3942Author: Damien Miller <djm@mindrot.org>
3943Date: Tue Oct 8 17:05:57 2019 +1100
3944
3945 depend
3946
3947commit 86a0323374cbd404629e75bb320b3fa1c16aaa6b
3948Author: Darren Tucker <dtucker@dtucker.net>
3949Date: Wed Oct 9 09:36:06 2019 +1100
3950
3951 Make MAKE_CLONE no-op macro more correct.
3952
3953 Similar to the previous change to DEF_WEAK, some compilers don't like
3954 the empty statement, so convert into a no-op function prototype.
3955
3956commit cfc1897a2002ec6c4dc879b24e8b3153c87ea2cf
3957Author: Damien Miller <djm@mindrot.org>
3958Date: Wed Oct 9 09:06:35 2019 +1100
3959
3960 wrap stdint.h include in HAVE_STDINT_H
3961
3962 make the indenting a little more consistent too..
3963
3964 Fixes Solaris 2.6; reported by Tom G. Christensen
3965
3966commit 13b3369830a43b89a503915216a23816d1b25744
3967Author: Damien Miller <djm@mindrot.org>
3968Date: Tue Oct 8 15:32:02 2019 +1100
3969
3970 avoid "return (value)" in void-declared function
3971
3972 spotted by Tim Rice; ok dtucker
3973
3974commit 0c7f8d2326d812b371f7afd63aff846973ec80a4
3975Author: Darren Tucker <dtucker@dtucker.net>
3976Date: Tue Oct 8 14:44:50 2019 +1100
3977
3978 Make DEF_WEAK more likely to be correct.
3979
3980 Completely nop-ing out DEF_WEAK leaves an empty statemment which some
3981 compilers don't like. Replace with a no-op function template. ok djm@
3982
3983commit b1e79ea8fae9c252399677a28707661d85c7d00c
3984Author: dtucker@openbsd.org <dtucker@openbsd.org>
3985Date: Sun Oct 6 11:49:50 2019 +0000
3986
3987 upstream: Instead of running sed over the whole log to remove CRs,
3988
3989 remove them only where it's needed (and confuses test(1) on at least OS X in
3990 portable).
3991
3992 OpenBSD-Regress-ID: a6ab9b4bd1d33770feaf01b2dfb96f9e4189d2d0
3993
3994commit 8dc7d6b75a7f746fdd056acd41dffc0a13557a4c
3995Author: Eduardo Barretto <ebarretto@linux.vnet.ibm.com>
3996Date: Tue May 9 13:33:30 2017 -0300
3997
3998 Enable specific ioctl call for EP11 crypto card (s390)
3999
4000 The EP11 crypto card needs to make an ioctl call, which receives an
4001 specific argument. This crypto card is for s390 only.
4002
4003 Signed-off-by: Eduardo Barretto <ebarretto@linux.vnet.ibm.com>
4004
4005commit 07f2c7f34951c04d2cd796ac6c80e47c56c4969e
4006Author: djm@openbsd.org <djm@openbsd.org>
4007Date: Fri Oct 4 04:31:59 2019 +0000
4008
4009 upstream: fix memory leak in error path; bz#3074 patch from
4010
4011 krishnaiah.bommu@intel.com, ok dtucker
4012
4013 OpenBSD-Commit-ID: d031853f3ecf47b35a0669588f4d9d8e3b307b3c
4014
4015commit b7fbc75e119170f4d15c94a7fda4a1050e0871d6
4016Author: djm@openbsd.org <djm@openbsd.org>
4017Date: Fri Oct 4 04:13:39 2019 +0000
4018
4019 upstream: space
4020
4021 OpenBSD-Commit-ID: 350648bcf00a2454e7ef998b7d88e42552b348ac
4022
4023commit 643ab68c79ac1644f4a31e36928c2bfc8a51db3c
4024Author: djm@openbsd.org <djm@openbsd.org>
4025Date: Fri Oct 4 03:39:19 2019 +0000
4026
4027 upstream: more sshsig regress tests: check key revocation, the
4028
4029 check-novalidate signature test mode and signing keys in ssh-agent.
4030
4031 From Sebastian Kinne (slightly tweaked)
4032
4033 OpenBSD-Regress-ID: b39566f5cec70140674658cdcedf38752a52e2e2
4034
4035commit 714031a10bbe378a395a93cf1040f4ee1451f45f
4036Author: dtucker@openbsd.org <dtucker@openbsd.org>
4037Date: Fri Oct 4 03:26:58 2019 +0000
4038
4039 upstream: Check for gmtime failure in moduli generation. Based on
4040
4041 patch from krishnaiah.bommu@intel.com, ok djm@
4042
4043 OpenBSD-Commit-ID: 4c6a4cde0022188ac83737de08da0e875704eeaa
4044
4045commit 6918974405cc28ed977f802fd97a9c9a9b2e141b
4046Author: jmc@openbsd.org <jmc@openbsd.org>
4047Date: Thu Oct 3 17:07:50 2019 +0000
4048
4049 upstream: use a more common options order in SYNOPSIS and sync
4050
4051 usage(); while here, no need for Bk/Ek;
4052
4053 ok dtucker
4054
4055 OpenBSD-Commit-ID: 38715c3f10b166f599a2283eb7bc14860211bb90
4056
4057commit feff96b7d4c0b99307f0459cbff128aede4a8984
4058Author: djm@openbsd.org <djm@openbsd.org>
4059Date: Wed Oct 2 09:50:50 2019 +0000
4060
4061 upstream: thinko in previous; spotted by Mantas
4062
4063 =?UTF-8?q?=20Mikul=C4=97nas?=
4064 MIME-Version: 1.0
4065 Content-Type: text/plain; charset=UTF-8
4066 Content-Transfer-Encoding: 8bit
4067
4068 OpenBSD-Commit-ID: ffa3f5a45e09752fc47d9041e2203ee2ec15b24d
4069
4070commit b5a89eec410967d6b712665f8cf0cb632928d74b
4071Author: djm@openbsd.org <djm@openbsd.org>
4072Date: Wed Oct 2 08:07:13 2019 +0000
4073
4074 upstream: make signature format match PROTOCO
4075
4076 =?UTF-8?q?=20as=20a=20string,=20not=20raw=20bytes.=20Spotted=20by=20Manta?=
4077 =?UTF-8?q?s=20Mikul=C4=97nas?=
4078 MIME-Version: 1.0
4079 Content-Type: text/plain; charset=UTF-8
4080 Content-Transfer-Encoding: 8bit
4081
4082 OpenBSD-Commit-ID: 80fcc6d52893f80c6de2bedd65353cebfebcfa8f
4083
4084commit dc6f81ee94995deb11bbf7e19801022c5f6fd90a
4085Author: djm@openbsd.org <djm@openbsd.org>
4086Date: Wed Oct 2 08:05:50 2019 +0000
4087
4088 upstream: ban empty namespace strings for s
4089
4090 =?UTF-8?q?shsig;=20spotted=20by=20Mantas=20Mikul=C4=97nas?=
4091 MIME-Version: 1.0
4092 Content-Type: text/plain; charset=UTF-8
4093 Content-Transfer-Encoding: 8bit
4094
4095 OpenBSD-Commit-ID: 7c5bcf40bed8f4e826230176f4aa353c52aeb698
4096
4097commit fa5bd8107e0e2b3e1e184f55d0f9320c119f65f0
4098Author: Darren Tucker <dtucker@dtucker.net>
4099Date: Wed Oct 2 14:30:55 2019 +1000
4100
4101 Put ssherr.h back as it's actually needed.
4102
4103commit 3ef92a657444f172b61f92d5da66d94fa8265602
4104Author: Lonnie Abelbeck <lonnie@abelbeck.com>
4105Date: Tue Oct 1 09:05:09 2019 -0500
4106
4107 Deny (non-fatal) shmget/shmat/shmdt in preauth privsep child.
4108
4109 New wait_random_seeded() function on OpenSSL 1.1.1d uses shmget, shmat, and shmdt
4110 in the preauth codepath, deny (non-fatal) in seccomp_filter sandbox.
4111
4112commit edd1d3a6261aecbf9a55944fd7be1db83571b46e
4113Author: Damien Miller <djm@mindrot.org>
4114Date: Wed Oct 2 10:54:28 2019 +1000
4115
4116 remove duplicate #includes
4117
4118 Prompted by Jakub Jelen
4119
4120commit 13c508dfed9f25e6e54c984ad00a74ef08539e70
4121Author: Damien Miller <djm@mindrot.org>
4122Date: Wed Oct 2 10:51:15 2019 +1000
4123
4124 typo in comment
4125
4126commit d0c3ac427f6c52b872d6617421421dd791664445
4127Author: djm@openbsd.org <djm@openbsd.org>
4128Date: Wed Oct 2 00:42:30 2019 +0000
4129
4130 upstream: remove some duplicate #includes
4131
4132 OpenBSD-Commit-ID: ed6827ab921eff8027669848ef4f70dc1da4098c
4133
4134commit 084682786d9275552ee93857cb36e43c446ce92c
4135Author: djm@openbsd.org <djm@openbsd.org>
4136Date: Tue Oct 1 10:22:53 2019 +0000
4137
4138 upstream: revert unconditional forced login implemented in r1.41 of
4139
4140 ssh-pkcs11.c; r1.45 added a forced login as a fallback for cases where the
4141 token returns no objects and this is less disruptive for users of tokens
4142 directly in ssh (rather than via ssh-agent) and in ssh-keygen
4143
4144 bz3006, patch from Jakub Jelen; ok markus
4145
4146 OpenBSD-Commit-ID: 33d6df589b072094384631ff93b1030103b3d02e
4147
4148commit 6c91d42cce3f055917dc3fd2c305dfc5b3b584b3
4149Author: jmc@openbsd.org <jmc@openbsd.org>
4150Date: Sun Sep 29 16:31:57 2019 +0000
4151
4152 upstream: group and sort single letter options; ok deraadt
4153
4154 OpenBSD-Commit-ID: e1480e760a2b582f79696cdcff70098e23fc603f
4155
4156commit 3b44bf39ff4d7ef5d50861e2e9dda62d2926d2fe
4157Author: jmc@openbsd.org <jmc@openbsd.org>
4158Date: Fri Sep 27 20:03:24 2019 +0000
4159
4160 upstream: fix the DH-GEX text in -a; because this required a comma,
4161
4162 i added a comma to the first part, for balance...
4163
4164 OpenBSD-Commit-ID: 2c3464e9e82a41e8cdfe8f0a16d94266e43dbb58
4165
4166commit 3e53ef28fab53094e3b19622ba0e9c3d5fe71273
4167Author: deraadt@openbsd.org <deraadt@openbsd.org>
4168Date: Tue Sep 24 12:50:46 2019 +0000
4169
4170 upstream: identity_file[] should be PATH_MAX, not the arbitrary
4171
4172 number 1024
4173
4174 OpenBSD-Commit-ID: e775f94ad47ce9ab37bd1410d7cf3b7ea98b11b7
4175
4176commit 90d4b2541e8c907793233d9cbd4963f7624f4174
4177Author: jmc@openbsd.org <jmc@openbsd.org>
4178Date: Fri Sep 20 18:50:58 2019 +0000
4179
4180 upstream: new sentence, new line;
4181
4182 OpenBSD-Commit-ID: c35ca5ec07be460e95e7406af12eee04a77b6698
4183
4184commit fbec7dba01b70b49ac47f56031310865dff86200
4185Author: Darren Tucker <dtucker@dtucker.net>
4186Date: Mon Sep 30 18:01:12 2019 +1000
4187
4188 Include stdio.h for snprintf.
4189
4190 Patch from vapier@gentoo.org.
4191
4192commit 0a403bfde71c4b82147473298d3a60b4171468bd
4193Author: Darren Tucker <dtucker@dtucker.net>
4194Date: Mon Sep 30 14:11:42 2019 +1000
4195
4196 Add SKIP_LTESTS for skipping specific tests.
4197
4198commit 4d59f7a5169c451ebf559aedec031ac9da2bf80c
4199Author: dtucker@openbsd.org <dtucker@openbsd.org>
4200Date: Fri Sep 27 05:25:12 2019 +0000
4201
4202 upstream: Test for empty result in expected bits. Remove CRs from log
4203
4204 as they confuse tools on some platforms. Re-enable the 3des-cbc test.
4205
4206 OpenBSD-Regress-ID: edf536d4f29fc1ba412889b37247a47f1b49d250
4207
4208commit 7c817d129e2d48fc8a6f7965339313023ec45765
4209Author: Darren Tucker <dtucker@dtucker.net>
4210Date: Fri Sep 27 15:26:22 2019 +1000
4211
4212 Re-enable dhgex test.
4213
4214 Since we've added larger fallback groups to dh.c this test will pass
4215 even if there is no moduli file installed on the system.
4216
4217commit c1e0a32fa852de6d1c82ece4f76add0ab0ca0eae
4218Author: Darren Tucker <dtucker@dtucker.net>
4219Date: Tue Sep 24 21:17:20 2019 +1000
4220
4221 Add more ToS bits, currently only used by netcat.
4222
4223commit 5a273a33ca1410351cb484af7db7c13e8b4e8e4e
4224Author: Darren Tucker <dtucker@dtucker.net>
4225Date: Thu Sep 19 15:41:23 2019 +1000
4226
4227 Privsep is now required.
4228
4229commit 8aa2aa3cd4d27d14e74b247c773696349472ef20
4230Author: djm@openbsd.org <djm@openbsd.org>
4231Date: Mon Sep 16 03:23:02 2019 +0000
4232
4233 upstream: Allow testing signature syntax and validity without verifying
4234
4235 that a signature came from a trusted signer. To discourage accidental or
4236 unintentional use, this is invoked by the deliberately ugly option name
4237 "check-novalidate"
4238
4239 from Sebastian Kinne
4240
4241 OpenBSD-Commit-ID: cea42c36ab7d6b70890e2d8635c1b5b943adcc0b
4242
4243commit 7047d5afe3103f0f07966c05b810682d92add359
4244Author: djm@openbsd.org <djm@openbsd.org>
4245Date: Fri Sep 13 04:52:34 2019 +0000
4246
4247 upstream: clarify that IdentitiesOnly also applies to the default
4248
4249 ~/.ssh/id_* keys; bz#3062
4250
4251 OpenBSD-Commit-ID: 604be570e04646f0f4a17026f8b2aada6a585dfa
4252
4253commit b36ee3fcb2f1601693b1b7fd60dd6bd96006ea75
4254Author: dtucker@openbsd.org <dtucker@openbsd.org>
4255Date: Fri Sep 13 04:36:43 2019 +0000
4256
4257 upstream: Plug mem leaks on error paths, based in part on github
4258
4259 pr#120 from David Carlier. ok djm@.
4260
4261 OpenBSD-Commit-ID: c57adeb1022a8148fc86e5a88837b3b156dbdb7e
4262
4263commit 2aefdf1aef906cf7548a2e5927d35aacb55948d4
4264Author: djm@openbsd.org <djm@openbsd.org>
4265Date: Fri Sep 13 04:31:19 2019 +0000
4266
4267 upstream: whitespace
4268
4269 OpenBSD-Commit-ID: 57a71dd5f4cae8d61e0ac631a862589fb2bfd700
4270
4271commit fbe24b142915331ceb2a3a76be3dc5b6d204fddf
4272Author: djm@openbsd.org <djm@openbsd.org>
4273Date: Fri Sep 13 04:27:35 2019 +0000
4274
4275 upstream: allow %n to be expanded in ProxyCommand strings
4276
4277 From Zachary Harmany via github.com/openssh/openssh-portable/pull/118
4278 ok dtucker@
4279
4280 OpenBSD-Commit-ID: 7eebf1b7695f50c66d42053d352a4db9e8fb84b6
4281
4282commit 2ce1d11600e13bee0667d6b717ffcc18a057b821
4283Author: djm@openbsd.org <djm@openbsd.org>
4284Date: Fri Sep 13 04:07:42 2019 +0000
4285
4286 upstream: clarify that ConnectTimeout applies both to the TCP
4287
4288 connection and to the protocol handshake/KEX. From Jean-Charles Longuet via
4289 Github PR140
4290
4291 OpenBSD-Commit-ID: ce1766abc6da080f0d88c09c2c5585a32b2256bf
4292
4293commit df780114278f406ef7cb2278802a2660092fff09
4294Author: dtucker@openbsd.org <dtucker@openbsd.org>
4295Date: Mon Sep 9 02:31:19 2019 +0000
4296
4297 upstream: Fix potential truncation warning. ok deraadt.
4298
4299 OpenBSD-Commit-ID: d87b7e3a94ec935e8194e7fce41815e22804c3ff
4300
4301commit ec0e6243660bf2df30c620a6a0d83eded376c9c6
4302Author: Damien Miller <djm@mindrot.org>
4303Date: Fri Sep 13 13:14:39 2019 +1000
4304
4305 memleak of buffer in sshpam_query
4306
4307 coverity report via Ed Maste; ok dtucker@
4308
4309commit c17e4638e5592688264fc0349f61bfc7b4425aa5
4310Author: Damien Miller <djm@mindrot.org>
4311Date: Fri Sep 13 13:12:42 2019 +1000
4312
4313 explicitly test set[ug]id() return values
4314
4315 Legacy !_POSIX_SAVED_IDS path only; coverity report via Ed Maste
4316 ok dtucker@
4317
4318commit 91a2135f32acdd6378476c5bae475a6e7811a6a2
4319Author: naddy@openbsd.org <naddy@openbsd.org>
4320Date: Fri Sep 6 14:45:34 2019 +0000
4321
4322 upstream: Allow prepending a list of algorithms to the default set
4323
4324 by starting the list with the '^' character, e.g.
4325
4326 HostKeyAlgorithms ^ssh-ed25519
4327 Ciphers ^aes128-gcm@openssh.com,aes256-gcm@openssh.com
4328
4329 ok djm@ dtucker@
4330
4331 OpenBSD-Commit-ID: 1e1996fac0dc8a4b0d0ff58395135848287f6f97
4332
4333commit c8bdd2db77ac2369d5cdee237656f266c8f41552
4334Author: djm@openbsd.org <djm@openbsd.org>
4335Date: Fri Sep 6 07:53:40 2019 +0000
4336
4337 upstream: key conversion should fail for !openssl builds, not fall
4338
4339 through to the key generation code
4340
4341 OpenBSD-Commit-ID: b957436adc43c4941e61d61958a193a708bc83c9
4342
4343commit 823f6c37eb2d8191d45539f7b6fa877a4cb4ed3d
4344Author: djm@openbsd.org <djm@openbsd.org>
4345Date: Fri Sep 6 06:08:11 2019 +0000
4346
4347 upstream: typo in previous
4348
4349 OpenBSD-Commit-ID: 7c3b94110864771a6b80a0d8acaca34037c3c96e
4350
4351commit 6a710d3e06fd375e2c2ae02546b9541c488a2cdb
4352Author: Damien Miller <djm@mindrot.org>
4353Date: Sun Sep 8 14:48:11 2019 +1000
4354
4355 needs time.h for --without-openssl
4356
4357commit f61f29afda6c71eda26effa54d3c2e5306fd0833
4358Author: Damien Miller <djm@mindrot.org>
4359Date: Sat Sep 7 19:25:00 2019 +1000
4360
4361 make unittests pass for no-openssl case
4362
4363commit 105e1c9218940eb53473f55a9177652d889ddbad
4364Author: djm@openbsd.org <djm@openbsd.org>
4365Date: Fri Sep 6 05:59:41 2019 +0000
4366
4367 upstream: avoid compiling certain files that deeply depend on
4368
4369 libcrypto when WITH_OPENSSL isn't set
4370
4371 OpenBSD-Commit-ID: 569f08445c27124ec7c7f6c0268d844ec56ac061
4372
4373commit 670104b923dd97b1c06c0659aef7c3e52af571b2
4374Author: djm@openbsd.org <djm@openbsd.org>
4375Date: Fri Sep 6 05:23:55 2019 +0000
4376
4377 upstream: fixes for !WITH_OPENSSL compilation; ok dtucker@
4378
4379 OpenBSD-Commit-ID: 7fd68eaa9e0f7482b5d4c7e8d740aed4770a839f
4380
4381commit be02d7cbde3d211ec2ed2320a1f7d86b2339d758
4382Author: djm@openbsd.org <djm@openbsd.org>
4383Date: Fri Sep 6 04:53:27 2019 +0000
4384
4385 upstream: lots of things were relying on libcrypto headers to
4386
4387 transitively include various system headers (mostly stdlib.h); include them
4388 explicitly
4389
4390 OpenBSD-Commit-ID: 5b522f4f2d844f78bf1cc4f3f4cc392e177b2080
4391
4392commit d05aaaaadcad592abfaa44540928e0c61ef72ebb
4393Author: djm@openbsd.org <djm@openbsd.org>
4394Date: Fri Sep 6 03:30:42 2019 +0000
4395
4396 upstream: remove leakmalloc reference; we used this early when
4397
4398 refactoring but not since
4399
4400 OpenBSD-Commit-ID: bb28ebda8f7c490b87b37954044a6cdd43a7eb2c
4401
4402commit 1268f0bcd8fc844ac6c27167888443c8350005eb
4403Author: dtucker@openbsd.org <dtucker@openbsd.org>
4404Date: Fri Sep 6 04:24:06 2019 +0000
4405
4406 upstream: Check for RSA support before using it for the user key,
4407
4408 otherwise use ed25519 which is supported when built without OpenSSL.
4409
4410 OpenBSD-Regress-ID: 3d23ddfe83c5062f00ac845d463f19a2ec78c0f7
4411
4412commit fd7a2dec652b9efc8e97f03f118f935dce732c60
4413Author: Darren Tucker <dtucker@dtucker.net>
4414Date: Fri Sep 6 14:07:10 2019 +1000
4415
4416 Provide explicit path to configure-check.
4417
4418 On some platforms (at least OpenBSD) make won't search VPATH for target
4419 files, so building out-of-tree will fail at configure-check. Provide
4420 explicit path. ok djm@
4421
4422commit 00865c29690003b4523cc09a0e104724b9f911a4
4423Author: djm@openbsd.org <djm@openbsd.org>
4424Date: Fri Sep 6 01:58:50 2019 +0000
4425
4426 upstream: better error code for bad arguments; inspired by
4427
4428 OpenBSD-Commit-ID: dfc263b6041de7f0ed921a1de0b81ddebfab1e0a
4429
4430commit afdf27f5aceb4973b9f5308f4310c6e3fd8db1fb
4431Author: Damien Miller <djm@mindrot.org>
4432Date: Thu Sep 5 21:38:40 2019 +1000
4433
4434 revert config.h/config.h.in freshness checks
4435
4436 turns out autoreconf and configure don't touch some files if their content
4437 doesn't change, so the mtime can't be relied upon in a makefile rule
4438
4439commit a97609e850c57bd2cc2fe7e175fc35cb865bc834
4440Author: Damien Miller <djm@mindrot.org>
4441Date: Thu Sep 5 20:54:39 2019 +1000
4442
4443 extend autoconf freshness test
4444
4445 make it cover config.h.in and config.h separately
4446
4447commit 182297c10edb21c4856c6a38326fd04d81de41a5
4448Author: Damien Miller <djm@mindrot.org>
4449Date: Thu Sep 5 20:34:54 2019 +1000
4450
4451 check that configure/config.h is up to date
4452
4453 Ensure they are newer than the configure.ac / aclocal.m4 source
4454
4455commit 7d6034bd020248e9fc0f8c39c71c858debd0d0c1
4456Author: djm@openbsd.org <djm@openbsd.org>
4457Date: Thu Sep 5 10:05:51 2019 +0000
4458
4459 upstream: if a PKCS#11 token returns no keys then try to login and
4460
4461 refetch them. Based on patch from Jakub Jelen; bz#2430 ok markus@
4462
4463 OpenBSD-Commit-ID: ab53bd6ddd54dd09e54a8bfbed1a984496f08b43
4464
4465commit 76f09bd95917862101b740afb19f4db5ccc752bf
4466Author: djm@openbsd.org <djm@openbsd.org>
4467Date: Thu Sep 5 09:35:19 2019 +0000
4468
4469 upstream: sprinkle in some explicit errors here, otherwise the
4470
4471 percolate all the way up to dispatch_run_fatal() and lose all meaninful
4472 context
4473
4474 to help with bz#3063; ok dtucker@
4475
4476 OpenBSD-Commit-ID: 5b2da83bb1c4a3471444b7910b2120ae36438a0a
4477
4478commit 0ea332497b2b2fc3995f72f6bafe9d664c0195b3
4479Author: djm@openbsd.org <djm@openbsd.org>
4480Date: Thu Sep 5 09:25:13 2019 +0000
4481
4482 upstream: only send ext_info for KEX_INITIAL; bz#2929 ok dtucker
4483
4484 OpenBSD-Commit-ID: 00f5c6062f6863769f5447c6346f78c05d2e4a63
4485
4486commit f23d91f9fa7f6f42e70404e000fac88aebfe3076
4487Author: jmc@openbsd.org <jmc@openbsd.org>
4488Date: Thu Sep 5 05:47:23 2019 +0000
4489
4490 upstream: macro fix; ok djm
4491
4492 OpenBSD-Commit-ID: e891dd6c7996114cb32f0924cb7898ab55efde6e
4493
4494commit 8b57337c1c1506df2bb9f039d0628a6de618566b
4495Author: Damien Miller <djm@mindrot.org>
4496Date: Thu Sep 5 15:46:39 2019 +1000
4497
4498 update fuzzing makefile to more recent clang
4499
4500commit ae631ad77daf8fd39723d15a687cd4b1482cbae8
4501Author: Damien Miller <djm@mindrot.org>
4502Date: Thu Sep 5 15:45:32 2019 +1000
4503
4504 fuzzer for sshsig allowed_signers option parsing
4505
4506commit 69159afe24120c97e5ebaf81016c85968afb903e
4507Author: djm@openbsd.org <djm@openbsd.org>
4508Date: Thu Sep 5 05:42:59 2019 +0000
4509
4510 upstream: memleak on error path; found by libfuzzer
4511
4512 OpenBSD-Commit-ID: 34d44cb0fb5bdb5fcbc6b02b804e71b20a7a5fc7
4513
4514commit bab6feb01f9924758ca7129dba708298a53dde5f
4515Author: djm@openbsd.org <djm@openbsd.org>
4516Date: Thu Sep 5 04:55:32 2019 +0000
4517
4518 upstream: expose allowed_signers options parsing code in header for
4519
4520 fuzzing
4521
4522 rename to make more consistent with philosophically-similar auth
4523 options parsing API.
4524
4525 OpenBSD-Commit-ID: 0c67600ef04187f98e2912ca57b60c22a8025b7c
4526
4527commit 4f9d75fbafde83d428e291516f8ce98e6b3a7c4b
4528Author: naddy@openbsd.org <naddy@openbsd.org>
4529Date: Wed Sep 4 20:31:15 2019 +0000
4530
4531 upstream: Call comma-separated lists as such to clarify semantics.
4532
4533 Options such as Ciphers take values that may be a list of ciphers; the
4534 complete list, not indiviual elements, may be prefixed with a dash or plus
4535 character to remove from or append to the default list, respectively.
4536
4537 Users might read the current text as if each elment took an optional prefix,
4538 so tweak the wording from "values" to "list" to prevent such ambiguity for
4539 all options supporting these semantics.
4540
4541 Fix instances missed in first commit. ok jmc@ kn@
4542
4543 OpenBSD-Commit-ID: 7112522430a54fb9f15a7a26d26190ed84d5e417
4544
4545commit db1e6f60f03641b2d17e0ab062242609f4ed4598
4546Author: jmc@openbsd.org <jmc@openbsd.org>
4547Date: Wed Sep 4 05:56:54 2019 +0000
4548
4549 upstream: tweak previous;
4550
4551 OpenBSD-Commit-ID: 0abd728aef6b5b35f6db43176aa83b7e3bf3ce27
4552
4553commit 0f44e5956c7c816f6600f2a47be4d7bb5a8d711d
4554Author: naddy@openbsd.org <naddy@openbsd.org>
4555Date: Tue Sep 3 20:51:49 2019 +0000
4556
4557 upstream: repair typo and editing mishap
4558
4559 OpenBSD-Commit-ID: d125ab720ca71ccf9baf83e08ddc8c12a328597e
4560
4561commit f4846dfc6a79f84bbc6356ae3184f142bacedc24
4562Author: Damien Miller <djm@mindrot.org>
4563Date: Thu Sep 5 11:09:28 2019 +1000
4564
4565 Fuzzer harness for sshsig
4566
4567commit b08a6bc1cc7750c6f8a425d1cdbd86552fffc637
4568Author: Damien Miller <djm@mindrot.org>
4569Date: Tue Sep 3 18:45:42 2019 +1000
4570
4571 oops; missed including the actual file
4572
4573commit 1a72c0dd89f09754df443c9576dde624a17d7dd0
4574Author: Damien Miller <djm@mindrot.org>
4575Date: Tue Sep 3 18:44:10 2019 +1000
4576
4577 portability fixes for sshsig
4578
4579commit 6d6427d01304d967e58544cf1c71d2b4394c0522
4580Author: djm@openbsd.org <djm@openbsd.org>
4581Date: Tue Sep 3 08:37:45 2019 +0000
4582
4583 upstream: regress test for sshsig; feedback and ok markus@
4584
4585 OpenBSD-Regress-ID: 74c0974f2cdae8d9599b9d76a09680bae55d8a8b
4586
4587commit 59650f0eaf65115afe04c39abfb93a4fc994ec55
4588Author: djm@openbsd.org <djm@openbsd.org>
4589Date: Tue Sep 3 08:37:06 2019 +0000
4590
4591 upstream: only add plain keys to prevent any certs laying around
4592
4593 from confusing the test.
4594
4595 OpenBSD-Regress-ID: b8f1508f822bc560b98dea910e61ecd76f34100f
4596
4597commit d637c4aee6f9b5280c13c020d7653444ac1fcaa5
4598Author: djm@openbsd.org <djm@openbsd.org>
4599Date: Tue Sep 3 08:35:27 2019 +0000
4600
4601 upstream: sshsig tweaks and improvements from and suggested by
4602
4603 Markus
4604
4605 ok markus/me
4606
4607 OpenBSD-Commit-ID: ea4f46ad5a16b27af96e08c4877423918c4253e9
4608
4609commit 2a9c9f7272c1e8665155118fe6536bebdafb6166
4610Author: djm@openbsd.org <djm@openbsd.org>
4611Date: Tue Sep 3 08:34:19 2019 +0000
4612
4613 upstream: sshsig: lightweight signature and verification ability
4614
4615 for OpenSSH
4616
4617 This adds a simple manual signature scheme to OpenSSH.
4618 Signatures can be made and verified using ssh-keygen -Y sign|verify
4619
4620 Signatures embed the key used to make them. At verification time, this
4621 is matched via principal name against an authorized_keys-like list
4622 of allowed signers.
4623
4624 Mostly by Sebastian Kinne w/ some tweaks by me
4625
4626 ok markus@
4627
4628 OpenBSD-Commit-ID: 2ab568e7114c933346616392579d72be65a4b8fb
4629
4630commit 5485f8d50a5bc46aeed829075ebf5d9c617027ea
4631Author: djm@openbsd.org <djm@openbsd.org>
4632Date: Tue Sep 3 08:32:11 2019 +0000
4633
4634 upstream: move authorized_keys option parsing helpsers to misc.c
4635
4636 and make them public; ok markus@
4637
4638 OpenBSD-Commit-ID: c18bcb2a687227b3478377c981c2d56af2638ea2
4639
4640commit f8df0413f0a057b6a3d3dd7bd8bc7c5d80911d3a
4641Author: djm@openbsd.org <djm@openbsd.org>
4642Date: Tue Sep 3 08:31:20 2019 +0000
4643
4644 upstream: make get_sigtype public as sshkey_get_sigtype(); ok
4645
4646 markus@
4647
4648 OpenBSD-Commit-ID: 01f8cdbec63350490d2249f41112c5780d1cfbb8
4649
4650commit dd8002fbe63d903ffea5be7b7f5fc2714acab4a0
4651Author: djm@openbsd.org <djm@openbsd.org>
4652Date: Tue Sep 3 08:30:47 2019 +0000
4653
4654 upstream: move advance_past_options to authfile.c and make it
4655
4656 public; ok markus@
4657
4658 OpenBSD-Commit-ID: edda2fbba2c5b1f48e60f857a2010479e80c5f3c
4659
4660commit c72d78ccbe642e08591a626e5de18381489716e0
4661Author: djm@openbsd.org <djm@openbsd.org>
4662Date: Tue Sep 3 08:29:58 2019 +0000
4663
4664 upstream: move skip_space() to misc.c and make it public; ok
4665
4666 markus@
4667
4668 OpenBSD-Commit-ID: caa77e8a3b210948e29ad3e28c5db00852961eae
4669
4670commit 06af3583f46e2c327fdd44d8a95b8b4e8dfd8db5
4671Author: djm@openbsd.org <djm@openbsd.org>
4672Date: Tue Sep 3 08:29:15 2019 +0000
4673
4674 upstream: authfd: add function to check if key is in agent
4675
4676 This commit adds a helper function which allows the caller to
4677 check if a given public key is present in ssh-agent.
4678
4679 work by Sebastian Kinne; ok markus@
4680
4681 OpenBSD-Commit-ID: d43c5826353e1fdc1af71eb42961b30782c7bd13
4682
4683commit 2ab5a8464870cc4b29ddbe849bbbc255729437bf
4684Author: djm@openbsd.org <djm@openbsd.org>
4685Date: Tue Sep 3 08:28:30 2019 +0000
4686
4687 upstream: fix memleak in ssh_free_identitylist(); ok markus@
4688
4689 OpenBSD-Commit-ID: aa51f77ae2c5330a1f61b2d22933f24a443f9abf
4690
4691commit 85443f165b4169b2a448b3e24bc1d4dc5b3156a4
4692Author: djm@openbsd.org <djm@openbsd.org>
4693Date: Tue Sep 3 08:27:52 2019 +0000
4694
4695 upstream: factor out confirm_overwrite(); ok markus@
4696
4697 OpenBSD-Commit-ID: 304e95381b39c774c8fced7e5328b106a3ff0400
4698
4699commit 9a396e33685633581c67d5ad9664570ef95281f2
4700Author: djm@openbsd.org <djm@openbsd.org>
4701Date: Mon Sep 2 23:46:46 2019 +0000
4702
4703 upstream: constify an argument
4704
4705 OpenBSD-Commit-ID: 724bafc9f993746ad4303e95bede2c030de6233b
4706
4707commit b52c0c2e64988277a35a955a474d944967059aeb
4708Author: djm@openbsd.org <djm@openbsd.org>
4709Date: Mon Sep 2 00:19:25 2019 +0000
4710
4711 upstream: downgrade PKCS#11 "provider returned no slots" warning
4712
4713 from log level error to debug. This is common when attempting to enumerate
4714 keys on smartcard readers with no cards plugged in. bz#3058 ok dtucker@
4715
4716 OpenBSD-Commit-ID: bb8839ddeb77c271390488af1b771041d43e49c6
4717
4718commit 0713322e18162463c5ab5ddfb9f935055ca775d8
4719Author: djm@openbsd.org <djm@openbsd.org>
4720Date: Sun Sep 1 23:47:32 2019 +0000
4721
4722 upstream: print comment when printing pubkey from private
4723
4724 bz#3052; ok dtucker
4725
4726 OpenBSD-Commit-ID: a91b2a8d5f1053d34d7fce44523c53fb534ba914
4727
4728commit 368f1cc2fbd6ad10c66bc1b67c2c04aebf8a04a8
4729Author: Damien Miller <djm@mindrot.org>
4730Date: Mon Sep 2 10:28:42 2019 +1000
4731
4732 fixed test in OSX closefrom() replacement
4733
4734 from likan_999.student AT sina.com
4735
4736commit 6b7c53498def19a14dd9587bf521ab6dbee8988f
4737Author: Damien Miller <djm@mindrot.org>
4738Date: Mon Sep 2 10:22:02 2019 +1000
4739
4740 retain Solaris PRIV_FILE_LINK_ANY in sftp-server
4741
4742 Dropping this privilege removes the ability to create hard links to
4743 files owned by other users. This is required for the legacy sftp rename
4744 operation.
4745
4746 bz#3036; approach ok Alex Wilson (the original author of the Solaris
4747 sandbox/pledge replacement code)
4748
4749commit e50f808712393e86d69e42e9847cdf8d473412d7
4750Author: dtucker@openbsd.org <dtucker@openbsd.org>
4751Date: Fri Aug 30 05:08:28 2019 +0000
4752
4753 upstream: Use ed25519 for most hostkey rotation tests since it's
4754
4755 supported even when built without OpenSSL. Use RSA for the secondary type
4756 test if supported, otherwise skip it. Fixes this test for !OpenSSL builds.
4757
4758 OpenBSD-Regress-ID: 101cb34a84fd974c623bdb2e496f25a6e91be109
4759
4760commit 5e4796c47dd8d6c38fb2ff0b3e817525fed6040d
4761Author: bluhm@openbsd.org <bluhm@openbsd.org>
4762Date: Thu Aug 22 21:47:27 2019 +0000
4763
4764 upstream: Test did not compile due to missing symbols. Add source
4765
4766 sshbuf-misc.c to regress as it was done in ssh make file. from Moritz Buhl
4767
4768 OpenBSD-Regress-ID: 9e1c23476bb845f3cf3d15d9032da3ed0cb2fcf5
4769
4770commit e0e7e3d0e26f2c30697e6d0cfc293414908963c7
4771Author: Damien Miller <djm@mindrot.org>
4772Date: Fri Aug 30 14:26:19 2019 +1000
4773
4774 tweak warning flags
4775
4776 Enable -Wextra if compiler supports it
4777
4778 Set -Wno-error=format-truncation if available to prevent expected
4779 string truncations in openbsd-compat from breaking -Werror builds
4780
4781commit 28744182cf90e0073b76a9e98de58a47e688b2c4
4782Author: Damien Miller <djm@mindrot.org>
4783Date: Fri Aug 30 13:21:38 2019 +1000
4784
4785 proc_pidinfo()-based closefrom() for OS X
4786
4787 Refactor closefrom() to use a single brute-force close() loop fallback.
4788
4789 Based on patch from likan_999.student@sina.com in bz#3049. ok dtucker@
4790
4791commit dc2ca588144f088a54febebfde3414568dc73d5f
4792Author: kn@openbsd.org <kn@openbsd.org>
4793Date: Fri Aug 16 11:16:32 2019 +0000
4794
4795 upstream: Call comma-separated lists as such to clarify semantics
4796
4797 Options such as Ciphers take values that may be a list of ciphers; the
4798 complete list, not indiviual elements, may be prefixed with a dash or plus
4799 character to remove from or append to the default list respectively.
4800
4801 Users might read the current text as if each elment took an optional prefix,
4802 so tweak the wording from "values" to "list" to prevent such ambiguity for
4803 all options supporting this semantics (those that provide a list of
4804 available elements via "ssh -Q ...").
4805
4806 Input and OK jmc
4807
4808 OpenBSD-Commit-ID: 4fdd175b0e5f5cb10ab3f26ccc38a93bb6515d57
4809
4810commit c4736f39e66729ce2bf5b06ee6b391e092b48f47
4811Author: djm@openbsd.org <djm@openbsd.org>
4812Date: Fri Aug 16 06:35:27 2019 +0000
4813
4814 upstream: include sshbuf-misc.c in SRCS_BASE
4815
4816 OpenBSD-Commit-ID: 99dd10e72c04e93849981d43d64c946619efa474
4817
4818commit d0e51810f332fe44ebdba41113aacf319d35f5a5
4819Author: Darren Tucker <dtucker@dtucker.net>
4820Date: Sat Aug 24 15:12:11 2019 +1000
4821
4822 Fix pasto in fallback code.
4823
4824 There is no parameter called "pathname", it should simply be "path".
4825 bz#3059, patch from samuel at cendio.se.
4826
4827commit e83c989bfd9fc9838b7dfb711d1dc6da81814045
4828Author: Damien Miller <djm@mindrot.org>
4829Date: Fri Aug 23 10:19:30 2019 +1000
4830
4831 use SC_ALLOW_ARG_MASK to limit mmap protections
4832
4833 Restrict to PROT_(READ|WRITE|NONE), i.e. exclude PROT_EXEC
4834
4835commit f6906f9bf12c968debec3671bbf19926ff8a235b
4836Author: Damien Miller <djm@mindrot.org>
4837Date: Fri Aug 23 10:08:48 2019 +1000
4838
4839 allow mprotect(2) with PROT_(READ|WRITE|NONE) only
4840
4841 Used by some hardened heap allocators. Requested by Yegor
4842 Timoshenko in https://github.com/openssh/openssh-portable/pull/142
4843
4844commit e3b6c966b79c3ea5d51b923c3bbdc41e13b96ea0
4845Author: djm@openbsd.org <djm@openbsd.org>
4846Date: Fri Aug 16 06:13:15 2019 +0000
4847
4848 upstream: switch percent_expand() to use sshbuf instead of a limited
4849
4850 fixed buffer; ok markus@
4851
4852 OpenBSD-Commit-ID: 3f9ef20bca5ef5058b48c1cac67c53b9a1d15711
4853
4854commit 9ab5b9474779ac4f581d402ae397f871ed16b383
4855Author: djm@openbsd.org <djm@openbsd.org>
4856Date: Fri Aug 9 05:05:54 2019 +0000
4857
4858 upstream: produce a useful error message if the user's shell is set
4859
4860 incorrectly during "match exec" processing. bz#2791 reported by Dario
4861 Bertini; ok dtucker
4862
4863 OpenBSD-Commit-ID: cf9eddd6a6be726cb73bd9c3936f3888cd85c03d
4864
4865commit 8fdbc7247f432578abaaca1b72a0dbf5058d67e5
4866Author: dtucker@openbsd.org <dtucker@openbsd.org>
4867Date: Fri Aug 9 04:24:03 2019 +0000
4868
4869 upstream: Change description of TCPKeepAlive from "inactive" to
4870
4871 "unresponsive" to clarify what it checks for. Patch from jblaine at
4872 kickflop.net via github pr#129, ok djm@.
4873
4874 OpenBSD-Commit-ID: 3682f8ec7227f5697945daa25d11ce2d933899e9
4875
4876commit 7afc45c3ed72672690014dc432edc223b23ae288
4877Author: dtucker@openbsd.org <dtucker@openbsd.org>
4878Date: Thu Aug 8 08:02:57 2019 +0000
4879
4880 upstream: Allow the maximimum uint32 value for the argument passed to
4881
4882 -b which allows better error messages from later validation. bz#3050, ok
4883 djm@
4884
4885 OpenBSD-Commit-ID: 10adf6876b2401b3dc02da580ebf67af05861673
4886
4887commit c31e4f5fb3915c040061981a67224de7650ab34b
4888Author: naddy@openbsd.org <naddy@openbsd.org>
4889Date: Mon Aug 5 21:45:27 2019 +0000
4890
4891 upstream: Many key types are supported now, so take care to check
4892
4893 the size restrictions and apply the default size only to the matching key
4894 type. tweak and ok dtucker@
4895
4896 OpenBSD-Commit-ID: b825de92d79cc4cba19b298c61e99909488ff57e
4897
4898commit 6b39a7b49ebacec4e70e24bfc8ea2f11057aac22
4899Author: dtucker@openbsd.org <dtucker@openbsd.org>
4900Date: Mon Aug 5 11:50:33 2019 +0000
4901
4902 upstream: Remove now-redundant perm_ok arg since
4903
4904 sshkey_load_private_type will now return SSH_ERR_KEY_BAD_PERMISSIONS in that
4905 case. Patch from jitendra.sharma at intel.com, ok djm@
4906
4907 OpenBSD-Commit-ID: 07916a17ed0a252591b71e7fb4be2599cb5b0c77
4908
4909commit d46075b923bf25e6f25959a3f5b458852161cb3e
4910Author: Darren Tucker <dtucker@dtucker.net>
4911Date: Mon Aug 5 21:36:48 2019 +1000
4912
4913 Fix mem leak in unit test.
4914
4915 Patch from jitendra.sharma at intel.com.
4916
4917commit c4ffb72593c08921cf9291bc05a5ef1d0aaa6891
4918Author: djm@openbsd.org <djm@openbsd.org>
4919Date: Fri Aug 2 01:41:24 2019 +0000
4920
4921 upstream: fix some memleaks in test_helper code
4922
4923 bz#3037 from Jitendra Sharma
4924
4925 OpenBSD-Regress-ID: 71440fa9186f5842a65ce9a27159385c6cb6f751
4926
4927commit 6e76e69dc0c7712e9ac599af34bd091b0e7dcdb5
4928Author: djm@openbsd.org <djm@openbsd.org>
4929Date: Fri Aug 2 01:23:19 2019 +0000
4930
4931 upstream: typo; from Christian Hesse
4932
4933 OpenBSD-Commit-ID: 82f6de7438ea7ee5a14f44fdf5058ed57688fdc3
4934
4935commit 49fa065a1bfaeb88a59abdfa4432d3b9c35b0655
4936Author: djm@openbsd.org <djm@openbsd.org>
4937Date: Tue Jul 30 05:04:49 2019 +0000
4938
4939 upstream: let sshbuf_find/cmp take a void* for the
4940
4941 search/comparison argument, instead of a u_char*. Saves callers needing to
4942 cast.
4943
4944 OpenBSD-Commit-ID: d63b69b7c5dd570963e682f758f5a47b825605ed
4945
4946commit 7adf6c430d6fc17901e167bc0789d31638f5c2f8
4947Author: mestre@openbsd.org <mestre@openbsd.org>
4948Date: Wed Jul 24 08:57:00 2019 +0000
4949
4950 upstream: When using a combination of a Yubikey+GnuPG+remote
4951
4952 forwarding the gpg-agent (and options ControlMaster+RemoteForward in
4953 ssh_config(5)) then the codepath taken will call mux_client_request_session
4954 -> mm_send_fd -> sendmsg(2). Since sendmsg(2) is not allowed in that codepath
4955 then pledge(2) kills the process.
4956
4957 The solution is to add "sendfd" to pledge(2), which is not too bad considering
4958 a little bit later we reduce pledge(2) to only "stdio proc tty" in that
4959 codepath.
4960
4961 Problem reported and diff provided by Timothy Brown <tbrown at freeshell.org>
4962
4963 OK deraadt@
4964
4965 OpenBSD-Commit-ID: 7ce38b6542bbec00e441595d0a178e970a9472ac
4966
4967commit 0e2fe18acc1da853a9120c2e9af68e8d05e6503e
4968Author: dtucker@openbsd.org <dtucker@openbsd.org>
4969Date: Tue Jul 23 23:06:57 2019 +0000
4970
4971 upstream: Fix typo in CASignatureAlgorithms wherein what should be
4972
4973 a comma is a dot. Patch from hnj2 via github pr#141.
4974
4975 OpenBSD-Commit-ID: 01f5a460438ff1af09aab483c0a70065309445f0
4976
4977commit e93ffd1a19fc47c49d68ae2fb332433690ecd389
4978Author: Darren Tucker <dtucker@dtucker.net>
4979Date: Mon Jul 29 16:04:01 2019 +1000
4980
4981 Report success of individual tests as well as all.
4982
4983 This puts the "all tests passed" message back at the end where the
4984 test harnesses can find it.
4985
4986commit 2ad5b36b18bddf2965fe60384c29b3f1d451b4ed
4987Author: Damien Miller <djm@mindrot.org>
4988Date: Mon Jul 29 09:49:23 2019 +1000
4989
4990 convert to UTF-8; from Mike Frysinger
4991
4992commit d31e7c937ba0b97534f373cf5dea34675bcec602
4993Author: dtucker@openbsd.org <dtucker@openbsd.org>
4994Date: Fri Jul 26 04:22:21 2019 +0000
4995
4996 upstream: Restrict limit-keytype to types supported by build. This
4997
4998 means we have to skip a couple tests when only one key type is supported.
4999
5000 OpenBSD-Regress-ID: 22d05befb9c7ce21ce8dc22acf1ffe9e2ef2e95e
5001
5002commit 0967a233b8a28907ae8a4a6773c89f21d2ace11b
5003Author: Darren Tucker <dtucker@dtucker.net>
5004Date: Thu Jul 25 18:36:28 2019 +1000
5005
5006 Remove override disabling DH-GEX.
5007
5008 The DH-GEX override doesn't work when build without OpenSSL, and
5009 we'll prefer curve25519 these days, removing the need for it.
5010
5011commit 061407efc19b41ab4a7485e5adcff2a12befacdb
5012Author: dtucker@openbsd.org <dtucker@openbsd.org>
5013Date: Thu Jul 25 09:17:35 2019 +0000
5014
5015 upstream: Only use supported key types during KRL test, preferring
5016
5017 ed25519 since it's supported by both OpenSSL and non-OpenSSL builds.
5018
5019 OpenBSD-Regress-ID: 9f2bb3eadd50fcc8245b1bd8fd6f0e53602f71aa
5020
5021commit 47f8ff1fa5b76790c1d785815fd13ee6009f8012
5022Author: dtucker@openbsd.org <dtucker@openbsd.org>
5023Date: Thu Jul 25 08:48:11 2019 +0000
5024
5025 upstream: Switch keys-command test from rsa to ed25519 since it's
5026
5027 supported for both OpenSSL and non-OpenSSL builds.
5028
5029 OpenBSD-Regress-ID: 174be4be876edd493e4a5c851e5bc579885e7a0a
5030
5031commit 1e94afdfa8df774ab7dd3bad52912b636dc31bbd
5032Author: dtucker@openbsd.org <dtucker@openbsd.org>
5033Date: Thu Jul 25 08:28:15 2019 +0000
5034
5035 upstream: Make certificate tests work with the supported key
5036
5037 algorithms. Allows tests to pass when built without OpenSSL.
5038
5039 OpenBSD-Regress-ID: 617169a6dd9d06db3697a449d9a26c284eca20fc
5040
5041commit 26bf693661a48b97b6023f702b2af643676ac21a
5042Author: dtucker@openbsd.org <dtucker@openbsd.org>
5043Date: Tue Jul 23 13:49:14 2019 +0000
5044
5045 upstream: Construct list of key types to test based on the types
5046
5047 supported by the binaries.
5048
5049 OpenBSD-Regress-ID: fcbd115efacec8ab0ecbdb3faef79ac696cb1d62
5050
5051commit 773c55b3d1230e8f7714a1b33873c37b85049c74
5052Author: dtucker@openbsd.org <dtucker@openbsd.org>
5053Date: Tue Jul 23 13:32:48 2019 +0000
5054
5055 upstream: Only use DSA key type in tests if binaries support it.
5056
5057 OpenBSD-Regress-ID: 770e31fe61dc33ed8eea9c04ce839b33ddb4dc96
5058
5059commit 159e987a54d92ccd73875e7581ffc64e8927a715
5060Author: Darren Tucker <dtucker@dtucker.net>
5061Date: Wed Jul 24 14:21:19 2019 +1000
5062
5063 Split test targets further.
5064
5065 Splits test into file-tests, t-exec, unit and interop-tests and their
5066 respective dependencies. Should allow running any set individually
5067 without having to build the other dependencies that are not needed
5068 for that specific test.
5069
5070commit 520d4550a2470106d63e30079bb05ce82f3a4f7d
5071Author: Darren Tucker <dtucker@dtucker.net>
5072Date: Wed Jul 24 11:20:18 2019 +1000
5073
5074 Add lib dependencies for regress binary targets.
5075
5076commit 4e8d0dd78d5f6142841a07dc8b8c6b4730eaf587
5077Author: Darren Tucker <dtucker@dtucker.net>
5078Date: Wed Jul 24 00:12:51 2019 +1000
5079
5080 Make "unit" a dependency of "test".
5081
5082commit 4317b2a0480e293e58ba115e47b49d3a384b6568
5083Author: Darren Tucker <dtucker@dtucker.net>
5084Date: Tue Jul 23 23:24:47 2019 +1000
5085
5086 upstream rev 1.28: fix comment typo.
5087
5088commit e0055af2bd39fdb44566ff6594147664e1fac8b8
5089Author: Darren Tucker <dtucker@dtucker.net>
5090Date: Tue Jul 23 23:06:22 2019 +1000
5091
5092 Split regress-binaries into two targets.
5093
5094 Split the binaries for the unit tests out into a regress-unit-binaries
5095 target, and add a dependency on it for only the unit tests. This allows
5096 us to run the integration tests only ("make t-exec") without building
5097 the unit tests, which allows us to run a subset of the tests when
5098 building --without-openssl without trying (and failing) to build the
5099 unit tests.
5100
5101 This means there are two targets for "unit" which I *think* is valid
5102 (it works in testing, and makedepend will generate Makefiles of this
5103 form)a but I could be wrong.
5104
5105commit 7cdf9fdcf11aaaa98c2bd22c92882ea559e772ad
5106Author: dtucker@openbsd.org <dtucker@openbsd.org>
5107Date: Tue Jul 23 08:19:29 2019 +0000
5108
5109 upstream: Skip DH group generation test if binaries don't support
5110
5111 DH-GEX.
5112
5113 OpenBSD-Regress-ID: 7c918230d969ecf7656babd6191a74526bffbffd
5114
5115commit 3a3eab8bb0da3d2f0f32cb85a1a268bcca6e4d69
5116Author: dtucker@openbsd.org <dtucker@openbsd.org>
5117Date: Tue Jul 23 07:55:29 2019 +0000
5118
5119 upstream: Only test conversion of key types supported by the
5120
5121 binaries.
5122
5123 OpenBSD-Regress-ID: e3f0938a0a7407e2dfbb90abc3ec979ab6e8eeea
5124
5125commit 7e66b7d98c6e3f48a1918c3e1940c9b11b10ec63
5126Author: dtucker@openbsd.org <dtucker@openbsd.org>
5127Date: Tue Jul 23 07:39:43 2019 +0000
5128
5129 upstream: Only add ssh-dss to allowed key types if it's supported
5130
5131 by the binary.
5132
5133 OpenBSD-Regress-ID: 395a54cab16e9e4ece9aec047ab257954eebd413
5134
5135commit fd0684b319e664d8821dc4ca3026126dfea3ccf4
5136Author: Darren Tucker <dtucker@dtucker.net>
5137Date: Tue Jul 23 22:36:39 2019 +1000
5138
5139 Remove sys/cdefs.h include.
5140
5141 It's not needed on -portable (that's handled by includes.h) and not all
5142 platforms have it.
5143
5144commit 9634ffbf29b3c2493e69d10b37077b09a8cbf5ff
5145Author: Darren Tucker <dtucker@dtucker.net>
5146Date: Tue Jul 23 22:25:44 2019 +1000
5147
5148 Add headers to prevent warnings w/out OpenSSL.
5149
5150commit 2ea60312e1c08dea88982fec68244f89a40912ff
5151Author: Darren Tucker <dtucker@dtucker.net>
5152Date: Tue Jul 23 22:11:50 2019 +1000
5153
5154 Include stdlib.h for free() and calloc().
5155
5156commit 11cba2a4523fda447e2554ea457484655bedc831
5157Author: Darren Tucker <dtucker@dtucker.net>
5158Date: Tue Jul 23 21:51:22 2019 +1000
5159
5160 Re-apply portability changes to current sha2.{c,h}.
5161
5162 Rather than attempt to apply 14 years' worth of changes to OpenBSD's sha2
5163 I imported the current versions directly then re-applied the portability
5164 changes. This also allowed re-syncing digest-libc.c against upstream.
5165
5166commit 09159594a3bbd363429ee6fafde57ce77986dd7c
5167Author: Darren Tucker <dtucker@dtucker.net>
5168Date: Tue Jul 23 20:27:51 2019 +1000
5169
5170 Import current sha2.c and sha2.h from OpenBSD.
5171
5172 These are not changed from their original state, the next commit will
5173 re-apply the portable changes.
5174
5175commit 2e6035b900cc9d7432d95084e03993d1b426f812
5176Author: Darren Tucker <dtucker@dtucker.net>
5177Date: Tue Jul 23 08:11:22 2019 +1000
5178
5179 Rename valgrind "errors" to "failures".
5180
5181 When valgrind is enabled, test-exec.sh counts the number of invocations
5182 that valgrind detects failures in, not the total number of errors detected.
5183 This makes the name to be more accurate.
5184
5185commit e82c9bb9ffa65725cc2e03ea81cb79ce3387f66b
5186Author: Darren Tucker <dtucker@dtucker.net>
5187Date: Fri Jul 19 18:51:18 2019 +1000
5188
5189 Skip running sftp-chroot under Valgrind.
5190
5191commit 41e22c2e05cb950b704945ac9408f6109c9b7848
5192Author: dtucker@openbsd.org <dtucker@openbsd.org>
5193Date: Sat Jul 20 09:50:58 2019 +0000
5194
5195 upstream: Remove the sleeps and thus races from the forwarding
5196
5197 test. They were originally required to work with Protocol 1, but now we can
5198 use ssh -N and the control socket without the sleeps. While there, suppress
5199 output fro the control exit commands.
5200
5201 OpenBSD-Regress-ID: 4c51a1d651242f12c90074c18c61008a74c1c790
5202
5203commit 0423043c5e54293f4dd56041304fd0046c317be9
5204Author: dtucker@openbsd.org <dtucker@openbsd.org>
5205Date: Sat Jul 20 09:37:31 2019 +0000
5206
5207 upstream: Allow SLEEPTIME to be overridden.
5208
5209 OpenBSD-Regress-ID: 1596ab168729954be3d219933b2d01cc93687e76
5210
5211commit d466b6a5cfba17a83c7aae9f584ab164e2ece0a1
5212Author: dtucker@openbsd.org <dtucker@openbsd.org>
5213Date: Sat Jul 20 09:14:40 2019 +0000
5214
5215 upstream: Move sleep time into a variable so that we can increase
5216
5217 it for platforms or configurations that are much slower then usual.
5218
5219 OpenBSD-Regress-ID: 88586cabc800062c260d0b876bdcd4ca3f58a872
5220
5221commit b4a7c9d2b5f928e0b902b580d35dc8b244a3aae0
5222Author: djm@openbsd.org <djm@openbsd.org>
5223Date: Fri Jul 19 03:45:44 2019 +0000
5224
5225 upstream: add regression tests for scp for out-of-destination path file
5226
5227 creation by Harry Sintonen via Jakub Jelen in bz3007
5228
5229 OpenBSD-Regress-ID: 01ae5fbc6ce400b2df5a84dc3152a9e31f354c07
5230
5231commit bca0582063f148c7ddf409ec51435a5a726bee4c
5232Author: djm@openbsd.org <djm@openbsd.org>
5233Date: Fri Jul 19 03:38:01 2019 +0000
5234
5235 upstream: Accept the verbose flag when searching for host keys in known
5236
5237 hosts (i.e. "ssh-keygen -vF host") to print the matching host's random- art
5238 signature too. bz#3003 "amusing, pretty" deraadt@
5239
5240 OpenBSD-Commit-ID: 686221a5447d6507f40a2ffba5393984d889891f
5241
5242commit 5299a09fa2879a068af200c91028fcfa9283c0f0
5243Author: Darren Tucker <dtucker@dtucker.net>
5244Date: Fri Jul 19 13:50:25 2019 +1000
5245
5246 Revert one dependency per line change.
5247
5248 It turns out that having such a large number of lines in the .depend
5249 file will cause the memory usage of awk during AC_SUBST to blow up on at
5250 least NetBSD's awk, causing configure to fail.
5251
5252commit 01dddb231f23b4a7b616f9d33a0b9d937f9eaf0e
5253Author: Damien Miller <djm@mindrot.org>
5254Date: Fri Jul 19 13:19:19 2019 +1000
5255
5256 fix SIGWINCH delivery of Solaris for mux sessions
5257
5258 Remove PRIV_PROC_SESSION which was limiting ability to send SIGWINCH
5259 signals to other sessions. bz#3030; report and fix from Darren Moffat
5260
5261commit 05500af21d27c1a3ddac232b018cc23da7b1ee95
5262Author: Darren Tucker <dtucker@dtucker.net>
5263Date: Fri Jul 19 13:20:03 2019 +1000
5264
5265 Force dependencies one per line.
5266
5267 Force makedepend to output one dependency per line, which will make
5268 reading diffs against it much easier. ok djm@
5269
5270commit b5bc5d016bbb83eb7f8e685390044e78b1ea1427
5271Author: Darren Tucker <dtucker@dtucker.net>
5272Date: Fri Jul 19 13:18:07 2019 +1000
5273
5274 make depend.
5275
5276commit 65333f7454365fe40f7367630e7dd10903b9d99e
5277Author: Darren Tucker <dtucker@dtucker.net>
5278Date: Fri Jul 19 13:16:11 2019 +1000
5279
5280 Show when skipping valgrind for a test.
5281
5282commit fccb7eb3436da8ef3dcd22e5936ba1abc7ae6730
5283Author: Darren Tucker <dtucker@dtucker.net>
5284Date: Fri Jul 19 10:41:56 2019 +1000
5285
5286 Enable connect-privsep test with valgrind.
5287
5288 connect-privsep seems to work OK with valgrind now so don't skip
5289 valgrind on it.
5290
5291commit d7423017265c5ae6d0be39340feb6c9f016b1f71
5292Author: Darren Tucker <dtucker@dtucker.net>
5293Date: Fri Jul 19 07:43:07 2019 +1000
5294
5295 Show valgrind results and error counts.
5296
5297commit 22b9b3e944880db906c6ac5527c4228bd92b293a
5298Author: Darren Tucker <dtucker@dtucker.net>
5299Date: Thu Jul 18 13:40:12 2019 +1000
5300
5301 Fix format string integer type in error message.
5302
5303commit ed46a0c0705895834d3f47a46faa89c2a71b760a
5304Author: djm@openbsd.org <djm@openbsd.org>
5305Date: Thu Jul 18 13:26:00 2019 +0000
5306
5307 upstream: fix off-by-one in sshbuf_dtob64() base64 wrapping that could
5308
5309 cause extra newlines to be appended at the end of the base64 text (ugly, but
5310 harmless). Found and fixed by Sebastian Kinne
5311
5312 OpenBSD-Commit-ID: 9fe290bd68f706ed8f986a7704ca5a2bd32d7b68
5313
5314commit a192021fedead23c375077f92346336d531f8cad
5315Author: Darren Tucker <dtucker@dtucker.net>
5316Date: Thu Jul 18 11:09:38 2019 +1000
5317
5318 Fail tests if Valgrind enabled and reports errors.
5319
5320 Also dump the failing valgrind report to stdout (not the cleanest
5321 solution, but better than nothing).
5322
5323commit d1c491ecb939ee10b341fa7bb6205dff19d297e5
5324Author: Darren Tucker <dtucker@dtucker.net>
5325Date: Thu Jul 18 10:17:54 2019 +1000
5326
5327 Allow low-priv tests to write to pipe dir.
5328
5329 When running regression tests with Valgrind and SUDO, the low-priv agent
5330 tests need to be able to create pipes in the appropriate directory.
5331
5332commit 8a5bb3e78191cc206f970c26d2a26c949971e91a
5333Author: Darren Tucker <dtucker@dtucker.net>
5334Date: Wed Jul 17 21:24:55 2019 +1000
5335
5336 Put valgrind vgdb files to a specific directory.
5337
5338 Valgrind by default puts vgdb files and pipes under /tmp, however it
5339 is not always able to clean them up, which can cause test failures when
5340 there's a pid/file collision. Using a specific directory ensures that
5341 we can clean up and start clean.
5342
5343commit f8829fe57fb0479d6103cfe1190095da3c032c6d
5344Author: djm@openbsd.org <djm@openbsd.org>
5345Date: Tue Jul 16 22:16:49 2019 +0000
5346
5347 upstream: adapt to sshbuf_dtob64() change
5348
5349 OpenBSD-Regress-ID: 82374a83edf0955fd1477169eee3f5d6467405a6
5350
5351commit 1254fcbb2f005f745f2265016ee9fa52e16d37b0
5352Author: dtucker@openbsd.org <dtucker@openbsd.org>
5353Date: Tue Jul 16 03:21:54 2019 +0000
5354
5355 upstream: Remove ssh1 files from CLEANFILES since ssh1 no longer
5356
5357 supported.
5358
5359 OpenBSD-Regress-ID: 5b9ae869dc669bac05939b4a2fdf44ee067acfa0
5360
5361commit 9dc81a5adabc9a7d611ed2e63fbf4c85d43b15c6
5362Author: dtucker@openbsd.org <dtucker@openbsd.org>
5363Date: Tue Jul 16 02:09:29 2019 +0000
5364
5365 upstream: Update names of host key files in CLEANFILES to match
5366
5367 recent changes to the tests.
5368
5369 OpenBSD-Regress-ID: 28743052de3acf70b06f18333561497cd47c4ecf
5370
5371commit e44e4ad1190db22ed407a79f32a8cff5bcd2b815
5372Author: Damien Miller <djm@mindrot.org>
5373Date: Tue Jul 16 23:26:53 2019 +1000
5374
5375 depend
5376
5377commit 16dd8b2c78a0de106c7429e2a294d203f6bda3c7
5378Author: djm@openbsd.org <djm@openbsd.org>
5379Date: Tue Jul 16 13:18:39 2019 +0000
5380
5381 upstream: remove mostly vestigal uuencode.[ch]; moving the only unique
5382
5383 functionality there (wrapping of base64-encoded data) to sshbuf functions;
5384 feedback and ok markus@
5385
5386 OpenBSD-Commit-ID: 4dba6735d88c57232f6fccec8a08bdcfea44ac4c
5387
5388commit 45478898f9590b5cc8bc7104e573b84be67443b0
5389Author: Darren Tucker <dtucker@dtucker.net>
5390Date: Tue Jul 16 09:20:23 2019 +1000
5391
5392 Hook memmem compat code into build.
5393
5394 This fixes builds on platforms that don't have it (at least old DragonFly,
5395 probably others).
5396
5397commit c7bd4617293a903bd3fac3394a7e72d439af49a5
5398Author: Darren Tucker <dtucker@dtucker.net>
5399Date: Tue Jul 16 09:07:18 2019 +1000
5400
5401 Import memmem.c from OpenBSD.
5402
5403commit 477e2a3be8b10df76e8d76f0427b043280d73d68
5404Author: djm@openbsd.org <djm@openbsd.org>
5405Date: Mon Jul 15 13:12:02 2019 +0000
5406
5407 upstream: unit tests for sshbuf_cmp() and sshbuf_find(); ok markus
5408
5409 OpenBSD-Regress-ID: b52d36bc3ab6dc158c1e59a9a4735f821cf9e1fd
5410
5411commit eb0d8e708a1f958aecd2d6e2ff2450af488d4c2a
5412Author: djm@openbsd.org <djm@openbsd.org>
5413Date: Mon Jul 15 13:16:29 2019 +0000
5414
5415 upstream: support PKCS8 as an optional format for storage of
5416
5417 private keys, enabled via "ssh-keygen -m PKCS8" on operations that save
5418 private keys to disk.
5419
5420 The OpenSSH native key format remains the default, but PKCS8 is a
5421 superior format to PEM if interoperability with non-OpenSSH software
5422 is required, as it may use a less terrible KDF (IIRC PEM uses a single
5423 round of MD5 as a KDF).
5424
5425 adapted from patch by Jakub Jelen via bz3013; ok markus
5426
5427 OpenBSD-Commit-ID: 027824e3bc0b1c243dc5188504526d73a55accb1
5428
5429commit e18a27eedccb024acb3cd9820b650a5dff323f01
5430Author: djm@openbsd.org <djm@openbsd.org>
5431Date: Mon Jul 15 13:11:38 2019 +0000
5432
5433 upstream: two more bounds-checking sshbuf counterparts to common
5434
5435 string operations: sshbuf_cmp() (bcmp-like) and sshbuf_find() (memmem like)
5436
5437 feedback and ok markus@
5438
5439 OpenBSD-Commit-ID: fd071ec2485c7198074a168ff363a0d6052a706a
5440
5441commit bc551dfebb55845537b1095cf3ccd01640a147b7
5442Author: Darren Tucker <dtucker@dtucker.net>
5443Date: Mon Jul 15 12:52:45 2019 +1000
5444
5445 Clear valgrind-out dir to prevent collisions.
5446
5447commit 5db9ba718e983661a9114ae1418f6e412d1f52d5
5448Author: Darren Tucker <dtucker@dtucker.net>
5449Date: Mon Jul 15 12:02:27 2019 +1000
5450
5451 Allow agent tests to write to valgrind dir.
5452
5453commit 121e48fa5305f41f0477d9908e3d862987a68a84
5454Author: djm@openbsd.org <djm@openbsd.org>
5455Date: Sun Jul 14 23:33:19 2019 +0000
5456
5457 upstream: unit tests for sshbuf_peek/poke bounds-checked random access
5458
5459 functions. ok markus@
5460
5461 OpenBSD-Regress-ID: 034c4284b1da6b12e25c762a6b958efacdafbaef
5462
5463commit 101d164723ffbc38f8036b6f3ea3bfef771ba250
5464Author: djm@openbsd.org <djm@openbsd.org>
5465Date: Sun Jul 14 23:32:27 2019 +0000
5466
5467 upstream: add some functions to perform random-access read/write
5468
5469 operations inside buffers with bounds checking. Intended to replace manual
5470 pointer arithmetic wherever possible.
5471
5472 feedback and ok markus@
5473
5474 OpenBSD-Commit-ID: 91771fde7732738f1ffed078aa5d3bee6d198409
5475
5476commit 7250879c72d28275a53f2f220e49646c3e42ef18
5477Author: djm@openbsd.org <djm@openbsd.org>
5478Date: Fri Jul 12 04:08:39 2019 +0000
5479
5480 upstream: include SHA2-variant RSA key algorithms in KEX proposal;
5481
5482 allows ssh-keyscan to harvest keys from servers that disable olde SHA1
5483 ssh-rsa. bz#3029 from Jakub Jelen
5484
5485 OpenBSD-Commit-ID: 9f95ebf76a150c2f727ca4780fb2599d50bbab7a
5486
5487commit a0876bd994cab9ba6e47ba2a163a4417c7597487
5488Author: djm@openbsd.org <djm@openbsd.org>
5489Date: Fri Jul 12 03:56:21 2019 +0000
5490
5491 upstream: print explicit "not modified" message if a file was
5492
5493 requested for resumed download but was considered already complete.
5494
5495 bz#2978 ok dtucker
5496
5497 OpenBSD-Commit-ID: f32084b26a662f16215ee4ca4a403d67e49ab986
5498
5499commit b9b0f2ac9625933db53a35b1c1ce423876630558
5500Author: tb@openbsd.org <tb@openbsd.org>
5501Date: Wed Jul 10 07:04:27 2019 +0000
5502
5503 upstream: Fix a typo and make <esc><right> move right to the
5504
5505 closest end of a word just like <esc><left> moves left to the closest
5506 beginning of a word.
5507
5508 ok djm
5509
5510 OpenBSD-Commit-ID: 6afe01b05ed52d8b12eb1fda6e9af5afb5e198ee
5511
5512commit 8729498a5d239980a91d32f031b34e8c58c52f62
5513Author: Damien Miller <djm@mindrot.org>
5514Date: Wed Jul 10 09:43:19 2019 +1000
5515
5516 fix typo that prevented detection of Linux VRF
5517
5518 Reported by hexiaowen AT huawei.com
5519
5520commit 5b2b79ff7c057ee101518545727ed3023372891d
5521Author: djm@openbsd.org <djm@openbsd.org>
5522Date: Tue Jul 9 04:15:00 2019 +0000
5523
5524 upstream: cap the number of permiopen/permitlisten directives we're
5525
5526 willing to parse on a single authorized_keys line; ok deraadt@
5527
5528 OpenBSD-Commit-ID: a43a752c2555d26aa3fc754805a476f6e3e30f46
5529
5530commit eb0b51dac408fadd1fd13fa6d726ab8fdfcc4152
5531Author: Darren Tucker <dtucker@dtucker.net>
5532Date: Mon Jul 8 17:27:26 2019 +1000
5533
5534 Move log.h include inside ifdefs.
5535
5536 Fixes build on some other platforms that don't have va_list immediately
5537 available (eg NetBSD).
5538
5539commit 43702f8e6fa22a258e25c4dd950baaae0bc656b7
5540Author: Darren Tucker <dtucker@dtucker.net>
5541Date: Sat Jul 6 23:07:04 2019 +1000
5542
5543 Include log.h for debug() and friends.
5544
5545 Should fix some compiler warnings on IRIX (bz#3032).
5546
5547commit 53a6ebf1445a857f5e487b18ee5e5830a9575149
5548Author: Damien Miller <djm@mindrot.org>
5549Date: Mon Jul 8 13:44:32 2019 +1000
5550
5551 sftp-realpath.c needs includes.h
5552
5553commit 4efe1adf05ee5d3fce44320fcff68735891f4ee6
5554Author: Damien Miller <djm@mindrot.org>
5555Date: Mon Jul 8 13:38:39 2019 +1000
5556
5557 remove realpath() compat replacement
5558
5559 We shipped a BSD implementation of realpath() because sftp-server
5560 depended on its behaviour.
5561
5562 OpenBSD is now moving to a more strictly POSIX-compliant realpath(2),
5563 so sftp-server now unconditionally requires its own BSD-style realpath
5564 implementation. As such, there is no need to carry another independant
5565 implementation in openbsd-compat.
5566
5567 ok dtucker@
5568
5569commit 696fb4298e80f2ebcd188986a91b49af3b7ca14c
5570Author: dtucker@openbsd.org <dtucker@openbsd.org>
5571Date: Sun Jul 7 01:05:00 2019 +0000
5572
5573 upstream: Remove some set but never used variables. ok daraadt@
5574
5575 OpenBSD-Commit-ID: 824baf9c59afc66a4637017e397b9b74a41684e7
5576
5577commit 156e9e85e92b46ca90226605d9eff49e8ec31b22
5578Author: deraadt@openbsd.org <deraadt@openbsd.org>
5579Date: Fri Jul 5 12:35:40 2019 +0000
5580
5581 upstream: still compile uuencode.c, unbreaks build
5582
5583 OpenBSD-Commit-ID: 5ea3d63ab972691f43e9087ab5fd8376d48e898f
5584
5585commit cec9ee527a12b1f6c2e0a1c155fec64a38d71cf6
5586Author: djm@openbsd.org <djm@openbsd.org>
5587Date: Fri Jul 5 07:32:01 2019 +0000
5588
5589 upstream: revert header removal that snuck into previous
5590
5591 OpenBSD-Commit-ID: 3919cdd58989786660b8269b325646ef8856428e
5592
5593commit 569b650f93b561c09c655f83f128e1dfffe74101
5594Author: djm@openbsd.org <djm@openbsd.org>
5595Date: Fri Jul 5 04:55:40 2019 +0000
5596
5597 upstream: add a local implementation of BSD realpath() for
5598
5599 sftp-server use ahead of OpenBSD's realpath changing to match POSIX;
5600
5601 ok deraadt@ (thanks for snaps testing)
5602
5603 OpenBSD-Commit-ID: 4f8cbf7ed8679f6237264301d104ecec64885d55
5604
5605commit b8e2b797362526437e0642a6c2f2970d794f2561
5606Author: Darren Tucker <dtucker@dtucker.net>
5607Date: Sat Jul 6 13:13:57 2019 +1000
5608
5609 Add prototype for strnlen to prevent warnings.
5610
5611commit 4c3e00b1ed7e596610f34590eb5d54ee50d77878
5612Author: Darren Tucker <dtucker@dtucker.net>
5613Date: Sat Jul 6 13:02:34 2019 +1000
5614
5615 Cast *ID types to unsigned long when printing.
5616
5617 UID and GID types vary by platform so cast to u_long and use %lu when
5618 printing them to prevent warnings.
5619
5620commit 2753521e899f30d1d58b5da0b4e68fde6fcf341e
5621Author: Darren Tucker <dtucker@dtucker.net>
5622Date: Sat Jul 6 12:54:43 2019 +1000
5623
5624 Add prototype for compat strndup.(bz#3032).
5625
5626commit 01a1e21cd55d99293c8ff8ed7c590f2ee440da43
5627Author: Darren Tucker <dtucker@dtucker.net>
5628Date: Sat Jul 6 12:00:41 2019 +1000
5629
5630 Add missing bracket in EGD seeding code.
5631
5632 When configured --with-prngd-socket the code had a missing bracket after
5633 an API change. Fix that and a couple of warnings. bz#3032 , from
5634 ole.weidner at protonmail.ch
5635
5636commit e187b1d4607392cf2c19243afe0d0311a4ff3591
5637Author: dtucker@openbsd.org <dtucker@openbsd.org>
5638Date: Fri Jul 5 04:19:39 2019 +0000
5639
5640 upstream: Add (recently added) rsa_oldfmt to CLEANFILES.
5641
5642 OpenBSD-Regress-ID: 405beda94e32aa6cc9c80969152fab91f7c54bd3
5643
5644commit 74b541bfabdcb57c1683cd9b3f1d1f4d5e41563e
5645Author: dtucker@openbsd.org <dtucker@openbsd.org>
5646Date: Fri Jul 5 04:12:46 2019 +0000
5647
5648 upstream: Adapt the PuTTY/Conch tests to new key names.
5649
5650 A recent regress change (2a9b3a2ce411d16cda9c79ab713c55f65b0ec257 in
5651 portable) broke the PuTTY and Twisted Conch interop tests, because the
5652 key they want to use is now called ssh-rsa rather than rsa. Adapt the
5653 tests to the new file names. bz#3020, patch from cjwatson at debian.org.
5654
5655 OpenBSD-Regress-ID: fd342a37db4d55aa4ec85316f73082c8eb96e64e
5656
5657commit de08335a4cfaa9b7081e94ea4a8b7153c230546d
5658Author: dtucker@openbsd.org <dtucker@openbsd.org>
5659Date: Fri Jul 5 04:03:13 2019 +0000
5660
5661 upstream: Add a sleep to allow forwards to come up.
5662
5663 Currently when the multiplex client requests a forward it returns
5664 once the request has been sent but not necessarily when the forward
5665 is up. This causes intermittent text failures due to this race,
5666 so add some sleeps to mitigate this until we can fix it properly.
5667
5668 OpenBSD-Regress-ID: 384c7d209d2443d25ea941d7f677e932621fb253
5669
5670commit 4d249284729f864faa2e8f3e015f9a41b674544a
5671Author: Darren Tucker <dtucker@dtucker.net>
5672Date: Fri Jul 5 14:58:57 2019 +1000
5673
5674 Remove nc stderr redirection to resync w/OpenBSD.
5675
5676commit c5cfa90e03432181ffcc7ad3f9f815179bd0c626
5677Author: Darren Tucker <dtucker@dtucker.net>
5678Date: Fri Jul 5 13:21:45 2019 +1000
5679
5680 Do not fatal on failed lookup of group "tty".
5681
5682 Some platforms (eg AIX and Cygwin) do not have a "tty" group. In those
5683 cases we will fall back to making the tty device the user's primary
5684 group, so do not fatal if the group lookup fails. ok djm@
5685
5686commit 8b4cc4bdc8a70bf209a274fa2b2a49c1e3c8d8a2
5687Author: deraadt@openbsd.org <deraadt@openbsd.org>
5688Date: Thu Jul 4 16:20:10 2019 +0000
5689
5690 upstream: fatal() if getgrnam() cannot find "tty"
5691
5692 OpenBSD-Commit-ID: d148c1c052fa0ed7d105b5428b5c1bab91630048
5693
5694commit 48cccc275c6a1e91d3f80fdb0dc0d5baf529aeca
5695Author: deraadt@openbsd.org <deraadt@openbsd.org>
5696Date: Thu Jul 4 16:16:51 2019 +0000
5697
5698 upstream: stat() returns precisely -1 to indicate error
5699
5700 OpenBSD-Commit-ID: 668e8d022ed4ab847747214f64119e5865365fa1
5701
5702commit 8142fcaf9ed8ff66252deecbfd29fc59d5f2df4f
5703Author: deraadt@openbsd.org <deraadt@openbsd.org>
5704Date: Wed Jul 3 03:24:02 2019 +0000
5705
5706 upstream: snprintf/vsnprintf return < 0 on error, rather than -1.
5707
5708 OpenBSD-Commit-ID: a261c421140a0639bb2b66bbceca72bf8239749d
5709
5710commit 4d28fa78abce2890e136281950633fae2066cc29
5711Author: deraadt@openbsd.org <deraadt@openbsd.org>
5712Date: Fri Jun 28 13:35:04 2019 +0000
5713
5714 upstream: When system calls indicate an error they return -1, not
5715
5716 some arbitrary value < 0. errno is only updated in this case. Change all
5717 (most?) callers of syscalls to follow this better, and let's see if this
5718 strictness helps us in the future.
5719
5720 OpenBSD-Commit-ID: 48081f00db7518e3b712a49dca06efc2a5428075
5721
5722commit e8c974043c1648eab0ad67a7ba6a3e444fe79d2d
5723Author: deraadt@openbsd.org <deraadt@openbsd.org>
5724Date: Fri Jun 28 05:44:09 2019 +0000
5725
5726 upstream: asprintf returns -1, not an arbitrary value < 0. Also
5727
5728 upon error the (very sloppy specification) leaves an undefined value in *ret,
5729 so it is wrong to inspect it, the error condition is enough. discussed a
5730 little with nicm, and then much more with millert until we were exasperated
5731
5732 OpenBSD-Commit-ID: 29258fa51edf8115d244b9d4b84028487bf8923e
5733
5734commit 1b2d55d15c6240c15a1e1cf4203b82e54a766272
5735Author: deraadt@openbsd.org <deraadt@openbsd.org>
5736Date: Fri Jun 28 01:23:50 2019 +0000
5737
5738 upstream: oops, from asou
5739
5740 OpenBSD-Commit-ID: 702e765d1639b732370d8f003bb84a1c71c4d0c6
5741
5742commit 5cdbaa78fcb718c39af4522d98016ad89d065427
5743Author: deraadt@openbsd.org <deraadt@openbsd.org>
5744Date: Thu Jun 27 18:03:37 2019 +0000
5745
5746 upstream: Some asprintf() calls were checked < 0, rather than the
5747
5748 precise == -1. ok millert nicm tb, etc
5749
5750 OpenBSD-Commit-ID: caecf8f57938685c04f125515b9f2806ad408d53
5751
5752commit b2e3e57be4a933d9464bccbe592573725765486f
5753Author: djm@openbsd.org <djm@openbsd.org>
5754Date: Thu Jun 27 06:29:35 2019 +0000
5755
5756 upstream: fix NULL deference (bzero) on err
5757
5758 =?UTF-8?q?or=20path=20added=20in=20last=20commit;=20spotted=20by=20Reynir?=
5759 =?UTF-8?q?=20Bj=C3=B6rnsson?=
5760 MIME-Version: 1.0
5761 Content-Type: text/plain; charset=UTF-8
5762 Content-Transfer-Encoding: 8bit
5763
5764 ok deraadt@ markus@ tb@
5765
5766 OpenBSD-Commit-ID: b11b084bcc551b2c630560eb08618dd501027bbd
5767
5768commit 58ceacdcbaebefc77d120712de55c6fc6aa32bb1
5769Author: Jitendra Sharma <jitendra.sharma@intel.com>
5770Date: Fri Jun 21 09:54:17 2019 +0530
5771
5772 Update README doc to include missing test cases
5773
5774 Readme regress document is missing various individual tests,
5775 which are supported currently. Update README to
5776 include those test cases.
5777
5778commit 7959330a554051b5587f8af3fec0c2c0d5820f64
5779Author: dtucker@openbsd.org <dtucker@openbsd.org>
5780Date: Wed Jun 26 22:29:43 2019 +0000
5781
5782 upstream: Remove unneeded unlink of xauthfile o
5783
5784 =?UTF-8?q?n=20error=20path.=20=20From=20Erik=20Sj=C3=B6lund=20via=20githu?=
5785 =?UTF-8?q?b,=20ok=20djm@=20deraadt@?=
5786 MIME-Version: 1.0
5787 Content-Type: text/plain; charset=UTF-8
5788 Content-Transfer-Encoding: 8bit
5789
5790 OpenBSD-Commit-ID: 62a4893cf83b29a4bbfedc40e7067c25c203e632
5791
5792commit 8de52eb224143783a49f9bddd9ab7800022a8276
5793Author: djm@openbsd.org <djm@openbsd.org>
5794Date: Sun Jun 23 12:21:46 2019 +0000
5795
5796 upstream: fix mismatch proto/decl from key shielding change; spotted
5797
5798 via oss-fuzz
5799
5800 OpenBSD-Commit-ID: 1ea0ba05ded2c5557507bd844cd446e5c8b5b3b7
5801
5802commit 1dfadb9b57c2985c95838a0292d1c2f6a501896e
5803Author: djm@openbsd.org <djm@openbsd.org>
5804Date: Fri Jun 21 04:21:45 2019 +0000
5805
5806 upstream: adapt for key shielding API changes (const removal)
5807
5808 OpenBSD-Regress-ID: 298890bc52f0cd09dba76dc1022fabe89bc0ded6
5809
5810commit 4f7a56d5e02e3d04ab69eac1213817a7536d0562
5811Author: djm@openbsd.org <djm@openbsd.org>
5812Date: Fri Jun 21 04:21:04 2019 +0000
5813
5814 upstream: Add protection for private keys at rest in RAM against
5815
5816 speculation and memory sidechannel attacks like Spectre, Meltdown, Rowhammer
5817 and Rambleed. This change encrypts private keys when they are not in use with
5818 a symmetic key that is derived from a relatively large "prekey" consisting of
5819 random data (currently 16KB).
5820
5821 Attackers must recover the entire prekey with high accuracy before
5822 they can attempt to decrypt the shielded private key, but the current
5823 generation of attacks have bit error rates that, when applied
5824 cumulatively to the entire prekey, make this unlikely.
5825
5826 Implementation-wise, keys are encrypted "shielded" when loaded and then
5827 automatically and transparently unshielded when used for signatures or
5828 when being saved/serialised.
5829
5830 Hopefully we can remove this in a few years time when computer
5831 architecture has become less unsafe.
5832
5833 been in snaps for a bit already; thanks deraadt@
5834
5835 ok dtucker@ deraadt@
5836
5837 OpenBSD-Commit-ID: 19767213c312e46f94b303a512ef8e9218a39bd4
5838
5839commit 4cd6b12cc9c10bf59c8b425041f3ea5091285a0f
5840Author: djm@openbsd.org <djm@openbsd.org>
5841Date: Fri Jun 21 03:19:59 2019 +0000
5842
5843 upstream: print the correct AuthorizedPrincipalsCommand rather than
5844
5845 an uninitialised variable; spotted by dtucker@
5846
5847 OpenBSD-Commit-ID: 02802018784250f68202f01c8561de82e17b0638
5848
5849commit 5f68ab436b0e01751d564e9a9041e6ac3673e45a
5850Author: jmc@openbsd.org <jmc@openbsd.org>
5851Date: Wed Jun 19 20:12:44 2019 +0000
5852
5853 upstream: from tim: - for reput, it is remote-path which is
5854
5855 optional, not local-path - sync help
5856
5857 from deraadt:
5858 - prefer -R and undocument -r (but add a comment for future editors)
5859
5860 from schwarze:
5861 - prefer -p and undocument -P (as above. the comment was schwarze's too)
5862
5863 more:
5864 - add the -f flag to reput and reget
5865 - sort help (i can;t remember who suggested this originally)
5866
5867 djm and deraadt were ok with earlier versions of this;
5868 tim and schwarze ok
5869
5870 OpenBSD-Commit-ID: 3c699b53b46111f5c57eed4533f132e7e58bacdd
5871
5872commit 99bcbbc77fbd5a5027031f42a5931b21b07c947e
5873Author: djm@openbsd.org <djm@openbsd.org>
5874Date: Fri Jun 14 04:03:48 2019 +0000
5875
5876 upstream: check for convtime() refusing to accept times that
5877
5878 resolve to LONG_MAX Reported by Kirk Wolf bz2977; ok dtucker
5879
5880 OpenBSD-Regress-ID: 15c9fe87be1ec241d24707006a31123d3a3117e0
5881
5882commit e5cccb2410247c9b8151b9510a876abdf5424b24
5883Author: dtucker@openbsd.org <dtucker@openbsd.org>
5884Date: Sun Apr 28 22:53:26 2019 +0000
5885
5886 upstream: Add unit tests for user@host and URI parsing.
5887
5888 OpenBSD-Regress-ID: 69d5b6f278e04ed32377046f7692c714c2d07a68
5889
5890commit 0bb7e38834e3f9886302bbaea630a6b0f8cfb520
5891Author: dtucker@openbsd.org <dtucker@openbsd.org>
5892Date: Thu Apr 18 18:57:16 2019 +0000
5893
5894 upstream: Add tests for sshd -T -C with Match.
5895
5896 OpenBSD-Regress-ID: d4c34916fe20d717692f10ef50b5ae5a271c12c7
5897
5898commit 73eb6cef41daba0359c1888e4756108d41b4e819
5899Author: Darren Tucker <dtucker@dtucker.net>
5900Date: Sun Jun 16 12:55:27 2019 +1000
5901
5902 Include stdio.h for vsnprintf.
5903
5904 Patch from mforney at mforney.org.
5905
5906commit adcaf40fd0a180e6cb5798317fdf479b52e3c09a
5907Author: Darren Tucker <dtucker@dtucker.net>
5908Date: Sat Jun 8 09:07:04 2019 +1000
5909
5910 upstream rev 1.27: fix integer overflow.
5911
5912 Cast bitcount to u_in64_t before bit shifting to prevent integer overflow
5913 on 32bit platforms which cause incorrect results when adding a block
5914 >=512M in size. sha1 patch from ante84 at gmail.com via openssh github,
5915 sha2 with djm@, ok tedu@
5916
5917commit 7689048e6103d3c34cba24ac5aeea7bf8405d19a
5918Author: Darren Tucker <dtucker@dtucker.net>
5919Date: Sat Jun 8 09:06:06 2019 +1000
5920
5921 upstream rev 1.25: add DEF_WEAK.
5922
5923 Wrap blowfish, sha*, md5, and rmd160 so that internal calls go direct
5924 ok deraadt@
5925
5926commit 55f3153393ac7e072a4b4b21b194864460d8f44a
5927Author: Darren Tucker <dtucker@dtucker.net>
5928Date: Sat Jun 8 09:02:24 2019 +1000
5929
5930 upstream rev 1.25: add sys/types.h
5931
5932commit 10974f986fa842a3a3a693e3d5761072540002b4
5933Author: Darren Tucker <dtucker@dtucker.net>
5934Date: Sat Jun 8 09:01:14 2019 +1000
5935
5936 upstream: Use explicit_bzero instead of memset
5937
5938 in hash Final and End functions. OK deraadt@ djm@
5939
5940commit cb8f56570f70b00abae4267d4bcce2bfae7dfff6
5941Author: djm@openbsd.org <djm@openbsd.org>
5942Date: Fri Jun 14 04:13:58 2019 +0000
5943
5944 upstream: slightly more instructive error message when the user
5945
5946 specifies multiple -J options on the commandline. bz3015 ok dtucker@
5947
5948 OpenBSD-Commit-ID: 181c15a65cac3b575819bc8d9a56212c3c748179
5949
5950commit 2317ce4b0ed7d8c4b0c684e2d47bff5006bd1178
5951Author: djm@openbsd.org <djm@openbsd.org>
5952Date: Fri Jun 14 03:51:47 2019 +0000
5953
5954 upstream: process agent requests for RSA certificate private keys using
5955
5956 correct signature algorithm when requested. Patch from Jakub Jelen in bz3016
5957 ok dtucker markus
5958
5959 OpenBSD-Commit-ID: 61f86efbeb4a1857a3e91298c1ccc6cf49b79624
5960
5961commit c95b90d40170473825904be561b1eafba354f376
5962Author: djm@openbsd.org <djm@openbsd.org>
5963Date: Fri Jun 14 03:39:59 2019 +0000
5964
5965 upstream: for public key authentication, check AuthorizedKeysFiles
5966
5967 files before consulting AuthorizedKeysCommand; ok dtucker markus
5968
5969 OpenBSD-Commit-ID: 13652998bea5cb93668999c39c3c48e8429db8b3
5970
5971commit a5a53914989ddd3521b6edc452bc3291784a4f4f
5972Author: djm@openbsd.org <djm@openbsd.org>
5973Date: Fri Jun 14 03:28:19 2019 +0000
5974
5975 upstream: if passed a bad fd, log what it was
5976
5977 OpenBSD-Commit-ID: 582e2bd05854e49365195b58989b68ac67f09140
5978
5979commit 7349149da1074d82b71722338e05b6a282f126cc
5980Author: jmc@openbsd.org <jmc@openbsd.org>
5981Date: Wed Jun 12 11:31:50 2019 +0000
5982
5983 upstream: Hostname->HostName cleanup; from lauri tirkkonen ok
5984
5985 dtucker
5986
5987 OpenBSD-Commit-ID: 4ade73629ede63b691f36f9a929f943d4e7a44e4
5988
5989commit 76af9c57387243556d38935555c227d0b34062c5
5990Author: jmc@openbsd.org <jmc@openbsd.org>
5991Date: Wed Jun 12 05:53:21 2019 +0000
5992
5993 upstream: deraadt noticed some inconsistency in the way we denote
5994
5995 the "Hostname" and "X11UseLocalhost" keywords; this makes things consistent
5996 (effectively reversing my commit of yesterday);
5997
5998 ok deraadt markus djm
5999
6000 OpenBSD-Commit-ID: 255c02adb29186ac91dcf47dfad7adb1b1e54667
6001
6002commit d1bbfdd932db9b9b799db865ee1ff50060dfc895
6003Author: jmc@openbsd.org <jmc@openbsd.org>
6004Date: Tue Jun 11 13:39:40 2019 +0000
6005
6006 upstream: consistent lettering for "HostName" keyword; from lauri
6007
6008 tirkkonen
6009
6010 OpenBSD-Commit-ID: 0c267a1257ed7482b13ef550837b6496e657d563
6011
6012commit fc0340f7c4ee29bfb12bd1de9f99defa797e16b4
6013Author: Darren Tucker <dtucker@dtucker.net>
6014Date: Sat Jun 8 00:10:59 2019 +1000
6015
6016 Typo fixes in error messages.
6017
6018 Patch from knweiss at gmail.com via github pull req #97 (portable-
6019 specific parts).
6020
6021commit 4b7dd22b02b64b1ededd3c0e98a6e7ae21e31d38
6022Author: dtucker@openbsd.org <dtucker@openbsd.org>
6023Date: Fri Jun 7 14:18:48 2019 +0000
6024
6025 upstream: Typo and spelling fixes in comments and error messages.
6026
6027 Patch from knweiss at gmail.com via -portable.
6028
6029 OpenBSD-Commit-ID: 2577465442f761a39703762c4f87a8dfcb918b4b
6030
6031commit 130ef0695e1731392ca33831939fe89e8b70cc17
6032Author: Darren Tucker <dtucker@dtucker.net>
6033Date: Sat Jun 8 00:47:07 2019 +1000
6034
6035 Include missed bits from previous sync.
6036
6037commit 25e3bccbaa63d27b9d5e09c123f1eb28594d2bd6
6038Author: dtucker@openbsd.org <dtucker@openbsd.org>
6039Date: Fri Jun 7 03:47:12 2019 +0000
6040
6041 upstream: Check for user@host when parsing sftp target. This
6042
6043 allows user@[1.2.3.4] to work without a path in addition to with one.
6044 bz#2999, ok djm@
6045
6046 OpenBSD-Commit-ID: d989217110932490ba8ce92127a9a6838878928b
6047
6048commit 0323d9b619d512f80c57575b810a05791891f657
6049Author: otto@openbsd.org <otto@openbsd.org>
6050Date: Thu Jun 6 05:13:13 2019 +0000
6051
6052 upstream: Replace calls to ssh_malloc_init() by a static init of
6053
6054 malloc_options. Prepares for changes in the way malloc is initialized. ok
6055 guenther@ dtucker@
6056
6057 OpenBSD-Commit-ID: 154f4e3e174f614b09f792d4d06575e08de58a6b
6058
6059commit c586d2d3129265ea64b12960c379d634bccb6535
6060Author: djm@openbsd.org <djm@openbsd.org>
6061Date: Fri May 31 03:20:07 2019 +0000
6062
6063 upstream: fix ssh-keysign fd handling problem introduced in r1.304
6064
6065 caused by a typo (STDIN_FILENO vs STDERR_FILENO)
6066
6067 OpenBSD-Commit-ID: 57a0b4be7bef23963afe24150e24bf014fdd9cb0
6068
6069commit 410b231aa41ff830b2f5b09b5aaf5e5cdc1ab86b
6070Author: lum@openbsd.org <lum@openbsd.org>
6071Date: Wed May 29 08:30:26 2019 +0000
6072
6073 upstream: Make the standard output messages of both methods of
6074
6075 changing a key pair's comments (using -c and -C) more applicable to both
6076 methods. ok and suggestions djm@ dtucker@
6077
6078 OpenBSD-Commit-ID: b379338118109eb36e14a65bc0a12735205b3de6
6079
6080commit 2b3402dc9f1d9b0df70291b424f36e436cdfa7e0
6081Author: Darren Tucker <dtucker@dtucker.net>
6082Date: Sat Jun 8 00:03:07 2019 +1000
6083
6084 Always clean up before and after utimensat test.
6085
6086commit 182898192d4b720e4faeafd5b39c2cfb3b92aa21
6087Author: Darren Tucker <dtucker@dtucker.net>
6088Date: Fri Jun 7 23:47:37 2019 +1000
6089
6090 Update utimensat test.
6091
6092 POSIX specifies that when given a symlink, AT_SYMLINK_NOFOLLOW should
6093 update the symlink and not the destination. The compat code doesn't
6094 have a way to do this, so where possible it fails instead of following a
6095 symlink when explicitly asked not to. Instead of checking for an explicit
6096 failure, check that it does not update the destination, which both the
6097 real and compat implmentations should honour.
6098
6099 Inspired by github pull req #125 from chutzpah at gentoo.org.
6100
6101commit d220b675205185e0b4d6b6524acc2e5c599ef0e2
6102Author: Darren Tucker <dtucker@dtucker.net>
6103Date: Fri Jun 7 14:26:54 2019 +1000
6104
6105 Have pthread_create return errno on failure.
6106
6107 According to POSIX, pthread_create returns the failure reason in
6108 the non-zero function return code so make the fork wrapper do that.
6109 Matches previous change.
6110
6111commit 1bd4f7f25f653e0cadb2e6f25d79bc3c35c6aa4d
6112Author: Elliott Hughes <enh@google.com>
6113Date: Thu Apr 25 13:36:27 2019 -0700
6114
6115 pthread_create(3) returns positive values on failure.
6116
6117 Found by inspection after finding similar bugs in other code used by
6118 Android.
6119
6120commit b3a77b25e5f7880222b179431a74fad76d2cf60c
6121Author: Harald Freudenberger <freude@linux.ibm.com>
6122Date: Fri May 24 10:11:15 2019 +0200
6123
6124 allow s390 specific ioctl for ecc hardware support
6125
6126 Adding another s390 specific ioctl to be able to support ECC hardware
6127 acceleration to the sandbox seccomp filter rules.
6128
6129 Now the ibmca openssl engine provides elliptic curve cryptography
6130 support with the help of libica and CCA crypto cards. This is done via
6131 jet another ioctl call to the zcrypt device driver and so there is a
6132 need to enable this on the openssl sandbox.
6133
6134 Code is s390 specific and has been tested, verified and reviewed.
6135
6136 Please note that I am also the originator of the previous changes in
6137 that area. I posted these changes to Eduardo and he forwarded the
6138 patches to the openssl community.
6139
6140 Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
6141 Reviewed-by: Joerg Schmidbauer <jschmidb@de.ibm.com>
6142
6143commit 2459df9aa11820f8092a8651aeb381af7ebbccb1
6144Author: Sorin Adrian Savu <sorin25@users.noreply.github.com>
6145Date: Sun May 26 21:50:08 2019 +0300
6146
6147 openssl-devel is obsoleted by libssl-devel
6148
6149 openssl-devel is no longer installable via the cygwin setup and
6150 it's hidden by default, so you can't see the replacement very easy.
6151
6152commit 85ceb0e64bff672558fc87958cd548f135c83cdd
6153Author: jmc@openbsd.org <jmc@openbsd.org>
6154Date: Mon May 20 06:01:59 2019 +0000
6155
6156 upstream: tweak previous;
6157
6158 OpenBSD-Commit-ID: 42f39f22f53cfcb913bce401ae0f1bb93e08dd6c
6159
6160commit 30615295609f5c57b3137b3021fe63bfa45c1985
6161Author: djm@openbsd.org <djm@openbsd.org>
6162Date: Mon May 20 00:25:55 2019 +0000
6163
6164 upstream: embiggen format buffer size for certificate serial number so
6165
6166 that it will fit a full 64 bit integer. bz#3012 from Manoel Domingues Junior
6167
6168 OpenBSD-Commit-ID: a51f3013056d05b976e5af6b978dcb9e27bbc12b
6169
6170commit 476e3551b2952ef73acc43d995e832539bf9bc4d
6171Author: djm@openbsd.org <djm@openbsd.org>
6172Date: Mon May 20 00:20:35 2019 +0000
6173
6174 upstream: When signing certificates with an RSA key, default to
6175
6176 using the rsa-sha2-512 signature algorithm. Certificates signed by RSA keys
6177 will therefore be incompatible with OpenSSH < 7.2 unless the default is
6178 overridden.
6179
6180 Document the ability of the ssh-keygen -t flag to override the
6181 signature algorithm when signing certificates, and the new default.
6182
6183 ok deraadt@
6184
6185 OpenBSD-Commit-ID: 400c9c15013978204c2cb80f294b03ae4cfc8b95
6186
6187commit 606077ee1e77af5908431d003fb28461ef7be092
6188Author: Darren Tucker <dtucker@dtucker.net>
6189Date: Fri May 17 13:14:12 2019 +1000
6190
6191 Add no-op implementation of pam_putenv.
6192
6193 Some platforms such as HP-UX do not have pam_putenv. Currently the
6194 calls are ifdef'ed out, but a new one was recently added. Remove the
6195 ifdefs and add a no-op implementation. bz#3008, ok djm.
6196
6197commit 1ac98be8724c9789d770ddb8e7f0dbf1b55e05a0
6198Author: Darren Tucker <dtucker@dtucker.net>
6199Date: Fri May 17 12:42:17 2019 +1000
6200
6201 Use the correct macro for SSH_ALLOWED_CA_SIGALGS.
6202
6203commit 97370f6c2c3b825f8c577b7e6c00b1a98d30a6cf
6204Author: Darren Tucker <dtucker@dtucker.net>
6205Date: Fri May 17 10:54:51 2019 +1000
6206
6207 Fix building w/out ECC.
6208
6209 Ifdef out ECC specific code so that that it'll build against an OpenSSL
6210 configured w/out ECC. With & ok djm@
6211
6212commit 633703babf8d9a88da85f23b800e1b88dec7cdbd
6213Author: Darren Tucker <dtucker@dtucker.net>
6214Date: Fri May 17 10:50:29 2019 +1000
6215
6216 Conditionalize ECDH methods in CA algos.
6217
6218 When building against an OpenSSL configured without ECC, don't include
6219 those algos in CASignatureAlgorithms. ok djm@
6220
6221commit 5c8d14c512f5d413095b22bdba08a6bb990f1e97
6222Author: dtucker@openbsd.org <dtucker@openbsd.org>
6223Date: Thu May 16 08:47:27 2019 +0000
6224
6225 upstream: Move a variable declaration to the block where it's used
6226
6227 to make things a little tidier for -portable.
6228
6229 OpenBSD-Commit-ID: 616379861be95619e5358768b7dee4793e2f3a75
6230
6231commit a1d29cc36a5e6eeabc935065a8780e1ba5b67014
6232Author: deraadt@openbsd.org <deraadt@openbsd.org>
6233Date: Wed May 15 04:43:31 2019 +0000
6234
6235 upstream: When doing the fork+exec'ing for ssh-keysign, rearrange
6236
6237 the socket into fd3, so as to not mistakenly leak other fd forward
6238 accidentally. ok djm
6239
6240 OpenBSD-Commit-ID: 24cc753f5aa2c6a7d0fbf62766adbc75cd785296
6241
6242commit db7606d4a62fee67b0cb2f32dfcbd7b3642bfef5
6243Author: schwarze@openbsd.org <schwarze@openbsd.org>
6244Date: Tue May 14 12:47:17 2019 +0000
6245
6246 upstream: Delete some .Sx macros that were used in a wrong way.
6247
6248 Part of a patch from Stephen Gregoratto <dev at sgregoratto dot me>.
6249
6250 OpenBSD-Commit-ID: 15501ed13c595f135e7610b1a5d8345ccdb513b7
6251
6252commit cb4accb1233865d9151f8a50cc5f0c61a3fd4077
6253Author: florian@openbsd.org <florian@openbsd.org>
6254Date: Fri May 10 18:55:17 2019 +0000
6255
6256 upstream: For PermitOpen violations add the remote host and port to
6257
6258 be able to find out from where the request was comming.
6259
6260 Add the same logging for PermitListen violations which where not
6261 logged at all.
6262
6263 Pointed out by Robert Kisteleki (robert AT ripe.net)
6264
6265 input markus
6266 OK deraadt
6267
6268 OpenBSD-Commit-ID: 8a7d0f1b7175504c0d1dca8d9aca1588b66448c8
6269
6270commit cd16aceec148d55088fc8df6be88335578d85258
6271Author: Darren Tucker <dtucker@dtucker.net>
6272Date: Thu May 16 07:53:20 2019 +1000
6273
6274 Add OpenSSL 1.1.1 to the supported list.
6275
6276 Clarify the language around prngd and egd.
6277
6278commit 6fd4aa2aafbce90acb11a328ca0aa0696cb01c6b
6279Author: Darren Tucker <dtucker@dtucker.net>
6280Date: Wed May 15 16:19:14 2019 +1000
6281
6282 Fix typo in man page formatter selector.
6283
6284commit 285546b73e2c172565c992a695927ac8cf3b4cc6
6285Author: Darren Tucker <dtucker@dtucker.net>
6286Date: Fri May 10 15:04:42 2019 +1000
6287
6288 Use "doc" man page format if mandoc present.
6289
6290 Previously configure would not select the "doc" man page format if
6291 mandoc was present but nroff was not. This checks for mandoc first
6292 and removes a now-superflous AC_PATH_PROG. Based on a patch from
6293 vehk at vehk.de and feedback from schwarze at usta.de.
6294
6295commit 62dd70613b77b229f53db3cc1c3e8a206fa2b582
6296Author: dtucker@openbsd.org <dtucker@openbsd.org>
6297Date: Fri May 3 06:06:30 2019 +0000
6298
6299 upstream: Use the correct (according to POSIX) format for
6300
6301 left-justification in snmprintf. bz#3002, patch from velemas at gmail.com, ok
6302 markus@.
6303
6304 OpenBSD-Commit-ID: 65d252b799be0cc8f68b6c47cece0a57bb00fea7
6305
6306commit 62be1ffe5ffc68cfaac183320503c00a8c72e0b1
6307Author: dtucker@openbsd.org <dtucker@openbsd.org>
6308Date: Fri May 3 04:11:00 2019 +0000
6309
6310 upstream: Free channel objects on exit path. Patch from markus at
6311
6312 blueflash.cc, ok deraadt
6313
6314 OpenBSD-Commit-ID: dbe4db381603909482211ffdd2b48abd72169117
6315
6316commit 1c554a5d94b9de6bd5374e2992a5662746cc39ba
6317Author: dtucker@openbsd.org <dtucker@openbsd.org>
6318Date: Fri May 3 03:27:38 2019 +0000
6319
6320 upstream: Free host on exit path. Patch from markus at
6321
6322 blueflash.cc, ok djm@
6323
6324 OpenBSD-Commit-ID: c54e9945d93c4ce28350d8b9fa8b71f744ef2b5a
6325
6326commit 99043bd64e5e0f427173f4fa83ef25a4676624a3
6327Author: dtucker@openbsd.org <dtucker@openbsd.org>
6328Date: Fri May 3 03:25:18 2019 +0000
6329
6330 upstream: Wrap XMSS including in ifdef. Patch from markus at
6331
6332 blueflash.cc, ok djm
6333
6334 OpenBSD-Commit-ID: e3b34fc35cf12d33bde91ac03633210a3bc0f8b5
6335
6336commit 8fcfb7789c43a19d24162a7a4055cd09ee951b34
6337Author: dtucker@openbsd.org <dtucker@openbsd.org>
6338Date: Fri Apr 26 08:37:17 2019 +0000
6339
6340 upstream: Import regenerated moduli.
6341
6342 OpenBSD-Commit-ID: db6375fc302e3bdf07d96430c63c991b2c2bd3ff
6343
6344commit 3a7db919d5dd09f797971b3cf8ee301767459774
6345Author: dtucker@openbsd.org <dtucker@openbsd.org>
6346Date: Tue Apr 23 11:56:41 2019 +0000
6347
6348 upstream: Use the LogLevel typdef instead of int where appropriate. Patch from Markus Schmidt via openssh-unix-dev, ok markus@
6349
6350 OpenBSD-Commit-ID: 4c0f0f458e3da7807806b35e3eb5c1e8403c968a
6351
6352commit d7c6e38b87efab1f140745fd8b1106b82e6e4a68
6353Author: dtucker@openbsd.org <dtucker@openbsd.org>
6354Date: Fri Apr 19 05:47:44 2019 +0000
6355
6356 upstream: Document new default RSA key size. From
6357
6358 sebastiaanlokhorst at gmail.com via bz#2997.
6359
6360 OpenBSD-Commit-ID: bdd62ff5d4d649d2147904e91bf7cefa82fe11e1
6361
6362commit e826bbcafe26dac349a8593da5569e82faa45ab8
6363Author: dtucker@openbsd.org <dtucker@openbsd.org>
6364Date: Thu Apr 18 18:56:16 2019 +0000
6365
6366 upstream: When running sshd -T, assume any attibute not provided by
6367
6368 -C does not match, which allows it to work when sshd_config contains a Match
6369 directive with or without -C. bz#2858, ok djm@
6370
6371 OpenBSD-Commit-ID: 1a701f0a33e3bc96753cfda2fe0b0378520b82eb
6372
6373commit 5696512d7ad57e85e89f8011ce8dec617be686aa
6374Author: dtucker@openbsd.org <dtucker@openbsd.org>
6375Date: Thu Apr 18 07:32:56 2019 +0000
6376
6377 upstream: Remove crc32.{c,h} which were only used by the now-gone
6378
6379 SSH1 protocol. Patch from yumkam at gmail.com, ok deraadt.
6380
6381 OpenBSD-Commit-ID: cceda5876c5ba6b4d8abcd52335329198cee3240
6382
6383commit 34e87fb5d9ce607f5701ab4c31d837ad8133e2d1
6384Author: Darren Tucker <dtucker@dtucker.net>
6385Date: Tue Apr 30 12:27:57 2019 +1000
6386
6387 Remove unused variables from RLIMIT_NOFILE test.
6388
6389commit 35e82e62c1ef53cfa457473a4c4d957d6197371a
6390Author: Darren Tucker <dtucker@dtucker.net>
6391Date: Fri Apr 26 18:38:27 2019 +1000
6392
6393 Import regenerated moduli.
6394
6395commit 5590f53f99219e95dc23b0ebd220f19a6f46b101
6396Author: Darren Tucker <dtucker@dtucker.net>
6397Date: Fri Apr 26 18:22:10 2019 +1000
6398
6399 Whitespace resync w/OpenBSD.
6400
6401 Patch from markus at blueflash.cc via openssh-unix-dev.
6402
6403commit b7b8334914fb9397a6725f3b5d2de999b0bb69ac
6404Author: Darren Tucker <dtucker@dtucker.net>
6405Date: Fri Apr 26 18:06:34 2019 +1000
6406
6407 Don't install duplicate STREAMS modules on Solaris
6408
6409 Check if STREAMS modules are already installed on pty before installing
6410 since when compiling with XPG>=4 they will likely be installed already.
6411 Prevents hangs and duplicate lines on the terminal. bz#2945 and bz#2998,
6412 patch from djm@
6413
6414commit fd0fa130ecf06d7d092932adcd5d77f1549bfc8d
6415Author: Damien Miller <djm@mindrot.org>
6416Date: Thu Apr 18 08:52:57 2019 +1000
6417
6418 makedepend
6419
6420commit 5de397a876b587ba05a9169237deffdc71f273b0
6421Author: Damien Miller <djm@mindrot.org>
6422Date: Fri Apr 5 11:29:51 2019 -0700
6423
6424 second thoughts: leave README in place
6425
6426 A number of contrib/* files refer to the existing README so let's leave
6427 it in place for release and add the new markdown version in parallel.
6428
6429 I'll get rid of README after release.
6430
6431commit 5d3127d9274519b25ed10e320f45045ba8d7f3be
6432Author: Damien Miller <djm@mindrot.org>
6433Date: Fri Apr 5 11:29:31 2019 -0700
6434
6435 Revert "rewrite README"
6436
6437 This reverts commit 9444d82678cb7781820da4d1c23b3c2b9fb1e12f.
6438
6439commit 9444d82678cb7781820da4d1c23b3c2b9fb1e12f
6440Author: Damien Miller <djm@mindrot.org>
6441Date: Fri Apr 5 11:21:48 2019 -0700
6442
6443 rewrite README
6444
6445 Include basic build instructions and comments on commonly-used build-
6446 time flags, links to the manual pages and other resources.
6447
6448 Now in Markdown format for better viewing on github, etc.
6449
6450commit a924de0c4908902433813ba205bee1446bd1a157
6451Author: Damien Miller <djm@mindrot.org>
6452Date: Fri Apr 5 03:41:52 2019 +1100
6453
6454 update versions
6455
6456commit 312dcee739bca5d6878c536537b2a8a497314b75
6457Author: djm@openbsd.org <djm@openbsd.org>
6458Date: Wed Apr 3 15:48:45 2019 +0000
6459
6460 upstream: openssh-8.0
6461
6462 OpenBSD-Commit-ID: 5aafdf218679dab982fea20771afd643be9a127b
6463
6464commit 885bc114692046d55e2a170b932bdc0092fa3456
6465Author: Damien Miller <djm@mindrot.org>
6466Date: Thu Apr 4 02:47:40 2019 +1100
6467
6468 session: Do not use removed API
6469
6470 from Jakub Jelen
6471
6472commit 9d7b2882b0c9a5e9bf8312ce4075bf178e2b98be
6473Author: djm@openbsd.org <djm@openbsd.org>
6474Date: Fri Mar 29 11:31:40 2019 +0000
6475
6476 upstream: when logging/fataling on error, include a bit more detail
6477
6478 than just the function name and the error message
6479
6480 OpenBSD-Commit-ID: dd72d7eba2215fcb89be516c378f633ea5bcca9f
6481
6482commit 79a87d32783d6c9db40af8f35e091d9d30365ae7
6483Author: Darren Tucker <dtucker@dtucker.net>
6484Date: Wed Apr 3 06:27:45 2019 +1100
6485
6486 Remove "struct ssh" from sys_auth_record_login.
6487
6488 It's not needed, and is not available from the call site in loginrec.c
6489 Should only affect AIX, spotted by Kevin Brott.
6490
6491commit 138c0d52cdc90f9895333b82fc57d81cce7a3d90
6492Author: Darren Tucker <dtucker@dtucker.net>
6493Date: Tue Apr 2 18:21:35 2019 +1100
6494
6495 Adapt custom_failed_login to new prototype.
6496
6497 Spotted by Kevin Brott.
6498
6499commit a0ca4009ab2f0b1007ec8ab6864dbf9b760a8ed5
6500Author: Darren Tucker <dtucker@dtucker.net>
6501Date: Mon Apr 1 20:07:23 2019 +1100
6502
6503 Add includes.h for compat layer.
6504
6505 Should fix build on AIX 7.2.
6506
6507commit 00991151786ce9b1d577bdad1f83a81d19c8236d
6508Author: Tim Rice <tim@multitalents.net>
6509Date: Sun Mar 31 22:14:22 2019 -0700
6510
6511 Stop USL compilers for erroring with "integral constant expression expected"
6512
6513commit 43f47ebbdd4037b569c23b8f4f7981f53b567f1d
6514Author: Tim Rice <tim@multitalents.net>
6515Date: Sun Mar 31 19:22:19 2019 -0700
6516
6517 Only use O_NOFOLLOW in fchownat and fchmodat if defined
6518
6519commit 342d6e51589b184c337cccfc4c788b60ff8b3765
6520Author: Jakub Jelen <jjelen@redhat.com>
6521Date: Fri Mar 29 12:29:41 2019 +0100
6522
6523 Adjust softhsm2 path on Fedora Linux for regress
6524
6525 The SoftHSM lives in Fedora in /usr/lib64/pkcs11/libsofthsm2.so
6526
6527commit f5abb05f8c7358dacdcb866fe2813f6d8efd5830
6528Author: Darren Tucker <dtucker@dtucker.net>
6529Date: Thu Mar 28 09:26:14 2019 +1100
6530
6531 Only use O_NOFOLLOW in utimensat if defined.
6532
6533 Fixes build on systems that don't have it (Solaris <=9) Found by
6534 Tom G. Christensen.
6535
6536commit 786cd4c1837fdc3fe7b4befe54a3f37db7df8715
6537Author: Corinna Vinschen <vinschen@redhat.com>
6538Date: Wed Mar 27 18:18:21 2019 +0100
6539
6540 drop old Cygwin considerations
6541
6542 - Cygwin supports non-DOS characters in filenames
6543 - Cygwin does not support Windows XP anymore
6544
6545 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
6546
6547commit 21da87f439b48a85b951ef1518fe85ac0273e719
6548Author: djm@openbsd.org <djm@openbsd.org>
6549Date: Wed Mar 27 09:29:14 2019 +0000
6550
6551 upstream: fix interaction between ClientAliveInterval and RekeyLimit
6552
6553 that could cause connection to close incorrectly; Report and patch from Jakub
6554 Jelen in bz#2757; ok dtucker@ markus@
6555
6556 OpenBSD-Commit-ID: 17229a8a65bd8e6c2080318ec2b7a61e1aede3fb
6557
6558commit 4f0019a9afdb4a94d83b75e82dbbbe0cbe826c56
6559Author: djm@openbsd.org <djm@openbsd.org>
6560Date: Mon Mar 25 22:34:52 2019 +0000
6561
6562 upstream: Fix authentication failures when "AuthenticationMethods
6563
6564 any" in a Match block overrides a more restrictive global default.
6565
6566 Spotted by jmc@, ok markus@
6567
6568 OpenBSD-Commit-ID: a90a4fe2ab81d0eeeb8fdfc21af81f7eabda6666
6569
6570commit d6e5def308610f194c0ec3ef97a34a3e9630e190
6571Author: djm@openbsd.org <djm@openbsd.org>
6572Date: Mon Mar 25 22:33:44 2019 +0000
6573
6574 upstream: whitespace
6575
6576 OpenBSD-Commit-ID: 106e853ae8a477e8385bc53824d3884a8159db07
6577
6578commit 26e0cef07b04479537c971dec898741df1290fe5
6579Author: dtucker@openbsd.org <dtucker@openbsd.org>
6580Date: Mon Mar 25 16:19:44 2019 +0000
6581
6582 upstream: Expand comment to document rationale for default key
6583
6584 sizes. "seems worthwhile" deraadt.
6585
6586 OpenBSD-Commit-ID: 72e5c0983d7da1fb72f191870f36cb58263a2456
6587
6588commit f47269ea67eb4ff87454bf0d2a03e55532786482
6589Author: dtucker@openbsd.org <dtucker@openbsd.org>
6590Date: Mon Mar 25 15:49:00 2019 +0000
6591
6592 upstream: Increase the default RSA key size to 3072 bits. Based on
6593
6594 the estimates from NIST Special Publication 800-57, 3k bits provides security
6595 equivalent to 128 bits which is the smallest symmetric cipher we enable by
6596 default. ok markus@ deraadt@
6597
6598 OpenBSD-Commit-ID: 461dd32ebe808f88f4fc3ec74749b0e6bef2276b
6599
6600commit 62949c5b37af28d8490d94866e314a76be683a5e
6601Author: jmc@openbsd.org <jmc@openbsd.org>
6602Date: Fri Mar 22 20:58:34 2019 +0000
6603
6604 upstream: full stop in the wrong place;
6605
6606 OpenBSD-Commit-ID: 478a0567c83553a2aebf95d0f1bd67ac1b1253e4
6607
6608commit 1b1332b5bb975d759a50b37f0e8bc8cfb07a0bb0
6609Author: jmc@openbsd.org <jmc@openbsd.org>
6610Date: Sat Mar 16 19:14:21 2019 +0000
6611
6612 upstream: benno helped me clean up the tcp forwarding section;
6613
6614 OpenBSD-Commit-ID: d4bec27edefde636fb632b7f0b7c656b9c7b7f08
6615
6616commit 2aee9a49f668092ac5c9d34e904ef7a9722e541d
6617Author: markus@openbsd.org <markus@openbsd.org>
6618Date: Fri Mar 8 17:24:43 2019 +0000
6619
6620 upstream: fix use-after-free in ssh-pkcs11; found by hshoexer w/AFL
6621
6622 OpenBSD-Commit-ID: febce81cca72b71f70513fbee4ff52ca050f675c
6623
6624commit 9edbd7821e6837e98e7e95546cede804dac96754
6625Author: Darren Tucker <dtucker@dtucker.net>
6626Date: Thu Mar 14 10:17:28 2019 +1100
6627
6628 Fix build when configured --without-openssl.
6629
6630 ok djm@
6631
6632commit 825ab32f0d04a791e9d19d743c61ff8ed9b4d8e5
6633Author: Darren Tucker <dtucker@dtucker.net>
6634Date: Thu Mar 14 08:51:17 2019 +1100
6635
6636 On Cygwin run sshd as SYSTEM where possible.
6637
6638 Seteuid now creates user token using S4U. We don't create a token
6639 from scratch anymore, so we don't need the "Create a process token"
6640 privilege. The service can run under SYSTEM again...
6641
6642 ...unless Cygwin is running on Windows Vista or Windows 7 in the
6643 WOW64 32 bit emulation layer. It turns out that WOW64 on these systems
6644 didn't implement MsV1_0 S4U Logon so we still need the fallback
6645 to NtCreateToken for these systems.
6646
6647 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
6648
6649commit a212107bfdf4d3e870ab7a443e4d906e5b9578c3
6650Author: Darren Tucker <dtucker@dtucker.net>
6651Date: Wed Mar 13 10:49:16 2019 +1100
6652
6653 Replace alloca with xcalloc.
6654
6655 The latter checks for memory exhaustion and integer overflow and may be
6656 at a less predictable place. Sanity check by vinschen at redhat.com, ok
6657 djm@
6658
6659commit daa7505aadca68ba1a2c70cbdfce423208eb91ee
6660Author: Darren Tucker <dtucker@dtucker.net>
6661Date: Tue Mar 12 09:19:19 2019 +1100
6662
6663 Use Cygwin-specific matching only for users+groups.
6664
6665 Patch from vinschen at redhat.com, updated a little by me.
6666
6667commit fd10cf027b56f9aaa80c9e3844626a05066589a4
6668Author: dtucker@openbsd.org <dtucker@openbsd.org>
6669Date: Wed Mar 6 22:14:23 2019 +0000
6670
6671 upstream: Move checks for lists of users or groups into their own
6672
6673 function. This is a no-op on OpenBSD but will make things easier in
6674 -portable, eg on systems where these checks should be case-insensitive. ok
6675 djm@
6676
6677 OpenBSD-Commit-ID: 8bc9c8d98670e23f8eaaaefe29c1f98e7ba0487e
6678
6679commit ab5fee8eb6a011002fd9e32b1597f02aa8804a25
6680Author: dtucker@openbsd.org <dtucker@openbsd.org>
6681Date: Wed Mar 6 21:06:59 2019 +0000
6682
6683 upstream: Reset last-seen time when sending a keepalive. Prevents
6684
6685 sending two keepalives successively and prematurely terminating connection
6686 when ClientAliveCount=1. While there, collapse two similar tests into one.
6687 ok markus@
6688
6689 OpenBSD-Commit-ID: 043670d201dfe222537a2a4bed16ce1087de5ddd
6690
6691commit c13b74530f9f1d9df7aeae012004b31b2de4438e
6692Author: naddy@openbsd.org <naddy@openbsd.org>
6693Date: Tue Mar 5 16:17:12 2019 +0000
6694
6695 upstream: PKCS#11 support is no longer limited to RSA; ok benno@
6696
6697 kn@
6698
6699 OpenBSD-Commit-ID: 1a9bec64d530aed5f434a960e7515a3e80cbc826
6700
6701commit e9552d6043db7cd170ac6ba1b4d2c7a5eb2c3201
6702Author: djm@openbsd.org <djm@openbsd.org>
6703Date: Fri Mar 1 03:29:32 2019 +0000
6704
6705 upstream: in ssh_set_newkeys(), mention the direction that we're
6706
6707 keying in debug messages. Previously it would be difficult to tell which
6708 direction it was talking about
6709
6710 OpenBSD-Commit-ID: c2b71bfcceb2a7389b9d0b497fb2122a406a522d
6711
6712commit 76a24b3fa193a9ca3e47a8779d497cb06500798b
6713Author: djm@openbsd.org <djm@openbsd.org>
6714Date: Fri Mar 1 02:32:39 2019 +0000
6715
6716 upstream: Fix two race conditions in sshd relating to SIGHUP:
6717
6718 1. Recently-forked child processes will briefly remain listening to
6719 listen_socks. If the main server sshd process completes its restart
6720 via execv() before these sockets are closed by the child processes
6721 then it can fail to listen at the desired addresses/ports and/or
6722 fail to restart.
6723
6724 2. When a SIGHUP is received, there may be forked child processes that
6725 are awaiting their reexecution state. If the main server sshd
6726 process restarts before passing this state, these child processes
6727 will yield errors and use a fallback path of reading the current
6728 sshd_config from the filesystem rather than use the one that sshd
6729 was started with.
6730
6731 To fix both of these cases, we reuse the startup_pipes that are shared
6732 between the main server sshd and forked children. Previously this was
6733 used solely to implement tracking of pre-auth child processes for
6734 MaxStartups, but this extends the messaging over these pipes to include
6735 a child->parent message that the parent process is safe to restart. This
6736 message is sent from the child after it has completed its preliminaries:
6737 closing listen_socks and receiving its reexec state.
6738
6739 bz#2953, reported by Michal Koutný; ok markus@ dtucker@
6740
6741 OpenBSD-Commit-ID: 7df09eacfa3ce13e9a7b1e9f17276ecc924d65ab
6742
6743commit de817e9dfab99473017d28cdf69e60397d00ea21
6744Author: djm@openbsd.org <djm@openbsd.org>
6745Date: Fri Mar 1 02:16:47 2019 +0000
6746
6747 upstream: mention PKCS11Provide=none, reword a little and remove
6748
6749 mention of RSA keys only (since we support ECDSA now and might support others
6750 in the future). Inspired by Jakub Jelen via bz#2974
6751
6752 OpenBSD-Commit-ID: a92e3686561bf624ccc64ab320c96c9e9a263aa5
6753
6754commit 95a8058c1a90a27acbb91392ba206854abc85226
6755Author: djm@openbsd.org <djm@openbsd.org>
6756Date: Fri Mar 1 02:08:50 2019 +0000
6757
6758 upstream: let PKCS11Provider=none do what users expect
6759
6760 print PKCS11Provider instead of obsolete SmartcardDevice in config dump.
6761
6762 bz#2974 ok dtucker@
6763
6764 OpenBSD-Commit-ID: c303d6f0230a33aa2dd92dc9b68843d56a64f846
6765
6766commit 8e7bac35aa576d2fd7560836da83733e864ce649
6767Author: markus@openbsd.org <markus@openbsd.org>
6768Date: Wed Feb 27 19:37:01 2019 +0000
6769
6770 upstream: dup stdout/in for proxycommand=-, otherwise stdout might
6771
6772 be redirected to /dev/null; ok djm@
6773
6774 OpenBSD-Commit-ID: 97dfce4c47ed4055042de8ebde85b7d88793e595
6775
6776commit 9b61130fbd95d196bce81ebeca94a4cb7c0d5ba0
6777Author: djm@openbsd.org <djm@openbsd.org>
6778Date: Sat Feb 23 08:20:43 2019 +0000
6779
6780 upstream: openssh-7.9 accidentally reused the server's algorithm lists
6781
6782 in the client for KEX, ciphers and MACs. The ciphers and MACs were identical
6783 between the client and server, but the error accidentially disabled the
6784 diffie-hellman-group-exchange-sha1 KEX method.
6785
6786 This fixes the client code to use the correct method list, but
6787 because nobody complained, it also disables the
6788 diffie-hellman-group-exchange-sha1 KEX method.
6789
6790 Reported by nuxi AT vault24.org via bz#2697; ok dtucker
6791
6792 OpenBSD-Commit-ID: e30c33a23c10fd536fefa120e86af1842e33fd57
6793
6794commit 37638c752041d591371900df820f070037878a2d
6795Author: Corinna Vinschen <vinschen@redhat.com>
6796Date: Wed Feb 20 13:41:25 2019 +0100
6797
6798 Cygwin: implement case-insensitive Unicode user and group name matching
6799
6800 The previous revert enabled case-insensitive user names again. This
6801 patch implements the case-insensitive user and group name matching.
6802 To allow Unicode chars, implement the matcher using wchar_t chars in
6803 Cygwin-specific code. Keep the generic code changes as small as possible.
6804 Cygwin: implement case-insensitive Unicode user and group name matching
6805
6806 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
6807
6808commit bed1d43698807a07bb4ddb93a46b0bd84b9970b3
6809Author: Darren Tucker <dtucker@dtucker.net>
6810Date: Fri Feb 22 15:21:21 2019 +1100
6811
6812 Revert unintended parts of previous commit.
6813
6814commit f02afa350afac1b2f2d1413259a27a4ba1e2ca24
6815Author: Corinna Vinschen <vinschen@redhat.com>
6816Date: Wed Feb 20 13:41:24 2019 +0100
6817
6818 Revert "[auth.c] On Cygwin, refuse usernames that have differences in case"
6819
6820 This reverts commit acc9b29486dfd649dfda474e5c1a03b317449f1c.
6821
6822 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
6823
6824commit 4c55b674835478eb80a1a7aeae588aa654e2a433
6825Author: Corinna Vinschen <vinschen@redhat.com>
6826Date: Sat Feb 16 14:13:43 2019 +0100
6827
6828 Add tags to .gitignore
6829
6830 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
6831
6832commit 625b62634c33eaef4b80d07529954fe5c6435fe5
6833Author: djm@openbsd.org <djm@openbsd.org>
6834Date: Fri Feb 22 03:37:11 2019 +0000
6835
6836 upstream: perform removal of agent-forwarding directory in forward
6837
6838 setup error path with user's privileged. This is a no-op as this code always
6839 runs with user privilege now that we no longer support running sshd with
6840 privilege separation disabled, but as long as the privsep skeleton is there
6841 we should follow the rules.
6842 MIME-Version: 1.0
6843 Content-Type: text/plain; charset=UTF-8
6844 Content-Transfer-Encoding: 8bit
6845
6846 bz#2969 with patch from Erik Sjölund
6847
6848 OpenBSD-Commit-ID: 2b708401a5a8d6133c865d7698d9852210dca846
6849
6850commit d9ecfaba0b2f1887d20e4368230632e709ca83be
6851Author: jmc@openbsd.org <jmc@openbsd.org>
6852Date: Mon Feb 18 07:02:34 2019 +0000
6853
6854 upstream: sync the description of ~/.ssh/config with djm's updated
6855
6856 description in ssh.1; issue pointed out by andreas kahari
6857
6858 ok dtucker djm
6859
6860 OpenBSD-Commit-ID: 1b01ef0ae2c6328165150badae317ec92e52b01c
6861
6862commit 38e83e4f219c752ebb1560633b73f06f0392018b
6863Author: djm@openbsd.org <djm@openbsd.org>
6864Date: Tue Feb 12 23:53:10 2019 +0000
6865
6866 upstream: fix regression in r1.302 reported by naddy@ - only the first
6867
6868 public key from the agent was being attempted for use.
6869
6870 OpenBSD-Commit-ID: 07116aea521a04888718b2157f1ca723b2f46c8d
6871
6872commit 5c68ea8da790d711e6dd5f4c30d089c54032c59a
6873Author: djm@openbsd.org <djm@openbsd.org>
6874Date: Mon Feb 11 09:44:42 2019 +0000
6875
6876 upstream: cleanup GSSAPI authentication context after completion of the
6877
6878 authmethod. Move function-static GSSAPI state to the client Authctxt
6879 structure. Make static a bunch of functions that aren't used outside this
6880 file.
6881
6882 Based on patch from Markus Schmidt <markus@blueflash.cc>; ok markus@
6883
6884 OpenBSD-Commit-ID: 497fb792c0ddb4f1ba631b6eed526861f115dbe5
6885
6886commit a8c807f1956f81a92a758d3d0237d0ff06d0be5d
6887Author: benno@openbsd.org <benno@openbsd.org>
6888Date: Sun Feb 10 16:35:41 2019 +0000
6889
6890 upstream: ssh-keygen -D pkcs11.so needs to initialize pkcs11
6891
6892 interactive, so it can ask for the smartcards PIN. ok markus@
6893
6894 OpenBSD-Commit-ID: 1be7ccf88f1876e0fc4d7c9b3f96019ac5655bab
6895
6896commit 3d896c157c722bc47adca51a58dca859225b5874
6897Author: djm@openbsd.org <djm@openbsd.org>
6898Date: Sun Feb 10 11:15:52 2019 +0000
6899
6900 upstream: when checking that filenames sent by the server side
6901
6902 match what the client requested, be prepared to handle shell-style brace
6903 alternations, e.g. "{foo,bar}".
6904
6905 "looks good to me" millert@ + in snaps for the last week courtesy
6906 deraadt@
6907
6908 OpenBSD-Commit-ID: 3b1ce7639b0b25b2248e3a30f561a548f6815f3e
6909
6910commit 318e4f8548a4f5c0c913f61e27d4fc21ffb1eaae
6911Author: djm@openbsd.org <djm@openbsd.org>
6912Date: Sun Feb 10 11:10:57 2019 +0000
6913
6914 upstream: syslog when connection is dropped for attempting to run a
6915
6916 command when ForceCommand=internal-sftp is in effect; bz2960; ok dtucker@
6917
6918 OpenBSD-Commit-ID: 8c87fa66d7fc6c0fffa3a3c28e8ab5e8dde234b8
6919
6920commit 2ff2e19653b8c0798b8b8eff209651bdb1be2761
6921Author: Damien Miller <djm@mindrot.org>
6922Date: Fri Feb 8 14:53:35 2019 +1100
6923
6924 don't set $MAIL if UsePam=yes
6925
6926 PAM typically specifies the user environment if it's enabled, so don't
6927 second guess. bz#2937; ok dtucker@
6928
6929commit 03e92dd27d491fe6d1a54e7b2f44ef1b0a916e52
6930Author: Damien Miller <djm@mindrot.org>
6931Date: Fri Feb 8 14:50:36 2019 +1100
6932
6933 use same close logic for stderr as stdout
6934
6935 Avoids sending SIGPIPE to child processes after their parent exits
6936 if they attempt to write to stderr.
6937
6938 Analysis and patch from JD Paul; patch reworked by Jakub Jelen and
6939 myself. bz#2071; ok dtucker@
6940
6941commit 8c53d409baeeaf652c0c125a9b164edc9dbeb6de
6942Author: dtucker@openbsd.org <dtucker@openbsd.org>
6943Date: Tue Feb 5 11:35:56 2019 +0000
6944
6945 upstream: Adapt code in the non-USE_PIPES codepath to the new packet
6946
6947 API. This code is not normally reachable since USE_PIPES is always defined.
6948 bz#2961, patch from adrian.fita at gmail com.
6949
6950 OpenBSD-Commit-ID: 8d8428d678d1d5eb4bb21921df34e8173e6d238a
6951
6952commit 7a7fdca78de4b4774950be056099e579ef595414
6953Author: djm@openbsd.org <djm@openbsd.org>
6954Date: Mon Feb 4 23:37:54 2019 +0000
6955
6956 upstream: fix NULL-deref crash in PKCS#11 code when attempting
6957
6958 login to a token requiring a PIN; reported by benno@ fix mostly by markus@
6959
6960 OpenBSD-Commit-ID: 438d0b114b1b4ba25a9869733db1921209aa9a31
6961
6962commit cac302a4b42a988e54d32eb254b29b79b648dbf5
6963Author: dtucker@openbsd.org <dtucker@openbsd.org>
6964Date: Mon Feb 4 02:39:42 2019 +0000
6965
6966 upstream: Remove obsolete "Protocol" from commented out examples. Patch
6967
6968 from samy.mahmoudi at gmail com.
6969
6970 OpenBSD-Commit-ID: 16aede33dae299725a03abdac5dcb4d73f5d0cbf
6971
6972commit 483b3b638500fd498b4b529356e5a0e18cf76891
6973Author: dtucker@openbsd.org <dtucker@openbsd.org>
6974Date: Fri Feb 1 03:52:23 2019 +0000
6975
6976 upstream: Save connection timeout and restore for 2nd and
6977
6978 subsequent attempts, preventing them from having no timeout. bz#2918, ok
6979 djm@
6980
6981 OpenBSD-Commit-ID: 4977f1d0521d9b6bba0c9a20d3d226cefac48292
6982
6983commit 5f004620fdc1b2108139300ee12f4014530fb559
6984Author: markus@openbsd.org <markus@openbsd.org>
6985Date: Wed Jan 30 19:51:15 2019 +0000
6986
6987 upstream: Add authors for public domain sntrup4591761 code;
6988
6989 confirmed by Daniel J. Bernstein
6990
6991 OpenBSD-Commit-ID: b4621f22b8b8ef13e063c852af5e54dbbfa413c1
6992
6993commit 2c21b75a7be6ebdcbceaebb43157c48dbb36f3d8
6994Author: jmc@openbsd.org <jmc@openbsd.org>
6995Date: Sun Jan 27 07:14:11 2019 +0000
6996
6997 upstream: add -T to usage();
6998
6999 OpenBSD-Commit-ID: a7ae14d9436c64e1bd05022329187ea3a0ce1899
7000
7001commit 19a0f0529d3df04118da829528cac7ceff380b24
7002Author: dtucker@openbsd.org <dtucker@openbsd.org>
7003Date: Mon Jan 28 03:50:39 2019 +0000
7004
7005 upstream: The test sshd_config in in $OBJ.
7006
7007 OpenBSD-Regress-ID: 1e5d908a286d8e7de3a15a0020c8857f3a7c9172
7008
7009commit 8fe25440206319d15b52d12b948a5dfdec14dca3
7010Author: dtucker@openbsd.org <dtucker@openbsd.org>
7011Date: Mon Jan 28 03:28:10 2019 +0000
7012
7013 upstream: Remove leftover debugging.
7014
7015 OpenBSD-Regress-ID: 3d86c3d4867e46b35af3fd2ac8c96df0ffdcfeb9
7016
7017commit e30d32364d12c351eec9e14be6c61116f9d6cc90
7018Author: dtucker@openbsd.org <dtucker@openbsd.org>
7019Date: Mon Jan 28 00:12:36 2019 +0000
7020
7021 upstream: Enable ssh-dss for the agent test. Disable it for the
7022
7023 certificate test.
7024
7025 OpenBSD-Regress-ID: 388c1e03e1def539d350f139b37d69f12334668d
7026
7027commit ffdde469ed56249f5dc8af98da468dde35531398
7028Author: dtucker@openbsd.org <dtucker@openbsd.org>
7029Date: Mon Jan 28 00:08:26 2019 +0000
7030
7031 upstream: Count the number of key types instead of assuming there
7032
7033 are only two.
7034
7035 OpenBSD-Regress-ID: 0998702c41235782cf0beee396ec49b5056eaed9
7036
7037commit 1d05b4adcba08ab068466e5c08dee2f5417ec53a
7038Author: Corinna Vinschen <vinschen@redhat.com>
7039Date: Sat Jan 26 23:42:40 2019 +0100
7040
7041 Cygwin: only tweak sshd_config file if it's new, drop creating sshd user
7042
7043 The sshd_config tweaks were executed even if the old file was
7044 still in place. Fix that. Also disable sshd user creation.
7045 It's not used on Cygwin.
7046
7047commit 89843de0c4c733501f6b4f988098e6e06963df37
7048Author: Corinna Vinschen <vinschen@redhat.com>
7049Date: Sat Jan 26 23:03:12 2019 +0100
7050
7051 Cygwin: Change service name to cygsshd
7052
7053 Microsoft hijacked the sshd service name without asking.
7054
7055commit 2a9b3a2ce411d16cda9c79ab713c55f65b0ec257
7056Author: dtucker@openbsd.org <dtucker@openbsd.org>
7057Date: Sun Jan 27 06:30:53 2019 +0000
7058
7059 upstream: Generate all key supported key types and enable for keyscan
7060
7061 test.
7062
7063 OpenBSD-Regress-ID: 72f72ff49946c61bc949e1692dd9e3d71370891b
7064
7065commit 391ffc4b9d31fa1f4ad566499fef9176ff8a07dc
7066Author: djm@openbsd.org <djm@openbsd.org>
7067Date: Sat Jan 26 22:41:28 2019 +0000
7068
7069 upstream: check in scp client that filenames sent during
7070
7071 remote->local directory copies satisfy the wildcard specified by the user.
7072
7073 This checking provides some protection against a malicious server
7074 sending unexpected filenames, but it comes at a risk of rejecting wanted
7075 files due to differences between client and server wildcard expansion rules.
7076
7077 For this reason, this also adds a new -T flag to disable the check.
7078
7079 reported by Harry Sintonen
7080 fix approach suggested by markus@;
7081 has been in snaps for ~1wk courtesy deraadt@
7082
7083 OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda
7084
7085commit c2c18a39683db382a15b438632afab3f551d50ce
7086Author: djm@openbsd.org <djm@openbsd.org>
7087Date: Sat Jan 26 22:35:01 2019 +0000
7088
7089 upstream: make ssh-keyscan return a non-zero exit status if it
7090
7091 finds no keys. bz#2903
7092
7093 OpenBSD-Commit-ID: 89f1081fb81d950ebb48e6e73d21807b2723d488
7094
7095commit 05b9a466700b44d49492edc2aa415fc2e8913dfe
7096Author: dtucker@openbsd.org <dtucker@openbsd.org>
7097Date: Thu Jan 24 17:00:29 2019 +0000
7098
7099 upstream: Accept the host key fingerprint as a synonym for "yes"
7100
7101 when accepting an unknown host key. This allows you to paste a fingerprint
7102 obtained out of band into the yes/no prompt and have the client do the
7103 comparison for you. ok markus@ djm@
7104
7105 OpenBSD-Commit-ID: 3c47d10b9f43d3d345e044fd9ec09709583a2767
7106
7107commit bdc6c63c80b55bcbaa66b5fde31c1cb1d09a41eb
7108Author: dtucker@openbsd.org <dtucker@openbsd.org>
7109Date: Thu Jan 24 16:52:17 2019 +0000
7110
7111 upstream: Have progressmeter force an update at the beginning and
7112
7113 end of each transfer. Fixes the problem recently introduces where very quick
7114 transfers do not display the progressmeter at all. Spotted by naddy@
7115
7116 OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a
7117
7118commit 258e6ca003e47f944688ad8b8de087b58a7d966c
7119Author: dtucker@openbsd.org <dtucker@openbsd.org>
7120Date: Thu Jan 24 02:42:23 2019 +0000
7121
7122 upstream: Check for both EAGAIN and EWOULDBLOCK. This is a no-op
7123
7124 in OpenBSD (they are the same value) but makes things easier in -portable
7125 where they may be distinct values. "sigh ok" deraadt@
7126
7127 (ID sync only, portable already had this change).
7128
7129 OpenBSD-Commit-ID: 91f2bc7c0ecec905915ed59fa37feb9cc90e17d7
7130
7131commit 281ce042579b834cdc1e74314f1fb2eeb75d2612
7132Author: dtucker@openbsd.org <dtucker@openbsd.org>
7133Date: Thu Jan 24 02:34:52 2019 +0000
7134
7135 upstream: Always initialize 2nd arg to hpdelim2. It populates that
7136
7137 *ONLY IF* there's a delimiter. If there's not (the common case) it checked
7138 uninitialized memory, which usually passed, but if not would cause spurious
7139 failures when the uninitialized memory happens to contain "/". ok deraadt.
7140
7141 OpenBSD-Commit-ID: 4291611eaf2a53d4c92f4a57c7f267c9f944e0d3
7142
7143commit d05ea255678d9402beda4416cd0360f3e5dfe938
7144Author: dtucker@openbsd.org <dtucker@openbsd.org>
7145Date: Wed Jan 23 21:50:56 2019 +0000
7146
7147 upstream: Remove support for obsolete host/port syntax.
7148
7149 host/port was added in 2001 as an alternative to host:port syntax for
7150 the benefit of IPv6 users. These days there are establised standards
7151 for this like [::1]:22 and the slash syntax is easily mistaken for CIDR
7152 notation, which OpenSSH now supports for some things. Remove the slash
7153 notation from ListenAddress and PermitOpen. bz#2335, patch from jjelen
7154 at redhat.com, ok markus@
7155
7156 OpenBSD-Commit-ID: fae5f4e23c51a368d6b2d98376069ac2b10ad4b7
7157
7158commit 177d6c80c557a5e060cd343a0c116a2f1a7f43db
7159Author: dtucker@openbsd.org <dtucker@openbsd.org>
7160Date: Wed Jan 23 20:48:52 2019 +0000
7161
7162 upstream: Remove duplicate word. bz#2958, patch from jjelen at
7163
7164 redhat.com
7165
7166 OpenBSD-Commit-ID: cca3965a8333f2b6aae48b79ec1d72f7a830dd2c
7167
7168commit be3e6cba95dffe5fcf190c713525b48c837e7875
7169Author: dtucker@openbsd.org <dtucker@openbsd.org>
7170Date: Wed Jan 23 09:49:00 2019 +0000
7171
7172 upstream: Remove 3 as a guess for possible generator during moduli
7173
7174 generation. It's not mentioned in RFC4419 and it's not possible for
7175 Sophie-Germain primes greater than 5. bz#2330, from Christian Wittenhorst ,
7176 ok djm@ tb@
7177
7178 OpenBSD-Commit-ID: 1467652e6802ad3333b0959282d8d49dfe22c8cd
7179
7180commit 8976f1c4b2721c26e878151f52bdf346dfe2d54c
7181Author: dtucker@openbsd.org <dtucker@openbsd.org>
7182Date: Wed Jan 23 08:01:46 2019 +0000
7183
7184 upstream: Sanitize scp filenames via snmprintf. To do this we move
7185
7186 the progressmeter formatting outside of signal handler context and have the
7187 atomicio callback called for EINTR too. bz#2434 with contributions from djm
7188 and jjelen at redhat.com, ok djm@
7189
7190 OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8
7191
7192commit 6249451f381755f792c6b9e2c2f80cdc699c14e2
7193Author: Darren Tucker <dtucker@dtucker.net>
7194Date: Thu Jan 24 10:00:20 2019 +1100
7195
7196 For broken read/readv comparisons, poll(RW).
7197
7198 In the cases where we can't compare to read or readv function pointers
7199 for some reason we currently ifdef out the poll() used to block while
7200 waiting for reads or writes, falling back to busy waiting. This restores
7201 the poll() in this case, but has it always check for read or write,
7202 removing an inline ifdef in the process.
7203
7204commit 5cb503dff4db251520e8bf7d23b9c97c06eee031
7205Author: Darren Tucker <dtucker@dtucker.net>
7206Date: Thu Jan 24 09:55:16 2019 +1100
7207
7208 Include unistd.h for strmode().
7209
7210commit f236ca2741f29b5c443c0b2db3aa9afb9ad9befe
7211Author: Darren Tucker <dtucker@dtucker.net>
7212Date: Thu Jan 24 09:50:58 2019 +1100
7213
7214 Also undef SIMPLEQ_FOREACH_SAFE.
7215
7216 Prevents macro redefinition warning on at least NetBSD 6.1.
7217
7218commit be063945e4e7d46b1734d973bf244c350fae172a
7219Author: djm@openbsd.org <djm@openbsd.org>
7220Date: Wed Jan 23 04:51:02 2019 +0000
7221
7222 upstream: allow auto-incrementing certificate serial number for certs
7223
7224 signed in a single commandline.
7225
7226 OpenBSD-Commit-ID: 39881087641efb8cd83c7ec13b9c98280633f45b
7227
7228commit 851f80328931975fe68f71af363c4537cb896da2
7229Author: djm@openbsd.org <djm@openbsd.org>
7230Date: Wed Jan 23 04:16:22 2019 +0000
7231
7232 upstream: move a bunch of global flag variables to main(); make the
7233
7234 rest static
7235
7236 OpenBSD-Commit-ID: fa431d92584e81fe99f95882f4c56b43fe3242dc
7237
7238commit 2265402dc7d701a9aca9f8a7b7b0fd45b65c479f
7239Author: Damien Miller <djm@mindrot.org>
7240Date: Wed Jan 23 13:03:16 2019 +1100
7241
7242 depend
7243
7244commit 2c223878e53cc46def760add459f5f7c4fb43e35
7245Author: djm@openbsd.org <djm@openbsd.org>
7246Date: Wed Jan 23 02:01:10 2019 +0000
7247
7248 upstream: switch mainloop from select(2) to poll(2); ok deraadt@
7249
7250 OpenBSD-Commit-ID: 37645419a330037d297f6f0adc3b3663e7ae7b2e
7251
7252commit bb956eaa94757ad058ff43631c3a7d6c94d38c2f
7253Author: djm@openbsd.org <djm@openbsd.org>
7254Date: Wed Jan 23 00:30:41 2019 +0000
7255
7256 upstream: pass most arguments to the KEX hash functions as sshbuf
7257
7258 rather than pointer+length; ok markus@
7259
7260 OpenBSD-Commit-ID: ef0c89c52ccc89817a13a5205725148a28492bf7
7261
7262commit d691588b8e29622c66abf8932362b522cf7f4051
7263Author: djm@openbsd.org <djm@openbsd.org>
7264Date: Tue Jan 22 22:58:50 2019 +0000
7265
7266 upstream: backoff reading messages from active connections when the
7267
7268 input buffer is too full to read one, or if the output buffer is too full to
7269 enqueue a response; feedback & ok dtucker@
7270
7271 OpenBSD-Commit-ID: df3c5b6d57c968975875de40d8955cbfed05a6c8
7272
7273commit f99ef8de967949a1fc25a5c28263ea32736e5943
7274Author: djm@openbsd.org <djm@openbsd.org>
7275Date: Tue Jan 22 20:48:01 2019 +0000
7276
7277 upstream: add -m to usage(); reminded by jmc@
7278
7279 OpenBSD-Commit-ID: bca476a5236e8f94210290b3e6a507af0434613e
7280
7281commit 41923ce06ac149453debe472238e0cca7d5a2e5f
7282Author: djm@openbsd.org <djm@openbsd.org>
7283Date: Tue Jan 22 12:03:58 2019 +0000
7284
7285 upstream: Correct some bugs in PKCS#11 token PIN handling at
7286
7287 initial login, the attempt at reading the PIN could be skipped in some cases
7288 especially on devices with integrated PIN readers.
7289
7290 based on patch from Daniel Kucera in bz#2652; ok markus@
7291
7292 OpenBSD-Commit-ID: fad70a61c60610afe8bb0db538c90e343e75e58e
7293
7294commit 2162171ad517501ba511fa9f8191945d01857bb4
7295Author: djm@openbsd.org <djm@openbsd.org>
7296Date: Tue Jan 22 12:00:50 2019 +0000
7297
7298 upstream: Support keys that set the CKA_ALWAYS_AUTHENTICATE by
7299
7300 requring a fresh login after the C_SignInit operation.
7301
7302 based on patch from Jakub Jelen in bz#2638; ok markus
7303
7304 OpenBSD-Commit-ID: a76e66996ba7c0923b46b74d46d499b811786661
7305
7306commit 7a2cb18a215b2cb335da3dc99489c52a91f4925b
7307Author: djm@openbsd.org <djm@openbsd.org>
7308Date: Tue Jan 22 11:51:25 2019 +0000
7309
7310 upstream: Mention that configuration for the destination host is
7311
7312 not applied to any ProxyJump/-J hosts. This has confused a few people...
7313
7314 OpenBSD-Commit-ID: 03f4f641df6ca236c1bfc69836a256b873db868b
7315
7316commit ecd2f33cb772db4fa76776543599f1c1ab6f9fa0
7317Author: djm@openbsd.org <djm@openbsd.org>
7318Date: Tue Jan 22 11:40:42 2019 +0000
7319
7320 upstream: Include -m in the synopsis for a few more commands that
7321
7322 support it
7323
7324 Be more explicit in the description of -m about where it may be used
7325
7326 Prompted by Jakub Jelen in bz2904
7327
7328 OpenBSD-Commit-ID: 3b398ac5e05d8a6356710d0ff114536c9d71046c
7329
7330commit ff5d2cf4ca373bb4002eef395ed2cbe2ff0826c1
7331Author: djm@openbsd.org <djm@openbsd.org>
7332Date: Tue Jan 22 11:26:16 2019 +0000
7333
7334 upstream: print the full pubkey being attempted at loglevel >=
7335
7336 debug2; bz2939
7337
7338 OpenBSD-Commit-ID: ac0fe5ca1429ebf4d460bad602adc96de0d7e290
7339
7340commit 180b520e2bab33b566b4b0cbac7d5f9940935011
7341Author: djm@openbsd.org <djm@openbsd.org>
7342Date: Tue Jan 22 11:19:42 2019 +0000
7343
7344 upstream: clarify: ssh-keygen -e only writes public keys, never
7345
7346 private
7347
7348 OpenBSD-Commit-ID: 7de7ff6d274d82febf9feb641e2415ffd6a30bfb
7349
7350commit c45616a199c322ca674315de88e788f1d2596e26
7351Author: djm@openbsd.org <djm@openbsd.org>
7352Date: Tue Jan 22 11:00:15 2019 +0000
7353
7354 upstream: mention the new vs. old key formats in the introduction
7355
7356 and give some hints on how keys may be converted or written in the old
7357 format.
7358
7359 OpenBSD-Commit-ID: 9c90a9f92eddc249e07fad1204d0e15c8aa13823
7360
7361commit fd8eb1383a34c986a00ef13d745ae9bd3ea21760
7362Author: jmc@openbsd.org <jmc@openbsd.org>
7363Date: Tue Jan 22 06:58:31 2019 +0000
7364
7365 upstream: tweak previous;
7366
7367 OpenBSD-Commit-ID: d2a80e389da8e7ed71978643d8cbaa8605b597a8
7368
7369commit 68e924d5473c00057f8532af57741d258c478223
7370Author: tb@openbsd.org <tb@openbsd.org>
7371Date: Mon Jan 21 23:55:12 2019 +0000
7372
7373 upstream: Forgot to add -J to the synopsis.
7374
7375 OpenBSD-Commit-ID: 26d95e409a0b72526526fc56ca1caca5cc3d3c5e
7376
7377commit 622dedf1a884f2927a9121e672bd9955e12ba108
7378Author: tb@openbsd.org <tb@openbsd.org>
7379Date: Mon Jan 21 22:50:42 2019 +0000
7380
7381 upstream: Add a -J option as a shortcut for -o Proxyjump= to scp(1)
7382
7383 and sftp(1) to match ssh(1)'s interface.
7384
7385 ok djm
7386
7387 OpenBSD-Commit-ID: a75bc2d5f329caa7229a7e9fe346c4f41c2663fc
7388
7389commit c882d74652800150d538e22c80dd2bd3cdd5fae2
7390Author: Darren Tucker <dtucker@dtucker.net>
7391Date: Tue Jan 22 20:38:40 2019 +1100
7392
7393 Allow building against OpenSSL dev (3.x) version.
7394
7395commit d5520393572eb24aa0e001a1c61f49b104396e45
7396Author: Damien Miller <djm@mindrot.org>
7397Date: Tue Jan 22 10:50:40 2019 +1100
7398
7399 typo
7400
7401commit 2de9cec54230998ab10161576f77860a2559ccb7
7402Author: Damien Miller <djm@mindrot.org>
7403Date: Tue Jan 22 10:49:52 2019 +1100
7404
7405 add missing header
7406
7407commit 533cfb01e49a2a30354e191669dc3159e03e99a7
7408Author: djm@openbsd.org <djm@openbsd.org>
7409Date: Mon Jan 21 22:18:24 2019 +0000
7410
7411 upstream: switch sntrup implementation source from supercop to
7412
7413 libpqcrypto; the latter is almost identical but doesn't rely on signed
7414 underflow to implement an optimised integer sort; from markus@
7415
7416 OpenBSD-Commit-ID: cd09bbf0e0fcef1bedca69fdf7990dc360567cf8
7417
7418commit d50ab3cd6fb859888a26b4d4e333239b4f6bf573
7419Author: Damien Miller <djm@mindrot.org>
7420Date: Tue Jan 22 00:02:23 2019 +1100
7421
7422 new files need includes.h
7423
7424commit c7670b091a7174760d619ef6738b4f26b2093301
7425Author: djm@openbsd.org <djm@openbsd.org>
7426Date: Mon Jan 21 12:53:35 2019 +0000
7427
7428 upstream: add "-v" flags to ssh-add and ssh-pkcs11-helper to turn up
7429
7430 debug verbosity.
7431
7432 Make ssh-agent turn on ssh-pkcs11-helper's verbosity when it is run
7433 in debug mode ("ssh-agent -d"), so we get to see errors from the
7434 PKCS#11 code.
7435
7436 ok markus@
7437
7438 OpenBSD-Commit-ID: 0a798643c6a92a508df6bd121253ba1c8bee659d
7439
7440commit 49d8c8e214d39acf752903566b105d06c565442a
7441Author: djm@openbsd.org <djm@openbsd.org>
7442Date: Mon Jan 21 12:50:12 2019 +0000
7443
7444 upstream: adapt to changes in KEX APIs and file removals
7445
7446 OpenBSD-Regress-ID: 54d6857e7c58999c7a6d40942ab0fed3529f43ca
7447
7448commit 35ecc53a83f8e8baab2e37549addfd05c73c30f1
7449Author: djm@openbsd.org <djm@openbsd.org>
7450Date: Mon Jan 21 12:35:20 2019 +0000
7451
7452 upstream: adapt to changes in KEX API and file removals
7453
7454 OpenBSD-Regress-ID: 92cad022d3b0d11e08f3e0055d6a14b8f994c0d7
7455
7456commit 7d69aae64c35868cc4f644583ab973113a79480e
7457Author: djm@openbsd.org <djm@openbsd.org>
7458Date: Mon Jan 21 12:29:35 2019 +0000
7459
7460 upstream: adapt to bignum1 API removal and bignum2 API change
7461
7462 OpenBSD-Regress-ID: cea6ff270f3d560de86b355a87a2c95b55a5ca63
7463
7464commit beab553f0a9578ef9bffe28b2c779725e77b39ec
7465Author: djm@openbsd.org <djm@openbsd.org>
7466Date: Mon Jan 21 09:13:41 2019 +0000
7467
7468 upstream: remove hack to use non-system libcrypto
7469
7470 OpenBSD-Regress-ID: ce72487327eee4dfae1ab0212a1f33871fe0809f
7471
7472commit 4dc06bd57996f1a46b4c3bababe0d09bc89098f7
7473Author: Damien Miller <djm@mindrot.org>
7474Date: Mon Jan 21 23:14:04 2019 +1100
7475
7476 depend
7477
7478commit 70edd73edc4df54e5eee50cd27c25427b34612f8
7479Author: djm@openbsd.org <djm@openbsd.org>
7480Date: Mon Jan 21 12:08:13 2019 +0000
7481
7482 upstream: fix reversed arguments to kex_load_hostkey(); manifested as
7483
7484 errors in cert-hostkey.sh regress failures.
7485
7486 OpenBSD-Commit-ID: 12dab63850b844f84d5a67e86d9e21a42fba93ba
7487
7488commit f1185abbf0c9108e639297addc77f8757ee00eb3
7489Author: djm@openbsd.org <djm@openbsd.org>
7490Date: Mon Jan 21 11:22:00 2019 +0000
7491
7492 upstream: forgot to cvs add this file in previous series of commits;
7493
7494 grrr
7495
7496 OpenBSD-Commit-ID: bcff316c3e7da8fd15333e05d244442c3aaa66b0
7497
7498commit 7bef390b625bdc080f0fd4499ef03cef60fca4fa
7499Author: djm@openbsd.org <djm@openbsd.org>
7500Date: Mon Jan 21 10:44:21 2019 +0000
7501
7502 upstream: nothing shall escape this purge
7503
7504 OpenBSD-Commit-ID: 4795b0ff142b45448f7e15f3c2f77a947191b217
7505
7506commit aaca72d6f1279b842066e07bff797019efeb2c23
7507Author: djm@openbsd.org <djm@openbsd.org>
7508Date: Mon Jan 21 10:40:11 2019 +0000
7509
7510 upstream: rename kex->kem_client_pub -> kex->client_pub now that
7511
7512 KEM has been renamed to kexgen
7513
7514 from markus@ ok djm@
7515
7516 OpenBSD-Commit-ID: fac6da5dc63530ad0da537db022a9a4cfbe8bed8
7517
7518commit 70867e1ca2eb08bbd494fe9c568df4fd3b35b867
7519Author: djm@openbsd.org <djm@openbsd.org>
7520Date: Mon Jan 21 10:38:54 2019 +0000
7521
7522 upstream: merge kexkem[cs] into kexgen
7523
7524 from markus@ ok djm@
7525
7526 OpenBSD-Commit-ID: 87d886b7f1812ff9355fda1435f6ea9b71a0ac89
7527
7528commit 71e67fff946396caa110a7964da23480757258ff
7529Author: djm@openbsd.org <djm@openbsd.org>
7530Date: Mon Jan 21 10:35:09 2019 +0000
7531
7532 upstream: pass values used in KEX hash computation as sshbuf
7533
7534 rather than pointer+len
7535
7536 suggested by me; implemented by markus@ ok me
7537
7538 OpenBSD-Commit-ID: 994f33c464f4a9e0f1d21909fa3e379f5a0910f0
7539
7540commit 4b83e2a2cc0c12e671a77eaba1c1245894f4e884
7541Author: djm@openbsd.org <djm@openbsd.org>
7542Date: Mon Jan 21 10:33:49 2019 +0000
7543
7544 upstream: remove kex_derive_keys_bn wrapper; no unused since the
7545
7546 DH-like KEX methods have moved to KEM
7547
7548 from markus@ ok djm@
7549
7550 OpenBSD-Commit-ID: bde9809103832f349545e4f5bb733d316db9a060
7551
7552commit 92dda34e373832f34a1944e5d9ebbebb184dedc1
7553Author: djm@openbsd.org <djm@openbsd.org>
7554Date: Mon Jan 21 10:29:56 2019 +0000
7555
7556 upstream: use KEM API for vanilla ECDH
7557
7558 from markus@ ok djm@
7559
7560 OpenBSD-Commit-ID: 6fbff96339a929835536b5730585d1d6057a352c
7561
7562commit b72357217cbe510a3ae155307a7be6b9181f1d1b
7563Author: Damien Miller <djm@mindrot.org>
7564Date: Mon Jan 21 23:11:21 2019 +1100
7565
7566 fixup missing ssherr.h
7567
7568commit 9c9c97e14fe190931f341876ad98213e1e1dc19f
7569Author: djm@openbsd.org <djm@openbsd.org>
7570Date: Mon Jan 21 10:28:01 2019 +0000
7571
7572 upstream: use KEM API for vanilla DH KEX
7573
7574 from markus@ ok djm@
7575
7576 OpenBSD-Commit-ID: af56466426b08a8be275412ae2743319e3d277c9
7577
7578commit 2f6a9ddbbf6ca8623c53c323ff17fb6d68d66970
7579Author: djm@openbsd.org <djm@openbsd.org>
7580Date: Mon Jan 21 10:24:09 2019 +0000
7581
7582 upstream: use KEM API for vanilla c25519 KEX
7583
7584 OpenBSD-Commit-ID: 38d937b85ff770886379dd66a8f32ab0c1c35c1f
7585
7586commit dfd591618cdf2c96727ac0eb65f89cf54af0d97e
7587Author: djm@openbsd.org <djm@openbsd.org>
7588Date: Mon Jan 21 10:20:12 2019 +0000
7589
7590 upstream: Add support for a PQC KEX/KEM:
7591
7592 sntrup4591761x25519-sha512@tinyssh.org using the Streamlined NTRU Prime
7593 4591^761 implementation from SUPERCOP coupled with X25519 as a stop-loss. Not
7594 enabled by default.
7595
7596 introduce KEM API; a simplified framework for DH-ish KEX methods.
7597
7598 from markus@ feedback & ok djm@
7599
7600 OpenBSD-Commit-ID: d687f76cffd3561dd73eb302d17a1c3bf321d1a7
7601
7602commit b1b2ff4ed559051d1035419f8f236275fa66d5d6
7603Author: djm@openbsd.org <djm@openbsd.org>
7604Date: Mon Jan 21 10:07:22 2019 +0000
7605
7606 upstream: factor out kex_verify_hostkey() - again, duplicated
7607
7608 almost exactly across client and server for several KEX methods.
7609
7610 from markus@ ok djm@
7611
7612 OpenBSD-Commit-ID: 4e4a16d949dadde002a0aacf6d280a684e20829c
7613
7614commit bb39bafb6dc520cc097780f4611a52da7f19c3e2
7615Author: djm@openbsd.org <djm@openbsd.org>
7616Date: Mon Jan 21 10:05:09 2019 +0000
7617
7618 upstream: factor out kex_load_hostkey() - this is duplicated in
7619
7620 both the client and server implementations for most KEX methods.
7621
7622 from markus@ ok djm@
7623
7624 OpenBSD-Commit-ID: 8232fa7c21fbfbcaf838313b0c166dc6c8762f3c
7625
7626commit dec5e9d33891e3bc3f1395d7db0e56fdc7f86dfc
7627Author: djm@openbsd.org <djm@openbsd.org>
7628Date: Mon Jan 21 10:03:37 2019 +0000
7629
7630 upstream: factor out kex_dh_compute_key() - it's shared between
7631
7632 plain DH KEX and DH GEX in both the client and server implementations
7633
7634 from markus@ ok djm@
7635
7636 OpenBSD-Commit-ID: 12186e18791fffcd4642c82e7e0cfdd7ea37e2ec
7637
7638commit e93bd98eab79b9a78f64ee8dd4dffc4d3979c7ae
7639Author: djm@openbsd.org <djm@openbsd.org>
7640Date: Mon Jan 21 10:00:23 2019 +0000
7641
7642 upstream: factor out DH keygen; it's identical between the client
7643
7644 and the server
7645
7646 from markus@ ok djm@
7647
7648 OpenBSD-Commit-ID: 2be57f6a0d44f1ab2c8de2b1b5d6f530c387fae9
7649
7650commit 5ae3f6d314465026d028af82609c1d49ad197655
7651Author: djm@openbsd.org <djm@openbsd.org>
7652Date: Mon Jan 21 09:55:52 2019 +0000
7653
7654 upstream: save the derived session id in kex_derive_keys() rather
7655
7656 than making each kex method implementation do it.
7657
7658 from markus@ ok djm@
7659
7660 OpenBSD-Commit-ID: d61ade9c8d1e13f665f8663c552abff8c8a30673
7661
7662commit 7be8572b32a15d5c3dba897f252e2e04e991c307
7663Author: djm@openbsd.org <djm@openbsd.org>
7664Date: Mon Jan 21 09:54:11 2019 +0000
7665
7666 upstream: Make sshpkt_get_bignum2() allocate the bignum it is
7667
7668 parsing rather than make the caller do it. Saves a lot of boilerplate code.
7669
7670 from markus@ ok djm@
7671
7672 OpenBSD-Commit-ID: 576bf784f9a240f5a1401f7005364e59aed3bce9
7673
7674commit 803178bd5da7e72be94ba5b4c4c196d4b542da4d
7675Author: djm@openbsd.org <djm@openbsd.org>
7676Date: Mon Jan 21 09:52:25 2019 +0000
7677
7678 upstream: remove obsolete (SSH v.1) sshbuf_get/put_bignum1
7679
7680 functions
7681
7682 from markus@ ok djm@
7683
7684 OpenBSD-Commit-ID: 0380b1b2d9de063de3c5a097481a622e6a04943e
7685
7686commit f3ebaffd8714be31d4345f90af64992de4b3bba2
7687Author: djm@openbsd.org <djm@openbsd.org>
7688Date: Mon Jan 21 09:49:37 2019 +0000
7689
7690 upstream: fix all-zero check in kexc25519_shared_key
7691
7692 from markus@ ok djm@
7693
7694 OpenBSD-Commit-ID: 60b1d364e0d9d34d1d1ef1620cb92e36cf06712d
7695
7696commit 9d1a9771d0ad3a83af733bf3d2650b53f43c269f
7697Author: jmc@openbsd.org <jmc@openbsd.org>
7698Date: Mon Jan 21 07:09:10 2019 +0000
7699
7700 upstream: - -T was added to the first synopsis by mistake - since
7701
7702 "..." denotes optional, no need to surround it in []
7703
7704 ok djm
7705
7706 OpenBSD-Commit-ID: 918f6d8eed4e0d8d9ef5eadae1b8983d796f0e25
7707
7708commit 2f0bad2bf85391dbb41315ab55032ec522660617
7709Author: Darren Tucker <dtucker@dtucker.net>
7710Date: Mon Jan 21 21:28:27 2019 +1100
7711
7712 Make --with-rpath take a flag instead of yes/no.
7713
7714 Linkers need various flags for -rpath and similar, so make --with-rpath
7715 take an optional flag argument which is passed to the linker. ok djm@
7716
7717commit 23490a6c970ea1d03581a3b4208f2eb7a675f453
7718Author: Damien Miller <djm@mindrot.org>
7719Date: Mon Jan 21 15:05:43 2019 +1100
7720
7721 fix previous test
7722
7723commit b6dd3277f2c49f9584a2097bc792e8f480397e87
7724Author: Darren Tucker <dtucker@dtucker.net>
7725Date: Mon Jan 21 13:50:17 2019 +1100
7726
7727 Wrap ECC static globals in EC_KEY_METHOD_NEW too.
7728
7729commit b2eb9db35b7191613f2f4b934d57b25938bb34b3
7730Author: Damien Miller <djm@mindrot.org>
7731Date: Mon Jan 21 12:53:40 2019 +1100
7732
7733 pass TEST_SSH_SSHPKCS11HELPER to regress tests
7734
7735commit ba58a529f45b3dae2db68607d8c54ae96e90e705
7736Author: Damien Miller <djm@mindrot.org>
7737Date: Mon Jan 21 12:31:29 2019 +1100
7738
7739 make agent-pkcs11 search harder for softhsm2.so
7740
7741commit 662be40c62339ab645113c930ce689466f028938
7742Author: djm@openbsd.org <djm@openbsd.org>
7743Date: Mon Jan 21 02:05:38 2019 +0000
7744
7745 upstream: always print the caller's error message in ossl_error(),
7746
7747 even when there are no libcrypto errors to report.
7748
7749 OpenBSD-Commit-ID: 09ebaa8f706e0eccedd209775baa1eee2ada806a
7750
7751commit ce46c3a077dfb4c531ccffcfff03f37775725b75
7752Author: djm@openbsd.org <djm@openbsd.org>
7753Date: Mon Jan 21 02:01:03 2019 +0000
7754
7755 upstream: get the ex_data (pkcs11_key object) back from the keys at
7756
7757 the index at which it was inserted, rather than assuming index 0
7758
7759 OpenBSD-Commit-ID: 1f3a6ce0346c8014e895e50423bef16401510aa8
7760
7761commit 0a5f2ea35626022299ece3c8817a1abe8cf37b3e
7762Author: djm@openbsd.org <djm@openbsd.org>
7763Date: Mon Jan 21 01:05:00 2019 +0000
7764
7765 upstream: GSSAPI code got missed when converting to new packet API
7766
7767 OpenBSD-Commit-ID: 37e4f06ab4a0f4214430ff462ba91acba28b7851
7768
7769commit 2efcf812b4c1555ca3aff744820a3b3bccd68298
7770Author: Damien Miller <djm@mindrot.org>
7771Date: Mon Jan 21 11:57:21 2019 +1100
7772
7773 Fix -Wunused when compiling PKCS#11 without ECDSA
7774
7775commit 3c0c657ed7cd335fc05c0852d88232ca7e92a5d9
7776Author: djm@openbsd.org <djm@openbsd.org>
7777Date: Sun Jan 20 23:26:44 2019 +0000
7778
7779 upstream: allow override of ssh-pkcs11-helper binary via
7780
7781 $TEST_SSH_SSHPKCS11HELPER from markus@
7782
7783 OpenBSD-Regress-ID: 7382a3d76746f5a792d106912a5819fd5e49e469
7784
7785commit 760ae37b4505453c6fa4faf1aa39a8671ab053af
7786Author: djm@openbsd.org <djm@openbsd.org>
7787Date: Sun Jan 20 23:25:25 2019 +0000
7788
7789 upstream: adapt agent-pkcs11.sh test to softhsm2 and add support
7790
7791 for ECDSA keys
7792
7793 work by markus@, ok djm@
7794
7795 OpenBSD-Regress-ID: 1ebc2be0e88eff1b6d8be2f9c00cdc60723509fe
7796
7797commit b2ce8b31a1f974a13e6d12e0a0c132b50bc45115
7798Author: djm@openbsd.org <djm@openbsd.org>
7799Date: Sun Jan 20 23:24:19 2019 +0000
7800
7801 upstream: add "extra:" target to run some extra tests that are not
7802
7803 enabled by default (currently includes agent-pkcs11.sh); from markus@
7804
7805 OpenBSD-Regress-ID: 9a969e1adcd117fea174d368dcb9c61eb50a2a3c
7806
7807commit 632976418d60b7193597bbc6ac7ca33981a41aab
7808Author: djm@openbsd.org <djm@openbsd.org>
7809Date: Mon Jan 21 00:47:34 2019 +0000
7810
7811 upstream: use ECDSA_SIG_set0() instead of poking signature values into
7812
7813 structure directly; the latter works on LibreSSL but not on OpenSSL. From
7814 portable.
7815
7816 OpenBSD-Commit-ID: 5b22a1919d9cee907d3f8a029167f70a481891c6
7817
7818commit 5de6ac2bad11175135d9b819b3546db0ca0b4878
7819Author: Damien Miller <djm@mindrot.org>
7820Date: Mon Jan 21 11:44:19 2019 +1100
7821
7822 remove HAVE_DLOPEN that snuck in
7823
7824 portable doesn't use this
7825
7826commit e2cb445d786f7572da2af93e3433308eaed1093a
7827Author: Damien Miller <djm@mindrot.org>
7828Date: Mon Jan 21 11:32:28 2019 +1100
7829
7830 conditionalise ECDSA PKCS#11 support
7831
7832 Require EC_KEY_METHOD support in libcrypto, evidenced by presence
7833 of EC_KEY_METHOD_new() function.
7834
7835commit fcb1b0937182d0137a3c357c89735d0dc5869d54
7836Author: djm@openbsd.org <djm@openbsd.org>
7837Date: Sun Jan 20 23:12:35 2019 +0000
7838
7839 upstream: we use singleton pkcs#11 RSA_METHOD and EC_KEY_METHOD
7840
7841 now, so there is no need to keep a copy of each in the pkcs11_key object.
7842
7843 work by markus@, ok djm@
7844
7845 OpenBSD-Commit-ID: 43b4856516e45c0595f17a8e95b2daee05f12faa
7846
7847commit 6529409e85890cd6df7e5e81d04e393b1d2e4b0b
7848Author: djm@openbsd.org <djm@openbsd.org>
7849Date: Sun Jan 20 23:11:11 2019 +0000
7850
7851 upstream: KNF previous; from markus@
7852
7853 OpenBSD-Commit-ID: 3dfe35e25b310c3968b1e4e53a0cb1d03bda5395
7854
7855commit 58622a8c82f4e2aad630580543f51ba537c1f39e
7856Author: djm@openbsd.org <djm@openbsd.org>
7857Date: Sun Jan 20 23:10:33 2019 +0000
7858
7859 upstream: use OpenSSL's RSA reference counting hooks to
7860
7861 implicitly clean up pkcs11_key objects when their owning RSA object's
7862 reference count drops to zero. Simplifies the cleanup path and makes it more
7863 like ECDSA's
7864
7865 work by markus@, ok djm@
7866
7867 OpenBSD-Commit-ID: 74b9c98f405cd78f7148e9e4a4982336cd3df25c
7868
7869commit f118542fc82a3b3ab0360955b33bc5a271ea709f
7870Author: djm@openbsd.org <djm@openbsd.org>
7871Date: Sun Jan 20 23:08:24 2019 +0000
7872
7873 upstream: make the PKCS#11 RSA code more like the new PKCS#11
7874
7875 ECDSA code: use a single custom RSA_METHOD instead of a method per key
7876
7877 suggested by me, but markus@ did all the work.
7878 ok djm@
7879
7880 OpenBSD-Commit-ID: 8aafcebe923dc742fc5537a995cee549d07e4b2e
7881
7882commit 445cfce49dfc904c6b8ab25afa2f43130296c1a5
7883Author: djm@openbsd.org <djm@openbsd.org>
7884Date: Sun Jan 20 23:05:52 2019 +0000
7885
7886 upstream: fix leak of ECDSA pkcs11_key objects
7887
7888 work by markus, ok djm@
7889
7890 OpenBSD-Commit-ID: 9fc0c4f1d640aaa5f19b8d70f37ea19b8ad284a1
7891
7892commit 8a2467583f0b5760787273796ec929190c3f16ee
7893Author: djm@openbsd.org <djm@openbsd.org>
7894Date: Sun Jan 20 23:03:26 2019 +0000
7895
7896 upstream: use EVP_PKEY_get0_EC_KEY() instead of direct access of
7897
7898 EC_KEY internals as that won't work on OpenSSL
7899
7900 work by markus@, feedback and ok djm@
7901
7902 OpenBSD-Commit-ID: 4a99cdb89fbd6f5155ef8c521c99dc66e2612700
7903
7904commit 24757c1ae309324e98d50e5935478655be04e549
7905Author: djm@openbsd.org <djm@openbsd.org>
7906Date: Sun Jan 20 23:01:59 2019 +0000
7907
7908 upstream: cleanup PKCS#11 ECDSA pubkey loading: the returned
7909
7910 object should never have a DER header
7911
7912 work by markus; feedback and ok djm@
7913
7914 OpenBSD-Commit-ID: b617fa585eddbbf0b1245b58b7a3c4b8d613db17
7915
7916commit 749aef30321595435ddacef2f31d7a8f2b289309
7917Author: djm@openbsd.org <djm@openbsd.org>
7918Date: Sun Jan 20 23:00:12 2019 +0000
7919
7920 upstream: cleanup unnecessary code in ECDSA pkcs#11 signature
7921
7922 work by markus@, feedback and ok djm@
7923
7924 OpenBSD-Commit-ID: affa5ca7d58d59fbd16169f77771dcdbd2b0306d
7925
7926commit 0c50992af49b562970dd0ba3f8f151f1119e260e
7927Author: djm@openbsd.org <djm@openbsd.org>
7928Date: Sun Jan 20 22:57:45 2019 +0000
7929
7930 upstream: cleanup pkcs#11 client code: use sshkey_new in instead
7931
7932 of stack- allocating a sshkey
7933
7934 work by markus@, ok djm@
7935
7936 OpenBSD-Commit-ID: a048eb6ec8aa7fa97330af927022c0da77521f91
7937
7938commit 854bd8674ee5074a239f7cadf757d55454802e41
7939Author: djm@openbsd.org <djm@openbsd.org>
7940Date: Sun Jan 20 22:54:30 2019 +0000
7941
7942 upstream: allow override of the pkcs#11 helper binary via
7943
7944 $SSH_PKCS11_HELPER; needed for regress tests.
7945
7946 work by markus@, ok me
7947
7948 OpenBSD-Commit-ID: f78d8185500bd7c37aeaf7bd27336db62f0f7a83
7949
7950commit 93f02107f44d63a016d8c23ebd2ca9205c495c48
7951Author: djm@openbsd.org <djm@openbsd.org>
7952Date: Sun Jan 20 22:51:37 2019 +0000
7953
7954 upstream: add support for ECDSA keys in PKCS#11 tokens
7955
7956 Work by markus@ and Pedro Martelletto, feedback and ok me@
7957
7958 OpenBSD-Commit-ID: a37d651e221341376636056512bddfc16efb4424
7959
7960commit aa22c20e0c36c2fc610cfcc793b0d14079c38814
7961Author: djm@openbsd.org <djm@openbsd.org>
7962Date: Sun Jan 20 22:03:29 2019 +0000
7963
7964 upstream: add option to test whether keys in an agent are usable,
7965
7966 by performing a signature and a verification using each key "ssh-add -T
7967 pubkey [...]"
7968
7969 work by markus@, ok djm@
7970
7971 OpenBSD-Commit-ID: 931b888a600b6a883f65375bd5f73a4776c6d19b
7972
7973commit a36b0b14a12971086034d53c0c3dfbad07665abe
7974Author: tb@openbsd.org <tb@openbsd.org>
7975Date: Sun Jan 20 02:01:59 2019 +0000
7976
7977 upstream: Fix BN_is_prime_* calls in SSH, the API returns -1 on
7978
7979 error.
7980
7981 Found thanks to BoringSSL's commit 53409ee3d7595ed37da472bc73b010cd2c8a5ffd
7982 by David Benjamin.
7983
7984 ok djm, dtucker
7985
7986 OpenBSD-Commit-ID: 1ee832be3c44b1337f76b8562ec6d203f3b072f8
7987
7988commit ec4776bb01dd8d61fddc7d2a31ab10bf3d3d829a
7989Author: dtucker@openbsd.org <dtucker@openbsd.org>
7990Date: Sun Jan 20 01:12:40 2019 +0000
7991
7992 upstream: DH-GEX min value is now specified in RFC8270. ok djm@
7993
7994 OpenBSD-Commit-ID: 1229d0feb1d0ecefe05bf67a17578b263e991acc
7995
7996commit c90a7928c4191303e76a8c58b9008d464287ae1b
7997Author: Darren Tucker <dtucker@dtucker.net>
7998Date: Mon Jan 21 09:22:36 2019 +1100
7999
8000 Check for cc before gcc.
8001
8002 If cc is something other than gcc and is the system compiler prefer using
8003 that, unless otherwise told via $CC. ok djm@
8004
8005commit 9b655dc9c9a353f0a527f0c6c43a5e35653c9503
8006Author: Damien Miller <djm@mindrot.org>
8007Date: Sun Jan 20 14:55:27 2019 +1100
8008
8009 last bits of old packet API / active_state global
8010
8011commit 3f0786bbe73609ac96e5a0d91425ee21129f8e04
8012Author: Damien Miller <djm@mindrot.org>
8013Date: Sun Jan 20 10:22:18 2019 +1100
8014
8015 remove PAM dependencies on old packet API
8016
8017 Requires some caching of values, because the PAM code isn't
8018 always called with packet context.
8019
8020commit 08f66d9f17e12c1140d1f1cf5c4dce67e915d3cc
8021Author: Damien Miller <djm@mindrot.org>
8022Date: Sun Jan 20 09:58:45 2019 +1100
8023
8024 remove vestiges of old packet API from loginrec.c
8025
8026commit c327813ea1d740e3e367109c17873815aba1328e
8027Author: Damien Miller <djm@mindrot.org>
8028Date: Sun Jan 20 09:45:38 2019 +1100
8029
8030 depend
8031
8032commit 135e302cfdbe91817294317c337cc38c3ff01cba
8033Author: djm@openbsd.org <djm@openbsd.org>
8034Date: Sat Jan 19 22:30:52 2019 +0000
8035
8036 upstream: fix error in refactor: use ssh_packet_disconnect() instead of
8037
8038 sshpkt_error(). The first one logs the error and exits (what we want) instead
8039 of just logging and blundering on.
8040
8041 OpenBSD-Commit-ID: 39f51b43641dce9ce0f408ea6c0e6e077e2e91ae
8042
8043commit 245c6a0b220b58686ee35bc5fc1c359e9be2faaa
8044Author: djm@openbsd.org <djm@openbsd.org>
8045Date: Sat Jan 19 21:45:31 2019 +0000
8046
8047 upstream: remove last traces of old packet API!
8048
8049 with & ok markus@
8050
8051 OpenBSD-Commit-ID: 9bd10437026423eb8245636ad34797a20fbafd7d
8052
8053commit 04c091fc199f17dacf8921df0a06634b454e2722
8054Author: djm@openbsd.org <djm@openbsd.org>
8055Date: Sat Jan 19 21:43:56 2019 +0000
8056
8057 upstream: remove last references to active_state
8058
8059 with & ok markus@
8060
8061 OpenBSD-Commit-ID: 78619a50ea7e4ca2f3b54d4658b3227277490ba2
8062
8063commit ec00f918b8ad90295044266c433340a8adc93452
8064Author: djm@openbsd.org <djm@openbsd.org>
8065Date: Sat Jan 19 21:43:07 2019 +0000
8066
8067 upstream: convert monitor.c to new packet API
8068
8069 with & ok markus@
8070
8071 OpenBSD-Commit-ID: 61ecd154bd9804461a0cf5f495a29d919e0014d5
8072
8073commit 6350e0316981489d4205952d6904d6fedba5bfe0
8074Author: djm@openbsd.org <djm@openbsd.org>
8075Date: Sat Jan 19 21:42:30 2019 +0000
8076
8077 upstream: convert sshd.c to new packet API
8078
8079 with & ok markus@
8080
8081 OpenBSD-Commit-ID: ea569d3eaf9b5cf1bad52779fbfa5fa0b28af891
8082
8083commit a5e2ad88acff2b7d131ee6d5dc5d339b0f8c6a6d
8084Author: djm@openbsd.org <djm@openbsd.org>
8085Date: Sat Jan 19 21:41:53 2019 +0000
8086
8087 upstream: convert session.c to new packet API
8088
8089 with & ok markus@
8090
8091 OpenBSD-Commit-ID: fae817207e23099ddd248960c984f7b7f26ea68e
8092
8093commit 3a00a921590d4c4b7e96df11bb10e6f9253ad45e
8094Author: djm@openbsd.org <djm@openbsd.org>
8095Date: Sat Jan 19 21:41:18 2019 +0000
8096
8097 upstream: convert auth.c to new packet API
8098
8099 with & ok markus@
8100
8101 OpenBSD-Commit-ID: 7e10359f614ff522b52a3f05eec576257794e8e4
8102
8103commit 7ec5cb4d15ed2f2c5c9f5d00e6b361d136fc1e2d
8104Author: djm@openbsd.org <djm@openbsd.org>
8105Date: Sat Jan 19 21:40:48 2019 +0000
8106
8107 upstream: convert serverloop.c to new packet API
8108
8109 with & ok markus@
8110
8111 OpenBSD-Commit-ID: c92dd19b55457541478f95c0d6b318426d86d885
8112
8113commit 64c9598ac05332d1327cbf55334dee4172d216c4
8114Author: djm@openbsd.org <djm@openbsd.org>
8115Date: Sat Jan 19 21:40:21 2019 +0000
8116
8117 upstream: convert the remainder of sshconnect2.c to new packet
8118
8119 API
8120
8121 with & ok markus@
8122
8123 OpenBSD-Commit-ID: 0986d324f2ceb5e8a12ac21c1bb10b3b4b1e0f71
8124
8125commit bc5e1169d101d16e3a5962a928db2bc49a8ef5a3
8126Author: djm@openbsd.org <djm@openbsd.org>
8127Date: Sat Jan 19 21:39:12 2019 +0000
8128
8129 upstream: convert the remainder of clientloop.c to new packet API
8130
8131 with & ok markus@
8132
8133 OpenBSD-Commit-ID: ce2fbbacb86a290f31da1e7bf04cddf2bdae3d1e
8134
8135commit 5ebce136a6105f084db8f0d7ee41981d42daec40
8136Author: Damien Miller <djm@mindrot.org>
8137Date: Sun Jan 20 09:44:53 2019 +1100
8138
8139 upstream: convert auth2.c to new packet API
8140
8141 OpenBSD-Commit-ID: ed831bb95ad228c6791bc18b60ce7a2edef2c999
8142
8143commit 172a592a53ebe8649c4ac0d7946e6c08eb151af6
8144Author: djm@openbsd.org <djm@openbsd.org>
8145Date: Sat Jan 19 21:37:48 2019 +0000
8146
8147 upstream: convert servconf.c to new packet API
8148
8149 with & ok markus@
8150
8151 OpenBSD-Commit-ID: 126553aecca302c9e02fd77e333b9cb217e623b4
8152
8153commit 8cc7a679d29cf6ecccfa08191e688c7f81ef95c2
8154Author: djm@openbsd.org <djm@openbsd.org>
8155Date: Sat Jan 19 21:37:13 2019 +0000
8156
8157 upstream: convert channels.c to new packet API
8158
8159 with & ok markus@
8160
8161 OpenBSD-Commit-ID: 0b8279b56113cbd4011fc91315c0796b63dc862c
8162
8163commit 06232038c794c7dfcb087be0ab0b3e65b09fd396
8164Author: djm@openbsd.org <djm@openbsd.org>
8165Date: Sat Jan 19 21:36:38 2019 +0000
8166
8167 upstream: convert sshconnect.c to new packet API
8168
8169 with & ok markus@
8170
8171 OpenBSD-Commit-ID: 222337cf6c96c347f1022d976fac74b4257c061f
8172
8173commit 25b2ed667216314471bb66752442c55b95792dc3
8174Author: djm@openbsd.org <djm@openbsd.org>
8175Date: Sat Jan 19 21:36:06 2019 +0000
8176
8177 upstream: convert ssh.c to new packet API
8178
8179 with & ok markus@
8180
8181 OpenBSD-Commit-ID: eb146878b24e85c2a09ee171afa6797c166a2e21
8182
8183commit e3128b38623eef2fa8d6e7ae934d3bd08c7e973e
8184Author: djm@openbsd.org <djm@openbsd.org>
8185Date: Sat Jan 19 21:35:25 2019 +0000
8186
8187 upstream: convert mux.c to new packet API
8188
8189 with & ok markus@
8190
8191 OpenBSD-Commit-ID: 4e3893937bae66416e984b282d8f0f800aafd802
8192
8193commit ed1df7226caf3a943a36d580d4d4e9275f8a61ee
8194Author: djm@openbsd.org <djm@openbsd.org>
8195Date: Sat Jan 19 21:34:45 2019 +0000
8196
8197 upstream: convert sshconnect2.c to new packet API
8198
8199 with & ok markus@
8200
8201 OpenBSD-Commit-ID: 1cb869e0d6e03539f943235641ea070cae2ebc58
8202
8203commit 23f22a4aaa923c61ec49a99ebaa383656e87fa40
8204Author: djm@openbsd.org <djm@openbsd.org>
8205Date: Sat Jan 19 21:33:57 2019 +0000
8206
8207 upstream: convert clientloop.c to new packet API
8208
8209 with & ok markus@
8210
8211 OpenBSD-Commit-ID: 497b36500191f452a22abf283aa8d4a9abaee7fa
8212
8213commit ad60b1179c9682ca5aef0b346f99ef68cbbbc4e5
8214Author: djm@openbsd.org <djm@openbsd.org>
8215Date: Sat Jan 19 21:33:13 2019 +0000
8216
8217 upstream: allow sshpkt_fatal() to take a varargs format; we'll
8218
8219 use this to give packet-related fatal error messages more context (esp. the
8220 remote endpoint) ok markus@
8221
8222 OpenBSD-Commit-ID: de57211f9543426b515a8a10a4f481666b2b2a50
8223
8224commit 0fa174ebe129f3d0aeaf4e2d1dd8de745870d0ff
8225Author: djm@openbsd.org <djm@openbsd.org>
8226Date: Sat Jan 19 21:31:32 2019 +0000
8227
8228 upstream: begin landing remaining refactoring of packet parsing
8229
8230 API, started almost exactly six years ago.
8231
8232 This change stops including the old packet_* API by default and makes
8233 each file that requires the old API include it explicitly. We will
8234 commit file-by-file refactoring to remove the old API in consistent
8235 steps.
8236
8237 with & ok markus@
8238
8239 OpenBSD-Commit-ID: 93c98a6b38f6911fd1ae025a1ec57807fb4d4ef4
8240
8241commit 4ae7f80dfd02f2bde912a67c9f338f61e90fa79f
8242Author: tb@openbsd.org <tb@openbsd.org>
8243Date: Sat Jan 19 04:15:56 2019 +0000
8244
8245 upstream: Print an \r in front of the password prompt so parts of
8246
8247 a password that was entered too early are likely clobbered by the prompt.
8248 Idea from doas.
8249
8250 from and ok djm
8251 "i like it" deraadt
8252
8253 OpenBSD-Commit-ID: 5fb97c68df6d8b09ab37f77bca1d84d799c4084e
8254
8255commit a6258e5dc314c7d504ac9f0fbc3be96475581dbe
8256Author: Darren Tucker <dtucker@dtucker.net>
8257Date: Fri Jan 18 11:09:01 2019 +1100
8258
8259 Add minimal fchownat and fchmodat implementations.
8260
8261 Fixes builds on at least OS X Lion, NetBSD 6 and Solaris 10.
8262
8263commit 091093d25802b87d3b2b09f2c88d9f33e1ae5562
8264Author: Darren Tucker <dtucker@dtucker.net>
8265Date: Fri Jan 18 12:11:42 2019 +1300
8266
8267 Add a minimal implementation of utimensat().
8268
8269 Some systems (eg older OS X) do not have utimensat, so provide minimal
8270 implementation in compat layer. Fixes build on at least El Capitan.
8271
8272commit 609644027dde1f82213699cb6599e584c7efcb75
8273Author: djm@openbsd.org <djm@openbsd.org>
8274Date: Tue Jan 1 22:20:16 2019 +0000
8275
8276 upstream: regress bits for banner processing refactor (this test was
8277
8278 depending on ssh returning a particular error message for banner parsing
8279 failure)
8280
8281 reminded by bluhm@
8282
8283 OpenBSD-Regress-ID: f24fc303d40931157431df589b386abf5e1be575
8284
8285commit f47d72ddad75b93d3cbc781718b0fa9046c03df8
8286Author: djm@openbsd.org <djm@openbsd.org>
8287Date: Thu Jan 17 04:45:09 2019 +0000
8288
8289 upstream: tun_fwd_ifnames variable should b
8290
8291 =?UTF-8?q?e=20extern;=20from=20Hanno=20B=C3=B6ck?=
8292 MIME-Version: 1.0
8293 Content-Type: text/plain; charset=UTF-8
8294 Content-Transfer-Encoding: 8bit
8295
8296 OpenBSD-Commit-ID: d53dede6e521161bf04d39d09947db6253a38271
8297
8298commit 943d0965263cae1c080ce5a9d0b5aa341885e55d
8299Author: djm@openbsd.org <djm@openbsd.org>
8300Date: Thu Jan 17 04:20:53 2019 +0000
8301
8302 upstream: include time.h for time(3)/nanosleep(2); from Ian
8303
8304 McKellar
8305
8306 OpenBSD-Commit-ID: 6412ccd06a88f65b207a1089345f51fa1244ea51
8307
8308commit dbb4dec6d5d671b5e9d67ef02162a610ad052068
8309Author: djm@openbsd.org <djm@openbsd.org>
8310Date: Thu Jan 17 01:50:24 2019 +0000
8311
8312 upstream: many of the global variables in this file can be made static;
8313
8314 patch from Markus Schmidt
8315
8316 OpenBSD-Commit-ID: f3db619f67beb53257b21bac0e92b4fb7d5d5737
8317
8318commit 60d8c84e0887514c99c9ce071965fafaa1c3d34a
8319Author: djm@openbsd.org <djm@openbsd.org>
8320Date: Wed Jan 16 23:23:45 2019 +0000
8321
8322 upstream: Add "-h" flag to sftp chown/chgrp/chmod commands to
8323
8324 request they do not follow symlinks. Requires recently-committed
8325 lsetstat@openssh.com extension on the server side.
8326
8327 ok markus@ dtucker@
8328
8329 OpenBSD-Commit-ID: f93bb3f6f7eb2fb7ef1e59126e72714f1626d604
8330
8331commit dbbc7e0eab7262f34b8e0cd6efecd1c77b905ed0
8332Author: djm@openbsd.org <djm@openbsd.org>
8333Date: Wed Jan 16 23:22:10 2019 +0000
8334
8335 upstream: add support for a "lsetstat@openssh.com" extension. This
8336
8337 replicates the functionality of the existing SSH2_FXP_SETSTAT operation but
8338 does not follow symlinks. Based on a patch from Bert Haverkamp in bz#2067 but
8339 with more attribute modifications supported.
8340
8341 ok markus@ dtucker@
8342
8343 OpenBSD-Commit-ID: f7234f6e90db19655d55d936a115ee4ccb6aaf80
8344
8345commit 4a526941d328fc3d97068c6a4cbd9b71b70fe5e1
8346Author: djm@openbsd.org <djm@openbsd.org>
8347Date: Fri Jan 4 03:27:50 2019 +0000
8348
8349 upstream: eliminate function-static attempt counters for
8350
8351 passwd/kbdint authmethods by moving them to the client authctxt; Patch from
8352 Markus Schmidt, ok markus@
8353
8354 OpenBSD-Commit-ID: 4df4404a5d5416eb056f68e0e2f4fa91ba3b3f7f
8355
8356commit 8a8183474c41bd6cebaa917346b549af2239ba2f
8357Author: djm@openbsd.org <djm@openbsd.org>
8358Date: Fri Jan 4 03:23:00 2019 +0000
8359
8360 upstream: fix memory leak of ciphercontext when rekeying; bz#2942
8361
8362 Patch from Markus Schmidt; ok markus@
8363
8364 OpenBSD-Commit-ID: 7877f1b82e249986f1ef98d0ae76ce987d332bdd
8365
8366commit 5bed70afce0907b6217418d0655724c99b683d93
8367Author: djm@openbsd.org <djm@openbsd.org>
8368Date: Tue Jan 1 23:10:53 2019 +0000
8369
8370 upstream: static on global vars, const on handler tables that contain
8371
8372 function pointers; from Mike Frysinger
8373
8374 OpenBSD-Commit-ID: 7ef2305e50d3caa6326286db43cf2cfaf03960e0
8375
8376commit 007a88b48c97d092ed2f501bbdcb70d9925277be
8377Author: djm@openbsd.org <djm@openbsd.org>
8378Date: Thu Dec 27 23:02:11 2018 +0000
8379
8380 upstream: Request RSA-SHA2 signatures for
8381
8382 rsa-sha2-{256|512}-cert-v01@openssh.com cert algorithms; ok markus@
8383
8384 OpenBSD-Commit-ID: afc6f7ca216ccd821656d1c911d2a3deed685033
8385
8386commit eb347d086c35428c47fe52b34588cbbc9b49d9a6
8387Author: djm@openbsd.org <djm@openbsd.org>
8388Date: Thu Dec 27 03:37:49 2018 +0000
8389
8390 upstream: ssh_packet_set_state() now frees ssh->kex implicitly, so
8391
8392 don't do explicit kex_free() beforehand
8393
8394 OpenBSD-Regress-ID: f2f73bad47f62a2040ccba0a72cadcb12eda49cf
8395
8396commit bb542f0cf6f7511a22a08c492861e256a82376a9
8397Author: tedu@openbsd.org <tedu@openbsd.org>
8398Date: Sat Dec 15 00:50:21 2018 +0000
8399
8400 upstream: remove unused and problematic sudo clean. ok espie
8401
8402 OpenBSD-Regress-ID: ca90c20a15a85b661e13e98b80c10e65cd662f7b
8403
8404commit 0a843d9a0e805f14653a555f5c7a8ba99d62c12d
8405Author: djm@openbsd.org <djm@openbsd.org>
8406Date: Thu Dec 27 03:25:24 2018 +0000
8407
8408 upstream: move client/server SSH-* banners to buffers under
8409
8410 ssh->kex and factor out the banner exchange. This eliminates some common code
8411 from the client and server.
8412
8413 Also be more strict about handling \r characters - these should only
8414 be accepted immediately before \n (pointed out by Jann Horn).
8415
8416 Inspired by a patch from Markus Schmidt.
8417 (lots of) feedback and ok markus@
8418
8419 OpenBSD-Commit-ID: 1cc7885487a6754f63641d7d3279b0941890275b
8420
8421commit 434b587afe41c19391821e7392005068fda76248
8422Author: dtucker@openbsd.org <dtucker@openbsd.org>
8423Date: Fri Dec 7 04:36:09 2018 +0000
8424
8425 upstream: Fix calculation of initial bandwidth limits. Account for
8426
8427 written bytes before the initial timer check so that the first buffer written
8428 is accounted. Set the threshold after which the timer is checked such that
8429 the limit starts being computed as soon as possible, ie after the second
8430 buffer is written. This prevents an initial burst of traffic and provides a
8431 more accurate bandwidth limit. bz#2927, ok djm.
8432
8433 OpenBSD-Commit-ID: ff3ef76e4e43040ec198c2718d5682c36b255cb6
8434
8435commit a6a0788cbbe8dfce2819ee43b09c80725742e21c
8436Author: djm@openbsd.org <djm@openbsd.org>
8437Date: Fri Dec 7 03:39:40 2018 +0000
8438
8439 upstream: only consider the ext-info-c extension during the initial
8440
8441 KEX. It shouldn't be sent in subsequent ones, but if it is present we should
8442 ignore it.
8443
8444 This prevents sshd from sending a SSH_MSG_EXT_INFO for REKEX for buggy
8445 these clients. Reported by Jakub Jelen via bz2929; ok dtucker@
8446
8447 OpenBSD-Commit-ID: 91564118547f7807030ec537480303e2371902f9
8448
8449commit 63bba57a32c5bb6158d57cf4c47022daf89c14a0
8450Author: djm@openbsd.org <djm@openbsd.org>
8451Date: Fri Dec 7 03:33:18 2018 +0000
8452
8453 upstream: fix option letter pasto in previous
8454
8455 OpenBSD-Commit-ID: e26c8bf2f2a808f3c47960e1e490d2990167ec39
8456
8457commit 737e4edd82406595815efadc28ed5161b8b0c01a
8458Author: djm@openbsd.org <djm@openbsd.org>
8459Date: Fri Dec 7 03:32:26 2018 +0000
8460
8461 upstream: mention that the ssh-keygen -F (find host in
8462
8463 authorized_keys) and -R (remove host from authorized_keys) options may accept
8464 either a bare hostname or a [hostname]:port combo. bz#2935
8465
8466 OpenBSD-Commit-ID: 5535cf4ce78375968b0d2cd7aa316fa3eb176780
8467
8468commit 8a22ffaa13391cfe5b40316d938fe0fb931e9296
8469Author: Damien Miller <djm@mindrot.org>
8470Date: Fri Dec 7 15:41:16 2018 +1100
8471
8472 expose $SSH_CONNECTION in the PAM environment
8473
8474 This makes the connection 4-tuple available to PAM modules that
8475 wish to use it in decision-making. bz#2741
8476
8477commit a784fa8c7a7b084d63bae82ccfea902131bb45c5
8478Author: Kevin Adler <kadler@us.ibm.com>
8479Date: Wed Dec 12 22:12:45 2018 -0600
8480
8481 Don't pass loginmsg by address now that it's an sshbuf*
8482
8483 In 120a1ec74, loginmsg was changed from the legacy Buffer type
8484 to struct sshbuf*, but it missed changing calls to
8485 sys_auth_allowed_user and sys_auth_record_login which passed
8486 loginmsg by address. Now that it's a pointer, just pass it directly.
8487
8488 This only affects AIX, unless there are out of tree users.
8489
8490commit 285310b897969a63ef224d39e7cc2b7316d86940
8491Author: djm@openbsd.org <djm@openbsd.org>
8492Date: Fri Dec 7 02:31:20 2018 +0000
8493
8494 upstream: no need to allocate channels_pre/channels_post in
8495
8496 channel_init_channels() as we do it anyway in channel_handler_init() that we
8497 call at the end of the function. Fix from Markus Schmidt via bz#2938
8498
8499 OpenBSD-Commit-ID: 74893638af49e3734f1e33a54af1b7ea533373ed
8500
8501commit 87d6cf1cbc91df6815db8fe0acc7c910bc3d18e4
8502Author: djm@openbsd.org <djm@openbsd.org>
8503Date: Fri Nov 30 02:24:52 2018 +0000
8504
8505 upstream: don't attempt to connect to empty SSH_AUTH_SOCK; bz#293
8506
8507 OpenBSD-Commit-ID: 0e8fc8f19f14b21adef7109e0faa583d87c0e929
8508
8509commit 91b19198c3f604f5eef2c56dbe36f29478243141
8510Author: djm@openbsd.org <djm@openbsd.org>
8511Date: Wed Nov 28 06:00:38 2018 +0000
8512
8513 upstream: don't truncate user or host name in "user@host's
8514
8515 OpenBSD-Commit-ID: e6ca01a8d58004b7f2cac0b1b7ce8f87e425e360
8516
8517commit dd0cf6318d9b4b3533bda1e3bc021b2cd7246b7a
8518Author: jmc@openbsd.org <jmc@openbsd.org>
8519Date: Fri Nov 23 06:58:28 2018 +0000
8520
8521 upstream: tweak previous;
8522
8523 OpenBSD-Commit-ID: 08f096922eb00c98251501c193ff9e83fbb5de4f
8524
8525commit 8a85f5458d1c802471ca899c97f89946f6666e61
8526Author: Darren Tucker <dtucker@dtucker.net>
8527Date: Sun Nov 25 21:44:05 2018 +1100
8528
8529 Include stdio.h for FILE if needed.
8530
8531commit 16fb23f25454991272bfe4598cc05d20fcd25116
8532Author: Darren Tucker <dtucker@dtucker.net>
8533Date: Sun Nov 25 14:05:57 2018 +1100
8534
8535 Reverse order of OpenSSL init functions.
8536
8537 Try the new init function (OPENSSL_init_crypto) before falling back to
8538 the old one (OpenSSL_add_all_algorithms).
8539
8540commit 98f878d2272bf8dff21f2a0265d963c29e33fed2
8541Author: Darren Tucker <dtucker@dtucker.net>
8542Date: Sun Nov 25 14:05:08 2018 +1100
8543
8544 Improve OpenSSL_add_all_algorithms check.
8545
8546 OpenSSL_add_all_algorithms() may be a macro so check for that too.
8547
8548commit 9e34e0c59ab04514f9de9934a772283f7f372afe
8549Author: djm@openbsd.org <djm@openbsd.org>
8550Date: Fri Nov 23 05:08:07 2018 +0000
8551
8552 upstream: add a ssh_config "Match final" predicate
8553
8554 Matches in same pass as "Match canonical" but doesn't require
8555 hostname canonicalisation be enabled. bz#2906 ok markus
8556
8557 OpenBSD-Commit-ID: fba1dfe9f6e0cabcd0e2b3be13f7a434199beffa
8558
8559commit 4da58d58736b065b1182b563d10ad6765d811c6d
8560Author: dtucker@openbsd.org <dtucker@openbsd.org>
8561Date: Fri Nov 23 02:53:57 2018 +0000
8562
8563 upstream: Remove now-unneeded ifdef SIGINFO around handler since it is
8564
8565 now always used for SIGUSR1 even when SIGINFO is not defined. This will make
8566 things simpler in -portable.
8567
8568 OpenBSD-Regress-ID: 4ff0265b335820b0646d37beb93f036ded0dc43f
8569
8570commit c721d5877509875c8515df0215fa1dab862013bc
8571Author: Darren Tucker <dtucker@dtucker.net>
8572Date: Fri Nov 23 14:11:20 2018 +1100
8573
8574 Move RANDOM_SEED_SIZE outside ifdef.
8575
8576 RANDOM_SEED_SIZE is used by both the OpenSSL and non-OpenSSL code
8577 This fixes the build with configureed --without-openssl.
8578
8579commit deb51552c3ce7ce72c8d0232e4f36f2e7c118c7d
8580Author: Darren Tucker <dtucker@dtucker.net>
8581Date: Thu Nov 22 19:59:28 2018 +1100
8582
8583 Resync with OpenBSD by pulling in an ifdef SIGINFO.
8584
8585commit 28c7b2cd050f4416bfcf3869a20e3ea138aa52fe
8586Author: Damien Miller <djm@mindrot.org>
8587Date: Fri Nov 23 10:45:20 2018 +1100
8588
8589 fix configure test for OpenSSL version
8590
8591 square brackets in case statements may be eaten by autoconf.
8592
8593 Report and fix from Filipp Gunbin; tweaked by naddy@
8594
8595commit 42c5ec4b97b6a1bae70f323952d0646af16ce710
8596Author: Damien Miller <djm@mindrot.org>
8597Date: Fri Nov 23 10:40:06 2018 +1100
8598
8599 refactor libcrypto initialisation
8600
8601 Don't call OpenSSL_add_all_algorithms() unless OpenSSL actually
8602 supports it.
8603
8604 Move all libcrypto initialisation to a single function, and call that
8605 from seed_rng() that is called early in each tool's main().
8606
8607 Prompted by patch from Rosen Penev
8608
8609commit 5b60b6c02009547a3e2a99d4886965de2a4719da
8610Author: dtucker@openbsd.org <dtucker@openbsd.org>
8611Date: Thu Nov 22 08:59:11 2018 +0000
8612
8613 upstream: Output info on SIGUSR1 as well as
8614
8615 SIGINFO to resync with portable. (ID sync only).
8616
8617 OpenBSD-Regress-ID: 699d153e2de22dce51a1b270c40a98472d1a1b16
8618
8619commit e4ae345dc75b34fd870c2e8690d831d2c1088eb7
8620Author: dtucker@openbsd.org <dtucker@openbsd.org>
8621Date: Thu Nov 22 08:48:32 2018 +0000
8622
8623 upstream: Append pid to temp files in /var/run and set a cleanup
8624
8625 trap for them. This allows multiple instances of tests to run without
8626 colliding.
8627
8628 OpenBSD-Regress-ID: 57add105ecdfc54752d8003acdd99eb68c3e0b4c
8629
8630commit f72d0f52effca5aa20a193217346615ecd3eed53
8631Author: dtucker@openbsd.org <dtucker@openbsd.org>
8632Date: Wed Oct 31 11:09:27 2018 +0000
8633
8634 upstream: UsePrivilegeSeparation no is deprecated
8635
8636 test "yes" and "sandbox".
8637
8638 OpenBSD-Regress-ID: 80e685ed8990766527dc629b1affc09a75bfe2da
8639
8640commit 35d0e5fefc419bddcbe09d7fc163d8cd3417125b
8641Author: djm@openbsd.org <djm@openbsd.org>
8642Date: Wed Oct 17 23:28:05 2018 +0000
8643
8644 upstream: add some knobs:
8645
8646 UNITTEST_FAST?= no # Skip slow tests (e.g. less intensive fuzzing).
8647 UNITTEST_SLOW?= no # Include slower tests (e.g. more intensive fuzzing).
8648 UNITTEST_VERBOSE?= no # Verbose test output (inc. per-test names).
8649
8650 useful if you want to run the tests as a smoke test to exercise the
8651 functionality without waiting for all the fuzzers to run.
8652
8653 OpenBSD-Regress-ID: e04d82ebec86068198cd903acf1c67563c57315e
8654
8655commit c1941293d9422a14dda372b4c21895e72aa7a063
8656Author: Darren Tucker <dtucker@dtucker.net>
8657Date: Thu Nov 22 15:52:26 2018 +1100
8658
8659 Resync Makefile.inc with upstream.
8660
8661 It's unused in -portable, but having it out of sync makes other syncs
8662 fail to apply.
8663
8664commit 928f1231f65f88cd4c73e6e0edd63d2cf6295d77
8665Author: djm@openbsd.org <djm@openbsd.org>
8666Date: Mon Nov 19 04:12:32 2018 +0000
8667
8668 upstream: silence (to log level debug2) failure messages when
8669
8670 loading the default hostkeys. Hostkeys explicitly specified in the
8671 configuration or on the command-line are still reported as errors, and
8672 failure to load at least one host key remains a fatal error.
8673 MIME-Version: 1.0
8674 Content-Type: text/plain; charset=UTF-8
8675 Content-Transfer-Encoding: 8bit
8676
8677 Based on patch from Dag-Erling Smørgrav via
8678 https://github.com/openssh/openssh-portable/pull/103
8679
8680 ok markus@
8681
8682 OpenBSD-Commit-ID: ffc2e35a75d1008effaf05a5e27425041c27b684
8683
8684commit 7fca94edbe8ca9f879da9fdd2afd959c4180f4c7
8685Author: dtucker@openbsd.org <dtucker@openbsd.org>
8686Date: Sun Nov 18 22:43:29 2018 +0000
8687
8688 upstream: Fix inverted logic for redirecting ProxyCommand stderr to
8689
8690 /dev/null. Fixes mosh in proxycommand mode that was broken by the previous
8691 ProxyCommand change that was reported by matthieu@. ok djm@ danj@
8692
8693 OpenBSD-Commit-ID: c6fc9641bc250221a0a81c6beb2e72d603f8add6
8694
8695commit ccef7c4faf914993b53035cd2b25ce02ab039c9d
8696Author: djm@openbsd.org <djm@openbsd.org>
8697Date: Fri Nov 16 06:17:38 2018 +0000
8698
8699 upstream: redirect stderr of ProxyCommands to /dev/null when ssh is
8700
8701 started with ControlPersist; based on patch from Steffen Prohaska
8702
8703 OpenBSD-Commit-ID: 1bcaa14a03ae80369d31021271ec75dce2597957
8704
8705commit 15182fd96845a03216d7ac5a2cf31c4e77e406e3
8706Author: djm@openbsd.org <djm@openbsd.org>
8707Date: Fri Nov 16 06:10:29 2018 +0000
8708
8709 upstream: make grandparent-parent-child sshbuf chains robust to
8710
8711 use-after-free faults if the ancestors are freed before the descendents.
8712 Nothing in OpenSSH uses this deallocation pattern. Reported by Jann Horn
8713
8714 OpenBSD-Commit-ID: d93501d1d2734245aac802a252b9bb2eccdba0f2
8715
8716commit 2a35862e664afde774d4a72497d394fe7306ccb5
8717Author: djm@openbsd.org <djm@openbsd.org>
8718Date: Fri Nov 16 03:26:01 2018 +0000
8719
8720 upstream: use path_absolute() for pathname checks; from Manoj Ampalam
8721
8722 OpenBSD-Commit-ID: 482ce71a5ea5c5f3bc4d00fd719481a6a584d925
8723
8724commit d0d1dfa55be1c5c0d77ab3096b198a64235f936d
8725Author: Darren Tucker <dtucker@dtucker.net>
8726Date: Fri Nov 16 14:11:44 2018 +1100
8727
8728 Test for OPENSSL_init_crypto before using.
8729
8730 Check for the presence of OPENSSL_init_crypto and all the flags we want
8731 before trying to use it (bz#2931).
8732
8733commit 6010c0303a422a9c5fa8860c061bf7105eb7f8b2
8734Author: djm@openbsd.org <djm@openbsd.org>
8735Date: Fri Nov 16 03:03:10 2018 +0000
8736
8737 upstream: disallow empty incoming filename or ones that refer to the
8738
8739 current directory; based on report/patch from Harry Sintonen
8740
8741 OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9
8742
8743commit aaed635e3a401cfcc4cc97f33788179c458901c3
8744Author: djm@openbsd.org <djm@openbsd.org>
8745Date: Fri Nov 16 02:46:20 2018 +0000
8746
8747 upstream: fix bug in client that was keeping a redundant ssh-agent
8748
8749 socket around for the life of the connection; bz#2912; reported by Simon
8750 Tatham; ok dtucker@
8751
8752 OpenBSD-Commit-ID: 4ded588301183d343dce3e8c5fc1398e35058478
8753
8754commit e76135e3007f1564427b2956c628923d8dc2f75a
8755Author: djm@openbsd.org <djm@openbsd.org>
8756Date: Fri Nov 16 02:43:56 2018 +0000
8757
8758 upstream: fix bug in HostbasedAcceptedKeyTypes and
8759
8760 PubkeyAcceptedKeyTypes options. If only RSA-SHA2 siganture types were
8761 specified, then authentication would always fail for RSA keys as the monitor
8762 checks only the base key (not the signature algorithm) type against
8763 *AcceptedKeyTypes. bz#2746; reported by Jakub Jelen; ok dtucker
8764
8765 OpenBSD-Commit-ID: 117bc3dc54578dbdb515a1d3732988cb5b00461b
8766
8767commit 5c1a63562cac0574c226224075b0829a50b48c9d
8768Author: djm@openbsd.org <djm@openbsd.org>
8769Date: Fri Nov 16 02:30:20 2018 +0000
8770
8771 upstream: support a prefix of '@' to suppress echo of sftp batch
8772
8773 commands; bz#2926; ok dtucker@
8774
8775 OpenBSD-Commit-ID: 9d635636bc84aeae796467e059f7634de990a79d
8776
8777commit 90ef45f7aac33eaf55ec344e101548a01e570f29
8778Author: schwarze@openbsd.org <schwarze@openbsd.org>
8779Date: Tue Nov 13 07:22:45 2018 +0000
8780
8781 upstream: fix markup error (missing blank before delimiter); from
8782
8783 Mike Frysinger <vapier at gentoo dot org>
8784
8785 OpenBSD-Commit-ID: 1bc5392f795ca86318d695e0947eaf71a5a4f6d9
8786
8787commit 960e7c672dc106f3b759c081de3edb4d1138b36e
8788Author: djm@openbsd.org <djm@openbsd.org>
8789Date: Fri Nov 9 02:57:58 2018 +0000
8790
8791 upstream: typo in error message; caught by Debian lintian, via
8792
8793 Colin Watson
8794
8795 OpenBSD-Commit-ID: bff614c7bd1f4ca491a84e9b5999f848d0d66758
8796
8797commit 81f1620c836e6c79c0823ba44acca605226a80f1
8798Author: djm@openbsd.org <djm@openbsd.org>
8799Date: Fri Nov 9 02:56:22 2018 +0000
8800
8801 upstream: correct local variable name; from yawang AT microsoft.com
8802
8803 OpenBSD-Commit-ID: a0c228390856a215bb66319c89cb3959d3af8c87
8804
8805commit 1293740e800fa2e5ccd38842a2e4970c6f3b9831
8806Author: dtucker@openbsd.org <dtucker@openbsd.org>
8807Date: Wed Oct 31 11:20:05 2018 +0000
8808
8809 upstream: Import new moduli.
8810
8811 OpenBSD-Commit-ID: c07772f58028fda683ee6abd41c73da3ff70d403
8812
8813commit 46925ae28e53fc9add336a4fcdb7ed4b86c3591c
8814Author: djm@openbsd.org <djm@openbsd.org>
8815Date: Fri Oct 26 01:23:03 2018 +0000
8816
8817 upstream: mention ssh-ed25519-cert-v01@openssh.com in list of cert
8818
8819 key type at start of doc
8820
8821 OpenBSD-Commit-ID: b46b0149256d67f05f2d5d01e160634ed1a67324
8822
8823commit 8d8340e2c215155637fe19cb1a837f71b2d55f7b
8824Author: Darren Tucker <dtucker@dtucker.net>
8825Date: Fri Nov 16 13:32:13 2018 +1100
8826
8827 Remove fallback check for /usr/local/ssl.
8828
8829 If configure could not find a working OpenSSL installation it would
8830 fall back to checking in /usr/local/ssl. This made sense back when
8831 systems did not ship with OpenSSL, but most do and OpenSSL 1.1 doesn't
8832 use that as a default any more. The fallback behaviour also meant
8833 that if you pointed --with-ssl-dir at a specific directory and it
8834 didn't work, it would silently use either the system libs or the ones
8835 in /usr/local/ssl. If you want to use /usr/local/ssl you'll need to
8836 pass configure --with-ssl-dir=/usr/local/ssl. ok djm@
8837
8838commit ce93472134fb22eff73edbcd173a21ae38889331
8839Author: Darren Tucker <dtucker@dtucker.net>
8840Date: Fri Nov 16 12:44:01 2018 +1100
8841
8842 Fix check for OpenSSL 1.0.1 exactly.
8843
8844 Both INSTALL and configure.ac claim OpenSSL >= 1.0.1 is supported; fix
8845 compile-time check for 1.0.1 to match.
8846
8847commit f2970868f86161a22b2c377057fa3891863a692a
8848Author: Darren Tucker <dtucker@dtucker.net>
8849Date: Sun Nov 11 15:58:20 2018 +1100
8850
8851 Improve warnings in cygwin service setup.
8852
8853 bz#2922, patch from vinschen at redhat.com.
8854
8855commit bd2d54fc1eee84bf87158a1277a50e6c8a303339
8856Author: Darren Tucker <dtucker@dtucker.net>
8857Date: Sun Nov 11 15:54:54 2018 +1100
8858
8859 Remove hardcoded service name in cygwin setup.
8860
8861 bz#2922, patch from Christian.Lupien at USherbrooke.ca, sanity check
8862 by vinschen at redhat.com.
8863
8864commit d0153c77bf7964e694f1d26c56c41a571b8e9466
8865Author: Dag-Erling Smørgrav <des@des.no>
8866Date: Tue Oct 9 23:03:40 2018 +0200
8867
8868 AC_CHECK_SIZEOF() no longer needs a second argument.
8869
8870commit 9b47b083ca9d866249ada9f02dbd57c87b13806e
8871Author: Manoj Ampalam <manojamp@microsoft.com>
8872Date: Thu Nov 8 22:41:59 2018 -0800
8873
8874 Fix error message w/out nistp521.
8875
8876 Correct error message when OpenSSL doesn't support certain ECDSA key
8877 lengths.
8878
8879commit 624d19ac2d56fa86a22417c35536caceb3be346f
8880Author: Eneas U de Queiroz <cote2004-github@yahoo.com>
8881Date: Tue Oct 9 16:17:42 2018 -0300
8882
8883 fix compilation with openssl built without ECC
8884
8885 ECDSA code in openssh-compat.h and libressl-api-compat.c needs to be
8886 guarded by OPENSSL_HAS_ECC
8887
8888 Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
8889
8890commit 1801cd11d99d05a66ab5248c0555f55909a355ce
8891Author: Darren Tucker <dtucker@dtucker.net>
8892Date: Thu Nov 8 15:03:11 2018 +1100
8893
8894 Simplify OpenSSL 1.1 function checks.
8895
8896 Replace AC_SEARCH_LIBS checks for OpenSSL 1.1 functions with a single
8897 AC_CHECK_FUNCS. ok djm@
8898
8899commit bc32f118d484e4d71d2a0828fd4eab7e4176c9af
8900Author: Darren Tucker <dtucker@dtucker.net>
8901Date: Mon Nov 5 17:31:24 2018 +1100
8902
8903 Fix pasto for HAVE_EVP_CIPHER_CTX_SET_IV.
8904
8905 Prevents unnecessary redefinition. Patch from mforney at mforney.org.
8906
8907commit 3719df60c66abc4b47200d41f571d67772f293ba
8908Author: Darren Tucker <dtucker@dtucker.net>
8909Date: Wed Oct 31 22:21:03 2018 +1100
8910
8911 Import new moduli.
8912
8913commit 595605d4abede475339d6a1f07a8cc674c11d1c3
8914Author: Darren Tucker <dtucker@dtucker.net>
8915Date: Sun Oct 28 15:18:13 2018 +1100
8916
8917 Update check for minimum OpenSSL version.
8918
8919commit 6ab75aba340d827140d7ba719787aabaf39a0355
8920Author: Darren Tucker <dtucker@dtucker.net>
8921Date: Sun Oct 28 15:16:31 2018 +1100
8922
8923 Update required OpenSSL versions to match current.
8924
8925commit c801b0e38eae99427f37869370151b78f8e15c5d
8926Author: Darren Tucker <dtucker@dtucker.net>
8927Date: Sun Oct 28 14:34:12 2018 +1100
8928
8929 Use detected version functions in openssl compat.
8930
8931 Use detected functions in compat layer instead of guessing based on
8932 versions. Really fixes builds with LibreSSL, not just configure.
8933
8934commit 262d81a259d4aa1507c709ec9d5caa21c7740722
8935Author: Darren Tucker <dtucker@dtucker.net>
8936Date: Sat Oct 27 16:45:59 2018 +1100
8937
8938 Check for the existence of openssl version funcs.
8939
8940 Check for the existence of openssl version functions and use the ones
8941 detected instead of trying to guess based on the int32 version
8942 identifier. Fixes builds with LibreSSL.
8943
8944commit 406a24b25d6a2bdd70cacd16de7e899dcb2a8829
8945Author: Damien Miller <djm@mindrot.org>
8946Date: Fri Oct 26 13:43:28 2018 +1100
8947
8948 fix builds on OpenSSL <= 1.0.x
8949
8950 I thought OpenSSL 1.0.x offered the new-style OpenSSL_version_num() API
8951 to obtain version number, but they don't.
8952
8953commit 859754bdeb41373d372e36b5dc89c547453addb3
8954Author: Damien Miller <djm@mindrot.org>
8955Date: Tue Oct 23 17:10:41 2018 +1100
8956
8957 remove remaining references to SSLeay
8958
8959 Prompted by Rosen Penev
8960
8961commit b9fea45a68946c8dfeace72ad1f6657c18f2a98a
8962Author: Damien Miller <djm@mindrot.org>
8963Date: Tue Oct 23 17:10:35 2018 +1100
8964
8965 regen depend
8966
8967commit a65784c9f9c5d00cf1a0e235090170abc8d07c73
8968Author: djm@openbsd.org <djm@openbsd.org>
8969Date: Tue Oct 23 05:56:35 2018 +0000
8970
8971 upstream: refer to OpenSSL not SSLeay;
8972
8973 we're old, but we don't have to act it
8974
8975 OpenBSD-Commit-ID: 9ca38d11f8ed19e61a55108d1e892d696cee08ec
8976
8977commit c0a35265907533be10ca151ac797f34ae0d68969
8978Author: Damien Miller <djm@mindrot.org>
8979Date: Mon Oct 22 11:22:50 2018 +1100
8980
8981 fix compile for openssl 1.0.x w/ --with-ssl-engine
8982
8983 bz#2921, patch from cotequeiroz
8984
8985commit 31b49525168245abe16ad49d7b7f519786b53a38
8986Author: Darren Tucker <dtucker@dtucker.net>
8987Date: Mon Oct 22 20:05:18 2018 +1100
8988
8989 Include openssl compatibility.
8990
8991 Patch from rosenp at gmail.com via openssh-unix-dev.
8992
8993commit a4fc253f5f44f0e4c47aafe2a17d2c46481d3c04
8994Author: djm@openbsd.org <djm@openbsd.org>
8995Date: Fri Oct 19 03:12:42 2018 +0000
8996
8997 upstream: when printing certificate contents "ssh-keygen -Lf
8998
8999 /path/certificate", include the algorithm that the CA used to sign the cert.
9000
9001 OpenBSD-Commit-ID: 1ea20b5048a851a7a0758dcb9777a211a2c0dddd
9002
9003commit 83b3d99d2b47321b7ebb8db6f6ea04f3808bc069
9004Author: florian@openbsd.org <florian@openbsd.org>
9005Date: Mon Oct 15 11:28:50 2018 +0000
9006
9007 upstream: struct sockaddr_storage is guaranteed to be large enough,
9008
9009 no need to check the size. OK kn, deraadt
9010
9011 OpenBSD-Commit-ID: 0aa56e92eb49c79f495b31a5093109ec5841f439
9012
9013commit aede1c34243a6f7feae2fb2cb686ade5f9be6f3d
9014Author: Damien Miller <djm@mindrot.org>
9015Date: Wed Oct 17 11:01:20 2018 +1100
9016
9017 Require OpenSSL 1.1.x series 1.1.0g or greater
9018
9019 Previous versions have a bug with EVP_CipherInit() when passed a
9020 NULL EVP_CIPHER, per https://github.com/openssl/openssl/pull/4613
9021
9022 ok dtucker@
9023
9024commit 08300c211409c212e010fe2e2f2883e573a04ce2
9025Author: Damien Miller <djm@mindrot.org>
9026Date: Wed Oct 17 08:12:02 2018 +1100
9027
9028 unbreak compilation with --with-ssl-engine
9029
9030 Missing last argument to OPENSSL_init_crypto()
9031
9032commit 1673274aee67ce0eb6f00578b6f3d2bcbd58f937
9033Author: Darren Tucker <dtucker@dtucker.net>
9034Date: Tue Oct 16 14:45:57 2018 +1100
9035
9036 Remove gcc spectre mitigation flags.
9037
9038 Current impementions of the gcc spectre mitigation flags cause
9039 miscompilations when combined with other flags and do not provide much
9040 protection. Found by fweimer at redhat.com, ok djm@
9041
9042commit 4e23deefd7959ef83c73ed9cce574423438f6133
9043Author: Damien Miller <djm@mindrot.org>
9044Date: Tue Oct 16 10:51:52 2018 +1100
9045
9046 Avoid deprecated OPENSSL_config when using 1.1.x
9047
9048 OpenSSL 1.1.x soft-deprecated OPENSSL_config in favour of
9049 OPENSSL_init_crypto; pointed out by Jakub Jelen
9050
9051commit 797cdd9c8468ed1125ce60d590ae3f1397866af4
9052Author: Darren Tucker <dtucker@dtucker.net>
9053Date: Fri Oct 12 16:58:47 2018 +1100
9054
9055 Don't avoid our *sprintf replacements.
9056
9057 Don't let systems with broken printf(3) avoid our replacements
9058 via asprintf(3)/vasprintf(3) calling libc internally. From djm@
9059
9060commit e526127cbd2f8ad88fb41229df0c9b850c722830
9061Author: Darren Tucker <dtucker@dtucker.net>
9062Date: Fri Oct 12 16:43:35 2018 +1100
9063
9064 Check if snprintf understands %zu.
9065
9066 If the platforms snprintf and friends don't understand %zu, use the
9067 compat replacement. Prevents segfaults on those platforms.
9068
9069commit cf39f875191708c5f2f1a3c1c9019f106e74aea3
9070Author: Damien Miller <djm@mindrot.org>
9071Date: Fri Oct 12 09:48:05 2018 +1100
9072
9073 remove stale link, tweak
9074
9075commit a7205e68decf7de2005810853b4ce6b222b65e2a
9076Author: Damien Miller <djm@mindrot.org>
9077Date: Fri Oct 12 09:47:20 2018 +1100
9078
9079 update version numbers ahead of release
9080
9081commit 1a4a9cf80f5b92b9d1dadd0bfa8867c04d195391
9082Author: djm@openbsd.org <djm@openbsd.org>
9083Date: Thu Oct 11 03:48:04 2018 +0000
9084
9085 upstream: don't send new-style rsa-sha2-*-cert-v01@openssh.com names to
9086
9087 older OpenSSH that can't handle them. spotted by Adam Eijdenberg; ok dtucker
9088
9089 OpenBSD-Commit-ID: 662bbc402e3d7c9b6c322806269698106a6ae631
9090
9091commit dc8ddcdf1a95e011c263486c25869bb5bf4e30ec
9092Author: Damien Miller <djm@mindrot.org>
9093Date: Thu Oct 11 13:08:59 2018 +1100
9094
9095 update depends
9096
9097commit 26841ac265603fd2253e6832e03602823dbb4022
9098Author: Damien Miller <djm@mindrot.org>
9099Date: Thu Oct 11 13:02:11 2018 +1100
9100
9101 some more duplicated key algorithm lines
9102
9103 From Adam Eijdenberg
9104
9105commit 5d9d17603bfbb620195a4581025052832b4c4adc
9106Author: Damien Miller <djm@mindrot.org>
9107Date: Thu Oct 11 11:56:36 2018 +1100
9108
9109 fix duplicated algorithm specification lines
9110
9111 Spotted by Adam Eijdenberg
9112
9113commit ebfafd9c7a5b2a7fb515ee95dbe0e44e11d0a663
9114Author: djm@openbsd.org <djm@openbsd.org>
9115Date: Thu Oct 11 00:52:46 2018 +0000
9116
9117 upstream: typo in plain RSA algorithm counterpart names for
9118
9119 certificates; spotted by Adam Eijdenberg; ok dtucker@
9120
9121 OpenBSD-Commit-ID: bfcdeb6f4fc9e7607f5096574c8f118f2e709e00
9122
9123commit c29b111e7d87c2324ff71c80653dd8da168c13b9
9124Author: Damien Miller <djm@mindrot.org>
9125Date: Thu Oct 11 11:29:35 2018 +1100
9126
9127 check pw_passwd != NULL here too
9128
9129 Again, for systems with broken NIS implementations.
9130
9131 Prompted by coolbugcheckers AT gmail.com
9132
9133commit fe8e8f349a553ef4c567acd418aac769a82b7729
9134Author: Damien Miller <djm@mindrot.org>
9135Date: Thu Oct 11 11:03:15 2018 +1100
9136
9137 check for NULL return from shadow_pw()
9138
9139 probably unreachable on this platform; pointed out by
9140 coolbugcheckers AT gmail.com
9141
9142commit acc59cbe7a1fb169e1c3caba65a39bd74d6e030d
9143Author: deraadt@openbsd.org <deraadt@openbsd.org>
9144Date: Wed Oct 10 16:43:49 2018 +0000
9145
9146 upstream: introducing openssh 7.9
9147
9148 OpenBSD-Commit-ID: 42d526a9fe01a40dd299ac58014d3349adf40e25
9149
9150commit 12731158c75c8760a8bea06350eeb3e763fe1a07
9151Author: Damien Miller <djm@mindrot.org>
9152Date: Thu Oct 11 10:29:29 2018 +1100
9153
9154 supply callback to PEM_read_bio_PrivateKey
9155
9156 OpenSSL 1.1.0i has changed the behaviour of their PEM APIs,
9157 so that empty passphrases are interpreted differently. This
9158 probabalistically breaks loading some keys, because the PEM format
9159 is terrible and doesn't include a proper MAC.
9160
9161 Avoid this by providing a basic callback to avoid passing empty
9162 passphrases to OpenSSL in cases where one is required.
9163
9164 Based on patch from Jakub Jelen in bz#2913; ok dtucker@
9165
9166commit d1d301a1dd5d6cc3a9ed93ab7ab09dda4cb456e0
9167Author: Damien Miller <djm@mindrot.org>
9168Date: Wed Oct 10 14:57:00 2018 +1100
9169
9170 in pick_salt() avoid dereference of NULL passwords
9171
9172 Apparently some NIS implementations can leave pw->pw_passwd (or the
9173 shadow equivalent) NULL.
9174
9175 bz#2909; based on patch from Todd Eigenschink
9176
9177commit edbb6febccee084d212fdc0cb05b40cb1c646ab1
9178Author: djm@openbsd.org <djm@openbsd.org>
9179Date: Tue Oct 9 05:42:23 2018 +0000
9180
9181 upstream: Treat all PEM_read_bio_PrivateKey() errors when a passphrase
9182
9183 is specified as "incorrect passphrase" instead of trying to choose between
9184 that and "invalid format".
9185
9186 libcrypto can return ASN1 parsing errors rather than the expected
9187 decrypt error in certain infrequent cases when trying to decrypt/parse
9188 PEM private keys when supplied with an invalid passphrase.
9189
9190 Report and repro recipe from Thomas Deutschmann in bz#2901
9191
9192 ok markus@
9193
9194 OpenBSD-Commit-ID: b1d4cd92395f9743f81c0d23aab2524109580870
9195
9196commit 2581333d564d8697837729b3d07d45738eaf5a54
9197Author: naddy@openbsd.org <naddy@openbsd.org>
9198Date: Fri Oct 5 14:26:09 2018 +0000
9199
9200 upstream: Support using service names for port numbers.
9201
9202 * Try to resolve a port specification with getservbyname(3) if a
9203 numeric conversion fails.
9204 * Make the "Port" option in ssh_config handle its argument as a
9205 port rather than a plain integer.
9206
9207 ok dtucker@ deraadt@
9208
9209 OpenBSD-Commit-ID: e7f03633133205ab3dfbc67f9df7475fabae660d
9210
9211commit e0d6501e86734c48c8c503f81e1c0926e98c5c4c
9212Author: djm@openbsd.org <djm@openbsd.org>
9213Date: Thu Oct 4 07:47:35 2018 +0000
9214
9215 upstream: when the peer sends a channel-close message, make sure we
9216
9217 close the local extended read fd (stderr) along with the regular read fd
9218 (stdout). Avoids weird stuck processed in multiplexing mode.
9219
9220 Report and analysis by Nelson Elhage and Geoffrey Thomas in bz#2863
9221
9222 ok dtucker@ markus@
9223
9224 OpenBSD-Commit-ID: a48a2467fe938de4de69d2e7193d5fa701f12ae9
9225
9226commit 6f1aabb128246f445e33b8844fad3de9cb1d18cb
9227Author: djm@openbsd.org <djm@openbsd.org>
9228Date: Thu Oct 4 01:04:52 2018 +0000
9229
9230 upstream: factor out channel status formatting from
9231
9232 channel_open_message() so we can use it in other debug messages
9233
9234 OpenBSD-Commit-ID: 9c3903ca28fcabad57f566c9d0045b41ab7d52ba
9235
9236commit f1dd179e122bdfdb7ca3072d9603607740efda05
9237Author: djm@openbsd.org <djm@openbsd.org>
9238Date: Thu Oct 4 00:10:11 2018 +0000
9239
9240 upstream: include a little more information about the status and
9241
9242 disposition of channel's extended (stderr) fd; makes debugging some things a
9243 bit easier. No behaviour change.
9244
9245 OpenBSD-Commit-ID: 483eb6467dc7d5dbca8eb109c453e7a43075f7ce
9246
9247commit 2d1428b11c8b6f616f070f2ecedce12328526944
9248Author: djm@openbsd.org <djm@openbsd.org>
9249Date: Thu Oct 4 00:04:41 2018 +0000
9250
9251 upstream: explicit_bzero here to be consistent with other kex*.c;
9252
9253 report from coolbugcheckers AT gmail.com
9254
9255 OpenBSD-Commit-ID: a90f146c5b5f5b1408700395e394f70b440856cb
9256
9257commit 5eff5b858e717e901e6af6596306a114de9f79f2
9258Author: djm@openbsd.org <djm@openbsd.org>
9259Date: Wed Oct 3 06:38:35 2018 +0000
9260
9261 upstream: Allow ssh_config IdentityAgent directive to accept
9262
9263 environment variable names as well as explicit paths. ok dtucker@
9264
9265 OpenBSD-Commit-ID: 2f0996e103876c53d8c9dd51dcce9889d700767b
9266
9267commit a46ac4d86b25414d78b632e8173578b37e5f8a83
9268Author: djm@openbsd.org <djm@openbsd.org>
9269Date: Tue Oct 2 12:51:58 2018 +0000
9270
9271 upstream: mention INFO@openssh.com for sending SIGINFO
9272
9273 OpenBSD-Commit-ID: 132471eeb0df658210afd27852fe65131b26e900
9274
9275commit ff3a411cae0b484274b7900ef52ff4dad3e12876
9276Author: Damien Miller <djm@mindrot.org>
9277Date: Tue Oct 2 22:49:40 2018 +1000
9278
9279 only support SIGINFO on systems with SIGINFO
9280
9281commit cd98925c6405e972dc9f211afc7e75e838abe81c
9282Author: djm@openbsd.org <djm@openbsd.org>
9283Date: Tue Oct 2 12:40:07 2018 +0000
9284
9285 upstream: Add server support for signalling sessions via the SSH
9286
9287 channel/ session protocol. Signalling is only supported to sesssions that are
9288 not subsystems and were not started with a forced command.
9289
9290 Long requested in bz#1424
9291
9292 Based on a patch from markus@ and reworked by dtucker@;
9293 ok markus@ dtucker@
9294
9295 OpenBSD-Commit-ID: 4bea826f575862eaac569c4bedd1056a268be1c3
9296
9297commit dba50258333f2604a87848762af07ba2cc40407a
9298Author: djm@openbsd.org <djm@openbsd.org>
9299Date: Wed Sep 26 07:32:44 2018 +0000
9300
9301 upstream: remove big ugly TODO comment from start of file. Some of
9302
9303 the mentioned tasks are obsolete and, of the remainder, most are already
9304 captured in PROTOCOL.mux where they better belong
9305
9306 OpenBSD-Commit-ID: 16d9d76dee42a5bb651c9d6740f7f0ef68aeb407
9307
9308commit 92b61a38ee9b765f5049f03cd1143e13f3878905
9309Author: djm@openbsd.org <djm@openbsd.org>
9310Date: Wed Sep 26 07:30:05 2018 +0000
9311
9312 upstream: Document mux proxy mode; added by Markus in openssh-7.4
9313
9314 Also add a little bit of information about the overall packet format
9315
9316 OpenBSD-Commit-ID: bdb6f6ea8580ef96792e270cae7857786ad84a95
9317
9318commit 9d883a1ce4f89b175fd77405ff32674620703fb2
9319Author: djm@openbsd.org <djm@openbsd.org>
9320Date: Wed Sep 26 01:48:57 2018 +0000
9321
9322 upstream: s/process_mux_master/mux_master_process/ in mux master
9323
9324 function names,
9325
9326 Gives better symmetry with the existing mux_client_*() names and makes
9327 it more obvious when a message comes from the master vs client (they
9328 are interleved in ControlMaster=auto mode).
9329
9330 no functional change beyond prefixing a could of log messages with
9331 __func__ where they were previously lacking.
9332
9333 OpenBSD-Commit-ID: b01f7c3fdf92692e1713a822a89dc499333daf75
9334
9335commit c2fa53cd6462da82d3a851dc3a4a3f6b920337c8
9336Author: Darren Tucker <dtucker@dtucker.net>
9337Date: Sat Sep 22 14:41:24 2018 +1000
9338
9339 Remove unused variable in _ssh_compat_fflush.
9340
9341commit d1b3540c21212624af907488960d703c7d987b42
9342Author: Darren Tucker <dtucker@dtucker.net>
9343Date: Thu Sep 20 18:08:43 2018 +1000
9344
9345 Import updated moduli.
9346
9347commit b5e412a8993ad17b9e1141c78408df15d3d987e1
9348Author: djm@openbsd.org <djm@openbsd.org>
9349Date: Fri Sep 21 12:46:22 2018 +0000
9350
9351 upstream: Allow ssh_config ForwardX11Timeout=0 to disable the
9352
9353 timeout and allow X11 connections in untrusted mode indefinitely. ok dtucker@
9354
9355 OpenBSD-Commit-ID: ea1ceed3f540b48e5803f933e59a03b20db10c69
9356
9357commit cb24d9fcc901429d77211f274031653476864ec6
9358Author: djm@openbsd.org <djm@openbsd.org>
9359Date: Fri Sep 21 12:23:17 2018 +0000
9360
9361 upstream: when compiled with GSSAPI support, cache supported method
9362
9363 OIDs by calling ssh_gssapi_prepare_supported_oids() regardless of whether
9364 GSSAPI authentication is enabled in the main config.
9365
9366 This avoids sandbox violations for configurations that enable GSSAPI
9367 auth later, e.g.
9368
9369 Match user djm
9370 GSSAPIAuthentication yes
9371
9372 bz#2107; ok dtucker@
9373
9374 OpenBSD-Commit-ID: a5dd42d87c74e27cfb712b15b0f97ab20e0afd1d
9375
9376commit bbc8af72ba68da014d4de6e21a85eb5123384226
9377Author: djm@openbsd.org <djm@openbsd.org>
9378Date: Fri Sep 21 12:20:12 2018 +0000
9379
9380 upstream: In sshkey_in_file(), ignore keys that are considered for
9381
9382 being too short (i.e. SSH_ERR_KEY_LENGTH). These keys will not be considered
9383 to be "in the file". This allows key revocation lists to contain short keys
9384 without the entire revocation list being considered invalid.
9385
9386 bz#2897; ok dtucker
9387
9388 OpenBSD-Commit-ID: d9f3d857d07194a42ad7e62889a74dc3f9d9924b
9389
9390commit 383a33d160cefbfd1b40fef81f72eadbf9303a66
9391Author: djm@openbsd.org <djm@openbsd.org>
9392Date: Fri Sep 21 03:11:36 2018 +0000
9393
9394 upstream: Treat connections with ProxyJump specified the same as ones
9395
9396 with a ProxyCommand set with regards to hostname canonicalisation (i.e. don't
9397 try to canonicalise the hostname unless CanonicalizeHostname is set to
9398 'always').
9399
9400 Patch from Sven Wegener via bz#2896
9401
9402 OpenBSD-Commit-ID: 527ff501cf98bf65fb4b29ed0cb847dda10f4d37
9403
9404commit 0cbed248ed81584129b67c348dbb801660f25a6a
9405Author: djm@openbsd.org <djm@openbsd.org>
9406Date: Thu Sep 20 23:40:16 2018 +0000
9407
9408 upstream: actually make CASignatureAlgorithms available as a config
9409
9410 option
9411
9412 OpenBSD-Commit-ID: 93fa7ff58314ed7b1ab7744090a6a91232e6ae52
9413
9414commit 62528870c0ec48cd86a37dd7320fb85886c3e6ee
9415Author: dtucker@openbsd.org <dtucker@openbsd.org>
9416Date: Thu Sep 20 08:07:03 2018 +0000
9417
9418 upstream: Import updated moduli.
9419
9420 OpenBSD-Commit-ID: 04431e8e7872f49a2129bf080a6b73c19d576d40
9421
9422commit e6933a2ffa0659d57f3c7b7c457b2c62b2a84613
9423Author: jmc@openbsd.org <jmc@openbsd.org>
9424Date: Thu Sep 20 06:58:48 2018 +0000
9425
9426 upstream: reorder CASignatureAlgorithms, and add them to the
9427
9428 various -o lists; ok djm
9429
9430 OpenBSD-Commit-ID: ecb88baecc3c54988b4d1654446ea033da359288
9431
9432commit aa083aa9624ea7b764d5a81c4c676719a1a3e42b
9433Author: djm@openbsd.org <djm@openbsd.org>
9434Date: Thu Sep 20 03:31:49 2018 +0000
9435
9436 upstream: fix "ssh -Q sig" to show correct signature algorithm list
9437
9438 (it was erroneously showing certificate algorithms); prompted by markus@
9439
9440 OpenBSD-Commit-ID: 1cdee002f2f0c21456979deeb887fc889afb154d
9441
9442commit ecac7e1f7add6b28874959a11f2238d149dc2c07
9443Author: djm@openbsd.org <djm@openbsd.org>
9444Date: Thu Sep 20 03:30:44 2018 +0000
9445
9446 upstream: add CASignatureAlgorithms option for the client, allowing
9447
9448 it to specify which signature algorithms may be used by CAs when signing
9449 certificates. Useful if you want to ban RSA/SHA1; ok markus@
9450
9451 OpenBSD-Commit-ID: 9159e5e9f67504829bf53ff222057307a6e3230f
9452
9453commit 86e5737c39153af134158f24d0cab5827cbd5852
9454Author: djm@openbsd.org <djm@openbsd.org>
9455Date: Thu Sep 20 03:28:06 2018 +0000
9456
9457 upstream: Add sshd_config CASignatureAlgorithms option to allow
9458
9459 control over which signature algorithms a CA may use when signing
9460 certificates. In particular, this allows a sshd to ban certificates signed
9461 with RSA/SHA1.
9462
9463 ok markus@
9464
9465 OpenBSD-Commit-ID: b05c86ef8b52b913ed48d54a9b9c1a7714d96bac
9466
9467commit f80e68ea7d62e2dfafc12f1a60ab544ae4033a0f
9468Author: djm@openbsd.org <djm@openbsd.org>
9469Date: Wed Sep 19 02:03:02 2018 +0000
9470
9471 upstream: Make "ssh-add -q" do what it says on the tin: silence
9472
9473 output from successful operations.
9474
9475 Based on patch from Thijs van Dijk; ok dtucker@ deraadt@
9476
9477 OpenBSD-Commit-ID: c4f754ecc055c10af166116ce7515104aa8522e1
9478
9479commit 5e532320e9e51de720d5f3cc2596e95d29f6e98f
9480Author: millert@openbsd.org <millert@openbsd.org>
9481Date: Mon Sep 17 15:40:14 2018 +0000
9482
9483 upstream: When choosing a prime from the moduli file, avoid
9484
9485 re-using the linenum variable for something that is not a line number to
9486 avoid the confusion that resulted in the bug in rev. 1.64. This also lets us
9487 pass the actual linenum to parse_prime() so the error messages include the
9488 correct line number. OK markus@ some time ago.
9489
9490 OpenBSD-Commit-ID: 4d8e5d3e924d6e8eb70053e3defa23c151a00084
9491
9492commit cce8cbe0ed7d1ba3a575310e0b63c193326ae616
9493Author: Darren Tucker <dtucker@dtucker.net>
9494Date: Sat Sep 15 19:44:06 2018 +1000
9495
9496 Fix openssl-1.1 fallout for --without-openssl.
9497
9498 ok djm@
9499
9500commit 149519b9f201dac755f3cba4789f4d76fecf0ee1
9501Author: Damien Miller <djm@mindrot.org>
9502Date: Sat Sep 15 19:37:48 2018 +1000
9503
9504 add futex(2) syscall to seccomp sandbox
9505
9506 Apparently needed for some glibc/openssl combinations.
9507
9508 Patch from Arkadiusz Miśkiewicz
9509
9510commit 4488ae1a6940af704c4dbf70f55bf2f756a16536
9511Author: Damien Miller <djm@mindrot.org>
9512Date: Sat Sep 15 19:36:55 2018 +1000
9513
9514 really add source for authopt_fuzz this time
9515
9516commit 9201784b4a257c8345fbd740bcbdd70054885707
9517Author: Damien Miller <djm@mindrot.org>
9518Date: Sat Sep 15 19:35:40 2018 +1000
9519
9520 remove accidentally checked-in authopt_fuzz binary
9521
9522commit beb9e522dc7717df08179f9e59f36b361bfa14ab
9523Author: djm@openbsd.org <djm@openbsd.org>
9524Date: Fri Sep 14 05:26:27 2018 +0000
9525
9526 upstream: second try, deals properly with missing and private-only
9527
9528 Use consistent format in debug log for keys readied, offered and
9529 received during public key authentication.
9530
9531 This makes it a little easier to see what is going on, as each message
9532 now contains (where available) the key filename, its type and fingerprint,
9533 and whether the key is hosted in an agent or a token.
9534
9535 OpenBSD-Commit-ID: f1c6a8e9cfc4e108c359db77f24f9a40e1e25ea7
9536
9537commit 6bc5a24ac867bfdc3ed615589d69ac640f51674b
9538Author: Damien Miller <djm@mindrot.org>
9539Date: Fri Sep 14 15:16:34 2018 +1000
9540
9541 fuzzer harness for authorized_keys option parsing
9542
9543commit 6c8b82fc6929b6a9a3f645151b6ec26c5507d9ef
9544Author: djm@openbsd.org <djm@openbsd.org>
9545Date: Fri Sep 14 04:44:04 2018 +0000
9546
9547 upstream: revert following; deals badly with agent keys
9548
9549 revision 1.285
9550 date: 2018/09/14 04:17:12; author: djm; state: Exp; lines: +47 -26; commitid: lflGFcNb2X2HebaK;
9551 Use consistent format in debug log for keys readied, offered and
9552 received during public key authentication.
9553
9554 This makes it a little easier to see what is going on, as each message
9555 now contains the key filename, its type and fingerprint, and whether
9556 the key is hosted in an agent or a token.
9557
9558 OpenBSD-Commit-ID: e496bd004e452d4b051f33ed9ae6a54ab918f56d
9559
9560commit 6da046f9c3374ce7e269ded15d8ff8bc45017301
9561Author: djm@openbsd.org <djm@openbsd.org>
9562Date: Fri Sep 14 04:17:44 2018 +0000
9563
9564 upstream: garbage-collect moribund ssh_new_private() API.
9565
9566 OpenBSD-Commit-ID: 7c05bf13b094093dfa01848a9306c82eb6e95f6c
9567
9568commit 1f24ac5fc05252ceb1c1d0e8cab6a283b883c780
9569Author: djm@openbsd.org <djm@openbsd.org>
9570Date: Fri Sep 14 04:17:12 2018 +0000
9571
9572 upstream: Use consistent format in debug log for keys readied,
9573
9574 offered and received during public key authentication.
9575
9576 This makes it a little easier to see what is going on, as each message
9577 now contains the key filename, its type and fingerprint, and whether
9578 the key is hosted in an agent or a token.
9579
9580 OpenBSD-Commit-ID: 2a01d59285a8a7e01185bb0a43316084b4f06a1f
9581
9582commit 488c9325bb7233e975dbfbf89fa055edc3d3eddc
9583Author: millert@openbsd.org <millert@openbsd.org>
9584Date: Thu Sep 13 15:23:32 2018 +0000
9585
9586 upstream: Fix warnings caused by user_from_uid() and group_from_gid()
9587
9588 now returning const char *.
9589
9590 OpenBSD-Commit-ID: b5fe571ea77cfa7b9035062829ab05eb87d7cc6f
9591
9592commit 0aa1f230846ebce698e52051a107f3127024a05a
9593Author: Damien Miller <djm@mindrot.org>
9594Date: Fri Sep 14 10:31:47 2018 +1000
9595
9596 allow SIGUSR1 as synonym for SIGINFO
9597
9598 Lets users on those unfortunate operating systems that lack SIGINFO
9599 still be able to obtain progress information from unit tests :)
9600
9601commit d64e78526596f098096113fcf148216798c327ff
9602Author: Damien Miller <djm@mindrot.org>
9603Date: Thu Sep 13 19:05:48 2018 +1000
9604
9605 add compat header
9606
9607commit a3fd8074e2e2f06602e25618721f9556c731312c
9608Author: djm@openbsd.org <djm@openbsd.org>
9609Date: Thu Sep 13 09:03:20 2018 +0000
9610
9611 upstream: missed a bit of openssl-1.0.x API in this unittest
9612
9613 OpenBSD-Regress-ID: a73a54d7f7381856a3f3a2d25947bee7a9a5dbc9
9614
9615commit 86e0a9f3d249d5580390daf58e015e68b01cef10
9616Author: djm@openbsd.org <djm@openbsd.org>
9617Date: Thu Sep 13 05:06:51 2018 +0000
9618
9619 upstream: use only openssl-1.1.x API here too
9620
9621 OpenBSD-Regress-ID: ae877064597c349954b1b443769723563cecbc8f
9622
9623commit 48f54b9d12c1c79fba333bc86d455d8f4cda8cfc
9624Author: Damien Miller <djm@mindrot.org>
9625Date: Thu Sep 13 12:13:50 2018 +1000
9626
9627 adapt -portable to OpenSSL 1.1x API
9628
9629 Polyfill missing API with replacement functions extracted from LibreSSL
9630
9631commit 86112951d63d48839f035b5795be62635a463f99
9632Author: Damien Miller <djm@mindrot.org>
9633Date: Thu Sep 13 12:12:42 2018 +1000
9634
9635 forgot to stage these test files in commit d70d061
9636
9637commit 482d23bcacdd3664f21cc82a5135f66fc598275f
9638Author: djm@openbsd.org <djm@openbsd.org>
9639Date: Thu Sep 13 02:08:33 2018 +0000
9640
9641 upstream: hold our collective noses and use the openssl-1.1.x API in
9642
9643 OpenSSH; feedback and ok tb@ jsing@ markus@
9644
9645 OpenBSD-Commit-ID: cacbcac87ce5da0d3ca7ef1b38a6f7fb349e4417
9646
9647commit d70d061828730a56636ab6f1f24fe4a8ccefcfc1
9648Author: djm@openbsd.org <djm@openbsd.org>
9649Date: Wed Sep 12 01:36:45 2018 +0000
9650
9651 upstream: Include certs with multiple RSA signature variants in
9652
9653 test data Ensure that cert->signature_key is populated correctly
9654
9655 OpenBSD-Regress-ID: 56e68f70fe46cb3a193ca207385bdb301fd6603a
9656
9657commit f803b2682992cfededd40c91818b653b5d923ef5
9658Author: djm@openbsd.org <djm@openbsd.org>
9659Date: Wed Sep 12 01:23:48 2018 +0000
9660
9661 upstream: test revocation by explicit hash and by fingerprint
9662
9663 OpenBSD-Regress-ID: 079c18a9ab9663f4af419327c759fc1e2bc78fd8
9664
9665commit 2de78bc7da70e1338b32feeefcc6045cf49efcd4
9666Author: djm@openbsd.org <djm@openbsd.org>
9667Date: Wed Sep 12 01:22:43 2018 +0000
9668
9669 upstream: s/sshkey_demote/sshkey_from_private/g
9670
9671 OpenBSD-Regress-ID: 782bde7407d94a87aa8d1db7c23750e09d4443c4
9672
9673commit 41c115a5ea1cb79a6a3182773c58a23f760e8076
9674Author: Damien Miller <djm@mindrot.org>
9675Date: Wed Sep 12 16:50:01 2018 +1000
9676
9677 delete the correct thing; kexfuzz binary
9678
9679commit f0fcd7e65087db8c2496f13ed39d772f8e38b088
9680Author: djm@openbsd.org <djm@openbsd.org>
9681Date: Wed Sep 12 06:18:59 2018 +0000
9682
9683 upstream: fix edit mistake; spotted by jmc@
9684
9685 OpenBSD-Commit-ID: dd724e1c52c9d6084f4cd260ec7e1b2b138261c6
9686
9687commit 4cc259bac699f4d2a5c52b92230f9e488c88a223
9688Author: djm@openbsd.org <djm@openbsd.org>
9689Date: Wed Sep 12 01:34:02 2018 +0000
9690
9691 upstream: add SSH_ALLOWED_CA_SIGALGS - the default list of
9692
9693 signature algorithms that are allowed for CA signatures. Notably excludes
9694 ssh-dsa.
9695
9696 ok markus@
9697
9698 OpenBSD-Commit-ID: 1628e4181dc8ab71909378eafe5d06159a22deb4
9699
9700commit ba9e788315b1f6a350f910cb2a9e95b2ce584e89
9701Author: djm@openbsd.org <djm@openbsd.org>
9702Date: Wed Sep 12 01:32:54 2018 +0000
9703
9704 upstream: add sshkey_check_cert_sigtype() that checks a
9705
9706 cert->signature_type against a supplied whitelist; ok markus
9707
9708 OpenBSD-Commit-ID: caadb8073292ed7a9535e5adc067d11d356d9302
9709
9710commit a70fd4ad7bd9f2ed223ff635a3d41e483057f23b
9711Author: djm@openbsd.org <djm@openbsd.org>
9712Date: Wed Sep 12 01:31:30 2018 +0000
9713
9714 upstream: add cert->signature_type field and keep it in sync with
9715
9716 certificate signature wrt loading and certification operations; ok markus@
9717
9718 OpenBSD-Commit-ID: e8b8b9f76b66707a0cd926109c4383db8f664df3
9719
9720commit 357128ac48630a9970e3af0e6ff820300a28da47
9721Author: djm@openbsd.org <djm@openbsd.org>
9722Date: Wed Sep 12 01:30:10 2018 +0000
9723
9724 upstream: Add "ssh -Q sig" to allow listing supported signature
9725
9726 algorithms ok markus@
9727
9728 OpenBSD-Commit-ID: 7a8c6eb6c249dc37823ba5081fce64876d10fe2b
9729
9730commit 9405c6214f667be604a820c6823b27d0ea77937d
9731Author: djm@openbsd.org <djm@openbsd.org>
9732Date: Wed Sep 12 01:21:34 2018 +0000
9733
9734 upstream: allow key revocation by SHA256 hash and allow ssh-keygen
9735
9736 to create KRLs using SHA256/base64 key fingerprints; ok markus@
9737
9738 OpenBSD-Commit-ID: a0590fd34e7f1141f2873ab3acc57442560e6a94
9739
9740commit 50e2687ee0941c0ea216d6ffea370ffd2c1f14b9
9741Author: djm@openbsd.org <djm@openbsd.org>
9742Date: Wed Sep 12 01:19:12 2018 +0000
9743
9744 upstream: log certificate fingerprint in authentication
9745
9746 success/failure message (previously we logged only key ID and CA key
9747 fingerprint).
9748
9749 ok markus@
9750
9751 OpenBSD-Commit-ID: a8ef2d172b7f1ddbcce26d6434b2de6d94f6c05d
9752
9753commit de37ca909487d23e5844aca289b3f5e75d3f1e1f
9754Author: dtucker@openbsd.org <dtucker@openbsd.org>
9755Date: Fri Sep 7 04:26:56 2018 +0000
9756
9757 upstream: Add FALLTHROUGH comments where appropriate. Patch from
9758
9759 jjelen at redhat via bz#2687.
9760
9761 OpenBSD-Commit-ID: c48eb457be697a19d6d2950c6d0879f3ccc851d3
9762
9763commit 247766cd3111d5d8c6ea39833a3257ca8fb820f2
9764Author: djm@openbsd.org <djm@openbsd.org>
9765Date: Fri Sep 7 01:42:54 2018 +0000
9766
9767 upstream: ssh -MM requires confirmation for all operations that
9768
9769 change the multiplexing state, not just new sessions.
9770
9771 mention that confirmation is checked via ssh-askpass
9772
9773 OpenBSD-Commit-ID: 0f1b45551ebb9cc5c9a4fe54ad3b23ce90f1f5c2
9774
9775commit db8bb80e3ac1bcb3e1305d846cd98c6b869bf03f
9776Author: mestre@openbsd.org <mestre@openbsd.org>
9777Date: Tue Aug 28 12:25:53 2018 +0000
9778
9779 upstream: fix misplaced parenthesis inside if-clause. it's harmless
9780
9781 and the only issue is showing an unknown error (since it's not defined)
9782 during fatal(), if it ever an error occurs inside that condition.
9783
9784 OK deraadt@ markus@ djm@
9785
9786 OpenBSD-Commit-ID: acb0a8e6936bfbe590504752d01d1d251a7101d8
9787
9788commit 086cc614f550b7d4f100c95e472a6b6b823938ab
9789Author: mestre@openbsd.org <mestre@openbsd.org>
9790Date: Tue Aug 28 12:17:45 2018 +0000
9791
9792 upstream: fix build with DEBUG_PK enabled
9793
9794 OK dtucker@
9795
9796 OpenBSD-Commit-ID: ec1568cf27726e9638a0415481c20c406e7b441c
9797
9798commit 2678833013e97f8b18f09779b7f70bcbf5eb2ab2
9799Author: Darren Tucker <dtucker@dtucker.net>
9800Date: Fri Sep 7 14:41:53 2018 +1000
9801
9802 Handle ngroups>_SC_NGROUPS_MAX.
9803
9804 Based on github pull request #99 from Darren Maffat at Oracle: Solaris'
9805 getgrouplist considers _SC_NGROUPS_MAX more of a guideline and can return
9806 a larger number of groups. In this case, retry getgrouplist with a
9807 larger array and defer allocating groups_byname. ok djm@
9808
9809commit 039bf2a81797b8f3af6058d34005a4896a363221
9810Author: Darren Tucker <dtucker@dtucker.net>
9811Date: Fri Sep 7 14:06:57 2018 +1000
9812
9813 Initial len for the fmt=NULL case.
9814
9815 Patch from jjelen at redhat via bz#2687. (OpenSSH never calls
9816 setproctitle with a null format so len is always initialized).
9817
9818commit ea9c06e11d2e8fb2f4d5e02f8a41e23d2bd31ca9
9819Author: Darren Tucker <dtucker@dtucker.net>
9820Date: Fri Sep 7 14:01:39 2018 +1000
9821
9822 Include stdlib.h.
9823
9824 Patch from jjelen at redhat via bz#2687.
9825
9826commit 9617816dbe73ec4d65075f4d897443f63a97c87f
9827Author: Damien Miller <djm@mindrot.org>
9828Date: Mon Aug 27 13:08:01 2018 +1000
9829
9830 document some more regress control env variables
9831
9832 Specifically SKIP_UNIT, USE_VALGRING and LTESTS. Sort the list of
9833 environment variables.
9834
9835 Based on patch from Jakub Jelen
9836
9837commit 71508e06fab14bc415a79a08f5535ad7bffa93d9
9838Author: Damien Miller <djm@mindrot.org>
9839Date: Thu Aug 23 15:41:42 2018 +1000
9840
9841 shorten temporary SSH_REGRESS_TMP path
9842
9843 Previous path was exceeding max socket length on at least one platform (OSX)
9844
9845commit 26739cf5bdc9030a583b41ae5261dedd862060f0
9846Author: Damien Miller <djm@mindrot.org>
9847Date: Thu Aug 23 13:06:02 2018 +1000
9848
9849 rebuild dependencies
9850
9851commit ff729025c7463cf5d0a8d1ca1823306e48c6d4cf
9852Author: Damien Miller <djm@mindrot.org>
9853Date: Thu Aug 23 13:03:32 2018 +1000
9854
9855 fix path in distclean target
9856
9857 Patch from Jakub Jelen
9858
9859commit 7fef173c28f7462dcd8ee017fdf12b5073f54c02
9860Author: djm@openbsd.org <djm@openbsd.org>
9861Date: Thu Aug 23 03:01:08 2018 +0000
9862
9863 upstream: memleak introduced in r1.83; from Colin Watson
9864
9865 OpenBSD-Commit-ID: 5c019104c280cbd549a264a7217b67665e5732dc
9866
9867commit b8ae02a2896778b8984c7f51566c7f0f56fa8b56
9868Author: schwarze@openbsd.org <schwarze@openbsd.org>
9869Date: Tue Aug 21 13:56:27 2018 +0000
9870
9871 upstream: AIX reports the CODESET as "ISO8859-1" in the POSIX locale.
9872
9873 Treating that as a safe encoding is OK because even when other systems return
9874 that string for real ISO8859-1, it is still safe in the sense that it is
9875 ASCII-compatible and stateless.
9876
9877 Issue reported by Val dot Baranov at duke dot edu. Additional
9878 information provided by Michael dot Felt at felt dot demon dot nl.
9879 Tested by Michael Felt on AIX 6.1 and by Val Baranov on AIX 7.1.
9880 Tweak and OK djm@.
9881
9882 OpenBSD-Commit-ID: 36f1210e0b229817d10eb490d6038f507b8256a7
9883
9884commit bc44ee088ad269d232e514f037c87ada4c2fd3f0
9885Author: Tim Rice <tim@multitalents.net>
9886Date: Tue Aug 21 08:57:24 2018 -0700
9887
9888 modified: openbsd-compat/port-uw.c
9889 remove obsolete and un-needed include
9890
9891commit 829fc28a9c54e3f812ee7248c7a3e31eeb4f0b3a
9892Author: Damien Miller <djm@mindrot.org>
9893Date: Mon Aug 20 15:57:29 2018 +1000
9894
9895 Missing unistd.h for regress/mkdtemp.c
9896
9897commit c8313e492355a368a91799131520d92743d8d16c
9898Author: Damien Miller <djm@mindrot.org>
9899Date: Fri Aug 17 05:45:20 2018 +1000
9900
9901 update version numbers in anticipation of release
9902
9903commit 477b49a34b89f506f4794b35e3c70b3e2e83cd38
9904Author: Corinna Vinschen <vinschen@redhat.com>
9905Date: Mon Aug 13 17:08:51 2018 +0200
9906
9907 configure: work around GCC shortcoming on Cygwin
9908
9909 Cygwin's latest 7.x GCC allows to specify -mfunction-return=thunk
9910 as well as -mindirect-branch=thunk on the command line, albeit
9911 producing invalid code, leading to an error at link stage.
9912
9913 The check in configure.ac only checks if the option is present,
9914 but not if it produces valid code.
9915
9916 This patch fixes it by special-casing Cygwin. Another solution
9917 may be to change these to linker checks.
9918
9919 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
9920
9921commit b0917945efa374be7648d67dbbaaff323ab39edc
9922Author: Corinna Vinschen <vinschen@redhat.com>
9923Date: Mon Aug 13 17:05:05 2018 +0200
9924
9925 cygwin: add missing stdarg.h include
9926
9927 Further header file standarization in Cygwin uncovered a lazy
9928 indirect include in bsd-cygwin_util.c
9929
9930 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
9931
9932commit c3903c38b0fd168ab3d925c2b129d1a599593426
9933Author: djm@openbsd.org <djm@openbsd.org>
9934Date: Mon Aug 13 02:41:05 2018 +0000
9935
9936 upstream: revert compat.[ch] section of the following change. It
9937
9938 causes double-free under some circumstances.
9939
9940 --
9941
9942 date: 2018/07/31 03:07:24; author: djm; state: Exp; lines: +33 -18; commitid: f7g4UI8eeOXReTPh;
9943 fix some memory leaks spotted by Coverity via Jakub Jelen in bz#2366
9944 feedback and ok dtucker@
9945
9946 OpenBSD-Commit-ID: 1e77547f60fdb5e2ffe23e2e4733c54d8d2d1137
9947
9948commit 1b9dd4aa15208100fbc3650f33ea052255578282
9949Author: djm@openbsd.org <djm@openbsd.org>
9950Date: Sun Aug 12 20:19:13 2018 +0000
9951
9952 upstream: better diagnosics on alg list assembly errors; ok
9953
9954 deraadt@ markus@
9955
9956 OpenBSD-Commit-ID: 5a557e74b839daf13cc105924d2af06a1560faee
9957
9958commit e36a5f61b0f5bebf6d49c215d228cd99dfe86e28
9959Author: Damien Miller <djm@mindrot.org>
9960Date: Sat Aug 11 18:08:45 2018 -0700
9961
9962 Some AIX fixes; report from Michael Felt
9963
9964commit 2f4766ceefe6657c5ad5fe92d13c411872acae0e
9965Author: dtucker@openbsd.org <dtucker@openbsd.org>
9966Date: Fri Aug 10 01:35:49 2018 +0000
9967
9968 upstream: The script that cooks up PuTTY format host keys does not
9969
9970 understand the new key format so convert back to old format to create the
9971 PuTTY key and remove it once done.
9972
9973 OpenBSD-Regress-ID: 2a449a18846c3a144bc645135b551ba6177e38d3
9974
9975commit e1b26ce504662a5d5b991091228984ccfd25f280
9976Author: djm@openbsd.org <djm@openbsd.org>
9977Date: Fri Aug 10 00:44:01 2018 +0000
9978
9979 upstream: improve
9980
9981 OpenBSD-Commit-ID: 40d839db0977b4e7ac8b647b16d5411d4faf2f60
9982
9983commit 7c712966a3139622f7fb55045368d05de4e6782c
9984Author: djm@openbsd.org <djm@openbsd.org>
9985Date: Fri Aug 10 00:42:29 2018 +0000
9986
9987 upstream: Describe pubkey format, prompted by bz#2853
9988
9989 While I'm here, describe and link to the remaining local PROTOCOL.*
9990 docs that weren't already mentioned (PROTOCOL.key, PROTOCOL.krl and
9991 PROTOCOL.mux)
9992
9993 OpenBSD-Commit-ID: 2a900f9b994ba4d53e7aeb467d44d75829fd1231
9994
9995commit ef100a2c5a8ed83afac0b8f36520815803da227a
9996Author: djm@openbsd.org <djm@openbsd.org>
9997Date: Fri Aug 10 00:27:15 2018 +0000
9998
9999 upstream: fix numbering
10000
10001 OpenBSD-Commit-ID: bc7a1764dff23fa4c5ff0e3379c9c4d5b63c9596
10002
10003commit ed7bd5d93fe14c7bd90febd29b858ea985d14d45
10004Author: djm@openbsd.org <djm@openbsd.org>
10005Date: Wed Aug 8 01:16:01 2018 +0000
10006
10007 upstream: Use new private key format by default. This format is
10008
10009 suported by OpenSSH >= 6.5 (released January 2014), so it should be supported
10010 by most OpenSSH versions in active use.
10011
10012 It is possible to convert new-format private keys to the older
10013 format using "ssh-keygen -f /path/key -pm PEM".
10014
10015 ok deraadt dtucker
10016
10017 OpenBSD-Commit-ID: e3bd4f2509a2103bfa2f710733426af3ad6d8ab8
10018
10019commit 967226a1bdde59ea137e8f0df871854ff7b91366
10020Author: djm@openbsd.org <djm@openbsd.org>
10021Date: Sat Aug 4 00:55:06 2018 +0000
10022
10023 upstream: invalidate dh->priv_key after freeing it in error path;
10024
10025 avoids unlikely double-free later. Reported by Viktor Dukhovni via
10026 https://github.com/openssh/openssh-portable/pull/96 feedback jsing@ tb@
10027
10028 OpenBSD-Commit-ID: e317eb17c3e05500ae851f279ef6486f0457c805
10029
10030commit 74287f5df9966a0648b4a68417451dd18f079ab8
10031Author: djm@openbsd.org <djm@openbsd.org>
10032Date: Tue Jul 31 03:10:27 2018 +0000
10033
10034 upstream: delay bailout for invalid authentic
10035
10036 =?UTF-8?q?ating=20user=20until=20after=20the=20packet=20containing=20the?=
10037 =?UTF-8?q?=20request=20has=20been=20fully=20parsed.=20Reported=20by=20Dar?=
10038 =?UTF-8?q?iusz=20Tytko=20and=20Micha=C5=82=20Sajdak;=20ok=20deraadt?=
10039 MIME-Version: 1.0
10040 Content-Type: text/plain; charset=UTF-8
10041 Content-Transfer-Encoding: 8bit
10042
10043 OpenBSD-Commit-ID: b4891882fbe413f230fe8ac8a37349b03bd0b70d
10044
10045commit 1a66079c0669813306cc69e5776a4acd9fb49015
10046Author: djm@openbsd.org <djm@openbsd.org>
10047Date: Tue Jul 31 03:07:24 2018 +0000
10048
10049 upstream: fix some memory leaks spotted by Coverity via Jakub Jelen
10050
10051 in bz#2366 feedback and ok dtucker@
10052
10053 OpenBSD-Commit-ID: 8402bbae67d578bedbadb0ce68ff7c5a136ef563
10054
10055commit 87f08be054b7eeadbb9cdeb3fb4872be79ccf218
10056Author: Damien Miller <djm@mindrot.org>
10057Date: Fri Jul 20 13:18:28 2018 +1000
10058
10059 Remove support for S/Key
10060
10061 Most people will 1) be using modern multi-factor authentication methods
10062 like TOTP/OATH etc and 2) be getting support for multi-factor
10063 authentication via PAM or BSD Auth.
10064
10065commit 5d14019ba2ff54acbfd20a6b9b96bb860a8c7c31
10066Author: markus@openbsd.org <markus@openbsd.org>
10067Date: Fri Jul 27 12:03:17 2018 +0000
10068
10069 upstream: avoid expensive channel_open_message() calls; ok djm@
10070
10071 OpenBSD-Commit-ID: aea3b5512ad681cd8710367d743e8a753d4425d9
10072
10073commit e655ee04a3cb7999dbf9641b25192353e2b69418
10074Author: dtucker@openbsd.org <dtucker@openbsd.org>
10075Date: Fri Jul 27 05:34:42 2018 +0000
10076
10077 upstream: Now that ssh can't be setuid, remove the
10078
10079 original_real_uid and original_effective_uid globals and replace with calls
10080 to plain getuid(). ok djm@
10081
10082 OpenBSD-Commit-ID: 92561c0cd418d34e6841e20ba09160583e27b68c
10083
10084commit 73ddb25bae4c33a0db361ac13f2e3a60d7c6c4a5
10085Author: dtucker@openbsd.org <dtucker@openbsd.org>
10086Date: Fri Jul 27 05:13:02 2018 +0000
10087
10088 upstream: Remove uid checks from low port binds. Now that ssh
10089
10090 cannot be setuid and sshd always has privsep on, we can remove the uid checks
10091 for low port binds and just let the system do the check. We leave a sanity
10092 check for the !privsep case so long as the code is stil there. with & ok
10093 djm@
10094
10095 OpenBSD-Commit-ID: 9535cfdbd1cd54486fdbedfaee44ce4367ec7ca0
10096
10097commit c12033e102760d043bc5c98e6c8180e4d331b0df
10098Author: dtucker@openbsd.org <dtucker@openbsd.org>
10099Date: Fri Jul 27 03:55:22 2018 +0000
10100
10101 upstream: ssh(1) no longer supports being setuid root. Remove reference
10102
10103 to crc32 which went with protocol 1. Pointed out by deraadt@.
10104
10105 OpenBSD-Commit-ID: f8763c25fd96ed91dd1abdab5667fd2e27e377b6
10106
10107commit 4492e2ec4e1956a277ef507f51d66e5c2aafaaf8
10108Author: Damien Miller <djm@mindrot.org>
10109Date: Fri Jul 27 14:15:28 2018 +1000
10110
10111 correct snprintf truncation check in closefrom()
10112
10113 Truncation cannot happen unless the system has set PATH_MAX to some
10114 nonsensically low value.
10115
10116 bz#2862, patch from Daniel Le
10117
10118commit 149cab325a8599a003364ed833f878449c15f259
10119Author: Darren Tucker <dtucker@dtucker.net>
10120Date: Fri Jul 27 13:46:06 2018 +1000
10121
10122 Include stdarg.h in mkdtemp for va_list.
10123
10124commit 6728f31bdfdc864d192773c32465b1860e23f556
10125Author: deraadt@openbsd.org <deraadt@openbsd.org>
10126Date: Wed Jul 25 17:12:35 2018 +0000
10127
10128 upstream: Don't redefine Makefile choices which come correct from
10129
10130 bsd.*.mk ok markus
10131
10132 OpenBSD-Commit-ID: 814b2f670df75759e1581ecef530980b2b3d7e0f
10133
10134commit 21fd477a855753c1a8e450963669e28e39c3b5d2
10135Author: deraadt@openbsd.org <deraadt@openbsd.org>
10136Date: Wed Jul 25 13:56:23 2018 +0000
10137
10138 upstream: fix indent; Clemens Goessnitzer
10139
10140 OpenBSD-Commit-ID: b5149a6d92b264d35f879d24608087b254857a83
10141
10142commit 8e433c2083db8664c41499ee146448ea7ebe7dbf
10143Author: beck@openbsd.org <beck@openbsd.org>
10144Date: Wed Jul 25 13:10:56 2018 +0000
10145
10146 upstream: Use the caller provided (copied) pwent struct in
10147
10148 load_public_identity_files instead of calling getpwuid() again and discarding
10149 the argument. This prevents a client crash where tilde_expand_filename calls
10150 getpwuid() again before the pwent pointer is used. Issue noticed and reported
10151 by Pierre-Olivier Martel <pom@apple.com> ok djm@ deraadt@
10152
10153 OpenBSD-Commit-ID: a067d74b5b098763736c94cc1368de8ea3f0b157
10154
10155commit e2127abb105ae72b6fda64fff150e6b24b3f1317
10156Author: jmc@openbsd.org <jmc@openbsd.org>
10157Date: Mon Jul 23 19:53:55 2018 +0000
10158
10159 upstream: oops, failed to notice that SEE ALSO got messed up;
10160
10161 OpenBSD-Commit-ID: 61c1306542cefdc6e59ac331751afe961557427d
10162
10163commit ddf1b797c2d26bbbc9d410aa4f484cbe94673587
10164Author: kn@openbsd.org <kn@openbsd.org>
10165Date: Mon Jul 23 19:02:49 2018 +0000
10166
10167 upstream: Point to glob in section 7 for the actual list of special
10168
10169 characters instead the C API in section 3.
10170
10171 OK millert jmc nicm, "the right idea" deraadt
10172
10173 OpenBSD-Commit-ID: a74fd215488c382809e4d041613aeba4a4b1ffc6
10174
10175commit 01c98d9661d0ed6156e8602b650f72eed9fc4d12
10176Author: dtucker@openbsd.org <dtucker@openbsd.org>
10177Date: Sun Jul 22 12:16:59 2018 +0000
10178
10179 upstream: Switch authorized_keys example from ssh-dss to ssh-rsa
10180
10181 since the former is no longer enabled by default. Pointed out by Daniel A.
10182 Maierhofer, ok jmc
10183
10184 OpenBSD-Commit-ID: 6a196cef53d7524e0c9b58cdbc1b5609debaf8c7
10185
10186commit 472269f8fe19343971c2d08f504ab5cbb8234b33
10187Author: djm@openbsd.org <djm@openbsd.org>
10188Date: Fri Jul 20 05:01:10 2018 +0000
10189
10190 upstream: slightly-clearer description for AuthenticationMethods - the
10191
10192 lists have comma-separated elements; bz#2663 from Hans Meier
10193
10194 OpenBSD-Commit-ID: 931c983d0fde4764d0942fb2c2b5017635993b5a
10195
10196commit c59aca8adbdf7f5597084ad360a19bedb3f80970
10197Author: Damien Miller <djm@mindrot.org>
10198Date: Fri Jul 20 14:53:42 2018 +1000
10199
10200 Create control sockets in clean temp directories
10201
10202 Adds a regress/mkdtemp tool and uses it to create empty temp
10203 directories for tests needing control sockets.
10204
10205 Patch from Colin Watson via bz#2660; ok dtucker
10206
10207commit 6ad8648e83e4f4ace37b742a05c2a6b6b872514e
10208Author: djm@openbsd.org <djm@openbsd.org>
10209Date: Fri Jul 20 03:46:34 2018 +0000
10210
10211 upstream: remove unused zlib.h
10212
10213 OpenBSD-Commit-ID: 8d274a9b467c7958df12668b49144056819f79f1
10214
10215commit 3ba6e6883527fe517b6e4a824876e2fe62af22fc
10216Author: dtucker@openbsd.org <dtucker@openbsd.org>
10217Date: Thu Jul 19 23:03:16 2018 +0000
10218
10219 upstream: Fix typo in comment. From Alexandru Iacob via github.
10220
10221 OpenBSD-Commit-ID: eff4ec07c6c8c5483533da43a4dda37d72ef7f1d
10222
10223commit c77bc73c91bc656e343a1961756e09dd1b170820
10224Author: Darren Tucker <dtucker@dtucker.net>
10225Date: Fri Jul 20 13:48:51 2018 +1000
10226
10227 Explicitly include openssl before zlib.
10228
10229 Some versions of OpenSSL have "free_func" in their headers, which zlib
10230 typedefs. Including openssl after zlib (eg via sshkey.h) results in
10231 "syntax error before `free_func'", which this fixes.
10232
10233commit 95d41e90eafcd1286a901e8e361e4a37b98aeb52
10234Author: dtucker@openbsd.org <dtucker@openbsd.org>
10235Date: Thu Jul 19 10:28:47 2018 +0000
10236
10237 upstream: Deprecate UsePrivilegedPort now that support for running
10238
10239 ssh(1) setuid has been removed, remove supporting code and clean up
10240 references to it in the man pages
10241
10242 We have not shipped ssh(1) the setuid bit since 2002. If ayone
10243 really needs to make connections from a low port number this can
10244 be implemented via a small setuid ProxyCommand.
10245
10246 ok markus@ jmc@ djm@
10247
10248 OpenBSD-Commit-ID: d03364610b7123ae4c6792f5274bd147b6de717e
10249
10250commit 258dc8bb07dfb35a46e52b0822a2c5b7027df60a
10251Author: dtucker@openbsd.org <dtucker@openbsd.org>
10252Date: Wed Jul 18 11:34:04 2018 +0000
10253
10254 upstream: Remove support for running ssh(1) setuid and fatal if
10255
10256 attempted. Do not link uidwap.c into ssh any more. Neuters
10257 UsePrivilegedPort, which will be marked as deprecated shortly. ok markus@
10258 djm@
10259
10260 OpenBSD-Commit-ID: c4ba5bf9c096f57a6ed15b713a1d7e9e2e373c42
10261
10262commit ac590760b251506b0a152551abbf8e8d6dc2f527
10263Author: dtucker@openbsd.org <dtucker@openbsd.org>
10264Date: Mon Jul 16 22:25:01 2018 +0000
10265
10266 upstream: Slot 0 in the hostbased key array was previously RSA1,
10267
10268 but that is now gone and the slot is unused so remove it. Remove two
10269 now-unused macros, and add an array bounds check to the two remaining ones
10270 (array is statically sized, so mostly a safety check on future changes). ok
10271 markus@
10272
10273 OpenBSD-Commit-ID: 2e4c0ca6cc1d8daeccead2aa56192a3f9d5e1e7a
10274
10275commit 26efc2f5df0e3bcf6a6bbdd0506fd682d60c2145
10276Author: dtucker@openbsd.org <dtucker@openbsd.org>
10277Date: Mon Jul 16 11:05:41 2018 +0000
10278
10279 upstream: Remove support for loading HostBasedAuthentication keys
10280
10281 directly in ssh(1) and always use ssh-keysign. This removes one of the few
10282 remaining reasons why ssh(1) might be setuid. ok markus@
10283
10284 OpenBSD-Commit-ID: 97f01e1448707129a20d75f86bad5d27c3cf0b7d
10285
10286commit 3eb7f1038d17af7aea3c2c62d1e30cd545607640
10287Author: djm@openbsd.org <djm@openbsd.org>
10288Date: Mon Jul 16 07:06:50 2018 +0000
10289
10290 upstream: keep options.identity_file_userprovided array in sync when we
10291
10292 load keys, fixing some spurious error messages; ok markus
10293
10294 OpenBSD-Commit-ID: c63e3d5200ee2cf9e35bda98de847302566c6a00
10295
10296commit 2f131e1b34502aa19f345e89cabf6fa3fc097f09
10297Author: djm@openbsd.org <djm@openbsd.org>
10298Date: Mon Jul 16 03:09:59 2018 +0000
10299
10300 upstream: memleak in unittest; found by valgrind
10301
10302 OpenBSD-Regress-ID: 168c23b0fb09fc3d0b438628990d3fd9260a8a5e
10303
10304commit de2997a4cf22ca0a524f0e5b451693c583e2fd89
10305Author: djm@openbsd.org <djm@openbsd.org>
10306Date: Mon Jul 16 03:09:13 2018 +0000
10307
10308 upstream: memleaks; found by valgrind
10309
10310 OpenBSD-Commit-ID: 6c3ba22be53e753c899545f771e8399fc93cd844
10311
10312commit 61cc0003eb37fa07603c969c12b7c795caa498f3
10313Author: Darren Tucker <dtucker@dtucker.net>
10314Date: Sat Jul 14 16:49:01 2018 +1000
10315
10316 Undef a few new macros in sys-queue.h.
10317
10318 Prevents macro redefinition warnings on OSX.
10319
10320commit 30a2c213877a54a44dfdffb6ca8db70be5b457e0
10321Author: Darren Tucker <dtucker@dtucker.net>
10322Date: Fri Jul 13 13:40:20 2018 +1000
10323
10324 Include unistd.h for geteuid declaration.
10325
10326commit 1dd32c23f2a85714dfafe2a9cc516971d187caa4
10327Author: Darren Tucker <dtucker@dtucker.net>
10328Date: Fri Jul 13 13:38:10 2018 +1000
10329
10330 Fallout from buffer conversion in AUDIT_EVENTS.
10331
10332 Supply missing "int r" and fix error path for sshbuf_new().
10333
10334commit 7449c178e943e5c4f6c8416a4e41d93b70c11c9e
10335Author: djm@openbsd.org <djm@openbsd.org>
10336Date: Fri Jul 13 02:13:50 2018 +0000
10337
10338 upstream: make this use ssh_proxy rather than starting/stopping a
10339
10340 daemon for each testcase
10341
10342 OpenBSD-Regress-ID: 608b7655ea65b1ba8fff5a13ce9caa60ef0c8166
10343
10344commit dbab02f9208d9baa134cec1d007054ec82b96ca9
10345Author: djm@openbsd.org <djm@openbsd.org>
10346Date: Fri Jul 13 02:13:19 2018 +0000
10347
10348 upstream: fix leaks in unit test; with this, all unit tests are
10349
10350 leak free (as far as valgrind can spot anyway)
10351
10352 OpenBSD-Regress-ID: b824d8b27998365379963440e5d18b95ca03aa17
10353
10354commit 2f6accff5085eb79b0dbe262d8b85ed017d1a51c
10355Author: Damien Miller <djm@mindrot.org>
10356Date: Fri Jul 13 11:39:25 2018 +1000
10357
10358 Enable leak checks for unit tests with valgrind
10359
10360 Leave the leak checking on unconditionally when running with valgrind.
10361 The unit tests are leak-free and I want them to stay that way.
10362
10363commit e46cfbd9db5e907b821bf4fd0184d4dab99815ee
10364Author: Damien Miller <djm@mindrot.org>
10365Date: Fri Jul 13 11:38:59 2018 +1000
10366
10367 increase timeout to match cfgmatch.sh
10368
10369 lets test pass under valgrind (on my workstation at least)
10370
10371commit 6aa1bf475cf3e7a2149acc5a1e80e904749f064c
10372Author: Damien Miller <djm@mindrot.org>
10373Date: Thu Jul 12 14:54:18 2018 +1000
10374
10375 rm regress/misc/kexfuzz/*.o in distclean target
10376
10377commit eef1447ddb559c03725a23d4aa6d03f40e8b0049
10378Author: Damien Miller <djm@mindrot.org>
10379Date: Thu Jul 12 14:49:26 2018 +1000
10380
10381 repair !WITH_OPENSSL build
10382
10383commit 4d3b2f36fd831941d1627ac587faae37b6d3570f
10384Author: Damien Miller <djm@mindrot.org>
10385Date: Thu Jul 12 14:49:14 2018 +1000
10386
10387 missing headers
10388
10389commit 3f420a692b293921216549c1099c2e46ff284eae
10390Author: Darren Tucker <dtucker@dtucker.net>
10391Date: Thu Jul 12 14:57:46 2018 +1000
10392
10393 Remove key.h from portable files too.
10394
10395 Commit 5467fbcb removed key.h so stop including it in portable files
10396 too. Fixes builds on lots of platforms.
10397
10398commit e2c4af311543093f16005c10044f7e06af0426f0
10399Author: djm@openbsd.org <djm@openbsd.org>
10400Date: Thu Jul 12 04:35:25 2018 +0000
10401
10402 upstream: remove prototype to long-gone function
10403
10404 OpenBSD-Commit-ID: 0414642ac7ce01d176b9f359091a66a8bbb640bd
10405
10406commit 394a842e60674bf8ee5130b9f15b01452a0b0285
10407Author: markus@openbsd.org <markus@openbsd.org>
10408Date: Wed Jul 11 18:55:11 2018 +0000
10409
10410 upstream: treat ssh_packet_write_wait() errors as fatal; ok djm@
10411
10412 OpenBSD-Commit-ID: f88ba43c9d54ed2d911218aa8d3f6285430629c3
10413
10414commit 5467fbcb09528ecdcb914f4f2452216c24796790
10415Author: markus@openbsd.org <markus@openbsd.org>
10416Date: Wed Jul 11 18:53:29 2018 +0000
10417
10418 upstream: remove legacy key emulation layer; ok djm@
10419
10420 OpenBSD-Commit-ID: 2b1f9619259e222bbd4fe9a8d3a0973eafb9dd8d
10421
10422commit 5dc4c59d5441a19c99e7945779f7ec9051126c25
10423Author: martijn@openbsd.org <martijn@openbsd.org>
10424Date: Wed Jul 11 08:19:35 2018 +0000
10425
10426 upstream: s/wuth/with/ in comment
10427
10428 OpenBSD-Commit-ID: 9de41468afd75f54a7f47809d2ad664aa577902c
10429
10430commit 1c688801e9dd7f9889fb2a29bc2b6fbfbc35a11f
10431Author: Darren Tucker <dtucker@dtucker.net>
10432Date: Wed Jul 11 12:12:38 2018 +1000
10433
10434 Include stdlib.h for declaration of free.
10435
10436 Fixes build with -Werror on at least Fedora and probably others.
10437
10438commit fccfa239def497615f92ed28acc57cfe63da3666
10439Author: Damien Miller <djm@mindrot.org>
10440Date: Wed Jul 11 10:19:56 2018 +1000
10441
10442 VALGRIND_CHECK_LEAKS logic was backwards :(
10443
10444commit 416287d45fcde0a8e66eee8b99aa73bd58607588
10445Author: Darren Tucker <dtucker@dtucker.net>
10446Date: Wed Jul 11 10:10:26 2018 +1000
10447
10448 Fix sshbuf_new error path in skey.
10449
10450commit 7aab109b8b90a353c1af780524f1ac0d3af47bab
10451Author: Darren Tucker <dtucker@dtucker.net>
10452Date: Wed Jul 11 10:06:18 2018 +1000
10453
10454 Supply missing third arg in skey.
10455
10456 During the change to the new buffer api the third arg to
10457 sshbuf_get_cstring was ommitted. Fixes build when configured with skey.
10458
10459commit 380320bb72cc353a901790ab04b6287fd335dc4a
10460Author: Darren Tucker <dtucker@dtucker.net>
10461Date: Wed Jul 11 10:03:34 2018 +1000
10462
10463 Supply some more missing "int r" in skey
10464
10465commit d20720d373d8563ee737d1a45dc5e0804d622dbc
10466Author: Damien Miller <djm@mindrot.org>
10467Date: Wed Jul 11 09:56:36 2018 +1000
10468
10469 disable valgrind memleak checking by default
10470
10471 Add VALGRIND_CHECK_LEAKS knob to turn it back on.
10472
10473commit 79c9d35018f3a5e30ae437880b669aa8636cd3cd
10474Author: Darren Tucker <dtucker@dtucker.net>
10475Date: Wed Jul 11 09:54:00 2018 +1000
10476
10477 Supply missing "int r" in skey code.
10478
10479commit 984bacfaacbbe31c35191b828fb5b5b2f0362c36
10480Author: sf@openbsd.org <sf@openbsd.org>
10481Date: Tue Jul 10 09:36:58 2018 +0000
10482
10483 upstream: re-remove some pre-auth compression bits
10484
10485 This time, make sure to not remove things that are necessary for
10486 pre-auth compression on the client. Add a comment that pre-auth
10487 compression is still supported in the client.
10488
10489 ok markus@
10490
10491 OpenBSD-Commit-ID: 282c6fec7201f18a5c333bbb68d9339734d2f784
10492
10493commit 120a1ec74e8d9d29f4eb9a27972ddd22351ddef9
10494Author: Damien Miller <djm@mindrot.org>
10495Date: Tue Jul 10 19:39:52 2018 +1000
10496
10497 Adapt portable to legacy buffer API removal
10498
10499commit 0f3958c1e6ffb8ea4ba27e2a97a00326fce23246
10500Author: djm@openbsd.org <djm@openbsd.org>
10501Date: Tue Jul 10 09:13:30 2018 +0000
10502
10503 upstream: kerberos/gssapi fixes for buffer removal
10504
10505 OpenBSD-Commit-ID: 1cdf56fec95801e4563c47f21696f04cd8b60c4c
10506
10507commit c74ae8e7c45f325f3387abd48fa7dfef07a08069
10508Author: djm@openbsd.org <djm@openbsd.org>
10509Date: Tue Jul 10 06:45:29 2018 +0000
10510
10511 upstream: buffer.[ch] and bufaux.c are no more
10512
10513 OpenBSD-Commit-ID: d1a1852284e554f39525eb4d4891b207cfb3d3a0
10514
10515commit a881e5a133d661eca923fb0633a03152ab2b70b2
10516Author: djm@openbsd.org <djm@openbsd.org>
10517Date: Tue Jul 10 06:43:52 2018 +0000
10518
10519 upstream: one mention of Buffer that almost got away :)
10520
10521 OpenBSD-Commit-ID: 30d7c27a90b4544ad5dfacf654595710cd499f02
10522
10523commit 49f47e656b60bcd1d1db98d88105295f4b4e600d
10524Author: markus@openbsd.org <markus@openbsd.org>
10525Date: Mon Jul 9 21:59:10 2018 +0000
10526
10527 upstream: replace cast with call to sshbuf_mutable_ptr(); ok djm@
10528
10529 OpenBSD-Commit-ID: 4dfe9d29fa93d9231645c89084f7217304f7ba29
10530
10531commit cb30cd47041edb03476be1c8ef7bc1f4b69d1555
10532Author: markus@openbsd.org <markus@openbsd.org>
10533Date: Mon Jul 9 21:56:06 2018 +0000
10534
10535 upstream: remove legacy buffer API emulation layer; ok djm@
10536
10537 OpenBSD-Commit-ID: 2dd5dc17cbc23195be4299fa93be2707a0e08ad9
10538
10539commit 235c7c4e3bf046982c2d8242f30aacffa01073d1
10540Author: markus@openbsd.org <markus@openbsd.org>
10541Date: Mon Jul 9 21:53:45 2018 +0000
10542
10543 upstream: sshd: switch monitor to sshbuf API; lots of help & ok
10544
10545 djm@
10546
10547 OpenBSD-Commit-ID: d89bd02d33974fd35ca0b8940d88572227b34a48
10548
10549commit b8d9214d969775e409e1408ecdf0d58fad99b344
10550Author: markus@openbsd.org <markus@openbsd.org>
10551Date: Mon Jul 9 21:37:55 2018 +0000
10552
10553 upstream: sshd: switch GSSAPI to sshbuf API; ok djm@
10554
10555 OpenBSD-Commit-ID: e48449ab4be3f006f7ba33c66241b7d652973e30
10556
10557commit c7d39ac8dc3587c5f05bdd5bcd098eb5c201c0c8
10558Author: markus@openbsd.org <markus@openbsd.org>
10559Date: Mon Jul 9 21:35:50 2018 +0000
10560
10561 upstream: sshd: switch authentication to sshbuf API; ok djm@
10562
10563 OpenBSD-Commit-ID: 880aa06bce4b140781e836bb56bec34873290641
10564
10565commit c3cb7790e9efb14ba74b2d9f543ad593b3d55b31
10566Author: markus@openbsd.org <markus@openbsd.org>
10567Date: Mon Jul 9 21:29:36 2018 +0000
10568
10569 upstream: sshd: switch config to sshbuf API; ok djm@
10570
10571 OpenBSD-Commit-ID: 72b02017bac7feac48c9dceff8355056bea300bd
10572
10573commit 2808d18ca47ad3d251836c555f0e22aaca03d15c
10574Author: markus@openbsd.org <markus@openbsd.org>
10575Date: Mon Jul 9 21:26:02 2018 +0000
10576
10577 upstream: sshd: switch loginmsg to sshbuf API; ok djm@
10578
10579 OpenBSD-Commit-ID: f3cb4e54bff15c593602d95cc43e32ee1a4bac42
10580
10581commit 89dd615b8b531979be63f05f9d5624367c9b28e6
10582Author: markus@openbsd.org <markus@openbsd.org>
10583Date: Mon Jul 9 21:20:26 2018 +0000
10584
10585 upstream: ttymodes: switch to sshbuf API; ok djm@
10586
10587 OpenBSD-Commit-ID: 5df340c5965e822c9da21e19579d08dea3cbe429
10588
10589commit f4608a7065480516ab46214f554e5f853fb7870f
10590Author: markus@openbsd.org <markus@openbsd.org>
10591Date: Mon Jul 9 21:18:10 2018 +0000
10592
10593 upstream: client: switch mux to sshbuf API; with & ok djm@
10594
10595 OpenBSD-Commit-ID: 5948fb98d704f9c4e075b92edda64e0290b5feb2
10596
10597commit cecee2d607099a7bba0a84803e2325d15be4277b
10598Author: markus@openbsd.org <markus@openbsd.org>
10599Date: Mon Jul 9 21:03:30 2018 +0000
10600
10601 upstream: client: switch to sshbuf API; ok djm@
10602
10603 OpenBSD-Commit-ID: 60cb0356114acc7625ab85105f6f6a7cd44a8d05
10604
10605commit ff55f4ad898137d4703e7a2bcc81167dfe8e9324
10606Author: markus@openbsd.org <markus@openbsd.org>
10607Date: Mon Jul 9 20:39:28 2018 +0000
10608
10609 upstream: pkcs11: switch to sshbuf API; ok djm@
10610
10611 OpenBSD-Commit-ID: 98cc4e800f1617c51caf59a6cb3006f14492db79
10612
10613commit 168b46f405d6736960ba7930389eecb9b6710b7e
10614Author: sf@openbsd.org <sf@openbsd.org>
10615Date: Mon Jul 9 13:37:10 2018 +0000
10616
10617 upstream: Revert previous two commits
10618
10619 It turns out we still support pre-auth compression on the client.
10620 Therefore revert the previous two commits:
10621
10622 date: 2018/07/06 09:06:14; author: sf; commitid: yZVYKIRtUZWD9CmE;
10623 Rename COMP_DELAYED to COMP_ZLIB
10624
10625 Only delayed compression is supported nowadays.
10626
10627 ok markus@
10628
10629 date: 2018/07/06 09:05:01; author: sf; commitid: rEGuT5UgI9f6kddP;
10630 Remove leftovers from pre-authentication compression
10631
10632 Support for this has been removed in 2016.
10633 COMP_DELAYED will be renamed in a later commit.
10634
10635 ok markus@
10636
10637 OpenBSD-Commit-ID: cdfef526357e4e1483c86cf599491b2dafb77772
10638
10639commit ab39267fa1243d02b6c330615539fc4b21e17dc4
10640Author: sf@openbsd.org <sf@openbsd.org>
10641Date: Fri Jul 6 09:06:14 2018 +0000
10642
10643 upstream: Rename COMP_DELAYED to COMP_ZLIB
10644
10645 Only delayed compression is supported nowadays.
10646
10647 ok markus@
10648
10649 OpenBSD-Commit-ID: 5b1dbaf3d9a4085aaa10fec0b7a4364396561821
10650
10651commit 95db395d2e56a6f868193aead6cadb2493f036c6
10652Author: sf@openbsd.org <sf@openbsd.org>
10653Date: Fri Jul 6 09:05:01 2018 +0000
10654
10655 upstream: Remove leftovers from pre-authentication compression
10656
10657 Support for this has been removed in 2016.
10658 COMP_DELAYED will be renamed in a later commit.
10659
10660 ok markus@
10661
10662 OpenBSD-Commit-ID: 6a99616c832627157113fcb0cf5a752daf2e6b58
10663
10664commit f28a4d5cd24c4aa177e96b4f96957991e552cb70
10665Author: sf@openbsd.org <sf@openbsd.org>
10666Date: Fri Jul 6 09:03:02 2018 +0000
10667
10668 upstream: Remove unused ssh_packet_start_compression()
10669
10670 ok markus@
10671
10672 OpenBSD-Commit-ID: 9d34cf2f59aca5422021ae2857190578187dc2b4
10673
10674commit 872517ddbb72deaff31d4760f28f2b0a1c16358f
10675Author: Darren Tucker <dtucker@dtucker.net>
10676Date: Fri Jul 6 13:32:02 2018 +1000
10677
10678 Defer setting bufsiz in getdelim.
10679
10680 Do not write to bufsiz until we are sure the malloc has succeeded,
10681 in case any callers rely on it (which they shouldn't). ok djm@
10682
10683commit 3deb56f7190a414dc264e21e087a934fa1847283
10684Author: Darren Tucker <dtucker@dtucker.net>
10685Date: Thu Jul 5 13:32:01 2018 +1000
10686
10687 Fix other callers of read_environment_file.
10688
10689 read_environment_file recently gained an extra argument Some platform
10690 specific code also calls it so add the argument to those too. Fixes
10691 build on Solaris and AIX.
10692
10693commit 314908f451e6b2d4ccf6212ad246fa4619c721d3
10694Author: djm@openbsd.org <djm@openbsd.org>
10695Date: Wed Jul 4 13:51:45 2018 +0000
10696
10697 upstream: deal with API rename: match_filter_list() =>
10698
10699 match_filter_blacklist()
10700
10701 OpenBSD-Regress-ID: 2da342be913efeb51806351af906fab01ba4367f
10702
10703commit 89f54cdf6b9cf1cf5528fd33897f1443913ddfb4
10704Author: djm@openbsd.org <djm@openbsd.org>
10705Date: Wed Jul 4 13:51:12 2018 +0000
10706
10707 upstream: exercise new expansion behaviour of
10708
10709 PubkeyAcceptedKeyTypes and, by proxy, test kex_assemble_names()
10710
10711 ok markus@
10712
10713 OpenBSD-Regress-ID: 292978902e14d5729aa87e492dd166c842f72736
10714
10715commit 187633f24c71564e970681c8906df5a6017dcccf
10716Author: djm@openbsd.org <djm@openbsd.org>
10717Date: Tue Jul 3 13:53:26 2018 +0000
10718
10719 upstream: add a comment that could have saved me 45 minutes of wild
10720
10721 goose chasing
10722
10723 OpenBSD-Regress-ID: d469b29ffadd3402c090e21b792d627d46fa5297
10724
10725commit 312d2f2861a2598ed08587cb6c45c0e98a85408f
10726Author: djm@openbsd.org <djm@openbsd.org>
10727Date: Wed Jul 4 13:49:31 2018 +0000
10728
10729 upstream: repair PubkeyAcceptedKeyTypes (and friends) after RSA
10730
10731 signature work - returns ability to add/remove/specify algorithms by
10732 wildcard.
10733
10734 Algorithm lists are now fully expanded when the server/client configs
10735 are finalised, so errors are reported early and the config dumps
10736 (e.g. "ssh -G ...") now list the actual algorithms selected.
10737
10738 Clarify that, while wildcards are accepted in algorithm lists, they
10739 aren't full pattern-lists that support negation.
10740
10741 (lots of) feedback, ok markus@
10742
10743 OpenBSD-Commit-ID: a8894c5c81f399a002f02ff4fe6b4fa46b1f3207
10744
10745commit 303af5803bd74bf05d375c04e1a83b40c30b2be5
10746Author: djm@openbsd.org <djm@openbsd.org>
10747Date: Tue Jul 3 11:43:49 2018 +0000
10748
10749 upstream: some magic for RSA-SHA2 checks
10750
10751 OpenBSD-Regress-ID: e5a9b11368ff6d86e7b25ad10ebe43359b471cd4
10752
10753commit 7d68e262944c1fff1574600fe0e5e92ec8b398f5
10754Author: Damien Miller <djm@mindrot.org>
10755Date: Tue Jul 3 23:27:11 2018 +1000
10756
10757 depend
10758
10759commit b4d4eda633af433d20232cbf7e855ceac8b83fe5
10760Author: djm@openbsd.org <djm@openbsd.org>
10761Date: Tue Jul 3 13:20:25 2018 +0000
10762
10763 upstream: some finesse to fix RSA-SHA2 certificate authentication
10764
10765 for certs hosted in ssh-agent
10766
10767 OpenBSD-Commit-ID: e5fd5edd726137dda2d020e1cdebc464110a010f
10768
10769commit d78b75df4a57e0f92295f24298e5f2930e71c172
10770Author: djm@openbsd.org <djm@openbsd.org>
10771Date: Tue Jul 3 13:07:58 2018 +0000
10772
10773 upstream: check correct variable; unbreak agent keys
10774
10775 OpenBSD-Commit-ID: c36981fdf1f3ce04966d3310826a3e1e6233d93e
10776
10777commit 2f30300c5e15929d0e34013f38d73e857f445e12
10778Author: djm@openbsd.org <djm@openbsd.org>
10779Date: Tue Jul 3 11:42:12 2018 +0000
10780
10781 upstream: crank version number to 7.8; needed for new compat flag
10782
10783 for prior version; part of RSA-SHA2 strictification, ok markus@
10784
10785 OpenBSD-Commit-ID: 84a11fc0efd2674c050712336b5093f5d408e32b
10786
10787commit 4ba0d54794814ec0de1ec87987d0c3b89379b436
10788Author: djm@openbsd.org <djm@openbsd.org>
10789Date: Tue Jul 3 11:39:54 2018 +0000
10790
10791 upstream: Improve strictness and control over RSA-SHA2 signature
10792
10793 In ssh, when an agent fails to return a RSA-SHA2 signature when
10794 requested and falls back to RSA-SHA1 instead, retry the signature to
10795 ensure that the public key algorithm sent in the SSH_MSG_USERAUTH
10796 matches the one in the signature itself.
10797
10798 In sshd, strictly enforce that the public key algorithm sent in the
10799 SSH_MSG_USERAUTH message matches what appears in the signature.
10800
10801 Make the sshd_config PubkeyAcceptedKeyTypes and
10802 HostbasedAcceptedKeyTypes options control accepted signature algorithms
10803 (previously they selected supported key types). This allows these
10804 options to ban RSA-SHA1 in favour of RSA-SHA2.
10805
10806 Add new signature algorithms "rsa-sha2-256-cert-v01@openssh.com" and
10807 "rsa-sha2-512-cert-v01@openssh.com" to force use of RSA-SHA2 signatures
10808 with certificate keys.
10809
10810 feedback and ok markus@
10811
10812 OpenBSD-Commit-ID: c6e9f6d45eed8962ad502d315d7eaef32c419dde
10813
10814commit 95344c257412b51199ead18d54eaed5bafb75617
10815Author: djm@openbsd.org <djm@openbsd.org>
10816Date: Tue Jul 3 10:59:35 2018 +0000
10817
10818 upstream: allow sshd_config PermitUserEnvironment to accept a
10819
10820 pattern-list of whitelisted environment variable names in addition to yes|no.
10821
10822 bz#1800, feedback and ok markus@
10823
10824 OpenBSD-Commit-ID: 77dc2b468e0bf04b53f333434ba257008a1fdf24
10825
10826commit 6f56fe4b9578b0627667f8bce69d4d938a88324c
10827Author: millert@openbsd.org <millert@openbsd.org>
10828Date: Tue Jun 26 11:23:59 2018 +0000
10829
10830 upstream: Fix "WARNING: line 6 disappeared in /etc/moduli, giving up"
10831
10832 when choosing a prime. An extra increment of linenum snuck in as part of the
10833 conversion to getline(). OK djm@ markus@
10834
10835 OpenBSD-Commit-ID: 0019225cb52ed621b71cd9f19ee2e78e57e3dd38
10836
10837commit 1eee79a11c1b3594f055b01e387c49c9a6e80005
10838Author: dtucker@openbsd.org <dtucker@openbsd.org>
10839Date: Mon Jul 2 14:13:30 2018 +0000
10840
10841 upstream: One ampersand is enough to backgroud an process. OpenBSD
10842
10843 doesn't seem to mind, but some platforms in -portable object to the second.
10844
10845 OpenBSD-Regress-ID: d6c3e404871764343761dc25c3bbe29c2621ff74
10846
10847commit 6301e6c787d4e26bfae1119ab4f747bbcaa94e44
10848Author: Darren Tucker <dtucker@dtucker.net>
10849Date: Mon Jul 2 21:16:58 2018 +1000
10850
10851 Add implementation of getline.
10852
10853 Add getline for the benefit of platforms that don't have it. Sourced
10854 from NetBSD (OpenBSD's implementation is a little too chummy with the
10855 internals of FILE).
10856
10857commit 84623e0037628f9992839063151f7a9f5f13099a
10858Author: djm@openbsd.org <djm@openbsd.org>
10859Date: Tue Jun 26 02:02:36 2018 +0000
10860
10861 upstream: whitespace
10862
10863 OpenBSD-Commit-ID: 9276951caf4daf555f6d262e95720e7f79244572
10864
10865commit 90e51d672711c19a36573be1785caf35019ae7a8
10866Author: djm@openbsd.org <djm@openbsd.org>
10867Date: Mon Jun 25 22:28:33 2018 +0000
10868
10869 upstream: fix NULL dereference in open_listen_match_tcpip()
10870
10871 OpenBSD-Commit-ID: c968c1d29e392352383c0f9681fcc1e93620c4a9
10872
10873commit f535ff922a67d9fcc5ee69d060d1b21c8bb01d14
10874Author: jmc@openbsd.org <jmc@openbsd.org>
10875Date: Tue Jun 19 05:36:57 2018 +0000
10876
10877 upstream: spelling;
10878
10879 OpenBSD-Commit-ID: db542918185243bea17202383a581851736553cc
10880
10881commit 80e199d6175904152aafc5c297096c3e18297691
10882Author: djm@openbsd.org <djm@openbsd.org>
10883Date: Tue Jun 19 03:02:17 2018 +0000
10884
10885 upstream: test PermitListen with bare port numbers
10886
10887 OpenBSD-Regress-ID: 4b50a02dfb0ccaca08247f3877c444126ba901b3
10888
10889commit 87ddd676da0f3abd08b778b12b53b91b670dc93c
10890Author: djm@openbsd.org <djm@openbsd.org>
10891Date: Tue Jun 19 02:59:41 2018 +0000
10892
10893 upstream: allow bare port numbers to appear in PermitListen directives,
10894
10895 e.g.
10896
10897 PermitListen 2222 8080
10898
10899 is equivalent to:
10900
10901 PermitListen *:2222 *:8080
10902
10903 Some bonus manpage improvements, mostly from markus@
10904
10905 "looks fine" markus@
10906
10907 OpenBSD-Commit-ID: 6546b0cc5aab7f53d65ad0a348ca0ae591d6dd24
10908
10909commit 26f96ca10ad0ec5da9b05b99de1e1ccea15a11be
10910Author: djm@openbsd.org <djm@openbsd.org>
10911Date: Fri Jun 15 07:01:11 2018 +0000
10912
10913 upstream: invalidate supplemental group cache used by
10914
10915 temporarily_use_uid() when the target uid differs; could cause failure to
10916 read authorized_keys under some configurations. patch by Jakub Jelen via
10917 bz2873; ok dtucker, markus
10918
10919 OpenBSD-Commit-ID: 48a345f0ee90f6c465a078eb5e89566b23abd8a1
10920
10921commit 89a85d724765b6b82e0135ee5a1181fdcccea9c6
10922Author: djm@openbsd.org <djm@openbsd.org>
10923Date: Sun Jun 10 23:45:41 2018 +0000
10924
10925 upstream: unbreak SendEnv; patch from tb@
10926
10927 OpenBSD-Commit-ID: fc808daced813242563b80976e1478de95940056
10928
10929commit acf4260f0951f89c64e1ebbc4c92f451768871ad
10930Author: jmc@openbsd.org <jmc@openbsd.org>
10931Date: Sat Jun 9 06:36:31 2018 +0000
10932
10933 upstream: sort previous;
10934
10935 OpenBSD-Commit-ID: 27d80d8b8ca99bc33971dee905e8ffd0053ec411
10936
10937commit 1678d4236451060b735cb242d2e26e1ac99f0947
10938Author: djm@openbsd.org <djm@openbsd.org>
10939Date: Sat Jun 9 03:18:11 2018 +0000
10940
10941 upstream: slightly better wording re handing of $TERM, from Jakub
10942
10943 Jelen via bz2386
10944
10945 OpenBSD-Commit-ID: 14bea3f069a93c8be66a7b97794255a91fece964
10946
10947commit 28013759f09ed3ebf7e8335e83a62936bd7a7f47
10948Author: djm@openbsd.org <djm@openbsd.org>
10949Date: Sat Jun 9 03:03:10 2018 +0000
10950
10951 upstream: add a SetEnv directive for sshd_config to allow an
10952
10953 administrator to explicitly specify environment variables set in sessions
10954 started by sshd. These override the default environment and any variables set
10955 by user configuration (PermitUserEnvironment, etc), but not the SSH_*
10956 variables set by sshd itself.
10957
10958 ok markus@
10959
10960 OpenBSD-Commit-ID: b6a96c0001ccd7dd211df6cae9e961c20fd718c0
10961
10962commit 7082bb58a2eb878d23ec674587c742e5e9673c36
10963Author: djm@openbsd.org <djm@openbsd.org>
10964Date: Sat Jun 9 03:01:12 2018 +0000
10965
10966 upstream: add a SetEnv directive to ssh_config that allows setting
10967
10968 environment variables for the remote session (subject to the server accepting
10969 them)
10970
10971 refactor SendEnv to remove the arbitrary limit of variable names.
10972
10973 ok markus@
10974
10975 OpenBSD-Commit-ID: cfbb00d9b0e10c1ffff1d83424351fd961d1f2be
10976
10977commit 3b9798bda15bd3f598f5ef07595d64e23504da91
10978Author: djm@openbsd.org <djm@openbsd.org>
10979Date: Sat Jun 9 02:58:02 2018 +0000
10980
10981 upstream: reorder child environment preparation so that variables
10982
10983 read from ~/.ssh/environment (if enabled) do not override SSH_* variables set
10984 by the server.
10985
10986 OpenBSD-Commit-ID: 59f9d4c213cdcef2ef21f4b4ae006594dcf2aa7a
10987
10988commit 0368889f82f63c82ff8db9f8c944d89e7c657db4
10989Author: djm@openbsd.org <djm@openbsd.org>
10990Date: Fri Jun 8 03:35:36 2018 +0000
10991
10992 upstream: fix incorrect expansion of %i in
10993
10994 load_public_identity_files(); reported by Roumen Petrov
10995
10996 OpenBSD-Commit-ID: a827289e77149b5e0850d72a350c8b0300e7ef25
10997
10998commit 027607fc2db6a0475a3380f8d95c635482714cb0
10999Author: djm@openbsd.org <djm@openbsd.org>
11000Date: Fri Jun 8 01:55:40 2018 +0000
11001
11002 upstream: fix some over-long lines and __func__ up some debug
11003
11004 messages
11005
11006 OpenBSD-Commit-ID: c70a60b4c8207d9f242fc2351941ba50916bb267
11007
11008commit 6ff6fda705bc204456a5fa12518dde6e8790bb02
11009Author: jmc@openbsd.org <jmc@openbsd.org>
11010Date: Thu Jun 7 11:26:14 2018 +0000
11011
11012 upstream: tweak previous;
11013
11014 OpenBSD-Commit-ID: f98f16af10b28e24bcecb806cb71ea994b648fd6
11015
11016commit f2c06ab8dd90582030991f631a2715216bf45e5a
11017Author: Darren Tucker <dtucker@dtucker.net>
11018Date: Fri Jun 8 17:43:36 2018 +1000
11019
11020 Remove ability to override $LD.
11021
11022 Since autoconf always uses $CC to link C programs, allowing users to
11023 override LD caused mismatches between what LD_LINK_IFELSE thought worked
11024 and what ld thought worked. If you do need to do this kind of thing you
11025 need to set a compiler flag such as gcc's -fuse-ld in LDFLAGS.
11026
11027commit e1542a80797b4ea40a91d2896efdcc76a57056d2
11028Author: Darren Tucker <dtucker@dtucker.net>
11029Date: Fri Jun 8 13:55:59 2018 +1000
11030
11031 Better detection of unsupported compiler options.
11032
11033 Should prevent "unsupported -Wl,-z,retpoline" warnings during linking.
11034 ok djm@
11035
11036commit 57379dbd013ad32ee3f9989bf5f5741065428360
11037Author: djm@openbsd.org <djm@openbsd.org>
11038Date: Thu Jun 7 14:29:43 2018 +0000
11039
11040 upstream: test the correct configuration option name
11041
11042 OpenBSD-Regress-ID: 492279ea9f65657f97a970e0e7c7fd0b339fee23
11043
11044commit 6d41815e202fbd6182c79780b6cc90e1ec1c9981
11045Author: djm@openbsd.org <djm@openbsd.org>
11046Date: Thu Jun 7 09:26:42 2018 +0000
11047
11048 upstream: some permitlisten fixes from markus@ that I missed in my
11049
11050 insomnia-fueled commits last night
11051
11052 OpenBSD-Commit-ID: 26f23622e928996086e85b1419cc1c0f136e359c
11053
11054commit 4319f7a868d86d435fa07112fcb6153895d03a7f
11055Author: djm@openbsd.org <djm@openbsd.org>
11056Date: Thu Jun 7 04:46:34 2018 +0000
11057
11058 upstream: permitlisten/PermitListen unit test from Markus
11059
11060 OpenBSD-Regress-ID: ab12eb42f0e14926980441cf7c058a6d1d832ea5
11061
11062commit fa09076410ffc2d34d454145af23c790d728921e
11063Author: djm@openbsd.org <djm@openbsd.org>
11064Date: Thu Jun 7 04:31:51 2018 +0000
11065
11066 upstream: fix regression caused by recent permitlisten option commit:
11067
11068 authorized_keys lines that contained permitopen/permitlisten were being
11069 treated as invalid.
11070
11071 OpenBSD-Commit-ID: 7ef41d63a5a477b405d142dc925b67d9e7aaa31b
11072
11073commit 7f90635216851f6cb4bf3999e98b825f85d604f8
11074Author: markus@openbsd.org <markus@openbsd.org>
11075Date: Wed Jun 6 18:29:18 2018 +0000
11076
11077 upstream: switch config file parsing to getline(3) as this avoids
11078
11079 static limits noted by gerhard@; ok dtucker@, djm@
11080
11081 OpenBSD-Commit-ID: 6d702eabef0fa12e5a1d75c334a8c8b325298b5c
11082
11083commit 392db2bc83215986a91c0b65feb0e40e7619ce7e
11084Author: djm@openbsd.org <djm@openbsd.org>
11085Date: Wed Jun 6 18:25:33 2018 +0000
11086
11087 upstream: regress test for PermitOpen
11088
11089 OpenBSD-Regress-ID: ce8b5f28fc039f09bb297fc4a92319e65982ddaf
11090
11091commit 803d896ef30758135e2f438bdd1a0be27989e018
11092Author: djm@openbsd.org <djm@openbsd.org>
11093Date: Wed Jun 6 18:24:15 2018 +0000
11094
11095 upstream: man bits for permitlisten authorized_keys option
11096
11097 OpenBSD-Commit-ID: 86910af8f781a4ac5980fea125442eb25466dd78
11098
11099commit 04df43208b5b460d7360e1598f876b92a32f5922
11100Author: djm@openbsd.org <djm@openbsd.org>
11101Date: Wed Jun 6 18:24:00 2018 +0000
11102
11103 upstream: man bits for PermitListen
11104
11105 OpenBSD-Commit-ID: 35b200cba4e46a16a4db6a80ef11838ab0fad67c
11106
11107commit 93c06ab6b77514e0447fe4f1d822afcbb2a9be08
11108Author: djm@openbsd.org <djm@openbsd.org>
11109Date: Wed Jun 6 18:23:32 2018 +0000
11110
11111 upstream: permitlisten option for authorized_keys; ok markus@
11112
11113 OpenBSD-Commit-ID: 8650883018d7aa893173d703379e4456a222c672
11114
11115commit 115063a6647007286cc8ca70abfd2a7585f26ccc
11116Author: djm@openbsd.org <djm@openbsd.org>
11117Date: Wed Jun 6 18:22:41 2018 +0000
11118
11119 upstream: Add a PermitListen directive to control which server-side
11120
11121 addresses may be listened on when the client requests remote forwarding (ssh
11122 -R).
11123
11124 This is the converse of the existing PermitOpen directive and this
11125 includes some refactoring to share much of its implementation.
11126
11127 feedback and ok markus@
11128
11129 OpenBSD-Commit-ID: 15a931238c61a3f2ac74ea18a98c933e358e277f
11130
11131commit 7703ae5f5d42eb302ded51705166ff6e19c92892
11132Author: Darren Tucker <dtucker@dtucker.net>
11133Date: Wed Jun 6 16:04:29 2018 +1000
11134
11135 Use ssh-keygen -A to generate missing host keys.
11136
11137 Instead of testing for each specific key type, use ssh-keygen -A to
11138 generate any missing host key types.
11139
11140commit e8d59fef1098e24f408248dc64e5c8efa5d01f3c
11141Author: jmc@openbsd.org <jmc@openbsd.org>
11142Date: Fri Jun 1 06:23:10 2018 +0000
11143
11144 upstream: add missing punctuation after %i in ssh_config.5, and
11145
11146 make the grammatical format in sshd_config.5 match that in ssh_config.5;
11147
11148 OpenBSD-Commit-ID: e325663b9342f3d556e223e5306e0d5fa1a74fa0
11149
11150commit a1f737d6a99314e291a87856122cb4dbaf64c641
11151Author: jmc@openbsd.org <jmc@openbsd.org>
11152Date: Fri Jun 1 05:52:26 2018 +0000
11153
11154 upstream: oops - further adjustment to text neccessary;
11155
11156 OpenBSD-Commit-ID: 23585576c807743112ab956be0fb3c786bdef025
11157
11158commit 294028493471e0bd0c7ffe55dc0c0a67cba6ec41
11159Author: jmc@openbsd.org <jmc@openbsd.org>
11160Date: Fri Jun 1 05:50:18 2018 +0000
11161
11162 upstream: %U needs to be escaped; tweak text;
11163
11164 OpenBSD-Commit-ID: 30887b73ece257273fb619ab6f4e86dc92ddc15e
11165
11166commit e5019da3c5a31e6e729a565f2b886a80c4be96cc
11167Author: dtucker@openbsd.org <dtucker@openbsd.org>
11168Date: Fri Jun 1 04:31:48 2018 +0000
11169
11170 upstream: Apply umask to all incoming files and directories not
11171
11172 just files. This makes sure it gets applied to directories too, and prevents
11173 a race where files get chmodded after creation. bz#2839, ok djm@
11174
11175 OpenBSD-Commit-ID: 3168ee6c7c39093adac4fd71039600cfa296203b
11176
11177commit a1dcafc41c376332493b9385ee39f9754dc145ec
11178Author: djm@openbsd.org <djm@openbsd.org>
11179Date: Fri Jun 1 03:52:37 2018 +0000
11180
11181 upstream: Adapt to extra default verboisity from ssh-keygen when
11182
11183 searching for and hashing known_hosts entries in a single operation
11184 (ssh-keygen -HF ...) Patch from Anton Kremenetsky
11185
11186 OpenBSD-Regress-ID: 519585a4de35c4611285bd6a7272766c229b19dd
11187
11188commit 76f314c75dffd4a55839d50ee23622edad52c168
11189Author: djm@openbsd.org <djm@openbsd.org>
11190Date: Tue May 22 00:22:49 2018 +0000
11191
11192 upstream: Add TEST_SSH_FAIL_FATAL variable, to force all failures
11193
11194 to instantly abort the test. Useful in capturing clean logs for individual
11195 failure cases.
11196
11197 OpenBSD-Regress-ID: feba18cf338c2328b9601bd4093cabdd9baa3af1
11198
11199commit 065c8c055df8d83ae7c92e5e524a579d87668aab
11200Author: dtucker@openbsd.org <dtucker@openbsd.org>
11201Date: Fri May 11 03:51:06 2018 +0000
11202
11203 upstream: Clean up comment.
11204
11205 OpenBSD-Regress-ID: 6adb35f384d447e7dcb9f170d4f0d546d3973e10
11206
11207commit 01b048c8eba3b021701bd0ab26257fc82903cba8
11208Author: djm@openbsd.org <djm@openbsd.org>
11209Date: Fri Jun 1 04:21:29 2018 +0000
11210
11211 upstream: whitespace
11212
11213 OpenBSD-Commit-ID: e5edb5e843ddc9b73a8e46518899be41d5709add
11214
11215commit 854ae209f992465a276de0b5f10ef770510c2418
11216Author: djm@openbsd.org <djm@openbsd.org>
11217Date: Fri Jun 1 04:05:29 2018 +0000
11218
11219 upstream: make ssh_remote_ipaddr() capable of being called after
11220
11221 the ssh->state has been torn down; bz#2773
11222
11223 OpenBSD-Commit-ID: 167f12523613ca3d16d7716a690e7afa307dc7eb
11224
11225commit 3e088aaf236ef35beeef3c9be93fd53700df5861
11226Author: djm@openbsd.org <djm@openbsd.org>
11227Date: Fri Jun 1 03:51:34 2018 +0000
11228
11229 upstream: return correct exit code when searching for and hashing
11230
11231 known_hosts entries in a single operation (ssh-keygen -HF hostname); bz2772
11232 Report and fix from Anton Kremenetsky
11233
11234 OpenBSD-Commit-ID: ac10ca13eb9bb0bc50fcd42ad11c56c317437b58
11235
11236commit 9c935dd9bf05628826ad2495d3e8bdf3d3271c21
11237Author: djm@openbsd.org <djm@openbsd.org>
11238Date: Fri Jun 1 03:33:53 2018 +0000
11239
11240 upstream: make UID available as a %-expansion everywhere that the
11241
11242 username is available currently. In the client this is via %i, in the server
11243 %U (since %i was already used in the client in some places for this, but used
11244 for something different in the server); bz#2870, ok dtucker@
11245
11246 OpenBSD-Commit-ID: c7e912b0213713316cb55db194b3a6415b3d4b95
11247
11248commit d8748b91d1d6c108c0c260ed41fa55f37b9ef34b
11249Author: djm@openbsd.org <djm@openbsd.org>
11250Date: Fri Jun 1 03:11:49 2018 +0000
11251
11252 upstream: prefer argv0 to "ssh" when re-executing ssh for ProxyJump
11253
11254 directive; bz2831, feedback and ok dtucker@
11255
11256 OpenBSD-Commit-ID: 3cec709a131499fbb0c1ea8a0a9e0b0915ce769e
11257
11258commit fbb4b5fd4f8e0bb89732670a01954e18b69e15ba
11259Author: djm@openbsd.org <djm@openbsd.org>
11260Date: Fri May 25 07:11:01 2018 +0000
11261
11262 upstream: Do not ban PTY allocation when a sshd session is restricted
11263
11264 because the user password is expired as it breaks password change dialog.
11265
11266 regression in openssh-7.7 reported by Daniel Wagner
11267
11268 OpenBSD-Commit-ID: 9fc09c584c6f1964b00595e3abe7f83db4d90d73
11269
11270commit f6a59a22b0c157c4c4e5fd7232f868138223be64
11271Author: djm@openbsd.org <djm@openbsd.org>
11272Date: Fri May 25 04:25:46 2018 +0000
11273
11274 upstream: Fix return value confusion in several functions (readdir,
11275
11276 download and fsync). These should return -1 on error, not a sftp status code.
11277
11278 patch from Petr Cerny in bz#2871
11279
11280 OpenBSD-Commit-ID: 651aa0220ad23c9167d9297a436162d741f97a09
11281
11282commit 1da5934b860ac0378d52d3035b22b6670f6a967e
11283Author: dtucker@openbsd.org <dtucker@openbsd.org>
11284Date: Fri May 25 03:20:59 2018 +0000
11285
11286 upstream: If select() fails in ssh_packet_read_seqnr go directly to
11287
11288 the error path instead of trying to read from the socket on the way out,
11289 which resets errno and causes the true error to be misreported. ok djm@
11290
11291 OpenBSD-Commit-ID: 2614edaadbd05a957aa977728aa7a030af7c6f0a
11292
11293commit 4ef75926ef517d539f2c7aac3188b09f315c86a7
11294Author: Damien Miller <djm@mindrot.org>
11295Date: Fri May 25 13:36:58 2018 +1000
11296
11297 Permit getuid()/geteuid() syscalls.
11298
11299 Requested for Linux/s390; patch from Eduardo Barretto via bz#2752;
11300 ok dtucker
11301
11302commit 4b22fd8ecefd059a66140be67f352eb6145a9d88
11303Author: djm@openbsd.org <djm@openbsd.org>
11304Date: Tue May 22 00:13:26 2018 +0000
11305
11306 upstream: support ProxyJump=none to disable ProxyJump
11307
11308 functionality; bz#2869 ok dtucker@
11309
11310 OpenBSD-Commit-ID: 1c06ee08eb78451b5837fcfd8cbebc5ff3a67a01
11311
11312commit f41bcd70f55b4f0fc4d8e1039cb361ac922b23fb
11313Author: jmc@openbsd.org <jmc@openbsd.org>
11314Date: Tue May 15 05:40:11 2018 +0000
11315
11316 upstream: correct keyowrd name (permitemptypasswords); from brendan
11317
11318 macdonell
11319
11320 OpenBSD-Commit-ID: ef1bdbc936b2ea693ee37a4c20a94d4d43f5fda3
11321
11322commit f18bc97151340127859634d20d79fd39ec8a7f39
11323Author: djm@openbsd.org <djm@openbsd.org>
11324Date: Fri May 11 04:01:11 2018 +0000
11325
11326 upstream: Emphasise that -w implicitly sets Tunnel=point-to-point
11327
11328 and that users should specify an explicit Tunnel directive if they don't want
11329 this. bz#2365.
11330
11331 OpenBSD-Commit-ID: 1a8d9c67ae213ead180481900dbbb3e04864560d
11332
11333commit 32e4e94e1511fe0020fbfbb62399d31b2d22a801
11334Author: Damien Miller <djm@mindrot.org>
11335Date: Mon May 14 14:40:08 2018 +1000
11336
11337 sync fmt_scaled.c
11338
11339 revision 1.17
11340 date: 2018/05/14 04:39:04; author: djm; state: Exp; lines: +5 -2;
11341 commitid: 53zY8GjViUBnWo8Z;
11342 constrain fractional part to [0-9] (less confusing to static analysis); ok ian@
11343
11344commit 54268d589e85ecc43d3eba8d83f327bdada9d696
11345Author: Damien Miller <djm@mindrot.org>
11346Date: Fri May 11 14:04:40 2018 +1000
11347
11348 fix key-options.sh on platforms without openpty(3)
11349
11350 Skip the pty tests if the platform lacks openpty(3) and has to chown(2)
11351 the pty device explicitly. This typically requires root permissions that
11352 this test lacks.
11353
11354 bz#2856 ok dtucker@
11355
11356commit b2140a739be4c3b43cc1dc08322dca39a1e39d20
11357Author: djm@openbsd.org <djm@openbsd.org>
11358Date: Fri May 11 03:38:51 2018 +0000
11359
11360 upstream: implement EMFILE mitigation for ssh-agent: remember the
11361
11362 fd rlimit and stop accepting new connections when it is exceeded (with some
11363 grace). Accept is resumed when enough connections are closed.
11364
11365 bz#2576. feedback deraadt; ok dtucker@
11366
11367 OpenBSD-Commit-ID: 6a85d9cec7b85741961e7116a49f8dae777911ea
11368
11369commit fdba503fdfc647ee8a244002f1581e869c1f3d90
11370Author: dtucker@openbsd.org <dtucker@openbsd.org>
11371Date: Fri May 11 03:22:55 2018 +0000
11372
11373 upstream: Explicit cast when snprintf'ing an uint64. Prevents
11374
11375 warnings on platforms where int64 is long not long long. ok djm@
11376
11377 OpenBSD-Commit-ID: 9c5359e2fbfce11dea2d93f7bc257e84419bd001
11378
11379commit e7751aa4094d51a9bc00778aa8d07e22934c55ee
11380Author: bluhm@openbsd.org <bluhm@openbsd.org>
11381Date: Thu Apr 26 14:47:03 2018 +0000
11382
11383 upstream: Since the previous commit, ssh regress test sftp-chroot was
11384
11385 failing. The sftp program terminated with the wrong exit code as sftp called
11386 fatal() instad of exit(0). So when the sigchld handler waits for the child,
11387 remember that it was found. Then don't expect that main() can wait again. OK
11388 dtucker@
11389
11390 OpenBSD-Commit-ID: bfafd940c0de5297940c71ddf362053db0232266
11391
11392commit 7c15301841e2e9d37cae732400de63ae9c0961d6
11393Author: Darren Tucker <dtucker@dtucker.net>
11394Date: Sun Apr 29 17:54:12 2018 +1000
11395
11396 Use includes.h instead of config.h.
11397
11398 This ensures it picks up the definition of DEF_WEAK, the lack of which
11399 can cause compile errors in some cases (eg modern AIX). From
11400 michael at felt.demon.nl.
11401
11402commit cec338967a666b7c8ad8b88175f2faeddf268116
11403Author: Darren Tucker <dtucker@dtucker.net>
11404Date: Thu Apr 19 09:53:14 2018 +1000
11405
11406 Omit 3des-cbc if OpenSSL built without DES.
11407
11408 Patch from hongxu.jia at windriver.com, ok djm@
11409
11410commit a575ddd58835759393d2dddd16ebe5abdb56485e
11411Author: djm@openbsd.org <djm@openbsd.org>
11412Date: Mon Apr 16 22:50:44 2018 +0000
11413
11414 upstream: Disable SSH2_MSG_DEBUG messages for Twisted Conch clients
11415
11416 without version numbers since they choke on them under some circumstances.
11417 https://twistedmatrix.com/trac/ticket/9422 via Colin Watson
11418
11419 Newer Conch versions have a version number in their ident string and
11420 handle debug messages okay. https://twistedmatrix.com/trac/ticket/9424
11421
11422 OpenBSD-Commit-ID: 6cf7be262af0419c58ddae11324d9c0dc1577539
11423
11424commit 390c7000a8946db565b66eab9e52fb11948711fa
11425Author: djm@openbsd.org <djm@openbsd.org>
11426Date: Sat Apr 14 21:50:41 2018 +0000
11427
11428 upstream: don't free the %C expansion, it's used later for
11429
11430 LocalCommand
11431
11432 OpenBSD-Commit-ID: 857b5cb37b2d856bfdfce61289a415257a487fb1
11433
11434commit 3455f1e7c48e2e549192998d330214975b9b1dc7
11435Author: djm@openbsd.org <djm@openbsd.org>
11436Date: Fri Apr 13 05:04:12 2018 +0000
11437
11438 upstream: notify user immediately when underlying ssh process dies;
11439
11440 patch from Thomas Kuthan in bz2719; ok dtucker@
11441
11442 OpenBSD-Commit-ID: 78fac88c2f08054d1fc5162c43c24162b131cf78
11443
11444commit 1c5b4bc827f4abc3e65888cda061ad5edf1b8c7c
11445Author: Darren Tucker <dtucker@dtucker.net>
11446Date: Fri Apr 13 16:23:57 2018 +1000
11447
11448 Allow nanosleep in preauth privsep child.
11449
11450 The new timing attack mitigation code uses nanosleep in the preauth
11451 codepath, allow in systrace andbox too.
11452
11453commit 0e73428038d5ecfa5d2a28cff26661502a7aff4e
11454Author: Darren Tucker <dtucker@dtucker.net>
11455Date: Fri Apr 13 16:06:29 2018 +1000
11456
11457 Allow nanosleep in preauth privsep child.
11458
11459 The new timing attack mitigation code uses nanosleep in the preauth
11460 codepath, allow in sandbox.
11461
11462commit e9d910b0289c820852f7afa67f584cef1c05fe95
11463Author: dtucker@openbsd.org <dtucker@openbsd.org>
11464Date: Fri Apr 13 03:57:26 2018 +0000
11465
11466 upstream: Defend against user enumeration timing attacks. This
11467
11468 establishes a minimum time for each failed authentication attempt (5ms) and
11469 adds a per-user constant derived from a host secret (0-4ms). Based on work
11470 by joona.kannisto at tut.fi, ok markus@ djm@.
11471
11472 OpenBSD-Commit-ID: b7845b355bb7381703339c8fb0e57e81a20ae5ca
11473
11474commit d97874cbd909eb706886cd0cdd418f812c119ef9
11475Author: Darren Tucker <dtucker@dtucker.net>
11476Date: Fri Apr 13 13:43:55 2018 +1000
11477
11478 Using "==" in shell tests is not portable.
11479
11480 Patch from rsbecker at nexbridge.com.
11481
11482commit cfb1d9bc76734681e3dea532a1504fcd466fbe91
11483Author: Damien Miller <djm@mindrot.org>
11484Date: Fri Apr 13 13:38:06 2018 +1000
11485
11486 Fix tunnel forwarding broken in 7.7p1
11487
11488 bz2855, ok dtucker@
11489
11490commit afa6e79b76fb52a0c09a29688b5c0d125eb08302
11491Author: Damien Miller <djm@mindrot.org>
11492Date: Fri Apr 13 13:31:42 2018 +1000
11493
11494 prefer to use getrandom() for PRNG seeding
11495
11496 Only applies when built --without-openssl. Thanks Jann Horn for
11497 reminder.
11498
11499commit 575fac34a97f69bc217b235f81de9f8f433eceed
11500Author: Darren Tucker <dtucker@dtucker.net>
11501Date: Fri Apr 13 13:13:33 2018 +1000
11502
11503 Revert $REGRESSTMP changes.
11504
11505 Revert 3fd2d229 and subsequent changes as they turned out to be a
11506 portability hassle.
11507
11508commit 10479cc2a4acd6faaf643eb305233b49d70c31c1
11509Author: Damien Miller <djm@mindrot.org>
11510Date: Tue Apr 10 10:19:02 2018 +1000
11511
11512 Many typo fixes from Karsten Weiss
11513
11514 Spotted using https://github.com/lucasdemarchi/codespell
11515
11516commit 907da2f88519b34189fd03fac96de0c52d448233
11517Author: djm@openbsd.org <djm@openbsd.org>
11518Date: Tue Apr 10 00:14:10 2018 +0000
11519
11520 upstream: more typos spotted by Karsten Weiss using codespell
11521
11522 OpenBSD-Regress-ID: d906a2aea0663810a658b7d0bc61a1d2907d4d69
11523
11524commit 37e5f4a7ab9a8026e5fc2f47dafb0f1b123d39e9
11525Author: djm@openbsd.org <djm@openbsd.org>
11526Date: Tue Apr 10 00:13:27 2018 +0000
11527
11528 upstream: make this a bit more portable-friendly
11529
11530 OpenBSD-Regress-ID: 62f7b9e055e8dfaab92b3825f158beeb4ca3f963
11531
11532commit 001aa55484852370488786bd40e9fdad4b465811
11533Author: djm@openbsd.org <djm@openbsd.org>
11534Date: Tue Apr 10 00:10:49 2018 +0000
11535
11536 upstream: lots of typos in comments/docs. Patch from Karsten Weiss
11537
11538 after checking with codespell tool
11539 (https://github.com/lucasdemarchi/codespell)
11540
11541 OpenBSD-Commit-ID: 373222f12d7ab606598a2d36840c60be93568528
11542
11543commit 260ede2787fe80b18b8d5920455b4fb268519c7d
11544Author: djm@openbsd.org <djm@openbsd.org>
11545Date: Mon Apr 9 23:54:49 2018 +0000
11546
11547 upstream: don't kill ssh-agent's listening socket entriely if we
11548
11549 fail to accept a connection; bz#2837, patch from Lukas Kuster
11550
11551 OpenBSD-Commit-ID: 52413f5069179bebf30d38f524afe1a2133c738f
11552
11553commit ebc8b4656f9b0f834a642a9fb3c9fbca86a61838
11554Author: tj@openbsd.org <tj@openbsd.org>
11555Date: Mon Apr 9 20:41:22 2018 +0000
11556
11557 upstream: the UseLogin option was removed, so remove it here too.
11558
11559 ok dtucker
11560
11561 OpenBSD-Commit-ID: 7080be73a64d68e21f22f5408a67a0ba8b1b6b06
11562
11563commit 3e36f281851fc8e9c996b33f108b2ae167314fbe
11564Author: jmc@openbsd.org <jmc@openbsd.org>
11565Date: Sun Apr 8 07:36:02 2018 +0000
11566
11567 upstream: tweak previous;
11568
11569 OpenBSD-Commit-ID: 2b9c23022ea7b9dddb62864de4e906000f9d7474
11570
11571commit 8368571efd6693c5c57f850e23a2372acf3f865f
11572Author: jmc@openbsd.org <jmc@openbsd.org>
11573Date: Sat Apr 7 13:50:10 2018 +0000
11574
11575 upstream: tweak previous;
11576
11577 OpenBSD-Commit-ID: 38e347b6f8e888f5e0700d01abb1eba7caa154f9
11578
11579commit 555294a7279914ae6795b71bedf4e6011b7636df
11580Author: djm@openbsd.org <djm@openbsd.org>
11581Date: Fri Apr 6 13:02:39 2018 +0000
11582
11583 upstream: Allow "SendEnv -PATTERN" to clear environment variables
11584
11585 previously labeled for sendind. bz#1285 ok dtucker@
11586
11587 OpenBSD-Commit-ID: f6fec9e3d0f366f15903094fbe1754cb359a0df9
11588
11589commit 40f5f03544a07ebd2003b443d42e85cb51d94d59
11590Author: djm@openbsd.org <djm@openbsd.org>
11591Date: Fri Apr 6 04:15:45 2018 +0000
11592
11593 upstream: relax checking of authorized_keys environment="..."
11594
11595 options to allow underscores in variable names (regression introduced in
11596 7.7). bz2851, ok deraadt@
11597
11598 OpenBSD-Commit-ID: 69690ffe0c97ff393f2c76d25b4b3d2ed4e4ac9c
11599
11600commit 30fd7f9af0f553aaa2eeda5a1f53f26cfc222b5e
11601Author: djm@openbsd.org <djm@openbsd.org>
11602Date: Fri Apr 6 03:51:27 2018 +0000
11603
11604 upstream: add a couple of missed options to the config dump; patch
11605
11606 from Jakub Jelen via bz2835
11607
11608 OpenBSD-Commit-ID: 5970adadf6ef206bee0dddfc75d24c2019861446
11609
11610commit 8d6829be324452d2acd282d5f8ceb0adaa89a4de
11611Author: djm@openbsd.org <djm@openbsd.org>
11612Date: Fri Apr 6 03:34:27 2018 +0000
11613
11614 upstream: ssh does not accept -oInclude=... on the commandline, the
11615
11616 Include keyword is for configuration files only. bz#2840, patch from Jakub
11617 Jelen
11618
11619 OpenBSD-Commit-ID: 32d052b4a7a7f22df35fe3f71c368c02b02cacb0
11620
11621commit 00c5222ddc0c8edcaa4ea45ac03befdc8013d137
11622Author: djm@openbsd.org <djm@openbsd.org>
11623Date: Thu Apr 5 22:54:28 2018 +0000
11624
11625 upstream: We don't offer CBC cipher by default any more. Spotted by
11626
11627 Renaud Allard (via otto@)
11628
11629 OpenBSD-Commit-ID: a559b1eef741557dd959ae378b665a2977d92dca
11630
11631commit 5ee8448ad7c306f05a9f56769f95336a8269f379
11632Author: job@openbsd.org <job@openbsd.org>
11633Date: Wed Apr 4 15:12:17 2018 +0000
11634
11635 upstream: Update default IPQoS in ssh(1), sshd(8) to DSCP AF21 for
11636
11637 interactive and CS1 for bulk
11638
11639 AF21 was selected as this is the highest priority within the low-latency
11640 service class (and it is higher than what we have today). SSH is elastic
11641 and time-sensitive data, where a user is waiting for a response via the
11642 network in order to continue with a task at hand. As such, these flows
11643 should be considered foreground traffic, with delays or drops to such
11644 traffic directly impacting user-productivity.
11645
11646 For bulk SSH traffic, the CS1 "Lower Effort" marker was chosen to enable
11647 networks implementing a scavanger/lower-than-best effort class to
11648 discriminate scp(1) below normal activities, such as web surfing. In
11649 general this type of bulk SSH traffic is a background activity.
11650
11651 An advantage of using "AF21" for interactive SSH and "CS1" for bulk SSH
11652 is that they are recognisable values on all common platforms (IANA
11653 https://www.iana.org/assignments/dscp-registry/dscp-registry.xml), and
11654 for AF21 specifically a definition of the intended behavior exists
11655 https://tools.ietf.org/html/rfc4594#section-4.7 in addition to the definition
11656 of the Assured Forwarding PHB group https://tools.ietf.org/html/rfc2597, and
11657 for CS1 (Lower Effort) there is https://tools.ietf.org/html/rfc3662
11658
11659 The first three bits of "AF21" map to the equivalent IEEEE 802.1D PCP, IEEE
11660 802.11e, MPLS EXP/CoS and IP Precedence value of 2 (also known as "Immediate",
11661 or "AC_BE"), and CS1's first 3 bits map to IEEEE 802.1D PCP, IEEE 802.11e,
11662 MPLS/CoS and IP Precedence value 1 ("Background" or "AC_BK").
11663
11664 OK deraadt@, "no objection" djm@
11665
11666 OpenBSD-Commit-ID: d11d2a4484f461524ef0c20870523dfcdeb52181
11667
11668commit 424b544fbda963f973da80f884717c3e0a513288
11669Author: dtucker@openbsd.org <dtucker@openbsd.org>
11670Date: Tue Apr 3 02:14:08 2018 +0000
11671
11672 upstream: Import regenerated moduli file.
11673
11674 OpenBSD-Commit-ID: 1de0e85522051eb2ffa00437e1885e9d7b3e0c2e
11675
11676commit 323f66ce934df2da551f256f37d69822428e1ca1
11677Author: dtucker@openbsd.org <dtucker@openbsd.org>
11678Date: Fri Apr 6 04:18:35 2018 +0000
11679
11680 upstream: Add test for username options parsing order, prompted by
11681
11682 bz#2849.
11683
11684 OpenBSD-Regress-ID: 6985cd32f38596882a3ac172ff8c510693b65283
11685
11686commit e8f474554e3bda102a797a2fbab0594ccc66f097
11687Author: Damien Miller <djm@mindrot.org>
11688Date: Fri Apr 6 14:11:44 2018 +1000
11689
11690 Expose SSH_AUTH_INFO_0 to PAM auth modules
11691
11692 bz#2408, patch from Radoslaw Ejsmont; ok dtucker@
11693
11694commit 014ba209cf4c6a159baa30ecebbaddfa97da7100
11695Author: Darren Tucker <dtucker@dtucker.net>
11696Date: Tue Apr 3 12:18:00 2018 +1000
11697
11698 Import regenerated moduli file.
11699
11700commit a0349a1cc4a18967ad1dbff5389bcdf9da098814
11701Author: Damien Miller <djm@mindrot.org>
11702Date: Mon Apr 2 15:38:28 2018 +1000
11703
11704 update versions in .spec files
11705
11706commit 816ad38f79792f5617e3913be306ddb27e91091c
11707Author: Damien Miller <djm@mindrot.org>
11708Date: Mon Apr 2 15:38:20 2018 +1000
11709
11710 update version number
11711
11712commit 2c71ca1dd1efe458cb7dee3f8a1a566f913182c2
11713Author: Darren Tucker <dtucker@dtucker.net>
11714Date: Fri Mar 30 18:23:07 2018 +1100
11715
11716 Disable native strndup and strnlen on AIX.
11717
11718 On at least some revisions of AIX, strndup returns unterminated strings
11719 under some conditions, apparently because strnlen returns incorrect
11720 values in those cases. Disable both on AIX and use the replacements
11721 from openbsd-compat. Fixes problem with ECDSA keys there, ok djm.
11722
11723commit 6b5a17bc14e896e3904dc58d889b58934cfacd24
11724Author: Darren Tucker <dtucker@dtucker.net>
11725Date: Mon Mar 26 13:12:44 2018 +1100
11726
11727 Include ssh_api.h for struct ssh.
11728
11729 struct ssh is needed by implementations of sys_auth_passwd() that were
11730 converted in commit bba02a50. Needed to fix build on AIX, I assume for
11731 the other platforms too (although it should be harmless if not needed).
11732
11733commit bc3f80e4d191b8e48650045dfa8a682cd3aabd4d
11734Author: Darren Tucker <dtucker@dtucker.net>
11735Date: Mon Mar 26 12:58:09 2018 +1100
11736
11737 Remove UNICOS code missed during removal.
11738
11739 Fixes compile error on AIX.
11740
11741commit 9d57762c24882e2f000a21a0ffc8c5908a1fa738
11742Author: markus@openbsd.org <markus@openbsd.org>
11743Date: Sat Mar 24 19:29:03 2018 +0000
11744
11745 upstream: openssh-7.7
11746
11747 OpenBSD-Commit-ID: 274e614352460b9802c905f38fb5ea7ed5db3d41
11748
11749commit 4b7d8acdbbceef247dc035e611e577174ed8a87e
11750Author: Damien Miller <djm@mindrot.org>
11751Date: Mon Mar 26 09:37:02 2018 +1100
11752
11753 Remove authinfo.sh test dependency on printenv
11754
11755 Some platforms lack printenv in the default $PATH.
11756 Reported by Tom G. Christensen
11757
11758commit 4afeaf3dcb7dc70efd98fcfcb0ed28a6b40b820e
11759Author: Tim Rice <tim@multitalents.net>
11760Date: Sun Mar 25 10:00:21 2018 -0700
11761
11762 Use libiaf on all sysv5 systems
11763
11764commit bba02a5094b3db228ceac41cb4bfca165d0735f3
11765Author: Tim Rice <tim@multitalents.net>
11766Date: Sun Mar 25 09:17:33 2018 -0700
11767
11768 modified: auth-sia.c
11769 modified: openbsd-compat/port-aix.c
11770 modified: openbsd-compat/port-uw.c
11771
11772 propogate changes to auth-passwd.c in commit
11773 7c856857607112a3dfe6414696bf4c7ab7fb0cb3 to other providers
11774 of sys_auth_passwd()
11775
11776commit d7a7a39168bdfe273587bf85d779d60569100a3f
11777Author: markus@openbsd.org <markus@openbsd.org>
11778Date: Sat Mar 24 19:29:03 2018 +0000
11779
11780 upstream: openssh-7.7
11781
11782 OpenBSD-Commit-ID: 274e614352460b9802c905f38fb5ea7ed5db3d41
11783
11784commit 9efcaaac314c611c6c0326e8bac5b486c424bbd2
11785Author: markus@openbsd.org <markus@openbsd.org>
11786Date: Sat Mar 24 19:28:43 2018 +0000
11787
11788 upstream: fix bogus warning when signing cert keys using agent;
11789
11790 from djm; ok deraadt dtucker
11791
11792 OpenBSD-Commit-ID: 12e50836ba2040042383a8b71e12d7ea06e9633d
11793
11794commit 393436024d2e4b4c7a01f9cfa5854e7437896d11
11795Author: Darren Tucker <dtucker@dtucker.net>
11796Date: Sun Mar 25 09:40:46 2018 +1100
11797
11798 Replace /dev/stdin with "-".
11799
11800 For some reason sftp -b doesn't work with /dev/stdin on Cygwin, as noted
11801 and suggested by vinschen at redhat.com.
11802
11803commit b5974de1a1d419e316ffb6524b1b277dda2f3b49
11804Author: Darren Tucker <dtucker@dtucker.net>
11805Date: Fri Mar 23 13:21:14 2018 +1100
11806
11807 Provide $OBJ to paths in PuTTY interop tests.
11808
11809commit dc31e79454e9b9140b33ad380565fdb59b9c4f33
11810Author: dtucker@openbsd.org <dtucker@openbsd.org>
11811Date: Fri Mar 16 09:06:31 2018 +0000
11812
11813 upstream: Tell puttygen to use /dev/urandom instead of /dev/random. On
11814
11815 OpenBSD they are both non-blocking, but on many other -portable platforms it
11816 blocks, stalling tests.
11817
11818 OpenBSD-Regress-ID: 397d0d4c719c353f24d79f5b14775e0cfdf0e1cc
11819
11820commit cb1f94431ef319cd48618b8b771b58739a8210cf
11821Author: markus@openbsd.org <markus@openbsd.org>
11822Date: Thu Mar 22 07:06:11 2018 +0000
11823
11824 upstream: ssh/xmss: fix build; ok djm@
11825
11826 OpenBSD-Commit-ID: c9374ca41d4497f1c673ab681cc33f6e7c5dd186
11827
11828commit 27979da9e4074322611355598f69175b9ff10d39
11829Author: markus@openbsd.org <markus@openbsd.org>
11830Date: Thu Mar 22 07:05:48 2018 +0000
11831
11832 upstream: ssh/xmss: fix deserialize for certs; ok djm@
11833
11834 OpenBSD-Commit-ID: f44c41636c16ec83502039828beaf521c057dddc
11835
11836commit c6cb2565c9285eb54fa9dfbb3890f5464aff410f
11837Author: Darren Tucker <dtucker@dtucker.net>
11838Date: Thu Mar 22 17:00:28 2018 +1100
11839
11840 Save $? before case statement.
11841
11842 In some shells (FreeBSD 9, ash) the case statement resets $?, so save
11843 for later testing.
11844
11845commit 4c4e7f783b43b264c247233acb887ee10ed4ce4d
11846Author: djm@openbsd.org <djm@openbsd.org>
11847Date: Wed Mar 14 05:35:40 2018 +0000
11848
11849 upstream: rename recently-added "valid-before" key restriction to
11850
11851 "expiry-time" as the former is confusing wrt similar terminology in X.509;
11852 pointed out by jsing@
11853
11854 OpenBSD-Regress-ID: ac8b41dbfd90cffd525d58350c327195b0937793
11855
11856commit 500396b204c58e78ad9d081516a365a9f28dc3fd
11857Author: djm@openbsd.org <djm@openbsd.org>
11858Date: Mon Mar 12 00:56:03 2018 +0000
11859
11860 upstream: check valid-before option in authorized_keys
11861
11862 OpenBSD-Regress-ID: 7e1e4a84f7f099a290e5a4cbf4196f90ff2d7e11
11863
11864commit a76b5d26c2a51d7dd7a5164e683ab3f4419be215
11865Author: djm@openbsd.org <djm@openbsd.org>
11866Date: Mon Mar 12 00:54:04 2018 +0000
11867
11868 upstream: explicitly specify RSA/SHA-2 keytype here too
11869
11870 OpenBSD-Regress-ID: 74d7b24e8c72c27af6b481198344eb077e993a62
11871
11872commit 3a43297ce29d37c64e37c7e21282cb219e28d3d1
11873Author: djm@openbsd.org <djm@openbsd.org>
11874Date: Mon Mar 12 00:52:57 2018 +0000
11875
11876 upstream: exlicitly include RSA/SHA-2 keytypes in
11877
11878 PubkeyAcceptedKeyTypes here
11879
11880 OpenBSD-Regress-ID: 954d19e0032a74e31697fb1dc7e7d3d1b2d65fe9
11881
11882commit 037fdc1dc2d68e1d43f9c9e2586c02cabc8f7cc8
11883Author: jmc@openbsd.org <jmc@openbsd.org>
11884Date: Wed Mar 14 06:56:20 2018 +0000
11885
11886 upstream: sort expiry-time;
11887
11888 OpenBSD-Commit-ID: 8c7d82ee1e63e26ceb2b3d3a16514019f984f6bf
11889
11890commit abc0fa38c9bc136871f28e452c3465c3051fc785
11891Author: djm@openbsd.org <djm@openbsd.org>
11892Date: Wed Mar 14 05:35:40 2018 +0000
11893
11894 upstream: rename recently-added "valid-before" key restriction to
11895
11896 "expiry-time" as the former is confusing wrt similar terminology in X.509;
11897 pointed out by jsing@
11898
11899 OpenBSD-Commit-ID: 376939466a1f562f3950a22314bc6505733aaae6
11900
11901commit bf0fbf2b11a44f06a64b620af7d01ff171c28e13
11902Author: djm@openbsd.org <djm@openbsd.org>
11903Date: Mon Mar 12 00:52:01 2018 +0000
11904
11905 upstream: add valid-before="[time]" authorized_keys option. A
11906
11907 simple way of giving a key an expiry date. ok markus@
11908
11909 OpenBSD-Commit-ID: 1793b4dd5184fa87f42ed33c7b0f4f02bc877947
11910
11911commit fbd733ab7adc907118a6cf56c08ed90c7000043f
11912Author: Darren Tucker <dtucker@dtucker.net>
11913Date: Mon Mar 12 19:17:26 2018 +1100
11914
11915 Add AC_LANG_PROGRAM to AC_COMPILE_IFELSE.
11916
11917 The recently added MIPS ABI tests need AC_LANG_PROGRAM to prevent
11918 warnings from autoconf. Pointed out by klausz at haus-gisela.de.
11919
11920commit c7c458e8261b04d161763cd333d74e7a5842e917
11921Author: djm@openbsd.org <djm@openbsd.org>
11922Date: Wed Mar 7 23:53:08 2018 +0000
11923
11924 upstream: revert recent strdelim() change, it causes problems with
11925
11926 some configs.
11927
11928 revision 1.124
11929 date: 2018/03/02 03:02:11; author: djm; state: Exp; lines: +19 -8; commitid: nNRsCijZiGG6SUTT;
11930 Allow escaped quotes \" and \' in ssh_config and sshd_config quotes
11931 option strings. bz#1596 ok markus@
11932
11933 OpenBSD-Commit-ID: 59c40b1b81206d713c06b49d8477402c86babda5
11934
11935commit 0bcd871ccdf3baf2b642509ba4773d5be067cfa2
11936Author: jmc@openbsd.org <jmc@openbsd.org>
11937Date: Mon Mar 5 07:03:18 2018 +0000
11938
11939 upstream: move the input format details to -f; remove the output
11940
11941 format details and point to sshd(8), where it is documented;
11942
11943 ok dtucker
11944
11945 OpenBSD-Commit-ID: 95f17e47dae02a6ac7329708c8c893d4cad0004a
11946
11947commit 45011511a09e03493568506ce32f4891a174a3bd
11948Author: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
11949Date: Tue Jun 20 16:42:28 2017 +0100
11950
11951 configure.ac: properly set seccomp_audit_arch for MIPS64
11952
11953 Currently seccomp_audit_arch is set to AUDIT_ARCH_MIPS64 or
11954 AUDIT_ARCH_MIPSEL64 (depending on the endinness) when openssh is built
11955 for MIPS64. However, that's only valid for n64 ABI. The right macros for
11956 n32 ABI defined in seccomp.h are AUDIT_ARCH_MIPS64N32 and
11957 AUDIT_ARCH_MIPSEL64N32, for big and little endian respectively.
11958
11959 Because of that an sshd built for MIPS64 n32 rejects connection attempts
11960 and the output of strace reveals that the problem is related to seccomp
11961 audit:
11962
11963 [pid 194] prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, {len=57,
11964 filter=0x555d5da0}) = 0
11965 [pid 194] write(7, "\0\0\0]\0\0\0\5\0\0\0Ulist_hostkey_types: "..., 97) = ?
11966 [pid 193] <... poll resumed> ) = 2 ([{fd=5, revents=POLLIN|POLLHUP},
11967 {fd=6, revents=POLLHUP}])
11968 [pid 194] +++ killed by SIGSYS +++
11969
11970 This patch fixes that problem by setting the right value to
11971 seccomp_audit_arch taking into account the MIPS64 ABI.
11972
11973 Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
11974
11975commit 580086704c31de91dc7ba040a28e416bf1fefbca
11976Author: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
11977Date: Tue Jun 20 16:42:11 2017 +0100
11978
11979 configure.ac: detect MIPS ABI
11980
11981 Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
11982
11983commit cd4e937aa701f70366cd5b5969af525dff6fdf15
11984Author: Alan Yee <alyee@ucsd.edu>
11985Date: Wed Mar 7 15:12:14 2018 -0800
11986
11987 Use https URLs for links that support it.
11988
11989commit c0a0c3fc4a76b682db22146b28ddc46566db1ce9
11990Author: Darren Tucker <dtucker@dtucker.net>
11991Date: Mon Mar 5 20:03:07 2018 +1100
11992
11993 Disable UTMPX on SunOS4.
11994
11995commit 58fd4c5c0140f6636227ca7acbb149ab0c2509b9
11996Author: Darren Tucker <dtucker@dtucker.net>
11997Date: Mon Mar 5 19:28:08 2018 +1100
11998
11999 Check for and work around buggy fflush(NULL).
12000
12001 Some really old platforms (eg SunOS4) segfault on fflush(NULL) so check
12002 for and work around. With klausz at haus-gisela.de.
12003
12004commit 71e48bc7945f867029e50e06c665c66aed6d3c64
12005Author: Darren Tucker <dtucker@dtucker.net>
12006Date: Mon Mar 5 10:22:32 2018 +1100
12007
12008 Remove extra XMSS #endif
12009
12010 Extra #endif breaks compile with -DWITH_XMSS. Pointed out by Jack
12011 Schmidt via github.
12012
12013commit 055e09e2212ff52067786bf6d794ca9512ff7f0c
12014Author: dtucker@openbsd.org <dtucker@openbsd.org>
12015Date: Sat Mar 3 06:37:53 2018 +0000
12016
12017 upstream: Update RSA minimum modulus size to 1024. sshkey.h rev 1.18
12018
12019 bumped the minimum from 768 to 1024, update man page accordingly.
12020
12021 OpenBSD-Commit-ID: 27563ab4e866cd2aac40a5247876f6787c08a338
12022
12023commit 7e4fadd3248d6bb7d39d6688c76a613d35d2efc1
12024Author: djm@openbsd.org <djm@openbsd.org>
12025Date: Sun Mar 4 01:46:48 2018 +0000
12026
12027 upstream: for the pty control tests, just check that the PTY path
12028
12029 points to something in /dev (rather than checking the device node itself);
12030 makes life easier for portable, where systems with dynamic ptys can delete
12031 nodes before we get around to testing their existence.
12032
12033 OpenBSD-Regress-ID: b1e455b821e62572bccd98102f8dd9d09bb94994
12034
12035commit 13ef4cf53f24753fe920832b990b25c9c9cd0530
12036Author: Darren Tucker <dtucker@dtucker.net>
12037Date: Sat Mar 3 16:21:20 2018 +1100
12038
12039 Update PAM password change to new opts API.
12040
12041commit 33561e68e0b27366cb769295a077aabc6a49d2a1
12042Author: Darren Tucker <dtucker@dtucker.net>
12043Date: Sat Mar 3 14:56:09 2018 +1100
12044
12045 Add strndup for platforms that need it.
12046
12047 Some platforms don't have strndup, which includes Solaris 10, NetBSD 3
12048 and FreeBSD 6.
12049
12050commit e8a17feba95eef424303fb94441008f6c5347aaf
12051Author: Darren Tucker <dtucker@dtucker.net>
12052Date: Sat Mar 3 14:49:07 2018 +1100
12053
12054 Flatten and alphabetize object file lists.
12055
12056 This will make maintenance and changes easier. "no objection" tim@
12057
12058commit de1920d743d295f50e6905e5957c4172c038e8eb
12059Author: djm@openbsd.org <djm@openbsd.org>
12060Date: Sat Mar 3 03:16:17 2018 +0000
12061
12062 upstream: unit tests for new authorized_keys options API
12063
12064 OpenBSD-Regress-ID: 820f9ec9c6301f6ca330ad4052d85f0e67d0bdc1
12065
12066commit dc3e92df17556dc5b0ab19cee8dcb2a6ba348717
12067Author: djm@openbsd.org <djm@openbsd.org>
12068Date: Fri Mar 2 02:53:27 2018 +0000
12069
12070 upstream: fix testing of pty option, include positive test and
12071
12072 testing of restrict keyword
12073
12074 OpenBSD-Regress-ID: 4268f27c2706a0a95e725d9518c5bcbec9814c6d
12075
12076commit 3d1edd1ebbc0aabea8bbe61903060f37137f7c61
12077Author: djm@openbsd.org <djm@openbsd.org>
12078Date: Fri Mar 2 02:51:55 2018 +0000
12079
12080 upstream: better testing for port-forwarding and restrict flags in
12081
12082 authorized_keys
12083
12084 OpenBSD-Regress-ID: ee771df8955f2735df54746872c6228aff381daa
12085
12086commit 7c856857607112a3dfe6414696bf4c7ab7fb0cb3
12087Author: djm@openbsd.org <djm@openbsd.org>
12088Date: Sat Mar 3 03:15:51 2018 +0000
12089
12090 upstream: switch over to the new authorized_keys options API and
12091
12092 remove the legacy one.
12093
12094 Includes a fairly big refactor of auth2-pubkey.c to retain less state
12095 between key file lines.
12096
12097 feedback and ok markus@
12098
12099 OpenBSD-Commit-ID: dece6cae0f47751b9892080eb13d6625599573df
12100
12101commit 90c4bec8b5f9ec4c003ae4abdf13fc7766f00c8b
12102Author: djm@openbsd.org <djm@openbsd.org>
12103Date: Sat Mar 3 03:06:02 2018 +0000
12104
12105 upstream: Introduce a new API for handling authorized_keys options.
12106
12107 This API parses options to a dedicated structure rather than the old API's
12108 approach of setting global state. It also includes support for merging
12109 options, e.g. from authorized_keys, authorized_principals and/or
12110 certificates.
12111
12112 feedback and ok markus@
12113
12114 OpenBSD-Commit-ID: 98badda102cd575210d7802943e93a34232c80a2
12115
12116commit 26074380767e639ef89321610e146ae11016b385
12117Author: djm@openbsd.org <djm@openbsd.org>
12118Date: Sat Mar 3 03:01:50 2018 +0000
12119
12120 upstream: warn when the agent returns a signature type that was
12121
12122 different to what was requested. This might happen when an old/non-OpenSSH
12123 agent is asked to make a rsa-sha2-256/512 signature but only supports
12124 ssh-rsa. bz#2799 feedback and ok markus@
12125
12126 OpenBSD-Commit-ID: 760c0f9438c5c58abc16b5f98008ff2d95cb13ce
12127
12128commit f493d2b0b66fb003ed29f31dd66ff1aeb64be1fc
12129Author: jmc@openbsd.org <jmc@openbsd.org>
12130Date: Fri Mar 2 21:40:15 2018 +0000
12131
12132 upstream: apply a lick of paint; tweaks/ok dtucker
12133
12134 OpenBSD-Commit-ID: 518a6736338045e0037f503c21027d958d05e703
12135
12136commit 713d9cb510e0e7759398716cbe6dcf43e574be71
12137Author: djm@openbsd.org <djm@openbsd.org>
12138Date: Fri Mar 2 03:02:11 2018 +0000
12139
12140 upstream: Allow escaped quotes \" and \' in ssh_config and
12141
12142 sshd_config quotes option strings. bz#1596 ok markus@
12143
12144 OpenBSD-Commit-ID: dd3a29fc2dc905e8780198e5a6a30b096de1a1cb
12145
12146commit 94b4e2d29afaaaef89a95289b16c18bf5627f7cd
12147Author: djm@openbsd.org <djm@openbsd.org>
12148Date: Fri Mar 2 02:08:03 2018 +0000
12149
12150 upstream: refactor sshkey_read() to make it a little more, err,
12151
12152 readable. ok markus
12153
12154 OpenBSD-Commit-ID: 2e9247b5762fdac3b6335dc606d3822121714c28
12155
12156commit 5886b92968b360623491699247caddfb77a74d80
12157Author: markus@openbsd.org <markus@openbsd.org>
12158Date: Thu Mar 1 20:32:16 2018 +0000
12159
12160 upstream: missing #ifdef for _PATH_HOST_XMSS_KEY_FILE; report by
12161
12162 jmc@
12163
12164 OpenBSD-Commit-ID: 9039cb69a3f9886bfef096891a9e7fcbd620280b
12165
12166commit 3b36bed3d26f17f6a2b7e036e01777770fe1bcd4
12167Author: dtucker@openbsd.org <dtucker@openbsd.org>
12168Date: Mon Feb 26 12:14:53 2018 +0000
12169
12170 upstream: Remove unneeded (local) include. ok markus@
12171
12172 OpenBSD-Commit-ID: 132812dd2296b1caa8cb07d2408afc28e4e60f93
12173
12174commit 27b9f3950e0289e225b57b7b880a8f1859dcd70b
12175Author: dtucker@openbsd.org <dtucker@openbsd.org>
12176Date: Mon Feb 26 03:56:44 2018 +0000
12177
12178 upstream: Add $OpenBSD$ markers to xmss files to help keep synced
12179
12180 with portable. ok djm@.
12181
12182 OpenBSD-Commit-ID: 5233a27aafd1dfadad4b957225f95ae51eb365c1
12183
12184commit afd830847a82ebbd5aeab05bad6d2c8ce74df1cd
12185Author: dtucker@openbsd.org <dtucker@openbsd.org>
12186Date: Mon Feb 26 03:03:05 2018 +0000
12187
12188 upstream: Add newline at end of file to prevent compiler warnings.
12189
12190 OpenBSD-Commit-ID: 52f247d4eafe840c7c14c8befa71a760a8eeb063
12191
12192commit 941e0d3e9bb8d5e4eb70cc694441445faf037c84
12193Author: Darren Tucker <dtucker@dtucker.net>
12194Date: Wed Feb 28 19:59:35 2018 +1100
12195
12196 Add WITH_XMSS, move to prevent conflicts.
12197
12198 Add #ifdef WITH_XMSS to ssh-xmss.c, move it in the other files to after
12199 includes.h so it's less likely to conflict and will pick up WITH_XMSS if
12200 added to config.h.
12201
12202commit a10d8552d0d2438da4ed539275abcbf557d1e7a8
12203Author: Darren Tucker <dtucker@dtucker.net>
12204Date: Tue Feb 27 14:45:17 2018 +1100
12205
12206 Conditionally compile XMSS code.
12207
12208 The XMSS code is currently experimental and, unlike the rest of OpenSSH
12209 cannot currently be compiled with a c89 compiler.
12210
12211commit 146c3bd28c8dbee9c4b06465d9c9facab96b1e9b
12212Author: Darren Tucker <dtucker@dtucker.net>
12213Date: Mon Feb 26 12:51:29 2018 +1100
12214
12215 Check dlopen has RTLD_NOW before enabling pkcs11.
12216
12217commit 1323f120d06a26074c4d154fcbe7f49bcad3d741
12218Author: Darren Tucker <dtucker@dtucker.net>
12219Date: Tue Feb 27 08:41:25 2018 +1100
12220
12221 Check for attributes on prototype args.
12222
12223 Some compilers (gcc 2.9.53, 3.0 and probably others, see gcc bug #3481)
12224 do not accept __attribute__ on function pointer prototype args. Check for
12225 this and hide them if they're not accepted.
12226
12227commit f0b245b0439e600fab782d19e97980e9f2c2533c
12228Author: Darren Tucker <dtucker@dtucker.net>
12229Date: Mon Feb 26 11:43:48 2018 +1100
12230
12231 Check if HAVE_DECL_BZERO correctly.
12232
12233commit c7ef4a399155e1621a532cc5e08e6fa773658dd4
12234Author: Darren Tucker <dtucker@dtucker.net>
12235Date: Mon Feb 26 17:42:56 2018 +1100
12236
12237 Wrap <stdint.h> in #ifdef HAVE_STDINT_H.
12238
12239commit ac53ce46cf8165cbda7f57ee045f9f32e1e92b31
12240Author: Darren Tucker <dtucker@dtucker.net>
12241Date: Mon Feb 26 16:24:23 2018 +1100
12242
12243 Replace $(CURDIR) with $(PWD).
12244
12245 The former doesn't work on Solaris or BSDs.
12246
12247commit 534b2680a15d14e7e60274d5b29b812d44cc5a44
12248Author: Darren Tucker <dtucker@dtucker.net>
12249Date: Mon Feb 26 14:51:59 2018 +1100
12250
12251 Comment out hexdump().
12252
12253 Nothing currently uses them but they cause conflicts on at least
12254 FreeBSD, possibly others. ok djm@
12255
12256commit 5aea4aa522f61bb2f34c3055a7de203909dfae77
12257Author: Darren Tucker <dtucker@dtucker.net>
12258Date: Mon Feb 26 14:39:14 2018 +1100
12259
12260 typo: missing ;
12261
12262commit cd3ab57f9b388f8b1abf601dc4d78ff82d83b75e
12263Author: Darren Tucker <dtucker@dtucker.net>
12264Date: Mon Feb 26 14:37:06 2018 +1100
12265
12266 Hook up flock() compat code.
12267
12268 Also a couple of minor changes: fail if we can't lock instead of
12269 silently succeeding, and apply a couple of minor style fixes.
12270
12271commit b087998d1ba90dd1ddb6bfdb17873dc3e7392798
12272Author: Darren Tucker <dtucker@dtucker.net>
12273Date: Mon Feb 26 14:27:02 2018 +1100
12274
12275 Import flock() compat from NetBSD.
12276
12277 From NetBSD's src/trunk/tools/compat/flock.c, no OpenSSH changes yet.
12278
12279commit 89212533dde6798324e835b1499084658df4579e
12280Author: Darren Tucker <dtucker@dtucker.net>
12281Date: Mon Feb 26 12:32:14 2018 +1100
12282
12283 Fix breakage when REGRESSTMP not set.
12284
12285 BUILDDIR is not set where used for REGRESSTMP, use make's CURDIR
12286 instead. Pointed out by djm@.
12287
12288commit f885474137df4b89498c0b8834c2ac72c47aa4bd
12289Author: Damien Miller <djm@mindrot.org>
12290Date: Mon Feb 26 12:18:14 2018 +1100
12291
12292 XMSS-related files get includes.h
12293
12294commit 612faa34c72e421cdc9e63f624526bae62d557cc
12295Author: Damien Miller <djm@mindrot.org>
12296Date: Mon Feb 26 12:17:55 2018 +1100
12297
12298 object files end with .o - not .c
12299
12300commit bda709b8e13d3eef19e69c2d1684139e3af728f5
12301Author: Damien Miller <djm@mindrot.org>
12302Date: Mon Feb 26 12:17:22 2018 +1100
12303
12304 avoid inclusion of deprecated selinux/flask.h
12305
12306 Use string_to_security_class() instead.
12307
12308commit 2e396439365c4ca352cac222717d09b14f8a0dfd
12309Author: Damien Miller <djm@mindrot.org>
12310Date: Mon Feb 26 11:48:27 2018 +1100
12311
12312 updatedepend
12313
12314commit 1b11ea7c58cd5c59838b5fa574cd456d6047b2d4
12315Author: markus@openbsd.org <markus@openbsd.org>
12316Date: Fri Feb 23 15:58:37 2018 +0000
12317
12318 upstream: Add experimental support for PQC XMSS keys (Extended
12319
12320 Hash-Based Signatures) The code is not compiled in by default (see WITH_XMSS
12321 in Makefile.inc) Joint work with stefan-lukas_gazdag at genua.eu See
12322 https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12 ok
12323 djm@
12324
12325 OpenBSD-Commit-ID: ef3eccb96762a5d6f135d7daeef608df7776a7ac
12326
12327commit 7d330a1ac02076de98cfc8fda05353d57b603755
12328Author: jmc@openbsd.org <jmc@openbsd.org>
12329Date: Fri Feb 23 07:38:09 2018 +0000
12330
12331 upstream: some cleanup for BindInterface and ssh-keyscan;
12332
12333 OpenBSD-Commit-ID: 1a719ebeae22a166adf05bea5009add7075acc8c
12334
12335commit c7b5a47e3b9db9a0f0198f9c90c705f6307afc2b
12336Author: Darren Tucker <dtucker@dtucker.net>
12337Date: Sun Feb 25 23:55:41 2018 +1100
12338
12339 Invert sense of getpgrp test.
12340
12341 AC_FUNC_GETPGRP tests if getpgrp(0) works, which it does if it's not
12342 declared. Instead, test if the zero-arg version we want to use works.
12343
12344commit b39593a6de5290650a01adf8699c6460570403c2
12345Author: Darren Tucker <dtucker@dtucker.net>
12346Date: Sun Feb 25 13:25:15 2018 +1100
12347
12348 Add no-op getsid implmentation.
12349
12350commit 11057564eb6ab8fd987de50c3d7f394c6f6632b7
12351Author: Darren Tucker <dtucker@dtucker.net>
12352Date: Sun Feb 25 11:22:57 2018 +1100
12353
12354 bsd-statvfs: include sys/vfs.h, check for f_flags.
12355
12356commit e9dede06e5bc582a4aeb5b1cd5a7a640d7de3609
12357Author: Darren Tucker <dtucker@dtucker.net>
12358Date: Sun Feb 25 10:20:31 2018 +1100
12359
12360 Handle calloc(0,x) where different from malloc.
12361
12362 Configure assumes that if malloc(0) returns null then calloc(0,n)
12363 also does. On some old platforms (SunOS4) malloc behaves as expected
12364 (as determined by AC_FUNC_MALLOC) but calloc doesn't. Test for this
12365 at configure time and activate the replacement function if found, plus
12366 handle this case in rpl_calloc.
12367
12368commit 2eb4041493fd2635ffdc64a852d02b38c4955e0b
12369Author: Darren Tucker <dtucker@dtucker.net>
12370Date: Sat Feb 24 21:06:48 2018 +1100
12371
12372 Add prototype for readv if needed.
12373
12374commit 6c8c9a615b6d31db8a87bc25033f053d5b0a831e
12375Author: Darren Tucker <dtucker@dtucker.net>
12376Date: Sat Feb 24 20:46:37 2018 +1100
12377
12378 Check for raise and supply if needed.
12379
12380commit a9004425a032d7a7141a5437cfabfd02431e2a74
12381Author: Darren Tucker <dtucker@dtucker.net>
12382Date: Sat Feb 24 20:25:22 2018 +1100
12383
12384 Check for bzero and supply if needed.
12385
12386 Since explicit_bzero uses it via an indirect it needs to be a function
12387 not just a macro.
12388
12389commit 1a348359e4d2876203b5255941bae348557f4f54
12390Author: djm@openbsd.org <djm@openbsd.org>
12391Date: Fri Feb 23 05:14:05 2018 +0000
12392
12393 upstream: Add ssh-keyscan -D option to make it print its results in
12394
12395 SSHFP format bz#2821, ok dtucker@
12396
12397 OpenBSD-Commit-ID: 831446b582e0f298ca15c9d99c415c899e392221
12398
12399commit 3e19fb976a47b44b3d7c4f8355269f7f2c5dd82c
12400Author: dtucker@openbsd.org <dtucker@openbsd.org>
12401Date: Fri Feb 23 04:18:46 2018 +0000
12402
12403 upstream: Add missing braces.
12404
12405 Caught by the tinderbox's -Werror=misleading-indentation, ok djm@
12406
12407 OpenBSD-Commit-ID: d44656af594c3b2366eb87d6abcef83e1c88a6ca
12408
12409commit b59162da99399d89bd57f71c170c0003c55b1583
12410Author: Darren Tucker <dtucker@dtucker.net>
12411Date: Fri Feb 23 15:20:42 2018 +1100
12412
12413 Check for ifaddrs.h for BindInterface.
12414
12415 BindInterface required getifaddr and friends so disable if not available
12416 (eg Solaris 10). We should be able to add support for some systems with
12417 a bit more work but this gets the building again.
12418
12419commit a8dd6fe0aa10b6866830b4688a73ef966f0aed88
12420Author: Damien Miller <djm@mindrot.org>
12421Date: Fri Feb 23 14:19:11 2018 +1100
12422
12423 space before tab in previous
12424
12425commit b5e9263c7704247f9624c8f5c458e9181fcdbc09
12426Author: dtucker@openbsd.org <dtucker@openbsd.org>
12427Date: Fri Feb 9 03:40:22 2018 +0000
12428
12429 upstream: Replace fatal with exit in the case that we do not have
12430
12431 $SUDO set. Prevents test failures when neither sudo nor doas are configured.
12432
12433 OpenBSD-Regress-ID: 6a0464decc4f8ac7d6eded556a032b0fc521bc7b
12434
12435commit 3e9d3192ad43758ef761c5b0aa3ac5ccf8121ef2
12436Author: Darren Tucker <dtucker@dtucker.net>
12437Date: Fri Feb 23 14:10:53 2018 +1100
12438
12439 Use portable syntax for REGRESSTMP.
12440
12441commit 73282b61187883a2b2bb48e087fdda1d751d6059
12442Author: djm@openbsd.org <djm@openbsd.org>
12443Date: Fri Feb 23 03:03:00 2018 +0000
12444
12445 upstream: unbreak interop test after SSHv1 purge; patch from Colin
12446
12447 Watson via bz#2823
12448
12449 OpenBSD-Regress-ID: 807d30a597756ed6612bdf46dfebca74f49cb31a
12450
12451commit f8985dde5f46aedade0373365cbf86ed3f1aead2
12452Author: dtucker@openbsd.org <dtucker@openbsd.org>
12453Date: Fri Feb 9 03:42:57 2018 +0000
12454
12455 upstream: Skip sftp-chroot test when SUDO not set instead of
12456
12457 fatal().
12458
12459 OpenBSD-Regress-ID: cd4b5f1109b0dc09af4e5ea7d4968c43fbcbde88
12460
12461commit df88551c02d4e3445c44ff67ba8757cff718609a
12462Author: dtucker@openbsd.org <dtucker@openbsd.org>
12463Date: Fri Feb 9 03:40:22 2018 +0000
12464
12465 upstream: Replace fatal with exit in the case that we do not have
12466
12467 $SUDO set. Prevents test failures when neither sudo nor doas are configured.
12468
12469 OpenBSD-Regress-ID: 6a0464decc4f8ac7d6eded556a032b0fc521bc7b
12470
12471commit 3b252c20b19f093e87363de197f1100b79705dd3
12472Author: djm@openbsd.org <djm@openbsd.org>
12473Date: Thu Feb 8 08:46:20 2018 +0000
12474
12475 upstream: some helpers to check verbose/quiet mode
12476
12477 OpenBSD-Regress-ID: e736aac39e563f5360a0935080a71d5fdcb976de
12478
12479commit ac2e3026bbee1367e4cda34765d1106099be3287
12480Author: djm@openbsd.org <djm@openbsd.org>
12481Date: Fri Feb 23 02:34:33 2018 +0000
12482
12483 upstream: Add BindInterface ssh_config directive and -B
12484
12485 command-line argument to ssh(1) that directs it to bind its outgoing
12486 connection to the address of the specified network interface.
12487
12488 BindInterface prefers to use addresses that aren't loopback or link-
12489 local, but will fall back to those if no other addresses of the
12490 required family are available on that interface.
12491
12492 Based on patch by Mike Manning in bz#2820, ok dtucker@
12493
12494 OpenBSD-Commit-ID: c5064d285c2851f773dd736a2c342aa384fbf713
12495
12496commit fcdb9d777839a3fa034b3bc3067ba8c1f6886679
12497Author: djm@openbsd.org <djm@openbsd.org>
12498Date: Mon Feb 19 00:55:02 2018 +0000
12499
12500 upstream: emphasise that the hostkey rotation may send key types
12501
12502 that the client may not support, and that the client should simply disregard
12503 such keys (this is what ssh does already).
12504
12505 OpenBSD-Commit-ID: 65f8ffbc32ac8d12be8f913d7c0ea55bef8622bf
12506
12507commit ce066f688dc166506c082dac41ca686066e3de5f
12508Author: Darren Tucker <dtucker@dtucker.net>
12509Date: Thu Feb 22 20:45:09 2018 +1100
12510
12511 Add headers for sys/audit.h.
12512
12513 On some older platforms (at least sunos4, probably others) sys/audit.h
12514 requires some other headers. Patch from klausz at haus-gisela.de.
12515
12516commit 3fd2d2291a695c96a54269deae079bacce6e3fb9
12517Author: Darren Tucker <dtucker@dtucker.net>
12518Date: Mon Feb 19 18:37:40 2018 +1100
12519
12520 Add REGRESSTMP make var override.
12521
12522 Defaults to original location ($srcdir/regress) but allows overriding
12523 if desired, eg a directory in /tmp.
12524
12525commit f8338428588f3ecb5243c86336eccaa28809f97e
12526Author: Darren Tucker <dtucker@dtucker.net>
12527Date: Sun Feb 18 15:53:15 2018 +1100
12528
12529 Remove now-unused check for getrusage.
12530
12531 getrusage was used in ssh-rand-helper but that's now long gone.
12532 Patch from klauszh at haus-gisela.de.
12533
12534commit 8570177195f6a4b3173c0a25484a83641ee3faa6
12535Author: dtucker@openbsd.org <dtucker@openbsd.org>
12536Date: Fri Feb 16 04:43:11 2018 +0000
12537
12538 upstream: Don't send IUTF8 to servers that don't like them.
12539
12540 Some SSH servers eg "ConfD" drop the connection if the client sends the
12541 new IUTF8 (RFC8160) terminal mode even if it's not set. Add a bug bit
12542 for such servers and avoid sending IUTF8 to them. ok djm@
12543
12544 OpenBSD-Commit-ID: 26425855402d870c3c0a90491e72e2a8a342ceda
12545
12546commit f6dc2ba3c9d12be53057b9371f5109ec553a399f
12547Author: Darren Tucker <dtucker@dtucker.net>
12548Date: Fri Feb 16 17:32:28 2018 +1100
12549
12550 freezero should check for NULL.
12551
12552commit 680321f3eb46773883111e234b3c262142ff7c5b
12553Author: djm@openbsd.org <djm@openbsd.org>
12554Date: Fri Feb 16 02:40:45 2018 +0000
12555
12556 upstream: Mention recent DH KEX methods:
12557
12558 diffie-hellman-group14-sha256
12559 diffie-hellman-group16-sha512
12560 diffie-hellman-group18-sha512
12561
12562 From Jakub Jelen via bz#2826
12563
12564 OpenBSD-Commit-ID: 51bf769f06e55447f4bfa7306949e62d2401907a
12565
12566commit 88c50a5ae20902715f0fca306bb9c38514f71679
12567Author: djm@openbsd.org <djm@openbsd.org>
12568Date: Fri Feb 16 02:32:40 2018 +0000
12569
12570 upstream: stop loading DSA keys by default, remove sshd_config
12571
12572 stanza and manpage bits; from Colin Watson via bz#2662, ok dtucker@
12573
12574 OpenBSD-Commit-ID: d33a849f481684ff655c140f5eb1b4acda8c5c09
12575
12576commit d2b3db2860c962927def39a52f67f1c23f7b201a
12577Author: jsing@openbsd.org <jsing@openbsd.org>
12578Date: Wed Feb 14 16:27:24 2018 +0000
12579
12580 upstream: Ensure that D mod (P-1) and D mod (Q-1) are calculated in
12581
12582 constant time.
12583
12584 This avoids a potential side channel timing leak.
12585
12586 ok djm@ markus@
12587
12588 OpenBSD-Commit-ID: 71ff3c16be03290e63d8edab8fac053d8a82968c
12589
12590commit 4270efad7048535b4f250f493d70f9acfb201593
12591Author: jsing@openbsd.org <jsing@openbsd.org>
12592Date: Wed Feb 14 16:03:32 2018 +0000
12593
12594 upstream: Some obvious freezero() conversions.
12595
12596 This also zeros an ed25519_pk when it was not being zeroed previously.
12597
12598 ok djm@ dtucker@
12599
12600 OpenBSD-Commit-ID: 5c196a3c85c23ac0bd9b11bcadaedd90b7a2ce82
12601
12602commit affa6ba67ffccc30b85d6e98f36eb5afd9386882
12603Author: Darren Tucker <dtucker@dtucker.net>
12604Date: Thu Feb 15 22:32:04 2018 +1100
12605
12606 Remove execute bit from modpipe.c.
12607
12608commit 9879dca438526ae6dfd656fecb26b0558c29c731
12609Author: Darren Tucker <dtucker@dtucker.net>
12610Date: Thu Feb 15 22:26:16 2018 +1100
12611
12612 Update prngd link to point to sourceforge.
12613
12614commit b6973fa5152b1a0bafd2417b7c3ad96f6e87d014
12615Author: Darren Tucker <dtucker@dtucker.net>
12616Date: Thu Feb 15 22:22:38 2018 +1100
12617
12618 Remove references to UNICOS.
12619
12620commit f1ca487940449f0b64f38f1da575078257609966
12621Author: Darren Tucker <dtucker@dtucker.net>
12622Date: Thu Feb 15 22:18:37 2018 +1100
12623
12624 Remove extra newline.
12625
12626commit 6d4e980f3cf27f409489cf89cd46c21501b13731
12627Author: Darren Tucker <dtucker@dtucker.net>
12628Date: Thu Feb 15 22:16:54 2018 +1100
12629
12630 OpenSSH's builtin entropy gathering is long gone.
12631
12632commit 389125b25d1a1d7f22e907463b7e8eca74af79ea
12633Author: Darren Tucker <dtucker@dtucker.net>
12634Date: Thu Feb 15 21:43:01 2018 +1100
12635
12636 Replace remaining mysignal() with signal().
12637
12638 These seem to have been missed during the replacement of mysignal
12639 with #define signal in commit 5ade9ab. Both include the requisite
12640 headers to pick up the #define.
12641
12642commit 265d88d4e61e352de6791733c8b29fa3d7d0c26d
12643Author: Darren Tucker <dtucker@dtucker.net>
12644Date: Thu Feb 15 20:06:19 2018 +1100
12645
12646 Remove remaining now-obsolete cvs $Ids.
12647
12648commit 015749e9b1d2f6e14733466d19ba72f014d0845c
12649Author: Darren Tucker <dtucker@dtucker.net>
12650Date: Thu Feb 15 17:01:54 2018 +1100
12651
12652 Regenerate dependencies after UNICOS removal.
12653
12654commit ddc0f3814881ea279a6b6d4d98e03afc60ae1ed7
12655Author: Darren Tucker <dtucker@dtucker.net>
12656Date: Tue Feb 13 09:10:46 2018 +1100
12657
12658 Remove UNICOS support.
12659
12660 The code required to support it is quite invasive to the mainline
12661 code that is synced with upstream and is an ongoing maintenance burden.
12662 Both the hardware and software are literal museum pieces these days and
12663 we could not find anyone still running OpenSSH on one.
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 000000000..b8b5a01ae
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,2025 @@
1/* config.h.in. Generated from configure.ac by autoheader. */
2
3/* Define if building universal (internal helper macro) */
4#undef AC_APPLE_UNIVERSAL_BUILD
5
6/* Define if you have a getaddrinfo that fails for the all-zeros IPv6 address
7 */
8#undef AIX_GETNAMEINFO_HACK
9
10/* Define if your AIX loginfailed() function takes 4 arguments (AIX >= 5.2) */
11#undef AIX_LOGINFAILED_4ARG
12
13/* System only supports IPv4 audit records */
14#undef AU_IPv4
15
16/* Define if your resolver libs need this for getrrsetbyname */
17#undef BIND_8_COMPAT
18
19/* The system has incomplete BSM API */
20#undef BROKEN_BSM_API
21
22/* Define if cmsg_type is not passed correctly */
23#undef BROKEN_CMSG_TYPE
24
25/* getaddrinfo is broken (if present) */
26#undef BROKEN_GETADDRINFO
27
28/* getgroups(0,NULL) will return -1 */
29#undef BROKEN_GETGROUPS
30
31/* FreeBSD glob does not do what we need */
32#undef BROKEN_GLOB
33
34/* Define if you system's inet_ntoa is busted (e.g. Irix gcc issue) */
35#undef BROKEN_INET_NTOA
36
37/* Define if your struct dirent expects you to allocate extra space for d_name
38 */
39#undef BROKEN_ONE_BYTE_DIRENT_D_NAME
40
41/* Can't do comparisons on readv */
42#undef BROKEN_READV_COMPARISON
43
44/* NetBSD read function is sometimes redirected, breaking atomicio comparisons
45 against it */
46#undef BROKEN_READ_COMPARISON
47
48/* Needed for NeXT */
49#undef BROKEN_SAVED_UIDS
50
51/* Define if your setregid() is broken */
52#undef BROKEN_SETREGID
53
54/* Define if your setresgid() is broken */
55#undef BROKEN_SETRESGID
56
57/* Define if your setresuid() is broken */
58#undef BROKEN_SETRESUID
59
60/* Define if your setreuid() is broken */
61#undef BROKEN_SETREUID
62
63/* LynxOS has broken setvbuf() implementation */
64#undef BROKEN_SETVBUF
65
66/* QNX shadow support is broken */
67#undef BROKEN_SHADOW_EXPIRE
68
69/* Define if your snprintf is busted */
70#undef BROKEN_SNPRINTF
71
72/* strndup broken, see APAR IY61211 */
73#undef BROKEN_STRNDUP
74
75/* strnlen broken, see APAR IY62551 */
76#undef BROKEN_STRNLEN
77
78/* strnvis detected broken */
79#undef BROKEN_STRNVIS
80
81/* tcgetattr with ICANON may hang */
82#undef BROKEN_TCGETATTR_ICANON
83
84/* updwtmpx is broken (if present) */
85#undef BROKEN_UPDWTMPX
86
87/* Define if you have BSD auth support */
88#undef BSD_AUTH
89
90/* Define if you want to specify the path to your lastlog file */
91#undef CONF_LASTLOG_FILE
92
93/* Define if you want to specify the path to your utmp file */
94#undef CONF_UTMP_FILE
95
96/* Define if you want to specify the path to your wtmpx file */
97#undef CONF_WTMPX_FILE
98
99/* Define if you want to specify the path to your wtmp file */
100#undef CONF_WTMP_FILE
101
102/* Need to call setpgrp as root */
103#undef DISABLE_FD_PASSING
104
105/* Define if you don't want to use lastlog */
106#undef DISABLE_LASTLOG
107
108/* Define if you don't want to use your system's login() call */
109#undef DISABLE_LOGIN
110
111/* Define if you don't want to use pututline() etc. to write [uw]tmp */
112#undef DISABLE_PUTUTLINE
113
114/* Define if you don't want to use pututxline() etc. to write [uw]tmpx */
115#undef DISABLE_PUTUTXLINE
116
117/* Define if you want to disable shadow passwords */
118#undef DISABLE_SHADOW
119
120/* Define if you don't want to use utmp */
121#undef DISABLE_UTMP
122
123/* Define if you don't want to use utmpx */
124#undef DISABLE_UTMPX
125
126/* Define if you don't want to use wtmp */
127#undef DISABLE_WTMP
128
129/* Define if you don't want to use wtmpx */
130#undef DISABLE_WTMPX
131
132/* Enable for PKCS#11 support */
133#undef ENABLE_PKCS11
134
135/* Enable for U2F/FIDO support */
136#undef ENABLE_SK
137
138/* Enable for built-in U2F/FIDO support */
139#undef ENABLE_SK_INTERNAL
140
141/* define if fflush(NULL) does not work */
142#undef FFLUSH_NULL_BUG
143
144/* File names may not contain backslash characters */
145#undef FILESYSTEM_NO_BACKSLASH
146
147/* fsid_t has member val */
148#undef FSID_HAS_VAL
149
150/* fsid_t has member __val */
151#undef FSID_HAS___VAL
152
153/* getpgrp takes one arg */
154#undef GETPGRP_VOID
155
156/* Conflicting defs for getspnam */
157#undef GETSPNAM_CONFLICTING_DEFS
158
159/* Define if your system glob() function has the GLOB_ALTDIRFUNC extension */
160#undef GLOB_HAS_ALTDIRFUNC
161
162/* Define if your system glob() function has gl_matchc options in glob_t */
163#undef GLOB_HAS_GL_MATCHC
164
165/* Define if your system glob() function has gl_statv options in glob_t */
166#undef GLOB_HAS_GL_STATV
167
168/* Define this if you want GSSAPI support in the version 2 protocol */
169#undef GSSAPI
170
171/* Define if you want to use shadow password expire field */
172#undef HAS_SHADOW_EXPIRE
173
174/* Define if your system uses access rights style file descriptor passing */
175#undef HAVE_ACCRIGHTS_IN_MSGHDR
176
177/* Define if you have ut_addr in utmp.h */
178#undef HAVE_ADDR_IN_UTMP
179
180/* Define if you have ut_addr in utmpx.h */
181#undef HAVE_ADDR_IN_UTMPX
182
183/* Define if you have ut_addr_v6 in utmp.h */
184#undef HAVE_ADDR_V6_IN_UTMP
185
186/* Define if you have ut_addr_v6 in utmpx.h */
187#undef HAVE_ADDR_V6_IN_UTMPX
188
189/* Define to 1 if you have the `arc4random' function. */
190#undef HAVE_ARC4RANDOM
191
192/* Define to 1 if you have the `arc4random_buf' function. */
193#undef HAVE_ARC4RANDOM_BUF
194
195/* Define to 1 if you have the `arc4random_stir' function. */
196#undef HAVE_ARC4RANDOM_STIR
197
198/* Define to 1 if you have the `arc4random_uniform' function. */
199#undef HAVE_ARC4RANDOM_UNIFORM
200
201/* Define to 1 if you have the `asprintf' function. */
202#undef HAVE_ASPRINTF
203
204/* OpenBSD's gcc has bounded */
205#undef HAVE_ATTRIBUTE__BOUNDED__
206
207/* Have attribute nonnull */
208#undef HAVE_ATTRIBUTE__NONNULL__
209
210/* OpenBSD's gcc has sentinel */
211#undef HAVE_ATTRIBUTE__SENTINEL__
212
213/* Define to 1 if you have the `aug_get_machine' function. */
214#undef HAVE_AUG_GET_MACHINE
215
216/* Define to 1 if you have the `b64_ntop' function. */
217#undef HAVE_B64_NTOP
218
219/* Define to 1 if you have the `b64_pton' function. */
220#undef HAVE_B64_PTON
221
222/* Define if you have the basename function. */
223#undef HAVE_BASENAME
224
225/* Define to 1 if you have the `bcopy' function. */
226#undef HAVE_BCOPY
227
228/* Define to 1 if you have the `bcrypt_pbkdf' function. */
229#undef HAVE_BCRYPT_PBKDF
230
231/* Define to 1 if you have the `bindresvport_sa' function. */
232#undef HAVE_BINDRESVPORT_SA
233
234/* Define to 1 if you have the `blf_enc' function. */
235#undef HAVE_BLF_ENC
236
237/* Define to 1 if you have the <blf.h> header file. */
238#undef HAVE_BLF_H
239
240/* Define to 1 if you have the `Blowfish_expand0state' function. */
241#undef HAVE_BLOWFISH_EXPAND0STATE
242
243/* Define to 1 if you have the `Blowfish_expandstate' function. */
244#undef HAVE_BLOWFISH_EXPANDSTATE
245
246/* Define to 1 if you have the `Blowfish_initstate' function. */
247#undef HAVE_BLOWFISH_INITSTATE
248
249/* Define to 1 if you have the `Blowfish_stream2word' function. */
250#undef HAVE_BLOWFISH_STREAM2WORD
251
252/* Define to 1 if you have the `BN_is_prime_ex' function. */
253#undef HAVE_BN_IS_PRIME_EX
254
255/* Define to 1 if you have the <bsd/libutil.h> header file. */
256#undef HAVE_BSD_LIBUTIL_H
257
258/* Define to 1 if you have the <bsm/audit.h> header file. */
259#undef HAVE_BSM_AUDIT_H
260
261/* Define to 1 if you have the <bstring.h> header file. */
262#undef HAVE_BSTRING_H
263
264/* Define to 1 if you have the `bzero' function. */
265#undef HAVE_BZERO
266
267/* calloc(0, x) returns NULL */
268#undef HAVE_CALLOC
269
270/* Define to 1 if you have the `cap_rights_limit' function. */
271#undef HAVE_CAP_RIGHTS_LIMIT
272
273/* Define to 1 if you have the `clock' function. */
274#undef HAVE_CLOCK
275
276/* Have clock_gettime */
277#undef HAVE_CLOCK_GETTIME
278
279/* define if you have clock_t data type */
280#undef HAVE_CLOCK_T
281
282/* Define to 1 if you have the `closefrom' function. */
283#undef HAVE_CLOSEFROM
284
285/* Define if gai_strerror() returns const char * */
286#undef HAVE_CONST_GAI_STRERROR_PROTO
287
288/* Define if your system uses ancillary data style file descriptor passing */
289#undef HAVE_CONTROL_IN_MSGHDR
290
291/* Define to 1 if you have the `crypt' function. */
292#undef HAVE_CRYPT
293
294/* Define to 1 if you have the <crypto/sha2.h> header file. */
295#undef HAVE_CRYPTO_SHA2_H
296
297/* Define to 1 if you have the <crypt.h> header file. */
298#undef HAVE_CRYPT_H
299
300/* Define if you are on Cygwin */
301#undef HAVE_CYGWIN
302
303/* Define if your libraries define daemon() */
304#undef HAVE_DAEMON
305
306/* Define to 1 if you have the declaration of `AI_NUMERICSERV', and to 0 if
307 you don't. */
308#undef HAVE_DECL_AI_NUMERICSERV
309
310/* Define to 1 if you have the declaration of `authenticate', and to 0 if you
311 don't. */
312#undef HAVE_DECL_AUTHENTICATE
313
314/* Define to 1 if you have the declaration of `bzero', and to 0 if you don't.
315 */
316#undef HAVE_DECL_BZERO
317
318/* Define to 1 if you have the declaration of `GLOB_NOMATCH', and to 0 if you
319 don't. */
320#undef HAVE_DECL_GLOB_NOMATCH
321
322/* Define to 1 if you have the declaration of `GSS_C_NT_HOSTBASED_SERVICE',
323 and to 0 if you don't. */
324#undef HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE
325
326/* Define to 1 if you have the declaration of `howmany', and to 0 if you
327 don't. */
328#undef HAVE_DECL_HOWMANY
329
330/* Define to 1 if you have the declaration of `h_errno', and to 0 if you
331 don't. */
332#undef HAVE_DECL_H_ERRNO
333
334/* Define to 1 if you have the declaration of `loginfailed', and to 0 if you
335 don't. */
336#undef HAVE_DECL_LOGINFAILED
337
338/* Define to 1 if you have the declaration of `loginrestrictions', and to 0 if
339 you don't. */
340#undef HAVE_DECL_LOGINRESTRICTIONS
341
342/* Define to 1 if you have the declaration of `loginsuccess', and to 0 if you
343 don't. */
344#undef HAVE_DECL_LOGINSUCCESS
345
346/* Define to 1 if you have the declaration of `MAXSYMLINKS', and to 0 if you
347 don't. */
348#undef HAVE_DECL_MAXSYMLINKS
349
350/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't.
351 */
352#undef HAVE_DECL_MEMMEM
353
354/* Define to 1 if you have the declaration of `NFDBITS', and to 0 if you
355 don't. */
356#undef HAVE_DECL_NFDBITS
357
358/* Define to 1 if you have the declaration of `offsetof', and to 0 if you
359 don't. */
360#undef HAVE_DECL_OFFSETOF
361
362/* Define to 1 if you have the declaration of `O_NONBLOCK', and to 0 if you
363 don't. */
364#undef HAVE_DECL_O_NONBLOCK
365
366/* Define to 1 if you have the declaration of `passwdexpired', and to 0 if you
367 don't. */
368#undef HAVE_DECL_PASSWDEXPIRED
369
370/* Define to 1 if you have the declaration of `readv', and to 0 if you don't.
371 */
372#undef HAVE_DECL_READV
373
374/* Define to 1 if you have the declaration of `setauthdb', and to 0 if you
375 don't. */
376#undef HAVE_DECL_SETAUTHDB
377
378/* Define to 1 if you have the declaration of `SHUT_RD', and to 0 if you
379 don't. */
380#undef HAVE_DECL_SHUT_RD
381
382/* Define to 1 if you have the declaration of `UINT32_MAX', and to 0 if you
383 don't. */
384#undef HAVE_DECL_UINT32_MAX
385
386/* Define to 1 if you have the declaration of `writev', and to 0 if you don't.
387 */
388#undef HAVE_DECL_WRITEV
389
390/* Define to 1 if you have the declaration of `_getlong', and to 0 if you
391 don't. */
392#undef HAVE_DECL__GETLONG
393
394/* Define to 1 if you have the declaration of `_getshort', and to 0 if you
395 don't. */
396#undef HAVE_DECL__GETSHORT
397
398/* Define to 1 if you have the `DES_crypt' function. */
399#undef HAVE_DES_CRYPT
400
401/* Define if you have /dev/ptmx */
402#undef HAVE_DEV_PTMX
403
404/* Define if you have /dev/ptc */
405#undef HAVE_DEV_PTS_AND_PTC
406
407/* Define to 1 if you have the `DH_get0_key' function. */
408#undef HAVE_DH_GET0_KEY
409
410/* Define to 1 if you have the `DH_get0_pqg' function. */
411#undef HAVE_DH_GET0_PQG
412
413/* Define to 1 if you have the `DH_set0_key' function. */
414#undef HAVE_DH_SET0_KEY
415
416/* Define to 1 if you have the `DH_set0_pqg' function. */
417#undef HAVE_DH_SET0_PQG
418
419/* Define to 1 if you have the `DH_set_length' function. */
420#undef HAVE_DH_SET_LENGTH
421
422/* Define to 1 if you have the <dirent.h> header file. */
423#undef HAVE_DIRENT_H
424
425/* Define to 1 if you have the `dirfd' function. */
426#undef HAVE_DIRFD
427
428/* Define to 1 if you have the `dirname' function. */
429#undef HAVE_DIRNAME
430
431/* Define to 1 if you have the `dlopen' function. */
432#undef HAVE_DLOPEN
433
434/* Define to 1 if you have the `DSA_generate_parameters_ex' function. */
435#undef HAVE_DSA_GENERATE_PARAMETERS_EX
436
437/* Define to 1 if you have the `DSA_get0_key' function. */
438#undef HAVE_DSA_GET0_KEY
439
440/* Define to 1 if you have the `DSA_get0_pqg' function. */
441#undef HAVE_DSA_GET0_PQG
442
443/* Define to 1 if you have the `DSA_set0_key' function. */
444#undef HAVE_DSA_SET0_KEY
445
446/* Define to 1 if you have the `DSA_set0_pqg' function. */
447#undef HAVE_DSA_SET0_PQG
448
449/* Define to 1 if you have the `DSA_SIG_get0' function. */
450#undef HAVE_DSA_SIG_GET0
451
452/* Define to 1 if you have the `DSA_SIG_set0' function. */
453#undef HAVE_DSA_SIG_SET0
454
455/* Define to 1 if you have the `ECDSA_SIG_get0' function. */
456#undef HAVE_ECDSA_SIG_GET0
457
458/* Define to 1 if you have the `ECDSA_SIG_set0' function. */
459#undef HAVE_ECDSA_SIG_SET0
460
461/* Define to 1 if you have the `EC_KEY_METHOD_new' function. */
462#undef HAVE_EC_KEY_METHOD_NEW
463
464/* Define to 1 if you have the <elf.h> header file. */
465#undef HAVE_ELF_H
466
467/* Define to 1 if you have the `endgrent' function. */
468#undef HAVE_ENDGRENT
469
470/* Define to 1 if you have the <endian.h> header file. */
471#undef HAVE_ENDIAN_H
472
473/* Define to 1 if you have the `endutent' function. */
474#undef HAVE_ENDUTENT
475
476/* Define to 1 if you have the `endutxent' function. */
477#undef HAVE_ENDUTXENT
478
479/* Define to 1 if you have the `err' function. */
480#undef HAVE_ERR
481
482/* Define to 1 if you have the `errx' function. */
483#undef HAVE_ERRX
484
485/* Define to 1 if you have the <err.h> header file. */
486#undef HAVE_ERR_H
487
488/* Define if your system has /etc/default/login */
489#undef HAVE_ETC_DEFAULT_LOGIN
490
491/* Define to 1 if you have the `EVP_CIPHER_CTX_ctrl' function. */
492#undef HAVE_EVP_CIPHER_CTX_CTRL
493
494/* Define to 1 if you have the `EVP_CIPHER_CTX_get_iv' function. */
495#undef HAVE_EVP_CIPHER_CTX_GET_IV
496
497/* Define to 1 if you have the `EVP_CIPHER_CTX_iv' function. */
498#undef HAVE_EVP_CIPHER_CTX_IV
499
500/* Define to 1 if you have the `EVP_CIPHER_CTX_iv_noconst' function. */
501#undef HAVE_EVP_CIPHER_CTX_IV_NOCONST
502
503/* Define to 1 if you have the `EVP_CIPHER_CTX_set_iv' function. */
504#undef HAVE_EVP_CIPHER_CTX_SET_IV
505
506/* Define to 1 if you have the `EVP_DigestFinal_ex' function. */
507#undef HAVE_EVP_DIGESTFINAL_EX
508
509/* Define to 1 if you have the `EVP_DigestInit_ex' function. */
510#undef HAVE_EVP_DIGESTINIT_EX
511
512/* Define to 1 if you have the `EVP_MD_CTX_cleanup' function. */
513#undef HAVE_EVP_MD_CTX_CLEANUP
514
515/* Define to 1 if you have the `EVP_MD_CTX_copy_ex' function. */
516#undef HAVE_EVP_MD_CTX_COPY_EX
517
518/* Define to 1 if you have the `EVP_MD_CTX_free' function. */
519#undef HAVE_EVP_MD_CTX_FREE
520
521/* Define to 1 if you have the `EVP_MD_CTX_init' function. */
522#undef HAVE_EVP_MD_CTX_INIT
523
524/* Define to 1 if you have the `EVP_MD_CTX_new' function. */
525#undef HAVE_EVP_MD_CTX_NEW
526
527/* Define to 1 if you have the `EVP_PKEY_get0_RSA' function. */
528#undef HAVE_EVP_PKEY_GET0_RSA
529
530/* Define to 1 if you have the `EVP_sha256' function. */
531#undef HAVE_EVP_SHA256
532
533/* Define to 1 if you have the `EVP_sha384' function. */
534#undef HAVE_EVP_SHA384
535
536/* Define to 1 if you have the `EVP_sha512' function. */
537#undef HAVE_EVP_SHA512
538
539/* Define if you have ut_exit in utmp.h */
540#undef HAVE_EXIT_IN_UTMP
541
542/* Define to 1 if you have the `explicit_bzero' function. */
543#undef HAVE_EXPLICIT_BZERO
544
545/* Define to 1 if you have the `fchmod' function. */
546#undef HAVE_FCHMOD
547
548/* Define to 1 if you have the `fchmodat' function. */
549#undef HAVE_FCHMODAT
550
551/* Define to 1 if you have the `fchown' function. */
552#undef HAVE_FCHOWN
553
554/* Define to 1 if you have the `fchownat' function. */
555#undef HAVE_FCHOWNAT
556
557/* Use F_CLOSEM fcntl for closefrom */
558#undef HAVE_FCNTL_CLOSEM
559
560/* Define to 1 if you have the <fcntl.h> header file. */
561#undef HAVE_FCNTL_H
562
563/* Define to 1 if the system has the type `fd_mask'. */
564#undef HAVE_FD_MASK
565
566/* Define to 1 if you have the <features.h> header file. */
567#undef HAVE_FEATURES_H
568
569/* Define to 1 if you have the <floatingpoint.h> header file. */
570#undef HAVE_FLOATINGPOINT_H
571
572/* Define to 1 if you have the `flock' function. */
573#undef HAVE_FLOCK
574
575/* Define to 1 if you have the `fmt_scaled' function. */
576#undef HAVE_FMT_SCALED
577
578/* Define to 1 if you have the `fnmatch' function. */
579#undef HAVE_FNMATCH
580
581/* Define to 1 if you have the <fnmatch.h> header file. */
582#undef HAVE_FNMATCH_H
583
584/* Define to 1 if you have the `freeaddrinfo' function. */
585#undef HAVE_FREEADDRINFO
586
587/* Define to 1 if you have the `freezero' function. */
588#undef HAVE_FREEZERO
589
590/* Define to 1 if the system has the type `fsblkcnt_t'. */
591#undef HAVE_FSBLKCNT_T
592
593/* Define to 1 if the system has the type `fsfilcnt_t'. */
594#undef HAVE_FSFILCNT_T
595
596/* Define to 1 if you have the `fstatfs' function. */
597#undef HAVE_FSTATFS
598
599/* Define to 1 if you have the `fstatvfs' function. */
600#undef HAVE_FSTATVFS
601
602/* Define to 1 if you have the `futimes' function. */
603#undef HAVE_FUTIMES
604
605/* Define to 1 if you have the `gai_strerror' function. */
606#undef HAVE_GAI_STRERROR
607
608/* Define to 1 if you have the `getaddrinfo' function. */
609#undef HAVE_GETADDRINFO
610
611/* Define to 1 if you have the `getaudit' function. */
612#undef HAVE_GETAUDIT
613
614/* Define to 1 if you have the `getaudit_addr' function. */
615#undef HAVE_GETAUDIT_ADDR
616
617/* Define to 1 if you have the `getcwd' function. */
618#undef HAVE_GETCWD
619
620/* Define to 1 if you have the `getgrouplist' function. */
621#undef HAVE_GETGROUPLIST
622
623/* Define to 1 if you have the `getgrset' function. */
624#undef HAVE_GETGRSET
625
626/* Define to 1 if you have the `getlastlogxbyname' function. */
627#undef HAVE_GETLASTLOGXBYNAME
628
629/* Define to 1 if you have the `getline' function. */
630#undef HAVE_GETLINE
631
632/* Define to 1 if you have the `getluid' function. */
633#undef HAVE_GETLUID
634
635/* Define to 1 if you have the `getnameinfo' function. */
636#undef HAVE_GETNAMEINFO
637
638/* Define to 1 if you have the `getopt' function. */
639#undef HAVE_GETOPT
640
641/* Define to 1 if you have the <getopt.h> header file. */
642#undef HAVE_GETOPT_H
643
644/* Define if your getopt(3) defines and uses optreset */
645#undef HAVE_GETOPT_OPTRESET
646
647/* Define if your libraries define getpagesize() */
648#undef HAVE_GETPAGESIZE
649
650/* Define to 1 if you have the `getpeereid' function. */
651#undef HAVE_GETPEEREID
652
653/* Define to 1 if you have the `getpeerucred' function. */
654#undef HAVE_GETPEERUCRED
655
656/* Define to 1 if you have the `getpgid' function. */
657#undef HAVE_GETPGID
658
659/* Define to 1 if you have the `getpgrp' function. */
660#undef HAVE_GETPGRP
661
662/* Define to 1 if you have the `getpwanam' function. */
663#undef HAVE_GETPWANAM
664
665/* Define to 1 if you have the `getrandom' function. */
666#undef HAVE_GETRANDOM
667
668/* Define to 1 if you have the `getrlimit' function. */
669#undef HAVE_GETRLIMIT
670
671/* Define if getrrsetbyname() exists */
672#undef HAVE_GETRRSETBYNAME
673
674/* Define to 1 if you have the `getseuserbyname' function. */
675#undef HAVE_GETSEUSERBYNAME
676
677/* Define to 1 if you have the `getsid' function. */
678#undef HAVE_GETSID
679
680/* Define to 1 if you have the `gettimeofday' function. */
681#undef HAVE_GETTIMEOFDAY
682
683/* Define to 1 if you have the `getttyent' function. */
684#undef HAVE_GETTTYENT
685
686/* Define to 1 if you have the `getutent' function. */
687#undef HAVE_GETUTENT
688
689/* Define to 1 if you have the `getutid' function. */
690#undef HAVE_GETUTID
691
692/* Define to 1 if you have the `getutline' function. */
693#undef HAVE_GETUTLINE
694
695/* Define to 1 if you have the `getutxent' function. */
696#undef HAVE_GETUTXENT
697
698/* Define to 1 if you have the `getutxid' function. */
699#undef HAVE_GETUTXID
700
701/* Define to 1 if you have the `getutxline' function. */
702#undef HAVE_GETUTXLINE
703
704/* Define to 1 if you have the `getutxuser' function. */
705#undef HAVE_GETUTXUSER
706
707/* Define to 1 if you have the `get_default_context_with_level' function. */
708#undef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
709
710/* Define to 1 if you have the `glob' function. */
711#undef HAVE_GLOB
712
713/* Define to 1 if you have the <glob.h> header file. */
714#undef HAVE_GLOB_H
715
716/* Define to 1 if you have the `group_from_gid' function. */
717#undef HAVE_GROUP_FROM_GID
718
719/* Define to 1 if you have the <gssapi_generic.h> header file. */
720#undef HAVE_GSSAPI_GENERIC_H
721
722/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
723#undef HAVE_GSSAPI_GSSAPI_GENERIC_H
724
725/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
726#undef HAVE_GSSAPI_GSSAPI_H
727
728/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
729#undef HAVE_GSSAPI_GSSAPI_KRB5_H
730
731/* Define to 1 if you have the <gssapi.h> header file. */
732#undef HAVE_GSSAPI_H
733
734/* Define to 1 if you have the <gssapi_krb5.h> header file. */
735#undef HAVE_GSSAPI_KRB5_H
736
737/* Define if HEADER.ad exists in arpa/nameser.h */
738#undef HAVE_HEADER_AD
739
740/* Define to 1 if you have the `HMAC_CTX_init' function. */
741#undef HAVE_HMAC_CTX_INIT
742
743/* Define if you have ut_host in utmp.h */
744#undef HAVE_HOST_IN_UTMP
745
746/* Define if you have ut_host in utmpx.h */
747#undef HAVE_HOST_IN_UTMPX
748
749/* Define to 1 if you have the <iaf.h> header file. */
750#undef HAVE_IAF_H
751
752/* Define to 1 if you have the <ia.h> header file. */
753#undef HAVE_IA_H
754
755/* Define if you have ut_id in utmp.h */
756#undef HAVE_ID_IN_UTMP
757
758/* Define if you have ut_id in utmpx.h */
759#undef HAVE_ID_IN_UTMPX
760
761/* Define to 1 if you have the <ifaddrs.h> header file. */
762#undef HAVE_IFADDRS_H
763
764/* Define to 1 if you have the `inet_aton' function. */
765#undef HAVE_INET_ATON
766
767/* Define to 1 if you have the `inet_ntoa' function. */
768#undef HAVE_INET_NTOA
769
770/* Define to 1 if you have the `inet_ntop' function. */
771#undef HAVE_INET_NTOP
772
773/* Define to 1 if you have the `innetgr' function. */
774#undef HAVE_INNETGR
775
776/* define if you have int64_t data type */
777#undef HAVE_INT64_T
778
779/* Define to 1 if the system has the type `intmax_t'. */
780#undef HAVE_INTMAX_T
781
782/* Define to 1 if you have the <inttypes.h> header file. */
783#undef HAVE_INTTYPES_H
784
785/* define if you have intxx_t data type */
786#undef HAVE_INTXX_T
787
788/* Define to 1 if the system has the type `in_addr_t'. */
789#undef HAVE_IN_ADDR_T
790
791/* Define to 1 if the system has the type `in_port_t'. */
792#undef HAVE_IN_PORT_T
793
794/* Define if you have isblank(3C). */
795#undef HAVE_ISBLANK
796
797/* Define to 1 if you have the `krb5_cc_new_unique' function. */
798#undef HAVE_KRB5_CC_NEW_UNIQUE
799
800/* Define to 1 if you have the `krb5_free_error_message' function. */
801#undef HAVE_KRB5_FREE_ERROR_MESSAGE
802
803/* Define to 1 if you have the `krb5_get_error_message' function. */
804#undef HAVE_KRB5_GET_ERROR_MESSAGE
805
806/* Define to 1 if you have the <langinfo.h> header file. */
807#undef HAVE_LANGINFO_H
808
809/* Define to 1 if you have the <lastlog.h> header file. */
810#undef HAVE_LASTLOG_H
811
812/* Define if you want ldns support */
813#undef HAVE_LDNS
814
815/* Define to 1 if you have the <libaudit.h> header file. */
816#undef HAVE_LIBAUDIT_H
817
818/* Define to 1 if you have the `bsm' library (-lbsm). */
819#undef HAVE_LIBBSM
820
821/* Define to 1 if you have the `crypt' library (-lcrypt). */
822#undef HAVE_LIBCRYPT
823
824/* Define to 1 if you have the `dl' library (-ldl). */
825#undef HAVE_LIBDL
826
827/* Define to 1 if you have the <libgen.h> header file. */
828#undef HAVE_LIBGEN_H
829
830/* Define if system has libiaf that supports set_id */
831#undef HAVE_LIBIAF
832
833/* Define to 1 if you have the `network' library (-lnetwork). */
834#undef HAVE_LIBNETWORK
835
836/* Define to 1 if you have the `pam' library (-lpam). */
837#undef HAVE_LIBPAM
838
839/* Define to 1 if you have the <libproc.h> header file. */
840#undef HAVE_LIBPROC_H
841
842/* Define to 1 if you have the `socket' library (-lsocket). */
843#undef HAVE_LIBSOCKET
844
845/* Define to 1 if you have the <libutil.h> header file. */
846#undef HAVE_LIBUTIL_H
847
848/* Define to 1 if you have the `xnet' library (-lxnet). */
849#undef HAVE_LIBXNET
850
851/* Define to 1 if you have the `z' library (-lz). */
852#undef HAVE_LIBZ
853
854/* Define to 1 if you have the <limits.h> header file. */
855#undef HAVE_LIMITS_H
856
857/* Define to 1 if you have the <linux/audit.h> header file. */
858#undef HAVE_LINUX_AUDIT_H
859
860/* Define to 1 if you have the <linux/filter.h> header file. */
861#undef HAVE_LINUX_FILTER_H
862
863/* Define to 1 if you have the <linux/if_tun.h> header file. */
864#undef HAVE_LINUX_IF_TUN_H
865
866/* Define to 1 if you have the <linux/seccomp.h> header file. */
867#undef HAVE_LINUX_SECCOMP_H
868
869/* Define to 1 if you have the `llabs' function. */
870#undef HAVE_LLABS
871
872/* Define to 1 if you have the <locale.h> header file. */
873#undef HAVE_LOCALE_H
874
875/* Define to 1 if you have the `localtime_r' function. */
876#undef HAVE_LOCALTIME_R
877
878/* Define to 1 if you have the `login' function. */
879#undef HAVE_LOGIN
880
881/* Define to 1 if you have the <login_cap.h> header file. */
882#undef HAVE_LOGIN_CAP_H
883
884/* Define to 1 if you have the `login_getcapbool' function. */
885#undef HAVE_LOGIN_GETCAPBOOL
886
887/* Define to 1 if you have the <login.h> header file. */
888#undef HAVE_LOGIN_H
889
890/* Define to 1 if you have the `logout' function. */
891#undef HAVE_LOGOUT
892
893/* Define to 1 if you have the `logwtmp' function. */
894#undef HAVE_LOGWTMP
895
896/* Define to 1 if the system has the type `long double'. */
897#undef HAVE_LONG_DOUBLE
898
899/* Define to 1 if the system has the type `long long'. */
900#undef HAVE_LONG_LONG
901
902/* Define to 1 if you have the <maillock.h> header file. */
903#undef HAVE_MAILLOCK_H
904
905/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
906 to 0 otherwise. */
907#undef HAVE_MALLOC
908
909/* Define to 1 if you have the `mblen' function. */
910#undef HAVE_MBLEN
911
912/* Define to 1 if you have the `mbtowc' function. */
913#undef HAVE_MBTOWC
914
915/* Define to 1 if you have the `md5_crypt' function. */
916#undef HAVE_MD5_CRYPT
917
918/* Define if you want to allow MD5 passwords */
919#undef HAVE_MD5_PASSWORDS
920
921/* Define to 1 if you have the `memmem' function. */
922#undef HAVE_MEMMEM
923
924/* Define to 1 if you have the `memmove' function. */
925#undef HAVE_MEMMOVE
926
927/* Define to 1 if you have the <memory.h> header file. */
928#undef HAVE_MEMORY_H
929
930/* Define to 1 if you have the `memset_s' function. */
931#undef HAVE_MEMSET_S
932
933/* Define to 1 if you have the `mkdtemp' function. */
934#undef HAVE_MKDTEMP
935
936/* define if you have mode_t data type */
937#undef HAVE_MODE_T
938
939/* Some systems put nanosleep outside of libc */
940#undef HAVE_NANOSLEEP
941
942/* Define to 1 if you have the <ndir.h> header file. */
943#undef HAVE_NDIR_H
944
945/* Define to 1 if you have the <netdb.h> header file. */
946#undef HAVE_NETDB_H
947
948/* Define to 1 if you have the <netgroup.h> header file. */
949#undef HAVE_NETGROUP_H
950
951/* Define to 1 if you have the <net/if_tun.h> header file. */
952#undef HAVE_NET_IF_TUN_H
953
954/* Define to 1 if you have the <net/route.h> header file. */
955#undef HAVE_NET_ROUTE_H
956
957/* Define if you are on NeXT */
958#undef HAVE_NEXT
959
960/* Define to 1 if you have the `ngetaddrinfo' function. */
961#undef HAVE_NGETADDRINFO
962
963/* Define to 1 if you have the `nl_langinfo' function. */
964#undef HAVE_NL_LANGINFO
965
966/* Define to 1 if you have the `nsleep' function. */
967#undef HAVE_NSLEEP
968
969/* Define to 1 if you have the `ogetaddrinfo' function. */
970#undef HAVE_OGETADDRINFO
971
972/* Define if you have an old version of PAM which takes only one argument to
973 pam_strerror */
974#undef HAVE_OLD_PAM
975
976/* Define to 1 if you have the `openlog_r' function. */
977#undef HAVE_OPENLOG_R
978
979/* Define to 1 if you have the `openpty' function. */
980#undef HAVE_OPENPTY
981
982/* as a macro */
983#undef HAVE_OPENSSL_ADD_ALL_ALGORITHMS
984
985/* Define to 1 if you have the `OPENSSL_init_crypto' function. */
986#undef HAVE_OPENSSL_INIT_CRYPTO
987
988/* Define to 1 if you have the `OpenSSL_version' function. */
989#undef HAVE_OPENSSL_VERSION
990
991/* Define to 1 if you have the `OpenSSL_version_num' function. */
992#undef HAVE_OPENSSL_VERSION_NUM
993
994/* Define if you have Digital Unix Security Integration Architecture */
995#undef HAVE_OSF_SIA
996
997/* Define to 1 if you have the `pam_getenvlist' function. */
998#undef HAVE_PAM_GETENVLIST
999
1000/* Define to 1 if you have the <pam/pam_appl.h> header file. */
1001#undef HAVE_PAM_PAM_APPL_H
1002
1003/* Define to 1 if you have the `pam_putenv' function. */
1004#undef HAVE_PAM_PUTENV
1005
1006/* Define to 1 if you have the <paths.h> header file. */
1007#undef HAVE_PATHS_H
1008
1009/* Define if you have ut_pid in utmp.h */
1010#undef HAVE_PID_IN_UTMP
1011
1012/* define if you have pid_t data type */
1013#undef HAVE_PID_T
1014
1015/* Define to 1 if you have the `pledge' function. */
1016#undef HAVE_PLEDGE
1017
1018/* Define to 1 if you have the `poll' function. */
1019#undef HAVE_POLL
1020
1021/* Define to 1 if you have the <poll.h> header file. */
1022#undef HAVE_POLL_H
1023
1024/* Define to 1 if you have the `prctl' function. */
1025#undef HAVE_PRCTL
1026
1027/* Define to 1 if you have the `priv_basicset' function. */
1028#undef HAVE_PRIV_BASICSET
1029
1030/* Define to 1 if you have the <priv.h> header file. */
1031#undef HAVE_PRIV_H
1032
1033/* Define if you have /proc/$pid/fd */
1034#undef HAVE_PROC_PID
1035
1036/* Define to 1 if you have the `proc_pidinfo' function. */
1037#undef HAVE_PROC_PIDINFO
1038
1039/* Define to 1 if you have the `pstat' function. */
1040#undef HAVE_PSTAT
1041
1042/* Define to 1 if you have the <pty.h> header file. */
1043#undef HAVE_PTY_H
1044
1045/* Define to 1 if you have the `pututline' function. */
1046#undef HAVE_PUTUTLINE
1047
1048/* Define to 1 if you have the `pututxline' function. */
1049#undef HAVE_PUTUTXLINE
1050
1051/* Define to 1 if you have the `raise' function. */
1052#undef HAVE_RAISE
1053
1054/* Define to 1 if you have the `readpassphrase' function. */
1055#undef HAVE_READPASSPHRASE
1056
1057/* Define to 1 if you have the <readpassphrase.h> header file. */
1058#undef HAVE_READPASSPHRASE_H
1059
1060/* Define to 1 if your system has a GNU libc compatible `realloc' function,
1061 and to 0 otherwise. */
1062#undef HAVE_REALLOC
1063
1064/* Define to 1 if you have the `reallocarray' function. */
1065#undef HAVE_REALLOCARRAY
1066
1067/* Define to 1 if you have the `realpath' function. */
1068#undef HAVE_REALPATH
1069
1070/* Define to 1 if you have the `recallocarray' function. */
1071#undef HAVE_RECALLOCARRAY
1072
1073/* Define to 1 if you have the `recvmsg' function. */
1074#undef HAVE_RECVMSG
1075
1076/* sys/resource.h has RLIMIT_NPROC */
1077#undef HAVE_RLIMIT_NPROC
1078
1079/* Define to 1 if you have the <rpc/types.h> header file. */
1080#undef HAVE_RPC_TYPES_H
1081
1082/* Define to 1 if you have the `rresvport_af' function. */
1083#undef HAVE_RRESVPORT_AF
1084
1085/* Define to 1 if you have the `RSA_generate_key_ex' function. */
1086#undef HAVE_RSA_GENERATE_KEY_EX
1087
1088/* Define to 1 if you have the `RSA_get0_crt_params' function. */
1089#undef HAVE_RSA_GET0_CRT_PARAMS
1090
1091/* Define to 1 if you have the `RSA_get0_factors' function. */
1092#undef HAVE_RSA_GET0_FACTORS
1093
1094/* Define to 1 if you have the `RSA_get0_key' function. */
1095#undef HAVE_RSA_GET0_KEY
1096
1097/* Define to 1 if you have the `RSA_get_default_method' function. */
1098#undef HAVE_RSA_GET_DEFAULT_METHOD
1099
1100/* Define to 1 if you have the `RSA_meth_dup' function. */
1101#undef HAVE_RSA_METH_DUP
1102
1103/* Define to 1 if you have the `RSA_meth_free' function. */
1104#undef HAVE_RSA_METH_FREE
1105
1106/* Define to 1 if you have the `RSA_meth_get_finish' function. */
1107#undef HAVE_RSA_METH_GET_FINISH
1108
1109/* Define to 1 if you have the `RSA_meth_set1_name' function. */
1110#undef HAVE_RSA_METH_SET1_NAME
1111
1112/* Define to 1 if you have the `RSA_meth_set_finish' function. */
1113#undef HAVE_RSA_METH_SET_FINISH
1114
1115/* Define to 1 if you have the `RSA_meth_set_priv_dec' function. */
1116#undef HAVE_RSA_METH_SET_PRIV_DEC
1117
1118/* Define to 1 if you have the `RSA_meth_set_priv_enc' function. */
1119#undef HAVE_RSA_METH_SET_PRIV_ENC
1120
1121/* Define to 1 if you have the `RSA_set0_crt_params' function. */
1122#undef HAVE_RSA_SET0_CRT_PARAMS
1123
1124/* Define to 1 if you have the `RSA_set0_factors' function. */
1125#undef HAVE_RSA_SET0_FACTORS
1126
1127/* Define to 1 if you have the `RSA_set0_key' function. */
1128#undef HAVE_RSA_SET0_KEY
1129
1130/* Define to 1 if you have the <sandbox.h> header file. */
1131#undef HAVE_SANDBOX_H
1132
1133/* Define to 1 if you have the `sandbox_init' function. */
1134#undef HAVE_SANDBOX_INIT
1135
1136/* define if you have sa_family_t data type */
1137#undef HAVE_SA_FAMILY_T
1138
1139/* Define to 1 if you have the `scan_scaled' function. */
1140#undef HAVE_SCAN_SCALED
1141
1142/* Define if you have SecureWare-based protected password database */
1143#undef HAVE_SECUREWARE
1144
1145/* Define to 1 if you have the <security/pam_appl.h> header file. */
1146#undef HAVE_SECURITY_PAM_APPL_H
1147
1148/* Define to 1 if you have the `sendmsg' function. */
1149#undef HAVE_SENDMSG
1150
1151/* Define to 1 if you have the `setauthdb' function. */
1152#undef HAVE_SETAUTHDB
1153
1154/* Define to 1 if you have the `setdtablesize' function. */
1155#undef HAVE_SETDTABLESIZE
1156
1157/* Define to 1 if you have the `setegid' function. */
1158#undef HAVE_SETEGID
1159
1160/* Define to 1 if you have the `setenv' function. */
1161#undef HAVE_SETENV
1162
1163/* Define to 1 if you have the `seteuid' function. */
1164#undef HAVE_SETEUID
1165
1166/* Define to 1 if you have the `setgroupent' function. */
1167#undef HAVE_SETGROUPENT
1168
1169/* Define to 1 if you have the `setgroups' function. */
1170#undef HAVE_SETGROUPS
1171
1172/* Define to 1 if you have the `setlinebuf' function. */
1173#undef HAVE_SETLINEBUF
1174
1175/* Define to 1 if you have the `setlogin' function. */
1176#undef HAVE_SETLOGIN
1177
1178/* Define to 1 if you have the `setluid' function. */
1179#undef HAVE_SETLUID
1180
1181/* Define to 1 if you have the `setpassent' function. */
1182#undef HAVE_SETPASSENT
1183
1184/* Define to 1 if you have the `setpcred' function. */
1185#undef HAVE_SETPCRED
1186
1187/* Define to 1 if you have the `setpflags' function. */
1188#undef HAVE_SETPFLAGS
1189
1190/* Define to 1 if you have the `setppriv' function. */
1191#undef HAVE_SETPPRIV
1192
1193/* Define to 1 if you have the `setproctitle' function. */
1194#undef HAVE_SETPROCTITLE
1195
1196/* Define to 1 if you have the `setregid' function. */
1197#undef HAVE_SETREGID
1198
1199/* Define to 1 if you have the `setresgid' function. */
1200#undef HAVE_SETRESGID
1201
1202/* Define to 1 if you have the `setresuid' function. */
1203#undef HAVE_SETRESUID
1204
1205/* Define to 1 if you have the `setreuid' function. */
1206#undef HAVE_SETREUID
1207
1208/* Define to 1 if you have the `setrlimit' function. */
1209#undef HAVE_SETRLIMIT
1210
1211/* Define to 1 if you have the `setsid' function. */
1212#undef HAVE_SETSID
1213
1214/* Define to 1 if you have the `setutent' function. */
1215#undef HAVE_SETUTENT
1216
1217/* Define to 1 if you have the `setutxdb' function. */
1218#undef HAVE_SETUTXDB
1219
1220/* Define to 1 if you have the `setutxent' function. */
1221#undef HAVE_SETUTXENT
1222
1223/* Define to 1 if you have the `setvbuf' function. */
1224#undef HAVE_SETVBUF
1225
1226/* Define to 1 if you have the `set_id' function. */
1227#undef HAVE_SET_ID
1228
1229/* Define to 1 if you have the `SHA256Update' function. */
1230#undef HAVE_SHA256UPDATE
1231
1232/* Define to 1 if you have the <sha2.h> header file. */
1233#undef HAVE_SHA2_H
1234
1235/* Define to 1 if you have the `SHA384Update' function. */
1236#undef HAVE_SHA384UPDATE
1237
1238/* Define to 1 if you have the `SHA512Update' function. */
1239#undef HAVE_SHA512UPDATE
1240
1241/* Define to 1 if you have the <shadow.h> header file. */
1242#undef HAVE_SHADOW_H
1243
1244/* Define to 1 if you have the `sigaction' function. */
1245#undef HAVE_SIGACTION
1246
1247/* Define to 1 if you have the `sigvec' function. */
1248#undef HAVE_SIGVEC
1249
1250/* Define to 1 if the system has the type `sig_atomic_t'. */
1251#undef HAVE_SIG_ATOMIC_T
1252
1253/* define if you have size_t data type */
1254#undef HAVE_SIZE_T
1255
1256/* Define to 1 if you have the `snprintf' function. */
1257#undef HAVE_SNPRINTF
1258
1259/* Define to 1 if you have the `socketpair' function. */
1260#undef HAVE_SOCKETPAIR
1261
1262/* Have PEERCRED socket option */
1263#undef HAVE_SO_PEERCRED
1264
1265/* define if you have ssize_t data type */
1266#undef HAVE_SSIZE_T
1267
1268/* Fields in struct sockaddr_storage */
1269#undef HAVE_SS_FAMILY_IN_SS
1270
1271/* Define to 1 if you have the `statfs' function. */
1272#undef HAVE_STATFS
1273
1274/* Define to 1 if you have the `statvfs' function. */
1275#undef HAVE_STATVFS
1276
1277/* Define to 1 if you have the <stddef.h> header file. */
1278#undef HAVE_STDDEF_H
1279
1280/* Define to 1 if you have the <stdint.h> header file. */
1281#undef HAVE_STDINT_H
1282
1283/* Define to 1 if you have the <stdlib.h> header file. */
1284#undef HAVE_STDLIB_H
1285
1286/* Define to 1 if you have the `strcasestr' function. */
1287#undef HAVE_STRCASESTR
1288
1289/* Define to 1 if you have the `strdup' function. */
1290#undef HAVE_STRDUP
1291
1292/* Define to 1 if you have the `strerror' function. */
1293#undef HAVE_STRERROR
1294
1295/* Define to 1 if you have the `strftime' function. */
1296#undef HAVE_STRFTIME
1297
1298/* Silly mkstemp() */
1299#undef HAVE_STRICT_MKSTEMP
1300
1301/* Define to 1 if you have the <strings.h> header file. */
1302#undef HAVE_STRINGS_H
1303
1304/* Define to 1 if you have the <string.h> header file. */
1305#undef HAVE_STRING_H
1306
1307/* Define to 1 if you have the `strlcat' function. */
1308#undef HAVE_STRLCAT
1309
1310/* Define to 1 if you have the `strlcpy' function. */
1311#undef HAVE_STRLCPY
1312
1313/* Define to 1 if you have the `strmode' function. */
1314#undef HAVE_STRMODE
1315
1316/* Define to 1 if you have the `strndup' function. */
1317#undef HAVE_STRNDUP
1318
1319/* Define to 1 if you have the `strnlen' function. */
1320#undef HAVE_STRNLEN
1321
1322/* Define to 1 if you have the `strnvis' function. */
1323#undef HAVE_STRNVIS
1324
1325/* Define to 1 if you have the `strptime' function. */
1326#undef HAVE_STRPTIME
1327
1328/* Define to 1 if you have the `strsep' function. */
1329#undef HAVE_STRSEP
1330
1331/* Define to 1 if you have the `strsignal' function. */
1332#undef HAVE_STRSIGNAL
1333
1334/* Define to 1 if you have the `strtoll' function. */
1335#undef HAVE_STRTOLL
1336
1337/* Define to 1 if you have the `strtonum' function. */
1338#undef HAVE_STRTONUM
1339
1340/* Define to 1 if you have the `strtoul' function. */
1341#undef HAVE_STRTOUL
1342
1343/* Define to 1 if you have the `strtoull' function. */
1344#undef HAVE_STRTOULL
1345
1346/* define if you have struct addrinfo data type */
1347#undef HAVE_STRUCT_ADDRINFO
1348
1349/* define if you have struct in6_addr data type */
1350#undef HAVE_STRUCT_IN6_ADDR
1351
1352/* Define to 1 if `pw_change' is a member of `struct passwd'. */
1353#undef HAVE_STRUCT_PASSWD_PW_CHANGE
1354
1355/* Define to 1 if `pw_class' is a member of `struct passwd'. */
1356#undef HAVE_STRUCT_PASSWD_PW_CLASS
1357
1358/* Define to 1 if `pw_expire' is a member of `struct passwd'. */
1359#undef HAVE_STRUCT_PASSWD_PW_EXPIRE
1360
1361/* Define to 1 if `pw_gecos' is a member of `struct passwd'. */
1362#undef HAVE_STRUCT_PASSWD_PW_GECOS
1363
1364/* define if you have struct sockaddr_in6 data type */
1365#undef HAVE_STRUCT_SOCKADDR_IN6
1366
1367/* Define to 1 if `sin6_scope_id' is a member of `struct sockaddr_in6'. */
1368#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
1369
1370/* define if you have struct sockaddr_storage data type */
1371#undef HAVE_STRUCT_SOCKADDR_STORAGE
1372
1373/* Define to 1 if `f_files' is a member of `struct statfs'. */
1374#undef HAVE_STRUCT_STATFS_F_FILES
1375
1376/* Define to 1 if `f_flags' is a member of `struct statfs'. */
1377#undef HAVE_STRUCT_STATFS_F_FLAGS
1378
1379/* Define to 1 if `st_blksize' is a member of `struct stat'. */
1380#undef HAVE_STRUCT_STAT_ST_BLKSIZE
1381
1382/* Define to 1 if `st_mtim' is a member of `struct stat'. */
1383#undef HAVE_STRUCT_STAT_ST_MTIM
1384
1385/* Define to 1 if `st_mtime' is a member of `struct stat'. */
1386#undef HAVE_STRUCT_STAT_ST_MTIME
1387
1388/* define if you have struct timespec */
1389#undef HAVE_STRUCT_TIMESPEC
1390
1391/* define if you have struct timeval */
1392#undef HAVE_STRUCT_TIMEVAL
1393
1394/* Define to 1 if you have the `swap32' function. */
1395#undef HAVE_SWAP32
1396
1397/* Define to 1 if you have the `sysconf' function. */
1398#undef HAVE_SYSCONF
1399
1400/* Define if you have syslen in utmpx.h */
1401#undef HAVE_SYSLEN_IN_UTMPX
1402
1403/* Define to 1 if you have the <sys/audit.h> header file. */
1404#undef HAVE_SYS_AUDIT_H
1405
1406/* Define to 1 if you have the <sys/bitypes.h> header file. */
1407#undef HAVE_SYS_BITYPES_H
1408
1409/* Define to 1 if you have the <sys/bsdtty.h> header file. */
1410#undef HAVE_SYS_BSDTTY_H
1411
1412/* Define to 1 if you have the <sys/capsicum.h> header file. */
1413#undef HAVE_SYS_CAPSICUM_H
1414
1415/* Define to 1 if you have the <sys/cdefs.h> header file. */
1416#undef HAVE_SYS_CDEFS_H
1417
1418/* Define to 1 if you have the <sys/dir.h> header file. */
1419#undef HAVE_SYS_DIR_H
1420
1421/* Define if your system defines sys_errlist[] */
1422#undef HAVE_SYS_ERRLIST
1423
1424/* Define to 1 if you have the <sys/file.h> header file. */
1425#undef HAVE_SYS_FILE_H
1426
1427/* Define to 1 if you have the <sys/label.h> header file. */
1428#undef HAVE_SYS_LABEL_H
1429
1430/* Define to 1 if you have the <sys/mman.h> header file. */
1431#undef HAVE_SYS_MMAN_H
1432
1433/* Define to 1 if you have the <sys/mount.h> header file. */
1434#undef HAVE_SYS_MOUNT_H
1435
1436/* Define to 1 if you have the <sys/ndir.h> header file. */
1437#undef HAVE_SYS_NDIR_H
1438
1439/* Define if your system defines sys_nerr */
1440#undef HAVE_SYS_NERR
1441
1442/* Define to 1 if you have the <sys/poll.h> header file. */
1443#undef HAVE_SYS_POLL_H
1444
1445/* Define to 1 if you have the <sys/prctl.h> header file. */
1446#undef HAVE_SYS_PRCTL_H
1447
1448/* Define to 1 if you have the <sys/pstat.h> header file. */
1449#undef HAVE_SYS_PSTAT_H
1450
1451/* Define to 1 if you have the <sys/ptms.h> header file. */
1452#undef HAVE_SYS_PTMS_H
1453
1454/* Define to 1 if you have the <sys/ptrace.h> header file. */
1455#undef HAVE_SYS_PTRACE_H
1456
1457/* Define to 1 if you have the <sys/random.h> header file. */
1458#undef HAVE_SYS_RANDOM_H
1459
1460/* Define to 1 if you have the <sys/select.h> header file. */
1461#undef HAVE_SYS_SELECT_H
1462
1463/* Define to 1 if you have the <sys/statvfs.h> header file. */
1464#undef HAVE_SYS_STATVFS_H
1465
1466/* Define to 1 if you have the <sys/stat.h> header file. */
1467#undef HAVE_SYS_STAT_H
1468
1469/* Define to 1 if you have the <sys/stream.h> header file. */
1470#undef HAVE_SYS_STREAM_H
1471
1472/* Define to 1 if you have the <sys/stropts.h> header file. */
1473#undef HAVE_SYS_STROPTS_H
1474
1475/* Define to 1 if you have the <sys/strtio.h> header file. */
1476#undef HAVE_SYS_STRTIO_H
1477
1478/* Define to 1 if you have the <sys/sysctl.h> header file. */
1479#undef HAVE_SYS_SYSCTL_H
1480
1481/* Force use of sys/syslog.h on Ultrix */
1482#undef HAVE_SYS_SYSLOG_H
1483
1484/* Define to 1 if you have the <sys/sysmacros.h> header file. */
1485#undef HAVE_SYS_SYSMACROS_H
1486
1487/* Define to 1 if you have the <sys/timers.h> header file. */
1488#undef HAVE_SYS_TIMERS_H
1489
1490/* Define to 1 if you have the <sys/time.h> header file. */
1491#undef HAVE_SYS_TIME_H
1492
1493/* Define to 1 if you have the <sys/types.h> header file. */
1494#undef HAVE_SYS_TYPES_H
1495
1496/* Define to 1 if you have the <sys/un.h> header file. */
1497#undef HAVE_SYS_UN_H
1498
1499/* Define to 1 if you have the <sys/vfs.h> header file. */
1500#undef HAVE_SYS_VFS_H
1501
1502/* Define to 1 if you have the `tcgetpgrp' function. */
1503#undef HAVE_TCGETPGRP
1504
1505/* Define to 1 if you have the `tcsendbreak' function. */
1506#undef HAVE_TCSENDBREAK
1507
1508/* Define to 1 if you have the `time' function. */
1509#undef HAVE_TIME
1510
1511/* Define to 1 if you have the <time.h> header file. */
1512#undef HAVE_TIME_H
1513
1514/* Define if you have ut_time in utmp.h */
1515#undef HAVE_TIME_IN_UTMP
1516
1517/* Define if you have ut_time in utmpx.h */
1518#undef HAVE_TIME_IN_UTMPX
1519
1520/* Define to 1 if you have the `timingsafe_bcmp' function. */
1521#undef HAVE_TIMINGSAFE_BCMP
1522
1523/* Define to 1 if you have the <tmpdir.h> header file. */
1524#undef HAVE_TMPDIR_H
1525
1526/* Define to 1 if you have the `truncate' function. */
1527#undef HAVE_TRUNCATE
1528
1529/* Define to 1 if you have the <ttyent.h> header file. */
1530#undef HAVE_TTYENT_H
1531
1532/* Define if you have ut_tv in utmp.h */
1533#undef HAVE_TV_IN_UTMP
1534
1535/* Define if you have ut_tv in utmpx.h */
1536#undef HAVE_TV_IN_UTMPX
1537
1538/* Define if you have ut_type in utmp.h */
1539#undef HAVE_TYPE_IN_UTMP
1540
1541/* Define if you have ut_type in utmpx.h */
1542#undef HAVE_TYPE_IN_UTMPX
1543
1544/* Define to 1 if you have the <ucred.h> header file. */
1545#undef HAVE_UCRED_H
1546
1547/* Define to 1 if the system has the type `uintmax_t'. */
1548#undef HAVE_UINTMAX_T
1549
1550/* define if you have uintxx_t data type */
1551#undef HAVE_UINTXX_T
1552
1553/* Define to 1 if you have the <unistd.h> header file. */
1554#undef HAVE_UNISTD_H
1555
1556/* Define to 1 if you have the `unsetenv' function. */
1557#undef HAVE_UNSETENV
1558
1559/* Define to 1 if the system has the type `unsigned long long'. */
1560#undef HAVE_UNSIGNED_LONG_LONG
1561
1562/* Define to 1 if you have the `updwtmp' function. */
1563#undef HAVE_UPDWTMP
1564
1565/* Define to 1 if you have the `updwtmpx' function. */
1566#undef HAVE_UPDWTMPX
1567
1568/* Define to 1 if you have the <usersec.h> header file. */
1569#undef HAVE_USERSEC_H
1570
1571/* Define to 1 if you have the `user_from_uid' function. */
1572#undef HAVE_USER_FROM_UID
1573
1574/* Define to 1 if you have the `usleep' function. */
1575#undef HAVE_USLEEP
1576
1577/* Define to 1 if you have the <util.h> header file. */
1578#undef HAVE_UTIL_H
1579
1580/* Define to 1 if you have the `utimensat' function. */
1581#undef HAVE_UTIMENSAT
1582
1583/* Define to 1 if you have the `utimes' function. */
1584#undef HAVE_UTIMES
1585
1586/* Define to 1 if you have the <utime.h> header file. */
1587#undef HAVE_UTIME_H
1588
1589/* Define to 1 if you have the `utmpname' function. */
1590#undef HAVE_UTMPNAME
1591
1592/* Define to 1 if you have the `utmpxname' function. */
1593#undef HAVE_UTMPXNAME
1594
1595/* Define to 1 if you have the <utmpx.h> header file. */
1596#undef HAVE_UTMPX_H
1597
1598/* Define to 1 if you have the <utmp.h> header file. */
1599#undef HAVE_UTMP_H
1600
1601/* define if you have u_char data type */
1602#undef HAVE_U_CHAR
1603
1604/* define if you have u_int data type */
1605#undef HAVE_U_INT
1606
1607/* define if you have u_int64_t data type */
1608#undef HAVE_U_INT64_T
1609
1610/* define if you have u_intxx_t data type */
1611#undef HAVE_U_INTXX_T
1612
1613/* Define to 1 if you have the `vasprintf' function. */
1614#undef HAVE_VASPRINTF
1615
1616/* Define if va_copy exists */
1617#undef HAVE_VA_COPY
1618
1619/* Define to 1 if you have the <vis.h> header file. */
1620#undef HAVE_VIS_H
1621
1622/* Define to 1 if you have the `vsnprintf' function. */
1623#undef HAVE_VSNPRINTF
1624
1625/* Define to 1 if you have the `waitpid' function. */
1626#undef HAVE_WAITPID
1627
1628/* Define to 1 if you have the `warn' function. */
1629#undef HAVE_WARN
1630
1631/* Define to 1 if you have the <wchar.h> header file. */
1632#undef HAVE_WCHAR_H
1633
1634/* Define to 1 if you have the `wcwidth' function. */
1635#undef HAVE_WCWIDTH
1636
1637/* Define to 1 if you have the `_getlong' function. */
1638#undef HAVE__GETLONG
1639
1640/* Define to 1 if you have the `_getpty' function. */
1641#undef HAVE__GETPTY
1642
1643/* Define to 1 if you have the `_getshort' function. */
1644#undef HAVE__GETSHORT
1645
1646/* Define if you have struct __res_state _res as an extern */
1647#undef HAVE__RES_EXTERN
1648
1649/* Define to 1 if you have the `__b64_ntop' function. */
1650#undef HAVE___B64_NTOP
1651
1652/* Define to 1 if you have the `__b64_pton' function. */
1653#undef HAVE___B64_PTON
1654
1655/* Define if compiler implements __FUNCTION__ */
1656#undef HAVE___FUNCTION__
1657
1658/* Define if libc defines __progname */
1659#undef HAVE___PROGNAME
1660
1661/* Fields in struct sockaddr_storage */
1662#undef HAVE___SS_FAMILY_IN_SS
1663
1664/* Define if __va_copy exists */
1665#undef HAVE___VA_COPY
1666
1667/* Define if compiler implements __func__ */
1668#undef HAVE___func__
1669
1670/* Define this if you are using the Heimdal version of Kerberos V5 */
1671#undef HEIMDAL
1672
1673/* Define if you need to use IP address instead of hostname in $DISPLAY */
1674#undef IPADDR_IN_DISPLAY
1675
1676/* Detect IPv4 in IPv6 mapped addresses and treat as IPv4 */
1677#undef IPV4_IN_IPV6
1678
1679/* Define if your system choked on IP TOS setting */
1680#undef IP_TOS_IS_BROKEN
1681
1682/* Define if you want Kerberos 5 support */
1683#undef KRB5
1684
1685/* Define if pututxline updates lastlog too */
1686#undef LASTLOG_WRITE_PUTUTXLINE
1687
1688/* Define to whatever link() returns for "not supported" if it doesn't return
1689 EOPNOTSUPP. */
1690#undef LINK_OPNOTSUPP_ERRNO
1691
1692/* Adjust Linux out-of-memory killer */
1693#undef LINUX_OOM_ADJUST
1694
1695/* max value of long long calculated by configure */
1696#undef LLONG_MAX
1697
1698/* min value of long long calculated by configure */
1699#undef LLONG_MIN
1700
1701/* Account locked with pw(1) */
1702#undef LOCKED_PASSWD_PREFIX
1703
1704/* String used in /etc/passwd to denote locked account */
1705#undef LOCKED_PASSWD_STRING
1706
1707/* String used in /etc/passwd to denote locked account */
1708#undef LOCKED_PASSWD_SUBSTR
1709
1710/* Some systems need a utmpx entry for /bin/login to work */
1711#undef LOGIN_NEEDS_UTMPX
1712
1713/* Set this to your mail directory if you do not have _PATH_MAILDIR */
1714#undef MAIL_DIRECTORY
1715
1716/* Need setpgrp to for controlling tty */
1717#undef NEED_SETPGRP
1718
1719/* compiler does not accept __attribute__ on prototype args */
1720#undef NO_ATTRIBUTE_ON_PROTOTYPE_ARGS
1721
1722/* compiler does not accept __attribute__ on return types */
1723#undef NO_ATTRIBUTE_ON_RETURN_TYPE
1724
1725/* Define to disable UID restoration test */
1726#undef NO_UID_RESTORATION_TEST
1727
1728/* Define if X11 doesn't support AF_UNIX sockets on that system */
1729#undef NO_X11_UNIX_SOCKETS
1730
1731/* Define if EVP_DigestUpdate returns void */
1732#undef OPENSSL_EVP_DIGESTUPDATE_VOID
1733
1734/* OpenSSL has ECC */
1735#undef OPENSSL_HAS_ECC
1736
1737/* libcrypto has NID_X9_62_prime256v1 */
1738#undef OPENSSL_HAS_NISTP256
1739
1740/* libcrypto has NID_secp384r1 */
1741#undef OPENSSL_HAS_NISTP384
1742
1743/* libcrypto has NID_secp521r1 */
1744#undef OPENSSL_HAS_NISTP521
1745
1746/* libcrypto has EVP AES CTR */
1747#undef OPENSSL_HAVE_EVPCTR
1748
1749/* libcrypto has EVP AES GCM */
1750#undef OPENSSL_HAVE_EVPGCM
1751
1752/* libcrypto is missing AES 192 and 256 bit functions */
1753#undef OPENSSL_LOBOTOMISED_AES
1754
1755/* Define if you want the OpenSSL internally seeded PRNG only */
1756#undef OPENSSL_PRNG_ONLY
1757
1758/* Define to the address where bug reports for this package should be sent. */
1759#undef PACKAGE_BUGREPORT
1760
1761/* Define to the full name of this package. */
1762#undef PACKAGE_NAME
1763
1764/* Define to the full name and version of this package. */
1765#undef PACKAGE_STRING
1766
1767/* Define to the one symbol short name of this package. */
1768#undef PACKAGE_TARNAME
1769
1770/* Define to the home page for this package. */
1771#undef PACKAGE_URL
1772
1773/* Define to the version of this package. */
1774#undef PACKAGE_VERSION
1775
1776/* Define if you are using Solaris-derived PAM which passes pam_messages to
1777 the conversation function with an extra level of indirection */
1778#undef PAM_SUN_CODEBASE
1779
1780/* Work around problematic Linux PAM modules handling of PAM_TTY */
1781#undef PAM_TTY_KLUDGE
1782
1783/* must supply username to passwd */
1784#undef PASSWD_NEEDS_USERNAME
1785
1786/* System dirs owned by bin (uid 2) */
1787#undef PLATFORM_SYS_DIR_UID
1788
1789/* Port number of PRNGD/EGD random number socket */
1790#undef PRNGD_PORT
1791
1792/* Location of PRNGD/EGD random number socket */
1793#undef PRNGD_SOCKET
1794
1795/* read(1) can return 0 for a non-closed fd */
1796#undef PTY_ZEROREAD
1797
1798/* Sandbox using capsicum */
1799#undef SANDBOX_CAPSICUM
1800
1801/* Sandbox using Darwin sandbox_init(3) */
1802#undef SANDBOX_DARWIN
1803
1804/* no privsep sandboxing */
1805#undef SANDBOX_NULL
1806
1807/* Sandbox using pledge(2) */
1808#undef SANDBOX_PLEDGE
1809
1810/* Sandbox using setrlimit(2) */
1811#undef SANDBOX_RLIMIT
1812
1813/* Sandbox using seccomp filter */
1814#undef SANDBOX_SECCOMP_FILTER
1815
1816/* setrlimit RLIMIT_FSIZE works */
1817#undef SANDBOX_SKIP_RLIMIT_FSIZE
1818
1819/* define if setrlimit RLIMIT_NOFILE breaks things */
1820#undef SANDBOX_SKIP_RLIMIT_NOFILE
1821
1822/* Sandbox using Solaris/Illumos privileges */
1823#undef SANDBOX_SOLARIS
1824
1825/* Sandbox using systrace(4) */
1826#undef SANDBOX_SYSTRACE
1827
1828/* Specify the system call convention in use */
1829#undef SECCOMP_AUDIT_ARCH
1830
1831/* Define if your platform breaks doing a seteuid before a setuid */
1832#undef SETEUID_BREAKS_SETUID
1833
1834/* The size of `int', as computed by sizeof. */
1835#undef SIZEOF_INT
1836
1837/* The size of `long int', as computed by sizeof. */
1838#undef SIZEOF_LONG_INT
1839
1840/* The size of `long long int', as computed by sizeof. */
1841#undef SIZEOF_LONG_LONG_INT
1842
1843/* The size of `short int', as computed by sizeof. */
1844#undef SIZEOF_SHORT_INT
1845
1846/* Define as const if snprintf() can declare const char *fmt */
1847#undef SNPRINTF_CONST
1848
1849/* Define to a Set Process Title type if your system is supported by
1850 bsd-setproctitle.c */
1851#undef SPT_TYPE
1852
1853/* Define if sshd somehow reacquires a controlling TTY after setsid() */
1854#undef SSHD_ACQUIRES_CTTY
1855
1856/* sshd PAM service name */
1857#undef SSHD_PAM_SERVICE
1858
1859/* Define if pam_chauthtok wants real uid set to the unpriv'ed user */
1860#undef SSHPAM_CHAUTHTOK_NEEDS_RUID
1861
1862/* Use audit debugging module */
1863#undef SSH_AUDIT_EVENTS
1864
1865/* Windows is sensitive to read buffer size */
1866#undef SSH_IOBUFSZ
1867
1868/* non-privileged user for privilege separation */
1869#undef SSH_PRIVSEP_USER
1870
1871/* Use tunnel device compatibility to OpenBSD */
1872#undef SSH_TUN_COMPAT_AF
1873
1874/* Open tunnel devices the FreeBSD way */
1875#undef SSH_TUN_FREEBSD
1876
1877/* Open tunnel devices the Linux tun/tap way */
1878#undef SSH_TUN_LINUX
1879
1880/* No layer 2 tunnel support */
1881#undef SSH_TUN_NO_L2
1882
1883/* Open tunnel devices the OpenBSD way */
1884#undef SSH_TUN_OPENBSD
1885
1886/* Prepend the address family to IP tunnel traffic */
1887#undef SSH_TUN_PREPEND_AF
1888
1889/* Define to 1 if you have the ANSI C header files. */
1890#undef STDC_HEADERS
1891
1892/* Define if you want a different $PATH for the superuser */
1893#undef SUPERUSER_PATH
1894
1895/* syslog_r function is safe to use in in a signal handler */
1896#undef SYSLOG_R_SAFE_IN_SIGHAND
1897
1898/* Support routing domains using Linux VRF */
1899#undef SYS_RDOMAIN_LINUX
1900
1901/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
1902#undef TIME_WITH_SYS_TIME
1903
1904/* Support passwords > 8 chars */
1905#undef UNIXWARE_LONG_PASSWORDS
1906
1907/* Specify default $PATH */
1908#undef USER_PATH
1909
1910/* Define this if you want to use libkafs' AFS support */
1911#undef USE_AFS
1912
1913/* Use BSM audit module */
1914#undef USE_BSM_AUDIT
1915
1916/* Use btmp to log bad logins */
1917#undef USE_BTMP
1918
1919/* Use libedit for sftp */
1920#undef USE_LIBEDIT
1921
1922/* Use Linux audit module */
1923#undef USE_LINUX_AUDIT
1924
1925/* Enable OpenSSL engine support */
1926#undef USE_OPENSSL_ENGINE
1927
1928/* Define if you want to enable PAM support */
1929#undef USE_PAM
1930
1931/* Use PIPES instead of a socketpair() */
1932#undef USE_PIPES
1933
1934/* Define if you have Solaris privileges */
1935#undef USE_SOLARIS_PRIVS
1936
1937/* Define if you have Solaris process contracts */
1938#undef USE_SOLARIS_PROCESS_CONTRACTS
1939
1940/* Define if you have Solaris projects */
1941#undef USE_SOLARIS_PROJECTS
1942
1943/* Define if you shouldn't strip 'tty' from your ttyname in [uw]tmp */
1944#undef WITH_ABBREV_NO_TTY
1945
1946/* Define if you want to enable AIX4's authenticate function */
1947#undef WITH_AIXAUTHENTICATE
1948
1949/* Define if you have/want arrays (cluster-wide session management, not C
1950 arrays) */
1951#undef WITH_IRIX_ARRAY
1952
1953/* Define if you want IRIX audit trails */
1954#undef WITH_IRIX_AUDIT
1955
1956/* Define if you want IRIX kernel jobs */
1957#undef WITH_IRIX_JOBS
1958
1959/* Define if you want IRIX project management */
1960#undef WITH_IRIX_PROJECT
1961
1962/* use libcrypto for cryptography */
1963#undef WITH_OPENSSL
1964
1965/* Define if you want SELinux support. */
1966#undef WITH_SELINUX
1967
1968/* Enable zlib */
1969#undef WITH_ZLIB
1970
1971/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
1972 significant byte first (like Motorola and SPARC, unlike Intel). */
1973#if defined AC_APPLE_UNIVERSAL_BUILD
1974# if defined __BIG_ENDIAN__
1975# define WORDS_BIGENDIAN 1
1976# endif
1977#else
1978# ifndef WORDS_BIGENDIAN
1979# undef WORDS_BIGENDIAN
1980# endif
1981#endif
1982
1983/* Define if xauth is found in your path */
1984#undef XAUTH_PATH
1985
1986/* Enable large inode numbers on Mac OS X 10.5. */
1987#ifndef _DARWIN_USE_64_BIT_INODE
1988# define _DARWIN_USE_64_BIT_INODE 1
1989#endif
1990
1991/* Number of bits in a file offset, on hosts where this is settable. */
1992#undef _FILE_OFFSET_BITS
1993
1994/* Define for large files, on AIX-style hosts. */
1995#undef _LARGE_FILES
1996
1997/* log for bad login attempts */
1998#undef _PATH_BTMP
1999
2000/* Full path of your "passwd" program */
2001#undef _PATH_PASSWD_PROG
2002
2003/* Specify location of ssh.pid */
2004#undef _PATH_SSH_PIDDIR
2005
2006/* Define if we don't have struct __res_state in resolv.h */
2007#undef __res_state
2008
2009/* Define to rpl_calloc if the replacement function should be used. */
2010#undef calloc
2011
2012/* Define to `__inline__' or `__inline' if that's what the C compiler
2013 calls it, or to nothing if 'inline' is not supported under any name. */
2014#ifndef __cplusplus
2015#undef inline
2016#endif
2017
2018/* Define to rpl_malloc if the replacement function should be used. */
2019#undef malloc
2020
2021/* Define to rpl_realloc if the replacement function should be used. */
2022#undef realloc
2023
2024/* type to use in place of socklen_t if not defined */
2025#undef socklen_t
diff --git a/configure b/configure
new file mode 100755
index 000000000..09db0a335
--- /dev/null
+++ b/configure
@@ -0,0 +1,21326 @@
1#! /bin/sh
2# From configure.ac Revision: 1.583 .
3# Guess values for system-dependent variables and create Makefiles.
4# Generated by GNU Autoconf 2.69 for OpenSSH Portable.
5#
6# Report bugs to <openssh-unix-dev@mindrot.org>.
7#
8#
9# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
10#
11#
12# This configure script is free software; the Free Software Foundation
13# gives unlimited permission to copy, distribute and modify it.
14## -------------------- ##
15## M4sh Initialization. ##
16## -------------------- ##
17
18# Be more Bourne compatible
19DUALCASE=1; export DUALCASE # for MKS sh
20if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
21 emulate sh
22 NULLCMD=:
23 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
24 # is contrary to our usage. Disable this feature.
25 alias -g '${1+"$@"}'='"$@"'
26 setopt NO_GLOB_SUBST
27else
28 case `(set -o) 2>/dev/null` in #(
29 *posix*) :
30 set -o posix ;; #(
31 *) :
32 ;;
33esac
34fi
35
36
37as_nl='
38'
39export as_nl
40# Printing a long string crashes Solaris 7 /usr/bin/printf.
41as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
42as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
43as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
44# Prefer a ksh shell builtin over an external printf program on Solaris,
45# but without wasting forks for bash or zsh.
46if test -z "$BASH_VERSION$ZSH_VERSION" \
47 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
48 as_echo='print -r --'
49 as_echo_n='print -rn --'
50elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
51 as_echo='printf %s\n'
52 as_echo_n='printf %s'
53else
54 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
55 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
56 as_echo_n='/usr/ucb/echo -n'
57 else
58 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
59 as_echo_n_body='eval
60 arg=$1;
61 case $arg in #(
62 *"$as_nl"*)
63 expr "X$arg" : "X\\(.*\\)$as_nl";
64 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
65 esac;
66 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
67 '
68 export as_echo_n_body
69 as_echo_n='sh -c $as_echo_n_body as_echo'
70 fi
71 export as_echo_body
72 as_echo='sh -c $as_echo_body as_echo'
73fi
74
75# The user is always right.
76if test "${PATH_SEPARATOR+set}" != set; then
77 PATH_SEPARATOR=:
78 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
79 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
80 PATH_SEPARATOR=';'
81 }
82fi
83
84
85# IFS
86# We need space, tab and new line, in precisely that order. Quoting is
87# there to prevent editors from complaining about space-tab.
88# (If _AS_PATH_WALK were called with IFS unset, it would disable word
89# splitting by setting IFS to empty value.)
90IFS=" "" $as_nl"
91
92# Find who we are. Look in the path if we contain no directory separator.
93as_myself=
94case $0 in #((
95 *[\\/]* ) as_myself=$0 ;;
96 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
97for as_dir in $PATH
98do
99 IFS=$as_save_IFS
100 test -z "$as_dir" && as_dir=.
101 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
102 done
103IFS=$as_save_IFS
104
105 ;;
106esac
107# We did not find ourselves, most probably we were run as `sh COMMAND'
108# in which case we are not to be found in the path.
109if test "x$as_myself" = x; then
110 as_myself=$0
111fi
112if test ! -f "$as_myself"; then
113 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
114 exit 1
115fi
116
117# Unset variables that we do not need and which cause bugs (e.g. in
118# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
119# suppresses any "Segmentation fault" message there. '((' could
120# trigger a bug in pdksh 5.2.14.
121for as_var in BASH_ENV ENV MAIL MAILPATH
122do eval test x\${$as_var+set} = xset \
123 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
124done
125PS1='$ '
126PS2='> '
127PS4='+ '
128
129# NLS nuisances.
130LC_ALL=C
131export LC_ALL
132LANGUAGE=C
133export LANGUAGE
134
135# CDPATH.
136(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
137
138# Use a proper internal environment variable to ensure we don't fall
139 # into an infinite loop, continuously re-executing ourselves.
140 if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
141 _as_can_reexec=no; export _as_can_reexec;
142 # We cannot yet assume a decent shell, so we have to provide a
143# neutralization value for shells without unset; and this also
144# works around shells that cannot unset nonexistent variables.
145# Preserve -v and -x to the replacement shell.
146BASH_ENV=/dev/null
147ENV=/dev/null
148(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
149case $- in # ((((
150 *v*x* | *x*v* ) as_opts=-vx ;;
151 *v* ) as_opts=-v ;;
152 *x* ) as_opts=-x ;;
153 * ) as_opts= ;;
154esac
155exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
156# Admittedly, this is quite paranoid, since all the known shells bail
157# out after a failed `exec'.
158$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
159as_fn_exit 255
160 fi
161 # We don't want this to propagate to other subprocesses.
162 { _as_can_reexec=; unset _as_can_reexec;}
163if test "x$CONFIG_SHELL" = x; then
164 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
165 emulate sh
166 NULLCMD=:
167 # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
168 # is contrary to our usage. Disable this feature.
169 alias -g '\${1+\"\$@\"}'='\"\$@\"'
170 setopt NO_GLOB_SUBST
171else
172 case \`(set -o) 2>/dev/null\` in #(
173 *posix*) :
174 set -o posix ;; #(
175 *) :
176 ;;
177esac
178fi
179"
180 as_required="as_fn_return () { (exit \$1); }
181as_fn_success () { as_fn_return 0; }
182as_fn_failure () { as_fn_return 1; }
183as_fn_ret_success () { return 0; }
184as_fn_ret_failure () { return 1; }
185
186exitcode=0
187as_fn_success || { exitcode=1; echo as_fn_success failed.; }
188as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
189as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
190as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
191if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
192
193else
194 exitcode=1; echo positional parameters were not saved.
195fi
196test x\$exitcode = x0 || exit 1
197test -x / || exit 1"
198 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
199 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
200 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
201 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
202test \$(( 1 + 1 )) = 2 || exit 1"
203 if (eval "$as_required") 2>/dev/null; then :
204 as_have_required=yes
205else
206 as_have_required=no
207fi
208 if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
209
210else
211 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
212as_found=false
213for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
214do
215 IFS=$as_save_IFS
216 test -z "$as_dir" && as_dir=.
217 as_found=:
218 case $as_dir in #(
219 /*)
220 for as_base in sh bash ksh sh5; do
221 # Try only shells that exist, to save several forks.
222 as_shell=$as_dir/$as_base
223 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
224 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
225 CONFIG_SHELL=$as_shell as_have_required=yes
226 if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
227 break 2
228fi
229fi
230 done;;
231 esac
232 as_found=false
233done
234$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
235 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
236 CONFIG_SHELL=$SHELL as_have_required=yes
237fi; }
238IFS=$as_save_IFS
239
240
241 if test "x$CONFIG_SHELL" != x; then :
242 export CONFIG_SHELL
243 # We cannot yet assume a decent shell, so we have to provide a
244# neutralization value for shells without unset; and this also
245# works around shells that cannot unset nonexistent variables.
246# Preserve -v and -x to the replacement shell.
247BASH_ENV=/dev/null
248ENV=/dev/null
249(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
250case $- in # ((((
251 *v*x* | *x*v* ) as_opts=-vx ;;
252 *v* ) as_opts=-v ;;
253 *x* ) as_opts=-x ;;
254 * ) as_opts= ;;
255esac
256exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
257# Admittedly, this is quite paranoid, since all the known shells bail
258# out after a failed `exec'.
259$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
260exit 255
261fi
262
263 if test x$as_have_required = xno; then :
264 $as_echo "$0: This script requires a shell more modern than all"
265 $as_echo "$0: the shells that I found on your system."
266 if test x${ZSH_VERSION+set} = xset ; then
267 $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
268 $as_echo "$0: be upgraded to zsh 4.3.4 or later."
269 else
270 $as_echo "$0: Please tell bug-autoconf@gnu.org and
271$0: openssh-unix-dev@mindrot.org about your system,
272$0: including any error possibly output before this
273$0: message. Then install a modern shell, or manually run
274$0: the script under such a shell if you do have one."
275 fi
276 exit 1
277fi
278fi
279fi
280SHELL=${CONFIG_SHELL-/bin/sh}
281export SHELL
282# Unset more variables known to interfere with behavior of common tools.
283CLICOLOR_FORCE= GREP_OPTIONS=
284unset CLICOLOR_FORCE GREP_OPTIONS
285
286## --------------------- ##
287## M4sh Shell Functions. ##
288## --------------------- ##
289# as_fn_unset VAR
290# ---------------
291# Portably unset VAR.
292as_fn_unset ()
293{
294 { eval $1=; unset $1;}
295}
296as_unset=as_fn_unset
297
298# as_fn_set_status STATUS
299# -----------------------
300# Set $? to STATUS, without forking.
301as_fn_set_status ()
302{
303 return $1
304} # as_fn_set_status
305
306# as_fn_exit STATUS
307# -----------------
308# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
309as_fn_exit ()
310{
311 set +e
312 as_fn_set_status $1
313 exit $1
314} # as_fn_exit
315
316# as_fn_mkdir_p
317# -------------
318# Create "$as_dir" as a directory, including parents if necessary.
319as_fn_mkdir_p ()
320{
321
322 case $as_dir in #(
323 -*) as_dir=./$as_dir;;
324 esac
325 test -d "$as_dir" || eval $as_mkdir_p || {
326 as_dirs=
327 while :; do
328 case $as_dir in #(
329 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
330 *) as_qdir=$as_dir;;
331 esac
332 as_dirs="'$as_qdir' $as_dirs"
333 as_dir=`$as_dirname -- "$as_dir" ||
334$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
335 X"$as_dir" : 'X\(//\)[^/]' \| \
336 X"$as_dir" : 'X\(//\)$' \| \
337 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
338$as_echo X"$as_dir" |
339 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
340 s//\1/
341 q
342 }
343 /^X\(\/\/\)[^/].*/{
344 s//\1/
345 q
346 }
347 /^X\(\/\/\)$/{
348 s//\1/
349 q
350 }
351 /^X\(\/\).*/{
352 s//\1/
353 q
354 }
355 s/.*/./; q'`
356 test -d "$as_dir" && break
357 done
358 test -z "$as_dirs" || eval "mkdir $as_dirs"
359 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
360
361
362} # as_fn_mkdir_p
363
364# as_fn_executable_p FILE
365# -----------------------
366# Test if FILE is an executable regular file.
367as_fn_executable_p ()
368{
369 test -f "$1" && test -x "$1"
370} # as_fn_executable_p
371# as_fn_append VAR VALUE
372# ----------------------
373# Append the text in VALUE to the end of the definition contained in VAR. Take
374# advantage of any shell optimizations that allow amortized linear growth over
375# repeated appends, instead of the typical quadratic growth present in naive
376# implementations.
377if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
378 eval 'as_fn_append ()
379 {
380 eval $1+=\$2
381 }'
382else
383 as_fn_append ()
384 {
385 eval $1=\$$1\$2
386 }
387fi # as_fn_append
388
389# as_fn_arith ARG...
390# ------------------
391# Perform arithmetic evaluation on the ARGs, and store the result in the
392# global $as_val. Take advantage of shells that can avoid forks. The arguments
393# must be portable across $(()) and expr.
394if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
395 eval 'as_fn_arith ()
396 {
397 as_val=$(( $* ))
398 }'
399else
400 as_fn_arith ()
401 {
402 as_val=`expr "$@" || test $? -eq 1`
403 }
404fi # as_fn_arith
405
406
407# as_fn_error STATUS ERROR [LINENO LOG_FD]
408# ----------------------------------------
409# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
410# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
411# script with STATUS, using 1 if that was 0.
412as_fn_error ()
413{
414 as_status=$1; test $as_status -eq 0 && as_status=1
415 if test "$4"; then
416 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
417 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
418 fi
419 $as_echo "$as_me: error: $2" >&2
420 as_fn_exit $as_status
421} # as_fn_error
422
423if expr a : '\(a\)' >/dev/null 2>&1 &&
424 test "X`expr 00001 : '.*\(...\)'`" = X001; then
425 as_expr=expr
426else
427 as_expr=false
428fi
429
430if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
431 as_basename=basename
432else
433 as_basename=false
434fi
435
436if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
437 as_dirname=dirname
438else
439 as_dirname=false
440fi
441
442as_me=`$as_basename -- "$0" ||
443$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
444 X"$0" : 'X\(//\)$' \| \
445 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
446$as_echo X/"$0" |
447 sed '/^.*\/\([^/][^/]*\)\/*$/{
448 s//\1/
449 q
450 }
451 /^X\/\(\/\/\)$/{
452 s//\1/
453 q
454 }
455 /^X\/\(\/\).*/{
456 s//\1/
457 q
458 }
459 s/.*/./; q'`
460
461# Avoid depending upon Character Ranges.
462as_cr_letters='abcdefghijklmnopqrstuvwxyz'
463as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
464as_cr_Letters=$as_cr_letters$as_cr_LETTERS
465as_cr_digits='0123456789'
466as_cr_alnum=$as_cr_Letters$as_cr_digits
467
468
469 as_lineno_1=$LINENO as_lineno_1a=$LINENO
470 as_lineno_2=$LINENO as_lineno_2a=$LINENO
471 eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
472 test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
473 # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
474 sed -n '
475 p
476 /[$]LINENO/=
477 ' <$as_myself |
478 sed '
479 s/[$]LINENO.*/&-/
480 t lineno
481 b
482 :lineno
483 N
484 :loop
485 s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
486 t loop
487 s/-\n.*//
488 ' >$as_me.lineno &&
489 chmod +x "$as_me.lineno" ||
490 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
491
492 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
493 # already done that, so ensure we don't try to do so again and fall
494 # in an infinite loop. This has already happened in practice.
495 _as_can_reexec=no; export _as_can_reexec
496 # Don't try to exec as it changes $[0], causing all sort of problems
497 # (the dirname of $[0] is not the place where we might find the
498 # original and so on. Autoconf is especially sensitive to this).
499 . "./$as_me.lineno"
500 # Exit status is that of the last command.
501 exit
502}
503
504ECHO_C= ECHO_N= ECHO_T=
505case `echo -n x` in #(((((
506-n*)
507 case `echo 'xy\c'` in
508 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
509 xy) ECHO_C='\c';;
510 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
511 ECHO_T=' ';;
512 esac;;
513*)
514 ECHO_N='-n';;
515esac
516
517rm -f conf$$ conf$$.exe conf$$.file
518if test -d conf$$.dir; then
519 rm -f conf$$.dir/conf$$.file
520else
521 rm -f conf$$.dir
522 mkdir conf$$.dir 2>/dev/null
523fi
524if (echo >conf$$.file) 2>/dev/null; then
525 if ln -s conf$$.file conf$$ 2>/dev/null; then
526 as_ln_s='ln -s'
527 # ... but there are two gotchas:
528 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
529 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
530 # In both cases, we have to default to `cp -pR'.
531 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
532 as_ln_s='cp -pR'
533 elif ln conf$$.file conf$$ 2>/dev/null; then
534 as_ln_s=ln
535 else
536 as_ln_s='cp -pR'
537 fi
538else
539 as_ln_s='cp -pR'
540fi
541rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
542rmdir conf$$.dir 2>/dev/null
543
544if mkdir -p . 2>/dev/null; then
545 as_mkdir_p='mkdir -p "$as_dir"'
546else
547 test -d ./-p && rmdir ./-p
548 as_mkdir_p=false
549fi
550
551as_test_x='test -x'
552as_executable_p=as_fn_executable_p
553
554# Sed expression to map a string onto a valid CPP name.
555as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
556
557# Sed expression to map a string onto a valid variable name.
558as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
559
560
561test -n "$DJDIR" || exec 7<&0 </dev/null
562exec 6>&1
563
564# Name of the host.
565# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
566# so uname gets run too.
567ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
568
569#
570# Initializations.
571#
572ac_default_prefix=/usr/local
573ac_clean_files=
574ac_config_libobj_dir=.
575LIBOBJS=
576cross_compiling=no
577subdirs=
578MFLAGS=
579MAKEFLAGS=
580
581# Identity of this package.
582PACKAGE_NAME='OpenSSH'
583PACKAGE_TARNAME='openssh'
584PACKAGE_VERSION='Portable'
585PACKAGE_STRING='OpenSSH Portable'
586PACKAGE_BUGREPORT='openssh-unix-dev@mindrot.org'
587PACKAGE_URL=''
588
589ac_unique_file="ssh.c"
590# Factoring default headers for most tests.
591ac_includes_default="\
592#include <stdio.h>
593#ifdef HAVE_SYS_TYPES_H
594# include <sys/types.h>
595#endif
596#ifdef HAVE_SYS_STAT_H
597# include <sys/stat.h>
598#endif
599#ifdef STDC_HEADERS
600# include <stdlib.h>
601# include <stddef.h>
602#else
603# ifdef HAVE_STDLIB_H
604# include <stdlib.h>
605# endif
606#endif
607#ifdef HAVE_STRING_H
608# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
609# include <memory.h>
610# endif
611# include <string.h>
612#endif
613#ifdef HAVE_STRINGS_H
614# include <strings.h>
615#endif
616#ifdef HAVE_INTTYPES_H
617# include <inttypes.h>
618#endif
619#ifdef HAVE_STDINT_H
620# include <stdint.h>
621#endif
622#ifdef HAVE_UNISTD_H
623# include <unistd.h>
624#endif"
625
626ac_subst_vars='LTLIBOBJS
627CFLAGS_NOPIE
628LDFLAGS_NOPIE
629DEPEND
630UNSUPPORTED_ALGORITHMS
631TEST_MALLOC_OPTIONS
632TEST_SSH_UTF8
633TEST_SSH_IPV6
634piddir
635user_path
636mansubdir
637MANTYPE
638XAUTH_PATH
639STRIP_OPT
640xauth_path
641PRIVSEP_PATH
642K5LIBS
643GSSLIBS
644KRB5CONF
645SSHDLIBS
646SSHLIBS
647SSH_PRIVSEP_USER
648LIBFIDO2
649COMMENT_OUT_ECC
650TEST_SSH_ECC
651PICFLAG
652LIBEDIT
653PKGCONFIG
654LDNSCONFIG
655LIBOBJS
656LD
657PATH_PASSWD_PROG
658STARTUP_SCRIPT_SHELL
659MAKE_PACKAGE_SUPPORTED
660PATH_USERADD_PROG
661PATH_GROUPADD_PROG
662MANFMT
663TEST_SHELL
664MANDOC
665NROFF
666GROFF
667SH
668TEST_MINUS_S_SH
669ENT
670SED
671KILL
672CAT
673ac_ct_AR
674AR
675MKDIR_P
676INSTALL_DATA
677INSTALL_SCRIPT
678INSTALL_PROGRAM
679RANLIB
680AWK
681EGREP
682GREP
683CPP
684host_os
685host_vendor
686host_cpu
687host
688build_os
689build_vendor
690build_cpu
691build
692OBJEXT
693EXEEXT
694ac_ct_CC
695CPPFLAGS
696LDFLAGS
697CFLAGS
698CC
699target_alias
700host_alias
701build_alias
702LIBS
703ECHO_T
704ECHO_N
705ECHO_C
706DEFS
707mandir
708localedir
709libdir
710psdir
711pdfdir
712dvidir
713htmldir
714infodir
715docdir
716oldincludedir
717includedir
718localstatedir
719sharedstatedir
720sysconfdir
721datadir
722datarootdir
723libexecdir
724sbindir
725bindir
726program_transform_name
727prefix
728exec_prefix
729PACKAGE_URL
730PACKAGE_BUGREPORT
731PACKAGE_STRING
732PACKAGE_VERSION
733PACKAGE_TARNAME
734PACKAGE_NAME
735PATH_SEPARATOR
736SHELL'
737ac_subst_files=''
738ac_user_opts='
739enable_option_checking
740enable_largefile
741with_openssl
742with_stackprotect
743with_hardening
744with_rpath
745with_cflags
746with_cflags_after
747with_cppflags
748with_ldflags
749with_ldflags_after
750with_libs
751with_Werror
752with_solaris_contracts
753with_solaris_projects
754with_solaris_privs
755with_osfsia
756with_zlib
757with_zlib_version_check
758with_ldns
759with_libedit
760with_audit
761with_pie
762enable_pkcs11
763enable_security_key
764with_security_key_builtin
765with_ssl_dir
766with_openssl_header_check
767with_ssl_engine
768with_prngd_port
769with_prngd_socket
770with_pam
771with_pam_service
772with_privsep_user
773with_sandbox
774with_selinux
775with_kerberos5
776with_privsep_path
777with_xauth
778enable_strip
779with_maildir
780with_mantype
781with_md5_passwords
782with_shadow
783with_ipaddr_display
784enable_etc_default_login
785with_default_path
786with_superuser_path
787with_4in6
788with_bsd_auth
789with_pid_dir
790enable_lastlog
791enable_utmp
792enable_utmpx
793enable_wtmp
794enable_wtmpx
795enable_libutil
796enable_pututline
797enable_pututxline
798with_lastlog
799'
800 ac_precious_vars='build_alias
801host_alias
802target_alias
803CC
804CFLAGS
805LDFLAGS
806LIBS
807CPPFLAGS
808CPP'
809
810
811# Initialize some variables set by options.
812ac_init_help=
813ac_init_version=false
814ac_unrecognized_opts=
815ac_unrecognized_sep=
816# The variables have the same names as the options, with
817# dashes changed to underlines.
818cache_file=/dev/null
819exec_prefix=NONE
820no_create=
821no_recursion=
822prefix=NONE
823program_prefix=NONE
824program_suffix=NONE
825program_transform_name=s,x,x,
826silent=
827site=
828srcdir=
829verbose=
830x_includes=NONE
831x_libraries=NONE
832
833# Installation directory options.
834# These are left unexpanded so users can "make install exec_prefix=/foo"
835# and all the variables that are supposed to be based on exec_prefix
836# by default will actually change.
837# Use braces instead of parens because sh, perl, etc. also accept them.
838# (The list follows the same order as the GNU Coding Standards.)
839bindir='${exec_prefix}/bin'
840sbindir='${exec_prefix}/sbin'
841libexecdir='${exec_prefix}/libexec'
842datarootdir='${prefix}/share'
843datadir='${datarootdir}'
844sysconfdir='${prefix}/etc'
845sharedstatedir='${prefix}/com'
846localstatedir='${prefix}/var'
847includedir='${prefix}/include'
848oldincludedir='/usr/include'
849docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
850infodir='${datarootdir}/info'
851htmldir='${docdir}'
852dvidir='${docdir}'
853pdfdir='${docdir}'
854psdir='${docdir}'
855libdir='${exec_prefix}/lib'
856localedir='${datarootdir}/locale'
857mandir='${datarootdir}/man'
858
859ac_prev=
860ac_dashdash=
861for ac_option
862do
863 # If the previous option needs an argument, assign it.
864 if test -n "$ac_prev"; then
865 eval $ac_prev=\$ac_option
866 ac_prev=
867 continue
868 fi
869
870 case $ac_option in
871 *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
872 *=) ac_optarg= ;;
873 *) ac_optarg=yes ;;
874 esac
875
876 # Accept the important Cygnus configure options, so we can diagnose typos.
877
878 case $ac_dashdash$ac_option in
879 --)
880 ac_dashdash=yes ;;
881
882 -bindir | --bindir | --bindi | --bind | --bin | --bi)
883 ac_prev=bindir ;;
884 -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
885 bindir=$ac_optarg ;;
886
887 -build | --build | --buil | --bui | --bu)
888 ac_prev=build_alias ;;
889 -build=* | --build=* | --buil=* | --bui=* | --bu=*)
890 build_alias=$ac_optarg ;;
891
892 -cache-file | --cache-file | --cache-fil | --cache-fi \
893 | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
894 ac_prev=cache_file ;;
895 -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
896 | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
897 cache_file=$ac_optarg ;;
898
899 --config-cache | -C)
900 cache_file=config.cache ;;
901
902 -datadir | --datadir | --datadi | --datad)
903 ac_prev=datadir ;;
904 -datadir=* | --datadir=* | --datadi=* | --datad=*)
905 datadir=$ac_optarg ;;
906
907 -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
908 | --dataroo | --dataro | --datar)
909 ac_prev=datarootdir ;;
910 -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
911 | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
912 datarootdir=$ac_optarg ;;
913
914 -disable-* | --disable-*)
915 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
916 # Reject names that are not valid shell variable names.
917 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
918 as_fn_error $? "invalid feature name: $ac_useropt"
919 ac_useropt_orig=$ac_useropt
920 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
921 case $ac_user_opts in
922 *"
923"enable_$ac_useropt"
924"*) ;;
925 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
926 ac_unrecognized_sep=', ';;
927 esac
928 eval enable_$ac_useropt=no ;;
929
930 -docdir | --docdir | --docdi | --doc | --do)
931 ac_prev=docdir ;;
932 -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
933 docdir=$ac_optarg ;;
934
935 -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
936 ac_prev=dvidir ;;
937 -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
938 dvidir=$ac_optarg ;;
939
940 -enable-* | --enable-*)
941 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
942 # Reject names that are not valid shell variable names.
943 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
944 as_fn_error $? "invalid feature name: $ac_useropt"
945 ac_useropt_orig=$ac_useropt
946 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
947 case $ac_user_opts in
948 *"
949"enable_$ac_useropt"
950"*) ;;
951 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
952 ac_unrecognized_sep=', ';;
953 esac
954 eval enable_$ac_useropt=\$ac_optarg ;;
955
956 -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
957 | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
958 | --exec | --exe | --ex)
959 ac_prev=exec_prefix ;;
960 -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
961 | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
962 | --exec=* | --exe=* | --ex=*)
963 exec_prefix=$ac_optarg ;;
964
965 -gas | --gas | --ga | --g)
966 # Obsolete; use --with-gas.
967 with_gas=yes ;;
968
969 -help | --help | --hel | --he | -h)
970 ac_init_help=long ;;
971 -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
972 ac_init_help=recursive ;;
973 -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
974 ac_init_help=short ;;
975
976 -host | --host | --hos | --ho)
977 ac_prev=host_alias ;;
978 -host=* | --host=* | --hos=* | --ho=*)
979 host_alias=$ac_optarg ;;
980
981 -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
982 ac_prev=htmldir ;;
983 -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
984 | --ht=*)
985 htmldir=$ac_optarg ;;
986
987 -includedir | --includedir | --includedi | --included | --include \
988 | --includ | --inclu | --incl | --inc)
989 ac_prev=includedir ;;
990 -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
991 | --includ=* | --inclu=* | --incl=* | --inc=*)
992 includedir=$ac_optarg ;;
993
994 -infodir | --infodir | --infodi | --infod | --info | --inf)
995 ac_prev=infodir ;;
996 -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
997 infodir=$ac_optarg ;;
998
999 -libdir | --libdir | --libdi | --libd)
1000 ac_prev=libdir ;;
1001 -libdir=* | --libdir=* | --libdi=* | --libd=*)
1002 libdir=$ac_optarg ;;
1003
1004 -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
1005 | --libexe | --libex | --libe)
1006 ac_prev=libexecdir ;;
1007 -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
1008 | --libexe=* | --libex=* | --libe=*)
1009 libexecdir=$ac_optarg ;;
1010
1011 -localedir | --localedir | --localedi | --localed | --locale)
1012 ac_prev=localedir ;;
1013 -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
1014 localedir=$ac_optarg ;;
1015
1016 -localstatedir | --localstatedir | --localstatedi | --localstated \
1017 | --localstate | --localstat | --localsta | --localst | --locals)
1018 ac_prev=localstatedir ;;
1019 -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1020 | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
1021 localstatedir=$ac_optarg ;;
1022
1023 -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1024 ac_prev=mandir ;;
1025 -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1026 mandir=$ac_optarg ;;
1027
1028 -nfp | --nfp | --nf)
1029 # Obsolete; use --without-fp.
1030 with_fp=no ;;
1031
1032 -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1033 | --no-cr | --no-c | -n)
1034 no_create=yes ;;
1035
1036 -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1037 | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1038 no_recursion=yes ;;
1039
1040 -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1041 | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1042 | --oldin | --oldi | --old | --ol | --o)
1043 ac_prev=oldincludedir ;;
1044 -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1045 | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1046 | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1047 oldincludedir=$ac_optarg ;;
1048
1049 -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1050 ac_prev=prefix ;;
1051 -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1052 prefix=$ac_optarg ;;
1053
1054 -program-prefix | --program-prefix | --program-prefi | --program-pref \
1055 | --program-pre | --program-pr | --program-p)
1056 ac_prev=program_prefix ;;
1057 -program-prefix=* | --program-prefix=* | --program-prefi=* \
1058 | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1059 program_prefix=$ac_optarg ;;
1060
1061 -program-suffix | --program-suffix | --program-suffi | --program-suff \
1062 | --program-suf | --program-su | --program-s)
1063 ac_prev=program_suffix ;;
1064 -program-suffix=* | --program-suffix=* | --program-suffi=* \
1065 | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
1066 program_suffix=$ac_optarg ;;
1067
1068 -program-transform-name | --program-transform-name \
1069 | --program-transform-nam | --program-transform-na \
1070 | --program-transform-n | --program-transform- \
1071 | --program-transform | --program-transfor \
1072 | --program-transfo | --program-transf \
1073 | --program-trans | --program-tran \
1074 | --progr-tra | --program-tr | --program-t)
1075 ac_prev=program_transform_name ;;
1076 -program-transform-name=* | --program-transform-name=* \
1077 | --program-transform-nam=* | --program-transform-na=* \
1078 | --program-transform-n=* | --program-transform-=* \
1079 | --program-transform=* | --program-transfor=* \
1080 | --program-transfo=* | --program-transf=* \
1081 | --program-trans=* | --program-tran=* \
1082 | --progr-tra=* | --program-tr=* | --program-t=*)
1083 program_transform_name=$ac_optarg ;;
1084
1085 -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
1086 ac_prev=pdfdir ;;
1087 -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
1088 pdfdir=$ac_optarg ;;
1089
1090 -psdir | --psdir | --psdi | --psd | --ps)
1091 ac_prev=psdir ;;
1092 -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
1093 psdir=$ac_optarg ;;
1094
1095 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1096 | -silent | --silent | --silen | --sile | --sil)
1097 silent=yes ;;
1098
1099 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
1100 ac_prev=sbindir ;;
1101 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
1102 | --sbi=* | --sb=*)
1103 sbindir=$ac_optarg ;;
1104
1105 -sharedstatedir | --sharedstatedir | --sharedstatedi \
1106 | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
1107 | --sharedst | --shareds | --shared | --share | --shar \
1108 | --sha | --sh)
1109 ac_prev=sharedstatedir ;;
1110 -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
1111 | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
1112 | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
1113 | --sha=* | --sh=*)
1114 sharedstatedir=$ac_optarg ;;
1115
1116 -site | --site | --sit)
1117 ac_prev=site ;;
1118 -site=* | --site=* | --sit=*)
1119 site=$ac_optarg ;;
1120
1121 -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
1122 ac_prev=srcdir ;;
1123 -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
1124 srcdir=$ac_optarg ;;
1125
1126 -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
1127 | --syscon | --sysco | --sysc | --sys | --sy)
1128 ac_prev=sysconfdir ;;
1129 -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
1130 | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
1131 sysconfdir=$ac_optarg ;;
1132
1133 -target | --target | --targe | --targ | --tar | --ta | --t)
1134 ac_prev=target_alias ;;
1135 -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
1136 target_alias=$ac_optarg ;;
1137
1138 -v | -verbose | --verbose | --verbos | --verbo | --verb)
1139 verbose=yes ;;
1140
1141 -version | --version | --versio | --versi | --vers | -V)
1142 ac_init_version=: ;;
1143
1144 -with-* | --with-*)
1145 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1146 # Reject names that are not valid shell variable names.
1147 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1148 as_fn_error $? "invalid package name: $ac_useropt"
1149 ac_useropt_orig=$ac_useropt
1150 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1151 case $ac_user_opts in
1152 *"
1153"with_$ac_useropt"
1154"*) ;;
1155 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
1156 ac_unrecognized_sep=', ';;
1157 esac
1158 eval with_$ac_useropt=\$ac_optarg ;;
1159
1160 -without-* | --without-*)
1161 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1162 # Reject names that are not valid shell variable names.
1163 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1164 as_fn_error $? "invalid package name: $ac_useropt"
1165 ac_useropt_orig=$ac_useropt
1166 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1167 case $ac_user_opts in
1168 *"
1169"with_$ac_useropt"
1170"*) ;;
1171 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
1172 ac_unrecognized_sep=', ';;
1173 esac
1174 eval with_$ac_useropt=no ;;
1175
1176 --x)
1177 # Obsolete; use --with-x.
1178 with_x=yes ;;
1179
1180 -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
1181 | --x-incl | --x-inc | --x-in | --x-i)
1182 ac_prev=x_includes ;;
1183 -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
1184 | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
1185 x_includes=$ac_optarg ;;
1186
1187 -x-libraries | --x-libraries | --x-librarie | --x-librari \
1188 | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
1189 ac_prev=x_libraries ;;
1190 -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
1191 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1192 x_libraries=$ac_optarg ;;
1193
1194 -*) as_fn_error $? "unrecognized option: \`$ac_option'
1195Try \`$0 --help' for more information"
1196 ;;
1197
1198 *=*)
1199 ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
1200 # Reject names that are not valid shell variable names.
1201 case $ac_envvar in #(
1202 '' | [0-9]* | *[!_$as_cr_alnum]* )
1203 as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
1204 esac
1205 eval $ac_envvar=\$ac_optarg
1206 export $ac_envvar ;;
1207
1208 *)
1209 # FIXME: should be removed in autoconf 3.0.
1210 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
1211 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
1212 $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
1213 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
1214 ;;
1215
1216 esac
1217done
1218
1219if test -n "$ac_prev"; then
1220 ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1221 as_fn_error $? "missing argument to $ac_option"
1222fi
1223
1224if test -n "$ac_unrecognized_opts"; then
1225 case $enable_option_checking in
1226 no) ;;
1227 fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
1228 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
1229 esac
1230fi
1231
1232# Check all directory arguments for consistency.
1233for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
1234 datadir sysconfdir sharedstatedir localstatedir includedir \
1235 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1236 libdir localedir mandir
1237do
1238 eval ac_val=\$$ac_var
1239 # Remove trailing slashes.
1240 case $ac_val in
1241 */ )
1242 ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
1243 eval $ac_var=\$ac_val;;
1244 esac
1245 # Be sure to have absolute directory names.
1246 case $ac_val in
1247 [\\/$]* | ?:[\\/]* ) continue;;
1248 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1249 esac
1250 as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
1251done
1252
1253# There might be people who depend on the old broken behavior: `$host'
1254# used to hold the argument of --host etc.
1255# FIXME: To remove some day.
1256build=$build_alias
1257host=$host_alias
1258target=$target_alias
1259
1260# FIXME: To remove some day.
1261if test "x$host_alias" != x; then
1262 if test "x$build_alias" = x; then
1263 cross_compiling=maybe
1264 elif test "x$build_alias" != "x$host_alias"; then
1265 cross_compiling=yes
1266 fi
1267fi
1268
1269ac_tool_prefix=
1270test -n "$host_alias" && ac_tool_prefix=$host_alias-
1271
1272test "$silent" = yes && exec 6>/dev/null
1273
1274
1275ac_pwd=`pwd` && test -n "$ac_pwd" &&
1276ac_ls_di=`ls -di .` &&
1277ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1278 as_fn_error $? "working directory cannot be determined"
1279test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1280 as_fn_error $? "pwd does not report name of working directory"
1281
1282
1283# Find the source files, if location was not specified.
1284if test -z "$srcdir"; then
1285 ac_srcdir_defaulted=yes
1286 # Try the directory containing this script, then the parent directory.
1287 ac_confdir=`$as_dirname -- "$as_myself" ||
1288$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
1289 X"$as_myself" : 'X\(//\)[^/]' \| \
1290 X"$as_myself" : 'X\(//\)$' \| \
1291 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
1292$as_echo X"$as_myself" |
1293 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
1294 s//\1/
1295 q
1296 }
1297 /^X\(\/\/\)[^/].*/{
1298 s//\1/
1299 q
1300 }
1301 /^X\(\/\/\)$/{
1302 s//\1/
1303 q
1304 }
1305 /^X\(\/\).*/{
1306 s//\1/
1307 q
1308 }
1309 s/.*/./; q'`
1310 srcdir=$ac_confdir
1311 if test ! -r "$srcdir/$ac_unique_file"; then
1312 srcdir=..
1313 fi
1314else
1315 ac_srcdir_defaulted=no
1316fi
1317if test ! -r "$srcdir/$ac_unique_file"; then
1318 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1319 as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
1320fi
1321ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1322ac_abs_confdir=`(
1323 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
1324 pwd)`
1325# When building in place, set srcdir=.
1326if test "$ac_abs_confdir" = "$ac_pwd"; then
1327 srcdir=.
1328fi
1329# Remove unnecessary trailing slashes from srcdir.
1330# Double slashes in file names in object file debugging info
1331# mess up M-x gdb in Emacs.
1332case $srcdir in
1333*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
1334esac
1335for ac_var in $ac_precious_vars; do
1336 eval ac_env_${ac_var}_set=\${${ac_var}+set}
1337 eval ac_env_${ac_var}_value=\$${ac_var}
1338 eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
1339 eval ac_cv_env_${ac_var}_value=\$${ac_var}
1340done
1341
1342#
1343# Report the --help message.
1344#
1345if test "$ac_init_help" = "long"; then
1346 # Omit some internal or obsolete options to make the list less imposing.
1347 # This message is too long to be a string in the A/UX 3.1 sh.
1348 cat <<_ACEOF
1349\`configure' configures OpenSSH Portable to adapt to many kinds of systems.
1350
1351Usage: $0 [OPTION]... [VAR=VALUE]...
1352
1353To assign environment variables (e.g., CC, CFLAGS...), specify them as
1354VAR=VALUE. See below for descriptions of some of the useful variables.
1355
1356Defaults for the options are specified in brackets.
1357
1358Configuration:
1359 -h, --help display this help and exit
1360 --help=short display options specific to this package
1361 --help=recursive display the short help of all the included packages
1362 -V, --version display version information and exit
1363 -q, --quiet, --silent do not print \`checking ...' messages
1364 --cache-file=FILE cache test results in FILE [disabled]
1365 -C, --config-cache alias for \`--cache-file=config.cache'
1366 -n, --no-create do not create output files
1367 --srcdir=DIR find the sources in DIR [configure dir or \`..']
1368
1369Installation directories:
1370 --prefix=PREFIX install architecture-independent files in PREFIX
1371 [$ac_default_prefix]
1372 --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
1373 [PREFIX]
1374
1375By default, \`make install' will install all the files in
1376\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
1377an installation prefix other than \`$ac_default_prefix' using \`--prefix',
1378for instance \`--prefix=\$HOME'.
1379
1380For better control, use the options below.
1381
1382Fine tuning of the installation directories:
1383 --bindir=DIR user executables [EPREFIX/bin]
1384 --sbindir=DIR system admin executables [EPREFIX/sbin]
1385 --libexecdir=DIR program executables [EPREFIX/libexec]
1386 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
1387 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
1388 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
1389 --libdir=DIR object code libraries [EPREFIX/lib]
1390 --includedir=DIR C header files [PREFIX/include]
1391 --oldincludedir=DIR C header files for non-gcc [/usr/include]
1392 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
1393 --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
1394 --infodir=DIR info documentation [DATAROOTDIR/info]
1395 --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
1396 --mandir=DIR man documentation [DATAROOTDIR/man]
1397 --docdir=DIR documentation root [DATAROOTDIR/doc/openssh]
1398 --htmldir=DIR html documentation [DOCDIR]
1399 --dvidir=DIR dvi documentation [DOCDIR]
1400 --pdfdir=DIR pdf documentation [DOCDIR]
1401 --psdir=DIR ps documentation [DOCDIR]
1402_ACEOF
1403
1404 cat <<\_ACEOF
1405
1406System types:
1407 --build=BUILD configure for building on BUILD [guessed]
1408 --host=HOST cross-compile to build programs to run on HOST [BUILD]
1409_ACEOF
1410fi
1411
1412if test -n "$ac_init_help"; then
1413 case $ac_init_help in
1414 short | recursive ) echo "Configuration of OpenSSH Portable:";;
1415 esac
1416 cat <<\_ACEOF
1417
1418Optional Features:
1419 --disable-option-checking ignore unrecognized --enable/--with options
1420 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
1421 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
1422 --disable-largefile omit support for large files
1423 --disable-pkcs11 disable PKCS#11 support code [no]
1424 --disable-security-key disable U2F/FIDO support code no
1425 --disable-strip Disable calling strip(1) on install
1426 --disable-etc-default-login Disable using PATH from /etc/default/login no
1427 --disable-lastlog disable use of lastlog even if detected no
1428 --disable-utmp disable use of utmp even if detected no
1429 --disable-utmpx disable use of utmpx even if detected no
1430 --disable-wtmp disable use of wtmp even if detected no
1431 --disable-wtmpx disable use of wtmpx even if detected no
1432 --disable-libutil disable use of libutil (login() etc.) no
1433 --disable-pututline disable use of pututline() etc. (uwtmp) no
1434 --disable-pututxline disable use of pututxline() etc. (uwtmpx) no
1435
1436Optional Packages:
1437 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
1438 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
1439 --without-openssl Disable use of OpenSSL; use only limited internal crypto **EXPERIMENTAL**
1440 --without-stackprotect Don't use compiler's stack protection
1441 --without-hardening Don't use toolchain hardening flags
1442 --without-rpath Disable auto-added -R linker paths
1443 --with-cflags Specify additional flags to pass to compiler
1444 --with-cflags-after Specify additional flags to pass to compiler after configure
1445 --with-cppflags Specify additional flags to pass to preprocessor
1446 --with-ldflags Specify additional flags to pass to linker
1447 --with-ldflags-after Specify additional flags to pass to linker after configure
1448 --with-libs Specify additional libraries to link with
1449 --with-Werror Build main code with -Werror
1450 --with-solaris-contracts Enable Solaris process contracts (experimental)
1451 --with-solaris-projects Enable Solaris projects (experimental)
1452 --with-solaris-privs Enable Solaris/Illumos privileges (experimental)
1453 --with-osfsia Enable Digital Unix SIA
1454 --with-zlib=PATH Use zlib in PATH
1455 --without-zlib-version-check Disable zlib version check
1456 --with-ldns[=PATH] Use ldns for DNSSEC support (optionally in PATH)
1457 --with-libedit[=PATH] Enable libedit support for sftp
1458 --with-audit=module Enable audit support (modules=debug,bsm,linux)
1459 --with-pie Build Position Independent Executables if possible
1460 --with-security-key-builtin include builtin U2F/FIDO support
1461 --with-ssl-dir=PATH Specify path to OpenSSL installation
1462 --without-openssl-header-check Disable OpenSSL version consistency check
1463 --with-ssl-engine Enable OpenSSL (hardware) ENGINE support
1464 --with-prngd-port=PORT read entropy from PRNGD/EGD TCP localhost:PORT
1465 --with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE (default=/var/run/egd-pool)
1466 --with-pam Enable PAM support
1467 --with-pam-service=name Specify PAM service name
1468 --with-privsep-user=user Specify non-privileged user for privilege separation
1469 --with-sandbox=style Specify privilege separation sandbox (no, capsicum, darwin, rlimit, seccomp_filter, systrace, pledge)
1470 --with-selinux Enable SELinux support
1471 --with-kerberos5=PATH Enable Kerberos 5 support
1472 --with-privsep-path=xxx Path for privilege separation chroot (default=/var/empty)
1473 --with-xauth=PATH Specify path to xauth program
1474 --with-maildir=/path/to/mail Specify your system mail directory
1475 --with-mantype=man|cat|doc Set man page type
1476 --with-md5-passwords Enable use of MD5 passwords
1477 --without-shadow Disable shadow password support
1478 --with-ipaddr-display Use ip address instead of hostname in $DISPLAY
1479 --with-default-path= Specify default $PATH environment for server
1480 --with-superuser-path= Specify different path for super-user
1481 --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses
1482 --with-bsd-auth Enable BSD auth support
1483 --with-pid-dir=PATH Specify location of sshd.pid file
1484 --with-lastlog=FILE|DIR specify lastlog location common locations
1485
1486Some influential environment variables:
1487 CC C compiler command
1488 CFLAGS C compiler flags
1489 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
1490 nonstandard directory <lib dir>
1491 LIBS libraries to pass to the linker, e.g. -l<library>
1492 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
1493 you have headers in a nonstandard directory <include dir>
1494 CPP C preprocessor
1495
1496Use these variables to override the choices made by `configure' or to help
1497it to find libraries and programs with nonstandard names/locations.
1498
1499Report bugs to <openssh-unix-dev@mindrot.org>.
1500_ACEOF
1501ac_status=$?
1502fi
1503
1504if test "$ac_init_help" = "recursive"; then
1505 # If there are subdirs, report their specific --help.
1506 for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
1507 test -d "$ac_dir" ||
1508 { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
1509 continue
1510 ac_builddir=.
1511
1512case "$ac_dir" in
1513.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
1514*)
1515 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
1516 # A ".." for each directory in $ac_dir_suffix.
1517 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
1518 case $ac_top_builddir_sub in
1519 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
1520 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
1521 esac ;;
1522esac
1523ac_abs_top_builddir=$ac_pwd
1524ac_abs_builddir=$ac_pwd$ac_dir_suffix
1525# for backward compatibility:
1526ac_top_builddir=$ac_top_build_prefix
1527
1528case $srcdir in
1529 .) # We are building in place.
1530 ac_srcdir=.
1531 ac_top_srcdir=$ac_top_builddir_sub
1532 ac_abs_top_srcdir=$ac_pwd ;;
1533 [\\/]* | ?:[\\/]* ) # Absolute name.
1534 ac_srcdir=$srcdir$ac_dir_suffix;
1535 ac_top_srcdir=$srcdir
1536 ac_abs_top_srcdir=$srcdir ;;
1537 *) # Relative name.
1538 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
1539 ac_top_srcdir=$ac_top_build_prefix$srcdir
1540 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
1541esac
1542ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
1543
1544 cd "$ac_dir" || { ac_status=$?; continue; }
1545 # Check for guested configure.
1546 if test -f "$ac_srcdir/configure.gnu"; then
1547 echo &&
1548 $SHELL "$ac_srcdir/configure.gnu" --help=recursive
1549 elif test -f "$ac_srcdir/configure"; then
1550 echo &&
1551 $SHELL "$ac_srcdir/configure" --help=recursive
1552 else
1553 $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
1554 fi || ac_status=$?
1555 cd "$ac_pwd" || { ac_status=$?; break; }
1556 done
1557fi
1558
1559test -n "$ac_init_help" && exit $ac_status
1560if $ac_init_version; then
1561 cat <<\_ACEOF
1562OpenSSH configure Portable
1563generated by GNU Autoconf 2.69
1564
1565Copyright (C) 2012 Free Software Foundation, Inc.
1566This configure script is free software; the Free Software Foundation
1567gives unlimited permission to copy, distribute and modify it.
1568_ACEOF
1569 exit
1570fi
1571
1572## ------------------------ ##
1573## Autoconf initialization. ##
1574## ------------------------ ##
1575
1576# ac_fn_c_try_compile LINENO
1577# --------------------------
1578# Try to compile conftest.$ac_ext, and return whether this succeeded.
1579ac_fn_c_try_compile ()
1580{
1581 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1582 rm -f conftest.$ac_objext
1583 if { { ac_try="$ac_compile"
1584case "(($ac_try" in
1585 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1586 *) ac_try_echo=$ac_try;;
1587esac
1588eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1589$as_echo "$ac_try_echo"; } >&5
1590 (eval "$ac_compile") 2>conftest.err
1591 ac_status=$?
1592 if test -s conftest.err; then
1593 grep -v '^ *+' conftest.err >conftest.er1
1594 cat conftest.er1 >&5
1595 mv -f conftest.er1 conftest.err
1596 fi
1597 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1598 test $ac_status = 0; } && {
1599 test -z "$ac_c_werror_flag" ||
1600 test ! -s conftest.err
1601 } && test -s conftest.$ac_objext; then :
1602 ac_retval=0
1603else
1604 $as_echo "$as_me: failed program was:" >&5
1605sed 's/^/| /' conftest.$ac_ext >&5
1606
1607 ac_retval=1
1608fi
1609 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1610 as_fn_set_status $ac_retval
1611
1612} # ac_fn_c_try_compile
1613
1614# ac_fn_c_try_run LINENO
1615# ----------------------
1616# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
1617# that executables *can* be run.
1618ac_fn_c_try_run ()
1619{
1620 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1621 if { { ac_try="$ac_link"
1622case "(($ac_try" in
1623 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1624 *) ac_try_echo=$ac_try;;
1625esac
1626eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1627$as_echo "$ac_try_echo"; } >&5
1628 (eval "$ac_link") 2>&5
1629 ac_status=$?
1630 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1631 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
1632 { { case "(($ac_try" in
1633 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1634 *) ac_try_echo=$ac_try;;
1635esac
1636eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1637$as_echo "$ac_try_echo"; } >&5
1638 (eval "$ac_try") 2>&5
1639 ac_status=$?
1640 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1641 test $ac_status = 0; }; }; then :
1642 ac_retval=0
1643else
1644 $as_echo "$as_me: program exited with status $ac_status" >&5
1645 $as_echo "$as_me: failed program was:" >&5
1646sed 's/^/| /' conftest.$ac_ext >&5
1647
1648 ac_retval=$ac_status
1649fi
1650 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1651 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1652 as_fn_set_status $ac_retval
1653
1654} # ac_fn_c_try_run
1655
1656# ac_fn_c_try_cpp LINENO
1657# ----------------------
1658# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1659ac_fn_c_try_cpp ()
1660{
1661 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1662 if { { ac_try="$ac_cpp conftest.$ac_ext"
1663case "(($ac_try" in
1664 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1665 *) ac_try_echo=$ac_try;;
1666esac
1667eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1668$as_echo "$ac_try_echo"; } >&5
1669 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
1670 ac_status=$?
1671 if test -s conftest.err; then
1672 grep -v '^ *+' conftest.err >conftest.er1
1673 cat conftest.er1 >&5
1674 mv -f conftest.er1 conftest.err
1675 fi
1676 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1677 test $ac_status = 0; } > conftest.i && {
1678 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
1679 test ! -s conftest.err
1680 }; then :
1681 ac_retval=0
1682else
1683 $as_echo "$as_me: failed program was:" >&5
1684sed 's/^/| /' conftest.$ac_ext >&5
1685
1686 ac_retval=1
1687fi
1688 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1689 as_fn_set_status $ac_retval
1690
1691} # ac_fn_c_try_cpp
1692
1693# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
1694# -------------------------------------------------------
1695# Tests whether HEADER exists and can be compiled using the include files in
1696# INCLUDES, setting the cache variable VAR accordingly.
1697ac_fn_c_check_header_compile ()
1698{
1699 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1700 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1701$as_echo_n "checking for $2... " >&6; }
1702if eval \${$3+:} false; then :
1703 $as_echo_n "(cached) " >&6
1704else
1705 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1706/* end confdefs.h. */
1707$4
1708#include <$2>
1709_ACEOF
1710if ac_fn_c_try_compile "$LINENO"; then :
1711 eval "$3=yes"
1712else
1713 eval "$3=no"
1714fi
1715rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1716fi
1717eval ac_res=\$$3
1718 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1719$as_echo "$ac_res" >&6; }
1720 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1721
1722} # ac_fn_c_check_header_compile
1723
1724# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
1725# ---------------------------------------------
1726# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
1727# accordingly.
1728ac_fn_c_check_decl ()
1729{
1730 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1731 as_decl_name=`echo $2|sed 's/ *(.*//'`
1732 as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
1733 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
1734$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
1735if eval \${$3+:} false; then :
1736 $as_echo_n "(cached) " >&6
1737else
1738 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1739/* end confdefs.h. */
1740$4
1741int
1742main ()
1743{
1744#ifndef $as_decl_name
1745#ifdef __cplusplus
1746 (void) $as_decl_use;
1747#else
1748 (void) $as_decl_name;
1749#endif
1750#endif
1751
1752 ;
1753 return 0;
1754}
1755_ACEOF
1756if ac_fn_c_try_compile "$LINENO"; then :
1757 eval "$3=yes"
1758else
1759 eval "$3=no"
1760fi
1761rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1762fi
1763eval ac_res=\$$3
1764 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1765$as_echo "$ac_res" >&6; }
1766 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1767
1768} # ac_fn_c_check_decl
1769
1770# ac_fn_c_try_link LINENO
1771# -----------------------
1772# Try to link conftest.$ac_ext, and return whether this succeeded.
1773ac_fn_c_try_link ()
1774{
1775 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1776 rm -f conftest.$ac_objext conftest$ac_exeext
1777 if { { ac_try="$ac_link"
1778case "(($ac_try" in
1779 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1780 *) ac_try_echo=$ac_try;;
1781esac
1782eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1783$as_echo "$ac_try_echo"; } >&5
1784 (eval "$ac_link") 2>conftest.err
1785 ac_status=$?
1786 if test -s conftest.err; then
1787 grep -v '^ *+' conftest.err >conftest.er1
1788 cat conftest.er1 >&5
1789 mv -f conftest.er1 conftest.err
1790 fi
1791 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1792 test $ac_status = 0; } && {
1793 test -z "$ac_c_werror_flag" ||
1794 test ! -s conftest.err
1795 } && test -s conftest$ac_exeext && {
1796 test "$cross_compiling" = yes ||
1797 test -x conftest$ac_exeext
1798 }; then :
1799 ac_retval=0
1800else
1801 $as_echo "$as_me: failed program was:" >&5
1802sed 's/^/| /' conftest.$ac_ext >&5
1803
1804 ac_retval=1
1805fi
1806 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1807 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1808 # interfere with the next link command; also delete a directory that is
1809 # left behind by Apple's compiler. We do this before executing the actions.
1810 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1811 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1812 as_fn_set_status $ac_retval
1813
1814} # ac_fn_c_try_link
1815
1816# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
1817# -------------------------------------------------------
1818# Tests whether HEADER exists, giving a warning if it cannot be compiled using
1819# the include files in INCLUDES and setting the cache variable VAR
1820# accordingly.
1821ac_fn_c_check_header_mongrel ()
1822{
1823 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1824 if eval \${$3+:} false; then :
1825 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1826$as_echo_n "checking for $2... " >&6; }
1827if eval \${$3+:} false; then :
1828 $as_echo_n "(cached) " >&6
1829fi
1830eval ac_res=\$$3
1831 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1832$as_echo "$ac_res" >&6; }
1833else
1834 # Is the header compilable?
1835{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
1836$as_echo_n "checking $2 usability... " >&6; }
1837cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1838/* end confdefs.h. */
1839$4
1840#include <$2>
1841_ACEOF
1842if ac_fn_c_try_compile "$LINENO"; then :
1843 ac_header_compiler=yes
1844else
1845 ac_header_compiler=no
1846fi
1847rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1848{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
1849$as_echo "$ac_header_compiler" >&6; }
1850
1851# Is the header present?
1852{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
1853$as_echo_n "checking $2 presence... " >&6; }
1854cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1855/* end confdefs.h. */
1856#include <$2>
1857_ACEOF
1858if ac_fn_c_try_cpp "$LINENO"; then :
1859 ac_header_preproc=yes
1860else
1861 ac_header_preproc=no
1862fi
1863rm -f conftest.err conftest.i conftest.$ac_ext
1864{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
1865$as_echo "$ac_header_preproc" >&6; }
1866
1867# So? What about this header?
1868case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
1869 yes:no: )
1870 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
1871$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
1872 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1873$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1874 ;;
1875 no:yes:* )
1876 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
1877$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
1878 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
1879$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
1880 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
1881$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
1882 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
1883$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
1884 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1885$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1886( $as_echo "## ------------------------------------------- ##
1887## Report this to openssh-unix-dev@mindrot.org ##
1888## ------------------------------------------- ##"
1889 ) | sed "s/^/$as_me: WARNING: /" >&2
1890 ;;
1891esac
1892 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1893$as_echo_n "checking for $2... " >&6; }
1894if eval \${$3+:} false; then :
1895 $as_echo_n "(cached) " >&6
1896else
1897 eval "$3=\$ac_header_compiler"
1898fi
1899eval ac_res=\$$3
1900 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1901$as_echo "$ac_res" >&6; }
1902fi
1903 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1904
1905} # ac_fn_c_check_header_mongrel
1906
1907# ac_fn_c_check_func LINENO FUNC VAR
1908# ----------------------------------
1909# Tests whether FUNC exists, setting the cache variable VAR accordingly
1910ac_fn_c_check_func ()
1911{
1912 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1913 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1914$as_echo_n "checking for $2... " >&6; }
1915if eval \${$3+:} false; then :
1916 $as_echo_n "(cached) " >&6
1917else
1918 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1919/* end confdefs.h. */
1920/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
1921 For example, HP-UX 11i <limits.h> declares gettimeofday. */
1922#define $2 innocuous_$2
1923
1924/* System header to define __stub macros and hopefully few prototypes,
1925 which can conflict with char $2 (); below.
1926 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
1927 <limits.h> exists even on freestanding compilers. */
1928
1929#ifdef __STDC__
1930# include <limits.h>
1931#else
1932# include <assert.h>
1933#endif
1934
1935#undef $2
1936
1937/* Override any GCC internal prototype to avoid an error.
1938 Use char because int might match the return type of a GCC
1939 builtin and then its argument prototype would still apply. */
1940#ifdef __cplusplus
1941extern "C"
1942#endif
1943char $2 ();
1944/* The GNU C library defines this for functions which it implements
1945 to always fail with ENOSYS. Some functions are actually named
1946 something starting with __ and the normal name is an alias. */
1947#if defined __stub_$2 || defined __stub___$2
1948choke me
1949#endif
1950
1951int
1952main ()
1953{
1954return $2 ();
1955 ;
1956 return 0;
1957}
1958_ACEOF
1959if ac_fn_c_try_link "$LINENO"; then :
1960 eval "$3=yes"
1961else
1962 eval "$3=no"
1963fi
1964rm -f core conftest.err conftest.$ac_objext \
1965 conftest$ac_exeext conftest.$ac_ext
1966fi
1967eval ac_res=\$$3
1968 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1969$as_echo "$ac_res" >&6; }
1970 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1971
1972} # ac_fn_c_check_func
1973
1974# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
1975# -------------------------------------------
1976# Tests whether TYPE exists after having included INCLUDES, setting cache
1977# variable VAR accordingly.
1978ac_fn_c_check_type ()
1979{
1980 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1981 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1982$as_echo_n "checking for $2... " >&6; }
1983if eval \${$3+:} false; then :
1984 $as_echo_n "(cached) " >&6
1985else
1986 eval "$3=no"
1987 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1988/* end confdefs.h. */
1989$4
1990int
1991main ()
1992{
1993if (sizeof ($2))
1994 return 0;
1995 ;
1996 return 0;
1997}
1998_ACEOF
1999if ac_fn_c_try_compile "$LINENO"; then :
2000 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2001/* end confdefs.h. */
2002$4
2003int
2004main ()
2005{
2006if (sizeof (($2)))
2007 return 0;
2008 ;
2009 return 0;
2010}
2011_ACEOF
2012if ac_fn_c_try_compile "$LINENO"; then :
2013
2014else
2015 eval "$3=yes"
2016fi
2017rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2018fi
2019rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2020fi
2021eval ac_res=\$$3
2022 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2023$as_echo "$ac_res" >&6; }
2024 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2025
2026} # ac_fn_c_check_type
2027
2028# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
2029# --------------------------------------------
2030# Tries to find the compile-time value of EXPR in a program that includes
2031# INCLUDES, setting VAR accordingly. Returns whether the value could be
2032# computed
2033ac_fn_c_compute_int ()
2034{
2035 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2036 if test "$cross_compiling" = yes; then
2037 # Depending upon the size, compute the lo and hi bounds.
2038cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2039/* end confdefs.h. */
2040$4
2041int
2042main ()
2043{
2044static int test_array [1 - 2 * !(($2) >= 0)];
2045test_array [0] = 0;
2046return test_array [0];
2047
2048 ;
2049 return 0;
2050}
2051_ACEOF
2052if ac_fn_c_try_compile "$LINENO"; then :
2053 ac_lo=0 ac_mid=0
2054 while :; do
2055 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2056/* end confdefs.h. */
2057$4
2058int
2059main ()
2060{
2061static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2062test_array [0] = 0;
2063return test_array [0];
2064
2065 ;
2066 return 0;
2067}
2068_ACEOF
2069if ac_fn_c_try_compile "$LINENO"; then :
2070 ac_hi=$ac_mid; break
2071else
2072 as_fn_arith $ac_mid + 1 && ac_lo=$as_val
2073 if test $ac_lo -le $ac_mid; then
2074 ac_lo= ac_hi=
2075 break
2076 fi
2077 as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
2078fi
2079rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2080 done
2081else
2082 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2083/* end confdefs.h. */
2084$4
2085int
2086main ()
2087{
2088static int test_array [1 - 2 * !(($2) < 0)];
2089test_array [0] = 0;
2090return test_array [0];
2091
2092 ;
2093 return 0;
2094}
2095_ACEOF
2096if ac_fn_c_try_compile "$LINENO"; then :
2097 ac_hi=-1 ac_mid=-1
2098 while :; do
2099 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2100/* end confdefs.h. */
2101$4
2102int
2103main ()
2104{
2105static int test_array [1 - 2 * !(($2) >= $ac_mid)];
2106test_array [0] = 0;
2107return test_array [0];
2108
2109 ;
2110 return 0;
2111}
2112_ACEOF
2113if ac_fn_c_try_compile "$LINENO"; then :
2114 ac_lo=$ac_mid; break
2115else
2116 as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
2117 if test $ac_mid -le $ac_hi; then
2118 ac_lo= ac_hi=
2119 break
2120 fi
2121 as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
2122fi
2123rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2124 done
2125else
2126 ac_lo= ac_hi=
2127fi
2128rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2129fi
2130rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2131# Binary search between lo and hi bounds.
2132while test "x$ac_lo" != "x$ac_hi"; do
2133 as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
2134 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2135/* end confdefs.h. */
2136$4
2137int
2138main ()
2139{
2140static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2141test_array [0] = 0;
2142return test_array [0];
2143
2144 ;
2145 return 0;
2146}
2147_ACEOF
2148if ac_fn_c_try_compile "$LINENO"; then :
2149 ac_hi=$ac_mid
2150else
2151 as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
2152fi
2153rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2154done
2155case $ac_lo in #((
2156?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
2157'') ac_retval=1 ;;
2158esac
2159 else
2160 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2161/* end confdefs.h. */
2162$4
2163static long int longval () { return $2; }
2164static unsigned long int ulongval () { return $2; }
2165#include <stdio.h>
2166#include <stdlib.h>
2167int
2168main ()
2169{
2170
2171 FILE *f = fopen ("conftest.val", "w");
2172 if (! f)
2173 return 1;
2174 if (($2) < 0)
2175 {
2176 long int i = longval ();
2177 if (i != ($2))
2178 return 1;
2179 fprintf (f, "%ld", i);
2180 }
2181 else
2182 {
2183 unsigned long int i = ulongval ();
2184 if (i != ($2))
2185 return 1;
2186 fprintf (f, "%lu", i);
2187 }
2188 /* Do not output a trailing newline, as this causes \r\n confusion
2189 on some platforms. */
2190 return ferror (f) || fclose (f) != 0;
2191
2192 ;
2193 return 0;
2194}
2195_ACEOF
2196if ac_fn_c_try_run "$LINENO"; then :
2197 echo >>conftest.val; read $3 <conftest.val; ac_retval=0
2198else
2199 ac_retval=1
2200fi
2201rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
2202 conftest.$ac_objext conftest.beam conftest.$ac_ext
2203rm -f conftest.val
2204
2205 fi
2206 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2207 as_fn_set_status $ac_retval
2208
2209} # ac_fn_c_compute_int
2210
2211# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
2212# ----------------------------------------------------
2213# Tries to find if the field MEMBER exists in type AGGR, after including
2214# INCLUDES, setting cache variable VAR accordingly.
2215ac_fn_c_check_member ()
2216{
2217 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2218 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
2219$as_echo_n "checking for $2.$3... " >&6; }
2220if eval \${$4+:} false; then :
2221 $as_echo_n "(cached) " >&6
2222else
2223 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2224/* end confdefs.h. */
2225$5
2226int
2227main ()
2228{
2229static $2 ac_aggr;
2230if (ac_aggr.$3)
2231return 0;
2232 ;
2233 return 0;
2234}
2235_ACEOF
2236if ac_fn_c_try_compile "$LINENO"; then :
2237 eval "$4=yes"
2238else
2239 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2240/* end confdefs.h. */
2241$5
2242int
2243main ()
2244{
2245static $2 ac_aggr;
2246if (sizeof ac_aggr.$3)
2247return 0;
2248 ;
2249 return 0;
2250}
2251_ACEOF
2252if ac_fn_c_try_compile "$LINENO"; then :
2253 eval "$4=yes"
2254else
2255 eval "$4=no"
2256fi
2257rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2258fi
2259rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2260fi
2261eval ac_res=\$$4
2262 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2263$as_echo "$ac_res" >&6; }
2264 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2265
2266} # ac_fn_c_check_member
2267cat >config.log <<_ACEOF
2268This file contains any messages produced by compilers while
2269running configure, to aid debugging if configure makes a mistake.
2270
2271It was created by OpenSSH $as_me Portable, which was
2272generated by GNU Autoconf 2.69. Invocation command line was
2273
2274 $ $0 $@
2275
2276_ACEOF
2277exec 5>>config.log
2278{
2279cat <<_ASUNAME
2280## --------- ##
2281## Platform. ##
2282## --------- ##
2283
2284hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2285uname -m = `(uname -m) 2>/dev/null || echo unknown`
2286uname -r = `(uname -r) 2>/dev/null || echo unknown`
2287uname -s = `(uname -s) 2>/dev/null || echo unknown`
2288uname -v = `(uname -v) 2>/dev/null || echo unknown`
2289
2290/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2291/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
2292
2293/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
2294/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
2295/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2296/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
2297/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
2298/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
2299/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
2300
2301_ASUNAME
2302
2303as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2304for as_dir in $PATH
2305do
2306 IFS=$as_save_IFS
2307 test -z "$as_dir" && as_dir=.
2308 $as_echo "PATH: $as_dir"
2309 done
2310IFS=$as_save_IFS
2311
2312} >&5
2313
2314cat >&5 <<_ACEOF
2315
2316
2317## ----------- ##
2318## Core tests. ##
2319## ----------- ##
2320
2321_ACEOF
2322
2323
2324# Keep a trace of the command line.
2325# Strip out --no-create and --no-recursion so they do not pile up.
2326# Strip out --silent because we don't want to record it for future runs.
2327# Also quote any args containing shell meta-characters.
2328# Make two passes to allow for proper duplicate-argument suppression.
2329ac_configure_args=
2330ac_configure_args0=
2331ac_configure_args1=
2332ac_must_keep_next=false
2333for ac_pass in 1 2
2334do
2335 for ac_arg
2336 do
2337 case $ac_arg in
2338 -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2339 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2340 | -silent | --silent | --silen | --sile | --sil)
2341 continue ;;
2342 *\'*)
2343 ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2344 esac
2345 case $ac_pass in
2346 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2347 2)
2348 as_fn_append ac_configure_args1 " '$ac_arg'"
2349 if test $ac_must_keep_next = true; then
2350 ac_must_keep_next=false # Got value, back to normal.
2351 else
2352 case $ac_arg in
2353 *=* | --config-cache | -C | -disable-* | --disable-* \
2354 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2355 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2356 | -with-* | --with-* | -without-* | --without-* | --x)
2357 case "$ac_configure_args0 " in
2358 "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2359 esac
2360 ;;
2361 -* ) ac_must_keep_next=true ;;
2362 esac
2363 fi
2364 as_fn_append ac_configure_args " '$ac_arg'"
2365 ;;
2366 esac
2367 done
2368done
2369{ ac_configure_args0=; unset ac_configure_args0;}
2370{ ac_configure_args1=; unset ac_configure_args1;}
2371
2372# When interrupted or exit'd, cleanup temporary files, and complete
2373# config.log. We remove comments because anyway the quotes in there
2374# would cause problems or look ugly.
2375# WARNING: Use '\'' to represent an apostrophe within the trap.
2376# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
2377trap 'exit_status=$?
2378 # Save into config.log some information that might help in debugging.
2379 {
2380 echo
2381
2382 $as_echo "## ---------------- ##
2383## Cache variables. ##
2384## ---------------- ##"
2385 echo
2386 # The following way of writing the cache mishandles newlines in values,
2387(
2388 for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
2389 eval ac_val=\$$ac_var
2390 case $ac_val in #(
2391 *${as_nl}*)
2392 case $ac_var in #(
2393 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
2394$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2395 esac
2396 case $ac_var in #(
2397 _ | IFS | as_nl) ;; #(
2398 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
2399 *) { eval $ac_var=; unset $ac_var;} ;;
2400 esac ;;
2401 esac
2402 done
2403 (set) 2>&1 |
2404 case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
2405 *${as_nl}ac_space=\ *)
2406 sed -n \
2407 "s/'\''/'\''\\\\'\'''\''/g;
2408 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
2409 ;; #(
2410 *)
2411 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
2412 ;;
2413 esac |
2414 sort
2415)
2416 echo
2417
2418 $as_echo "## ----------------- ##
2419## Output variables. ##
2420## ----------------- ##"
2421 echo
2422 for ac_var in $ac_subst_vars
2423 do
2424 eval ac_val=\$$ac_var
2425 case $ac_val in
2426 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2427 esac
2428 $as_echo "$ac_var='\''$ac_val'\''"
2429 done | sort
2430 echo
2431
2432 if test -n "$ac_subst_files"; then
2433 $as_echo "## ------------------- ##
2434## File substitutions. ##
2435## ------------------- ##"
2436 echo
2437 for ac_var in $ac_subst_files
2438 do
2439 eval ac_val=\$$ac_var
2440 case $ac_val in
2441 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2442 esac
2443 $as_echo "$ac_var='\''$ac_val'\''"
2444 done | sort
2445 echo
2446 fi
2447
2448 if test -s confdefs.h; then
2449 $as_echo "## ----------- ##
2450## confdefs.h. ##
2451## ----------- ##"
2452 echo
2453 cat confdefs.h
2454 echo
2455 fi
2456 test "$ac_signal" != 0 &&
2457 $as_echo "$as_me: caught signal $ac_signal"
2458 $as_echo "$as_me: exit $exit_status"
2459 } >&5
2460 rm -f core *.core core.conftest.* &&
2461 rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
2462 exit $exit_status
2463' 0
2464for ac_signal in 1 2 13 15; do
2465 trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
2466done
2467ac_signal=0
2468
2469# confdefs.h avoids OS command line length limits that DEFS can exceed.
2470rm -f -r conftest* confdefs.h
2471
2472$as_echo "/* confdefs.h */" > confdefs.h
2473
2474# Predefined preprocessor variables.
2475
2476cat >>confdefs.h <<_ACEOF
2477#define PACKAGE_NAME "$PACKAGE_NAME"
2478_ACEOF
2479
2480cat >>confdefs.h <<_ACEOF
2481#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
2482_ACEOF
2483
2484cat >>confdefs.h <<_ACEOF
2485#define PACKAGE_VERSION "$PACKAGE_VERSION"
2486_ACEOF
2487
2488cat >>confdefs.h <<_ACEOF
2489#define PACKAGE_STRING "$PACKAGE_STRING"
2490_ACEOF
2491
2492cat >>confdefs.h <<_ACEOF
2493#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
2494_ACEOF
2495
2496cat >>confdefs.h <<_ACEOF
2497#define PACKAGE_URL "$PACKAGE_URL"
2498_ACEOF
2499
2500
2501# Let the site file select an alternate cache file if it wants to.
2502# Prefer an explicitly selected file to automatically selected ones.
2503ac_site_file1=NONE
2504ac_site_file2=NONE
2505if test -n "$CONFIG_SITE"; then
2506 # We do not want a PATH search for config.site.
2507 case $CONFIG_SITE in #((
2508 -*) ac_site_file1=./$CONFIG_SITE;;
2509 */*) ac_site_file1=$CONFIG_SITE;;
2510 *) ac_site_file1=./$CONFIG_SITE;;
2511 esac
2512elif test "x$prefix" != xNONE; then
2513 ac_site_file1=$prefix/share/config.site
2514 ac_site_file2=$prefix/etc/config.site
2515else
2516 ac_site_file1=$ac_default_prefix/share/config.site
2517 ac_site_file2=$ac_default_prefix/etc/config.site
2518fi
2519for ac_site_file in "$ac_site_file1" "$ac_site_file2"
2520do
2521 test "x$ac_site_file" = xNONE && continue
2522 if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
2523 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
2524$as_echo "$as_me: loading site script $ac_site_file" >&6;}
2525 sed 's/^/| /' "$ac_site_file" >&5
2526 . "$ac_site_file" \
2527 || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2528$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2529as_fn_error $? "failed to load site script $ac_site_file
2530See \`config.log' for more details" "$LINENO" 5; }
2531 fi
2532done
2533
2534if test -r "$cache_file"; then
2535 # Some versions of bash will fail to source /dev/null (special files
2536 # actually), so we avoid doing that. DJGPP emulates it as a regular file.
2537 if test /dev/null != "$cache_file" && test -f "$cache_file"; then
2538 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
2539$as_echo "$as_me: loading cache $cache_file" >&6;}
2540 case $cache_file in
2541 [\\/]* | ?:[\\/]* ) . "$cache_file";;
2542 *) . "./$cache_file";;
2543 esac
2544 fi
2545else
2546 { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
2547$as_echo "$as_me: creating cache $cache_file" >&6;}
2548 >$cache_file
2549fi
2550
2551# Check that the precious variables saved in the cache have kept the same
2552# value.
2553ac_cache_corrupted=false
2554for ac_var in $ac_precious_vars; do
2555 eval ac_old_set=\$ac_cv_env_${ac_var}_set
2556 eval ac_new_set=\$ac_env_${ac_var}_set
2557 eval ac_old_val=\$ac_cv_env_${ac_var}_value
2558 eval ac_new_val=\$ac_env_${ac_var}_value
2559 case $ac_old_set,$ac_new_set in
2560 set,)
2561 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
2562$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
2563 ac_cache_corrupted=: ;;
2564 ,set)
2565 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
2566$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
2567 ac_cache_corrupted=: ;;
2568 ,);;
2569 *)
2570 if test "x$ac_old_val" != "x$ac_new_val"; then
2571 # differences in whitespace do not lead to failure.
2572 ac_old_val_w=`echo x $ac_old_val`
2573 ac_new_val_w=`echo x $ac_new_val`
2574 if test "$ac_old_val_w" != "$ac_new_val_w"; then
2575 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
2576$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
2577 ac_cache_corrupted=:
2578 else
2579 { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
2580$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
2581 eval $ac_var=\$ac_old_val
2582 fi
2583 { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
2584$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
2585 { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
2586$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
2587 fi;;
2588 esac
2589 # Pass precious variables to config.status.
2590 if test "$ac_new_set" = set; then
2591 case $ac_new_val in
2592 *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
2593 *) ac_arg=$ac_var=$ac_new_val ;;
2594 esac
2595 case " $ac_configure_args " in
2596 *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
2597 *) as_fn_append ac_configure_args " '$ac_arg'" ;;
2598 esac
2599 fi
2600done
2601if $ac_cache_corrupted; then
2602 { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2603$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2604 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
2605$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2606 as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
2607fi
2608## -------------------- ##
2609## Main body of script. ##
2610## -------------------- ##
2611
2612ac_ext=c
2613ac_cpp='$CPP $CPPFLAGS'
2614ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2615ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2616ac_compiler_gnu=$ac_cv_c_compiler_gnu
2617
2618
2619
2620
2621ac_ext=c
2622ac_cpp='$CPP $CPPFLAGS'
2623ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2624ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2625ac_compiler_gnu=$ac_cv_c_compiler_gnu
2626
2627
2628ac_config_headers="$ac_config_headers config.h"
2629
2630ac_ext=c
2631ac_cpp='$CPP $CPPFLAGS'
2632ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2633ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2634ac_compiler_gnu=$ac_cv_c_compiler_gnu
2635if test -n "$ac_tool_prefix"; then
2636 for ac_prog in cc gcc
2637 do
2638 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
2639set dummy $ac_tool_prefix$ac_prog; ac_word=$2
2640{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2641$as_echo_n "checking for $ac_word... " >&6; }
2642if ${ac_cv_prog_CC+:} false; then :
2643 $as_echo_n "(cached) " >&6
2644else
2645 if test -n "$CC"; then
2646 ac_cv_prog_CC="$CC" # Let the user override the test.
2647else
2648as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2649for as_dir in $PATH
2650do
2651 IFS=$as_save_IFS
2652 test -z "$as_dir" && as_dir=.
2653 for ac_exec_ext in '' $ac_executable_extensions; do
2654 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2655 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
2656 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2657 break 2
2658 fi
2659done
2660 done
2661IFS=$as_save_IFS
2662
2663fi
2664fi
2665CC=$ac_cv_prog_CC
2666if test -n "$CC"; then
2667 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
2668$as_echo "$CC" >&6; }
2669else
2670 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2671$as_echo "no" >&6; }
2672fi
2673
2674
2675 test -n "$CC" && break
2676 done
2677fi
2678if test -z "$CC"; then
2679 ac_ct_CC=$CC
2680 for ac_prog in cc gcc
2681do
2682 # Extract the first word of "$ac_prog", so it can be a program name with args.
2683set dummy $ac_prog; ac_word=$2
2684{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2685$as_echo_n "checking for $ac_word... " >&6; }
2686if ${ac_cv_prog_ac_ct_CC+:} false; then :
2687 $as_echo_n "(cached) " >&6
2688else
2689 if test -n "$ac_ct_CC"; then
2690 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
2691else
2692as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2693for as_dir in $PATH
2694do
2695 IFS=$as_save_IFS
2696 test -z "$as_dir" && as_dir=.
2697 for ac_exec_ext in '' $ac_executable_extensions; do
2698 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2699 ac_cv_prog_ac_ct_CC="$ac_prog"
2700 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2701 break 2
2702 fi
2703done
2704 done
2705IFS=$as_save_IFS
2706
2707fi
2708fi
2709ac_ct_CC=$ac_cv_prog_ac_ct_CC
2710if test -n "$ac_ct_CC"; then
2711 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
2712$as_echo "$ac_ct_CC" >&6; }
2713else
2714 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2715$as_echo "no" >&6; }
2716fi
2717
2718
2719 test -n "$ac_ct_CC" && break
2720done
2721
2722 if test "x$ac_ct_CC" = x; then
2723 CC=""
2724 else
2725 case $cross_compiling:$ac_tool_warned in
2726yes:)
2727{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
2728$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
2729ac_tool_warned=yes ;;
2730esac
2731 CC=$ac_ct_CC
2732 fi
2733fi
2734
2735
2736test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2737$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2738as_fn_error $? "no acceptable C compiler found in \$PATH
2739See \`config.log' for more details" "$LINENO" 5; }
2740
2741# Provide some information about the compiler.
2742$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
2743set X $ac_compile
2744ac_compiler=$2
2745for ac_option in --version -v -V -qversion; do
2746 { { ac_try="$ac_compiler $ac_option >&5"
2747case "(($ac_try" in
2748 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2749 *) ac_try_echo=$ac_try;;
2750esac
2751eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2752$as_echo "$ac_try_echo"; } >&5
2753 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
2754 ac_status=$?
2755 if test -s conftest.err; then
2756 sed '10a\
2757... rest of stderr output deleted ...
2758 10q' conftest.err >conftest.er1
2759 cat conftest.er1 >&5
2760 fi
2761 rm -f conftest.er1 conftest.err
2762 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2763 test $ac_status = 0; }
2764done
2765
2766cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2767/* end confdefs.h. */
2768
2769int
2770main ()
2771{
2772
2773 ;
2774 return 0;
2775}
2776_ACEOF
2777ac_clean_files_save=$ac_clean_files
2778ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
2779# Try to create an executable without -o first, disregard a.out.
2780# It will help us diagnose broken compilers, and finding out an intuition
2781# of exeext.
2782{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
2783$as_echo_n "checking whether the C compiler works... " >&6; }
2784ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
2785
2786# The possible output files:
2787ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
2788
2789ac_rmfiles=
2790for ac_file in $ac_files
2791do
2792 case $ac_file in
2793 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
2794 * ) ac_rmfiles="$ac_rmfiles $ac_file";;
2795 esac
2796done
2797rm -f $ac_rmfiles
2798
2799if { { ac_try="$ac_link_default"
2800case "(($ac_try" in
2801 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2802 *) ac_try_echo=$ac_try;;
2803esac
2804eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2805$as_echo "$ac_try_echo"; } >&5
2806 (eval "$ac_link_default") 2>&5
2807 ac_status=$?
2808 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2809 test $ac_status = 0; }; then :
2810 # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
2811# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
2812# in a Makefile. We should not override ac_cv_exeext if it was cached,
2813# so that the user can short-circuit this test for compilers unknown to
2814# Autoconf.
2815for ac_file in $ac_files ''
2816do
2817 test -f "$ac_file" || continue
2818 case $ac_file in
2819 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
2820 ;;
2821 [ab].out )
2822 # We found the default executable, but exeext='' is most
2823 # certainly right.
2824 break;;
2825 *.* )
2826 if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
2827 then :; else
2828 ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
2829 fi
2830 # We set ac_cv_exeext here because the later test for it is not
2831 # safe: cross compilers may not add the suffix if given an `-o'
2832 # argument, so we may need to know it at that point already.
2833 # Even if this section looks crufty: it has the advantage of
2834 # actually working.
2835 break;;
2836 * )
2837 break;;
2838 esac
2839done
2840test "$ac_cv_exeext" = no && ac_cv_exeext=
2841
2842else
2843 ac_file=''
2844fi
2845if test -z "$ac_file"; then :
2846 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2847$as_echo "no" >&6; }
2848$as_echo "$as_me: failed program was:" >&5
2849sed 's/^/| /' conftest.$ac_ext >&5
2850
2851{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2852$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2853as_fn_error 77 "C compiler cannot create executables
2854See \`config.log' for more details" "$LINENO" 5; }
2855else
2856 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
2857$as_echo "yes" >&6; }
2858fi
2859{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
2860$as_echo_n "checking for C compiler default output file name... " >&6; }
2861{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
2862$as_echo "$ac_file" >&6; }
2863ac_exeext=$ac_cv_exeext
2864
2865rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
2866ac_clean_files=$ac_clean_files_save
2867{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
2868$as_echo_n "checking for suffix of executables... " >&6; }
2869if { { ac_try="$ac_link"
2870case "(($ac_try" in
2871 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2872 *) ac_try_echo=$ac_try;;
2873esac
2874eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2875$as_echo "$ac_try_echo"; } >&5
2876 (eval "$ac_link") 2>&5
2877 ac_status=$?
2878 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2879 test $ac_status = 0; }; then :
2880 # If both `conftest.exe' and `conftest' are `present' (well, observable)
2881# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
2882# work properly (i.e., refer to `conftest.exe'), while it won't with
2883# `rm'.
2884for ac_file in conftest.exe conftest conftest.*; do
2885 test -f "$ac_file" || continue
2886 case $ac_file in
2887 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
2888 *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
2889 break;;
2890 * ) break;;
2891 esac
2892done
2893else
2894 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2895$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2896as_fn_error $? "cannot compute suffix of executables: cannot compile and link
2897See \`config.log' for more details" "$LINENO" 5; }
2898fi
2899rm -f conftest conftest$ac_cv_exeext
2900{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
2901$as_echo "$ac_cv_exeext" >&6; }
2902
2903rm -f conftest.$ac_ext
2904EXEEXT=$ac_cv_exeext
2905ac_exeext=$EXEEXT
2906cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2907/* end confdefs.h. */
2908#include <stdio.h>
2909int
2910main ()
2911{
2912FILE *f = fopen ("conftest.out", "w");
2913 return ferror (f) || fclose (f) != 0;
2914
2915 ;
2916 return 0;
2917}
2918_ACEOF
2919ac_clean_files="$ac_clean_files conftest.out"
2920# Check that the compiler produces executables we can run. If not, either
2921# the compiler is broken, or we cross compile.
2922{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
2923$as_echo_n "checking whether we are cross compiling... " >&6; }
2924if test "$cross_compiling" != yes; then
2925 { { ac_try="$ac_link"
2926case "(($ac_try" in
2927 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2928 *) ac_try_echo=$ac_try;;
2929esac
2930eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2931$as_echo "$ac_try_echo"; } >&5
2932 (eval "$ac_link") 2>&5
2933 ac_status=$?
2934 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2935 test $ac_status = 0; }
2936 if { ac_try='./conftest$ac_cv_exeext'
2937 { { case "(($ac_try" in
2938 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2939 *) ac_try_echo=$ac_try;;
2940esac
2941eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2942$as_echo "$ac_try_echo"; } >&5
2943 (eval "$ac_try") 2>&5
2944 ac_status=$?
2945 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2946 test $ac_status = 0; }; }; then
2947 cross_compiling=no
2948 else
2949 if test "$cross_compiling" = maybe; then
2950 cross_compiling=yes
2951 else
2952 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2953$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2954as_fn_error $? "cannot run C compiled programs.
2955If you meant to cross compile, use \`--host'.
2956See \`config.log' for more details" "$LINENO" 5; }
2957 fi
2958 fi
2959fi
2960{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
2961$as_echo "$cross_compiling" >&6; }
2962
2963rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
2964ac_clean_files=$ac_clean_files_save
2965{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
2966$as_echo_n "checking for suffix of object files... " >&6; }
2967if ${ac_cv_objext+:} false; then :
2968 $as_echo_n "(cached) " >&6
2969else
2970 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2971/* end confdefs.h. */
2972
2973int
2974main ()
2975{
2976
2977 ;
2978 return 0;
2979}
2980_ACEOF
2981rm -f conftest.o conftest.obj
2982if { { ac_try="$ac_compile"
2983case "(($ac_try" in
2984 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2985 *) ac_try_echo=$ac_try;;
2986esac
2987eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2988$as_echo "$ac_try_echo"; } >&5
2989 (eval "$ac_compile") 2>&5
2990 ac_status=$?
2991 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2992 test $ac_status = 0; }; then :
2993 for ac_file in conftest.o conftest.obj conftest.*; do
2994 test -f "$ac_file" || continue;
2995 case $ac_file in
2996 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
2997 *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
2998 break;;
2999 esac
3000done
3001else
3002 $as_echo "$as_me: failed program was:" >&5
3003sed 's/^/| /' conftest.$ac_ext >&5
3004
3005{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3006$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3007as_fn_error $? "cannot compute suffix of object files: cannot compile
3008See \`config.log' for more details" "$LINENO" 5; }
3009fi
3010rm -f conftest.$ac_cv_objext conftest.$ac_ext
3011fi
3012{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
3013$as_echo "$ac_cv_objext" >&6; }
3014OBJEXT=$ac_cv_objext
3015ac_objext=$OBJEXT
3016{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
3017$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
3018if ${ac_cv_c_compiler_gnu+:} false; then :
3019 $as_echo_n "(cached) " >&6
3020else
3021 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3022/* end confdefs.h. */
3023
3024int
3025main ()
3026{
3027#ifndef __GNUC__
3028 choke me
3029#endif
3030
3031 ;
3032 return 0;
3033}
3034_ACEOF
3035if ac_fn_c_try_compile "$LINENO"; then :
3036 ac_compiler_gnu=yes
3037else
3038 ac_compiler_gnu=no
3039fi
3040rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3041ac_cv_c_compiler_gnu=$ac_compiler_gnu
3042
3043fi
3044{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
3045$as_echo "$ac_cv_c_compiler_gnu" >&6; }
3046if test $ac_compiler_gnu = yes; then
3047 GCC=yes
3048else
3049 GCC=
3050fi
3051ac_test_CFLAGS=${CFLAGS+set}
3052ac_save_CFLAGS=$CFLAGS
3053{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
3054$as_echo_n "checking whether $CC accepts -g... " >&6; }
3055if ${ac_cv_prog_cc_g+:} false; then :
3056 $as_echo_n "(cached) " >&6
3057else
3058 ac_save_c_werror_flag=$ac_c_werror_flag
3059 ac_c_werror_flag=yes
3060 ac_cv_prog_cc_g=no
3061 CFLAGS="-g"
3062 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3063/* end confdefs.h. */
3064
3065int
3066main ()
3067{
3068
3069 ;
3070 return 0;
3071}
3072_ACEOF
3073if ac_fn_c_try_compile "$LINENO"; then :
3074 ac_cv_prog_cc_g=yes
3075else
3076 CFLAGS=""
3077 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3078/* end confdefs.h. */
3079
3080int
3081main ()
3082{
3083
3084 ;
3085 return 0;
3086}
3087_ACEOF
3088if ac_fn_c_try_compile "$LINENO"; then :
3089
3090else
3091 ac_c_werror_flag=$ac_save_c_werror_flag
3092 CFLAGS="-g"
3093 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3094/* end confdefs.h. */
3095
3096int
3097main ()
3098{
3099
3100 ;
3101 return 0;
3102}
3103_ACEOF
3104if ac_fn_c_try_compile "$LINENO"; then :
3105 ac_cv_prog_cc_g=yes
3106fi
3107rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3108fi
3109rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3110fi
3111rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3112 ac_c_werror_flag=$ac_save_c_werror_flag
3113fi
3114{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
3115$as_echo "$ac_cv_prog_cc_g" >&6; }
3116if test "$ac_test_CFLAGS" = set; then
3117 CFLAGS=$ac_save_CFLAGS
3118elif test $ac_cv_prog_cc_g = yes; then
3119 if test "$GCC" = yes; then
3120 CFLAGS="-g -O2"
3121 else
3122 CFLAGS="-g"
3123 fi
3124else
3125 if test "$GCC" = yes; then
3126 CFLAGS="-O2"
3127 else
3128 CFLAGS=
3129 fi
3130fi
3131{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
3132$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
3133if ${ac_cv_prog_cc_c89+:} false; then :
3134 $as_echo_n "(cached) " >&6
3135else
3136 ac_cv_prog_cc_c89=no
3137ac_save_CC=$CC
3138cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3139/* end confdefs.h. */
3140#include <stdarg.h>
3141#include <stdio.h>
3142struct stat;
3143/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
3144struct buf { int x; };
3145FILE * (*rcsopen) (struct buf *, struct stat *, int);
3146static char *e (p, i)
3147 char **p;
3148 int i;
3149{
3150 return p[i];
3151}
3152static char *f (char * (*g) (char **, int), char **p, ...)
3153{
3154 char *s;
3155 va_list v;
3156 va_start (v,p);
3157 s = g (p, va_arg (v,int));
3158 va_end (v);
3159 return s;
3160}
3161
3162/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
3163 function prototypes and stuff, but not '\xHH' hex character constants.
3164 These don't provoke an error unfortunately, instead are silently treated
3165 as 'x'. The following induces an error, until -std is added to get
3166 proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
3167 array size at least. It's necessary to write '\x00'==0 to get something
3168 that's true only with -std. */
3169int osf4_cc_array ['\x00' == 0 ? 1 : -1];
3170
3171/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
3172 inside strings and character constants. */
3173#define FOO(x) 'x'
3174int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
3175
3176int test (int i, double x);
3177struct s1 {int (*f) (int a);};
3178struct s2 {int (*f) (double a);};
3179int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
3180int argc;
3181char **argv;
3182int
3183main ()
3184{
3185return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
3186 ;
3187 return 0;
3188}
3189_ACEOF
3190for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
3191 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
3192do
3193 CC="$ac_save_CC $ac_arg"
3194 if ac_fn_c_try_compile "$LINENO"; then :
3195 ac_cv_prog_cc_c89=$ac_arg
3196fi
3197rm -f core conftest.err conftest.$ac_objext
3198 test "x$ac_cv_prog_cc_c89" != "xno" && break
3199done
3200rm -f conftest.$ac_ext
3201CC=$ac_save_CC
3202
3203fi
3204# AC_CACHE_VAL
3205case "x$ac_cv_prog_cc_c89" in
3206 x)
3207 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
3208$as_echo "none needed" >&6; } ;;
3209 xno)
3210 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
3211$as_echo "unsupported" >&6; } ;;
3212 *)
3213 CC="$CC $ac_cv_prog_cc_c89"
3214 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
3215$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
3216esac
3217if test "x$ac_cv_prog_cc_c89" != xno; then :
3218
3219fi
3220
3221ac_ext=c
3222ac_cpp='$CPP $CPPFLAGS'
3223ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3224ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3225ac_compiler_gnu=$ac_cv_c_compiler_gnu
3226
3227ac_aux_dir=
3228for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
3229 if test -f "$ac_dir/install-sh"; then
3230 ac_aux_dir=$ac_dir
3231 ac_install_sh="$ac_aux_dir/install-sh -c"
3232 break
3233 elif test -f "$ac_dir/install.sh"; then
3234 ac_aux_dir=$ac_dir
3235 ac_install_sh="$ac_aux_dir/install.sh -c"
3236 break
3237 elif test -f "$ac_dir/shtool"; then
3238 ac_aux_dir=$ac_dir
3239 ac_install_sh="$ac_aux_dir/shtool install -c"
3240 break
3241 fi
3242done
3243if test -z "$ac_aux_dir"; then
3244 as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
3245fi
3246
3247# These three variables are undocumented and unsupported,
3248# and are intended to be withdrawn in a future Autoconf release.
3249# They can cause serious problems if a builder's source tree is in a directory
3250# whose full name contains unusual characters.
3251ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
3252ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
3253ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
3254
3255
3256# Make sure we can run config.sub.
3257$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
3258 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
3259
3260{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
3261$as_echo_n "checking build system type... " >&6; }
3262if ${ac_cv_build+:} false; then :
3263 $as_echo_n "(cached) " >&6
3264else
3265 ac_build_alias=$build_alias
3266test "x$ac_build_alias" = x &&
3267 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
3268test "x$ac_build_alias" = x &&
3269 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
3270ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
3271 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
3272
3273fi
3274{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
3275$as_echo "$ac_cv_build" >&6; }
3276case $ac_cv_build in
3277*-*-*) ;;
3278*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
3279esac
3280build=$ac_cv_build
3281ac_save_IFS=$IFS; IFS='-'
3282set x $ac_cv_build
3283shift
3284build_cpu=$1
3285build_vendor=$2
3286shift; shift
3287# Remember, the first character of IFS is used to create $*,
3288# except with old shells:
3289build_os=$*
3290IFS=$ac_save_IFS
3291case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
3292
3293
3294{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
3295$as_echo_n "checking host system type... " >&6; }
3296if ${ac_cv_host+:} false; then :
3297 $as_echo_n "(cached) " >&6
3298else
3299 if test "x$host_alias" = x; then
3300 ac_cv_host=$ac_cv_build
3301else
3302 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
3303 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
3304fi
3305
3306fi
3307{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
3308$as_echo "$ac_cv_host" >&6; }
3309case $ac_cv_host in
3310*-*-*) ;;
3311*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
3312esac
3313host=$ac_cv_host
3314ac_save_IFS=$IFS; IFS='-'
3315set x $ac_cv_host
3316shift
3317host_cpu=$1
3318host_vendor=$2
3319shift; shift
3320# Remember, the first character of IFS is used to create $*,
3321# except with old shells:
3322host_os=$*
3323IFS=$ac_save_IFS
3324case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
3325
3326
3327
3328ac_ext=c
3329ac_cpp='$CPP $CPPFLAGS'
3330ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3331ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3332ac_compiler_gnu=$ac_cv_c_compiler_gnu
3333{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
3334$as_echo_n "checking how to run the C preprocessor... " >&6; }
3335# On Suns, sometimes $CPP names a directory.
3336if test -n "$CPP" && test -d "$CPP"; then
3337 CPP=
3338fi
3339if test -z "$CPP"; then
3340 if ${ac_cv_prog_CPP+:} false; then :
3341 $as_echo_n "(cached) " >&6
3342else
3343 # Double quotes because CPP needs to be expanded
3344 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
3345 do
3346 ac_preproc_ok=false
3347for ac_c_preproc_warn_flag in '' yes
3348do
3349 # Use a header file that comes with gcc, so configuring glibc
3350 # with a fresh cross-compiler works.
3351 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
3352 # <limits.h> exists even on freestanding compilers.
3353 # On the NeXT, cc -E runs the code through the compiler's parser,
3354 # not just through cpp. "Syntax error" is here to catch this case.
3355 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3356/* end confdefs.h. */
3357#ifdef __STDC__
3358# include <limits.h>
3359#else
3360# include <assert.h>
3361#endif
3362 Syntax error
3363_ACEOF
3364if ac_fn_c_try_cpp "$LINENO"; then :
3365
3366else
3367 # Broken: fails on valid input.
3368continue
3369fi
3370rm -f conftest.err conftest.i conftest.$ac_ext
3371
3372 # OK, works on sane cases. Now check whether nonexistent headers
3373 # can be detected and how.
3374 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3375/* end confdefs.h. */
3376#include <ac_nonexistent.h>
3377_ACEOF
3378if ac_fn_c_try_cpp "$LINENO"; then :
3379 # Broken: success on invalid input.
3380continue
3381else
3382 # Passes both tests.
3383ac_preproc_ok=:
3384break
3385fi
3386rm -f conftest.err conftest.i conftest.$ac_ext
3387
3388done
3389# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
3390rm -f conftest.i conftest.err conftest.$ac_ext
3391if $ac_preproc_ok; then :
3392 break
3393fi
3394
3395 done
3396 ac_cv_prog_CPP=$CPP
3397
3398fi
3399 CPP=$ac_cv_prog_CPP
3400else
3401 ac_cv_prog_CPP=$CPP
3402fi
3403{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
3404$as_echo "$CPP" >&6; }
3405ac_preproc_ok=false
3406for ac_c_preproc_warn_flag in '' yes
3407do
3408 # Use a header file that comes with gcc, so configuring glibc
3409 # with a fresh cross-compiler works.
3410 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
3411 # <limits.h> exists even on freestanding compilers.
3412 # On the NeXT, cc -E runs the code through the compiler's parser,
3413 # not just through cpp. "Syntax error" is here to catch this case.
3414 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3415/* end confdefs.h. */
3416#ifdef __STDC__
3417# include <limits.h>
3418#else
3419# include <assert.h>
3420#endif
3421 Syntax error
3422_ACEOF
3423if ac_fn_c_try_cpp "$LINENO"; then :
3424
3425else
3426 # Broken: fails on valid input.
3427continue
3428fi
3429rm -f conftest.err conftest.i conftest.$ac_ext
3430
3431 # OK, works on sane cases. Now check whether nonexistent headers
3432 # can be detected and how.
3433 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3434/* end confdefs.h. */
3435#include <ac_nonexistent.h>
3436_ACEOF
3437if ac_fn_c_try_cpp "$LINENO"; then :
3438 # Broken: success on invalid input.
3439continue
3440else
3441 # Passes both tests.
3442ac_preproc_ok=:
3443break
3444fi
3445rm -f conftest.err conftest.i conftest.$ac_ext
3446
3447done
3448# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
3449rm -f conftest.i conftest.err conftest.$ac_ext
3450if $ac_preproc_ok; then :
3451
3452else
3453 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3454$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3455as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
3456See \`config.log' for more details" "$LINENO" 5; }
3457fi
3458
3459ac_ext=c
3460ac_cpp='$CPP $CPPFLAGS'
3461ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3462ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3463ac_compiler_gnu=$ac_cv_c_compiler_gnu
3464
3465
3466{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
3467$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
3468if ${ac_cv_path_GREP+:} false; then :
3469 $as_echo_n "(cached) " >&6
3470else
3471 if test -z "$GREP"; then
3472 ac_path_GREP_found=false
3473 # Loop through the user's path and test for each of PROGNAME-LIST
3474 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3475for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
3476do
3477 IFS=$as_save_IFS
3478 test -z "$as_dir" && as_dir=.
3479 for ac_prog in grep ggrep; do
3480 for ac_exec_ext in '' $ac_executable_extensions; do
3481 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
3482 as_fn_executable_p "$ac_path_GREP" || continue
3483# Check for GNU ac_path_GREP and select it if it is found.
3484 # Check for GNU $ac_path_GREP
3485case `"$ac_path_GREP" --version 2>&1` in
3486*GNU*)
3487 ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
3488*)
3489 ac_count=0
3490 $as_echo_n 0123456789 >"conftest.in"
3491 while :
3492 do
3493 cat "conftest.in" "conftest.in" >"conftest.tmp"
3494 mv "conftest.tmp" "conftest.in"
3495 cp "conftest.in" "conftest.nl"
3496 $as_echo 'GREP' >> "conftest.nl"
3497 "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
3498 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
3499 as_fn_arith $ac_count + 1 && ac_count=$as_val
3500 if test $ac_count -gt ${ac_path_GREP_max-0}; then
3501 # Best one so far, save it but keep looking for a better one
3502 ac_cv_path_GREP="$ac_path_GREP"
3503 ac_path_GREP_max=$ac_count
3504 fi
3505 # 10*(2^10) chars as input seems more than enough
3506 test $ac_count -gt 10 && break
3507 done
3508 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
3509esac
3510
3511 $ac_path_GREP_found && break 3
3512 done
3513 done
3514 done
3515IFS=$as_save_IFS
3516 if test -z "$ac_cv_path_GREP"; then
3517 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
3518 fi
3519else
3520 ac_cv_path_GREP=$GREP
3521fi
3522
3523fi
3524{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
3525$as_echo "$ac_cv_path_GREP" >&6; }
3526 GREP="$ac_cv_path_GREP"
3527
3528
3529{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
3530$as_echo_n "checking for egrep... " >&6; }
3531if ${ac_cv_path_EGREP+:} false; then :
3532 $as_echo_n "(cached) " >&6
3533else
3534 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
3535 then ac_cv_path_EGREP="$GREP -E"
3536 else
3537 if test -z "$EGREP"; then
3538 ac_path_EGREP_found=false
3539 # Loop through the user's path and test for each of PROGNAME-LIST
3540 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3541for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
3542do
3543 IFS=$as_save_IFS
3544 test -z "$as_dir" && as_dir=.
3545 for ac_prog in egrep; do
3546 for ac_exec_ext in '' $ac_executable_extensions; do
3547 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
3548 as_fn_executable_p "$ac_path_EGREP" || continue
3549# Check for GNU ac_path_EGREP and select it if it is found.
3550 # Check for GNU $ac_path_EGREP
3551case `"$ac_path_EGREP" --version 2>&1` in
3552*GNU*)
3553 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
3554*)
3555 ac_count=0
3556 $as_echo_n 0123456789 >"conftest.in"
3557 while :
3558 do
3559 cat "conftest.in" "conftest.in" >"conftest.tmp"
3560 mv "conftest.tmp" "conftest.in"
3561 cp "conftest.in" "conftest.nl"
3562 $as_echo 'EGREP' >> "conftest.nl"
3563 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
3564 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
3565 as_fn_arith $ac_count + 1 && ac_count=$as_val
3566 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
3567 # Best one so far, save it but keep looking for a better one
3568 ac_cv_path_EGREP="$ac_path_EGREP"
3569 ac_path_EGREP_max=$ac_count
3570 fi
3571 # 10*(2^10) chars as input seems more than enough
3572 test $ac_count -gt 10 && break
3573 done
3574 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
3575esac
3576
3577 $ac_path_EGREP_found && break 3
3578 done
3579 done
3580 done
3581IFS=$as_save_IFS
3582 if test -z "$ac_cv_path_EGREP"; then
3583 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
3584 fi
3585else
3586 ac_cv_path_EGREP=$EGREP
3587fi
3588
3589 fi
3590fi
3591{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
3592$as_echo "$ac_cv_path_EGREP" >&6; }
3593 EGREP="$ac_cv_path_EGREP"
3594
3595
3596{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
3597$as_echo_n "checking for ANSI C header files... " >&6; }
3598if ${ac_cv_header_stdc+:} false; then :
3599 $as_echo_n "(cached) " >&6
3600else
3601 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3602/* end confdefs.h. */
3603#include <stdlib.h>
3604#include <stdarg.h>
3605#include <string.h>
3606#include <float.h>
3607
3608int
3609main ()
3610{
3611
3612 ;
3613 return 0;
3614}
3615_ACEOF
3616if ac_fn_c_try_compile "$LINENO"; then :
3617 ac_cv_header_stdc=yes
3618else
3619 ac_cv_header_stdc=no
3620fi
3621rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3622
3623if test $ac_cv_header_stdc = yes; then
3624 # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
3625 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3626/* end confdefs.h. */
3627#include <string.h>
3628
3629_ACEOF
3630if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
3631 $EGREP "memchr" >/dev/null 2>&1; then :
3632
3633else
3634 ac_cv_header_stdc=no
3635fi
3636rm -f conftest*
3637
3638fi
3639
3640if test $ac_cv_header_stdc = yes; then
3641 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
3642 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3643/* end confdefs.h. */
3644#include <stdlib.h>
3645
3646_ACEOF
3647if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
3648 $EGREP "free" >/dev/null 2>&1; then :
3649
3650else
3651 ac_cv_header_stdc=no
3652fi
3653rm -f conftest*
3654
3655fi
3656
3657if test $ac_cv_header_stdc = yes; then
3658 # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
3659 if test "$cross_compiling" = yes; then :
3660 :
3661else
3662 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3663/* end confdefs.h. */
3664#include <ctype.h>
3665#include <stdlib.h>
3666#if ((' ' & 0x0FF) == 0x020)
3667# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
3668# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
3669#else
3670# define ISLOWER(c) \
3671 (('a' <= (c) && (c) <= 'i') \
3672 || ('j' <= (c) && (c) <= 'r') \
3673 || ('s' <= (c) && (c) <= 'z'))
3674# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
3675#endif
3676
3677#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
3678int
3679main ()
3680{
3681 int i;
3682 for (i = 0; i < 256; i++)
3683 if (XOR (islower (i), ISLOWER (i))
3684 || toupper (i) != TOUPPER (i))
3685 return 2;
3686 return 0;
3687}
3688_ACEOF
3689if ac_fn_c_try_run "$LINENO"; then :
3690
3691else
3692 ac_cv_header_stdc=no
3693fi
3694rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
3695 conftest.$ac_objext conftest.beam conftest.$ac_ext
3696fi
3697
3698fi
3699fi
3700{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
3701$as_echo "$ac_cv_header_stdc" >&6; }
3702if test $ac_cv_header_stdc = yes; then
3703
3704$as_echo "#define STDC_HEADERS 1" >>confdefs.h
3705
3706fi
3707
3708# On IRIX 5.3, sys/types and inttypes.h are conflicting.
3709for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
3710 inttypes.h stdint.h unistd.h
3711do :
3712 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
3713ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
3714"
3715if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
3716 cat >>confdefs.h <<_ACEOF
3717#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
3718_ACEOF
3719
3720fi
3721
3722done
3723
3724
3725 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
3726$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
3727if ${ac_cv_c_bigendian+:} false; then :
3728 $as_echo_n "(cached) " >&6
3729else
3730 ac_cv_c_bigendian=unknown
3731 # See if we're dealing with a universal compiler.
3732 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3733/* end confdefs.h. */
3734#ifndef __APPLE_CC__
3735 not a universal capable compiler
3736 #endif
3737 typedef int dummy;
3738
3739_ACEOF
3740if ac_fn_c_try_compile "$LINENO"; then :
3741
3742 # Check for potential -arch flags. It is not universal unless
3743 # there are at least two -arch flags with different values.
3744 ac_arch=
3745 ac_prev=
3746 for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
3747 if test -n "$ac_prev"; then
3748 case $ac_word in
3749 i?86 | x86_64 | ppc | ppc64)
3750 if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
3751 ac_arch=$ac_word
3752 else
3753 ac_cv_c_bigendian=universal
3754 break
3755 fi
3756 ;;
3757 esac
3758 ac_prev=
3759 elif test "x$ac_word" = "x-arch"; then
3760 ac_prev=arch
3761 fi
3762 done
3763fi
3764rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3765 if test $ac_cv_c_bigendian = unknown; then
3766 # See if sys/param.h defines the BYTE_ORDER macro.
3767 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3768/* end confdefs.h. */
3769#include <sys/types.h>
3770 #include <sys/param.h>
3771
3772int
3773main ()
3774{
3775#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
3776 && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
3777 && LITTLE_ENDIAN)
3778 bogus endian macros
3779 #endif
3780
3781 ;
3782 return 0;
3783}
3784_ACEOF
3785if ac_fn_c_try_compile "$LINENO"; then :
3786 # It does; now see whether it defined to BIG_ENDIAN or not.
3787 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3788/* end confdefs.h. */
3789#include <sys/types.h>
3790 #include <sys/param.h>
3791
3792int
3793main ()
3794{
3795#if BYTE_ORDER != BIG_ENDIAN
3796 not big endian
3797 #endif
3798
3799 ;
3800 return 0;
3801}
3802_ACEOF
3803if ac_fn_c_try_compile "$LINENO"; then :
3804 ac_cv_c_bigendian=yes
3805else
3806 ac_cv_c_bigendian=no
3807fi
3808rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3809fi
3810rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3811 fi
3812 if test $ac_cv_c_bigendian = unknown; then
3813 # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
3814 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3815/* end confdefs.h. */
3816#include <limits.h>
3817
3818int
3819main ()
3820{
3821#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
3822 bogus endian macros
3823 #endif
3824
3825 ;
3826 return 0;
3827}
3828_ACEOF
3829if ac_fn_c_try_compile "$LINENO"; then :
3830 # It does; now see whether it defined to _BIG_ENDIAN or not.
3831 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3832/* end confdefs.h. */
3833#include <limits.h>
3834
3835int
3836main ()
3837{
3838#ifndef _BIG_ENDIAN
3839 not big endian
3840 #endif
3841
3842 ;
3843 return 0;
3844}
3845_ACEOF
3846if ac_fn_c_try_compile "$LINENO"; then :
3847 ac_cv_c_bigendian=yes
3848else
3849 ac_cv_c_bigendian=no
3850fi
3851rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3852fi
3853rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3854 fi
3855 if test $ac_cv_c_bigendian = unknown; then
3856 # Compile a test program.
3857 if test "$cross_compiling" = yes; then :
3858 # Try to guess by grepping values from an object file.
3859 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3860/* end confdefs.h. */
3861short int ascii_mm[] =
3862 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
3863 short int ascii_ii[] =
3864 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
3865 int use_ascii (int i) {
3866 return ascii_mm[i] + ascii_ii[i];
3867 }
3868 short int ebcdic_ii[] =
3869 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
3870 short int ebcdic_mm[] =
3871 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
3872 int use_ebcdic (int i) {
3873 return ebcdic_mm[i] + ebcdic_ii[i];
3874 }
3875 extern int foo;
3876
3877int
3878main ()
3879{
3880return use_ascii (foo) == use_ebcdic (foo);
3881 ;
3882 return 0;
3883}
3884_ACEOF
3885if ac_fn_c_try_compile "$LINENO"; then :
3886 if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
3887 ac_cv_c_bigendian=yes
3888 fi
3889 if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
3890 if test "$ac_cv_c_bigendian" = unknown; then
3891 ac_cv_c_bigendian=no
3892 else
3893 # finding both strings is unlikely to happen, but who knows?
3894 ac_cv_c_bigendian=unknown
3895 fi
3896 fi
3897fi
3898rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3899else
3900 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3901/* end confdefs.h. */
3902$ac_includes_default
3903int
3904main ()
3905{
3906
3907 /* Are we little or big endian? From Harbison&Steele. */
3908 union
3909 {
3910 long int l;
3911 char c[sizeof (long int)];
3912 } u;
3913 u.l = 1;
3914 return u.c[sizeof (long int) - 1] == 1;
3915
3916 ;
3917 return 0;
3918}
3919_ACEOF
3920if ac_fn_c_try_run "$LINENO"; then :
3921 ac_cv_c_bigendian=no
3922else
3923 ac_cv_c_bigendian=yes
3924fi
3925rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
3926 conftest.$ac_objext conftest.beam conftest.$ac_ext
3927fi
3928
3929 fi
3930fi
3931{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
3932$as_echo "$ac_cv_c_bigendian" >&6; }
3933 case $ac_cv_c_bigendian in #(
3934 yes)
3935 $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
3936;; #(
3937 no)
3938 ;; #(
3939 universal)
3940
3941$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
3942
3943 ;; #(
3944 *)
3945 as_fn_error $? "unknown endianness
3946 presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
3947 esac
3948
3949
3950# Checks for programs.
3951for ac_prog in gawk mawk nawk awk
3952do
3953 # Extract the first word of "$ac_prog", so it can be a program name with args.
3954set dummy $ac_prog; ac_word=$2
3955{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3956$as_echo_n "checking for $ac_word... " >&6; }
3957if ${ac_cv_prog_AWK+:} false; then :
3958 $as_echo_n "(cached) " >&6
3959else
3960 if test -n "$AWK"; then
3961 ac_cv_prog_AWK="$AWK" # Let the user override the test.
3962else
3963as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3964for as_dir in $PATH
3965do
3966 IFS=$as_save_IFS
3967 test -z "$as_dir" && as_dir=.
3968 for ac_exec_ext in '' $ac_executable_extensions; do
3969 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3970 ac_cv_prog_AWK="$ac_prog"
3971 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3972 break 2
3973 fi
3974done
3975 done
3976IFS=$as_save_IFS
3977
3978fi
3979fi
3980AWK=$ac_cv_prog_AWK
3981if test -n "$AWK"; then
3982 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
3983$as_echo "$AWK" >&6; }
3984else
3985 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3986$as_echo "no" >&6; }
3987fi
3988
3989
3990 test -n "$AWK" && break
3991done
3992
3993ac_ext=c
3994ac_cpp='$CPP $CPPFLAGS'
3995ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3996ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3997ac_compiler_gnu=$ac_cv_c_compiler_gnu
3998{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
3999$as_echo_n "checking how to run the C preprocessor... " >&6; }
4000# On Suns, sometimes $CPP names a directory.
4001if test -n "$CPP" && test -d "$CPP"; then
4002 CPP=
4003fi
4004if test -z "$CPP"; then
4005 if ${ac_cv_prog_CPP+:} false; then :
4006 $as_echo_n "(cached) " >&6
4007else
4008 # Double quotes because CPP needs to be expanded
4009 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
4010 do
4011 ac_preproc_ok=false
4012for ac_c_preproc_warn_flag in '' yes
4013do
4014 # Use a header file that comes with gcc, so configuring glibc
4015 # with a fresh cross-compiler works.
4016 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4017 # <limits.h> exists even on freestanding compilers.
4018 # On the NeXT, cc -E runs the code through the compiler's parser,
4019 # not just through cpp. "Syntax error" is here to catch this case.
4020 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4021/* end confdefs.h. */
4022#ifdef __STDC__
4023# include <limits.h>
4024#else
4025# include <assert.h>
4026#endif
4027 Syntax error
4028_ACEOF
4029if ac_fn_c_try_cpp "$LINENO"; then :
4030
4031else
4032 # Broken: fails on valid input.
4033continue
4034fi
4035rm -f conftest.err conftest.i conftest.$ac_ext
4036
4037 # OK, works on sane cases. Now check whether nonexistent headers
4038 # can be detected and how.
4039 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4040/* end confdefs.h. */
4041#include <ac_nonexistent.h>
4042_ACEOF
4043if ac_fn_c_try_cpp "$LINENO"; then :
4044 # Broken: success on invalid input.
4045continue
4046else
4047 # Passes both tests.
4048ac_preproc_ok=:
4049break
4050fi
4051rm -f conftest.err conftest.i conftest.$ac_ext
4052
4053done
4054# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4055rm -f conftest.i conftest.err conftest.$ac_ext
4056if $ac_preproc_ok; then :
4057 break
4058fi
4059
4060 done
4061 ac_cv_prog_CPP=$CPP
4062
4063fi
4064 CPP=$ac_cv_prog_CPP
4065else
4066 ac_cv_prog_CPP=$CPP
4067fi
4068{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
4069$as_echo "$CPP" >&6; }
4070ac_preproc_ok=false
4071for ac_c_preproc_warn_flag in '' yes
4072do
4073 # Use a header file that comes with gcc, so configuring glibc
4074 # with a fresh cross-compiler works.
4075 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4076 # <limits.h> exists even on freestanding compilers.
4077 # On the NeXT, cc -E runs the code through the compiler's parser,
4078 # not just through cpp. "Syntax error" is here to catch this case.
4079 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4080/* end confdefs.h. */
4081#ifdef __STDC__
4082# include <limits.h>
4083#else
4084# include <assert.h>
4085#endif
4086 Syntax error
4087_ACEOF
4088if ac_fn_c_try_cpp "$LINENO"; then :
4089
4090else
4091 # Broken: fails on valid input.
4092continue
4093fi
4094rm -f conftest.err conftest.i conftest.$ac_ext
4095
4096 # OK, works on sane cases. Now check whether nonexistent headers
4097 # can be detected and how.
4098 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4099/* end confdefs.h. */
4100#include <ac_nonexistent.h>
4101_ACEOF
4102if ac_fn_c_try_cpp "$LINENO"; then :
4103 # Broken: success on invalid input.
4104continue
4105else
4106 # Passes both tests.
4107ac_preproc_ok=:
4108break
4109fi
4110rm -f conftest.err conftest.i conftest.$ac_ext
4111
4112done
4113# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4114rm -f conftest.i conftest.err conftest.$ac_ext
4115if $ac_preproc_ok; then :
4116
4117else
4118 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4119$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4120as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
4121See \`config.log' for more details" "$LINENO" 5; }
4122fi
4123
4124ac_ext=c
4125ac_cpp='$CPP $CPPFLAGS'
4126ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4127ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4128ac_compiler_gnu=$ac_cv_c_compiler_gnu
4129
4130if test -n "$ac_tool_prefix"; then
4131 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
4132set dummy ${ac_tool_prefix}ranlib; ac_word=$2
4133{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4134$as_echo_n "checking for $ac_word... " >&6; }
4135if ${ac_cv_prog_RANLIB+:} false; then :
4136 $as_echo_n "(cached) " >&6
4137else
4138 if test -n "$RANLIB"; then
4139 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
4140else
4141as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4142for as_dir in $PATH
4143do
4144 IFS=$as_save_IFS
4145 test -z "$as_dir" && as_dir=.
4146 for ac_exec_ext in '' $ac_executable_extensions; do
4147 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4148 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
4149 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4150 break 2
4151 fi
4152done
4153 done
4154IFS=$as_save_IFS
4155
4156fi
4157fi
4158RANLIB=$ac_cv_prog_RANLIB
4159if test -n "$RANLIB"; then
4160 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
4161$as_echo "$RANLIB" >&6; }
4162else
4163 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4164$as_echo "no" >&6; }
4165fi
4166
4167
4168fi
4169if test -z "$ac_cv_prog_RANLIB"; then
4170 ac_ct_RANLIB=$RANLIB
4171 # Extract the first word of "ranlib", so it can be a program name with args.
4172set dummy ranlib; ac_word=$2
4173{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4174$as_echo_n "checking for $ac_word... " >&6; }
4175if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
4176 $as_echo_n "(cached) " >&6
4177else
4178 if test -n "$ac_ct_RANLIB"; then
4179 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
4180else
4181as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4182for as_dir in $PATH
4183do
4184 IFS=$as_save_IFS
4185 test -z "$as_dir" && as_dir=.
4186 for ac_exec_ext in '' $ac_executable_extensions; do
4187 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4188 ac_cv_prog_ac_ct_RANLIB="ranlib"
4189 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4190 break 2
4191 fi
4192done
4193 done
4194IFS=$as_save_IFS
4195
4196fi
4197fi
4198ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
4199if test -n "$ac_ct_RANLIB"; then
4200 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
4201$as_echo "$ac_ct_RANLIB" >&6; }
4202else
4203 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4204$as_echo "no" >&6; }
4205fi
4206
4207 if test "x$ac_ct_RANLIB" = x; then
4208 RANLIB=":"
4209 else
4210 case $cross_compiling:$ac_tool_warned in
4211yes:)
4212{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4213$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4214ac_tool_warned=yes ;;
4215esac
4216 RANLIB=$ac_ct_RANLIB
4217 fi
4218else
4219 RANLIB="$ac_cv_prog_RANLIB"
4220fi
4221
4222# Find a good install program. We prefer a C program (faster),
4223# so one script is as good as another. But avoid the broken or
4224# incompatible versions:
4225# SysV /etc/install, /usr/sbin/install
4226# SunOS /usr/etc/install
4227# IRIX /sbin/install
4228# AIX /bin/install
4229# AmigaOS /C/install, which installs bootblocks on floppy discs
4230# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
4231# AFS /usr/afsws/bin/install, which mishandles nonexistent args
4232# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
4233# OS/2's system install, which has a completely different semantic
4234# ./install, which can be erroneously created by make from ./install.sh.
4235# Reject install programs that cannot install multiple files.
4236{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
4237$as_echo_n "checking for a BSD-compatible install... " >&6; }
4238if test -z "$INSTALL"; then
4239if ${ac_cv_path_install+:} false; then :
4240 $as_echo_n "(cached) " >&6
4241else
4242 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4243for as_dir in $PATH
4244do
4245 IFS=$as_save_IFS
4246 test -z "$as_dir" && as_dir=.
4247 # Account for people who put trailing slashes in PATH elements.
4248case $as_dir/ in #((
4249 ./ | .// | /[cC]/* | \
4250 /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
4251 ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
4252 /usr/ucb/* ) ;;
4253 *)
4254 # OSF1 and SCO ODT 3.0 have their own names for install.
4255 # Don't use installbsd from OSF since it installs stuff as root
4256 # by default.
4257 for ac_prog in ginstall scoinst install; do
4258 for ac_exec_ext in '' $ac_executable_extensions; do
4259 if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
4260 if test $ac_prog = install &&
4261 grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
4262 # AIX install. It has an incompatible calling convention.
4263 :
4264 elif test $ac_prog = install &&
4265 grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
4266 # program-specific install script used by HP pwplus--don't use.
4267 :
4268 else
4269 rm -rf conftest.one conftest.two conftest.dir
4270 echo one > conftest.one
4271 echo two > conftest.two
4272 mkdir conftest.dir
4273 if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
4274 test -s conftest.one && test -s conftest.two &&
4275 test -s conftest.dir/conftest.one &&
4276 test -s conftest.dir/conftest.two
4277 then
4278 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
4279 break 3
4280 fi
4281 fi
4282 fi
4283 done
4284 done
4285 ;;
4286esac
4287
4288 done
4289IFS=$as_save_IFS
4290
4291rm -rf conftest.one conftest.two conftest.dir
4292
4293fi
4294 if test "${ac_cv_path_install+set}" = set; then
4295 INSTALL=$ac_cv_path_install
4296 else
4297 # As a last resort, use the slow shell script. Don't cache a
4298 # value for INSTALL within a source directory, because that will
4299 # break other packages using the cache if that directory is
4300 # removed, or if the value is a relative name.
4301 INSTALL=$ac_install_sh
4302 fi
4303fi
4304{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
4305$as_echo "$INSTALL" >&6; }
4306
4307# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
4308# It thinks the first close brace ends the variable substitution.
4309test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
4310
4311test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
4312
4313test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
4314
4315{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
4316$as_echo_n "checking for egrep... " >&6; }
4317if ${ac_cv_path_EGREP+:} false; then :
4318 $as_echo_n "(cached) " >&6
4319else
4320 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
4321 then ac_cv_path_EGREP="$GREP -E"
4322 else
4323 if test -z "$EGREP"; then
4324 ac_path_EGREP_found=false
4325 # Loop through the user's path and test for each of PROGNAME-LIST
4326 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4327for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
4328do
4329 IFS=$as_save_IFS
4330 test -z "$as_dir" && as_dir=.
4331 for ac_prog in egrep; do
4332 for ac_exec_ext in '' $ac_executable_extensions; do
4333 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
4334 as_fn_executable_p "$ac_path_EGREP" || continue
4335# Check for GNU ac_path_EGREP and select it if it is found.
4336 # Check for GNU $ac_path_EGREP
4337case `"$ac_path_EGREP" --version 2>&1` in
4338*GNU*)
4339 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
4340*)
4341 ac_count=0
4342 $as_echo_n 0123456789 >"conftest.in"
4343 while :
4344 do
4345 cat "conftest.in" "conftest.in" >"conftest.tmp"
4346 mv "conftest.tmp" "conftest.in"
4347 cp "conftest.in" "conftest.nl"
4348 $as_echo 'EGREP' >> "conftest.nl"
4349 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
4350 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4351 as_fn_arith $ac_count + 1 && ac_count=$as_val
4352 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
4353 # Best one so far, save it but keep looking for a better one
4354 ac_cv_path_EGREP="$ac_path_EGREP"
4355 ac_path_EGREP_max=$ac_count
4356 fi
4357 # 10*(2^10) chars as input seems more than enough
4358 test $ac_count -gt 10 && break
4359 done
4360 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4361esac
4362
4363 $ac_path_EGREP_found && break 3
4364 done
4365 done
4366 done
4367IFS=$as_save_IFS
4368 if test -z "$ac_cv_path_EGREP"; then
4369 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4370 fi
4371else
4372 ac_cv_path_EGREP=$EGREP
4373fi
4374
4375 fi
4376fi
4377{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
4378$as_echo "$ac_cv_path_EGREP" >&6; }
4379 EGREP="$ac_cv_path_EGREP"
4380
4381
4382{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
4383$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
4384if test -z "$MKDIR_P"; then
4385 if ${ac_cv_path_mkdir+:} false; then :
4386 $as_echo_n "(cached) " >&6
4387else
4388 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4389for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
4390do
4391 IFS=$as_save_IFS
4392 test -z "$as_dir" && as_dir=.
4393 for ac_prog in mkdir gmkdir; do
4394 for ac_exec_ext in '' $ac_executable_extensions; do
4395 as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
4396 case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
4397 'mkdir (GNU coreutils) '* | \
4398 'mkdir (coreutils) '* | \
4399 'mkdir (fileutils) '4.1*)
4400 ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
4401 break 3;;
4402 esac
4403 done
4404 done
4405 done
4406IFS=$as_save_IFS
4407
4408fi
4409
4410 test -d ./--version && rmdir ./--version
4411 if test "${ac_cv_path_mkdir+set}" = set; then
4412 MKDIR_P="$ac_cv_path_mkdir -p"
4413 else
4414 # As a last resort, use the slow shell script. Don't cache a
4415 # value for MKDIR_P within a source directory, because that will
4416 # break other packages using the cache if that directory is
4417 # removed, or if the value is a relative name.
4418 MKDIR_P="$ac_install_sh -d"
4419 fi
4420fi
4421{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
4422$as_echo "$MKDIR_P" >&6; }
4423
4424if test -n "$ac_tool_prefix"; then
4425 for ac_prog in ar
4426 do
4427 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
4428set dummy $ac_tool_prefix$ac_prog; ac_word=$2
4429{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4430$as_echo_n "checking for $ac_word... " >&6; }
4431if ${ac_cv_prog_AR+:} false; then :
4432 $as_echo_n "(cached) " >&6
4433else
4434 if test -n "$AR"; then
4435 ac_cv_prog_AR="$AR" # Let the user override the test.
4436else
4437as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4438for as_dir in $PATH
4439do
4440 IFS=$as_save_IFS
4441 test -z "$as_dir" && as_dir=.
4442 for ac_exec_ext in '' $ac_executable_extensions; do
4443 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4444 ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
4445 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4446 break 2
4447 fi
4448done
4449 done
4450IFS=$as_save_IFS
4451
4452fi
4453fi
4454AR=$ac_cv_prog_AR
4455if test -n "$AR"; then
4456 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
4457$as_echo "$AR" >&6; }
4458else
4459 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4460$as_echo "no" >&6; }
4461fi
4462
4463
4464 test -n "$AR" && break
4465 done
4466fi
4467if test -z "$AR"; then
4468 ac_ct_AR=$AR
4469 for ac_prog in ar
4470do
4471 # Extract the first word of "$ac_prog", so it can be a program name with args.
4472set dummy $ac_prog; ac_word=$2
4473{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4474$as_echo_n "checking for $ac_word... " >&6; }
4475if ${ac_cv_prog_ac_ct_AR+:} false; then :
4476 $as_echo_n "(cached) " >&6
4477else
4478 if test -n "$ac_ct_AR"; then
4479 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
4480else
4481as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4482for as_dir in $PATH
4483do
4484 IFS=$as_save_IFS
4485 test -z "$as_dir" && as_dir=.
4486 for ac_exec_ext in '' $ac_executable_extensions; do
4487 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4488 ac_cv_prog_ac_ct_AR="$ac_prog"
4489 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4490 break 2
4491 fi
4492done
4493 done
4494IFS=$as_save_IFS
4495
4496fi
4497fi
4498ac_ct_AR=$ac_cv_prog_ac_ct_AR
4499if test -n "$ac_ct_AR"; then
4500 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
4501$as_echo "$ac_ct_AR" >&6; }
4502else
4503 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4504$as_echo "no" >&6; }
4505fi
4506
4507
4508 test -n "$ac_ct_AR" && break
4509done
4510
4511 if test "x$ac_ct_AR" = x; then
4512 AR=""
4513 else
4514 case $cross_compiling:$ac_tool_warned in
4515yes:)
4516{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4517$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4518ac_tool_warned=yes ;;
4519esac
4520 AR=$ac_ct_AR
4521 fi
4522fi
4523
4524# Extract the first word of "cat", so it can be a program name with args.
4525set dummy cat; ac_word=$2
4526{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4527$as_echo_n "checking for $ac_word... " >&6; }
4528if ${ac_cv_path_CAT+:} false; then :
4529 $as_echo_n "(cached) " >&6
4530else
4531 case $CAT in
4532 [\\/]* | ?:[\\/]*)
4533 ac_cv_path_CAT="$CAT" # Let the user override the test with a path.
4534 ;;
4535 *)
4536 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4537for as_dir in $PATH
4538do
4539 IFS=$as_save_IFS
4540 test -z "$as_dir" && as_dir=.
4541 for ac_exec_ext in '' $ac_executable_extensions; do
4542 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4543 ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext"
4544 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4545 break 2
4546 fi
4547done
4548 done
4549IFS=$as_save_IFS
4550
4551 ;;
4552esac
4553fi
4554CAT=$ac_cv_path_CAT
4555if test -n "$CAT"; then
4556 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5
4557$as_echo "$CAT" >&6; }
4558else
4559 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4560$as_echo "no" >&6; }
4561fi
4562
4563
4564# Extract the first word of "kill", so it can be a program name with args.
4565set dummy kill; ac_word=$2
4566{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4567$as_echo_n "checking for $ac_word... " >&6; }
4568if ${ac_cv_path_KILL+:} false; then :
4569 $as_echo_n "(cached) " >&6
4570else
4571 case $KILL in
4572 [\\/]* | ?:[\\/]*)
4573 ac_cv_path_KILL="$KILL" # Let the user override the test with a path.
4574 ;;
4575 *)
4576 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4577for as_dir in $PATH
4578do
4579 IFS=$as_save_IFS
4580 test -z "$as_dir" && as_dir=.
4581 for ac_exec_ext in '' $ac_executable_extensions; do
4582 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4583 ac_cv_path_KILL="$as_dir/$ac_word$ac_exec_ext"
4584 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4585 break 2
4586 fi
4587done
4588 done
4589IFS=$as_save_IFS
4590
4591 ;;
4592esac
4593fi
4594KILL=$ac_cv_path_KILL
4595if test -n "$KILL"; then
4596 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KILL" >&5
4597$as_echo "$KILL" >&6; }
4598else
4599 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4600$as_echo "no" >&6; }
4601fi
4602
4603
4604# Extract the first word of "sed", so it can be a program name with args.
4605set dummy sed; ac_word=$2
4606{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4607$as_echo_n "checking for $ac_word... " >&6; }
4608if ${ac_cv_path_SED+:} false; then :
4609 $as_echo_n "(cached) " >&6
4610else
4611 case $SED in
4612 [\\/]* | ?:[\\/]*)
4613 ac_cv_path_SED="$SED" # Let the user override the test with a path.
4614 ;;
4615 *)
4616 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4617for as_dir in $PATH
4618do
4619 IFS=$as_save_IFS
4620 test -z "$as_dir" && as_dir=.
4621 for ac_exec_ext in '' $ac_executable_extensions; do
4622 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4623 ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
4624 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4625 break 2
4626 fi
4627done
4628 done
4629IFS=$as_save_IFS
4630
4631 ;;
4632esac
4633fi
4634SED=$ac_cv_path_SED
4635if test -n "$SED"; then
4636 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5
4637$as_echo "$SED" >&6; }
4638else
4639 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4640$as_echo "no" >&6; }
4641fi
4642
4643
4644# Extract the first word of "ent", so it can be a program name with args.
4645set dummy ent; ac_word=$2
4646{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4647$as_echo_n "checking for $ac_word... " >&6; }
4648if ${ac_cv_path_ENT+:} false; then :
4649 $as_echo_n "(cached) " >&6
4650else
4651 case $ENT in
4652 [\\/]* | ?:[\\/]*)
4653 ac_cv_path_ENT="$ENT" # Let the user override the test with a path.
4654 ;;
4655 *)
4656 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4657for as_dir in $PATH
4658do
4659 IFS=$as_save_IFS
4660 test -z "$as_dir" && as_dir=.
4661 for ac_exec_ext in '' $ac_executable_extensions; do
4662 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4663 ac_cv_path_ENT="$as_dir/$ac_word$ac_exec_ext"
4664 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4665 break 2
4666 fi
4667done
4668 done
4669IFS=$as_save_IFS
4670
4671 ;;
4672esac
4673fi
4674ENT=$ac_cv_path_ENT
4675if test -n "$ENT"; then
4676 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENT" >&5
4677$as_echo "$ENT" >&6; }
4678else
4679 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4680$as_echo "no" >&6; }
4681fi
4682
4683
4684
4685# Extract the first word of "bash", so it can be a program name with args.
4686set dummy bash; ac_word=$2
4687{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4688$as_echo_n "checking for $ac_word... " >&6; }
4689if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4690 $as_echo_n "(cached) " >&6
4691else
4692 case $TEST_MINUS_S_SH in
4693 [\\/]* | ?:[\\/]*)
4694 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4695 ;;
4696 *)
4697 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4698for as_dir in $PATH
4699do
4700 IFS=$as_save_IFS
4701 test -z "$as_dir" && as_dir=.
4702 for ac_exec_ext in '' $ac_executable_extensions; do
4703 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4704 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4705 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4706 break 2
4707 fi
4708done
4709 done
4710IFS=$as_save_IFS
4711
4712 ;;
4713esac
4714fi
4715TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4716if test -n "$TEST_MINUS_S_SH"; then
4717 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4718$as_echo "$TEST_MINUS_S_SH" >&6; }
4719else
4720 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4721$as_echo "no" >&6; }
4722fi
4723
4724
4725# Extract the first word of "ksh", so it can be a program name with args.
4726set dummy ksh; ac_word=$2
4727{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4728$as_echo_n "checking for $ac_word... " >&6; }
4729if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4730 $as_echo_n "(cached) " >&6
4731else
4732 case $TEST_MINUS_S_SH in
4733 [\\/]* | ?:[\\/]*)
4734 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4735 ;;
4736 *)
4737 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4738for as_dir in $PATH
4739do
4740 IFS=$as_save_IFS
4741 test -z "$as_dir" && as_dir=.
4742 for ac_exec_ext in '' $ac_executable_extensions; do
4743 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4744 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4745 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4746 break 2
4747 fi
4748done
4749 done
4750IFS=$as_save_IFS
4751
4752 ;;
4753esac
4754fi
4755TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4756if test -n "$TEST_MINUS_S_SH"; then
4757 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4758$as_echo "$TEST_MINUS_S_SH" >&6; }
4759else
4760 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4761$as_echo "no" >&6; }
4762fi
4763
4764
4765# Extract the first word of "sh", so it can be a program name with args.
4766set dummy sh; ac_word=$2
4767{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4768$as_echo_n "checking for $ac_word... " >&6; }
4769if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4770 $as_echo_n "(cached) " >&6
4771else
4772 case $TEST_MINUS_S_SH in
4773 [\\/]* | ?:[\\/]*)
4774 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4775 ;;
4776 *)
4777 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4778for as_dir in $PATH
4779do
4780 IFS=$as_save_IFS
4781 test -z "$as_dir" && as_dir=.
4782 for ac_exec_ext in '' $ac_executable_extensions; do
4783 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4784 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4785 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4786 break 2
4787 fi
4788done
4789 done
4790IFS=$as_save_IFS
4791
4792 ;;
4793esac
4794fi
4795TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4796if test -n "$TEST_MINUS_S_SH"; then
4797 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4798$as_echo "$TEST_MINUS_S_SH" >&6; }
4799else
4800 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4801$as_echo "no" >&6; }
4802fi
4803
4804
4805# Extract the first word of "sh", so it can be a program name with args.
4806set dummy sh; ac_word=$2
4807{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4808$as_echo_n "checking for $ac_word... " >&6; }
4809if ${ac_cv_path_SH+:} false; then :
4810 $as_echo_n "(cached) " >&6
4811else
4812 case $SH in
4813 [\\/]* | ?:[\\/]*)
4814 ac_cv_path_SH="$SH" # Let the user override the test with a path.
4815 ;;
4816 *)
4817 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4818for as_dir in $PATH
4819do
4820 IFS=$as_save_IFS
4821 test -z "$as_dir" && as_dir=.
4822 for ac_exec_ext in '' $ac_executable_extensions; do
4823 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4824 ac_cv_path_SH="$as_dir/$ac_word$ac_exec_ext"
4825 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4826 break 2
4827 fi
4828done
4829 done
4830IFS=$as_save_IFS
4831
4832 ;;
4833esac
4834fi
4835SH=$ac_cv_path_SH
4836if test -n "$SH"; then
4837 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SH" >&5
4838$as_echo "$SH" >&6; }
4839else
4840 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4841$as_echo "no" >&6; }
4842fi
4843
4844
4845# Extract the first word of "groff", so it can be a program name with args.
4846set dummy groff; ac_word=$2
4847{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4848$as_echo_n "checking for $ac_word... " >&6; }
4849if ${ac_cv_path_GROFF+:} false; then :
4850 $as_echo_n "(cached) " >&6
4851else
4852 case $GROFF in
4853 [\\/]* | ?:[\\/]*)
4854 ac_cv_path_GROFF="$GROFF" # Let the user override the test with a path.
4855 ;;
4856 *)
4857 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4858for as_dir in $PATH
4859do
4860 IFS=$as_save_IFS
4861 test -z "$as_dir" && as_dir=.
4862 for ac_exec_ext in '' $ac_executable_extensions; do
4863 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4864 ac_cv_path_GROFF="$as_dir/$ac_word$ac_exec_ext"
4865 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4866 break 2
4867 fi
4868done
4869 done
4870IFS=$as_save_IFS
4871
4872 ;;
4873esac
4874fi
4875GROFF=$ac_cv_path_GROFF
4876if test -n "$GROFF"; then
4877 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GROFF" >&5
4878$as_echo "$GROFF" >&6; }
4879else
4880 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4881$as_echo "no" >&6; }
4882fi
4883
4884
4885# Extract the first word of "nroff awf", so it can be a program name with args.
4886set dummy nroff awf; ac_word=$2
4887{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4888$as_echo_n "checking for $ac_word... " >&6; }
4889if ${ac_cv_path_NROFF+:} false; then :
4890 $as_echo_n "(cached) " >&6
4891else
4892 case $NROFF in
4893 [\\/]* | ?:[\\/]*)
4894 ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path.
4895 ;;
4896 *)
4897 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4898for as_dir in $PATH
4899do
4900 IFS=$as_save_IFS
4901 test -z "$as_dir" && as_dir=.
4902 for ac_exec_ext in '' $ac_executable_extensions; do
4903 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4904 ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext"
4905 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4906 break 2
4907 fi
4908done
4909 done
4910IFS=$as_save_IFS
4911
4912 ;;
4913esac
4914fi
4915NROFF=$ac_cv_path_NROFF
4916if test -n "$NROFF"; then
4917 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5
4918$as_echo "$NROFF" >&6; }
4919else
4920 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4921$as_echo "no" >&6; }
4922fi
4923
4924
4925# Extract the first word of "mandoc", so it can be a program name with args.
4926set dummy mandoc; ac_word=$2
4927{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4928$as_echo_n "checking for $ac_word... " >&6; }
4929if ${ac_cv_path_MANDOC+:} false; then :
4930 $as_echo_n "(cached) " >&6
4931else
4932 case $MANDOC in
4933 [\\/]* | ?:[\\/]*)
4934 ac_cv_path_MANDOC="$MANDOC" # Let the user override the test with a path.
4935 ;;
4936 *)
4937 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4938for as_dir in $PATH
4939do
4940 IFS=$as_save_IFS
4941 test -z "$as_dir" && as_dir=.
4942 for ac_exec_ext in '' $ac_executable_extensions; do
4943 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4944 ac_cv_path_MANDOC="$as_dir/$ac_word$ac_exec_ext"
4945 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4946 break 2
4947 fi
4948done
4949 done
4950IFS=$as_save_IFS
4951
4952 ;;
4953esac
4954fi
4955MANDOC=$ac_cv_path_MANDOC
4956if test -n "$MANDOC"; then
4957 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANDOC" >&5
4958$as_echo "$MANDOC" >&6; }
4959else
4960 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4961$as_echo "no" >&6; }
4962fi
4963
4964
4965TEST_SHELL=sh
4966
4967
4968if test "x$MANDOC" != "x" ; then
4969 MANFMT="$MANDOC"
4970elif test "x$NROFF" != "x" ; then
4971 MANFMT="$NROFF -mandoc"
4972elif test "x$GROFF" != "x" ; then
4973 MANFMT="$GROFF -mandoc -Tascii"
4974else
4975 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no manpage formatter found" >&5
4976$as_echo "$as_me: WARNING: no manpage formatter found" >&2;}
4977 MANFMT="false"
4978fi
4979
4980
4981# Extract the first word of "groupadd", so it can be a program name with args.
4982set dummy groupadd; ac_word=$2
4983{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4984$as_echo_n "checking for $ac_word... " >&6; }
4985if ${ac_cv_path_PATH_GROUPADD_PROG+:} false; then :
4986 $as_echo_n "(cached) " >&6
4987else
4988 case $PATH_GROUPADD_PROG in
4989 [\\/]* | ?:[\\/]*)
4990 ac_cv_path_PATH_GROUPADD_PROG="$PATH_GROUPADD_PROG" # Let the user override the test with a path.
4991 ;;
4992 *)
4993 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4994for as_dir in /usr/sbin${PATH_SEPARATOR}/etc
4995do
4996 IFS=$as_save_IFS
4997 test -z "$as_dir" && as_dir=.
4998 for ac_exec_ext in '' $ac_executable_extensions; do
4999 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5000 ac_cv_path_PATH_GROUPADD_PROG="$as_dir/$ac_word$ac_exec_ext"
5001 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5002 break 2
5003 fi
5004done
5005 done
5006IFS=$as_save_IFS
5007
5008 test -z "$ac_cv_path_PATH_GROUPADD_PROG" && ac_cv_path_PATH_GROUPADD_PROG="groupadd"
5009 ;;
5010esac
5011fi
5012PATH_GROUPADD_PROG=$ac_cv_path_PATH_GROUPADD_PROG
5013if test -n "$PATH_GROUPADD_PROG"; then
5014 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_GROUPADD_PROG" >&5
5015$as_echo "$PATH_GROUPADD_PROG" >&6; }
5016else
5017 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5018$as_echo "no" >&6; }
5019fi
5020
5021
5022# Extract the first word of "useradd", so it can be a program name with args.
5023set dummy useradd; ac_word=$2
5024{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5025$as_echo_n "checking for $ac_word... " >&6; }
5026if ${ac_cv_path_PATH_USERADD_PROG+:} false; then :
5027 $as_echo_n "(cached) " >&6
5028else
5029 case $PATH_USERADD_PROG in
5030 [\\/]* | ?:[\\/]*)
5031 ac_cv_path_PATH_USERADD_PROG="$PATH_USERADD_PROG" # Let the user override the test with a path.
5032 ;;
5033 *)
5034 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5035for as_dir in /usr/sbin${PATH_SEPARATOR}/etc
5036do
5037 IFS=$as_save_IFS
5038 test -z "$as_dir" && as_dir=.
5039 for ac_exec_ext in '' $ac_executable_extensions; do
5040 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5041 ac_cv_path_PATH_USERADD_PROG="$as_dir/$ac_word$ac_exec_ext"
5042 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5043 break 2
5044 fi
5045done
5046 done
5047IFS=$as_save_IFS
5048
5049 test -z "$ac_cv_path_PATH_USERADD_PROG" && ac_cv_path_PATH_USERADD_PROG="useradd"
5050 ;;
5051esac
5052fi
5053PATH_USERADD_PROG=$ac_cv_path_PATH_USERADD_PROG
5054if test -n "$PATH_USERADD_PROG"; then
5055 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_USERADD_PROG" >&5
5056$as_echo "$PATH_USERADD_PROG" >&6; }
5057else
5058 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5059$as_echo "no" >&6; }
5060fi
5061
5062
5063# Extract the first word of "pkgmk", so it can be a program name with args.
5064set dummy pkgmk; ac_word=$2
5065{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5066$as_echo_n "checking for $ac_word... " >&6; }
5067if ${ac_cv_prog_MAKE_PACKAGE_SUPPORTED+:} false; then :
5068 $as_echo_n "(cached) " >&6
5069else
5070 if test -n "$MAKE_PACKAGE_SUPPORTED"; then
5071 ac_cv_prog_MAKE_PACKAGE_SUPPORTED="$MAKE_PACKAGE_SUPPORTED" # Let the user override the test.
5072else
5073as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5074for as_dir in $PATH
5075do
5076 IFS=$as_save_IFS
5077 test -z "$as_dir" && as_dir=.
5078 for ac_exec_ext in '' $ac_executable_extensions; do
5079 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5080 ac_cv_prog_MAKE_PACKAGE_SUPPORTED="yes"
5081 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5082 break 2
5083 fi
5084done
5085 done
5086IFS=$as_save_IFS
5087
5088 test -z "$ac_cv_prog_MAKE_PACKAGE_SUPPORTED" && ac_cv_prog_MAKE_PACKAGE_SUPPORTED="no"
5089fi
5090fi
5091MAKE_PACKAGE_SUPPORTED=$ac_cv_prog_MAKE_PACKAGE_SUPPORTED
5092if test -n "$MAKE_PACKAGE_SUPPORTED"; then
5093 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE_PACKAGE_SUPPORTED" >&5
5094$as_echo "$MAKE_PACKAGE_SUPPORTED" >&6; }
5095else
5096 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5097$as_echo "no" >&6; }
5098fi
5099
5100
5101if test -x /sbin/sh; then
5102 STARTUP_SCRIPT_SHELL=/sbin/sh
5103
5104else
5105 STARTUP_SCRIPT_SHELL=/bin/sh
5106
5107fi
5108
5109# System features
5110# Check whether --enable-largefile was given.
5111if test "${enable_largefile+set}" = set; then :
5112 enableval=$enable_largefile;
5113fi
5114
5115if test "$enable_largefile" != no; then
5116
5117 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
5118$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
5119if ${ac_cv_sys_largefile_CC+:} false; then :
5120 $as_echo_n "(cached) " >&6
5121else
5122 ac_cv_sys_largefile_CC=no
5123 if test "$GCC" != yes; then
5124 ac_save_CC=$CC
5125 while :; do
5126 # IRIX 6.2 and later do not support large files by default,
5127 # so use the C compiler's -n32 option if that helps.
5128 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5129/* end confdefs.h. */
5130#include <sys/types.h>
5131 /* Check that off_t can represent 2**63 - 1 correctly.
5132 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5133 since some C++ compilers masquerading as C compilers
5134 incorrectly reject 9223372036854775807. */
5135#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5136 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5137 && LARGE_OFF_T % 2147483647 == 1)
5138 ? 1 : -1];
5139int
5140main ()
5141{
5142
5143 ;
5144 return 0;
5145}
5146_ACEOF
5147 if ac_fn_c_try_compile "$LINENO"; then :
5148 break
5149fi
5150rm -f core conftest.err conftest.$ac_objext
5151 CC="$CC -n32"
5152 if ac_fn_c_try_compile "$LINENO"; then :
5153 ac_cv_sys_largefile_CC=' -n32'; break
5154fi
5155rm -f core conftest.err conftest.$ac_objext
5156 break
5157 done
5158 CC=$ac_save_CC
5159 rm -f conftest.$ac_ext
5160 fi
5161fi
5162{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
5163$as_echo "$ac_cv_sys_largefile_CC" >&6; }
5164 if test "$ac_cv_sys_largefile_CC" != no; then
5165 CC=$CC$ac_cv_sys_largefile_CC
5166 fi
5167
5168 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
5169$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
5170if ${ac_cv_sys_file_offset_bits+:} false; then :
5171 $as_echo_n "(cached) " >&6
5172else
5173 while :; do
5174 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5175/* end confdefs.h. */
5176#include <sys/types.h>
5177 /* Check that off_t can represent 2**63 - 1 correctly.
5178 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5179 since some C++ compilers masquerading as C compilers
5180 incorrectly reject 9223372036854775807. */
5181#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5182 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5183 && LARGE_OFF_T % 2147483647 == 1)
5184 ? 1 : -1];
5185int
5186main ()
5187{
5188
5189 ;
5190 return 0;
5191}
5192_ACEOF
5193if ac_fn_c_try_compile "$LINENO"; then :
5194 ac_cv_sys_file_offset_bits=no; break
5195fi
5196rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5197 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5198/* end confdefs.h. */
5199#define _FILE_OFFSET_BITS 64
5200#include <sys/types.h>
5201 /* Check that off_t can represent 2**63 - 1 correctly.
5202 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5203 since some C++ compilers masquerading as C compilers
5204 incorrectly reject 9223372036854775807. */
5205#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5206 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5207 && LARGE_OFF_T % 2147483647 == 1)
5208 ? 1 : -1];
5209int
5210main ()
5211{
5212
5213 ;
5214 return 0;
5215}
5216_ACEOF
5217if ac_fn_c_try_compile "$LINENO"; then :
5218 ac_cv_sys_file_offset_bits=64; break
5219fi
5220rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5221 ac_cv_sys_file_offset_bits=unknown
5222 break
5223done
5224fi
5225{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
5226$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
5227case $ac_cv_sys_file_offset_bits in #(
5228 no | unknown) ;;
5229 *)
5230cat >>confdefs.h <<_ACEOF
5231#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
5232_ACEOF
5233;;
5234esac
5235rm -rf conftest*
5236 if test $ac_cv_sys_file_offset_bits = unknown; then
5237 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
5238$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
5239if ${ac_cv_sys_large_files+:} false; then :
5240 $as_echo_n "(cached) " >&6
5241else
5242 while :; do
5243 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5244/* end confdefs.h. */
5245#include <sys/types.h>
5246 /* Check that off_t can represent 2**63 - 1 correctly.
5247 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5248 since some C++ compilers masquerading as C compilers
5249 incorrectly reject 9223372036854775807. */
5250#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5251 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5252 && LARGE_OFF_T % 2147483647 == 1)
5253 ? 1 : -1];
5254int
5255main ()
5256{
5257
5258 ;
5259 return 0;
5260}
5261_ACEOF
5262if ac_fn_c_try_compile "$LINENO"; then :
5263 ac_cv_sys_large_files=no; break
5264fi
5265rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5266 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5267/* end confdefs.h. */
5268#define _LARGE_FILES 1
5269#include <sys/types.h>
5270 /* Check that off_t can represent 2**63 - 1 correctly.
5271 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5272 since some C++ compilers masquerading as C compilers
5273 incorrectly reject 9223372036854775807. */
5274#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5275 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5276 && LARGE_OFF_T % 2147483647 == 1)
5277 ? 1 : -1];
5278int
5279main ()
5280{
5281
5282 ;
5283 return 0;
5284}
5285_ACEOF
5286if ac_fn_c_try_compile "$LINENO"; then :
5287 ac_cv_sys_large_files=1; break
5288fi
5289rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5290 ac_cv_sys_large_files=unknown
5291 break
5292done
5293fi
5294{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
5295$as_echo "$ac_cv_sys_large_files" >&6; }
5296case $ac_cv_sys_large_files in #(
5297 no | unknown) ;;
5298 *)
5299cat >>confdefs.h <<_ACEOF
5300#define _LARGE_FILES $ac_cv_sys_large_files
5301_ACEOF
5302;;
5303esac
5304rm -rf conftest*
5305 fi
5306
5307
5308fi
5309
5310
5311if test -z "$AR" ; then
5312 as_fn_error $? "*** 'ar' missing, please install or fix your \$PATH ***" "$LINENO" 5
5313fi
5314
5315# Extract the first word of "passwd", so it can be a program name with args.
5316set dummy passwd; ac_word=$2
5317{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5318$as_echo_n "checking for $ac_word... " >&6; }
5319if ${ac_cv_path_PATH_PASSWD_PROG+:} false; then :
5320 $as_echo_n "(cached) " >&6
5321else
5322 case $PATH_PASSWD_PROG in
5323 [\\/]* | ?:[\\/]*)
5324 ac_cv_path_PATH_PASSWD_PROG="$PATH_PASSWD_PROG" # Let the user override the test with a path.
5325 ;;
5326 *)
5327 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5328for as_dir in $PATH
5329do
5330 IFS=$as_save_IFS
5331 test -z "$as_dir" && as_dir=.
5332 for ac_exec_ext in '' $ac_executable_extensions; do
5333 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5334 ac_cv_path_PATH_PASSWD_PROG="$as_dir/$ac_word$ac_exec_ext"
5335 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5336 break 2
5337 fi
5338done
5339 done
5340IFS=$as_save_IFS
5341
5342 ;;
5343esac
5344fi
5345PATH_PASSWD_PROG=$ac_cv_path_PATH_PASSWD_PROG
5346if test -n "$PATH_PASSWD_PROG"; then
5347 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_PASSWD_PROG" >&5
5348$as_echo "$PATH_PASSWD_PROG" >&6; }
5349else
5350 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5351$as_echo "no" >&6; }
5352fi
5353
5354
5355if test ! -z "$PATH_PASSWD_PROG" ; then
5356
5357cat >>confdefs.h <<_ACEOF
5358#define _PATH_PASSWD_PROG "$PATH_PASSWD_PROG"
5359_ACEOF
5360
5361fi
5362
5363LD="$CC"
5364
5365
5366{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
5367$as_echo_n "checking for inline... " >&6; }
5368if ${ac_cv_c_inline+:} false; then :
5369 $as_echo_n "(cached) " >&6
5370else
5371 ac_cv_c_inline=no
5372for ac_kw in inline __inline__ __inline; do
5373 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5374/* end confdefs.h. */
5375#ifndef __cplusplus
5376typedef int foo_t;
5377static $ac_kw foo_t static_foo () {return 0; }
5378$ac_kw foo_t foo () {return 0; }
5379#endif
5380
5381_ACEOF
5382if ac_fn_c_try_compile "$LINENO"; then :
5383 ac_cv_c_inline=$ac_kw
5384fi
5385rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5386 test "$ac_cv_c_inline" != no && break
5387done
5388
5389fi
5390{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
5391$as_echo "$ac_cv_c_inline" >&6; }
5392
5393case $ac_cv_c_inline in
5394 inline | yes) ;;
5395 *)
5396 case $ac_cv_c_inline in
5397 no) ac_val=;;
5398 *) ac_val=$ac_cv_c_inline;;
5399 esac
5400 cat >>confdefs.h <<_ACEOF
5401#ifndef __cplusplus
5402#define inline $ac_val
5403#endif
5404_ACEOF
5405 ;;
5406esac
5407
5408
5409ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h>
5410"
5411if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then :
5412 have_llong_max=1
5413fi
5414
5415ac_fn_c_check_decl "$LINENO" "SYSTR_POLICY_KILL" "ac_cv_have_decl_SYSTR_POLICY_KILL" "
5416 #include <sys/types.h>
5417 #include <sys/param.h>
5418 #include <dev/systrace.h>
5419
5420"
5421if test "x$ac_cv_have_decl_SYSTR_POLICY_KILL" = xyes; then :
5422 have_systr_policy_kill=1
5423fi
5424
5425ac_fn_c_check_decl "$LINENO" "RLIMIT_NPROC" "ac_cv_have_decl_RLIMIT_NPROC" "
5426 #include <sys/types.h>
5427 #include <sys/resource.h>
5428
5429"
5430if test "x$ac_cv_have_decl_RLIMIT_NPROC" = xyes; then :
5431
5432$as_echo "#define HAVE_RLIMIT_NPROC /**/" >>confdefs.h
5433
5434fi
5435
5436ac_fn_c_check_decl "$LINENO" "PR_SET_NO_NEW_PRIVS" "ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" "
5437 #include <sys/types.h>
5438 #include <linux/prctl.h>
5439
5440"
5441if test "x$ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" = xyes; then :
5442 have_linux_no_new_privs=1
5443fi
5444
5445
5446openssl=yes
5447
5448# Check whether --with-openssl was given.
5449if test "${with_openssl+set}" = set; then :
5450 withval=$with_openssl; if test "x$withval" = "xno" ; then
5451 openssl=no
5452 fi
5453
5454
5455fi
5456
5457{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL will be used for cryptography" >&5
5458$as_echo_n "checking whether OpenSSL will be used for cryptography... " >&6; }
5459if test "x$openssl" = "xyes" ; then
5460 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5461$as_echo "yes" >&6; }
5462
5463cat >>confdefs.h <<_ACEOF
5464#define WITH_OPENSSL 1
5465_ACEOF
5466
5467else
5468 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5469$as_echo "no" >&6; }
5470fi
5471
5472use_stack_protector=1
5473use_toolchain_hardening=1
5474
5475# Check whether --with-stackprotect was given.
5476if test "${with_stackprotect+set}" = set; then :
5477 withval=$with_stackprotect;
5478 if test "x$withval" = "xno"; then
5479 use_stack_protector=0
5480 fi
5481fi
5482
5483
5484# Check whether --with-hardening was given.
5485if test "${with_hardening+set}" = set; then :
5486 withval=$with_hardening;
5487 if test "x$withval" = "xno"; then
5488 use_toolchain_hardening=0
5489 fi
5490fi
5491
5492
5493# We use -Werror for the tests only so that we catch warnings like "this is
5494# on by default" for things like -fPIE.
5495{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror" >&5
5496$as_echo_n "checking if $CC supports -Werror... " >&6; }
5497saved_CFLAGS="$CFLAGS"
5498CFLAGS="$CFLAGS -Werror"
5499cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5500/* end confdefs.h. */
5501int main(void) { return 0; }
5502_ACEOF
5503if ac_fn_c_try_compile "$LINENO"; then :
5504 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5505$as_echo "yes" >&6; }
5506 WERROR="-Werror"
5507else
5508 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5509$as_echo "no" >&6; }
5510 WERROR=""
5511
5512fi
5513rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5514CFLAGS="$saved_CFLAGS"
5515
5516if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
5517 {
5518 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -pipe" >&5
5519$as_echo_n "checking if $CC supports compile flag -pipe... " >&6; }
5520 saved_CFLAGS="$CFLAGS"
5521 CFLAGS="$CFLAGS $WERROR -pipe"
5522 _define_flag=""
5523 test "x$_define_flag" = "x" && _define_flag="-pipe"
5524 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5525/* end confdefs.h. */
5526
5527#include <stdlib.h>
5528#include <stdio.h>
5529int main(int argc, char **argv) {
5530 /* Some math to catch -ftrapv problems in the toolchain */
5531 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5532 float l = i * 2.1;
5533 double m = l / 0.5;
5534 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5535 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5536 exit(0);
5537}
5538
5539_ACEOF
5540if ac_fn_c_try_compile "$LINENO"; then :
5541
5542if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5543then
5544 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5545$as_echo "no" >&6; }
5546 CFLAGS="$saved_CFLAGS"
5547else
5548 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5549$as_echo "yes" >&6; }
5550 CFLAGS="$saved_CFLAGS $_define_flag"
5551fi
5552else
5553 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5554$as_echo "no" >&6; }
5555 CFLAGS="$saved_CFLAGS"
5556
5557fi
5558rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5559}
5560 {
5561 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunknown-warning-option" >&5
5562$as_echo_n "checking if $CC supports compile flag -Wunknown-warning-option... " >&6; }
5563 saved_CFLAGS="$CFLAGS"
5564 CFLAGS="$CFLAGS $WERROR -Wunknown-warning-option"
5565 _define_flag=""
5566 test "x$_define_flag" = "x" && _define_flag="-Wunknown-warning-option"
5567 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5568/* end confdefs.h. */
5569
5570#include <stdlib.h>
5571#include <stdio.h>
5572int main(int argc, char **argv) {
5573 /* Some math to catch -ftrapv problems in the toolchain */
5574 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5575 float l = i * 2.1;
5576 double m = l / 0.5;
5577 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5578 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5579 exit(0);
5580}
5581
5582_ACEOF
5583if ac_fn_c_try_compile "$LINENO"; then :
5584
5585if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5586then
5587 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5588$as_echo "no" >&6; }
5589 CFLAGS="$saved_CFLAGS"
5590else
5591 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5592$as_echo "yes" >&6; }
5593 CFLAGS="$saved_CFLAGS $_define_flag"
5594fi
5595else
5596 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5597$as_echo "no" >&6; }
5598 CFLAGS="$saved_CFLAGS"
5599
5600fi
5601rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5602}
5603 {
5604 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wno-error=format-truncation" >&5
5605$as_echo_n "checking if $CC supports compile flag -Wno-error=format-truncation... " >&6; }
5606 saved_CFLAGS="$CFLAGS"
5607 CFLAGS="$CFLAGS $WERROR -Wno-error=format-truncation"
5608 _define_flag=""
5609 test "x$_define_flag" = "x" && _define_flag="-Wno-error=format-truncation"
5610 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5611/* end confdefs.h. */
5612
5613#include <stdlib.h>
5614#include <stdio.h>
5615int main(int argc, char **argv) {
5616 /* Some math to catch -ftrapv problems in the toolchain */
5617 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5618 float l = i * 2.1;
5619 double m = l / 0.5;
5620 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5621 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5622 exit(0);
5623}
5624
5625_ACEOF
5626if ac_fn_c_try_compile "$LINENO"; then :
5627
5628if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5629then
5630 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5631$as_echo "no" >&6; }
5632 CFLAGS="$saved_CFLAGS"
5633else
5634 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5635$as_echo "yes" >&6; }
5636 CFLAGS="$saved_CFLAGS $_define_flag"
5637fi
5638else
5639 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5640$as_echo "no" >&6; }
5641 CFLAGS="$saved_CFLAGS"
5642
5643fi
5644rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5645}
5646 {
5647 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Qunused-arguments" >&5
5648$as_echo_n "checking if $CC supports compile flag -Qunused-arguments... " >&6; }
5649 saved_CFLAGS="$CFLAGS"
5650 CFLAGS="$CFLAGS $WERROR -Qunused-arguments"
5651 _define_flag=""
5652 test "x$_define_flag" = "x" && _define_flag="-Qunused-arguments"
5653 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5654/* end confdefs.h. */
5655
5656#include <stdlib.h>
5657#include <stdio.h>
5658int main(int argc, char **argv) {
5659 /* Some math to catch -ftrapv problems in the toolchain */
5660 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5661 float l = i * 2.1;
5662 double m = l / 0.5;
5663 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5664 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5665 exit(0);
5666}
5667
5668_ACEOF
5669if ac_fn_c_try_compile "$LINENO"; then :
5670
5671if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5672then
5673 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5674$as_echo "no" >&6; }
5675 CFLAGS="$saved_CFLAGS"
5676else
5677 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5678$as_echo "yes" >&6; }
5679 CFLAGS="$saved_CFLAGS $_define_flag"
5680fi
5681else
5682 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5683$as_echo "no" >&6; }
5684 CFLAGS="$saved_CFLAGS"
5685
5686fi
5687rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5688}
5689 {
5690 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wall" >&5
5691$as_echo_n "checking if $CC supports compile flag -Wall... " >&6; }
5692 saved_CFLAGS="$CFLAGS"
5693 CFLAGS="$CFLAGS $WERROR -Wall"
5694 _define_flag=""
5695 test "x$_define_flag" = "x" && _define_flag="-Wall"
5696 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5697/* end confdefs.h. */
5698
5699#include <stdlib.h>
5700#include <stdio.h>
5701int main(int argc, char **argv) {
5702 /* Some math to catch -ftrapv problems in the toolchain */
5703 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5704 float l = i * 2.1;
5705 double m = l / 0.5;
5706 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5707 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5708 exit(0);
5709}
5710
5711_ACEOF
5712if ac_fn_c_try_compile "$LINENO"; then :
5713
5714if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5715then
5716 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5717$as_echo "no" >&6; }
5718 CFLAGS="$saved_CFLAGS"
5719else
5720 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5721$as_echo "yes" >&6; }
5722 CFLAGS="$saved_CFLAGS $_define_flag"
5723fi
5724else
5725 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5726$as_echo "no" >&6; }
5727 CFLAGS="$saved_CFLAGS"
5728
5729fi
5730rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5731}
5732 {
5733 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wextra" >&5
5734$as_echo_n "checking if $CC supports compile flag -Wextra... " >&6; }
5735 saved_CFLAGS="$CFLAGS"
5736 CFLAGS="$CFLAGS $WERROR -Wextra"
5737 _define_flag=""
5738 test "x$_define_flag" = "x" && _define_flag="-Wextra"
5739 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5740/* end confdefs.h. */
5741
5742#include <stdlib.h>
5743#include <stdio.h>
5744int main(int argc, char **argv) {
5745 /* Some math to catch -ftrapv problems in the toolchain */
5746 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5747 float l = i * 2.1;
5748 double m = l / 0.5;
5749 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5750 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5751 exit(0);
5752}
5753
5754_ACEOF
5755if ac_fn_c_try_compile "$LINENO"; then :
5756
5757if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5758then
5759 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5760$as_echo "no" >&6; }
5761 CFLAGS="$saved_CFLAGS"
5762else
5763 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5764$as_echo "yes" >&6; }
5765 CFLAGS="$saved_CFLAGS $_define_flag"
5766fi
5767else
5768 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5769$as_echo "no" >&6; }
5770 CFLAGS="$saved_CFLAGS"
5771
5772fi
5773rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5774}
5775 {
5776 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-arith" >&5
5777$as_echo_n "checking if $CC supports compile flag -Wpointer-arith... " >&6; }
5778 saved_CFLAGS="$CFLAGS"
5779 CFLAGS="$CFLAGS $WERROR -Wpointer-arith"
5780 _define_flag=""
5781 test "x$_define_flag" = "x" && _define_flag="-Wpointer-arith"
5782 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5783/* end confdefs.h. */
5784
5785#include <stdlib.h>
5786#include <stdio.h>
5787int main(int argc, char **argv) {
5788 /* Some math to catch -ftrapv problems in the toolchain */
5789 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5790 float l = i * 2.1;
5791 double m = l / 0.5;
5792 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5793 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5794 exit(0);
5795}
5796
5797_ACEOF
5798if ac_fn_c_try_compile "$LINENO"; then :
5799
5800if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5801then
5802 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5803$as_echo "no" >&6; }
5804 CFLAGS="$saved_CFLAGS"
5805else
5806 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5807$as_echo "yes" >&6; }
5808 CFLAGS="$saved_CFLAGS $_define_flag"
5809fi
5810else
5811 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5812$as_echo "no" >&6; }
5813 CFLAGS="$saved_CFLAGS"
5814
5815fi
5816rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5817}
5818 {
5819 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wuninitialized" >&5
5820$as_echo_n "checking if $CC supports compile flag -Wuninitialized... " >&6; }
5821 saved_CFLAGS="$CFLAGS"
5822 CFLAGS="$CFLAGS $WERROR -Wuninitialized"
5823 _define_flag=""
5824 test "x$_define_flag" = "x" && _define_flag="-Wuninitialized"
5825 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5826/* end confdefs.h. */
5827
5828#include <stdlib.h>
5829#include <stdio.h>
5830int main(int argc, char **argv) {
5831 /* Some math to catch -ftrapv problems in the toolchain */
5832 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5833 float l = i * 2.1;
5834 double m = l / 0.5;
5835 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5836 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5837 exit(0);
5838}
5839
5840_ACEOF
5841if ac_fn_c_try_compile "$LINENO"; then :
5842
5843if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5844then
5845 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5846$as_echo "no" >&6; }
5847 CFLAGS="$saved_CFLAGS"
5848else
5849 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5850$as_echo "yes" >&6; }
5851 CFLAGS="$saved_CFLAGS $_define_flag"
5852fi
5853else
5854 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5855$as_echo "no" >&6; }
5856 CFLAGS="$saved_CFLAGS"
5857
5858fi
5859rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5860}
5861 {
5862 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsign-compare" >&5
5863$as_echo_n "checking if $CC supports compile flag -Wsign-compare... " >&6; }
5864 saved_CFLAGS="$CFLAGS"
5865 CFLAGS="$CFLAGS $WERROR -Wsign-compare"
5866 _define_flag=""
5867 test "x$_define_flag" = "x" && _define_flag="-Wsign-compare"
5868 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5869/* end confdefs.h. */
5870
5871#include <stdlib.h>
5872#include <stdio.h>
5873int main(int argc, char **argv) {
5874 /* Some math to catch -ftrapv problems in the toolchain */
5875 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5876 float l = i * 2.1;
5877 double m = l / 0.5;
5878 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5879 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5880 exit(0);
5881}
5882
5883_ACEOF
5884if ac_fn_c_try_compile "$LINENO"; then :
5885
5886if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5887then
5888 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5889$as_echo "no" >&6; }
5890 CFLAGS="$saved_CFLAGS"
5891else
5892 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5893$as_echo "yes" >&6; }
5894 CFLAGS="$saved_CFLAGS $_define_flag"
5895fi
5896else
5897 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5898$as_echo "no" >&6; }
5899 CFLAGS="$saved_CFLAGS"
5900
5901fi
5902rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5903}
5904 {
5905 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wformat-security" >&5
5906$as_echo_n "checking if $CC supports compile flag -Wformat-security... " >&6; }
5907 saved_CFLAGS="$CFLAGS"
5908 CFLAGS="$CFLAGS $WERROR -Wformat-security"
5909 _define_flag=""
5910 test "x$_define_flag" = "x" && _define_flag="-Wformat-security"
5911 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5912/* end confdefs.h. */
5913
5914#include <stdlib.h>
5915#include <stdio.h>
5916int main(int argc, char **argv) {
5917 /* Some math to catch -ftrapv problems in the toolchain */
5918 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5919 float l = i * 2.1;
5920 double m = l / 0.5;
5921 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5922 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5923 exit(0);
5924}
5925
5926_ACEOF
5927if ac_fn_c_try_compile "$LINENO"; then :
5928
5929if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5930then
5931 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5932$as_echo "no" >&6; }
5933 CFLAGS="$saved_CFLAGS"
5934else
5935 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5936$as_echo "yes" >&6; }
5937 CFLAGS="$saved_CFLAGS $_define_flag"
5938fi
5939else
5940 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5941$as_echo "no" >&6; }
5942 CFLAGS="$saved_CFLAGS"
5943
5944fi
5945rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5946}
5947 {
5948 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsizeof-pointer-memaccess" >&5
5949$as_echo_n "checking if $CC supports compile flag -Wsizeof-pointer-memaccess... " >&6; }
5950 saved_CFLAGS="$CFLAGS"
5951 CFLAGS="$CFLAGS $WERROR -Wsizeof-pointer-memaccess"
5952 _define_flag=""
5953 test "x$_define_flag" = "x" && _define_flag="-Wsizeof-pointer-memaccess"
5954 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5955/* end confdefs.h. */
5956
5957#include <stdlib.h>
5958#include <stdio.h>
5959int main(int argc, char **argv) {
5960 /* Some math to catch -ftrapv problems in the toolchain */
5961 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5962 float l = i * 2.1;
5963 double m = l / 0.5;
5964 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5965 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5966 exit(0);
5967}
5968
5969_ACEOF
5970if ac_fn_c_try_compile "$LINENO"; then :
5971
5972if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5973then
5974 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5975$as_echo "no" >&6; }
5976 CFLAGS="$saved_CFLAGS"
5977else
5978 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5979$as_echo "yes" >&6; }
5980 CFLAGS="$saved_CFLAGS $_define_flag"
5981fi
5982else
5983 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5984$as_echo "no" >&6; }
5985 CFLAGS="$saved_CFLAGS"
5986
5987fi
5988rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5989}
5990 {
5991 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-sign" >&5
5992$as_echo_n "checking if $CC supports compile flag -Wpointer-sign... " >&6; }
5993 saved_CFLAGS="$CFLAGS"
5994 CFLAGS="$CFLAGS $WERROR -Wpointer-sign"
5995 _define_flag="-Wno-pointer-sign"
5996 test "x$_define_flag" = "x" && _define_flag="-Wpointer-sign"
5997 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5998/* end confdefs.h. */
5999
6000#include <stdlib.h>
6001#include <stdio.h>
6002int main(int argc, char **argv) {
6003 /* Some math to catch -ftrapv problems in the toolchain */
6004 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6005 float l = i * 2.1;
6006 double m = l / 0.5;
6007 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6008 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6009 exit(0);
6010}
6011
6012_ACEOF
6013if ac_fn_c_try_compile "$LINENO"; then :
6014
6015if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6016then
6017 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6018$as_echo "no" >&6; }
6019 CFLAGS="$saved_CFLAGS"
6020else
6021 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6022$as_echo "yes" >&6; }
6023 CFLAGS="$saved_CFLAGS $_define_flag"
6024fi
6025else
6026 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6027$as_echo "no" >&6; }
6028 CFLAGS="$saved_CFLAGS"
6029
6030fi
6031rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6032}
6033 {
6034 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunused-result" >&5
6035$as_echo_n "checking if $CC supports compile flag -Wunused-result... " >&6; }
6036 saved_CFLAGS="$CFLAGS"
6037 CFLAGS="$CFLAGS $WERROR -Wunused-result"
6038 _define_flag="-Wno-unused-result"
6039 test "x$_define_flag" = "x" && _define_flag="-Wunused-result"
6040 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6041/* end confdefs.h. */
6042
6043#include <stdlib.h>
6044#include <stdio.h>
6045int main(int argc, char **argv) {
6046 /* Some math to catch -ftrapv problems in the toolchain */
6047 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6048 float l = i * 2.1;
6049 double m = l / 0.5;
6050 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6051 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6052 exit(0);
6053}
6054
6055_ACEOF
6056if ac_fn_c_try_compile "$LINENO"; then :
6057
6058if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6059then
6060 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6061$as_echo "no" >&6; }
6062 CFLAGS="$saved_CFLAGS"
6063else
6064 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6065$as_echo "yes" >&6; }
6066 CFLAGS="$saved_CFLAGS $_define_flag"
6067fi
6068else
6069 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6070$as_echo "no" >&6; }
6071 CFLAGS="$saved_CFLAGS"
6072
6073fi
6074rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6075}
6076 {
6077 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wimplicit-fallthrough" >&5
6078$as_echo_n "checking if $CC supports compile flag -Wimplicit-fallthrough... " >&6; }
6079 saved_CFLAGS="$CFLAGS"
6080 CFLAGS="$CFLAGS $WERROR -Wimplicit-fallthrough"
6081 _define_flag=""
6082 test "x$_define_flag" = "x" && _define_flag="-Wimplicit-fallthrough"
6083 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6084/* end confdefs.h. */
6085
6086#include <stdlib.h>
6087#include <stdio.h>
6088int main(int argc, char **argv) {
6089 /* Some math to catch -ftrapv problems in the toolchain */
6090 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6091 float l = i * 2.1;
6092 double m = l / 0.5;
6093 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6094 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6095 exit(0);
6096}
6097
6098_ACEOF
6099if ac_fn_c_try_compile "$LINENO"; then :
6100
6101if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6102then
6103 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6104$as_echo "no" >&6; }
6105 CFLAGS="$saved_CFLAGS"
6106else
6107 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6108$as_echo "yes" >&6; }
6109 CFLAGS="$saved_CFLAGS $_define_flag"
6110fi
6111else
6112 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6113$as_echo "no" >&6; }
6114 CFLAGS="$saved_CFLAGS"
6115
6116fi
6117rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6118}
6119 {
6120 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fno-strict-aliasing" >&5
6121$as_echo_n "checking if $CC supports compile flag -fno-strict-aliasing... " >&6; }
6122 saved_CFLAGS="$CFLAGS"
6123 CFLAGS="$CFLAGS $WERROR -fno-strict-aliasing"
6124 _define_flag=""
6125 test "x$_define_flag" = "x" && _define_flag="-fno-strict-aliasing"
6126 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6127/* end confdefs.h. */
6128
6129#include <stdlib.h>
6130#include <stdio.h>
6131int main(int argc, char **argv) {
6132 /* Some math to catch -ftrapv problems in the toolchain */
6133 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6134 float l = i * 2.1;
6135 double m = l / 0.5;
6136 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6137 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6138 exit(0);
6139}
6140
6141_ACEOF
6142if ac_fn_c_try_compile "$LINENO"; then :
6143
6144if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6145then
6146 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6147$as_echo "no" >&6; }
6148 CFLAGS="$saved_CFLAGS"
6149else
6150 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6151$as_echo "yes" >&6; }
6152 CFLAGS="$saved_CFLAGS $_define_flag"
6153fi
6154else
6155 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6156$as_echo "no" >&6; }
6157 CFLAGS="$saved_CFLAGS"
6158
6159fi
6160rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6161}
6162 if test "x$use_toolchain_hardening" = "x1"; then
6163 {
6164 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -mretpoline" >&5
6165$as_echo_n "checking if $CC supports compile flag -mretpoline... " >&6; }
6166 saved_CFLAGS="$CFLAGS"
6167 CFLAGS="$CFLAGS $WERROR -mretpoline"
6168 _define_flag=""
6169 test "x$_define_flag" = "x" && _define_flag="-mretpoline"
6170 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6171/* end confdefs.h. */
6172
6173#include <stdlib.h>
6174#include <stdio.h>
6175int main(int argc, char **argv) {
6176 /* Some math to catch -ftrapv problems in the toolchain */
6177 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6178 float l = i * 2.1;
6179 double m = l / 0.5;
6180 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6181 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6182 exit(0);
6183}
6184
6185_ACEOF
6186if ac_fn_c_try_compile "$LINENO"; then :
6187
6188if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6189then
6190 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6191$as_echo "no" >&6; }
6192 CFLAGS="$saved_CFLAGS"
6193else
6194 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6195$as_echo "yes" >&6; }
6196 CFLAGS="$saved_CFLAGS $_define_flag"
6197fi
6198else
6199 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6200$as_echo "no" >&6; }
6201 CFLAGS="$saved_CFLAGS"
6202
6203fi
6204rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6205} # clang
6206 {
6207 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,retpolineplt" >&5
6208$as_echo_n "checking if $LD supports link flag -Wl,-z,retpolineplt... " >&6; }
6209 saved_LDFLAGS="$LDFLAGS"
6210 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,retpolineplt"
6211 _define_flag=""
6212 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,retpolineplt"
6213 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6214/* end confdefs.h. */
6215
6216#include <stdlib.h>
6217#include <stdio.h>
6218int main(int argc, char **argv) {
6219 /* Some math to catch -ftrapv problems in the toolchain */
6220 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6221 float l = i * 2.1;
6222 double m = l / 0.5;
6223 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6224 long long p = n * o;
6225 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6226 exit(0);
6227}
6228
6229_ACEOF
6230if ac_fn_c_try_link "$LINENO"; then :
6231
6232if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6233then
6234 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6235$as_echo "no" >&6; }
6236 LDFLAGS="$saved_LDFLAGS"
6237else
6238 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6239$as_echo "yes" >&6; }
6240 LDFLAGS="$saved_LDFLAGS $_define_flag"
6241fi
6242else
6243 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6244$as_echo "no" >&6; }
6245 LDFLAGS="$saved_LDFLAGS"
6246
6247fi
6248rm -f core conftest.err conftest.$ac_objext \
6249 conftest$ac_exeext conftest.$ac_ext
6250}
6251 {
6252 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -D_FORTIFY_SOURCE=2" >&5
6253$as_echo_n "checking if $CC supports compile flag -D_FORTIFY_SOURCE=2... " >&6; }
6254 saved_CFLAGS="$CFLAGS"
6255 CFLAGS="$CFLAGS $WERROR -D_FORTIFY_SOURCE=2"
6256 _define_flag=""
6257 test "x$_define_flag" = "x" && _define_flag="-D_FORTIFY_SOURCE=2"
6258 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6259/* end confdefs.h. */
6260
6261#include <stdlib.h>
6262#include <stdio.h>
6263int main(int argc, char **argv) {
6264 /* Some math to catch -ftrapv problems in the toolchain */
6265 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6266 float l = i * 2.1;
6267 double m = l / 0.5;
6268 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6269 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6270 exit(0);
6271}
6272
6273_ACEOF
6274if ac_fn_c_try_compile "$LINENO"; then :
6275
6276if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6277then
6278 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6279$as_echo "no" >&6; }
6280 CFLAGS="$saved_CFLAGS"
6281else
6282 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6283$as_echo "yes" >&6; }
6284 CFLAGS="$saved_CFLAGS $_define_flag"
6285fi
6286else
6287 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6288$as_echo "no" >&6; }
6289 CFLAGS="$saved_CFLAGS"
6290
6291fi
6292rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6293}
6294 {
6295 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,relro" >&5
6296$as_echo_n "checking if $LD supports link flag -Wl,-z,relro... " >&6; }
6297 saved_LDFLAGS="$LDFLAGS"
6298 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,relro"
6299 _define_flag=""
6300 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,relro"
6301 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6302/* end confdefs.h. */
6303
6304#include <stdlib.h>
6305#include <stdio.h>
6306int main(int argc, char **argv) {
6307 /* Some math to catch -ftrapv problems in the toolchain */
6308 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6309 float l = i * 2.1;
6310 double m = l / 0.5;
6311 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6312 long long p = n * o;
6313 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6314 exit(0);
6315}
6316
6317_ACEOF
6318if ac_fn_c_try_link "$LINENO"; then :
6319
6320if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6321then
6322 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6323$as_echo "no" >&6; }
6324 LDFLAGS="$saved_LDFLAGS"
6325else
6326 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6327$as_echo "yes" >&6; }
6328 LDFLAGS="$saved_LDFLAGS $_define_flag"
6329fi
6330else
6331 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6332$as_echo "no" >&6; }
6333 LDFLAGS="$saved_LDFLAGS"
6334
6335fi
6336rm -f core conftest.err conftest.$ac_objext \
6337 conftest$ac_exeext conftest.$ac_ext
6338}
6339 {
6340 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,now" >&5
6341$as_echo_n "checking if $LD supports link flag -Wl,-z,now... " >&6; }
6342 saved_LDFLAGS="$LDFLAGS"
6343 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,now"
6344 _define_flag=""
6345 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,now"
6346 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6347/* end confdefs.h. */
6348
6349#include <stdlib.h>
6350#include <stdio.h>
6351int main(int argc, char **argv) {
6352 /* Some math to catch -ftrapv problems in the toolchain */
6353 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6354 float l = i * 2.1;
6355 double m = l / 0.5;
6356 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6357 long long p = n * o;
6358 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6359 exit(0);
6360}
6361
6362_ACEOF
6363if ac_fn_c_try_link "$LINENO"; then :
6364
6365if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6366then
6367 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6368$as_echo "no" >&6; }
6369 LDFLAGS="$saved_LDFLAGS"
6370else
6371 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6372$as_echo "yes" >&6; }
6373 LDFLAGS="$saved_LDFLAGS $_define_flag"
6374fi
6375else
6376 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6377$as_echo "no" >&6; }
6378 LDFLAGS="$saved_LDFLAGS"
6379
6380fi
6381rm -f core conftest.err conftest.$ac_objext \
6382 conftest$ac_exeext conftest.$ac_ext
6383}
6384 {
6385 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,noexecstack" >&5
6386$as_echo_n "checking if $LD supports link flag -Wl,-z,noexecstack... " >&6; }
6387 saved_LDFLAGS="$LDFLAGS"
6388 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,noexecstack"
6389 _define_flag=""
6390 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,noexecstack"
6391 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6392/* end confdefs.h. */
6393
6394#include <stdlib.h>
6395#include <stdio.h>
6396int main(int argc, char **argv) {
6397 /* Some math to catch -ftrapv problems in the toolchain */
6398 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6399 float l = i * 2.1;
6400 double m = l / 0.5;
6401 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6402 long long p = n * o;
6403 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6404 exit(0);
6405}
6406
6407_ACEOF
6408if ac_fn_c_try_link "$LINENO"; then :
6409
6410if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6411then
6412 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6413$as_echo "no" >&6; }
6414 LDFLAGS="$saved_LDFLAGS"
6415else
6416 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6417$as_echo "yes" >&6; }
6418 LDFLAGS="$saved_LDFLAGS $_define_flag"
6419fi
6420else
6421 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6422$as_echo "no" >&6; }
6423 LDFLAGS="$saved_LDFLAGS"
6424
6425fi
6426rm -f core conftest.err conftest.$ac_objext \
6427 conftest$ac_exeext conftest.$ac_ext
6428}
6429 # NB. -ftrapv expects certain support functions to be present in
6430 # the compiler library (libgcc or similar) to detect integer operations
6431 # that can overflow. We must check that the result of enabling it
6432 # actually links. The test program compiled/linked includes a number
6433 # of integer operations that should exercise this.
6434 {
6435 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -ftrapv and linking succeeds" >&5
6436$as_echo_n "checking if $CC supports compile flag -ftrapv and linking succeeds... " >&6; }
6437 saved_CFLAGS="$CFLAGS"
6438 CFLAGS="$CFLAGS $WERROR -ftrapv"
6439 _define_flag=""
6440 test "x$_define_flag" = "x" && _define_flag="-ftrapv"
6441 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6442/* end confdefs.h. */
6443
6444#include <stdlib.h>
6445#include <stdio.h>
6446int main(int argc, char **argv) {
6447 /* Some math to catch -ftrapv problems in the toolchain */
6448 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6449 float l = i * 2.1;
6450 double m = l / 0.5;
6451 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6452 long long int p = n * o;
6453 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6454 exit(0);
6455}
6456
6457_ACEOF
6458if ac_fn_c_try_link "$LINENO"; then :
6459
6460if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6461then
6462 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6463$as_echo "no" >&6; }
6464 CFLAGS="$saved_CFLAGS"
6465else
6466 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6467$as_echo "yes" >&6; }
6468 CFLAGS="$saved_CFLAGS $_define_flag"
6469fi
6470else
6471 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6472$as_echo "no" >&6; }
6473 CFLAGS="$saved_CFLAGS"
6474
6475fi
6476rm -f core conftest.err conftest.$ac_objext \
6477 conftest$ac_exeext conftest.$ac_ext
6478}
6479 fi
6480 { $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc version" >&5
6481$as_echo_n "checking gcc version... " >&6; }
6482 GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'`
6483 case $GCC_VER in
6484 1.*) no_attrib_nonnull=1 ;;
6485 2.8* | 2.9*)
6486 no_attrib_nonnull=1
6487 ;;
6488 2.*) no_attrib_nonnull=1 ;;
6489 *) ;;
6490 esac
6491 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_VER" >&5
6492$as_echo "$GCC_VER" >&6; }
6493
6494 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -fno-builtin-memset" >&5
6495$as_echo_n "checking if $CC accepts -fno-builtin-memset... " >&6; }
6496 saved_CFLAGS="$CFLAGS"
6497 CFLAGS="$CFLAGS -fno-builtin-memset"
6498 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6499/* end confdefs.h. */
6500 #include <string.h>
6501int
6502main ()
6503{
6504 char b[10]; memset(b, 0, sizeof(b));
6505 ;
6506 return 0;
6507}
6508_ACEOF
6509if ac_fn_c_try_link "$LINENO"; then :
6510 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6511$as_echo "yes" >&6; }
6512else
6513 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6514$as_echo "no" >&6; }
6515 CFLAGS="$saved_CFLAGS"
6516
6517fi
6518rm -f core conftest.err conftest.$ac_objext \
6519 conftest$ac_exeext conftest.$ac_ext
6520
6521 # -fstack-protector-all doesn't always work for some GCC versions
6522 # and/or platforms, so we test if we can. If it's not supported
6523 # on a given platform gcc will emit a warning so we use -Werror.
6524 if test "x$use_stack_protector" = "x1"; then
6525 for t in -fstack-protector-strong -fstack-protector-all \
6526 -fstack-protector; do
6527 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports $t" >&5
6528$as_echo_n "checking if $CC supports $t... " >&6; }
6529 saved_CFLAGS="$CFLAGS"
6530 saved_LDFLAGS="$LDFLAGS"
6531 CFLAGS="$CFLAGS $t -Werror"
6532 LDFLAGS="$LDFLAGS $t -Werror"
6533 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6534/* end confdefs.h. */
6535
6536 #include <stdio.h>
6537 int func (int t) {char b[100]; snprintf(b,sizeof b,"%d",t); return t;}
6538
6539int
6540main ()
6541{
6542
6543 char x[256];
6544 snprintf(x, sizeof(x), "XXX%d", func(1));
6545
6546 ;
6547 return 0;
6548}
6549_ACEOF
6550if ac_fn_c_try_link "$LINENO"; then :
6551 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6552$as_echo "yes" >&6; }
6553 CFLAGS="$saved_CFLAGS $t"
6554 LDFLAGS="$saved_LDFLAGS $t"
6555 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $t works" >&5
6556$as_echo_n "checking if $t works... " >&6; }
6557 if test "$cross_compiling" = yes; then :
6558 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: cannot test" >&5
6559$as_echo "$as_me: WARNING: cross compiling: cannot test" >&2;}
6560 break
6561
6562else
6563 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6564/* end confdefs.h. */
6565
6566 #include <stdio.h>
6567 int func (int t) {char b[100]; snprintf(b,sizeof b,"%d",t); return t;}
6568
6569int
6570main ()
6571{
6572
6573 char x[256];
6574 snprintf(x, sizeof(x), "XXX%d", func(1));
6575
6576 ;
6577 return 0;
6578}
6579_ACEOF
6580if ac_fn_c_try_run "$LINENO"; then :
6581 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6582$as_echo "yes" >&6; }
6583 break
6584else
6585 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6586$as_echo "no" >&6; }
6587fi
6588rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
6589 conftest.$ac_objext conftest.beam conftest.$ac_ext
6590fi
6591
6592
6593else
6594 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6595$as_echo "no" >&6; }
6596
6597fi
6598rm -f core conftest.err conftest.$ac_objext \
6599 conftest$ac_exeext conftest.$ac_ext
6600 CFLAGS="$saved_CFLAGS"
6601 LDFLAGS="$saved_LDFLAGS"
6602 done
6603 fi
6604
6605 if test -z "$have_llong_max"; then
6606 # retry LLONG_MAX with -std=gnu99, needed on some Linuxes
6607 unset ac_cv_have_decl_LLONG_MAX
6608 saved_CFLAGS="$CFLAGS"
6609 CFLAGS="$CFLAGS -std=gnu99"
6610 ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h>
6611
6612"
6613if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then :
6614 have_llong_max=1
6615else
6616 CFLAGS="$saved_CFLAGS"
6617fi
6618
6619 fi
6620fi
6621
6622{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows __attribute__ on return types" >&5
6623$as_echo_n "checking if compiler allows __attribute__ on return types... " >&6; }
6624cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6625/* end confdefs.h. */
6626
6627#include <stdlib.h>
6628__attribute__((__unused__)) static void foo(void){return;}
6629int
6630main ()
6631{
6632 exit(0);
6633 ;
6634 return 0;
6635}
6636_ACEOF
6637if ac_fn_c_try_compile "$LINENO"; then :
6638 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6639$as_echo "yes" >&6; }
6640else
6641 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6642$as_echo "no" >&6; }
6643
6644$as_echo "#define NO_ATTRIBUTE_ON_RETURN_TYPE 1" >>confdefs.h
6645
6646
6647fi
6648rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6649
6650{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows __attribute__ prototype args" >&5
6651$as_echo_n "checking if compiler allows __attribute__ prototype args... " >&6; }
6652cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6653/* end confdefs.h. */
6654
6655#include <stdlib.h>
6656typedef void foo(const char *, ...) __attribute__((format(printf, 1, 2)));
6657int
6658main ()
6659{
6660 exit(0);
6661 ;
6662 return 0;
6663}
6664_ACEOF
6665if ac_fn_c_try_compile "$LINENO"; then :
6666 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6667$as_echo "yes" >&6; }
6668else
6669 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6670$as_echo "no" >&6; }
6671
6672$as_echo "#define NO_ATTRIBUTE_ON_PROTOTYPE_ARGS 1" >>confdefs.h
6673
6674
6675fi
6676rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6677
6678if test "x$no_attrib_nonnull" != "x1" ; then
6679
6680$as_echo "#define HAVE_ATTRIBUTE__NONNULL__ 1" >>confdefs.h
6681
6682fi
6683
6684
6685# Check whether --with-rpath was given.
6686if test "${with_rpath+set}" = set; then :
6687 withval=$with_rpath;
6688 if test "x$withval" = "xno" ; then
6689 rpath_opt=""
6690 elif test "x$withval" = "xyes" ; then
6691 rpath_opt="-R"
6692 else
6693 rpath_opt="$withval"
6694 fi
6695
6696
6697fi
6698
6699
6700# Allow user to specify flags
6701
6702# Check whether --with-cflags was given.
6703if test "${with_cflags+set}" = set; then :
6704 withval=$with_cflags;
6705 if test -n "$withval" && test "x$withval" != "xno" && \
6706 test "x${withval}" != "xyes"; then
6707 CFLAGS="$CFLAGS $withval"
6708 fi
6709
6710
6711fi
6712
6713
6714
6715# Check whether --with-cflags-after was given.
6716if test "${with_cflags_after+set}" = set; then :
6717 withval=$with_cflags_after;
6718 if test -n "$withval" && test "x$withval" != "xno" && \
6719 test "x${withval}" != "xyes"; then
6720 CFLAGS_AFTER="$withval"
6721 fi
6722
6723
6724fi
6725
6726
6727# Check whether --with-cppflags was given.
6728if test "${with_cppflags+set}" = set; then :
6729 withval=$with_cppflags;
6730 if test -n "$withval" && test "x$withval" != "xno" && \
6731 test "x${withval}" != "xyes"; then
6732 CPPFLAGS="$CPPFLAGS $withval"
6733 fi
6734
6735
6736fi
6737
6738
6739# Check whether --with-ldflags was given.
6740if test "${with_ldflags+set}" = set; then :
6741 withval=$with_ldflags;
6742 if test -n "$withval" && test "x$withval" != "xno" && \
6743 test "x${withval}" != "xyes"; then
6744 LDFLAGS="$LDFLAGS $withval"
6745 fi
6746
6747
6748fi
6749
6750
6751# Check whether --with-ldflags-after was given.
6752if test "${with_ldflags_after+set}" = set; then :
6753 withval=$with_ldflags_after;
6754 if test -n "$withval" && test "x$withval" != "xno" && \
6755 test "x${withval}" != "xyes"; then
6756 LDFLAGS_AFTER="$withval"
6757 fi
6758
6759
6760fi
6761
6762
6763# Check whether --with-libs was given.
6764if test "${with_libs+set}" = set; then :
6765 withval=$with_libs;
6766 if test -n "$withval" && test "x$withval" != "xno" && \
6767 test "x${withval}" != "xyes"; then
6768 LIBS="$LIBS $withval"
6769 fi
6770
6771
6772fi
6773
6774
6775# Check whether --with-Werror was given.
6776if test "${with_Werror+set}" = set; then :
6777 withval=$with_Werror;
6778 if test -n "$withval" && test "x$withval" != "xno"; then
6779 werror_flags="-Werror"
6780 if test "x${withval}" != "xyes"; then
6781 werror_flags="$withval"
6782 fi
6783 fi
6784
6785
6786fi
6787
6788
6789for ac_header in \
6790 blf.h \
6791 bstring.h \
6792 crypt.h \
6793 crypto/sha2.h \
6794 dirent.h \
6795 endian.h \
6796 elf.h \
6797 err.h \
6798 features.h \
6799 fcntl.h \
6800 floatingpoint.h \
6801 fnmatch.h \
6802 getopt.h \
6803 glob.h \
6804 ia.h \
6805 iaf.h \
6806 ifaddrs.h \
6807 inttypes.h \
6808 langinfo.h \
6809 limits.h \
6810 locale.h \
6811 login.h \
6812 maillock.h \
6813 ndir.h \
6814 net/if_tun.h \
6815 netdb.h \
6816 netgroup.h \
6817 pam/pam_appl.h \
6818 paths.h \
6819 poll.h \
6820 pty.h \
6821 readpassphrase.h \
6822 rpc/types.h \
6823 security/pam_appl.h \
6824 sha2.h \
6825 shadow.h \
6826 stddef.h \
6827 stdint.h \
6828 string.h \
6829 strings.h \
6830 sys/bitypes.h \
6831 sys/bsdtty.h \
6832 sys/cdefs.h \
6833 sys/dir.h \
6834 sys/file.h \
6835 sys/mman.h \
6836 sys/label.h \
6837 sys/ndir.h \
6838 sys/poll.h \
6839 sys/prctl.h \
6840 sys/pstat.h \
6841 sys/ptrace.h \
6842 sys/random.h \
6843 sys/select.h \
6844 sys/stat.h \
6845 sys/stream.h \
6846 sys/stropts.h \
6847 sys/strtio.h \
6848 sys/statvfs.h \
6849 sys/sysmacros.h \
6850 sys/time.h \
6851 sys/timers.h \
6852 sys/vfs.h \
6853 time.h \
6854 tmpdir.h \
6855 ttyent.h \
6856 ucred.h \
6857 unistd.h \
6858 usersec.h \
6859 util.h \
6860 utime.h \
6861 utmp.h \
6862 utmpx.h \
6863 vis.h \
6864 wchar.h \
6865
6866do :
6867 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
6868ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
6869if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
6870 cat >>confdefs.h <<_ACEOF
6871#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
6872_ACEOF
6873
6874fi
6875
6876done
6877
6878
6879# On some platforms (eg SunOS4) sys/audit.h requires sys/[time|types|label.h]
6880# to be included first.
6881for ac_header in sys/audit.h
6882do :
6883 ac_fn_c_check_header_compile "$LINENO" "sys/audit.h" "ac_cv_header_sys_audit_h" "
6884#ifdef HAVE_SYS_TIME_H
6885# include <sys/time.h>
6886#endif
6887#ifdef HAVE_SYS_TYPES_H
6888# include <sys/types.h>
6889#endif
6890#ifdef HAVE_SYS_LABEL_H
6891# include <sys/label.h>
6892#endif
6893
6894"
6895if test "x$ac_cv_header_sys_audit_h" = xyes; then :
6896 cat >>confdefs.h <<_ACEOF
6897#define HAVE_SYS_AUDIT_H 1
6898_ACEOF
6899
6900fi
6901
6902done
6903
6904
6905# sys/capsicum.h requires sys/types.h
6906for ac_header in sys/capsicum.h
6907do :
6908 ac_fn_c_check_header_compile "$LINENO" "sys/capsicum.h" "ac_cv_header_sys_capsicum_h" "
6909#ifdef HAVE_SYS_TYPES_H
6910# include <sys/types.h>
6911#endif
6912
6913"
6914if test "x$ac_cv_header_sys_capsicum_h" = xyes; then :
6915 cat >>confdefs.h <<_ACEOF
6916#define HAVE_SYS_CAPSICUM_H 1
6917_ACEOF
6918
6919fi
6920
6921done
6922
6923
6924# net/route.h requires sys/socket.h and sys/types.h.
6925# sys/sysctl.h also requires sys/param.h
6926for ac_header in net/route.h sys/sysctl.h
6927do :
6928 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
6929ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
6930#ifdef HAVE_SYS_TYPES_H
6931# include <sys/types.h>
6932#endif
6933#include <sys/param.h>
6934#include <sys/socket.h>
6935
6936"
6937if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
6938 cat >>confdefs.h <<_ACEOF
6939#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
6940_ACEOF
6941
6942fi
6943
6944done
6945
6946
6947# lastlog.h requires sys/time.h to be included first on Solaris
6948for ac_header in lastlog.h
6949do :
6950 ac_fn_c_check_header_compile "$LINENO" "lastlog.h" "ac_cv_header_lastlog_h" "
6951#ifdef HAVE_SYS_TIME_H
6952# include <sys/time.h>
6953#endif
6954
6955"
6956if test "x$ac_cv_header_lastlog_h" = xyes; then :
6957 cat >>confdefs.h <<_ACEOF
6958#define HAVE_LASTLOG_H 1
6959_ACEOF
6960
6961fi
6962
6963done
6964
6965
6966# sys/ptms.h requires sys/stream.h to be included first on Solaris
6967for ac_header in sys/ptms.h
6968do :
6969 ac_fn_c_check_header_compile "$LINENO" "sys/ptms.h" "ac_cv_header_sys_ptms_h" "
6970#ifdef HAVE_SYS_STREAM_H
6971# include <sys/stream.h>
6972#endif
6973
6974"
6975if test "x$ac_cv_header_sys_ptms_h" = xyes; then :
6976 cat >>confdefs.h <<_ACEOF
6977#define HAVE_SYS_PTMS_H 1
6978_ACEOF
6979
6980fi
6981
6982done
6983
6984
6985# login_cap.h requires sys/types.h on NetBSD
6986for ac_header in login_cap.h
6987do :
6988 ac_fn_c_check_header_compile "$LINENO" "login_cap.h" "ac_cv_header_login_cap_h" "
6989#include <sys/types.h>
6990
6991"
6992if test "x$ac_cv_header_login_cap_h" = xyes; then :
6993 cat >>confdefs.h <<_ACEOF
6994#define HAVE_LOGIN_CAP_H 1
6995_ACEOF
6996
6997fi
6998
6999done
7000
7001
7002# older BSDs need sys/param.h before sys/mount.h
7003for ac_header in sys/mount.h
7004do :
7005 ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "
7006#include <sys/param.h>
7007
7008"
7009if test "x$ac_cv_header_sys_mount_h" = xyes; then :
7010 cat >>confdefs.h <<_ACEOF
7011#define HAVE_SYS_MOUNT_H 1
7012_ACEOF
7013
7014fi
7015
7016done
7017
7018
7019# Android requires sys/socket.h to be included before sys/un.h
7020for ac_header in sys/un.h
7021do :
7022 ac_fn_c_check_header_compile "$LINENO" "sys/un.h" "ac_cv_header_sys_un_h" "
7023#include <sys/types.h>
7024#include <sys/socket.h>
7025
7026"
7027if test "x$ac_cv_header_sys_un_h" = xyes; then :
7028 cat >>confdefs.h <<_ACEOF
7029#define HAVE_SYS_UN_H 1
7030_ACEOF
7031
7032fi
7033
7034done
7035
7036
7037# Messages for features tested for in target-specific section
7038SIA_MSG="no"
7039SPC_MSG="no"
7040SP_MSG="no"
7041SPP_MSG="no"
7042
7043# Support for Solaris/Illumos privileges (this test is used by both
7044# the --with-solaris-privs option and --with-sandbox=solaris).
7045SOLARIS_PRIVS="no"
7046
7047# Check for some target-specific stuff
7048case "$host" in
7049*-*-aix*)
7050 # Some versions of VAC won't allow macro redefinitions at
7051 # -qlanglevel=ansi, and autoconf 2.60 sometimes insists on using that
7052 # particularly with older versions of vac or xlc.
7053 # It also throws errors about null macro arguments, but these are
7054 # not fatal.
7055 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows macro redefinitions" >&5
7056$as_echo_n "checking if compiler allows macro redefinitions... " >&6; }
7057 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7058/* end confdefs.h. */
7059
7060#define testmacro foo
7061#define testmacro bar
7062int
7063main ()
7064{
7065 exit(0);
7066 ;
7067 return 0;
7068}
7069_ACEOF
7070if ac_fn_c_try_compile "$LINENO"; then :
7071 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7072$as_echo "yes" >&6; }
7073else
7074 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7075$as_echo "no" >&6; }
7076 CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`"
7077 CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`"
7078 CPPFLAGS="`echo $CPPFLAGS | sed 's/-qlanglvl\=ansi//g'`"
7079
7080
7081fi
7082rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7083
7084 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to specify blibpath for linker ($LD)" >&5
7085$as_echo_n "checking how to specify blibpath for linker ($LD)... " >&6; }
7086 if (test -z "$blibpath"); then
7087 blibpath="/usr/lib:/lib"
7088 fi
7089 saved_LDFLAGS="$LDFLAGS"
7090 if test "$GCC" = "yes"; then
7091 flags="-Wl,-blibpath: -Wl,-rpath, -blibpath:"
7092 else
7093 flags="-blibpath: -Wl,-blibpath: -Wl,-rpath,"
7094 fi
7095 for tryflags in $flags ;do
7096 if (test -z "$blibflags"); then
7097 LDFLAGS="$saved_LDFLAGS $tryflags$blibpath"
7098 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7099/* end confdefs.h. */
7100
7101int
7102main ()
7103{
7104
7105 ;
7106 return 0;
7107}
7108_ACEOF
7109if ac_fn_c_try_link "$LINENO"; then :
7110 blibflags=$tryflags
7111fi
7112rm -f core conftest.err conftest.$ac_objext \
7113 conftest$ac_exeext conftest.$ac_ext
7114 fi
7115 done
7116 if (test -z "$blibflags"); then
7117 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
7118$as_echo "not found" >&6; }
7119 as_fn_error $? "*** must be able to specify blibpath on AIX - check config.log" "$LINENO" 5
7120 else
7121 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $blibflags" >&5
7122$as_echo "$blibflags" >&6; }
7123 fi
7124 LDFLAGS="$saved_LDFLAGS"
7125 ac_fn_c_check_func "$LINENO" "authenticate" "ac_cv_func_authenticate"
7126if test "x$ac_cv_func_authenticate" = xyes; then :
7127
7128$as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h
7129
7130else
7131 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for authenticate in -ls" >&5
7132$as_echo_n "checking for authenticate in -ls... " >&6; }
7133if ${ac_cv_lib_s_authenticate+:} false; then :
7134 $as_echo_n "(cached) " >&6
7135else
7136 ac_check_lib_save_LIBS=$LIBS
7137LIBS="-ls $LIBS"
7138cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7139/* end confdefs.h. */
7140
7141/* Override any GCC internal prototype to avoid an error.
7142 Use char because int might match the return type of a GCC
7143 builtin and then its argument prototype would still apply. */
7144#ifdef __cplusplus
7145extern "C"
7146#endif
7147char authenticate ();
7148int
7149main ()
7150{
7151return authenticate ();
7152 ;
7153 return 0;
7154}
7155_ACEOF
7156if ac_fn_c_try_link "$LINENO"; then :
7157 ac_cv_lib_s_authenticate=yes
7158else
7159 ac_cv_lib_s_authenticate=no
7160fi
7161rm -f core conftest.err conftest.$ac_objext \
7162 conftest$ac_exeext conftest.$ac_ext
7163LIBS=$ac_check_lib_save_LIBS
7164fi
7165{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_s_authenticate" >&5
7166$as_echo "$ac_cv_lib_s_authenticate" >&6; }
7167if test "x$ac_cv_lib_s_authenticate" = xyes; then :
7168 $as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h
7169
7170 LIBS="$LIBS -ls"
7171
7172fi
7173
7174
7175fi
7176
7177 ac_fn_c_check_decl "$LINENO" "authenticate" "ac_cv_have_decl_authenticate" "#include <usersec.h>
7178"
7179if test "x$ac_cv_have_decl_authenticate" = xyes; then :
7180 ac_have_decl=1
7181else
7182 ac_have_decl=0
7183fi
7184
7185cat >>confdefs.h <<_ACEOF
7186#define HAVE_DECL_AUTHENTICATE $ac_have_decl
7187_ACEOF
7188ac_fn_c_check_decl "$LINENO" "loginrestrictions" "ac_cv_have_decl_loginrestrictions" "#include <usersec.h>
7189"
7190if test "x$ac_cv_have_decl_loginrestrictions" = xyes; then :
7191 ac_have_decl=1
7192else
7193 ac_have_decl=0
7194fi
7195
7196cat >>confdefs.h <<_ACEOF
7197#define HAVE_DECL_LOGINRESTRICTIONS $ac_have_decl
7198_ACEOF
7199ac_fn_c_check_decl "$LINENO" "loginsuccess" "ac_cv_have_decl_loginsuccess" "#include <usersec.h>
7200"
7201if test "x$ac_cv_have_decl_loginsuccess" = xyes; then :
7202 ac_have_decl=1
7203else
7204 ac_have_decl=0
7205fi
7206
7207cat >>confdefs.h <<_ACEOF
7208#define HAVE_DECL_LOGINSUCCESS $ac_have_decl
7209_ACEOF
7210ac_fn_c_check_decl "$LINENO" "passwdexpired" "ac_cv_have_decl_passwdexpired" "#include <usersec.h>
7211"
7212if test "x$ac_cv_have_decl_passwdexpired" = xyes; then :
7213 ac_have_decl=1
7214else
7215 ac_have_decl=0
7216fi
7217
7218cat >>confdefs.h <<_ACEOF
7219#define HAVE_DECL_PASSWDEXPIRED $ac_have_decl
7220_ACEOF
7221ac_fn_c_check_decl "$LINENO" "setauthdb" "ac_cv_have_decl_setauthdb" "#include <usersec.h>
7222"
7223if test "x$ac_cv_have_decl_setauthdb" = xyes; then :
7224 ac_have_decl=1
7225else
7226 ac_have_decl=0
7227fi
7228
7229cat >>confdefs.h <<_ACEOF
7230#define HAVE_DECL_SETAUTHDB $ac_have_decl
7231_ACEOF
7232
7233 ac_fn_c_check_decl "$LINENO" "loginfailed" "ac_cv_have_decl_loginfailed" "#include <usersec.h>
7234
7235"
7236if test "x$ac_cv_have_decl_loginfailed" = xyes; then :
7237 ac_have_decl=1
7238else
7239 ac_have_decl=0
7240fi
7241
7242cat >>confdefs.h <<_ACEOF
7243#define HAVE_DECL_LOGINFAILED $ac_have_decl
7244_ACEOF
7245if test $ac_have_decl = 1; then :
7246 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if loginfailed takes 4 arguments" >&5
7247$as_echo_n "checking if loginfailed takes 4 arguments... " >&6; }
7248 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7249/* end confdefs.h. */
7250 #include <usersec.h>
7251int
7252main ()
7253{
7254 (void)loginfailed("user","host","tty",0);
7255 ;
7256 return 0;
7257}
7258_ACEOF
7259if ac_fn_c_try_compile "$LINENO"; then :
7260 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7261$as_echo "yes" >&6; }
7262
7263$as_echo "#define AIX_LOGINFAILED_4ARG 1" >>confdefs.h
7264
7265else
7266 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7267$as_echo "no" >&6; }
7268
7269fi
7270rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7271fi
7272
7273 for ac_func in getgrset setauthdb
7274do :
7275 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
7276ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
7277if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
7278 cat >>confdefs.h <<_ACEOF
7279#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
7280_ACEOF
7281
7282fi
7283done
7284
7285 ac_fn_c_check_decl "$LINENO" "F_CLOSEM" "ac_cv_have_decl_F_CLOSEM" " #include <limits.h>
7286 #include <fcntl.h>
7287
7288"
7289if test "x$ac_cv_have_decl_F_CLOSEM" = xyes; then :
7290
7291$as_echo "#define HAVE_FCNTL_CLOSEM 1" >>confdefs.h
7292
7293fi
7294
7295 check_for_aix_broken_getaddrinfo=1
7296
7297$as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7298
7299
7300$as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7301
7302
7303$as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7304
7305
7306$as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
7307
7308
7309$as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
7310
7311
7312$as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7313
7314
7315$as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h
7316
7317
7318$as_echo "#define PTY_ZEROREAD 1" >>confdefs.h
7319
7320
7321$as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h
7322
7323
7324$as_echo "#define BROKEN_STRNDUP 1" >>confdefs.h
7325
7326
7327$as_echo "#define BROKEN_STRNLEN 1" >>confdefs.h
7328
7329 ;;
7330*-*-android*)
7331
7332$as_echo "#define DISABLE_UTMP 1" >>confdefs.h
7333
7334
7335$as_echo "#define DISABLE_WTMP 1" >>confdefs.h
7336
7337 ;;
7338*-*-cygwin*)
7339 check_for_libcrypt_later=1
7340 LIBS="$LIBS /usr/lib/textreadmode.o"
7341
7342$as_echo "#define HAVE_CYGWIN 1" >>confdefs.h
7343
7344
7345$as_echo "#define USE_PIPES 1" >>confdefs.h
7346
7347
7348$as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h
7349
7350
7351$as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
7352
7353
7354$as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h
7355
7356
7357$as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
7358
7359
7360$as_echo "#define SSH_IOBUFSZ 65535" >>confdefs.h
7361
7362
7363$as_echo "#define FILESYSTEM_NO_BACKSLASH 1" >>confdefs.h
7364
7365 # Cygwin defines optargs, optargs as declspec(dllimport) for historical
7366 # reasons which cause compile warnings, so we disable those warnings.
7367 {
7368 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wno-attributes" >&5
7369$as_echo_n "checking if $CC supports compile flag -Wno-attributes... " >&6; }
7370 saved_CFLAGS="$CFLAGS"
7371 CFLAGS="$CFLAGS $WERROR -Wno-attributes"
7372 _define_flag=""
7373 test "x$_define_flag" = "x" && _define_flag="-Wno-attributes"
7374 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7375/* end confdefs.h. */
7376
7377#include <stdlib.h>
7378#include <stdio.h>
7379int main(int argc, char **argv) {
7380 /* Some math to catch -ftrapv problems in the toolchain */
7381 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
7382 float l = i * 2.1;
7383 double m = l / 0.5;
7384 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
7385 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
7386 exit(0);
7387}
7388
7389_ACEOF
7390if ac_fn_c_try_compile "$LINENO"; then :
7391
7392if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
7393then
7394 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7395$as_echo "no" >&6; }
7396 CFLAGS="$saved_CFLAGS"
7397else
7398 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7399$as_echo "yes" >&6; }
7400 CFLAGS="$saved_CFLAGS $_define_flag"
7401fi
7402else
7403 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7404$as_echo "no" >&6; }
7405 CFLAGS="$saved_CFLAGS"
7406
7407fi
7408rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7409}
7410 ;;
7411*-*-dgux*)
7412
7413$as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h
7414
7415 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7416
7417 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7418
7419 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7420
7421 ;;
7422*-*-darwin*)
7423 use_pie=auto
7424 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we have working getaddrinfo" >&5
7425$as_echo_n "checking if we have working getaddrinfo... " >&6; }
7426 if test "$cross_compiling" = yes; then :
7427 { $as_echo "$as_me:${as_lineno-$LINENO}: result: assume it is working" >&5
7428$as_echo "assume it is working" >&6; }
7429else
7430 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7431/* end confdefs.h. */
7432 #include <mach-o/dyld.h>
7433main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
7434 exit(0);
7435 else
7436 exit(1);
7437}
7438
7439_ACEOF
7440if ac_fn_c_try_run "$LINENO"; then :
7441 { $as_echo "$as_me:${as_lineno-$LINENO}: result: working" >&5
7442$as_echo "working" >&6; }
7443else
7444 { $as_echo "$as_me:${as_lineno-$LINENO}: result: buggy" >&5
7445$as_echo "buggy" >&6; }
7446
7447$as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
7448
7449
7450fi
7451rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
7452 conftest.$ac_objext conftest.beam conftest.$ac_ext
7453fi
7454
7455 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7456
7457 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7458
7459 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7460
7461
7462$as_echo "#define BROKEN_GLOB 1" >>confdefs.h
7463
7464
7465cat >>confdefs.h <<_ACEOF
7466#define BIND_8_COMPAT 1
7467_ACEOF
7468
7469
7470$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
7471
7472
7473$as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h
7474
7475
7476$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
7477
7478
7479 ac_fn_c_check_decl "$LINENO" "AU_IPv4" "ac_cv_have_decl_AU_IPv4" "$ac_includes_default"
7480if test "x$ac_cv_have_decl_AU_IPv4" = xyes; then :
7481
7482else
7483
7484$as_echo "#define AU_IPv4 0" >>confdefs.h
7485
7486 #include <bsm/audit.h>
7487
7488$as_echo "#define LASTLOG_WRITE_PUTUTXLINE 1" >>confdefs.h
7489
7490
7491fi
7492
7493
7494$as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7495
7496 for ac_func in sandbox_init
7497do :
7498 ac_fn_c_check_func "$LINENO" "sandbox_init" "ac_cv_func_sandbox_init"
7499if test "x$ac_cv_func_sandbox_init" = xyes; then :
7500 cat >>confdefs.h <<_ACEOF
7501#define HAVE_SANDBOX_INIT 1
7502_ACEOF
7503
7504fi
7505done
7506
7507 for ac_header in sandbox.h
7508do :
7509 ac_fn_c_check_header_mongrel "$LINENO" "sandbox.h" "ac_cv_header_sandbox_h" "$ac_includes_default"
7510if test "x$ac_cv_header_sandbox_h" = xyes; then :
7511 cat >>confdefs.h <<_ACEOF
7512#define HAVE_SANDBOX_H 1
7513_ACEOF
7514
7515fi
7516
7517done
7518
7519 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sandbox_apply in -lsandbox" >&5
7520$as_echo_n "checking for sandbox_apply in -lsandbox... " >&6; }
7521if ${ac_cv_lib_sandbox_sandbox_apply+:} false; then :
7522 $as_echo_n "(cached) " >&6
7523else
7524 ac_check_lib_save_LIBS=$LIBS
7525LIBS="-lsandbox $LIBS"
7526cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7527/* end confdefs.h. */
7528
7529/* Override any GCC internal prototype to avoid an error.
7530 Use char because int might match the return type of a GCC
7531 builtin and then its argument prototype would still apply. */
7532#ifdef __cplusplus
7533extern "C"
7534#endif
7535char sandbox_apply ();
7536int
7537main ()
7538{
7539return sandbox_apply ();
7540 ;
7541 return 0;
7542}
7543_ACEOF
7544if ac_fn_c_try_link "$LINENO"; then :
7545 ac_cv_lib_sandbox_sandbox_apply=yes
7546else
7547 ac_cv_lib_sandbox_sandbox_apply=no
7548fi
7549rm -f core conftest.err conftest.$ac_objext \
7550 conftest$ac_exeext conftest.$ac_ext
7551LIBS=$ac_check_lib_save_LIBS
7552fi
7553{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sandbox_sandbox_apply" >&5
7554$as_echo "$ac_cv_lib_sandbox_sandbox_apply" >&6; }
7555if test "x$ac_cv_lib_sandbox_sandbox_apply" = xyes; then :
7556
7557 SSHDLIBS="$SSHDLIBS -lsandbox"
7558
7559fi
7560
7561 # proc_pidinfo()-based closefrom() replacement.
7562 for ac_header in libproc.h
7563do :
7564 ac_fn_c_check_header_mongrel "$LINENO" "libproc.h" "ac_cv_header_libproc_h" "$ac_includes_default"
7565if test "x$ac_cv_header_libproc_h" = xyes; then :
7566 cat >>confdefs.h <<_ACEOF
7567#define HAVE_LIBPROC_H 1
7568_ACEOF
7569
7570fi
7571
7572done
7573
7574 for ac_func in proc_pidinfo
7575do :
7576 ac_fn_c_check_func "$LINENO" "proc_pidinfo" "ac_cv_func_proc_pidinfo"
7577if test "x$ac_cv_func_proc_pidinfo" = xyes; then :
7578 cat >>confdefs.h <<_ACEOF
7579#define HAVE_PROC_PIDINFO 1
7580_ACEOF
7581
7582fi
7583done
7584
7585 ;;
7586*-*-dragonfly*)
7587 SSHDLIBS="$SSHDLIBS -lcrypt"
7588 TEST_MALLOC_OPTIONS="AFGJPRX"
7589 ;;
7590*-*-haiku*)
7591 LIBS="$LIBS -lbsd "
7592 CFLAGS="$CFLAGS -D_BSD_SOURCE"
7593 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lnetwork" >&5
7594$as_echo_n "checking for socket in -lnetwork... " >&6; }
7595if ${ac_cv_lib_network_socket+:} false; then :
7596 $as_echo_n "(cached) " >&6
7597else
7598 ac_check_lib_save_LIBS=$LIBS
7599LIBS="-lnetwork $LIBS"
7600cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7601/* end confdefs.h. */
7602
7603/* Override any GCC internal prototype to avoid an error.
7604 Use char because int might match the return type of a GCC
7605 builtin and then its argument prototype would still apply. */
7606#ifdef __cplusplus
7607extern "C"
7608#endif
7609char socket ();
7610int
7611main ()
7612{
7613return socket ();
7614 ;
7615 return 0;
7616}
7617_ACEOF
7618if ac_fn_c_try_link "$LINENO"; then :
7619 ac_cv_lib_network_socket=yes
7620else
7621 ac_cv_lib_network_socket=no
7622fi
7623rm -f core conftest.err conftest.$ac_objext \
7624 conftest$ac_exeext conftest.$ac_ext
7625LIBS=$ac_check_lib_save_LIBS
7626fi
7627{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_network_socket" >&5
7628$as_echo "$ac_cv_lib_network_socket" >&6; }
7629if test "x$ac_cv_lib_network_socket" = xyes; then :
7630 cat >>confdefs.h <<_ACEOF
7631#define HAVE_LIBNETWORK 1
7632_ACEOF
7633
7634 LIBS="-lnetwork $LIBS"
7635
7636fi
7637
7638 $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
7639
7640
7641$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
7642
7643 MANTYPE=man
7644 ;;
7645*-*-hpux*)
7646 # first we define all of the options common to all HP-UX releases
7647 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
7648 IPADDR_IN_DISPLAY=yes
7649 $as_echo "#define USE_PIPES 1" >>confdefs.h
7650
7651 $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
7652
7653
7654$as_echo "#define LOCKED_PASSWD_STRING \"*\"" >>confdefs.h
7655
7656 $as_echo "#define SPT_TYPE SPT_PSTAT" >>confdefs.h
7657
7658
7659$as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h
7660
7661 maildir="/var/mail"
7662 LIBS="$LIBS -lsec"
7663 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for t_error in -lxnet" >&5
7664$as_echo_n "checking for t_error in -lxnet... " >&6; }
7665if ${ac_cv_lib_xnet_t_error+:} false; then :
7666 $as_echo_n "(cached) " >&6
7667else
7668 ac_check_lib_save_LIBS=$LIBS
7669LIBS="-lxnet $LIBS"
7670cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7671/* end confdefs.h. */
7672
7673/* Override any GCC internal prototype to avoid an error.
7674 Use char because int might match the return type of a GCC
7675 builtin and then its argument prototype would still apply. */
7676#ifdef __cplusplus
7677extern "C"
7678#endif
7679char t_error ();
7680int
7681main ()
7682{
7683return t_error ();
7684 ;
7685 return 0;
7686}
7687_ACEOF
7688if ac_fn_c_try_link "$LINENO"; then :
7689 ac_cv_lib_xnet_t_error=yes
7690else
7691 ac_cv_lib_xnet_t_error=no
7692fi
7693rm -f core conftest.err conftest.$ac_objext \
7694 conftest$ac_exeext conftest.$ac_ext
7695LIBS=$ac_check_lib_save_LIBS
7696fi
7697{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xnet_t_error" >&5
7698$as_echo "$ac_cv_lib_xnet_t_error" >&6; }
7699if test "x$ac_cv_lib_xnet_t_error" = xyes; then :
7700 cat >>confdefs.h <<_ACEOF
7701#define HAVE_LIBXNET 1
7702_ACEOF
7703
7704 LIBS="-lxnet $LIBS"
7705
7706else
7707 as_fn_error $? "*** -lxnet needed on HP-UX - check config.log ***" "$LINENO" 5
7708fi
7709
7710
7711 # next, we define all of the options specific to major releases
7712 case "$host" in
7713 *-*-hpux10*)
7714 if test -z "$GCC"; then
7715 CFLAGS="$CFLAGS -Ae"
7716 fi
7717 ;;
7718 *-*-hpux11*)
7719
7720$as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
7721
7722
7723$as_echo "#define DISABLE_UTMP 1" >>confdefs.h
7724
7725
7726$as_echo "#define USE_BTMP 1" >>confdefs.h
7727
7728 check_for_hpux_broken_getaddrinfo=1
7729 check_for_conflicting_getspnam=1
7730 ;;
7731 esac
7732
7733 # lastly, we define options specific to minor releases
7734 case "$host" in
7735 *-*-hpux10.26)
7736
7737$as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h
7738
7739 disable_ptmx_check=yes
7740 LIBS="$LIBS -lsecpw"
7741 ;;
7742 esac
7743 ;;
7744*-*-irix5*)
7745 PATH="$PATH:/usr/etc"
7746
7747$as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h
7748
7749 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7750
7751 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7752
7753 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7754
7755
7756$as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
7757
7758 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
7759
7760 ;;
7761*-*-irix6*)
7762 PATH="$PATH:/usr/etc"
7763
7764$as_echo "#define WITH_IRIX_ARRAY 1" >>confdefs.h
7765
7766
7767$as_echo "#define WITH_IRIX_PROJECT 1" >>confdefs.h
7768
7769
7770$as_echo "#define WITH_IRIX_AUDIT 1" >>confdefs.h
7771
7772 ac_fn_c_check_func "$LINENO" "jlimit_startjob" "ac_cv_func_jlimit_startjob"
7773if test "x$ac_cv_func_jlimit_startjob" = xyes; then :
7774
7775$as_echo "#define WITH_IRIX_JOBS 1" >>confdefs.h
7776
7777fi
7778
7779 $as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h
7780
7781 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7782
7783 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7784
7785 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7786
7787
7788$as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
7789
7790 $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
7791
7792 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
7793
7794 ;;
7795*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
7796 check_for_libcrypt_later=1
7797 $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
7798
7799 $as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h
7800
7801 $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7802
7803
7804$as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h
7805
7806
7807$as_echo "#define USE_BTMP 1" >>confdefs.h
7808
7809 ;;
7810*-*-linux*)
7811 no_dev_ptmx=1
7812 use_pie=auto
7813 check_for_libcrypt_later=1
7814 check_for_openpty_ctty_bug=1
7815 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE"
7816
7817$as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
7818
7819
7820$as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h
7821
7822 $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7823
7824
7825$as_echo "#define LINK_OPNOTSUPP_ERRNO EPERM" >>confdefs.h
7826
7827
7828$as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h
7829
7830 $as_echo "#define USE_BTMP 1" >>confdefs.h
7831
7832
7833$as_echo "#define LINUX_OOM_ADJUST 1" >>confdefs.h
7834
7835 inet6_default_4in6=yes
7836 case `uname -r` in
7837 1.*|2.0.*)
7838
7839$as_echo "#define BROKEN_CMSG_TYPE 1" >>confdefs.h
7840
7841 ;;
7842 esac
7843 # tun(4) forwarding compat code
7844 for ac_header in linux/if_tun.h
7845do :
7846 ac_fn_c_check_header_mongrel "$LINENO" "linux/if_tun.h" "ac_cv_header_linux_if_tun_h" "$ac_includes_default"
7847if test "x$ac_cv_header_linux_if_tun_h" = xyes; then :
7848 cat >>confdefs.h <<_ACEOF
7849#define HAVE_LINUX_IF_TUN_H 1
7850_ACEOF
7851
7852fi
7853
7854done
7855
7856 if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then
7857
7858$as_echo "#define SSH_TUN_LINUX 1" >>confdefs.h
7859
7860
7861$as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h
7862
7863
7864$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
7865
7866 fi
7867 ac_fn_c_check_header_compile "$LINENO" "linux/if.h" "ac_cv_header_linux_if_h" "
7868#ifdef HAVE_SYS_TYPES_H
7869# include <sys/types.h>
7870#endif
7871
7872"
7873if test "x$ac_cv_header_linux_if_h" = xyes; then :
7874
7875$as_echo "#define SYS_RDOMAIN_LINUX 1" >>confdefs.h
7876
7877fi
7878
7879
7880 for ac_header in linux/seccomp.h linux/filter.h linux/audit.h
7881do :
7882 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
7883ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <linux/types.h>
7884"
7885if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
7886 cat >>confdefs.h <<_ACEOF
7887#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
7888_ACEOF
7889
7890fi
7891
7892done
7893
7894 # Obtain MIPS ABI
7895 case "$host" in
7896 mips*)
7897 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7898/* end confdefs.h. */
7899
7900#if _MIPS_SIM != _ABIO32
7901#error
7902#endif
7903
7904int
7905main ()
7906{
7907
7908 ;
7909 return 0;
7910}
7911_ACEOF
7912if ac_fn_c_try_compile "$LINENO"; then :
7913 mips_abi="o32"
7914else
7915 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7916/* end confdefs.h. */
7917
7918#if _MIPS_SIM != _ABIN32
7919#error
7920#endif
7921
7922int
7923main ()
7924{
7925
7926 ;
7927 return 0;
7928}
7929_ACEOF
7930if ac_fn_c_try_compile "$LINENO"; then :
7931 mips_abi="n32"
7932else
7933 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7934/* end confdefs.h. */
7935
7936#if _MIPS_SIM != _ABI64
7937#error
7938#endif
7939
7940int
7941main ()
7942{
7943
7944 ;
7945 return 0;
7946}
7947_ACEOF
7948if ac_fn_c_try_compile "$LINENO"; then :
7949 mips_abi="n64"
7950else
7951 as_fn_error $? "unknown MIPS ABI" "$LINENO" 5
7952
7953fi
7954rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7955
7956fi
7957rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7958
7959fi
7960rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7961 ;;
7962 esac
7963 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for seccomp architecture" >&5
7964$as_echo_n "checking for seccomp architecture... " >&6; }
7965 seccomp_audit_arch=
7966 case "$host" in
7967 x86_64-*)
7968 seccomp_audit_arch=AUDIT_ARCH_X86_64
7969 ;;
7970 i*86-*)
7971 seccomp_audit_arch=AUDIT_ARCH_I386
7972 ;;
7973 arm*-*)
7974 seccomp_audit_arch=AUDIT_ARCH_ARM
7975 ;;
7976 aarch64*-*)
7977 seccomp_audit_arch=AUDIT_ARCH_AARCH64
7978 ;;
7979 s390x-*)
7980 seccomp_audit_arch=AUDIT_ARCH_S390X
7981 ;;
7982 s390-*)
7983 seccomp_audit_arch=AUDIT_ARCH_S390
7984 ;;
7985 powerpc64-*)
7986 seccomp_audit_arch=AUDIT_ARCH_PPC64
7987 ;;
7988 powerpc64le-*)
7989 seccomp_audit_arch=AUDIT_ARCH_PPC64LE
7990 ;;
7991 mips-*)
7992 seccomp_audit_arch=AUDIT_ARCH_MIPS
7993 ;;
7994 mipsel-*)
7995 seccomp_audit_arch=AUDIT_ARCH_MIPSEL
7996 ;;
7997 mips64-*)
7998 case "$mips_abi" in
7999 "n32")
8000 seccomp_audit_arch=AUDIT_ARCH_MIPS64N32
8001 ;;
8002 "n64")
8003 seccomp_audit_arch=AUDIT_ARCH_MIPS64
8004 ;;
8005 esac
8006 ;;
8007 mips64el-*)
8008 case "$mips_abi" in
8009 "n32")
8010 seccomp_audit_arch=AUDIT_ARCH_MIPSEL64N32
8011 ;;
8012 "n64")
8013 seccomp_audit_arch=AUDIT_ARCH_MIPSEL64
8014 ;;
8015 esac
8016 ;;
8017 esac
8018 if test "x$seccomp_audit_arch" != "x" ; then
8019 { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$seccomp_audit_arch\"" >&5
8020$as_echo "\"$seccomp_audit_arch\"" >&6; }
8021
8022cat >>confdefs.h <<_ACEOF
8023#define SECCOMP_AUDIT_ARCH $seccomp_audit_arch
8024_ACEOF
8025
8026 else
8027 { $as_echo "$as_me:${as_lineno-$LINENO}: result: architecture not supported" >&5
8028$as_echo "architecture not supported" >&6; }
8029 fi
8030 ;;
8031mips-sony-bsd|mips-sony-newsos4)
8032
8033$as_echo "#define NEED_SETPGRP 1" >>confdefs.h
8034
8035 SONY=1
8036 ;;
8037*-*-netbsd*)
8038 check_for_libcrypt_before=1
8039 if test "x$withval" != "xno" ; then
8040 rpath_opt="-R"
8041 fi
8042 CPPFLAGS="$CPPFLAGS -D_OPENBSD_SOURCE"
8043
8044$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
8045
8046 ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default"
8047if test "x$ac_cv_header_net_if_tap_h" = xyes; then :
8048
8049else
8050
8051$as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h
8052
8053fi
8054
8055
8056
8057$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
8058
8059 TEST_MALLOC_OPTIONS="AJRX"
8060
8061$as_echo "#define BROKEN_READ_COMPARISON 1" >>confdefs.h
8062
8063 ;;
8064*-*-freebsd*)
8065 check_for_libcrypt_later=1
8066
8067$as_echo "#define LOCKED_PASSWD_PREFIX \"*LOCKED*\"" >>confdefs.h
8068
8069
8070$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
8071
8072 ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default"
8073if test "x$ac_cv_header_net_if_tap_h" = xyes; then :
8074
8075else
8076
8077$as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h
8078
8079fi
8080
8081
8082
8083$as_echo "#define BROKEN_GLOB 1" >>confdefs.h
8084
8085 TEST_MALLOC_OPTIONS="AJRX"
8086 # Preauth crypto occasionally uses file descriptors for crypto offload
8087 # and will crash if they cannot be opened.
8088
8089$as_echo "#define SANDBOX_SKIP_RLIMIT_NOFILE 1" >>confdefs.h
8090
8091 ;;
8092*-*-bsdi*)
8093 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8094
8095 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8096
8097 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8098
8099 ;;
8100*-next-*)
8101 conf_lastlog_location="/usr/adm/lastlog"
8102 conf_utmp_location=/etc/utmp
8103 conf_wtmp_location=/usr/adm/wtmp
8104 maildir=/usr/spool/mail
8105
8106$as_echo "#define HAVE_NEXT 1" >>confdefs.h
8107
8108 $as_echo "#define USE_PIPES 1" >>confdefs.h
8109
8110
8111$as_echo "#define BROKEN_SAVED_UIDS 1" >>confdefs.h
8112
8113 ;;
8114*-*-openbsd*)
8115 use_pie=auto
8116
8117$as_echo "#define HAVE_ATTRIBUTE__SENTINEL__ 1" >>confdefs.h
8118
8119
8120$as_echo "#define HAVE_ATTRIBUTE__BOUNDED__ 1" >>confdefs.h
8121
8122
8123$as_echo "#define SSH_TUN_OPENBSD 1" >>confdefs.h
8124
8125
8126$as_echo "#define SYSLOG_R_SAFE_IN_SIGHAND 1" >>confdefs.h
8127
8128 TEST_MALLOC_OPTIONS="AFGJPRX"
8129 ;;
8130*-*-solaris*)
8131 if test "x$withval" != "xno" ; then
8132 rpath_opt="-R"
8133 fi
8134 $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
8135
8136 $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
8137
8138 $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
8139
8140
8141$as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h
8142
8143 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8144
8145 # Pushing STREAMS modules will cause sshd to acquire a controlling tty.
8146
8147$as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8148
8149
8150$as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8151
8152
8153$as_echo "#define BROKEN_TCGETATTR_ICANON 1" >>confdefs.h
8154
8155 external_path_file=/etc/default/login
8156 # hardwire lastlog location (can't detect it on some versions)
8157 conf_lastlog_location="/var/adm/lastlog"
8158 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obsolete utmp and wtmp in solaris2.x" >&5
8159$as_echo_n "checking for obsolete utmp and wtmp in solaris2.x... " >&6; }
8160 sol2ver=`echo "$host"| sed -e 's/.*[0-9]\.//'`
8161 if test "$sol2ver" -ge 8; then
8162 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8163$as_echo "yes" >&6; }
8164 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
8165
8166
8167$as_echo "#define DISABLE_WTMP 1" >>confdefs.h
8168
8169 else
8170 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8171$as_echo "no" >&6; }
8172 fi
8173 for ac_func in setpflags
8174do :
8175 ac_fn_c_check_func "$LINENO" "setpflags" "ac_cv_func_setpflags"
8176if test "x$ac_cv_func_setpflags" = xyes; then :
8177 cat >>confdefs.h <<_ACEOF
8178#define HAVE_SETPFLAGS 1
8179_ACEOF
8180
8181fi
8182done
8183
8184 for ac_func in setppriv
8185do :
8186 ac_fn_c_check_func "$LINENO" "setppriv" "ac_cv_func_setppriv"
8187if test "x$ac_cv_func_setppriv" = xyes; then :
8188 cat >>confdefs.h <<_ACEOF
8189#define HAVE_SETPPRIV 1
8190_ACEOF
8191
8192fi
8193done
8194
8195 for ac_func in priv_basicset
8196do :
8197 ac_fn_c_check_func "$LINENO" "priv_basicset" "ac_cv_func_priv_basicset"
8198if test "x$ac_cv_func_priv_basicset" = xyes; then :
8199 cat >>confdefs.h <<_ACEOF
8200#define HAVE_PRIV_BASICSET 1
8201_ACEOF
8202
8203fi
8204done
8205
8206 for ac_header in priv.h
8207do :
8208 ac_fn_c_check_header_mongrel "$LINENO" "priv.h" "ac_cv_header_priv_h" "$ac_includes_default"
8209if test "x$ac_cv_header_priv_h" = xyes; then :
8210 cat >>confdefs.h <<_ACEOF
8211#define HAVE_PRIV_H 1
8212_ACEOF
8213
8214fi
8215
8216done
8217
8218
8219# Check whether --with-solaris-contracts was given.
8220if test "${with_solaris_contracts+set}" = set; then :
8221 withval=$with_solaris_contracts;
8222 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ct_tmpl_activate in -lcontract" >&5
8223$as_echo_n "checking for ct_tmpl_activate in -lcontract... " >&6; }
8224if ${ac_cv_lib_contract_ct_tmpl_activate+:} false; then :
8225 $as_echo_n "(cached) " >&6
8226else
8227 ac_check_lib_save_LIBS=$LIBS
8228LIBS="-lcontract $LIBS"
8229cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8230/* end confdefs.h. */
8231
8232/* Override any GCC internal prototype to avoid an error.
8233 Use char because int might match the return type of a GCC
8234 builtin and then its argument prototype would still apply. */
8235#ifdef __cplusplus
8236extern "C"
8237#endif
8238char ct_tmpl_activate ();
8239int
8240main ()
8241{
8242return ct_tmpl_activate ();
8243 ;
8244 return 0;
8245}
8246_ACEOF
8247if ac_fn_c_try_link "$LINENO"; then :
8248 ac_cv_lib_contract_ct_tmpl_activate=yes
8249else
8250 ac_cv_lib_contract_ct_tmpl_activate=no
8251fi
8252rm -f core conftest.err conftest.$ac_objext \
8253 conftest$ac_exeext conftest.$ac_ext
8254LIBS=$ac_check_lib_save_LIBS
8255fi
8256{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_contract_ct_tmpl_activate" >&5
8257$as_echo "$ac_cv_lib_contract_ct_tmpl_activate" >&6; }
8258if test "x$ac_cv_lib_contract_ct_tmpl_activate" = xyes; then :
8259
8260$as_echo "#define USE_SOLARIS_PROCESS_CONTRACTS 1" >>confdefs.h
8261
8262 LIBS="$LIBS -lcontract"
8263 SPC_MSG="yes"
8264fi
8265
8266
8267fi
8268
8269
8270# Check whether --with-solaris-projects was given.
8271if test "${with_solaris_projects+set}" = set; then :
8272 withval=$with_solaris_projects;
8273 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproject in -lproject" >&5
8274$as_echo_n "checking for setproject in -lproject... " >&6; }
8275if ${ac_cv_lib_project_setproject+:} false; then :
8276 $as_echo_n "(cached) " >&6
8277else
8278 ac_check_lib_save_LIBS=$LIBS
8279LIBS="-lproject $LIBS"
8280cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8281/* end confdefs.h. */
8282
8283/* Override any GCC internal prototype to avoid an error.
8284 Use char because int might match the return type of a GCC
8285 builtin and then its argument prototype would still apply. */
8286#ifdef __cplusplus
8287extern "C"
8288#endif
8289char setproject ();
8290int
8291main ()
8292{
8293return setproject ();
8294 ;
8295 return 0;
8296}
8297_ACEOF
8298if ac_fn_c_try_link "$LINENO"; then :
8299 ac_cv_lib_project_setproject=yes
8300else
8301 ac_cv_lib_project_setproject=no
8302fi
8303rm -f core conftest.err conftest.$ac_objext \
8304 conftest$ac_exeext conftest.$ac_ext
8305LIBS=$ac_check_lib_save_LIBS
8306fi
8307{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_project_setproject" >&5
8308$as_echo "$ac_cv_lib_project_setproject" >&6; }
8309if test "x$ac_cv_lib_project_setproject" = xyes; then :
8310
8311$as_echo "#define USE_SOLARIS_PROJECTS 1" >>confdefs.h
8312
8313 LIBS="$LIBS -lproject"
8314 SP_MSG="yes"
8315fi
8316
8317
8318fi
8319
8320
8321# Check whether --with-solaris-privs was given.
8322if test "${with_solaris_privs+set}" = set; then :
8323 withval=$with_solaris_privs;
8324 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris/Illumos privilege support" >&5
8325$as_echo_n "checking for Solaris/Illumos privilege support... " >&6; }
8326 if test "x$ac_cv_func_setppriv" = "xyes" -a \
8327 "x$ac_cv_header_priv_h" = "xyes" ; then
8328 SOLARIS_PRIVS=yes
8329 { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
8330$as_echo "found" >&6; }
8331
8332$as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h
8333
8334
8335$as_echo "#define USE_SOLARIS_PRIVS 1" >>confdefs.h
8336
8337 SPP_MSG="yes"
8338 else
8339 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
8340$as_echo "not found" >&6; }
8341 as_fn_error $? "*** must have support for Solaris privileges to use --with-solaris-privs" "$LINENO" 5
8342 fi
8343
8344fi
8345
8346 TEST_SHELL=$SHELL # let configure find us a capable shell
8347 ;;
8348*-*-sunos4*)
8349 CPPFLAGS="$CPPFLAGS -DSUNOS4"
8350 for ac_func in getpwanam
8351do :
8352 ac_fn_c_check_func "$LINENO" "getpwanam" "ac_cv_func_getpwanam"
8353if test "x$ac_cv_func_getpwanam" = xyes; then :
8354 cat >>confdefs.h <<_ACEOF
8355#define HAVE_GETPWANAM 1
8356_ACEOF
8357
8358fi
8359done
8360
8361 $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
8362
8363 conf_utmp_location=/etc/utmp
8364 conf_wtmp_location=/var/adm/wtmp
8365 conf_lastlog_location=/var/adm/lastlog
8366 $as_echo "#define USE_PIPES 1" >>confdefs.h
8367
8368
8369$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
8370
8371 ;;
8372*-ncr-sysv*)
8373 LIBS="$LIBS -lc89"
8374 $as_echo "#define USE_PIPES 1" >>confdefs.h
8375
8376 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8377
8378 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8379
8380 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8381
8382 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8383
8384 ;;
8385*-sni-sysv*)
8386 # /usr/ucblib MUST NOT be searched on ReliantUNIX
8387 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
8388$as_echo_n "checking for dlsym in -ldl... " >&6; }
8389if ${ac_cv_lib_dl_dlsym+:} false; then :
8390 $as_echo_n "(cached) " >&6
8391else
8392 ac_check_lib_save_LIBS=$LIBS
8393LIBS="-ldl $LIBS"
8394cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8395/* end confdefs.h. */
8396
8397/* Override any GCC internal prototype to avoid an error.
8398 Use char because int might match the return type of a GCC
8399 builtin and then its argument prototype would still apply. */
8400#ifdef __cplusplus
8401extern "C"
8402#endif
8403char dlsym ();
8404int
8405main ()
8406{
8407return dlsym ();
8408 ;
8409 return 0;
8410}
8411_ACEOF
8412if ac_fn_c_try_link "$LINENO"; then :
8413 ac_cv_lib_dl_dlsym=yes
8414else
8415 ac_cv_lib_dl_dlsym=no
8416fi
8417rm -f core conftest.err conftest.$ac_objext \
8418 conftest$ac_exeext conftest.$ac_ext
8419LIBS=$ac_check_lib_save_LIBS
8420fi
8421{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
8422$as_echo "$ac_cv_lib_dl_dlsym" >&6; }
8423if test "x$ac_cv_lib_dl_dlsym" = xyes; then :
8424 cat >>confdefs.h <<_ACEOF
8425#define HAVE_LIBDL 1
8426_ACEOF
8427
8428 LIBS="-ldl $LIBS"
8429
8430fi
8431
8432 # -lresolv needs to be at the end of LIBS or DNS lookups break
8433 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5
8434$as_echo_n "checking for res_query in -lresolv... " >&6; }
8435if ${ac_cv_lib_resolv_res_query+:} false; then :
8436 $as_echo_n "(cached) " >&6
8437else
8438 ac_check_lib_save_LIBS=$LIBS
8439LIBS="-lresolv $LIBS"
8440cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8441/* end confdefs.h. */
8442
8443/* Override any GCC internal prototype to avoid an error.
8444 Use char because int might match the return type of a GCC
8445 builtin and then its argument prototype would still apply. */
8446#ifdef __cplusplus
8447extern "C"
8448#endif
8449char res_query ();
8450int
8451main ()
8452{
8453return res_query ();
8454 ;
8455 return 0;
8456}
8457_ACEOF
8458if ac_fn_c_try_link "$LINENO"; then :
8459 ac_cv_lib_resolv_res_query=yes
8460else
8461 ac_cv_lib_resolv_res_query=no
8462fi
8463rm -f core conftest.err conftest.$ac_objext \
8464 conftest$ac_exeext conftest.$ac_ext
8465LIBS=$ac_check_lib_save_LIBS
8466fi
8467{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_query" >&5
8468$as_echo "$ac_cv_lib_resolv_res_query" >&6; }
8469if test "x$ac_cv_lib_resolv_res_query" = xyes; then :
8470 LIBS="$LIBS -lresolv"
8471fi
8472
8473 IPADDR_IN_DISPLAY=yes
8474 $as_echo "#define USE_PIPES 1" >>confdefs.h
8475
8476 $as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h
8477
8478 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8479
8480 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8481
8482 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8483
8484 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8485
8486 external_path_file=/etc/default/login
8487 # /usr/ucblib/libucb.a no longer needed on ReliantUNIX
8488 # Attention: always take care to bind libsocket and libnsl before libc,
8489 # otherwise you will find lots of "SIOCGPGRP errno 22" on syslog
8490 ;;
8491# UnixWare 1.x, UnixWare 2.x, and others based on code from Univel.
8492*-*-sysv4.2*)
8493 $as_echo "#define USE_PIPES 1" >>confdefs.h
8494
8495 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8496
8497 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8498
8499 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8500
8501
8502$as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8503
8504 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8505
8506 TEST_SHELL=$SHELL # let configure find us a capable shell
8507 ;;
8508# UnixWare 7.x, OpenUNIX 8
8509*-*-sysv5*)
8510 CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf"
8511
8512$as_echo "#define UNIXWARE_LONG_PASSWORDS 1" >>confdefs.h
8513
8514 $as_echo "#define USE_PIPES 1" >>confdefs.h
8515
8516 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8517
8518 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8519
8520 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8521
8522 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8523
8524 $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8525
8526 $as_echo "#define BROKEN_TCGETATTR_ICANON 1" >>confdefs.h
8527
8528 TEST_SHELL=$SHELL # let configure find us a capable shell
8529 check_for_libcrypt_later=1
8530 case "$host" in
8531 *-*-sysv5SCO_SV*) # SCO OpenServer 6.x
8532 maildir=/var/spool/mail
8533 $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
8534
8535 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getluid in -lprot" >&5
8536$as_echo_n "checking for getluid in -lprot... " >&6; }
8537if ${ac_cv_lib_prot_getluid+:} false; then :
8538 $as_echo_n "(cached) " >&6
8539else
8540 ac_check_lib_save_LIBS=$LIBS
8541LIBS="-lprot $LIBS"
8542cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8543/* end confdefs.h. */
8544
8545/* Override any GCC internal prototype to avoid an error.
8546 Use char because int might match the return type of a GCC
8547 builtin and then its argument prototype would still apply. */
8548#ifdef __cplusplus
8549extern "C"
8550#endif
8551char getluid ();
8552int
8553main ()
8554{
8555return getluid ();
8556 ;
8557 return 0;
8558}
8559_ACEOF
8560if ac_fn_c_try_link "$LINENO"; then :
8561 ac_cv_lib_prot_getluid=yes
8562else
8563 ac_cv_lib_prot_getluid=no
8564fi
8565rm -f core conftest.err conftest.$ac_objext \
8566 conftest$ac_exeext conftest.$ac_ext
8567LIBS=$ac_check_lib_save_LIBS
8568fi
8569{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_prot_getluid" >&5
8570$as_echo "$ac_cv_lib_prot_getluid" >&6; }
8571if test "x$ac_cv_lib_prot_getluid" = xyes; then :
8572 LIBS="$LIBS -lprot"
8573 for ac_func in getluid setluid
8574do :
8575 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
8576ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
8577if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
8578 cat >>confdefs.h <<_ACEOF
8579#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
8580_ACEOF
8581
8582fi
8583done
8584
8585
8586fi
8587
8588 ;;
8589 *) $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8590
8591 ;;
8592 esac
8593 ;;
8594*-*-sysv*)
8595 ;;
8596# SCO UNIX and OEM versions of SCO UNIX
8597*-*-sco3.2v4*)
8598 as_fn_error $? "\"This Platform is no longer supported.\"" "$LINENO" 5
8599 ;;
8600# SCO OpenServer 5.x
8601*-*-sco3.2v5*)
8602 if test -z "$GCC"; then
8603 CFLAGS="$CFLAGS -belf"
8604 fi
8605 LIBS="$LIBS -lprot -lx -ltinfo -lm"
8606 no_dev_ptmx=1
8607 $as_echo "#define USE_PIPES 1" >>confdefs.h
8608
8609 $as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h
8610
8611 $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
8612
8613 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8614
8615 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8616
8617 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8618
8619 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8620
8621 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8622
8623 $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
8624
8625 $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
8626
8627 $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8628
8629 for ac_func in getluid setluid
8630do :
8631 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
8632ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
8633if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
8634 cat >>confdefs.h <<_ACEOF
8635#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
8636_ACEOF
8637
8638fi
8639done
8640
8641 MANTYPE=man
8642 TEST_SHELL=$SHELL # let configure find us a capable shell
8643 SKIP_DISABLE_LASTLOG_DEFINE=yes
8644 ;;
8645*-dec-osf*)
8646 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Digital Unix SIA" >&5
8647$as_echo_n "checking for Digital Unix SIA... " >&6; }
8648 no_osfsia=""
8649
8650# Check whether --with-osfsia was given.
8651if test "${with_osfsia+set}" = set; then :
8652 withval=$with_osfsia;
8653 if test "x$withval" = "xno" ; then
8654 { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
8655$as_echo "disabled" >&6; }
8656 no_osfsia=1
8657 fi
8658
8659fi
8660
8661 if test -z "$no_osfsia" ; then
8662 if test -f /etc/sia/matrix.conf; then
8663 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8664$as_echo "yes" >&6; }
8665
8666$as_echo "#define HAVE_OSF_SIA 1" >>confdefs.h
8667
8668
8669$as_echo "#define DISABLE_LOGIN 1" >>confdefs.h
8670
8671 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8672
8673 LIBS="$LIBS -lsecurity -ldb -lm -laud"
8674 SIA_MSG="yes"
8675 else
8676 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8677$as_echo "no" >&6; }
8678
8679$as_echo "#define LOCKED_PASSWD_SUBSTR \"Nologin\"" >>confdefs.h
8680
8681 fi
8682 fi
8683 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8684
8685 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8686
8687 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8688
8689 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8690
8691
8692$as_echo "#define BROKEN_READV_COMPARISON 1" >>confdefs.h
8693
8694 ;;
8695
8696*-*-nto-qnx*)
8697 $as_echo "#define USE_PIPES 1" >>confdefs.h
8698
8699 $as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h
8700
8701 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
8702
8703 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8704
8705
8706$as_echo "#define BROKEN_SHADOW_EXPIRE 1" >>confdefs.h
8707
8708 enable_etc_default_login=no # has incompatible /etc/default/login
8709 case "$host" in
8710 *-*-nto-qnx6*)
8711 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8712
8713 ;;
8714 esac
8715 ;;
8716
8717*-*-ultrix*)
8718
8719$as_echo "#define BROKEN_GETGROUPS 1" >>confdefs.h
8720
8721
8722$as_echo "#define NEED_SETPGRP 1" >>confdefs.h
8723
8724
8725$as_echo "#define HAVE_SYS_SYSLOG_H 1" >>confdefs.h
8726
8727
8728$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
8729
8730 # DISABLE_FD_PASSING so that we call setpgrp as root, otherwise we
8731 # don't get a controlling tty.
8732
8733$as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8734
8735 # On Ultrix some headers are not protected against multiple includes,
8736 # so we create wrappers and put it where the compiler will find it.
8737 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: creating compat wrappers for headers" >&5
8738$as_echo "$as_me: WARNING: creating compat wrappers for headers" >&2;}
8739 mkdir -p netinet
8740 for header in netinet/ip.h netdb.h resolv.h; do
8741 name=`echo $header | tr 'a-z/.' 'A-Z__'`
8742 cat >$header <<EOD
8743#ifndef _SSH_COMPAT_${name}
8744#define _SSH_COMPAT_${name}
8745#include "/usr/include/${header}"
8746#endif
8747EOD
8748 done
8749 ;;
8750
8751*-*-lynxos)
8752 CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"
8753
8754$as_echo "#define BROKEN_SETVBUF 1" >>confdefs.h
8755
8756 ;;
8757esac
8758
8759{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler and flags for sanity" >&5
8760$as_echo_n "checking compiler and flags for sanity... " >&6; }
8761if test "$cross_compiling" = yes; then :
8762 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking compiler sanity" >&5
8763$as_echo "$as_me: WARNING: cross compiling: not checking compiler sanity" >&2;}
8764
8765else
8766 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8767/* end confdefs.h. */
8768 #include <stdio.h>
8769int
8770main ()
8771{
8772 exit(0);
8773 ;
8774 return 0;
8775}
8776_ACEOF
8777if ac_fn_c_try_run "$LINENO"; then :
8778 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8779$as_echo "yes" >&6; }
8780else
8781
8782 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8783$as_echo "no" >&6; }
8784 as_fn_error $? "*** compiler cannot create working executables, check config.log ***" "$LINENO" 5
8785
8786fi
8787rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
8788 conftest.$ac_objext conftest.beam conftest.$ac_ext
8789fi
8790
8791
8792# Checks for libraries.
8793ac_fn_c_check_func "$LINENO" "setsockopt" "ac_cv_func_setsockopt"
8794if test "x$ac_cv_func_setsockopt" = xyes; then :
8795
8796else
8797 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setsockopt in -lsocket" >&5
8798$as_echo_n "checking for setsockopt in -lsocket... " >&6; }
8799if ${ac_cv_lib_socket_setsockopt+:} false; then :
8800 $as_echo_n "(cached) " >&6
8801else
8802 ac_check_lib_save_LIBS=$LIBS
8803LIBS="-lsocket $LIBS"
8804cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8805/* end confdefs.h. */
8806
8807/* Override any GCC internal prototype to avoid an error.
8808 Use char because int might match the return type of a GCC
8809 builtin and then its argument prototype would still apply. */
8810#ifdef __cplusplus
8811extern "C"
8812#endif
8813char setsockopt ();
8814int
8815main ()
8816{
8817return setsockopt ();
8818 ;
8819 return 0;
8820}
8821_ACEOF
8822if ac_fn_c_try_link "$LINENO"; then :
8823 ac_cv_lib_socket_setsockopt=yes
8824else
8825 ac_cv_lib_socket_setsockopt=no
8826fi
8827rm -f core conftest.err conftest.$ac_objext \
8828 conftest$ac_exeext conftest.$ac_ext
8829LIBS=$ac_check_lib_save_LIBS
8830fi
8831{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_setsockopt" >&5
8832$as_echo "$ac_cv_lib_socket_setsockopt" >&6; }
8833if test "x$ac_cv_lib_socket_setsockopt" = xyes; then :
8834 cat >>confdefs.h <<_ACEOF
8835#define HAVE_LIBSOCKET 1
8836_ACEOF
8837
8838 LIBS="-lsocket $LIBS"
8839
8840fi
8841
8842fi
8843
8844
8845for ac_func in dirname
8846do :
8847 ac_fn_c_check_func "$LINENO" "dirname" "ac_cv_func_dirname"
8848if test "x$ac_cv_func_dirname" = xyes; then :
8849 cat >>confdefs.h <<_ACEOF
8850#define HAVE_DIRNAME 1
8851_ACEOF
8852 for ac_header in libgen.h
8853do :
8854 ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
8855if test "x$ac_cv_header_libgen_h" = xyes; then :
8856 cat >>confdefs.h <<_ACEOF
8857#define HAVE_LIBGEN_H 1
8858_ACEOF
8859
8860fi
8861
8862done
8863
8864else
8865
8866 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dirname in -lgen" >&5
8867$as_echo_n "checking for dirname in -lgen... " >&6; }
8868if ${ac_cv_lib_gen_dirname+:} false; then :
8869 $as_echo_n "(cached) " >&6
8870else
8871 ac_check_lib_save_LIBS=$LIBS
8872LIBS="-lgen $LIBS"
8873cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8874/* end confdefs.h. */
8875
8876/* Override any GCC internal prototype to avoid an error.
8877 Use char because int might match the return type of a GCC
8878 builtin and then its argument prototype would still apply. */
8879#ifdef __cplusplus
8880extern "C"
8881#endif
8882char dirname ();
8883int
8884main ()
8885{
8886return dirname ();
8887 ;
8888 return 0;
8889}
8890_ACEOF
8891if ac_fn_c_try_link "$LINENO"; then :
8892 ac_cv_lib_gen_dirname=yes
8893else
8894 ac_cv_lib_gen_dirname=no
8895fi
8896rm -f core conftest.err conftest.$ac_objext \
8897 conftest$ac_exeext conftest.$ac_ext
8898LIBS=$ac_check_lib_save_LIBS
8899fi
8900{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_dirname" >&5
8901$as_echo "$ac_cv_lib_gen_dirname" >&6; }
8902if test "x$ac_cv_lib_gen_dirname" = xyes; then :
8903
8904 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken dirname" >&5
8905$as_echo_n "checking for broken dirname... " >&6; }
8906if ${ac_cv_have_broken_dirname+:} false; then :
8907 $as_echo_n "(cached) " >&6
8908else
8909
8910 save_LIBS="$LIBS"
8911 LIBS="$LIBS -lgen"
8912 if test "$cross_compiling" = yes; then :
8913 ac_cv_have_broken_dirname="no"
8914else
8915 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8916/* end confdefs.h. */
8917
8918#include <libgen.h>
8919#include <string.h>
8920
8921int main(int argc, char **argv) {
8922 char *s, buf[32];
8923
8924 strncpy(buf,"/etc", 32);
8925 s = dirname(buf);
8926 if (!s || strncmp(s, "/", 32) != 0) {
8927 exit(1);
8928 } else {
8929 exit(0);
8930 }
8931}
8932
8933_ACEOF
8934if ac_fn_c_try_run "$LINENO"; then :
8935 ac_cv_have_broken_dirname="no"
8936else
8937 ac_cv_have_broken_dirname="yes"
8938fi
8939rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
8940 conftest.$ac_objext conftest.beam conftest.$ac_ext
8941fi
8942
8943 LIBS="$save_LIBS"
8944
8945fi
8946{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_broken_dirname" >&5
8947$as_echo "$ac_cv_have_broken_dirname" >&6; }
8948 if test "x$ac_cv_have_broken_dirname" = "xno" ; then
8949 LIBS="$LIBS -lgen"
8950 $as_echo "#define HAVE_DIRNAME 1" >>confdefs.h
8951
8952 for ac_header in libgen.h
8953do :
8954 ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
8955if test "x$ac_cv_header_libgen_h" = xyes; then :
8956 cat >>confdefs.h <<_ACEOF
8957#define HAVE_LIBGEN_H 1
8958_ACEOF
8959
8960fi
8961
8962done
8963
8964 fi
8965
8966fi
8967
8968
8969fi
8970done
8971
8972
8973ac_fn_c_check_func "$LINENO" "getspnam" "ac_cv_func_getspnam"
8974if test "x$ac_cv_func_getspnam" = xyes; then :
8975
8976else
8977 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getspnam in -lgen" >&5
8978$as_echo_n "checking for getspnam in -lgen... " >&6; }
8979if ${ac_cv_lib_gen_getspnam+:} false; then :
8980 $as_echo_n "(cached) " >&6
8981else
8982 ac_check_lib_save_LIBS=$LIBS
8983LIBS="-lgen $LIBS"
8984cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8985/* end confdefs.h. */
8986
8987/* Override any GCC internal prototype to avoid an error.
8988 Use char because int might match the return type of a GCC
8989 builtin and then its argument prototype would still apply. */
8990#ifdef __cplusplus
8991extern "C"
8992#endif
8993char getspnam ();
8994int
8995main ()
8996{
8997return getspnam ();
8998 ;
8999 return 0;
9000}
9001_ACEOF
9002if ac_fn_c_try_link "$LINENO"; then :
9003 ac_cv_lib_gen_getspnam=yes
9004else
9005 ac_cv_lib_gen_getspnam=no
9006fi
9007rm -f core conftest.err conftest.$ac_objext \
9008 conftest$ac_exeext conftest.$ac_ext
9009LIBS=$ac_check_lib_save_LIBS
9010fi
9011{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_getspnam" >&5
9012$as_echo "$ac_cv_lib_gen_getspnam" >&6; }
9013if test "x$ac_cv_lib_gen_getspnam" = xyes; then :
9014 LIBS="$LIBS -lgen"
9015fi
9016
9017fi
9018
9019{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing basename" >&5
9020$as_echo_n "checking for library containing basename... " >&6; }
9021if ${ac_cv_search_basename+:} false; then :
9022 $as_echo_n "(cached) " >&6
9023else
9024 ac_func_search_save_LIBS=$LIBS
9025cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9026/* end confdefs.h. */
9027
9028/* Override any GCC internal prototype to avoid an error.
9029 Use char because int might match the return type of a GCC
9030 builtin and then its argument prototype would still apply. */
9031#ifdef __cplusplus
9032extern "C"
9033#endif
9034char basename ();
9035int
9036main ()
9037{
9038return basename ();
9039 ;
9040 return 0;
9041}
9042_ACEOF
9043for ac_lib in '' gen; do
9044 if test -z "$ac_lib"; then
9045 ac_res="none required"
9046 else
9047 ac_res=-l$ac_lib
9048 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9049 fi
9050 if ac_fn_c_try_link "$LINENO"; then :
9051 ac_cv_search_basename=$ac_res
9052fi
9053rm -f core conftest.err conftest.$ac_objext \
9054 conftest$ac_exeext
9055 if ${ac_cv_search_basename+:} false; then :
9056 break
9057fi
9058done
9059if ${ac_cv_search_basename+:} false; then :
9060
9061else
9062 ac_cv_search_basename=no
9063fi
9064rm conftest.$ac_ext
9065LIBS=$ac_func_search_save_LIBS
9066fi
9067{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_basename" >&5
9068$as_echo "$ac_cv_search_basename" >&6; }
9069ac_res=$ac_cv_search_basename
9070if test "$ac_res" != no; then :
9071 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9072
9073$as_echo "#define HAVE_BASENAME 1" >>confdefs.h
9074
9075fi
9076
9077
9078zlib=yes
9079
9080# Check whether --with-zlib was given.
9081if test "${with_zlib+set}" = set; then :
9082 withval=$with_zlib; if test "x$withval" = "xno" ; then
9083 zlib=no
9084 elif test "x$withval" != "xyes"; then
9085 if test -d "$withval/lib"; then
9086 if test -n "${rpath_opt}"; then
9087 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
9088 else
9089 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
9090 fi
9091 else
9092 if test -n "${rpath_opt}"; then
9093 LDFLAGS="-L${withval} ${rpath_opt}${withval} ${LDFLAGS}"
9094 else
9095 LDFLAGS="-L${withval} ${LDFLAGS}"
9096 fi
9097 fi
9098 if test -d "$withval/include"; then
9099 CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
9100 else
9101 CPPFLAGS="-I${withval} ${CPPFLAGS}"
9102 fi
9103 fi
9104
9105fi
9106
9107
9108{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib" >&5
9109$as_echo_n "checking for zlib... " >&6; }
9110if test "x${zlib}" = "xno"; then
9111 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
9112$as_echo "no" >&6; }
9113else
9114 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9115$as_echo "yes" >&6; }
9116
9117$as_echo "#define WITH_ZLIB 1" >>confdefs.h
9118
9119 ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
9120if test "x$ac_cv_header_zlib_h" = xyes; then :
9121
9122else
9123 as_fn_error $? "*** zlib.h missing - please install first or check config.log ***" "$LINENO" 5
9124fi
9125
9126
9127 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5
9128$as_echo_n "checking for deflate in -lz... " >&6; }
9129if ${ac_cv_lib_z_deflate+:} false; then :
9130 $as_echo_n "(cached) " >&6
9131else
9132 ac_check_lib_save_LIBS=$LIBS
9133LIBS="-lz $LIBS"
9134cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9135/* end confdefs.h. */
9136
9137/* Override any GCC internal prototype to avoid an error.
9138 Use char because int might match the return type of a GCC
9139 builtin and then its argument prototype would still apply. */
9140#ifdef __cplusplus
9141extern "C"
9142#endif
9143char deflate ();
9144int
9145main ()
9146{
9147return deflate ();
9148 ;
9149 return 0;
9150}
9151_ACEOF
9152if ac_fn_c_try_link "$LINENO"; then :
9153 ac_cv_lib_z_deflate=yes
9154else
9155 ac_cv_lib_z_deflate=no
9156fi
9157rm -f core conftest.err conftest.$ac_objext \
9158 conftest$ac_exeext conftest.$ac_ext
9159LIBS=$ac_check_lib_save_LIBS
9160fi
9161{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5
9162$as_echo "$ac_cv_lib_z_deflate" >&6; }
9163if test "x$ac_cv_lib_z_deflate" = xyes; then :
9164 cat >>confdefs.h <<_ACEOF
9165#define HAVE_LIBZ 1
9166_ACEOF
9167
9168 LIBS="-lz $LIBS"
9169
9170else
9171
9172 saved_CPPFLAGS="$CPPFLAGS"
9173 saved_LDFLAGS="$LDFLAGS"
9174 save_LIBS="$LIBS"
9175 if test -n "${rpath_opt}"; then
9176 LDFLAGS="-L/usr/local/lib ${rpath_opt}/usr/local/lib ${saved_LDFLAGS}"
9177 else
9178 LDFLAGS="-L/usr/local/lib ${saved_LDFLAGS}"
9179 fi
9180 CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}"
9181 LIBS="$LIBS -lz"
9182 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9183/* end confdefs.h. */
9184
9185/* Override any GCC internal prototype to avoid an error.
9186 Use char because int might match the return type of a GCC
9187 builtin and then its argument prototype would still apply. */
9188#ifdef __cplusplus
9189extern "C"
9190#endif
9191char deflate ();
9192int
9193main ()
9194{
9195return deflate ();
9196 ;
9197 return 0;
9198}
9199_ACEOF
9200if ac_fn_c_try_link "$LINENO"; then :
9201 $as_echo "#define HAVE_LIBZ 1" >>confdefs.h
9202
9203else
9204
9205 as_fn_error $? "*** zlib missing - please install first or check config.log ***" "$LINENO" 5
9206
9207
9208fi
9209rm -f core conftest.err conftest.$ac_objext \
9210 conftest$ac_exeext conftest.$ac_ext
9211
9212
9213fi
9214
9215
9216
9217# Check whether --with-zlib-version-check was given.
9218if test "${with_zlib_version_check+set}" = set; then :
9219 withval=$with_zlib_version_check; if test "x$withval" = "xno" ; then
9220 zlib_check_nonfatal=1
9221 fi
9222
9223
9224fi
9225
9226
9227 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for possibly buggy zlib" >&5
9228$as_echo_n "checking for possibly buggy zlib... " >&6; }
9229 if test "$cross_compiling" = yes; then :
9230 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking zlib version" >&5
9231$as_echo "$as_me: WARNING: cross compiling: not checking zlib version" >&2;}
9232
9233else
9234 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9235/* end confdefs.h. */
9236
9237#include <stdio.h>
9238#include <stdlib.h>
9239#include <zlib.h>
9240
9241int
9242main ()
9243{
9244
9245 int a=0, b=0, c=0, d=0, n, v;
9246 n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d);
9247 if (n != 3 && n != 4)
9248 exit(1);
9249 v = a*1000000 + b*10000 + c*100 + d;
9250 fprintf(stderr, "found zlib version %s (%d)\n", ZLIB_VERSION, v);
9251
9252 /* 1.1.4 is OK */
9253 if (a == 1 && b == 1 && c >= 4)
9254 exit(0);
9255
9256 /* 1.2.3 and up are OK */
9257 if (v >= 1020300)
9258 exit(0);
9259
9260 exit(2);
9261
9262 ;
9263 return 0;
9264}
9265_ACEOF
9266if ac_fn_c_try_run "$LINENO"; then :
9267 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
9268$as_echo "no" >&6; }
9269else
9270 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9271$as_echo "yes" >&6; }
9272 if test -z "$zlib_check_nonfatal" ; then
9273 as_fn_error $? "*** zlib too old - check config.log ***
9274Your reported zlib version has known security problems. It's possible your
9275vendor has fixed these problems without changing the version number. If you
9276are sure this is the case, you can disable the check by running
9277\"./configure --without-zlib-version-check\".
9278If you are in doubt, upgrade zlib to version 1.2.3 or greater.
9279See http://www.gzip.org/zlib/ for details." "$LINENO" 5
9280 else
9281 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: zlib version may have security problems" >&5
9282$as_echo "$as_me: WARNING: zlib version may have security problems" >&2;}
9283 fi
9284
9285fi
9286rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
9287 conftest.$ac_objext conftest.beam conftest.$ac_ext
9288fi
9289
9290fi
9291
9292ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
9293if test "x$ac_cv_func_strcasecmp" = xyes; then :
9294
9295else
9296 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strcasecmp in -lresolv" >&5
9297$as_echo_n "checking for strcasecmp in -lresolv... " >&6; }
9298if ${ac_cv_lib_resolv_strcasecmp+:} false; then :
9299 $as_echo_n "(cached) " >&6
9300else
9301 ac_check_lib_save_LIBS=$LIBS
9302LIBS="-lresolv $LIBS"
9303cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9304/* end confdefs.h. */
9305
9306/* Override any GCC internal prototype to avoid an error.
9307 Use char because int might match the return type of a GCC
9308 builtin and then its argument prototype would still apply. */
9309#ifdef __cplusplus
9310extern "C"
9311#endif
9312char strcasecmp ();
9313int
9314main ()
9315{
9316return strcasecmp ();
9317 ;
9318 return 0;
9319}
9320_ACEOF
9321if ac_fn_c_try_link "$LINENO"; then :
9322 ac_cv_lib_resolv_strcasecmp=yes
9323else
9324 ac_cv_lib_resolv_strcasecmp=no
9325fi
9326rm -f core conftest.err conftest.$ac_objext \
9327 conftest$ac_exeext conftest.$ac_ext
9328LIBS=$ac_check_lib_save_LIBS
9329fi
9330{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_strcasecmp" >&5
9331$as_echo "$ac_cv_lib_resolv_strcasecmp" >&6; }
9332if test "x$ac_cv_lib_resolv_strcasecmp" = xyes; then :
9333 LIBS="$LIBS -lresolv"
9334fi
9335
9336
9337fi
9338
9339for ac_func in utimes
9340do :
9341 ac_fn_c_check_func "$LINENO" "utimes" "ac_cv_func_utimes"
9342if test "x$ac_cv_func_utimes" = xyes; then :
9343 cat >>confdefs.h <<_ACEOF
9344#define HAVE_UTIMES 1
9345_ACEOF
9346
9347else
9348 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utimes in -lc89" >&5
9349$as_echo_n "checking for utimes in -lc89... " >&6; }
9350if ${ac_cv_lib_c89_utimes+:} false; then :
9351 $as_echo_n "(cached) " >&6
9352else
9353 ac_check_lib_save_LIBS=$LIBS
9354LIBS="-lc89 $LIBS"
9355cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9356/* end confdefs.h. */
9357
9358/* Override any GCC internal prototype to avoid an error.
9359 Use char because int might match the return type of a GCC
9360 builtin and then its argument prototype would still apply. */
9361#ifdef __cplusplus
9362extern "C"
9363#endif
9364char utimes ();
9365int
9366main ()
9367{
9368return utimes ();
9369 ;
9370 return 0;
9371}
9372_ACEOF
9373if ac_fn_c_try_link "$LINENO"; then :
9374 ac_cv_lib_c89_utimes=yes
9375else
9376 ac_cv_lib_c89_utimes=no
9377fi
9378rm -f core conftest.err conftest.$ac_objext \
9379 conftest$ac_exeext conftest.$ac_ext
9380LIBS=$ac_check_lib_save_LIBS
9381fi
9382{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c89_utimes" >&5
9383$as_echo "$ac_cv_lib_c89_utimes" >&6; }
9384if test "x$ac_cv_lib_c89_utimes" = xyes; then :
9385 $as_echo "#define HAVE_UTIMES 1" >>confdefs.h
9386
9387 LIBS="$LIBS -lc89"
9388fi
9389
9390
9391fi
9392done
9393
9394
9395for ac_header in bsd/libutil.h libutil.h
9396do :
9397 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
9398ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
9399if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
9400 cat >>confdefs.h <<_ACEOF
9401#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
9402_ACEOF
9403
9404fi
9405
9406done
9407
9408{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fmt_scaled" >&5
9409$as_echo_n "checking for library containing fmt_scaled... " >&6; }
9410if ${ac_cv_search_fmt_scaled+:} false; then :
9411 $as_echo_n "(cached) " >&6
9412else
9413 ac_func_search_save_LIBS=$LIBS
9414cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9415/* end confdefs.h. */
9416
9417/* Override any GCC internal prototype to avoid an error.
9418 Use char because int might match the return type of a GCC
9419 builtin and then its argument prototype would still apply. */
9420#ifdef __cplusplus
9421extern "C"
9422#endif
9423char fmt_scaled ();
9424int
9425main ()
9426{
9427return fmt_scaled ();
9428 ;
9429 return 0;
9430}
9431_ACEOF
9432for ac_lib in '' util bsd; do
9433 if test -z "$ac_lib"; then
9434 ac_res="none required"
9435 else
9436 ac_res=-l$ac_lib
9437 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9438 fi
9439 if ac_fn_c_try_link "$LINENO"; then :
9440 ac_cv_search_fmt_scaled=$ac_res
9441fi
9442rm -f core conftest.err conftest.$ac_objext \
9443 conftest$ac_exeext
9444 if ${ac_cv_search_fmt_scaled+:} false; then :
9445 break
9446fi
9447done
9448if ${ac_cv_search_fmt_scaled+:} false; then :
9449
9450else
9451 ac_cv_search_fmt_scaled=no
9452fi
9453rm conftest.$ac_ext
9454LIBS=$ac_func_search_save_LIBS
9455fi
9456{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fmt_scaled" >&5
9457$as_echo "$ac_cv_search_fmt_scaled" >&6; }
9458ac_res=$ac_cv_search_fmt_scaled
9459if test "$ac_res" != no; then :
9460 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9461
9462fi
9463
9464{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing scan_scaled" >&5
9465$as_echo_n "checking for library containing scan_scaled... " >&6; }
9466if ${ac_cv_search_scan_scaled+:} false; then :
9467 $as_echo_n "(cached) " >&6
9468else
9469 ac_func_search_save_LIBS=$LIBS
9470cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9471/* end confdefs.h. */
9472
9473/* Override any GCC internal prototype to avoid an error.
9474 Use char because int might match the return type of a GCC
9475 builtin and then its argument prototype would still apply. */
9476#ifdef __cplusplus
9477extern "C"
9478#endif
9479char scan_scaled ();
9480int
9481main ()
9482{
9483return scan_scaled ();
9484 ;
9485 return 0;
9486}
9487_ACEOF
9488for ac_lib in '' util bsd; do
9489 if test -z "$ac_lib"; then
9490 ac_res="none required"
9491 else
9492 ac_res=-l$ac_lib
9493 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9494 fi
9495 if ac_fn_c_try_link "$LINENO"; then :
9496 ac_cv_search_scan_scaled=$ac_res
9497fi
9498rm -f core conftest.err conftest.$ac_objext \
9499 conftest$ac_exeext
9500 if ${ac_cv_search_scan_scaled+:} false; then :
9501 break
9502fi
9503done
9504if ${ac_cv_search_scan_scaled+:} false; then :
9505
9506else
9507 ac_cv_search_scan_scaled=no
9508fi
9509rm conftest.$ac_ext
9510LIBS=$ac_func_search_save_LIBS
9511fi
9512{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_scan_scaled" >&5
9513$as_echo "$ac_cv_search_scan_scaled" >&6; }
9514ac_res=$ac_cv_search_scan_scaled
9515if test "$ac_res" != no; then :
9516 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9517
9518fi
9519
9520{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing login" >&5
9521$as_echo_n "checking for library containing login... " >&6; }
9522if ${ac_cv_search_login+:} false; then :
9523 $as_echo_n "(cached) " >&6
9524else
9525 ac_func_search_save_LIBS=$LIBS
9526cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9527/* end confdefs.h. */
9528
9529/* Override any GCC internal prototype to avoid an error.
9530 Use char because int might match the return type of a GCC
9531 builtin and then its argument prototype would still apply. */
9532#ifdef __cplusplus
9533extern "C"
9534#endif
9535char login ();
9536int
9537main ()
9538{
9539return login ();
9540 ;
9541 return 0;
9542}
9543_ACEOF
9544for ac_lib in '' util bsd; do
9545 if test -z "$ac_lib"; then
9546 ac_res="none required"
9547 else
9548 ac_res=-l$ac_lib
9549 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9550 fi
9551 if ac_fn_c_try_link "$LINENO"; then :
9552 ac_cv_search_login=$ac_res
9553fi
9554rm -f core conftest.err conftest.$ac_objext \
9555 conftest$ac_exeext
9556 if ${ac_cv_search_login+:} false; then :
9557 break
9558fi
9559done
9560if ${ac_cv_search_login+:} false; then :
9561
9562else
9563 ac_cv_search_login=no
9564fi
9565rm conftest.$ac_ext
9566LIBS=$ac_func_search_save_LIBS
9567fi
9568{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_login" >&5
9569$as_echo "$ac_cv_search_login" >&6; }
9570ac_res=$ac_cv_search_login
9571if test "$ac_res" != no; then :
9572 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9573
9574fi
9575
9576{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logout" >&5
9577$as_echo_n "checking for library containing logout... " >&6; }
9578if ${ac_cv_search_logout+:} false; then :
9579 $as_echo_n "(cached) " >&6
9580else
9581 ac_func_search_save_LIBS=$LIBS
9582cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9583/* end confdefs.h. */
9584
9585/* Override any GCC internal prototype to avoid an error.
9586 Use char because int might match the return type of a GCC
9587 builtin and then its argument prototype would still apply. */
9588#ifdef __cplusplus
9589extern "C"
9590#endif
9591char logout ();
9592int
9593main ()
9594{
9595return logout ();
9596 ;
9597 return 0;
9598}
9599_ACEOF
9600for ac_lib in '' util bsd; do
9601 if test -z "$ac_lib"; then
9602 ac_res="none required"
9603 else
9604 ac_res=-l$ac_lib
9605 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9606 fi
9607 if ac_fn_c_try_link "$LINENO"; then :
9608 ac_cv_search_logout=$ac_res
9609fi
9610rm -f core conftest.err conftest.$ac_objext \
9611 conftest$ac_exeext
9612 if ${ac_cv_search_logout+:} false; then :
9613 break
9614fi
9615done
9616if ${ac_cv_search_logout+:} false; then :
9617
9618else
9619 ac_cv_search_logout=no
9620fi
9621rm conftest.$ac_ext
9622LIBS=$ac_func_search_save_LIBS
9623fi
9624{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logout" >&5
9625$as_echo "$ac_cv_search_logout" >&6; }
9626ac_res=$ac_cv_search_logout
9627if test "$ac_res" != no; then :
9628 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9629
9630fi
9631
9632{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logwtmp" >&5
9633$as_echo_n "checking for library containing logwtmp... " >&6; }
9634if ${ac_cv_search_logwtmp+:} false; then :
9635 $as_echo_n "(cached) " >&6
9636else
9637 ac_func_search_save_LIBS=$LIBS
9638cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9639/* end confdefs.h. */
9640
9641/* Override any GCC internal prototype to avoid an error.
9642 Use char because int might match the return type of a GCC
9643 builtin and then its argument prototype would still apply. */
9644#ifdef __cplusplus
9645extern "C"
9646#endif
9647char logwtmp ();
9648int
9649main ()
9650{
9651return logwtmp ();
9652 ;
9653 return 0;
9654}
9655_ACEOF
9656for ac_lib in '' util bsd; do
9657 if test -z "$ac_lib"; then
9658 ac_res="none required"
9659 else
9660 ac_res=-l$ac_lib
9661 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9662 fi
9663 if ac_fn_c_try_link "$LINENO"; then :
9664 ac_cv_search_logwtmp=$ac_res
9665fi
9666rm -f core conftest.err conftest.$ac_objext \
9667 conftest$ac_exeext
9668 if ${ac_cv_search_logwtmp+:} false; then :
9669 break
9670fi
9671done
9672if ${ac_cv_search_logwtmp+:} false; then :
9673
9674else
9675 ac_cv_search_logwtmp=no
9676fi
9677rm conftest.$ac_ext
9678LIBS=$ac_func_search_save_LIBS
9679fi
9680{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logwtmp" >&5
9681$as_echo "$ac_cv_search_logwtmp" >&6; }
9682ac_res=$ac_cv_search_logwtmp
9683if test "$ac_res" != no; then :
9684 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9685
9686fi
9687
9688{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing openpty" >&5
9689$as_echo_n "checking for library containing openpty... " >&6; }
9690if ${ac_cv_search_openpty+:} false; then :
9691 $as_echo_n "(cached) " >&6
9692else
9693 ac_func_search_save_LIBS=$LIBS
9694cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9695/* end confdefs.h. */
9696
9697/* Override any GCC internal prototype to avoid an error.
9698 Use char because int might match the return type of a GCC
9699 builtin and then its argument prototype would still apply. */
9700#ifdef __cplusplus
9701extern "C"
9702#endif
9703char openpty ();
9704int
9705main ()
9706{
9707return openpty ();
9708 ;
9709 return 0;
9710}
9711_ACEOF
9712for ac_lib in '' util bsd; do
9713 if test -z "$ac_lib"; then
9714 ac_res="none required"
9715 else
9716 ac_res=-l$ac_lib
9717 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9718 fi
9719 if ac_fn_c_try_link "$LINENO"; then :
9720 ac_cv_search_openpty=$ac_res
9721fi
9722rm -f core conftest.err conftest.$ac_objext \
9723 conftest$ac_exeext
9724 if ${ac_cv_search_openpty+:} false; then :
9725 break
9726fi
9727done
9728if ${ac_cv_search_openpty+:} false; then :
9729
9730else
9731 ac_cv_search_openpty=no
9732fi
9733rm conftest.$ac_ext
9734LIBS=$ac_func_search_save_LIBS
9735fi
9736{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_openpty" >&5
9737$as_echo "$ac_cv_search_openpty" >&6; }
9738ac_res=$ac_cv_search_openpty
9739if test "$ac_res" != no; then :
9740 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9741
9742fi
9743
9744{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing updwtmp" >&5
9745$as_echo_n "checking for library containing updwtmp... " >&6; }
9746if ${ac_cv_search_updwtmp+:} false; then :
9747 $as_echo_n "(cached) " >&6
9748else
9749 ac_func_search_save_LIBS=$LIBS
9750cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9751/* end confdefs.h. */
9752
9753/* Override any GCC internal prototype to avoid an error.
9754 Use char because int might match the return type of a GCC
9755 builtin and then its argument prototype would still apply. */
9756#ifdef __cplusplus
9757extern "C"
9758#endif
9759char updwtmp ();
9760int
9761main ()
9762{
9763return updwtmp ();
9764 ;
9765 return 0;
9766}
9767_ACEOF
9768for ac_lib in '' util bsd; do
9769 if test -z "$ac_lib"; then
9770 ac_res="none required"
9771 else
9772 ac_res=-l$ac_lib
9773 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9774 fi
9775 if ac_fn_c_try_link "$LINENO"; then :
9776 ac_cv_search_updwtmp=$ac_res
9777fi
9778rm -f core conftest.err conftest.$ac_objext \
9779 conftest$ac_exeext
9780 if ${ac_cv_search_updwtmp+:} false; then :
9781 break
9782fi
9783done
9784if ${ac_cv_search_updwtmp+:} false; then :
9785
9786else
9787 ac_cv_search_updwtmp=no
9788fi
9789rm conftest.$ac_ext
9790LIBS=$ac_func_search_save_LIBS
9791fi
9792{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_updwtmp" >&5
9793$as_echo "$ac_cv_search_updwtmp" >&6; }
9794ac_res=$ac_cv_search_updwtmp
9795if test "$ac_res" != no; then :
9796 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9797
9798fi
9799
9800for ac_func in fmt_scaled scan_scaled login logout openpty updwtmp logwtmp
9801do :
9802 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
9803ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
9804if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
9805 cat >>confdefs.h <<_ACEOF
9806#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
9807_ACEOF
9808
9809fi
9810done
9811
9812
9813# On some platforms, inet_ntop and gethostbyname may be found in libresolv
9814# or libnsl.
9815{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5
9816$as_echo_n "checking for library containing inet_ntop... " >&6; }
9817if ${ac_cv_search_inet_ntop+:} false; then :
9818 $as_echo_n "(cached) " >&6
9819else
9820 ac_func_search_save_LIBS=$LIBS
9821cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9822/* end confdefs.h. */
9823
9824/* Override any GCC internal prototype to avoid an error.
9825 Use char because int might match the return type of a GCC
9826 builtin and then its argument prototype would still apply. */
9827#ifdef __cplusplus
9828extern "C"
9829#endif
9830char inet_ntop ();
9831int
9832main ()
9833{
9834return inet_ntop ();
9835 ;
9836 return 0;
9837}
9838_ACEOF
9839for ac_lib in '' resolv nsl; do
9840 if test -z "$ac_lib"; then
9841 ac_res="none required"
9842 else
9843 ac_res=-l$ac_lib
9844 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9845 fi
9846 if ac_fn_c_try_link "$LINENO"; then :
9847 ac_cv_search_inet_ntop=$ac_res
9848fi
9849rm -f core conftest.err conftest.$ac_objext \
9850 conftest$ac_exeext
9851 if ${ac_cv_search_inet_ntop+:} false; then :
9852 break
9853fi
9854done
9855if ${ac_cv_search_inet_ntop+:} false; then :
9856
9857else
9858 ac_cv_search_inet_ntop=no
9859fi
9860rm conftest.$ac_ext
9861LIBS=$ac_func_search_save_LIBS
9862fi
9863{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5
9864$as_echo "$ac_cv_search_inet_ntop" >&6; }
9865ac_res=$ac_cv_search_inet_ntop
9866if test "$ac_res" != no; then :
9867 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9868
9869fi
9870
9871{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
9872$as_echo_n "checking for library containing gethostbyname... " >&6; }
9873if ${ac_cv_search_gethostbyname+:} false; then :
9874 $as_echo_n "(cached) " >&6
9875else
9876 ac_func_search_save_LIBS=$LIBS
9877cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9878/* end confdefs.h. */
9879
9880/* Override any GCC internal prototype to avoid an error.
9881 Use char because int might match the return type of a GCC
9882 builtin and then its argument prototype would still apply. */
9883#ifdef __cplusplus
9884extern "C"
9885#endif
9886char gethostbyname ();
9887int
9888main ()
9889{
9890return gethostbyname ();
9891 ;
9892 return 0;
9893}
9894_ACEOF
9895for ac_lib in '' resolv nsl; do
9896 if test -z "$ac_lib"; then
9897 ac_res="none required"
9898 else
9899 ac_res=-l$ac_lib
9900 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9901 fi
9902 if ac_fn_c_try_link "$LINENO"; then :
9903 ac_cv_search_gethostbyname=$ac_res
9904fi
9905rm -f core conftest.err conftest.$ac_objext \
9906 conftest$ac_exeext
9907 if ${ac_cv_search_gethostbyname+:} false; then :
9908 break
9909fi
9910done
9911if ${ac_cv_search_gethostbyname+:} false; then :
9912
9913else
9914 ac_cv_search_gethostbyname=no
9915fi
9916rm conftest.$ac_ext
9917LIBS=$ac_func_search_save_LIBS
9918fi
9919{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
9920$as_echo "$ac_cv_search_gethostbyname" >&6; }
9921ac_res=$ac_cv_search_gethostbyname
9922if test "$ac_res" != no; then :
9923 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9924
9925fi
9926
9927
9928# "Particular Function Checks"
9929# see https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Functions.html
9930for ac_func in strftime
9931do :
9932 ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime"
9933if test "x$ac_cv_func_strftime" = xyes; then :
9934 cat >>confdefs.h <<_ACEOF
9935#define HAVE_STRFTIME 1
9936_ACEOF
9937
9938else
9939 # strftime is in -lintl on SCO UNIX.
9940{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5
9941$as_echo_n "checking for strftime in -lintl... " >&6; }
9942if ${ac_cv_lib_intl_strftime+:} false; then :
9943 $as_echo_n "(cached) " >&6
9944else
9945 ac_check_lib_save_LIBS=$LIBS
9946LIBS="-lintl $LIBS"
9947cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9948/* end confdefs.h. */
9949
9950/* Override any GCC internal prototype to avoid an error.
9951 Use char because int might match the return type of a GCC
9952 builtin and then its argument prototype would still apply. */
9953#ifdef __cplusplus
9954extern "C"
9955#endif
9956char strftime ();
9957int
9958main ()
9959{
9960return strftime ();
9961 ;
9962 return 0;
9963}
9964_ACEOF
9965if ac_fn_c_try_link "$LINENO"; then :
9966 ac_cv_lib_intl_strftime=yes
9967else
9968 ac_cv_lib_intl_strftime=no
9969fi
9970rm -f core conftest.err conftest.$ac_objext \
9971 conftest$ac_exeext conftest.$ac_ext
9972LIBS=$ac_check_lib_save_LIBS
9973fi
9974{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5
9975$as_echo "$ac_cv_lib_intl_strftime" >&6; }
9976if test "x$ac_cv_lib_intl_strftime" = xyes; then :
9977 $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h
9978
9979LIBS="-lintl $LIBS"
9980fi
9981
9982fi
9983done
9984
9985for ac_header in stdlib.h
9986do :
9987 ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
9988if test "x$ac_cv_header_stdlib_h" = xyes; then :
9989 cat >>confdefs.h <<_ACEOF
9990#define HAVE_STDLIB_H 1
9991_ACEOF
9992
9993fi
9994
9995done
9996
9997{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
9998$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
9999if ${ac_cv_func_malloc_0_nonnull+:} false; then :
10000 $as_echo_n "(cached) " >&6
10001else
10002 if test "$cross_compiling" = yes; then :
10003 ac_cv_func_malloc_0_nonnull=no
10004else
10005 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10006/* end confdefs.h. */
10007#if defined STDC_HEADERS || defined HAVE_STDLIB_H
10008# include <stdlib.h>
10009#else
10010char *malloc ();
10011#endif
10012
10013int
10014main ()
10015{
10016return ! malloc (0);
10017 ;
10018 return 0;
10019}
10020_ACEOF
10021if ac_fn_c_try_run "$LINENO"; then :
10022 ac_cv_func_malloc_0_nonnull=yes
10023else
10024 ac_cv_func_malloc_0_nonnull=no
10025fi
10026rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10027 conftest.$ac_objext conftest.beam conftest.$ac_ext
10028fi
10029
10030fi
10031{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
10032$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
10033if test $ac_cv_func_malloc_0_nonnull = yes; then :
10034
10035$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
10036
10037else
10038 $as_echo "#define HAVE_MALLOC 0" >>confdefs.h
10039
10040 case " $LIBOBJS " in
10041 *" malloc.$ac_objext "* ) ;;
10042 *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
10043 ;;
10044esac
10045
10046
10047$as_echo "#define malloc rpl_malloc" >>confdefs.h
10048
10049fi
10050
10051
10052for ac_header in stdlib.h
10053do :
10054 ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
10055if test "x$ac_cv_header_stdlib_h" = xyes; then :
10056 cat >>confdefs.h <<_ACEOF
10057#define HAVE_STDLIB_H 1
10058_ACEOF
10059
10060fi
10061
10062done
10063
10064{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5
10065$as_echo_n "checking for GNU libc compatible realloc... " >&6; }
10066if ${ac_cv_func_realloc_0_nonnull+:} false; then :
10067 $as_echo_n "(cached) " >&6
10068else
10069 if test "$cross_compiling" = yes; then :
10070 ac_cv_func_realloc_0_nonnull=no
10071else
10072 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10073/* end confdefs.h. */
10074#if defined STDC_HEADERS || defined HAVE_STDLIB_H
10075# include <stdlib.h>
10076#else
10077char *realloc ();
10078#endif
10079
10080int
10081main ()
10082{
10083return ! realloc (0, 0);
10084 ;
10085 return 0;
10086}
10087_ACEOF
10088if ac_fn_c_try_run "$LINENO"; then :
10089 ac_cv_func_realloc_0_nonnull=yes
10090else
10091 ac_cv_func_realloc_0_nonnull=no
10092fi
10093rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10094 conftest.$ac_objext conftest.beam conftest.$ac_ext
10095fi
10096
10097fi
10098{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5
10099$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; }
10100if test $ac_cv_func_realloc_0_nonnull = yes; then :
10101
10102$as_echo "#define HAVE_REALLOC 1" >>confdefs.h
10103
10104else
10105 $as_echo "#define HAVE_REALLOC 0" >>confdefs.h
10106
10107 case " $LIBOBJS " in
10108 *" realloc.$ac_objext "* ) ;;
10109 *) LIBOBJS="$LIBOBJS realloc.$ac_objext"
10110 ;;
10111esac
10112
10113
10114$as_echo "#define realloc rpl_realloc" >>confdefs.h
10115
10116fi
10117
10118
10119# autoconf doesn't have AC_FUNC_CALLOC so fake it if malloc returns NULL;
10120{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if calloc(0, N) returns non-null" >&5
10121$as_echo_n "checking if calloc(0, N) returns non-null... " >&6; }
10122if test "$cross_compiling" = yes; then :
10123 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming same as malloc" >&5
10124$as_echo "$as_me: WARNING: cross compiling: assuming same as malloc" >&2;}
10125 func_calloc_0_nonnull="$ac_cv_func_malloc_0_nonnull"
10126
10127else
10128 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10129/* end confdefs.h. */
10130 #include <stdlib.h>
10131int
10132main ()
10133{
10134 void *p = calloc(0, 1); exit(p == NULL);
10135
10136 ;
10137 return 0;
10138}
10139_ACEOF
10140if ac_fn_c_try_run "$LINENO"; then :
10141 func_calloc_0_nonnull=yes
10142else
10143 func_calloc_0_nonnull=no
10144fi
10145rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10146 conftest.$ac_objext conftest.beam conftest.$ac_ext
10147fi
10148
10149{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $func_calloc_0_nonnull" >&5
10150$as_echo "$func_calloc_0_nonnull" >&6; }
10151
10152if test "x$func_calloc_0_nonnull" = "xyes"; then
10153
10154$as_echo "#define HAVE_CALLOC 1" >>confdefs.h
10155
10156else
10157
10158$as_echo "#define HAVE_CALLOC 0" >>confdefs.h
10159
10160
10161$as_echo "#define calloc rpl_calloc" >>confdefs.h
10162
10163fi
10164
10165# Check for ALTDIRFUNC glob() extension
10166{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_ALTDIRFUNC support" >&5
10167$as_echo_n "checking for GLOB_ALTDIRFUNC support... " >&6; }
10168cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10169/* end confdefs.h. */
10170
10171 #include <glob.h>
10172 #ifdef GLOB_ALTDIRFUNC
10173 FOUNDIT
10174 #endif
10175
10176_ACEOF
10177if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
10178 $EGREP "FOUNDIT" >/dev/null 2>&1; then :
10179
10180
10181$as_echo "#define GLOB_HAS_ALTDIRFUNC 1" >>confdefs.h
10182
10183 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10184$as_echo "yes" >&6; }
10185
10186else
10187
10188 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10189$as_echo "no" >&6; }
10190
10191
10192fi
10193rm -f conftest*
10194
10195
10196# Check for g.gl_matchc glob() extension
10197{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_matchc field in glob_t" >&5
10198$as_echo_n "checking for gl_matchc field in glob_t... " >&6; }
10199cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10200/* end confdefs.h. */
10201 #include <glob.h>
10202int
10203main ()
10204{
10205 glob_t g; g.gl_matchc = 1;
10206 ;
10207 return 0;
10208}
10209_ACEOF
10210if ac_fn_c_try_compile "$LINENO"; then :
10211
10212
10213$as_echo "#define GLOB_HAS_GL_MATCHC 1" >>confdefs.h
10214
10215 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10216$as_echo "yes" >&6; }
10217
10218else
10219
10220 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10221$as_echo "no" >&6; }
10222
10223fi
10224rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10225
10226# Check for g.gl_statv glob() extension
10227{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_statv and GLOB_KEEPSTAT extensions for glob" >&5
10228$as_echo_n "checking for gl_statv and GLOB_KEEPSTAT extensions for glob... " >&6; }
10229cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10230/* end confdefs.h. */
10231 #include <glob.h>
10232int
10233main ()
10234{
10235
10236#ifndef GLOB_KEEPSTAT
10237#error "glob does not support GLOB_KEEPSTAT extension"
10238#endif
10239glob_t g;
10240g.gl_statv = NULL;
10241
10242 ;
10243 return 0;
10244}
10245_ACEOF
10246if ac_fn_c_try_compile "$LINENO"; then :
10247
10248
10249$as_echo "#define GLOB_HAS_GL_STATV 1" >>confdefs.h
10250
10251 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10252$as_echo "yes" >&6; }
10253
10254else
10255
10256 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10257$as_echo "no" >&6; }
10258
10259
10260fi
10261rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10262
10263ac_fn_c_check_decl "$LINENO" "GLOB_NOMATCH" "ac_cv_have_decl_GLOB_NOMATCH" "#include <glob.h>
10264"
10265if test "x$ac_cv_have_decl_GLOB_NOMATCH" = xyes; then :
10266 ac_have_decl=1
10267else
10268 ac_have_decl=0
10269fi
10270
10271cat >>confdefs.h <<_ACEOF
10272#define HAVE_DECL_GLOB_NOMATCH $ac_have_decl
10273_ACEOF
10274
10275
10276ac_fn_c_check_decl "$LINENO" "VIS_ALL" "ac_cv_have_decl_VIS_ALL" "#include <vis.h>
10277"
10278if test "x$ac_cv_have_decl_VIS_ALL" = xyes; then :
10279
10280else
10281
10282$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
10283
10284fi
10285
10286
10287{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct dirent allocates space for d_name" >&5
10288$as_echo_n "checking whether struct dirent allocates space for d_name... " >&6; }
10289if test "$cross_compiling" = yes; then :
10290
10291 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&5
10292$as_echo "$as_me: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&2;}
10293 $as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h
10294
10295
10296
10297else
10298 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10299/* end confdefs.h. */
10300
10301#include <sys/types.h>
10302#include <dirent.h>
10303int
10304main ()
10305{
10306
10307 struct dirent d;
10308 exit(sizeof(d.d_name)<=sizeof(char));
10309
10310 ;
10311 return 0;
10312}
10313_ACEOF
10314if ac_fn_c_try_run "$LINENO"; then :
10315 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10316$as_echo "yes" >&6; }
10317else
10318
10319 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10320$as_echo "no" >&6; }
10321
10322$as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h
10323
10324
10325fi
10326rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10327 conftest.$ac_objext conftest.beam conftest.$ac_ext
10328fi
10329
10330
10331{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /proc/pid/fd directory" >&5
10332$as_echo_n "checking for /proc/pid/fd directory... " >&6; }
10333if test -d "/proc/$$/fd" ; then
10334
10335$as_echo "#define HAVE_PROC_PID 1" >>confdefs.h
10336
10337 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10338$as_echo "yes" >&6; }
10339else
10340 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10341$as_echo "no" >&6; }
10342fi
10343
10344# Check whether user wants to use ldns
10345LDNS_MSG="no"
10346
10347# Check whether --with-ldns was given.
10348if test "${with_ldns+set}" = set; then :
10349 withval=$with_ldns;
10350 ldns=""
10351 if test "x$withval" = "xyes" ; then
10352 if test -n "$ac_tool_prefix"; then
10353 # Extract the first word of "${ac_tool_prefix}ldns-config", so it can be a program name with args.
10354set dummy ${ac_tool_prefix}ldns-config; ac_word=$2
10355{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10356$as_echo_n "checking for $ac_word... " >&6; }
10357if ${ac_cv_path_LDNSCONFIG+:} false; then :
10358 $as_echo_n "(cached) " >&6
10359else
10360 case $LDNSCONFIG in
10361 [\\/]* | ?:[\\/]*)
10362 ac_cv_path_LDNSCONFIG="$LDNSCONFIG" # Let the user override the test with a path.
10363 ;;
10364 *)
10365 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10366for as_dir in $PATH
10367do
10368 IFS=$as_save_IFS
10369 test -z "$as_dir" && as_dir=.
10370 for ac_exec_ext in '' $ac_executable_extensions; do
10371 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10372 ac_cv_path_LDNSCONFIG="$as_dir/$ac_word$ac_exec_ext"
10373 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10374 break 2
10375 fi
10376done
10377 done
10378IFS=$as_save_IFS
10379
10380 ;;
10381esac
10382fi
10383LDNSCONFIG=$ac_cv_path_LDNSCONFIG
10384if test -n "$LDNSCONFIG"; then
10385 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDNSCONFIG" >&5
10386$as_echo "$LDNSCONFIG" >&6; }
10387else
10388 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10389$as_echo "no" >&6; }
10390fi
10391
10392
10393fi
10394if test -z "$ac_cv_path_LDNSCONFIG"; then
10395 ac_pt_LDNSCONFIG=$LDNSCONFIG
10396 # Extract the first word of "ldns-config", so it can be a program name with args.
10397set dummy ldns-config; ac_word=$2
10398{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10399$as_echo_n "checking for $ac_word... " >&6; }
10400if ${ac_cv_path_ac_pt_LDNSCONFIG+:} false; then :
10401 $as_echo_n "(cached) " >&6
10402else
10403 case $ac_pt_LDNSCONFIG in
10404 [\\/]* | ?:[\\/]*)
10405 ac_cv_path_ac_pt_LDNSCONFIG="$ac_pt_LDNSCONFIG" # Let the user override the test with a path.
10406 ;;
10407 *)
10408 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10409for as_dir in $PATH
10410do
10411 IFS=$as_save_IFS
10412 test -z "$as_dir" && as_dir=.
10413 for ac_exec_ext in '' $ac_executable_extensions; do
10414 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10415 ac_cv_path_ac_pt_LDNSCONFIG="$as_dir/$ac_word$ac_exec_ext"
10416 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10417 break 2
10418 fi
10419done
10420 done
10421IFS=$as_save_IFS
10422
10423 ;;
10424esac
10425fi
10426ac_pt_LDNSCONFIG=$ac_cv_path_ac_pt_LDNSCONFIG
10427if test -n "$ac_pt_LDNSCONFIG"; then
10428 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_LDNSCONFIG" >&5
10429$as_echo "$ac_pt_LDNSCONFIG" >&6; }
10430else
10431 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10432$as_echo "no" >&6; }
10433fi
10434
10435 if test "x$ac_pt_LDNSCONFIG" = x; then
10436 LDNSCONFIG="no"
10437 else
10438 case $cross_compiling:$ac_tool_warned in
10439yes:)
10440{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10441$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10442ac_tool_warned=yes ;;
10443esac
10444 LDNSCONFIG=$ac_pt_LDNSCONFIG
10445 fi
10446else
10447 LDNSCONFIG="$ac_cv_path_LDNSCONFIG"
10448fi
10449
10450 if test "x$LDNSCONFIG" = "xno"; then
10451 LIBS="-lldns $LIBS"
10452 ldns=yes
10453 else
10454 LIBS="$LIBS `$LDNSCONFIG --libs`"
10455 CPPFLAGS="$CPPFLAGS `$LDNSCONFIG --cflags`"
10456 ldns=yes
10457 fi
10458 elif test "x$withval" != "xno" ; then
10459 CPPFLAGS="$CPPFLAGS -I${withval}/include"
10460 LDFLAGS="$LDFLAGS -L${withval}/lib"
10461 LIBS="-lldns $LIBS"
10462 ldns=yes
10463 fi
10464
10465 # Verify that it works.
10466 if test "x$ldns" = "xyes" ; then
10467
10468$as_echo "#define HAVE_LDNS 1" >>confdefs.h
10469
10470 LDNS_MSG="yes"
10471 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldns support" >&5
10472$as_echo_n "checking for ldns support... " >&6; }
10473 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10474/* end confdefs.h. */
10475
10476#include <stdio.h>
10477#include <stdlib.h>
10478#ifdef HAVE_STDINT_H
10479# include <stdint.h>
10480#endif
10481#include <ldns/ldns.h>
10482int main() { ldns_status status = ldns_verify_trusted(NULL, NULL, NULL, NULL); status=LDNS_STATUS_OK; exit(0); }
10483
10484
10485_ACEOF
10486if ac_fn_c_try_link "$LINENO"; then :
10487 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10488$as_echo "yes" >&6; }
10489else
10490
10491 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10492$as_echo "no" >&6; }
10493 as_fn_error $? "** Incomplete or missing ldns libraries." "$LINENO" 5
10494
10495fi
10496rm -f core conftest.err conftest.$ac_objext \
10497 conftest$ac_exeext conftest.$ac_ext
10498 fi
10499
10500fi
10501
10502
10503# Check whether user wants libedit support
10504LIBEDIT_MSG="no"
10505
10506# Check whether --with-libedit was given.
10507if test "${with_libedit+set}" = set; then :
10508 withval=$with_libedit; if test "x$withval" != "xno" ; then
10509 if test "x$withval" = "xyes" ; then
10510 if test -n "$ac_tool_prefix"; then
10511 # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
10512set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
10513{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10514$as_echo_n "checking for $ac_word... " >&6; }
10515if ${ac_cv_path_PKGCONFIG+:} false; then :
10516 $as_echo_n "(cached) " >&6
10517else
10518 case $PKGCONFIG in
10519 [\\/]* | ?:[\\/]*)
10520 ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
10521 ;;
10522 *)
10523 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10524for as_dir in $PATH
10525do
10526 IFS=$as_save_IFS
10527 test -z "$as_dir" && as_dir=.
10528 for ac_exec_ext in '' $ac_executable_extensions; do
10529 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10530 ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
10531 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10532 break 2
10533 fi
10534done
10535 done
10536IFS=$as_save_IFS
10537
10538 ;;
10539esac
10540fi
10541PKGCONFIG=$ac_cv_path_PKGCONFIG
10542if test -n "$PKGCONFIG"; then
10543 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
10544$as_echo "$PKGCONFIG" >&6; }
10545else
10546 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10547$as_echo "no" >&6; }
10548fi
10549
10550
10551fi
10552if test -z "$ac_cv_path_PKGCONFIG"; then
10553 ac_pt_PKGCONFIG=$PKGCONFIG
10554 # Extract the first word of "pkg-config", so it can be a program name with args.
10555set dummy pkg-config; ac_word=$2
10556{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10557$as_echo_n "checking for $ac_word... " >&6; }
10558if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
10559 $as_echo_n "(cached) " >&6
10560else
10561 case $ac_pt_PKGCONFIG in
10562 [\\/]* | ?:[\\/]*)
10563 ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
10564 ;;
10565 *)
10566 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10567for as_dir in $PATH
10568do
10569 IFS=$as_save_IFS
10570 test -z "$as_dir" && as_dir=.
10571 for ac_exec_ext in '' $ac_executable_extensions; do
10572 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10573 ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
10574 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10575 break 2
10576 fi
10577done
10578 done
10579IFS=$as_save_IFS
10580
10581 ;;
10582esac
10583fi
10584ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
10585if test -n "$ac_pt_PKGCONFIG"; then
10586 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
10587$as_echo "$ac_pt_PKGCONFIG" >&6; }
10588else
10589 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10590$as_echo "no" >&6; }
10591fi
10592
10593 if test "x$ac_pt_PKGCONFIG" = x; then
10594 PKGCONFIG="no"
10595 else
10596 case $cross_compiling:$ac_tool_warned in
10597yes:)
10598{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10599$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10600ac_tool_warned=yes ;;
10601esac
10602 PKGCONFIG=$ac_pt_PKGCONFIG
10603 fi
10604else
10605 PKGCONFIG="$ac_cv_path_PKGCONFIG"
10606fi
10607
10608 if test "x$PKGCONFIG" != "xno"; then
10609 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $PKGCONFIG knows about libedit" >&5
10610$as_echo_n "checking if $PKGCONFIG knows about libedit... " >&6; }
10611 if "$PKGCONFIG" libedit; then
10612 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10613$as_echo "yes" >&6; }
10614 use_pkgconfig_for_libedit=yes
10615 else
10616 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10617$as_echo "no" >&6; }
10618 fi
10619 fi
10620 else
10621 CPPFLAGS="$CPPFLAGS -I${withval}/include"
10622 if test -n "${rpath_opt}"; then
10623 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
10624 else
10625 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
10626 fi
10627 fi
10628 if test "x$use_pkgconfig_for_libedit" = "xyes"; then
10629 LIBEDIT=`$PKGCONFIG --libs libedit`
10630 CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags libedit`"
10631 else
10632 LIBEDIT="-ledit -lcurses"
10633 fi
10634 OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'`
10635 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for el_init in -ledit" >&5
10636$as_echo_n "checking for el_init in -ledit... " >&6; }
10637if ${ac_cv_lib_edit_el_init+:} false; then :
10638 $as_echo_n "(cached) " >&6
10639else
10640 ac_check_lib_save_LIBS=$LIBS
10641LIBS="-ledit $OTHERLIBS
10642 $LIBS"
10643cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10644/* end confdefs.h. */
10645
10646/* Override any GCC internal prototype to avoid an error.
10647 Use char because int might match the return type of a GCC
10648 builtin and then its argument prototype would still apply. */
10649#ifdef __cplusplus
10650extern "C"
10651#endif
10652char el_init ();
10653int
10654main ()
10655{
10656return el_init ();
10657 ;
10658 return 0;
10659}
10660_ACEOF
10661if ac_fn_c_try_link "$LINENO"; then :
10662 ac_cv_lib_edit_el_init=yes
10663else
10664 ac_cv_lib_edit_el_init=no
10665fi
10666rm -f core conftest.err conftest.$ac_objext \
10667 conftest$ac_exeext conftest.$ac_ext
10668LIBS=$ac_check_lib_save_LIBS
10669fi
10670{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_el_init" >&5
10671$as_echo "$ac_cv_lib_edit_el_init" >&6; }
10672if test "x$ac_cv_lib_edit_el_init" = xyes; then :
10673
10674$as_echo "#define USE_LIBEDIT 1" >>confdefs.h
10675
10676 LIBEDIT_MSG="yes"
10677
10678
10679else
10680 as_fn_error $? "libedit not found" "$LINENO" 5
10681fi
10682
10683 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libedit version is compatible" >&5
10684$as_echo_n "checking if libedit version is compatible... " >&6; }
10685 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10686/* end confdefs.h. */
10687 #include <histedit.h>
10688int
10689main ()
10690{
10691
10692 int i = H_SETSIZE;
10693 el_init("", NULL, NULL, NULL);
10694 exit(0);
10695
10696 ;
10697 return 0;
10698}
10699_ACEOF
10700if ac_fn_c_try_compile "$LINENO"; then :
10701 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10702$as_echo "yes" >&6; }
10703else
10704 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10705$as_echo "no" >&6; }
10706 as_fn_error $? "libedit version is not compatible" "$LINENO" 5
10707
10708fi
10709rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10710 fi
10711
10712fi
10713
10714
10715AUDIT_MODULE=none
10716
10717# Check whether --with-audit was given.
10718if test "${with_audit+set}" = set; then :
10719 withval=$with_audit;
10720 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported audit module" >&5
10721$as_echo_n "checking for supported audit module... " >&6; }
10722 case "$withval" in
10723 bsm)
10724 { $as_echo "$as_me:${as_lineno-$LINENO}: result: bsm" >&5
10725$as_echo "bsm" >&6; }
10726 AUDIT_MODULE=bsm
10727 for ac_header in bsm/audit.h
10728do :
10729 ac_fn_c_check_header_compile "$LINENO" "bsm/audit.h" "ac_cv_header_bsm_audit_h" "
10730#ifdef HAVE_TIME_H
10731# include <time.h>
10732#endif
10733
10734
10735"
10736if test "x$ac_cv_header_bsm_audit_h" = xyes; then :
10737 cat >>confdefs.h <<_ACEOF
10738#define HAVE_BSM_AUDIT_H 1
10739_ACEOF
10740
10741else
10742 as_fn_error $? "BSM enabled and bsm/audit.h not found" "$LINENO" 5
10743fi
10744
10745done
10746
10747 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaudit in -lbsm" >&5
10748$as_echo_n "checking for getaudit in -lbsm... " >&6; }
10749if ${ac_cv_lib_bsm_getaudit+:} false; then :
10750 $as_echo_n "(cached) " >&6
10751else
10752 ac_check_lib_save_LIBS=$LIBS
10753LIBS="-lbsm $LIBS"
10754cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10755/* end confdefs.h. */
10756
10757/* Override any GCC internal prototype to avoid an error.
10758 Use char because int might match the return type of a GCC
10759 builtin and then its argument prototype would still apply. */
10760#ifdef __cplusplus
10761extern "C"
10762#endif
10763char getaudit ();
10764int
10765main ()
10766{
10767return getaudit ();
10768 ;
10769 return 0;
10770}
10771_ACEOF
10772if ac_fn_c_try_link "$LINENO"; then :
10773 ac_cv_lib_bsm_getaudit=yes
10774else
10775 ac_cv_lib_bsm_getaudit=no
10776fi
10777rm -f core conftest.err conftest.$ac_objext \
10778 conftest$ac_exeext conftest.$ac_ext
10779LIBS=$ac_check_lib_save_LIBS
10780fi
10781{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsm_getaudit" >&5
10782$as_echo "$ac_cv_lib_bsm_getaudit" >&6; }
10783if test "x$ac_cv_lib_bsm_getaudit" = xyes; then :
10784 cat >>confdefs.h <<_ACEOF
10785#define HAVE_LIBBSM 1
10786_ACEOF
10787
10788 LIBS="-lbsm $LIBS"
10789
10790else
10791 as_fn_error $? "BSM enabled and required library not found" "$LINENO" 5
10792fi
10793
10794 for ac_func in getaudit
10795do :
10796 ac_fn_c_check_func "$LINENO" "getaudit" "ac_cv_func_getaudit"
10797if test "x$ac_cv_func_getaudit" = xyes; then :
10798 cat >>confdefs.h <<_ACEOF
10799#define HAVE_GETAUDIT 1
10800_ACEOF
10801
10802else
10803 as_fn_error $? "BSM enabled and required function not found" "$LINENO" 5
10804fi
10805done
10806
10807 # These are optional
10808 for ac_func in getaudit_addr aug_get_machine
10809do :
10810 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
10811ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
10812if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
10813 cat >>confdefs.h <<_ACEOF
10814#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
10815_ACEOF
10816
10817fi
10818done
10819
10820
10821$as_echo "#define USE_BSM_AUDIT 1" >>confdefs.h
10822
10823 if test "$sol2ver" -ge 11; then
10824 SSHDLIBS="$SSHDLIBS -lscf"
10825
10826$as_echo "#define BROKEN_BSM_API 1" >>confdefs.h
10827
10828 fi
10829 ;;
10830 linux)
10831 { $as_echo "$as_me:${as_lineno-$LINENO}: result: linux" >&5
10832$as_echo "linux" >&6; }
10833 AUDIT_MODULE=linux
10834 for ac_header in libaudit.h
10835do :
10836 ac_fn_c_check_header_mongrel "$LINENO" "libaudit.h" "ac_cv_header_libaudit_h" "$ac_includes_default"
10837if test "x$ac_cv_header_libaudit_h" = xyes; then :
10838 cat >>confdefs.h <<_ACEOF
10839#define HAVE_LIBAUDIT_H 1
10840_ACEOF
10841
10842fi
10843
10844done
10845
10846 SSHDLIBS="$SSHDLIBS -laudit"
10847
10848$as_echo "#define USE_LINUX_AUDIT 1" >>confdefs.h
10849
10850 ;;
10851 debug)
10852 AUDIT_MODULE=debug
10853 { $as_echo "$as_me:${as_lineno-$LINENO}: result: debug" >&5
10854$as_echo "debug" >&6; }
10855
10856$as_echo "#define SSH_AUDIT_EVENTS 1" >>confdefs.h
10857
10858 ;;
10859 no)
10860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10861$as_echo "no" >&6; }
10862 ;;
10863 *)
10864 as_fn_error $? "Unknown audit module $withval" "$LINENO" 5
10865 ;;
10866 esac
10867
10868fi
10869
10870
10871
10872# Check whether --with-pie was given.
10873if test "${with_pie+set}" = set; then :
10874 withval=$with_pie;
10875 if test "x$withval" = "xno"; then
10876 use_pie=no
10877 fi
10878 if test "x$withval" = "xyes"; then
10879 use_pie=yes
10880 fi
10881
10882
10883fi
10884
10885if test "x$use_pie" = "x"; then
10886 use_pie=no
10887fi
10888if test "x$use_toolchain_hardening" != "x1" && test "x$use_pie" = "xauto"; then
10889 # Turn off automatic PIE when toolchain hardening is off.
10890 use_pie=no
10891fi
10892if test "x$use_pie" = "xauto"; then
10893 # Automatic PIE requires gcc >= 4.x
10894 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc >= 4.x" >&5
10895$as_echo_n "checking for gcc >= 4.x... " >&6; }
10896 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10897/* end confdefs.h. */
10898
10899#if !defined(__GNUC__) || __GNUC__ < 4
10900#error gcc is too old
10901#endif
10902
10903_ACEOF
10904if ac_fn_c_try_compile "$LINENO"; then :
10905 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10906$as_echo "yes" >&6; }
10907else
10908 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10909$as_echo "no" >&6; }
10910 use_pie=no
10911
10912fi
10913rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10914fi
10915if test "x$use_pie" != "xno"; then
10916 SAVED_CFLAGS="$CFLAGS"
10917 SAVED_LDFLAGS="$LDFLAGS"
10918 {
10919 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fPIE" >&5
10920$as_echo_n "checking if $CC supports compile flag -fPIE... " >&6; }
10921 saved_CFLAGS="$CFLAGS"
10922 CFLAGS="$CFLAGS $WERROR -fPIE"
10923 _define_flag=""
10924 test "x$_define_flag" = "x" && _define_flag="-fPIE"
10925 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10926/* end confdefs.h. */
10927
10928#include <stdlib.h>
10929#include <stdio.h>
10930int main(int argc, char **argv) {
10931 /* Some math to catch -ftrapv problems in the toolchain */
10932 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
10933 float l = i * 2.1;
10934 double m = l / 0.5;
10935 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
10936 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
10937 exit(0);
10938}
10939
10940_ACEOF
10941if ac_fn_c_try_compile "$LINENO"; then :
10942
10943if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
10944then
10945 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10946$as_echo "no" >&6; }
10947 CFLAGS="$saved_CFLAGS"
10948else
10949 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10950$as_echo "yes" >&6; }
10951 CFLAGS="$saved_CFLAGS $_define_flag"
10952fi
10953else
10954 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10955$as_echo "no" >&6; }
10956 CFLAGS="$saved_CFLAGS"
10957
10958fi
10959rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10960}
10961 {
10962 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -pie" >&5
10963$as_echo_n "checking if $LD supports link flag -pie... " >&6; }
10964 saved_LDFLAGS="$LDFLAGS"
10965 LDFLAGS="$LDFLAGS $WERROR -pie"
10966 _define_flag=""
10967 test "x$_define_flag" = "x" && _define_flag="-pie"
10968 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10969/* end confdefs.h. */
10970
10971#include <stdlib.h>
10972#include <stdio.h>
10973int main(int argc, char **argv) {
10974 /* Some math to catch -ftrapv problems in the toolchain */
10975 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
10976 float l = i * 2.1;
10977 double m = l / 0.5;
10978 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
10979 long long p = n * o;
10980 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
10981 exit(0);
10982}
10983
10984_ACEOF
10985if ac_fn_c_try_link "$LINENO"; then :
10986
10987if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
10988then
10989 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10990$as_echo "no" >&6; }
10991 LDFLAGS="$saved_LDFLAGS"
10992else
10993 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10994$as_echo "yes" >&6; }
10995 LDFLAGS="$saved_LDFLAGS $_define_flag"
10996fi
10997else
10998 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10999$as_echo "no" >&6; }
11000 LDFLAGS="$saved_LDFLAGS"
11001
11002fi
11003rm -f core conftest.err conftest.$ac_objext \
11004 conftest$ac_exeext conftest.$ac_ext
11005}
11006 # We use both -fPIE and -pie or neither.
11007 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether both -fPIE and -pie are supported" >&5
11008$as_echo_n "checking whether both -fPIE and -pie are supported... " >&6; }
11009 if echo "x $CFLAGS" | grep ' -fPIE' >/dev/null 2>&1 && \
11010 echo "x $LDFLAGS" | grep ' -pie' >/dev/null 2>&1 ; then
11011 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11012$as_echo "yes" >&6; }
11013 else
11014 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11015$as_echo "no" >&6; }
11016 CFLAGS="$SAVED_CFLAGS"
11017 LDFLAGS="$SAVED_LDFLAGS"
11018 fi
11019fi
11020
11021{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fPIC is accepted" >&5
11022$as_echo_n "checking whether -fPIC is accepted... " >&6; }
11023SAVED_CFLAGS="$CFLAGS"
11024CFLAGS="$CFLAGS -fPIC"
11025cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11026/* end confdefs.h. */
11027 #include <stdlib.h>
11028int
11029main ()
11030{
11031 exit(0);
11032 ;
11033 return 0;
11034}
11035_ACEOF
11036if ac_fn_c_try_compile "$LINENO"; then :
11037 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11038$as_echo "yes" >&6; }
11039 PICFLAG="-fPIC";
11040else
11041 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11042$as_echo "no" >&6; }
11043 PICFLAG="";
11044fi
11045rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
11046CFLAGS="$SAVED_CFLAGS"
11047
11048
11049for ac_func in \
11050 Blowfish_initstate \
11051 Blowfish_expandstate \
11052 Blowfish_expand0state \
11053 Blowfish_stream2word \
11054 SHA256Update \
11055 SHA384Update \
11056 SHA512Update \
11057 asprintf \
11058 b64_ntop \
11059 __b64_ntop \
11060 b64_pton \
11061 __b64_pton \
11062 bcopy \
11063 bcrypt_pbkdf \
11064 bindresvport_sa \
11065 blf_enc \
11066 bzero \
11067 cap_rights_limit \
11068 clock \
11069 closefrom \
11070 dirfd \
11071 endgrent \
11072 err \
11073 errx \
11074 explicit_bzero \
11075 fchmod \
11076 fchmodat \
11077 fchown \
11078 fchownat \
11079 flock \
11080 fnmatch \
11081 freeaddrinfo \
11082 freezero \
11083 fstatfs \
11084 fstatvfs \
11085 futimes \
11086 getaddrinfo \
11087 getcwd \
11088 getgrouplist \
11089 getline \
11090 getnameinfo \
11091 getopt \
11092 getpagesize \
11093 getpeereid \
11094 getpeerucred \
11095 getpgid \
11096 _getpty \
11097 getrlimit \
11098 getrandom \
11099 getsid \
11100 getttyent \
11101 glob \
11102 group_from_gid \
11103 inet_aton \
11104 inet_ntoa \
11105 inet_ntop \
11106 innetgr \
11107 llabs \
11108 localtime_r \
11109 login_getcapbool \
11110 md5_crypt \
11111 memmem \
11112 memmove \
11113 memset_s \
11114 mkdtemp \
11115 ngetaddrinfo \
11116 nsleep \
11117 ogetaddrinfo \
11118 openlog_r \
11119 pledge \
11120 poll \
11121 prctl \
11122 pstat \
11123 raise \
11124 readpassphrase \
11125 reallocarray \
11126 realpath \
11127 recvmsg \
11128 recallocarray \
11129 rresvport_af \
11130 sendmsg \
11131 setdtablesize \
11132 setegid \
11133 setenv \
11134 seteuid \
11135 setgroupent \
11136 setgroups \
11137 setlinebuf \
11138 setlogin \
11139 setpassent\
11140 setpcred \
11141 setproctitle \
11142 setregid \
11143 setreuid \
11144 setrlimit \
11145 setsid \
11146 setvbuf \
11147 sigaction \
11148 sigvec \
11149 snprintf \
11150 socketpair \
11151 statfs \
11152 statvfs \
11153 strcasestr \
11154 strdup \
11155 strerror \
11156 strlcat \
11157 strlcpy \
11158 strmode \
11159 strndup \
11160 strnlen \
11161 strnvis \
11162 strptime \
11163 strsignal \
11164 strtonum \
11165 strtoll \
11166 strtoul \
11167 strtoull \
11168 swap32 \
11169 sysconf \
11170 tcgetpgrp \
11171 timingsafe_bcmp \
11172 truncate \
11173 unsetenv \
11174 updwtmpx \
11175 utimensat \
11176 user_from_uid \
11177 usleep \
11178 vasprintf \
11179 vsnprintf \
11180 waitpid \
11181 warn \
11182
11183do :
11184 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11185ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11186if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11187 cat >>confdefs.h <<_ACEOF
11188#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11189_ACEOF
11190
11191fi
11192done
11193
11194
11195ac_fn_c_check_decl "$LINENO" "bzero" "ac_cv_have_decl_bzero" "$ac_includes_default"
11196if test "x$ac_cv_have_decl_bzero" = xyes; then :
11197 ac_have_decl=1
11198else
11199 ac_have_decl=0
11200fi
11201
11202cat >>confdefs.h <<_ACEOF
11203#define HAVE_DECL_BZERO $ac_have_decl
11204_ACEOF
11205ac_fn_c_check_decl "$LINENO" "memmem" "ac_cv_have_decl_memmem" "$ac_includes_default"
11206if test "x$ac_cv_have_decl_memmem" = xyes; then :
11207 ac_have_decl=1
11208else
11209 ac_have_decl=0
11210fi
11211
11212cat >>confdefs.h <<_ACEOF
11213#define HAVE_DECL_MEMMEM $ac_have_decl
11214_ACEOF
11215
11216
11217for ac_func in mblen mbtowc nl_langinfo wcwidth
11218do :
11219 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11220ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11221if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11222 cat >>confdefs.h <<_ACEOF
11223#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11224_ACEOF
11225
11226fi
11227done
11228
11229
11230TEST_SSH_UTF8=${TEST_SSH_UTF8:=yes}
11231{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for utf8 locale support" >&5
11232$as_echo_n "checking for utf8 locale support... " >&6; }
11233if test "$cross_compiling" = yes; then :
11234 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
11235$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
11236
11237else
11238 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11239/* end confdefs.h. */
11240
11241#include <locale.h>
11242#include <stdlib.h>
11243
11244int
11245main ()
11246{
11247
11248 char *loc = setlocale(LC_CTYPE, "en_US.UTF-8");
11249 if (loc != NULL)
11250 exit(0);
11251 exit(1);
11252
11253 ;
11254 return 0;
11255}
11256_ACEOF
11257if ac_fn_c_try_run "$LINENO"; then :
11258 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11259$as_echo "yes" >&6; }
11260else
11261 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11262$as_echo "no" >&6; }
11263 TEST_SSH_UTF8=no
11264fi
11265rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11266 conftest.$ac_objext conftest.beam conftest.$ac_ext
11267fi
11268
11269
11270cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11271/* end confdefs.h. */
11272 #include <ctype.h>
11273int
11274main ()
11275{
11276 return (isblank('a'));
11277 ;
11278 return 0;
11279}
11280_ACEOF
11281if ac_fn_c_try_link "$LINENO"; then :
11282
11283$as_echo "#define HAVE_ISBLANK 1" >>confdefs.h
11284
11285
11286fi
11287rm -f core conftest.err conftest.$ac_objext \
11288 conftest$ac_exeext conftest.$ac_ext
11289
11290disable_pkcs11=
11291# Check whether --enable-pkcs11 was given.
11292if test "${enable_pkcs11+set}" = set; then :
11293 enableval=$enable_pkcs11;
11294 if test "x$enableval" = "xno" ; then
11295 disable_pkcs11=1
11296 fi
11297
11298
11299fi
11300
11301
11302disable_sk=
11303# Check whether --enable-security-key was given.
11304if test "${enable_security_key+set}" = set; then :
11305 enableval=$enable_security_key;
11306 if test "x$enableval" = "xno" ; then
11307 disable_sk=1
11308 fi
11309
11310
11311fi
11312
11313enable_sk_internal=
11314
11315# Check whether --with-security-key-builtin was given.
11316if test "${with_security_key_builtin+set}" = set; then :
11317 withval=$with_security_key_builtin;
11318 if test "x$withval" != "xno" ; then
11319 enable_sk_internal=yes
11320 fi
11321
11322
11323fi
11324
11325test "x$disable_sk" != "x" && enable_sk_internal=""
11326
11327{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
11328$as_echo_n "checking for library containing dlopen... " >&6; }
11329if ${ac_cv_search_dlopen+:} false; then :
11330 $as_echo_n "(cached) " >&6
11331else
11332 ac_func_search_save_LIBS=$LIBS
11333cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11334/* end confdefs.h. */
11335
11336/* Override any GCC internal prototype to avoid an error.
11337 Use char because int might match the return type of a GCC
11338 builtin and then its argument prototype would still apply. */
11339#ifdef __cplusplus
11340extern "C"
11341#endif
11342char dlopen ();
11343int
11344main ()
11345{
11346return dlopen ();
11347 ;
11348 return 0;
11349}
11350_ACEOF
11351for ac_lib in '' dl; do
11352 if test -z "$ac_lib"; then
11353 ac_res="none required"
11354 else
11355 ac_res=-l$ac_lib
11356 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11357 fi
11358 if ac_fn_c_try_link "$LINENO"; then :
11359 ac_cv_search_dlopen=$ac_res
11360fi
11361rm -f core conftest.err conftest.$ac_objext \
11362 conftest$ac_exeext
11363 if ${ac_cv_search_dlopen+:} false; then :
11364 break
11365fi
11366done
11367if ${ac_cv_search_dlopen+:} false; then :
11368
11369else
11370 ac_cv_search_dlopen=no
11371fi
11372rm conftest.$ac_ext
11373LIBS=$ac_func_search_save_LIBS
11374fi
11375{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
11376$as_echo "$ac_cv_search_dlopen" >&6; }
11377ac_res=$ac_cv_search_dlopen
11378if test "$ac_res" != no; then :
11379 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11380
11381fi
11382
11383for ac_func in dlopen
11384do :
11385 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
11386if test "x$ac_cv_func_dlopen" = xyes; then :
11387 cat >>confdefs.h <<_ACEOF
11388#define HAVE_DLOPEN 1
11389_ACEOF
11390
11391fi
11392done
11393
11394ac_fn_c_check_decl "$LINENO" "RTLD_NOW" "ac_cv_have_decl_RTLD_NOW" "#include <dlfcn.h>
11395"
11396if test "x$ac_cv_have_decl_RTLD_NOW" = xyes; then :
11397
11398fi
11399
11400
11401# IRIX has a const char return value for gai_strerror()
11402for ac_func in gai_strerror
11403do :
11404 ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror"
11405if test "x$ac_cv_func_gai_strerror" = xyes; then :
11406 cat >>confdefs.h <<_ACEOF
11407#define HAVE_GAI_STRERROR 1
11408_ACEOF
11409
11410 $as_echo "#define HAVE_GAI_STRERROR 1" >>confdefs.h
11411
11412 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11413/* end confdefs.h. */
11414
11415#include <sys/types.h>
11416#include <sys/socket.h>
11417#include <netdb.h>
11418
11419const char *gai_strerror(int);
11420
11421int
11422main ()
11423{
11424
11425 char *str;
11426 str = gai_strerror(0);
11427
11428 ;
11429 return 0;
11430}
11431_ACEOF
11432if ac_fn_c_try_compile "$LINENO"; then :
11433
11434
11435$as_echo "#define HAVE_CONST_GAI_STRERROR_PROTO 1" >>confdefs.h
11436
11437fi
11438rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
11439fi
11440done
11441
11442
11443{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5
11444$as_echo_n "checking for library containing nanosleep... " >&6; }
11445if ${ac_cv_search_nanosleep+:} false; then :
11446 $as_echo_n "(cached) " >&6
11447else
11448 ac_func_search_save_LIBS=$LIBS
11449cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11450/* end confdefs.h. */
11451
11452/* Override any GCC internal prototype to avoid an error.
11453 Use char because int might match the return type of a GCC
11454 builtin and then its argument prototype would still apply. */
11455#ifdef __cplusplus
11456extern "C"
11457#endif
11458char nanosleep ();
11459int
11460main ()
11461{
11462return nanosleep ();
11463 ;
11464 return 0;
11465}
11466_ACEOF
11467for ac_lib in '' rt posix4; do
11468 if test -z "$ac_lib"; then
11469 ac_res="none required"
11470 else
11471 ac_res=-l$ac_lib
11472 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11473 fi
11474 if ac_fn_c_try_link "$LINENO"; then :
11475 ac_cv_search_nanosleep=$ac_res
11476fi
11477rm -f core conftest.err conftest.$ac_objext \
11478 conftest$ac_exeext
11479 if ${ac_cv_search_nanosleep+:} false; then :
11480 break
11481fi
11482done
11483if ${ac_cv_search_nanosleep+:} false; then :
11484
11485else
11486 ac_cv_search_nanosleep=no
11487fi
11488rm conftest.$ac_ext
11489LIBS=$ac_func_search_save_LIBS
11490fi
11491{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5
11492$as_echo "$ac_cv_search_nanosleep" >&6; }
11493ac_res=$ac_cv_search_nanosleep
11494if test "$ac_res" != no; then :
11495 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11496
11497$as_echo "#define HAVE_NANOSLEEP 1" >>confdefs.h
11498
11499fi
11500
11501
11502{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
11503$as_echo_n "checking for library containing clock_gettime... " >&6; }
11504if ${ac_cv_search_clock_gettime+:} false; then :
11505 $as_echo_n "(cached) " >&6
11506else
11507 ac_func_search_save_LIBS=$LIBS
11508cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11509/* end confdefs.h. */
11510
11511/* Override any GCC internal prototype to avoid an error.
11512 Use char because int might match the return type of a GCC
11513 builtin and then its argument prototype would still apply. */
11514#ifdef __cplusplus
11515extern "C"
11516#endif
11517char clock_gettime ();
11518int
11519main ()
11520{
11521return clock_gettime ();
11522 ;
11523 return 0;
11524}
11525_ACEOF
11526for ac_lib in '' rt; do
11527 if test -z "$ac_lib"; then
11528 ac_res="none required"
11529 else
11530 ac_res=-l$ac_lib
11531 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11532 fi
11533 if ac_fn_c_try_link "$LINENO"; then :
11534 ac_cv_search_clock_gettime=$ac_res
11535fi
11536rm -f core conftest.err conftest.$ac_objext \
11537 conftest$ac_exeext
11538 if ${ac_cv_search_clock_gettime+:} false; then :
11539 break
11540fi
11541done
11542if ${ac_cv_search_clock_gettime+:} false; then :
11543
11544else
11545 ac_cv_search_clock_gettime=no
11546fi
11547rm conftest.$ac_ext
11548LIBS=$ac_func_search_save_LIBS
11549fi
11550{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
11551$as_echo "$ac_cv_search_clock_gettime" >&6; }
11552ac_res=$ac_cv_search_clock_gettime
11553if test "$ac_res" != no; then :
11554 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11555
11556$as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
11557
11558fi
11559
11560
11561ac_fn_c_check_decl "$LINENO" "strsep" "ac_cv_have_decl_strsep" "
11562#ifdef HAVE_STRING_H
11563# include <string.h>
11564#endif
11565
11566"
11567if test "x$ac_cv_have_decl_strsep" = xyes; then :
11568 for ac_func in strsep
11569do :
11570 ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep"
11571if test "x$ac_cv_func_strsep" = xyes; then :
11572 cat >>confdefs.h <<_ACEOF
11573#define HAVE_STRSEP 1
11574_ACEOF
11575
11576fi
11577done
11578
11579fi
11580
11581
11582ac_fn_c_check_decl "$LINENO" "tcsendbreak" "ac_cv_have_decl_tcsendbreak" "#include <termios.h>
11583
11584"
11585if test "x$ac_cv_have_decl_tcsendbreak" = xyes; then :
11586 $as_echo "#define HAVE_TCSENDBREAK 1" >>confdefs.h
11587
11588else
11589 for ac_func in tcsendbreak
11590do :
11591 ac_fn_c_check_func "$LINENO" "tcsendbreak" "ac_cv_func_tcsendbreak"
11592if test "x$ac_cv_func_tcsendbreak" = xyes; then :
11593 cat >>confdefs.h <<_ACEOF
11594#define HAVE_TCSENDBREAK 1
11595_ACEOF
11596
11597fi
11598done
11599
11600fi
11601
11602
11603ac_fn_c_check_decl "$LINENO" "h_errno" "ac_cv_have_decl_h_errno" "#include <netdb.h>
11604"
11605if test "x$ac_cv_have_decl_h_errno" = xyes; then :
11606 ac_have_decl=1
11607else
11608 ac_have_decl=0
11609fi
11610
11611cat >>confdefs.h <<_ACEOF
11612#define HAVE_DECL_H_ERRNO $ac_have_decl
11613_ACEOF
11614
11615
11616ac_fn_c_check_decl "$LINENO" "SHUT_RD" "ac_cv_have_decl_SHUT_RD" "
11617#include <sys/types.h>
11618#include <sys/socket.h>
11619
11620"
11621if test "x$ac_cv_have_decl_SHUT_RD" = xyes; then :
11622 ac_have_decl=1
11623else
11624 ac_have_decl=0
11625fi
11626
11627cat >>confdefs.h <<_ACEOF
11628#define HAVE_DECL_SHUT_RD $ac_have_decl
11629_ACEOF
11630
11631
11632ac_fn_c_check_decl "$LINENO" "O_NONBLOCK" "ac_cv_have_decl_O_NONBLOCK" "
11633#include <sys/types.h>
11634#ifdef HAVE_SYS_STAT_H
11635# include <sys/stat.h>
11636#endif
11637#ifdef HAVE_FCNTL_H
11638# include <fcntl.h>
11639#endif
11640
11641"
11642if test "x$ac_cv_have_decl_O_NONBLOCK" = xyes; then :
11643 ac_have_decl=1
11644else
11645 ac_have_decl=0
11646fi
11647
11648cat >>confdefs.h <<_ACEOF
11649#define HAVE_DECL_O_NONBLOCK $ac_have_decl
11650_ACEOF
11651
11652
11653ac_fn_c_check_decl "$LINENO" "readv" "ac_cv_have_decl_readv" "
11654#include <sys/types.h>
11655#include <sys/uio.h>
11656#include <unistd.h>
11657
11658"
11659if test "x$ac_cv_have_decl_readv" = xyes; then :
11660 ac_have_decl=1
11661else
11662 ac_have_decl=0
11663fi
11664
11665cat >>confdefs.h <<_ACEOF
11666#define HAVE_DECL_READV $ac_have_decl
11667_ACEOF
11668ac_fn_c_check_decl "$LINENO" "writev" "ac_cv_have_decl_writev" "
11669#include <sys/types.h>
11670#include <sys/uio.h>
11671#include <unistd.h>
11672
11673"
11674if test "x$ac_cv_have_decl_writev" = xyes; then :
11675 ac_have_decl=1
11676else
11677 ac_have_decl=0
11678fi
11679
11680cat >>confdefs.h <<_ACEOF
11681#define HAVE_DECL_WRITEV $ac_have_decl
11682_ACEOF
11683
11684
11685ac_fn_c_check_decl "$LINENO" "MAXSYMLINKS" "ac_cv_have_decl_MAXSYMLINKS" "
11686#include <sys/param.h>
11687
11688"
11689if test "x$ac_cv_have_decl_MAXSYMLINKS" = xyes; then :
11690 ac_have_decl=1
11691else
11692 ac_have_decl=0
11693fi
11694
11695cat >>confdefs.h <<_ACEOF
11696#define HAVE_DECL_MAXSYMLINKS $ac_have_decl
11697_ACEOF
11698
11699
11700ac_fn_c_check_decl "$LINENO" "offsetof" "ac_cv_have_decl_offsetof" "
11701#include <stddef.h>
11702
11703"
11704if test "x$ac_cv_have_decl_offsetof" = xyes; then :
11705 ac_have_decl=1
11706else
11707 ac_have_decl=0
11708fi
11709
11710cat >>confdefs.h <<_ACEOF
11711#define HAVE_DECL_OFFSETOF $ac_have_decl
11712_ACEOF
11713
11714
11715# extra bits for select(2)
11716ac_fn_c_check_decl "$LINENO" "howmany" "ac_cv_have_decl_howmany" "
11717#include <sys/param.h>
11718#include <sys/types.h>
11719#ifdef HAVE_SYS_SYSMACROS_H
11720#include <sys/sysmacros.h>
11721#endif
11722#ifdef HAVE_SYS_SELECT_H
11723#include <sys/select.h>
11724#endif
11725#ifdef HAVE_SYS_TIME_H
11726#include <sys/time.h>
11727#endif
11728#ifdef HAVE_UNISTD_H
11729#include <unistd.h>
11730#endif
11731
11732"
11733if test "x$ac_cv_have_decl_howmany" = xyes; then :
11734 ac_have_decl=1
11735else
11736 ac_have_decl=0
11737fi
11738
11739cat >>confdefs.h <<_ACEOF
11740#define HAVE_DECL_HOWMANY $ac_have_decl
11741_ACEOF
11742ac_fn_c_check_decl "$LINENO" "NFDBITS" "ac_cv_have_decl_NFDBITS" "
11743#include <sys/param.h>
11744#include <sys/types.h>
11745#ifdef HAVE_SYS_SYSMACROS_H
11746#include <sys/sysmacros.h>
11747#endif
11748#ifdef HAVE_SYS_SELECT_H
11749#include <sys/select.h>
11750#endif
11751#ifdef HAVE_SYS_TIME_H
11752#include <sys/time.h>
11753#endif
11754#ifdef HAVE_UNISTD_H
11755#include <unistd.h>
11756#endif
11757
11758"
11759if test "x$ac_cv_have_decl_NFDBITS" = xyes; then :
11760 ac_have_decl=1
11761else
11762 ac_have_decl=0
11763fi
11764
11765cat >>confdefs.h <<_ACEOF
11766#define HAVE_DECL_NFDBITS $ac_have_decl
11767_ACEOF
11768
11769ac_fn_c_check_type "$LINENO" "fd_mask" "ac_cv_type_fd_mask" "
11770#include <sys/param.h>
11771#include <sys/types.h>
11772#ifdef HAVE_SYS_SELECT_H
11773#include <sys/select.h>
11774#endif
11775#ifdef HAVE_SYS_TIME_H
11776#include <sys/time.h>
11777#endif
11778#ifdef HAVE_UNISTD_H
11779#include <unistd.h>
11780#endif
11781
11782"
11783if test "x$ac_cv_type_fd_mask" = xyes; then :
11784
11785cat >>confdefs.h <<_ACEOF
11786#define HAVE_FD_MASK 1
11787_ACEOF
11788
11789
11790fi
11791
11792
11793for ac_func in setresuid
11794do :
11795 ac_fn_c_check_func "$LINENO" "setresuid" "ac_cv_func_setresuid"
11796if test "x$ac_cv_func_setresuid" = xyes; then :
11797 cat >>confdefs.h <<_ACEOF
11798#define HAVE_SETRESUID 1
11799_ACEOF
11800
11801 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresuid seems to work" >&5
11802$as_echo_n "checking if setresuid seems to work... " >&6; }
11803 if test "$cross_compiling" = yes; then :
11804 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5
11805$as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;}
11806
11807else
11808 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11809/* end confdefs.h. */
11810
11811#include <stdlib.h>
11812#include <errno.h>
11813
11814int
11815main ()
11816{
11817
11818 errno=0;
11819 setresuid(0,0,0);
11820 if (errno==ENOSYS)
11821 exit(1);
11822 else
11823 exit(0);
11824
11825 ;
11826 return 0;
11827}
11828_ACEOF
11829if ac_fn_c_try_run "$LINENO"; then :
11830 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11831$as_echo "yes" >&6; }
11832else
11833
11834$as_echo "#define BROKEN_SETRESUID 1" >>confdefs.h
11835
11836 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5
11837$as_echo "not implemented" >&6; }
11838fi
11839rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11840 conftest.$ac_objext conftest.beam conftest.$ac_ext
11841fi
11842
11843
11844fi
11845done
11846
11847
11848for ac_func in setresgid
11849do :
11850 ac_fn_c_check_func "$LINENO" "setresgid" "ac_cv_func_setresgid"
11851if test "x$ac_cv_func_setresgid" = xyes; then :
11852 cat >>confdefs.h <<_ACEOF
11853#define HAVE_SETRESGID 1
11854_ACEOF
11855
11856 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresgid seems to work" >&5
11857$as_echo_n "checking if setresgid seems to work... " >&6; }
11858 if test "$cross_compiling" = yes; then :
11859 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5
11860$as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;}
11861
11862else
11863 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11864/* end confdefs.h. */
11865
11866#include <stdlib.h>
11867#include <errno.h>
11868
11869int
11870main ()
11871{
11872
11873 errno=0;
11874 setresgid(0,0,0);
11875 if (errno==ENOSYS)
11876 exit(1);
11877 else
11878 exit(0);
11879
11880 ;
11881 return 0;
11882}
11883_ACEOF
11884if ac_fn_c_try_run "$LINENO"; then :
11885 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11886$as_echo "yes" >&6; }
11887else
11888
11889$as_echo "#define BROKEN_SETRESGID 1" >>confdefs.h
11890
11891 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5
11892$as_echo "not implemented" >&6; }
11893fi
11894rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11895 conftest.$ac_objext conftest.beam conftest.$ac_ext
11896fi
11897
11898
11899fi
11900done
11901
11902
11903{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fflush(NULL)" >&5
11904$as_echo_n "checking for working fflush(NULL)... " >&6; }
11905if test "$cross_compiling" = yes; then :
11906 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming working" >&5
11907$as_echo "$as_me: WARNING: cross compiling: assuming working" >&2;}
11908
11909else
11910 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11911/* end confdefs.h. */
11912#include <stdio.h>
11913int
11914main ()
11915{
11916fflush(NULL); exit(0);
11917 ;
11918 return 0;
11919}
11920_ACEOF
11921if ac_fn_c_try_run "$LINENO"; then :
11922 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11923$as_echo "yes" >&6; }
11924else
11925 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11926$as_echo "no" >&6; }
11927
11928$as_echo "#define FFLUSH_NULL_BUG 1" >>confdefs.h
11929
11930fi
11931rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11932 conftest.$ac_objext conftest.beam conftest.$ac_ext
11933fi
11934
11935
11936for ac_func in gettimeofday time
11937do :
11938 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11939ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11940if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11941 cat >>confdefs.h <<_ACEOF
11942#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11943_ACEOF
11944
11945fi
11946done
11947
11948for ac_func in endutent getutent getutid getutline pututline setutent
11949do :
11950 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11951ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11952if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11953 cat >>confdefs.h <<_ACEOF
11954#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11955_ACEOF
11956
11957fi
11958done
11959
11960for ac_func in utmpname
11961do :
11962 ac_fn_c_check_func "$LINENO" "utmpname" "ac_cv_func_utmpname"
11963if test "x$ac_cv_func_utmpname" = xyes; then :
11964 cat >>confdefs.h <<_ACEOF
11965#define HAVE_UTMPNAME 1
11966_ACEOF
11967
11968fi
11969done
11970
11971for ac_func in endutxent getutxent getutxid getutxline getutxuser pututxline
11972do :
11973 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11974ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11975if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11976 cat >>confdefs.h <<_ACEOF
11977#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11978_ACEOF
11979
11980fi
11981done
11982
11983for ac_func in setutxdb setutxent utmpxname
11984do :
11985 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11986ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11987if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11988 cat >>confdefs.h <<_ACEOF
11989#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11990_ACEOF
11991
11992fi
11993done
11994
11995for ac_func in getlastlogxbyname
11996do :
11997 ac_fn_c_check_func "$LINENO" "getlastlogxbyname" "ac_cv_func_getlastlogxbyname"
11998if test "x$ac_cv_func_getlastlogxbyname" = xyes; then :
11999 cat >>confdefs.h <<_ACEOF
12000#define HAVE_GETLASTLOGXBYNAME 1
12001_ACEOF
12002
12003fi
12004done
12005
12006
12007ac_fn_c_check_func "$LINENO" "daemon" "ac_cv_func_daemon"
12008if test "x$ac_cv_func_daemon" = xyes; then :
12009
12010$as_echo "#define HAVE_DAEMON 1" >>confdefs.h
12011
12012else
12013 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for daemon in -lbsd" >&5
12014$as_echo_n "checking for daemon in -lbsd... " >&6; }
12015if ${ac_cv_lib_bsd_daemon+:} false; then :
12016 $as_echo_n "(cached) " >&6
12017else
12018 ac_check_lib_save_LIBS=$LIBS
12019LIBS="-lbsd $LIBS"
12020cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12021/* end confdefs.h. */
12022
12023/* Override any GCC internal prototype to avoid an error.
12024 Use char because int might match the return type of a GCC
12025 builtin and then its argument prototype would still apply. */
12026#ifdef __cplusplus
12027extern "C"
12028#endif
12029char daemon ();
12030int
12031main ()
12032{
12033return daemon ();
12034 ;
12035 return 0;
12036}
12037_ACEOF
12038if ac_fn_c_try_link "$LINENO"; then :
12039 ac_cv_lib_bsd_daemon=yes
12040else
12041 ac_cv_lib_bsd_daemon=no
12042fi
12043rm -f core conftest.err conftest.$ac_objext \
12044 conftest$ac_exeext conftest.$ac_ext
12045LIBS=$ac_check_lib_save_LIBS
12046fi
12047{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_daemon" >&5
12048$as_echo "$ac_cv_lib_bsd_daemon" >&6; }
12049if test "x$ac_cv_lib_bsd_daemon" = xyes; then :
12050 LIBS="$LIBS -lbsd"; $as_echo "#define HAVE_DAEMON 1" >>confdefs.h
12051
12052fi
12053
12054
12055fi
12056
12057
12058ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
12059if test "x$ac_cv_func_getpagesize" = xyes; then :
12060
12061$as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h
12062
12063else
12064 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpagesize in -lucb" >&5
12065$as_echo_n "checking for getpagesize in -lucb... " >&6; }
12066if ${ac_cv_lib_ucb_getpagesize+:} false; then :
12067 $as_echo_n "(cached) " >&6
12068else
12069 ac_check_lib_save_LIBS=$LIBS
12070LIBS="-lucb $LIBS"
12071cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12072/* end confdefs.h. */
12073
12074/* Override any GCC internal prototype to avoid an error.
12075 Use char because int might match the return type of a GCC
12076 builtin and then its argument prototype would still apply. */
12077#ifdef __cplusplus
12078extern "C"
12079#endif
12080char getpagesize ();
12081int
12082main ()
12083{
12084return getpagesize ();
12085 ;
12086 return 0;
12087}
12088_ACEOF
12089if ac_fn_c_try_link "$LINENO"; then :
12090 ac_cv_lib_ucb_getpagesize=yes
12091else
12092 ac_cv_lib_ucb_getpagesize=no
12093fi
12094rm -f core conftest.err conftest.$ac_objext \
12095 conftest$ac_exeext conftest.$ac_ext
12096LIBS=$ac_check_lib_save_LIBS
12097fi
12098{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ucb_getpagesize" >&5
12099$as_echo "$ac_cv_lib_ucb_getpagesize" >&6; }
12100if test "x$ac_cv_lib_ucb_getpagesize" = xyes; then :
12101 LIBS="$LIBS -lucb"; $as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h
12102
12103fi
12104
12105
12106fi
12107
12108
12109# Check for broken snprintf
12110if test "x$ac_cv_func_snprintf" = "xyes" ; then
12111 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf correctly terminates long strings" >&5
12112$as_echo_n "checking whether snprintf correctly terminates long strings... " >&6; }
12113 if test "$cross_compiling" = yes; then :
12114 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
12115$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
12116
12117else
12118 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12119/* end confdefs.h. */
12120 #include <stdio.h>
12121int
12122main ()
12123{
12124
12125 char b[5];
12126 snprintf(b,5,"123456789");
12127 exit(b[4]!='\0');
12128
12129 ;
12130 return 0;
12131}
12132_ACEOF
12133if ac_fn_c_try_run "$LINENO"; then :
12134 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12135$as_echo "yes" >&6; }
12136else
12137
12138 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12139$as_echo "no" >&6; }
12140
12141$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12142
12143 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&5
12144$as_echo "$as_me: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&2;}
12145
12146fi
12147rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12148 conftest.$ac_objext conftest.beam conftest.$ac_ext
12149fi
12150
12151fi
12152
12153if test "x$ac_cv_func_snprintf" = "xyes" ; then
12154 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf understands %zu" >&5
12155$as_echo_n "checking whether snprintf understands %zu... " >&6; }
12156 if test "$cross_compiling" = yes; then :
12157 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
12158$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
12159
12160else
12161 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12162/* end confdefs.h. */
12163
12164#include <sys/types.h>
12165#include <stdio.h>
12166
12167int
12168main ()
12169{
12170
12171 size_t a = 1, b = 2;
12172 char z[128];
12173 snprintf(z, sizeof z, "%zu%zu", a, b);
12174 exit(strcmp(z, "12"));
12175
12176 ;
12177 return 0;
12178}
12179_ACEOF
12180if ac_fn_c_try_run "$LINENO"; then :
12181 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12182$as_echo "yes" >&6; }
12183else
12184
12185 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12186$as_echo "no" >&6; }
12187
12188$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12189
12190
12191fi
12192rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12193 conftest.$ac_objext conftest.beam conftest.$ac_ext
12194fi
12195
12196fi
12197
12198# We depend on vsnprintf returning the right thing on overflow: the
12199# number of characters it tried to create (as per SUSv3)
12200if test "x$ac_cv_func_vsnprintf" = "xyes" ; then
12201 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether vsnprintf returns correct values on overflow" >&5
12202$as_echo_n "checking whether vsnprintf returns correct values on overflow... " >&6; }
12203 if test "$cross_compiling" = yes; then :
12204 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working vsnprintf()" >&5
12205$as_echo "$as_me: WARNING: cross compiling: Assuming working vsnprintf()" >&2;}
12206
12207else
12208 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12209/* end confdefs.h. */
12210
12211#include <sys/types.h>
12212#include <stdio.h>
12213#include <stdarg.h>
12214
12215int x_snprintf(char *str, size_t count, const char *fmt, ...)
12216{
12217 size_t ret;
12218 va_list ap;
12219
12220 va_start(ap, fmt);
12221 ret = vsnprintf(str, count, fmt, ap);
12222 va_end(ap);
12223 return ret;
12224}
12225
12226int
12227main ()
12228{
12229
12230char x[1];
12231if (x_snprintf(x, 1, "%s %d", "hello", 12345) != 11)
12232 return 1;
12233if (x_snprintf(NULL, 0, "%s %d", "hello", 12345) != 11)
12234 return 1;
12235return 0;
12236
12237 ;
12238 return 0;
12239}
12240_ACEOF
12241if ac_fn_c_try_run "$LINENO"; then :
12242 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12243$as_echo "yes" >&6; }
12244else
12245
12246 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12247$as_echo "no" >&6; }
12248
12249$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12250
12251 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&5
12252$as_echo "$as_me: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&2;}
12253
12254fi
12255rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12256 conftest.$ac_objext conftest.beam conftest.$ac_ext
12257fi
12258
12259fi
12260
12261# On systems where [v]snprintf is broken, but is declared in stdio,
12262# check that the fmt argument is const char * or just char *.
12263# This is only useful for when BROKEN_SNPRINTF
12264{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf can declare const char *fmt" >&5
12265$as_echo_n "checking whether snprintf can declare const char *fmt... " >&6; }
12266cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12267/* end confdefs.h. */
12268
12269#include <stdio.h>
12270int snprintf(char *a, size_t b, const char *c, ...) { return 0; }
12271
12272int
12273main ()
12274{
12275
12276 snprintf(0, 0, 0);
12277
12278 ;
12279 return 0;
12280}
12281_ACEOF
12282if ac_fn_c_try_compile "$LINENO"; then :
12283 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12284$as_echo "yes" >&6; }
12285
12286$as_echo "#define SNPRINTF_CONST const" >>confdefs.h
12287
12288else
12289 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12290$as_echo "no" >&6; }
12291 $as_echo "#define SNPRINTF_CONST /* not const */" >>confdefs.h
12292
12293fi
12294rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12295
12296# Check for missing getpeereid (or equiv) support
12297NO_PEERCHECK=""
12298if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "xyes"; then
12299 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system supports SO_PEERCRED getsockopt" >&5
12300$as_echo_n "checking whether system supports SO_PEERCRED getsockopt... " >&6; }
12301 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12302/* end confdefs.h. */
12303
12304#include <sys/types.h>
12305#include <sys/socket.h>
12306int
12307main ()
12308{
12309int i = SO_PEERCRED;
12310 ;
12311 return 0;
12312}
12313_ACEOF
12314if ac_fn_c_try_compile "$LINENO"; then :
12315 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12316$as_echo "yes" >&6; }
12317
12318$as_echo "#define HAVE_SO_PEERCRED 1" >>confdefs.h
12319
12320
12321else
12322 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12323$as_echo "no" >&6; }
12324 NO_PEERCHECK=1
12325
12326fi
12327rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12328fi
12329
12330if test "x$ac_cv_func_mkdtemp" = "xyes" ; then
12331{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for (overly) strict mkstemp" >&5
12332$as_echo_n "checking for (overly) strict mkstemp... " >&6; }
12333if test "$cross_compiling" = yes; then :
12334
12335 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12336$as_echo "yes" >&6; }
12337 $as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h
12338
12339
12340
12341else
12342 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12343/* end confdefs.h. */
12344
12345#include <stdlib.h>
12346
12347int
12348main ()
12349{
12350
12351 char template[]="conftest.mkstemp-test";
12352 if (mkstemp(template) == -1)
12353 exit(1);
12354 unlink(template);
12355 exit(0);
12356
12357 ;
12358 return 0;
12359}
12360_ACEOF
12361if ac_fn_c_try_run "$LINENO"; then :
12362
12363 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12364$as_echo "no" >&6; }
12365
12366else
12367
12368 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12369$as_echo "yes" >&6; }
12370
12371$as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h
12372
12373
12374fi
12375rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12376 conftest.$ac_objext conftest.beam conftest.$ac_ext
12377fi
12378
12379fi
12380
12381if test ! -z "$check_for_openpty_ctty_bug"; then
12382 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if openpty correctly handles controlling tty" >&5
12383$as_echo_n "checking if openpty correctly handles controlling tty... " >&6; }
12384 if test "$cross_compiling" = yes; then :
12385
12386 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5
12387$as_echo "cross-compiling, assuming yes" >&6; }
12388
12389
12390else
12391 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12392/* end confdefs.h. */
12393
12394#include <stdio.h>
12395#include <sys/fcntl.h>
12396#include <sys/types.h>
12397#include <sys/wait.h>
12398
12399int
12400main ()
12401{
12402
12403 pid_t pid;
12404 int fd, ptyfd, ttyfd, status;
12405
12406 pid = fork();
12407 if (pid < 0) { /* failed */
12408 exit(1);
12409 } else if (pid > 0) { /* parent */
12410 waitpid(pid, &status, 0);
12411 if (WIFEXITED(status))
12412 exit(WEXITSTATUS(status));
12413 else
12414 exit(2);
12415 } else { /* child */
12416 close(0); close(1); close(2);
12417 setsid();
12418 openpty(&ptyfd, &ttyfd, NULL, NULL, NULL);
12419 fd = open("/dev/tty", O_RDWR | O_NOCTTY);
12420 if (fd >= 0)
12421 exit(3); /* Acquired ctty: broken */
12422 else
12423 exit(0); /* Did not acquire ctty: OK */
12424 }
12425
12426 ;
12427 return 0;
12428}
12429_ACEOF
12430if ac_fn_c_try_run "$LINENO"; then :
12431
12432 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12433$as_echo "yes" >&6; }
12434
12435else
12436
12437 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12438$as_echo "no" >&6; }
12439 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
12440
12441
12442fi
12443rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12444 conftest.$ac_objext conftest.beam conftest.$ac_ext
12445fi
12446
12447fi
12448
12449if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
12450 test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then
12451 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5
12452$as_echo_n "checking if getaddrinfo seems to work... " >&6; }
12453 if test "$cross_compiling" = yes; then :
12454
12455 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5
12456$as_echo "cross-compiling, assuming yes" >&6; }
12457
12458
12459else
12460 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12461/* end confdefs.h. */
12462
12463#include <stdio.h>
12464#include <sys/socket.h>
12465#include <netdb.h>
12466#include <errno.h>
12467#include <netinet/in.h>
12468
12469#define TEST_PORT "2222"
12470
12471int
12472main ()
12473{
12474
12475 int err, sock;
12476 struct addrinfo *gai_ai, *ai, hints;
12477 char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL;
12478
12479 memset(&hints, 0, sizeof(hints));
12480 hints.ai_family = PF_UNSPEC;
12481 hints.ai_socktype = SOCK_STREAM;
12482 hints.ai_flags = AI_PASSIVE;
12483
12484 err = getaddrinfo(name, TEST_PORT, &hints, &gai_ai);
12485 if (err != 0) {
12486 fprintf(stderr, "getaddrinfo failed (%s)", gai_strerror(err));
12487 exit(1);
12488 }
12489
12490 for (ai = gai_ai; ai != NULL; ai = ai->ai_next) {
12491 if (ai->ai_family != AF_INET6)
12492 continue;
12493
12494 err = getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop,
12495 sizeof(ntop), strport, sizeof(strport),
12496 NI_NUMERICHOST|NI_NUMERICSERV);
12497
12498 if (err != 0) {
12499 if (err == EAI_SYSTEM)
12500 perror("getnameinfo EAI_SYSTEM");
12501 else
12502 fprintf(stderr, "getnameinfo failed: %s\n",
12503 gai_strerror(err));
12504 exit(2);
12505 }
12506
12507 sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
12508 if (sock < 0)
12509 perror("socket");
12510 if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) {
12511 if (errno == EBADF)
12512 exit(3);
12513 }
12514 }
12515 exit(0);
12516
12517 ;
12518 return 0;
12519}
12520_ACEOF
12521if ac_fn_c_try_run "$LINENO"; then :
12522
12523 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12524$as_echo "yes" >&6; }
12525
12526else
12527
12528 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12529$as_echo "no" >&6; }
12530 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
12531
12532
12533fi
12534rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12535 conftest.$ac_objext conftest.beam conftest.$ac_ext
12536fi
12537
12538fi
12539
12540if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
12541 test "x$check_for_aix_broken_getaddrinfo" = "x1"; then
12542 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5
12543$as_echo_n "checking if getaddrinfo seems to work... " >&6; }
12544 if test "$cross_compiling" = yes; then :
12545
12546 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming no" >&5
12547$as_echo "cross-compiling, assuming no" >&6; }
12548
12549
12550else
12551 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12552/* end confdefs.h. */
12553
12554#include <stdio.h>
12555#include <sys/socket.h>
12556#include <netdb.h>
12557#include <errno.h>
12558#include <netinet/in.h>
12559
12560#define TEST_PORT "2222"
12561
12562int
12563main ()
12564{
12565
12566 int err, sock;
12567 struct addrinfo *gai_ai, *ai, hints;
12568 char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL;
12569
12570 memset(&hints, 0, sizeof(hints));
12571 hints.ai_family = PF_UNSPEC;
12572 hints.ai_socktype = SOCK_STREAM;
12573 hints.ai_flags = AI_PASSIVE;
12574
12575 err = getaddrinfo(name, TEST_PORT, &hints, &gai_ai);
12576 if (err != 0) {
12577 fprintf(stderr, "getaddrinfo failed (%s)", gai_strerror(err));
12578 exit(1);
12579 }
12580
12581 for (ai = gai_ai; ai != NULL; ai = ai->ai_next) {
12582 if (ai->ai_family != AF_INET && ai->ai_family != AF_INET6)
12583 continue;
12584
12585 err = getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop,
12586 sizeof(ntop), strport, sizeof(strport),
12587 NI_NUMERICHOST|NI_NUMERICSERV);
12588
12589 if (ai->ai_family == AF_INET && err != 0) {
12590 perror("getnameinfo");
12591 exit(2);
12592 }
12593 }
12594 exit(0);
12595
12596 ;
12597 return 0;
12598}
12599_ACEOF
12600if ac_fn_c_try_run "$LINENO"; then :
12601
12602 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12603$as_echo "yes" >&6; }
12604
12605$as_echo "#define AIX_GETNAMEINFO_HACK 1" >>confdefs.h
12606
12607
12608else
12609
12610 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12611$as_echo "no" >&6; }
12612 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
12613
12614
12615fi
12616rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12617 conftest.$ac_objext conftest.beam conftest.$ac_ext
12618fi
12619
12620fi
12621
12622if test "x$ac_cv_func_getaddrinfo" = "xyes"; then
12623 ac_fn_c_check_decl "$LINENO" "AI_NUMERICSERV" "ac_cv_have_decl_AI_NUMERICSERV" "#include <sys/types.h>
12624 #include <sys/socket.h>
12625 #include <netdb.h>
12626"
12627if test "x$ac_cv_have_decl_AI_NUMERICSERV" = xyes; then :
12628 ac_have_decl=1
12629else
12630 ac_have_decl=0
12631fi
12632
12633cat >>confdefs.h <<_ACEOF
12634#define HAVE_DECL_AI_NUMERICSERV $ac_have_decl
12635_ACEOF
12636
12637fi
12638
12639if test "x$check_for_conflicting_getspnam" = "x1"; then
12640 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for conflicting getspnam in shadow.h" >&5
12641$as_echo_n "checking for conflicting getspnam in shadow.h... " >&6; }
12642 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12643/* end confdefs.h. */
12644 #include <shadow.h>
12645int
12646main ()
12647{
12648 exit(0);
12649 ;
12650 return 0;
12651}
12652_ACEOF
12653if ac_fn_c_try_compile "$LINENO"; then :
12654
12655 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12656$as_echo "no" >&6; }
12657
12658else
12659
12660 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12661$as_echo "yes" >&6; }
12662
12663$as_echo "#define GETSPNAM_CONFLICTING_DEFS 1" >>confdefs.h
12664
12665
12666
12667fi
12668rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12669fi
12670
12671if test "x$ac_cv_func_strnvis" = "xyes"; then
12672 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnvis" >&5
12673$as_echo_n "checking for working strnvis... " >&6; }
12674 if test "$cross_compiling" = yes; then :
12675 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming broken" >&5
12676$as_echo "$as_me: WARNING: cross compiling: assuming broken" >&2;}
12677
12678$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
12679
12680
12681else
12682 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12683/* end confdefs.h. */
12684
12685#include <signal.h>
12686#include <stdlib.h>
12687#include <string.h>
12688#include <vis.h>
12689static void sighandler(int sig) { _exit(1); }
12690
12691int
12692main ()
12693{
12694
12695 char dst[16];
12696
12697 signal(SIGSEGV, sighandler);
12698 if (strnvis(dst, "src", 4, 0) && strcmp(dst, "src") == 0)
12699 exit(0);
12700 exit(1)
12701
12702 ;
12703 return 0;
12704}
12705_ACEOF
12706if ac_fn_c_try_run "$LINENO"; then :
12707 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12708$as_echo "yes" >&6; }
12709else
12710 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12711$as_echo "no" >&6; }
12712
12713$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
12714
12715fi
12716rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12717 conftest.$ac_objext conftest.beam conftest.$ac_ext
12718fi
12719
12720fi
12721
12722for ac_func in getpgrp
12723do :
12724 ac_fn_c_check_func "$LINENO" "getpgrp" "ac_cv_func_getpgrp"
12725if test "x$ac_cv_func_getpgrp" = xyes; then :
12726 cat >>confdefs.h <<_ACEOF
12727#define HAVE_GETPGRP 1
12728_ACEOF
12729
12730 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getpgrp accepts zero args" >&5
12731$as_echo_n "checking if getpgrp accepts zero args... " >&6; }
12732 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12733/* end confdefs.h. */
12734$ac_includes_default
12735int
12736main ()
12737{
12738 getpgrp();
12739 ;
12740 return 0;
12741}
12742_ACEOF
12743if ac_fn_c_try_compile "$LINENO"; then :
12744 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12745$as_echo "yes" >&6; }
12746
12747$as_echo "#define GETPGRP_VOID 1" >>confdefs.h
12748
12749else
12750 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12751$as_echo "no" >&6; }
12752
12753$as_echo "#define GETPGRP_VOID 0" >>confdefs.h
12754
12755
12756fi
12757rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12758
12759fi
12760done
12761
12762
12763# Search for OpenSSL
12764saved_CPPFLAGS="$CPPFLAGS"
12765saved_LDFLAGS="$LDFLAGS"
12766
12767# Check whether --with-ssl-dir was given.
12768if test "${with_ssl_dir+set}" = set; then :
12769 withval=$with_ssl_dir;
12770 if test "x$openssl" = "xno" ; then
12771 as_fn_error $? "cannot use --with-ssl-dir when OpenSSL disabled" "$LINENO" 5
12772 fi
12773 if test "x$withval" != "xno" ; then
12774 case "$withval" in
12775 # Relative paths
12776 ./*|../*) withval="`pwd`/$withval"
12777 esac
12778 if test -d "$withval/lib"; then
12779 if test -n "${rpath_opt}"; then
12780 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
12781 else
12782 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
12783 fi
12784 elif test -d "$withval/lib64"; then
12785 if test -n "${rpath_opt}"; then
12786 LDFLAGS="-L${withval}/lib64 ${rpath_opt}${withval}/lib64 ${LDFLAGS}"
12787 else
12788 LDFLAGS="-L${withval}/lib64 ${LDFLAGS}"
12789 fi
12790 else
12791 if test -n "${rpath_opt}"; then
12792 LDFLAGS="-L${withval} ${rpath_opt}${withval} ${LDFLAGS}"
12793 else
12794 LDFLAGS="-L${withval} ${LDFLAGS}"
12795 fi
12796 fi
12797 if test -d "$withval/include"; then
12798 CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
12799 else
12800 CPPFLAGS="-I${withval} ${CPPFLAGS}"
12801 fi
12802 fi
12803
12804
12805fi
12806
12807
12808
12809# Check whether --with-openssl-header-check was given.
12810if test "${with_openssl_header_check+set}" = set; then :
12811 withval=$with_openssl_header_check;
12812 if test "x$withval" = "xno" ; then
12813 openssl_check_nonfatal=1
12814 fi
12815
12816
12817fi
12818
12819
12820openssl_engine=no
12821
12822# Check whether --with-ssl-engine was given.
12823if test "${with_ssl_engine+set}" = set; then :
12824 withval=$with_ssl_engine;
12825 if test "x$withval" != "xno" ; then
12826 if test "x$openssl" = "xno" ; then
12827 as_fn_error $? "cannot use --with-ssl-engine when OpenSSL disabled" "$LINENO" 5
12828 fi
12829 openssl_engine=yes
12830 fi
12831
12832
12833fi
12834
12835
12836if test "x$openssl" = "xyes" ; then
12837 LIBS="-lcrypto $LIBS"
12838 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12839/* end confdefs.h. */
12840
12841/* Override any GCC internal prototype to avoid an error.
12842 Use char because int might match the return type of a GCC
12843 builtin and then its argument prototype would still apply. */
12844#ifdef __cplusplus
12845extern "C"
12846#endif
12847char RAND_add ();
12848int
12849main ()
12850{
12851return RAND_add ();
12852 ;
12853 return 0;
12854}
12855_ACEOF
12856if ac_fn_c_try_link "$LINENO"; then :
12857
12858else
12859 as_fn_error $? "*** working libcrypto not found, check config.log" "$LINENO" 5
12860fi
12861rm -f core conftest.err conftest.$ac_objext \
12862 conftest$ac_exeext conftest.$ac_ext
12863 ac_fn_c_check_header_mongrel "$LINENO" "openssl/opensslv.h" "ac_cv_header_openssl_opensslv_h" "$ac_includes_default"
12864if test "x$ac_cv_header_openssl_opensslv_h" = xyes; then :
12865
12866else
12867 as_fn_error $? "*** OpenSSL headers missing - please install first or check config.log ***" "$LINENO" 5
12868fi
12869
12870
12871
12872 # Determine OpenSSL header version
12873 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL header version" >&5
12874$as_echo_n "checking OpenSSL header version... " >&6; }
12875 if test "$cross_compiling" = yes; then :
12876
12877 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
12878$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
12879
12880
12881else
12882 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12883/* end confdefs.h. */
12884
12885 #include <stdlib.h>
12886 #include <stdio.h>
12887 #include <string.h>
12888 #include <openssl/opensslv.h>
12889 #define DATA "conftest.sslincver"
12890
12891int
12892main ()
12893{
12894
12895 FILE *fd;
12896 int rc;
12897
12898 fd = fopen(DATA,"w");
12899 if(fd == NULL)
12900 exit(1);
12901
12902 if ((rc = fprintf(fd, "%08lx (%s)\n",
12903 (unsigned long)OPENSSL_VERSION_NUMBER,
12904 OPENSSL_VERSION_TEXT)) < 0)
12905 exit(1);
12906
12907 exit(0);
12908
12909 ;
12910 return 0;
12911}
12912_ACEOF
12913if ac_fn_c_try_run "$LINENO"; then :
12914
12915 ssl_header_ver=`cat conftest.sslincver`
12916 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_header_ver" >&5
12917$as_echo "$ssl_header_ver" >&6; }
12918
12919else
12920
12921 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
12922$as_echo "not found" >&6; }
12923 as_fn_error $? "OpenSSL version header not found." "$LINENO" 5
12924
12925fi
12926rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12927 conftest.$ac_objext conftest.beam conftest.$ac_ext
12928fi
12929
12930
12931 # Determining OpenSSL library version is version dependent.
12932 for ac_func in OpenSSL_version OpenSSL_version_num
12933do :
12934 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12935ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12936if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12937 cat >>confdefs.h <<_ACEOF
12938#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12939_ACEOF
12940
12941fi
12942done
12943
12944
12945 # Determine OpenSSL library version
12946 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL library version" >&5
12947$as_echo_n "checking OpenSSL library version... " >&6; }
12948 if test "$cross_compiling" = yes; then :
12949
12950 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
12951$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
12952
12953
12954else
12955 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12956/* end confdefs.h. */
12957
12958 #include <stdio.h>
12959 #include <string.h>
12960 #include <openssl/opensslv.h>
12961 #include <openssl/crypto.h>
12962 #define DATA "conftest.ssllibver"
12963
12964int
12965main ()
12966{
12967
12968 FILE *fd;
12969 int rc;
12970
12971 fd = fopen(DATA,"w");
12972 if(fd == NULL)
12973 exit(1);
12974#ifndef OPENSSL_VERSION
12975# define OPENSSL_VERSION SSLEAY_VERSION
12976#endif
12977#ifndef HAVE_OPENSSL_VERSION
12978# define OpenSSL_version SSLeay_version
12979#endif
12980#ifndef HAVE_OPENSSL_VERSION_NUM
12981# define OpenSSL_version_num SSLeay
12982#endif
12983 if ((rc = fprintf(fd, "%08lx (%s)\n",
12984 (unsigned long)OpenSSL_version_num(),
12985 OpenSSL_version(OPENSSL_VERSION))) < 0)
12986 exit(1);
12987
12988 exit(0);
12989
12990 ;
12991 return 0;
12992}
12993_ACEOF
12994if ac_fn_c_try_run "$LINENO"; then :
12995
12996 ssl_library_ver=`cat conftest.ssllibver`
12997 # Check version is supported.
12998 case "$ssl_library_ver" in
12999 10000*|0*)
13000 as_fn_error $? "OpenSSL >= 1.0.1 required (have \"$ssl_library_ver\")" "$LINENO" 5
13001 ;;
13002 100*) ;; # 1.0.x
13003 101000[0123456]*)
13004 # https://github.com/openssl/openssl/pull/4613
13005 as_fn_error $? "OpenSSL 1.1.x versions prior to 1.1.0g have a bug that breaks their use with OpenSSH (have \"$ssl_library_ver\")" "$LINENO" 5
13006 ;;
13007 101*) ;; # 1.1.x
13008 200*) ;; # LibreSSL
13009 300*) ;; # OpenSSL development branch.
13010 *)
13011 as_fn_error $? "Unknown/unsupported OpenSSL version (\"$ssl_library_ver\")" "$LINENO" 5
13012 ;;
13013 esac
13014 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_library_ver" >&5
13015$as_echo "$ssl_library_ver" >&6; }
13016
13017else
13018
13019 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
13020$as_echo "not found" >&6; }
13021 as_fn_error $? "OpenSSL library not found." "$LINENO" 5
13022
13023fi
13024rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13025 conftest.$ac_objext conftest.beam conftest.$ac_ext
13026fi
13027
13028
13029 # Sanity check OpenSSL headers
13030 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's headers match the library" >&5
13031$as_echo_n "checking whether OpenSSL's headers match the library... " >&6; }
13032 if test "$cross_compiling" = yes; then :
13033
13034 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
13035$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
13036
13037
13038else
13039 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13040/* end confdefs.h. */
13041
13042 #include <string.h>
13043 #include <openssl/opensslv.h>
13044 #include <openssl/crypto.h>
13045
13046int
13047main ()
13048{
13049
13050#ifndef HAVE_OPENSSL_VERSION_NUM
13051# define OpenSSL_version_num SSLeay
13052#endif
13053 exit(OpenSSL_version_num() == OPENSSL_VERSION_NUMBER ? 0 : 1);
13054
13055 ;
13056 return 0;
13057}
13058_ACEOF
13059if ac_fn_c_try_run "$LINENO"; then :
13060
13061 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13062$as_echo "yes" >&6; }
13063
13064else
13065
13066 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13067$as_echo "no" >&6; }
13068 if test "x$openssl_check_nonfatal" = "x"; then
13069 as_fn_error $? "Your OpenSSL headers do not match your
13070 library. Check config.log for details.
13071 If you are sure your installation is consistent, you can disable the check
13072 by running \"./configure --without-openssl-header-check\".
13073 Also see contrib/findssl.sh for help identifying header/library mismatches.
13074 " "$LINENO" 5
13075 else
13076 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your OpenSSL headers do not match your
13077 library. Check config.log for details.
13078 Also see contrib/findssl.sh for help identifying header/library mismatches." >&5
13079$as_echo "$as_me: WARNING: Your OpenSSL headers do not match your
13080 library. Check config.log for details.
13081 Also see contrib/findssl.sh for help identifying header/library mismatches." >&2;}
13082 fi
13083
13084fi
13085rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13086 conftest.$ac_objext conftest.beam conftest.$ac_ext
13087fi
13088
13089
13090 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL functions will link" >&5
13091$as_echo_n "checking if programs using OpenSSL functions will link... " >&6; }
13092 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13093/* end confdefs.h. */
13094 #include <openssl/err.h>
13095int
13096main ()
13097{
13098 ERR_load_crypto_strings();
13099 ;
13100 return 0;
13101}
13102_ACEOF
13103if ac_fn_c_try_link "$LINENO"; then :
13104
13105 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13106$as_echo "yes" >&6; }
13107
13108else
13109
13110 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13111$as_echo "no" >&6; }
13112 saved_LIBS="$LIBS"
13113 LIBS="$LIBS -ldl"
13114 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL need -ldl" >&5
13115$as_echo_n "checking if programs using OpenSSL need -ldl... " >&6; }
13116 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13117/* end confdefs.h. */
13118 #include <openssl/err.h>
13119int
13120main ()
13121{
13122 ERR_load_crypto_strings();
13123 ;
13124 return 0;
13125}
13126_ACEOF
13127if ac_fn_c_try_link "$LINENO"; then :
13128
13129 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13130$as_echo "yes" >&6; }
13131
13132else
13133
13134 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13135$as_echo "no" >&6; }
13136 LIBS="$saved_LIBS"
13137
13138
13139fi
13140rm -f core conftest.err conftest.$ac_objext \
13141 conftest$ac_exeext conftest.$ac_ext
13142
13143
13144fi
13145rm -f core conftest.err conftest.$ac_objext \
13146 conftest$ac_exeext conftest.$ac_ext
13147
13148 for ac_func in \
13149 BN_is_prime_ex \
13150 DSA_generate_parameters_ex \
13151 EVP_CIPHER_CTX_ctrl \
13152 EVP_DigestFinal_ex \
13153 EVP_DigestInit_ex \
13154 EVP_MD_CTX_cleanup \
13155 EVP_MD_CTX_copy_ex \
13156 EVP_MD_CTX_init \
13157 HMAC_CTX_init \
13158 RSA_generate_key_ex \
13159 RSA_get_default_method \
13160
13161do :
13162 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13163ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13164if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13165 cat >>confdefs.h <<_ACEOF
13166#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13167_ACEOF
13168
13169fi
13170done
13171
13172
13173 # OpenSSL_add_all_algorithms may be a macro.
13174 ac_fn_c_check_func "$LINENO" "OpenSSL_add_all_algorithms" "ac_cv_func_OpenSSL_add_all_algorithms"
13175if test "x$ac_cv_func_OpenSSL_add_all_algorithms" = xyes; then :
13176
13177$as_echo "#define HAVE_OPENSSL_ADD_ALL_ALGORITHMS 1" >>confdefs.h
13178
13179else
13180 ac_fn_c_check_decl "$LINENO" "OpenSSL_add_all_algorithms" "ac_cv_have_decl_OpenSSL_add_all_algorithms" "#include <openssl/evp.h>
13181
13182"
13183if test "x$ac_cv_have_decl_OpenSSL_add_all_algorithms" = xyes; then :
13184
13185$as_echo "#define HAVE_OPENSSL_ADD_ALL_ALGORITHMS 1" >>confdefs.h
13186
13187fi
13188
13189
13190fi
13191
13192
13193 # LibreSSL/OpenSSL 1.1x API
13194 for ac_func in \
13195 OPENSSL_init_crypto \
13196 DH_get0_key \
13197 DH_get0_pqg \
13198 DH_set0_key \
13199 DH_set_length \
13200 DH_set0_pqg \
13201 DSA_get0_key \
13202 DSA_get0_pqg \
13203 DSA_set0_key \
13204 DSA_set0_pqg \
13205 DSA_SIG_get0 \
13206 DSA_SIG_set0 \
13207 ECDSA_SIG_get0 \
13208 ECDSA_SIG_set0 \
13209 EVP_CIPHER_CTX_iv \
13210 EVP_CIPHER_CTX_iv_noconst \
13211 EVP_CIPHER_CTX_get_iv \
13212 EVP_CIPHER_CTX_set_iv \
13213 RSA_get0_crt_params \
13214 RSA_get0_factors \
13215 RSA_get0_key \
13216 RSA_set0_crt_params \
13217 RSA_set0_factors \
13218 RSA_set0_key \
13219 RSA_meth_free \
13220 RSA_meth_dup \
13221 RSA_meth_set1_name \
13222 RSA_meth_get_finish \
13223 RSA_meth_set_priv_enc \
13224 RSA_meth_set_priv_dec \
13225 RSA_meth_set_finish \
13226 EVP_PKEY_get0_RSA \
13227 EVP_MD_CTX_new \
13228 EVP_MD_CTX_free \
13229
13230do :
13231 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13232ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13233if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13234 cat >>confdefs.h <<_ACEOF
13235#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13236_ACEOF
13237
13238fi
13239done
13240
13241
13242 if test "x$openssl_engine" = "xyes" ; then
13243 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL ENGINE support" >&5
13244$as_echo_n "checking for OpenSSL ENGINE support... " >&6; }
13245 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13246/* end confdefs.h. */
13247
13248 #include <openssl/engine.h>
13249
13250int
13251main ()
13252{
13253
13254 ENGINE_load_builtin_engines();
13255 ENGINE_register_all_complete();
13256
13257 ;
13258 return 0;
13259}
13260_ACEOF
13261if ac_fn_c_try_compile "$LINENO"; then :
13262 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13263$as_echo "yes" >&6; }
13264
13265$as_echo "#define USE_OPENSSL_ENGINE 1" >>confdefs.h
13266
13267
13268else
13269 as_fn_error $? "OpenSSL ENGINE support not found" "$LINENO" 5
13270
13271fi
13272rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
13273 fi
13274
13275 # Check for OpenSSL without EVP_aes_{192,256}_cbc
13276 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has crippled AES support" >&5
13277$as_echo_n "checking whether OpenSSL has crippled AES support... " >&6; }
13278 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13279/* end confdefs.h. */
13280
13281 #include <string.h>
13282 #include <openssl/evp.h>
13283
13284int
13285main ()
13286{
13287
13288 exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL);
13289
13290 ;
13291 return 0;
13292}
13293_ACEOF
13294if ac_fn_c_try_link "$LINENO"; then :
13295
13296 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13297$as_echo "no" >&6; }
13298
13299else
13300
13301 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13302$as_echo "yes" >&6; }
13303
13304$as_echo "#define OPENSSL_LOBOTOMISED_AES 1" >>confdefs.h
13305
13306
13307
13308fi
13309rm -f core conftest.err conftest.$ac_objext \
13310 conftest$ac_exeext conftest.$ac_ext
13311
13312 # Check for OpenSSL with EVP_aes_*ctr
13313 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES CTR via EVP" >&5
13314$as_echo_n "checking whether OpenSSL has AES CTR via EVP... " >&6; }
13315 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13316/* end confdefs.h. */
13317
13318 #include <string.h>
13319 #include <openssl/evp.h>
13320
13321int
13322main ()
13323{
13324
13325 exit(EVP_aes_128_ctr() == NULL ||
13326 EVP_aes_192_cbc() == NULL ||
13327 EVP_aes_256_cbc() == NULL);
13328
13329 ;
13330 return 0;
13331}
13332_ACEOF
13333if ac_fn_c_try_link "$LINENO"; then :
13334
13335 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13336$as_echo "yes" >&6; }
13337
13338$as_echo "#define OPENSSL_HAVE_EVPCTR 1" >>confdefs.h
13339
13340
13341else
13342
13343 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13344$as_echo "no" >&6; }
13345
13346
13347fi
13348rm -f core conftest.err conftest.$ac_objext \
13349 conftest$ac_exeext conftest.$ac_ext
13350
13351 # Check for OpenSSL with EVP_aes_*gcm
13352 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES GCM via EVP" >&5
13353$as_echo_n "checking whether OpenSSL has AES GCM via EVP... " >&6; }
13354 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13355/* end confdefs.h. */
13356
13357 #include <string.h>
13358 #include <openssl/evp.h>
13359
13360int
13361main ()
13362{
13363
13364 exit(EVP_aes_128_gcm() == NULL ||
13365 EVP_aes_256_gcm() == NULL ||
13366 EVP_CTRL_GCM_SET_IV_FIXED == 0 ||
13367 EVP_CTRL_GCM_IV_GEN == 0 ||
13368 EVP_CTRL_GCM_SET_TAG == 0 ||
13369 EVP_CTRL_GCM_GET_TAG == 0 ||
13370 EVP_CIPHER_CTX_ctrl(NULL, 0, 0, NULL) == 0);
13371
13372 ;
13373 return 0;
13374}
13375_ACEOF
13376if ac_fn_c_try_link "$LINENO"; then :
13377
13378 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13379$as_echo "yes" >&6; }
13380
13381$as_echo "#define OPENSSL_HAVE_EVPGCM 1" >>confdefs.h
13382
13383
13384else
13385
13386 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13387$as_echo "no" >&6; }
13388 unsupported_algorithms="$unsupported_cipers \
13389 aes128-gcm@openssh.com \
13390 aes256-gcm@openssh.com"
13391
13392
13393fi
13394rm -f core conftest.err conftest.$ac_objext \
13395 conftest$ac_exeext conftest.$ac_ext
13396
13397 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if EVP_DigestUpdate returns an int" >&5
13398$as_echo_n "checking if EVP_DigestUpdate returns an int... " >&6; }
13399 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13400/* end confdefs.h. */
13401
13402 #include <string.h>
13403 #include <openssl/evp.h>
13404
13405int
13406main ()
13407{
13408
13409 if(EVP_DigestUpdate(NULL, NULL,0))
13410 exit(0);
13411
13412 ;
13413 return 0;
13414}
13415_ACEOF
13416if ac_fn_c_try_link "$LINENO"; then :
13417
13418 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13419$as_echo "yes" >&6; }
13420
13421else
13422
13423 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13424$as_echo "no" >&6; }
13425
13426$as_echo "#define OPENSSL_EVP_DIGESTUPDATE_VOID 1" >>confdefs.h
13427
13428
13429
13430fi
13431rm -f core conftest.err conftest.$ac_objext \
13432 conftest$ac_exeext conftest.$ac_ext
13433
13434 # Some systems want crypt() from libcrypt, *not* the version in OpenSSL,
13435 # because the system crypt() is more featureful.
13436 if test "x$check_for_libcrypt_before" = "x1"; then
13437 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13438$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13439if ${ac_cv_lib_crypt_crypt+:} false; then :
13440 $as_echo_n "(cached) " >&6
13441else
13442 ac_check_lib_save_LIBS=$LIBS
13443LIBS="-lcrypt $LIBS"
13444cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13445/* end confdefs.h. */
13446
13447/* Override any GCC internal prototype to avoid an error.
13448 Use char because int might match the return type of a GCC
13449 builtin and then its argument prototype would still apply. */
13450#ifdef __cplusplus
13451extern "C"
13452#endif
13453char crypt ();
13454int
13455main ()
13456{
13457return crypt ();
13458 ;
13459 return 0;
13460}
13461_ACEOF
13462if ac_fn_c_try_link "$LINENO"; then :
13463 ac_cv_lib_crypt_crypt=yes
13464else
13465 ac_cv_lib_crypt_crypt=no
13466fi
13467rm -f core conftest.err conftest.$ac_objext \
13468 conftest$ac_exeext conftest.$ac_ext
13469LIBS=$ac_check_lib_save_LIBS
13470fi
13471{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13472$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13473if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13474 cat >>confdefs.h <<_ACEOF
13475#define HAVE_LIBCRYPT 1
13476_ACEOF
13477
13478 LIBS="-lcrypt $LIBS"
13479
13480fi
13481
13482 fi
13483
13484 # Some Linux systems (Slackware) need crypt() from libcrypt, *not* the
13485 # version in OpenSSL.
13486 if test "x$check_for_libcrypt_later" = "x1"; then
13487 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13488$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13489if ${ac_cv_lib_crypt_crypt+:} false; then :
13490 $as_echo_n "(cached) " >&6
13491else
13492 ac_check_lib_save_LIBS=$LIBS
13493LIBS="-lcrypt $LIBS"
13494cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13495/* end confdefs.h. */
13496
13497/* Override any GCC internal prototype to avoid an error.
13498 Use char because int might match the return type of a GCC
13499 builtin and then its argument prototype would still apply. */
13500#ifdef __cplusplus
13501extern "C"
13502#endif
13503char crypt ();
13504int
13505main ()
13506{
13507return crypt ();
13508 ;
13509 return 0;
13510}
13511_ACEOF
13512if ac_fn_c_try_link "$LINENO"; then :
13513 ac_cv_lib_crypt_crypt=yes
13514else
13515 ac_cv_lib_crypt_crypt=no
13516fi
13517rm -f core conftest.err conftest.$ac_objext \
13518 conftest$ac_exeext conftest.$ac_ext
13519LIBS=$ac_check_lib_save_LIBS
13520fi
13521{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13522$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13523if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13524 LIBS="$LIBS -lcrypt"
13525fi
13526
13527 fi
13528 for ac_func in crypt DES_crypt
13529do :
13530 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13531ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13532if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13533 cat >>confdefs.h <<_ACEOF
13534#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13535_ACEOF
13536
13537fi
13538done
13539
13540
13541 # Check for SHA256, SHA384 and SHA512 support in OpenSSL
13542 for ac_func in EVP_sha256 EVP_sha384 EVP_sha512
13543do :
13544 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13545ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13546if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13547 cat >>confdefs.h <<_ACEOF
13548#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13549_ACEOF
13550
13551fi
13552done
13553
13554
13555 # Check complete ECC support in OpenSSL
13556 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_X9_62_prime256v1" >&5
13557$as_echo_n "checking whether OpenSSL has NID_X9_62_prime256v1... " >&6; }
13558 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13559/* end confdefs.h. */
13560
13561 #include <openssl/ec.h>
13562 #include <openssl/ecdh.h>
13563 #include <openssl/ecdsa.h>
13564 #include <openssl/evp.h>
13565 #include <openssl/objects.h>
13566 #include <openssl/opensslv.h>
13567
13568int
13569main ()
13570{
13571
13572 EC_KEY *e = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
13573 const EVP_MD *m = EVP_sha256(); /* We need this too */
13574
13575 ;
13576 return 0;
13577}
13578_ACEOF
13579if ac_fn_c_try_link "$LINENO"; then :
13580 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13581$as_echo "yes" >&6; }
13582 enable_nistp256=1
13583else
13584 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13585$as_echo "no" >&6; }
13586
13587fi
13588rm -f core conftest.err conftest.$ac_objext \
13589 conftest$ac_exeext conftest.$ac_ext
13590
13591 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp384r1" >&5
13592$as_echo_n "checking whether OpenSSL has NID_secp384r1... " >&6; }
13593 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13594/* end confdefs.h. */
13595
13596 #include <openssl/ec.h>
13597 #include <openssl/ecdh.h>
13598 #include <openssl/ecdsa.h>
13599 #include <openssl/evp.h>
13600 #include <openssl/objects.h>
13601 #include <openssl/opensslv.h>
13602
13603int
13604main ()
13605{
13606
13607 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp384r1);
13608 const EVP_MD *m = EVP_sha384(); /* We need this too */
13609
13610 ;
13611 return 0;
13612}
13613_ACEOF
13614if ac_fn_c_try_link "$LINENO"; then :
13615 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13616$as_echo "yes" >&6; }
13617 enable_nistp384=1
13618else
13619 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13620$as_echo "no" >&6; }
13621
13622fi
13623rm -f core conftest.err conftest.$ac_objext \
13624 conftest$ac_exeext conftest.$ac_ext
13625
13626 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp521r1" >&5
13627$as_echo_n "checking whether OpenSSL has NID_secp521r1... " >&6; }
13628 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13629/* end confdefs.h. */
13630
13631 #include <openssl/ec.h>
13632 #include <openssl/ecdh.h>
13633 #include <openssl/ecdsa.h>
13634 #include <openssl/evp.h>
13635 #include <openssl/objects.h>
13636 #include <openssl/opensslv.h>
13637
13638int
13639main ()
13640{
13641
13642 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1);
13643 const EVP_MD *m = EVP_sha512(); /* We need this too */
13644
13645 ;
13646 return 0;
13647}
13648_ACEOF
13649if ac_fn_c_try_link "$LINENO"; then :
13650 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13651$as_echo "yes" >&6; }
13652 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if OpenSSL's NID_secp521r1 is functional" >&5
13653$as_echo_n "checking if OpenSSL's NID_secp521r1 is functional... " >&6; }
13654 if test "$cross_compiling" = yes; then :
13655 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross-compiling: assuming yes" >&5
13656$as_echo "$as_me: WARNING: cross-compiling: assuming yes" >&2;}
13657 enable_nistp521=1
13658
13659else
13660 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13661/* end confdefs.h. */
13662
13663 #include <openssl/ec.h>
13664 #include <openssl/ecdh.h>
13665 #include <openssl/ecdsa.h>
13666 #include <openssl/evp.h>
13667 #include <openssl/objects.h>
13668 #include <openssl/opensslv.h>
13669
13670int
13671main ()
13672{
13673
13674 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1);
13675 const EVP_MD *m = EVP_sha512(); /* We need this too */
13676 exit(e == NULL || m == NULL);
13677
13678 ;
13679 return 0;
13680}
13681_ACEOF
13682if ac_fn_c_try_run "$LINENO"; then :
13683 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13684$as_echo "yes" >&6; }
13685 enable_nistp521=1
13686else
13687 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13688$as_echo "no" >&6; }
13689fi
13690rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13691 conftest.$ac_objext conftest.beam conftest.$ac_ext
13692fi
13693
13694else
13695 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13696$as_echo "no" >&6; }
13697
13698fi
13699rm -f core conftest.err conftest.$ac_objext \
13700 conftest$ac_exeext conftest.$ac_ext
13701
13702 COMMENT_OUT_ECC="#no ecc#"
13703 TEST_SSH_ECC=no
13704
13705 if test x$enable_nistp256 = x1 || test x$enable_nistp384 = x1 || \
13706 test x$enable_nistp521 = x1; then
13707
13708$as_echo "#define OPENSSL_HAS_ECC 1" >>confdefs.h
13709
13710 for ac_func in EC_KEY_METHOD_new
13711do :
13712 ac_fn_c_check_func "$LINENO" "EC_KEY_METHOD_new" "ac_cv_func_EC_KEY_METHOD_new"
13713if test "x$ac_cv_func_EC_KEY_METHOD_new" = xyes; then :
13714 cat >>confdefs.h <<_ACEOF
13715#define HAVE_EC_KEY_METHOD_NEW 1
13716_ACEOF
13717
13718fi
13719done
13720
13721 openssl_ecc=yes
13722 else
13723 openssl_ecc=no
13724 fi
13725 if test x$enable_nistp256 = x1; then
13726
13727$as_echo "#define OPENSSL_HAS_NISTP256 1" >>confdefs.h
13728
13729 TEST_SSH_ECC=yes
13730 COMMENT_OUT_ECC=""
13731 else
13732 unsupported_algorithms="$unsupported_algorithms \
13733 ecdsa-sha2-nistp256 \
13734 ecdh-sha2-nistp256 \
13735 ecdsa-sha2-nistp256-cert-v01@openssh.com"
13736 fi
13737 if test x$enable_nistp384 = x1; then
13738
13739$as_echo "#define OPENSSL_HAS_NISTP384 1" >>confdefs.h
13740
13741 TEST_SSH_ECC=yes
13742 COMMENT_OUT_ECC=""
13743 else
13744 unsupported_algorithms="$unsupported_algorithms \
13745 ecdsa-sha2-nistp384 \
13746 ecdh-sha2-nistp384 \
13747 ecdsa-sha2-nistp384-cert-v01@openssh.com"
13748 fi
13749 if test x$enable_nistp521 = x1; then
13750
13751$as_echo "#define OPENSSL_HAS_NISTP521 1" >>confdefs.h
13752
13753 TEST_SSH_ECC=yes
13754 COMMENT_OUT_ECC=""
13755 else
13756 unsupported_algorithms="$unsupported_algorithms \
13757 ecdh-sha2-nistp521 \
13758 ecdsa-sha2-nistp521 \
13759 ecdsa-sha2-nistp521-cert-v01@openssh.com"
13760 fi
13761
13762
13763
13764else
13765 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13766$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13767if ${ac_cv_lib_crypt_crypt+:} false; then :
13768 $as_echo_n "(cached) " >&6
13769else
13770 ac_check_lib_save_LIBS=$LIBS
13771LIBS="-lcrypt $LIBS"
13772cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13773/* end confdefs.h. */
13774
13775/* Override any GCC internal prototype to avoid an error.
13776 Use char because int might match the return type of a GCC
13777 builtin and then its argument prototype would still apply. */
13778#ifdef __cplusplus
13779extern "C"
13780#endif
13781char crypt ();
13782int
13783main ()
13784{
13785return crypt ();
13786 ;
13787 return 0;
13788}
13789_ACEOF
13790if ac_fn_c_try_link "$LINENO"; then :
13791 ac_cv_lib_crypt_crypt=yes
13792else
13793 ac_cv_lib_crypt_crypt=no
13794fi
13795rm -f core conftest.err conftest.$ac_objext \
13796 conftest$ac_exeext conftest.$ac_ext
13797LIBS=$ac_check_lib_save_LIBS
13798fi
13799{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13800$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13801if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13802 LIBS="$LIBS -lcrypt"
13803fi
13804
13805 for ac_func in crypt
13806do :
13807 ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt"
13808if test "x$ac_cv_func_crypt" = xyes; then :
13809 cat >>confdefs.h <<_ACEOF
13810#define HAVE_CRYPT 1
13811_ACEOF
13812
13813fi
13814done
13815
13816fi
13817
13818# PKCS11/U2F depend on OpenSSL and dlopen().
13819enable_pkcs11=yes
13820enable_sk=yes
13821if test "x$openssl" != "xyes" ; then
13822 enable_pkcs11="disabled; missing libcrypto"
13823 enable_sk="disabled; missing libcrypto"
13824fi
13825if test "x$openssl_ecc" != "xyes" ; then
13826 enable_sk="disabled; OpenSSL has no ECC support"
13827fi
13828if test "x$ac_cv_func_dlopen" != "xyes" ; then
13829 enable_pkcs11="disabled; missing dlopen(3)"
13830 enable_sk="disabled; missing dlopen(3)"
13831fi
13832if test "x$ac_cv_have_decl_RTLD_NOW" != "xyes" ; then
13833 enable_pkcs11="disabled; missing RTLD_NOW"
13834 enable_sk="disabled; missing RTLD_NOW"
13835fi
13836if test ! -z "$disable_pkcs11" ; then
13837 enable_pkcs11="disabled by user"
13838fi
13839if test ! -z "$disable_sk" ; then
13840 enable_sk="disabled by user"
13841fi
13842
13843{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable PKCS11" >&5
13844$as_echo_n "checking whether to enable PKCS11... " >&6; }
13845if test "x$enable_pkcs11" = "xyes" ; then
13846
13847$as_echo "#define ENABLE_PKCS11 /**/" >>confdefs.h
13848
13849fi
13850{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_pkcs11" >&5
13851$as_echo "$enable_pkcs11" >&6; }
13852
13853{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable U2F" >&5
13854$as_echo_n "checking whether to enable U2F... " >&6; }
13855if test "x$enable_sk" = "xyes" ; then
13856
13857$as_echo "#define ENABLE_SK /**/" >>confdefs.h
13858
13859fi
13860{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_sk" >&5
13861$as_echo "$enable_sk" >&6; }
13862
13863# Now check for built-in security key support.
13864if test "x$enable_sk" = "xyes" -a "x$enable_sk_internal" = "xyes" ; then
13865 if test -n "$ac_tool_prefix"; then
13866 # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
13867set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
13868{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
13869$as_echo_n "checking for $ac_word... " >&6; }
13870if ${ac_cv_path_PKGCONFIG+:} false; then :
13871 $as_echo_n "(cached) " >&6
13872else
13873 case $PKGCONFIG in
13874 [\\/]* | ?:[\\/]*)
13875 ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
13876 ;;
13877 *)
13878 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
13879for as_dir in $PATH
13880do
13881 IFS=$as_save_IFS
13882 test -z "$as_dir" && as_dir=.
13883 for ac_exec_ext in '' $ac_executable_extensions; do
13884 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
13885 ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
13886 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
13887 break 2
13888 fi
13889done
13890 done
13891IFS=$as_save_IFS
13892
13893 ;;
13894esac
13895fi
13896PKGCONFIG=$ac_cv_path_PKGCONFIG
13897if test -n "$PKGCONFIG"; then
13898 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
13899$as_echo "$PKGCONFIG" >&6; }
13900else
13901 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13902$as_echo "no" >&6; }
13903fi
13904
13905
13906fi
13907if test -z "$ac_cv_path_PKGCONFIG"; then
13908 ac_pt_PKGCONFIG=$PKGCONFIG
13909 # Extract the first word of "pkg-config", so it can be a program name with args.
13910set dummy pkg-config; ac_word=$2
13911{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
13912$as_echo_n "checking for $ac_word... " >&6; }
13913if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
13914 $as_echo_n "(cached) " >&6
13915else
13916 case $ac_pt_PKGCONFIG in
13917 [\\/]* | ?:[\\/]*)
13918 ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
13919 ;;
13920 *)
13921 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
13922for as_dir in $PATH
13923do
13924 IFS=$as_save_IFS
13925 test -z "$as_dir" && as_dir=.
13926 for ac_exec_ext in '' $ac_executable_extensions; do
13927 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
13928 ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
13929 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
13930 break 2
13931 fi
13932done
13933 done
13934IFS=$as_save_IFS
13935
13936 ;;
13937esac
13938fi
13939ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
13940if test -n "$ac_pt_PKGCONFIG"; then
13941 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
13942$as_echo "$ac_pt_PKGCONFIG" >&6; }
13943else
13944 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13945$as_echo "no" >&6; }
13946fi
13947
13948 if test "x$ac_pt_PKGCONFIG" = x; then
13949 PKGCONFIG="no"
13950 else
13951 case $cross_compiling:$ac_tool_warned in
13952yes:)
13953{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
13954$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
13955ac_tool_warned=yes ;;
13956esac
13957 PKGCONFIG=$ac_pt_PKGCONFIG
13958 fi
13959else
13960 PKGCONFIG="$ac_cv_path_PKGCONFIG"
13961fi
13962
13963 use_pkgconfig_for_libfido2=
13964 if test "x$PKGCONFIG" != "xno"; then
13965 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $PKGCONFIG knows about libfido2" >&5
13966$as_echo_n "checking if $PKGCONFIG knows about libfido2... " >&6; }
13967 if "$PKGCONFIG" libfido2; then
13968 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13969$as_echo "yes" >&6; }
13970 use_pkgconfig_for_libfido2=yes
13971 else
13972 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13973$as_echo "no" >&6; }
13974 fi
13975 fi
13976 if test "x$use_pkgconfig_for_libfido2" = "xyes"; then
13977 LIBFIDO2=`$PKGCONFIG --libs libfido2`
13978 CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags libfido2`"
13979 else
13980 LIBFIDO2="-lfido2 -lcbor"
13981 fi
13982 OTHERLIBS=`echo $LIBFIDO2 | sed 's/-lfido2//'`
13983 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fido_init in -lfido2" >&5
13984$as_echo_n "checking for fido_init in -lfido2... " >&6; }
13985if ${ac_cv_lib_fido2_fido_init+:} false; then :
13986 $as_echo_n "(cached) " >&6
13987else
13988 ac_check_lib_save_LIBS=$LIBS
13989LIBS="-lfido2 $OTHERLIBS
13990 $LIBS"
13991cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13992/* end confdefs.h. */
13993
13994/* Override any GCC internal prototype to avoid an error.
13995 Use char because int might match the return type of a GCC
13996 builtin and then its argument prototype would still apply. */
13997#ifdef __cplusplus
13998extern "C"
13999#endif
14000char fido_init ();
14001int
14002main ()
14003{
14004return fido_init ();
14005 ;
14006 return 0;
14007}
14008_ACEOF
14009if ac_fn_c_try_link "$LINENO"; then :
14010 ac_cv_lib_fido2_fido_init=yes
14011else
14012 ac_cv_lib_fido2_fido_init=no
14013fi
14014rm -f core conftest.err conftest.$ac_objext \
14015 conftest$ac_exeext conftest.$ac_ext
14016LIBS=$ac_check_lib_save_LIBS
14017fi
14018{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fido2_fido_init" >&5
14019$as_echo "$ac_cv_lib_fido2_fido_init" >&6; }
14020if test "x$ac_cv_lib_fido2_fido_init" = xyes; then :
14021
14022
14023
14024$as_echo "#define ENABLE_SK_INTERNAL /**/" >>confdefs.h
14025
14026 enable_sk="built-in"
14027
14028fi
14029
14030fi
14031
14032for ac_func in \
14033 arc4random \
14034 arc4random_buf \
14035 arc4random_stir \
14036 arc4random_uniform \
14037
14038do :
14039 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
14040ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
14041if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
14042 cat >>confdefs.h <<_ACEOF
14043#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
14044_ACEOF
14045
14046fi
14047done
14048
14049
14050saved_LIBS="$LIBS"
14051{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ia_openinfo in -liaf" >&5
14052$as_echo_n "checking for ia_openinfo in -liaf... " >&6; }
14053if ${ac_cv_lib_iaf_ia_openinfo+:} false; then :
14054 $as_echo_n "(cached) " >&6
14055else
14056 ac_check_lib_save_LIBS=$LIBS
14057LIBS="-liaf $LIBS"
14058cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14059/* end confdefs.h. */
14060
14061/* Override any GCC internal prototype to avoid an error.
14062 Use char because int might match the return type of a GCC
14063 builtin and then its argument prototype would still apply. */
14064#ifdef __cplusplus
14065extern "C"
14066#endif
14067char ia_openinfo ();
14068int
14069main ()
14070{
14071return ia_openinfo ();
14072 ;
14073 return 0;
14074}
14075_ACEOF
14076if ac_fn_c_try_link "$LINENO"; then :
14077 ac_cv_lib_iaf_ia_openinfo=yes
14078else
14079 ac_cv_lib_iaf_ia_openinfo=no
14080fi
14081rm -f core conftest.err conftest.$ac_objext \
14082 conftest$ac_exeext conftest.$ac_ext
14083LIBS=$ac_check_lib_save_LIBS
14084fi
14085{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iaf_ia_openinfo" >&5
14086$as_echo "$ac_cv_lib_iaf_ia_openinfo" >&6; }
14087if test "x$ac_cv_lib_iaf_ia_openinfo" = xyes; then :
14088
14089 LIBS="$LIBS -liaf"
14090 for ac_func in set_id
14091do :
14092 ac_fn_c_check_func "$LINENO" "set_id" "ac_cv_func_set_id"
14093if test "x$ac_cv_func_set_id" = xyes; then :
14094 cat >>confdefs.h <<_ACEOF
14095#define HAVE_SET_ID 1
14096_ACEOF
14097 SSHDLIBS="$SSHDLIBS -liaf"
14098
14099$as_echo "#define HAVE_LIBIAF 1" >>confdefs.h
14100
14101
14102fi
14103done
14104
14105
14106fi
14107
14108LIBS="$saved_LIBS"
14109
14110### Configure cryptographic random number support
14111
14112# Check whether OpenSSL seeds itself
14113if test "x$openssl" = "xyes" ; then
14114 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's PRNG is internally seeded" >&5
14115$as_echo_n "checking whether OpenSSL's PRNG is internally seeded... " >&6; }
14116 if test "$cross_compiling" = yes; then :
14117
14118 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14119$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14120 # This is safe, since we will fatal() at runtime if
14121 # OpenSSL is not seeded correctly.
14122 OPENSSL_SEEDS_ITSELF=yes
14123
14124
14125else
14126 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14127/* end confdefs.h. */
14128
14129 #include <string.h>
14130 #include <openssl/rand.h>
14131
14132int
14133main ()
14134{
14135
14136 exit(RAND_status() == 1 ? 0 : 1);
14137
14138 ;
14139 return 0;
14140}
14141_ACEOF
14142if ac_fn_c_try_run "$LINENO"; then :
14143
14144 OPENSSL_SEEDS_ITSELF=yes
14145 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14146$as_echo "yes" >&6; }
14147
14148else
14149
14150 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14151$as_echo "no" >&6; }
14152
14153fi
14154rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14155 conftest.$ac_objext conftest.beam conftest.$ac_ext
14156fi
14157
14158fi
14159
14160# PRNGD TCP socket
14161
14162# Check whether --with-prngd-port was given.
14163if test "${with_prngd_port+set}" = set; then :
14164 withval=$with_prngd_port;
14165 case "$withval" in
14166 no)
14167 withval=""
14168 ;;
14169 [0-9]*)
14170 ;;
14171 *)
14172 as_fn_error $? "You must specify a numeric port number for --with-prngd-port" "$LINENO" 5
14173 ;;
14174 esac
14175 if test ! -z "$withval" ; then
14176 PRNGD_PORT="$withval"
14177
14178cat >>confdefs.h <<_ACEOF
14179#define PRNGD_PORT $PRNGD_PORT
14180_ACEOF
14181
14182 fi
14183
14184
14185fi
14186
14187
14188# PRNGD Unix domain socket
14189
14190# Check whether --with-prngd-socket was given.
14191if test "${with_prngd_socket+set}" = set; then :
14192 withval=$with_prngd_socket;
14193 case "$withval" in
14194 yes)
14195 withval="/var/run/egd-pool"
14196 ;;
14197 no)
14198 withval=""
14199 ;;
14200 /*)
14201 ;;
14202 *)
14203 as_fn_error $? "You must specify an absolute path to the entropy socket" "$LINENO" 5
14204 ;;
14205 esac
14206
14207 if test ! -z "$withval" ; then
14208 if test ! -z "$PRNGD_PORT" ; then
14209 as_fn_error $? "You may not specify both a PRNGD/EGD port and socket" "$LINENO" 5
14210 fi
14211 if test ! -r "$withval" ; then
14212 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Entropy socket is not readable" >&5
14213$as_echo "$as_me: WARNING: Entropy socket is not readable" >&2;}
14214 fi
14215 PRNGD_SOCKET="$withval"
14216
14217cat >>confdefs.h <<_ACEOF
14218#define PRNGD_SOCKET "$PRNGD_SOCKET"
14219_ACEOF
14220
14221 fi
14222
14223else
14224
14225 # Check for existing socket only if we don't have a random device already
14226 if test "x$OPENSSL_SEEDS_ITSELF" != "xyes" ; then
14227 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PRNGD/EGD socket" >&5
14228$as_echo_n "checking for PRNGD/EGD socket... " >&6; }
14229 # Insert other locations here
14230 for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do
14231 if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then
14232 PRNGD_SOCKET="$sock"
14233 cat >>confdefs.h <<_ACEOF
14234#define PRNGD_SOCKET "$PRNGD_SOCKET"
14235_ACEOF
14236
14237 break;
14238 fi
14239 done
14240 if test ! -z "$PRNGD_SOCKET" ; then
14241 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRNGD_SOCKET" >&5
14242$as_echo "$PRNGD_SOCKET" >&6; }
14243 else
14244 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
14245$as_echo "not found" >&6; }
14246 fi
14247 fi
14248
14249
14250fi
14251
14252
14253# Which randomness source do we use?
14254if test ! -z "$PRNGD_PORT" ; then
14255 RAND_MSG="PRNGd port $PRNGD_PORT"
14256elif test ! -z "$PRNGD_SOCKET" ; then
14257 RAND_MSG="PRNGd socket $PRNGD_SOCKET"
14258elif test ! -z "$OPENSSL_SEEDS_ITSELF" ; then
14259
14260$as_echo "#define OPENSSL_PRNG_ONLY 1" >>confdefs.h
14261
14262 RAND_MSG="OpenSSL internal ONLY"
14263elif test "x$openssl" = "xno" ; then
14264 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSH will use /dev/urandom as a source of random numbers. It will fail if this device is not supported or accessible" >&5
14265$as_echo "$as_me: WARNING: OpenSSH will use /dev/urandom as a source of random numbers. It will fail if this device is not supported or accessible" >&2;}
14266else
14267 as_fn_error $? "OpenSSH has no source of random numbers. Please configure OpenSSL with an entropy source or re-run configure using one of the --with-prngd-port or --with-prngd-socket options" "$LINENO" 5
14268fi
14269
14270# Check for PAM libs
14271PAM_MSG="no"
14272
14273# Check whether --with-pam was given.
14274if test "${with_pam+set}" = set; then :
14275 withval=$with_pam;
14276 if test "x$withval" != "xno" ; then
14277 if test "x$ac_cv_header_security_pam_appl_h" != "xyes" && \
14278 test "x$ac_cv_header_pam_pam_appl_h" != "xyes" ; then
14279 as_fn_error $? "PAM headers not found" "$LINENO" 5
14280 fi
14281
14282 saved_LIBS="$LIBS"
14283 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
14284$as_echo_n "checking for dlopen in -ldl... " >&6; }
14285if ${ac_cv_lib_dl_dlopen+:} false; then :
14286 $as_echo_n "(cached) " >&6
14287else
14288 ac_check_lib_save_LIBS=$LIBS
14289LIBS="-ldl $LIBS"
14290cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14291/* end confdefs.h. */
14292
14293/* Override any GCC internal prototype to avoid an error.
14294 Use char because int might match the return type of a GCC
14295 builtin and then its argument prototype would still apply. */
14296#ifdef __cplusplus
14297extern "C"
14298#endif
14299char dlopen ();
14300int
14301main ()
14302{
14303return dlopen ();
14304 ;
14305 return 0;
14306}
14307_ACEOF
14308if ac_fn_c_try_link "$LINENO"; then :
14309 ac_cv_lib_dl_dlopen=yes
14310else
14311 ac_cv_lib_dl_dlopen=no
14312fi
14313rm -f core conftest.err conftest.$ac_objext \
14314 conftest$ac_exeext conftest.$ac_ext
14315LIBS=$ac_check_lib_save_LIBS
14316fi
14317{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
14318$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
14319if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
14320 cat >>confdefs.h <<_ACEOF
14321#define HAVE_LIBDL 1
14322_ACEOF
14323
14324 LIBS="-ldl $LIBS"
14325
14326fi
14327
14328 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_set_item in -lpam" >&5
14329$as_echo_n "checking for pam_set_item in -lpam... " >&6; }
14330if ${ac_cv_lib_pam_pam_set_item+:} false; then :
14331 $as_echo_n "(cached) " >&6
14332else
14333 ac_check_lib_save_LIBS=$LIBS
14334LIBS="-lpam $LIBS"
14335cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14336/* end confdefs.h. */
14337
14338/* Override any GCC internal prototype to avoid an error.
14339 Use char because int might match the return type of a GCC
14340 builtin and then its argument prototype would still apply. */
14341#ifdef __cplusplus
14342extern "C"
14343#endif
14344char pam_set_item ();
14345int
14346main ()
14347{
14348return pam_set_item ();
14349 ;
14350 return 0;
14351}
14352_ACEOF
14353if ac_fn_c_try_link "$LINENO"; then :
14354 ac_cv_lib_pam_pam_set_item=yes
14355else
14356 ac_cv_lib_pam_pam_set_item=no
14357fi
14358rm -f core conftest.err conftest.$ac_objext \
14359 conftest$ac_exeext conftest.$ac_ext
14360LIBS=$ac_check_lib_save_LIBS
14361fi
14362{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_set_item" >&5
14363$as_echo "$ac_cv_lib_pam_pam_set_item" >&6; }
14364if test "x$ac_cv_lib_pam_pam_set_item" = xyes; then :
14365 cat >>confdefs.h <<_ACEOF
14366#define HAVE_LIBPAM 1
14367_ACEOF
14368
14369 LIBS="-lpam $LIBS"
14370
14371else
14372 as_fn_error $? "*** libpam missing" "$LINENO" 5
14373fi
14374
14375 for ac_func in pam_getenvlist
14376do :
14377 ac_fn_c_check_func "$LINENO" "pam_getenvlist" "ac_cv_func_pam_getenvlist"
14378if test "x$ac_cv_func_pam_getenvlist" = xyes; then :
14379 cat >>confdefs.h <<_ACEOF
14380#define HAVE_PAM_GETENVLIST 1
14381_ACEOF
14382
14383fi
14384done
14385
14386 for ac_func in pam_putenv
14387do :
14388 ac_fn_c_check_func "$LINENO" "pam_putenv" "ac_cv_func_pam_putenv"
14389if test "x$ac_cv_func_pam_putenv" = xyes; then :
14390 cat >>confdefs.h <<_ACEOF
14391#define HAVE_PAM_PUTENV 1
14392_ACEOF
14393
14394fi
14395done
14396
14397 LIBS="$saved_LIBS"
14398
14399 PAM_MSG="yes"
14400
14401 SSHDLIBS="$SSHDLIBS -lpam"
14402
14403$as_echo "#define USE_PAM 1" >>confdefs.h
14404
14405
14406 if test $ac_cv_lib_dl_dlopen = yes; then
14407 case "$LIBS" in
14408 *-ldl*)
14409 # libdl already in LIBS
14410 ;;
14411 *)
14412 SSHDLIBS="$SSHDLIBS -ldl"
14413 ;;
14414 esac
14415 fi
14416 fi
14417
14418
14419fi
14420
14421
14422
14423# Check whether --with-pam-service was given.
14424if test "${with_pam_service+set}" = set; then :
14425 withval=$with_pam_service;
14426 if test "x$withval" != "xno" && \
14427 test "x$withval" != "xyes" ; then
14428
14429cat >>confdefs.h <<_ACEOF
14430#define SSHD_PAM_SERVICE "$withval"
14431_ACEOF
14432
14433 fi
14434
14435
14436fi
14437
14438
14439# Check for older PAM
14440if test "x$PAM_MSG" = "xyes" ; then
14441 # Check PAM strerror arguments (old PAM)
14442 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pam_strerror takes only one argument" >&5
14443$as_echo_n "checking whether pam_strerror takes only one argument... " >&6; }
14444 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14445/* end confdefs.h. */
14446
14447#include <stdlib.h>
14448#if defined(HAVE_SECURITY_PAM_APPL_H)
14449#include <security/pam_appl.h>
14450#elif defined (HAVE_PAM_PAM_APPL_H)
14451#include <pam/pam_appl.h>
14452#endif
14453
14454int
14455main ()
14456{
14457
14458(void)pam_strerror((pam_handle_t *)NULL, -1);
14459
14460 ;
14461 return 0;
14462}
14463_ACEOF
14464if ac_fn_c_try_compile "$LINENO"; then :
14465 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14466$as_echo "no" >&6; }
14467else
14468
14469
14470$as_echo "#define HAVE_OLD_PAM 1" >>confdefs.h
14471
14472 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14473$as_echo "yes" >&6; }
14474 PAM_MSG="yes (old library)"
14475
14476
14477fi
14478rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14479fi
14480
14481case "$host" in
14482*-*-cygwin*)
14483 SSH_PRIVSEP_USER=CYGWIN_SSH_PRIVSEP_USER
14484 ;;
14485*)
14486 SSH_PRIVSEP_USER=sshd
14487 ;;
14488esac
14489
14490# Check whether --with-privsep-user was given.
14491if test "${with_privsep_user+set}" = set; then :
14492 withval=$with_privsep_user;
14493 if test -n "$withval" && test "x$withval" != "xno" && \
14494 test "x${withval}" != "xyes"; then
14495 SSH_PRIVSEP_USER=$withval
14496 fi
14497
14498
14499fi
14500
14501if test "x$SSH_PRIVSEP_USER" = "xCYGWIN_SSH_PRIVSEP_USER" ; then
14502
14503cat >>confdefs.h <<_ACEOF
14504#define SSH_PRIVSEP_USER CYGWIN_SSH_PRIVSEP_USER
14505_ACEOF
14506
14507else
14508
14509cat >>confdefs.h <<_ACEOF
14510#define SSH_PRIVSEP_USER "$SSH_PRIVSEP_USER"
14511_ACEOF
14512
14513fi
14514
14515
14516if test "x$have_linux_no_new_privs" = "x1" ; then
14517ac_fn_c_check_decl "$LINENO" "SECCOMP_MODE_FILTER" "ac_cv_have_decl_SECCOMP_MODE_FILTER" "
14518 #include <sys/types.h>
14519 #include <linux/seccomp.h>
14520
14521"
14522if test "x$ac_cv_have_decl_SECCOMP_MODE_FILTER" = xyes; then :
14523 have_seccomp_filter=1
14524fi
14525
14526fi
14527if test "x$have_seccomp_filter" = "x1" ; then
14528{ $as_echo "$as_me:${as_lineno-$LINENO}: checking kernel for seccomp_filter support" >&5
14529$as_echo_n "checking kernel for seccomp_filter support... " >&6; }
14530cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14531/* end confdefs.h. */
14532
14533 #include <errno.h>
14534 #include <elf.h>
14535 #include <linux/audit.h>
14536 #include <linux/seccomp.h>
14537 #include <stdlib.h>
14538 #include <sys/prctl.h>
14539
14540int
14541main ()
14542{
14543 int i = $seccomp_audit_arch;
14544 errno = 0;
14545 prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, NULL, 0, 0);
14546 exit(errno == EFAULT ? 0 : 1);
14547 ;
14548 return 0;
14549}
14550_ACEOF
14551if ac_fn_c_try_link "$LINENO"; then :
14552 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14553$as_echo "yes" >&6; }
14554else
14555
14556 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14557$as_echo "no" >&6; }
14558 # Disable seccomp filter as a target
14559 have_seccomp_filter=0
14560
14561
14562fi
14563rm -f core conftest.err conftest.$ac_objext \
14564 conftest$ac_exeext conftest.$ac_ext
14565fi
14566
14567# Decide which sandbox style to use
14568sandbox_arg=""
14569
14570# Check whether --with-sandbox was given.
14571if test "${with_sandbox+set}" = set; then :
14572 withval=$with_sandbox;
14573 if test "x$withval" = "xyes" ; then
14574 sandbox_arg=""
14575 else
14576 sandbox_arg="$withval"
14577 fi
14578
14579
14580fi
14581
14582
14583# Some platforms (seems to be the ones that have a kernel poll(2)-type
14584# function with which they implement select(2)) use an extra file descriptor
14585# when calling select(2), which means we can't use the rlimit sandbox.
14586{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if select works with descriptor rlimit" >&5
14587$as_echo_n "checking if select works with descriptor rlimit... " >&6; }
14588if test "$cross_compiling" = yes; then :
14589 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14590$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14591 select_works_with_rlimit=yes
14592
14593else
14594 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14595/* end confdefs.h. */
14596
14597#include <sys/types.h>
14598#ifdef HAVE_SYS_TIME_H
14599# include <sys/time.h>
14600#endif
14601#include <sys/resource.h>
14602#ifdef HAVE_SYS_SELECT_H
14603# include <sys/select.h>
14604#endif
14605#include <errno.h>
14606#include <fcntl.h>
14607#include <stdlib.h>
14608
14609int
14610main ()
14611{
14612
14613 struct rlimit rl_zero;
14614 int fd, r;
14615 fd_set fds;
14616 struct timeval tv;
14617
14618 fd = open("/dev/null", O_RDONLY);
14619 FD_ZERO(&fds);
14620 FD_SET(fd, &fds);
14621 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
14622 setrlimit(RLIMIT_FSIZE, &rl_zero);
14623 setrlimit(RLIMIT_NOFILE, &rl_zero);
14624 tv.tv_sec = 1;
14625 tv.tv_usec = 0;
14626 r = select(fd+1, &fds, NULL, NULL, &tv);
14627 exit (r == -1 ? 1 : 0);
14628
14629 ;
14630 return 0;
14631}
14632_ACEOF
14633if ac_fn_c_try_run "$LINENO"; then :
14634 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14635$as_echo "yes" >&6; }
14636 select_works_with_rlimit=yes
14637else
14638 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14639$as_echo "no" >&6; }
14640 select_works_with_rlimit=no
14641fi
14642rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14643 conftest.$ac_objext conftest.beam conftest.$ac_ext
14644fi
14645
14646
14647{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit(RLIMIT_NOFILE,{0,0}) works" >&5
14648$as_echo_n "checking if setrlimit(RLIMIT_NOFILE,{0,0}) works... " >&6; }
14649if test "$cross_compiling" = yes; then :
14650 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14651$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14652 rlimit_nofile_zero_works=yes
14653
14654else
14655 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14656/* end confdefs.h. */
14657
14658#include <sys/types.h>
14659#ifdef HAVE_SYS_TIME_H
14660# include <sys/time.h>
14661#endif
14662#include <sys/resource.h>
14663#include <errno.h>
14664#include <stdlib.h>
14665
14666int
14667main ()
14668{
14669
14670 struct rlimit rl_zero;
14671 int r;
14672
14673 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
14674 r = setrlimit(RLIMIT_NOFILE, &rl_zero);
14675 exit (r == -1 ? 1 : 0);
14676
14677 ;
14678 return 0;
14679}
14680_ACEOF
14681if ac_fn_c_try_run "$LINENO"; then :
14682 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14683$as_echo "yes" >&6; }
14684 rlimit_nofile_zero_works=yes
14685else
14686 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14687$as_echo "no" >&6; }
14688 rlimit_nofile_zero_works=no
14689fi
14690rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14691 conftest.$ac_objext conftest.beam conftest.$ac_ext
14692fi
14693
14694
14695{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit RLIMIT_FSIZE works" >&5
14696$as_echo_n "checking if setrlimit RLIMIT_FSIZE works... " >&6; }
14697if test "$cross_compiling" = yes; then :
14698 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14699$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14700
14701else
14702 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14703/* end confdefs.h. */
14704
14705#include <sys/types.h>
14706#include <sys/resource.h>
14707#include <stdlib.h>
14708
14709int
14710main ()
14711{
14712
14713 struct rlimit rl_zero;
14714
14715 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
14716 exit(setrlimit(RLIMIT_FSIZE, &rl_zero) != 0);
14717
14718 ;
14719 return 0;
14720}
14721_ACEOF
14722if ac_fn_c_try_run "$LINENO"; then :
14723 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14724$as_echo "yes" >&6; }
14725else
14726 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14727$as_echo "no" >&6; }
14728
14729$as_echo "#define SANDBOX_SKIP_RLIMIT_FSIZE 1" >>confdefs.h
14730
14731fi
14732rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14733 conftest.$ac_objext conftest.beam conftest.$ac_ext
14734fi
14735
14736
14737if test "x$sandbox_arg" = "xpledge" || \
14738 ( test -z "$sandbox_arg" && test "x$ac_cv_func_pledge" = "xyes" ) ; then
14739 test "x$ac_cv_func_pledge" != "xyes" && \
14740 as_fn_error $? "pledge sandbox requires pledge(2) support" "$LINENO" 5
14741 SANDBOX_STYLE="pledge"
14742
14743$as_echo "#define SANDBOX_PLEDGE 1" >>confdefs.h
14744
14745elif test "x$sandbox_arg" = "xsystrace" || \
14746 ( test -z "$sandbox_arg" && test "x$have_systr_policy_kill" = "x1" ) ; then
14747 test "x$have_systr_policy_kill" != "x1" && \
14748 as_fn_error $? "systrace sandbox requires systrace headers and SYSTR_POLICY_KILL support" "$LINENO" 5
14749 SANDBOX_STYLE="systrace"
14750
14751$as_echo "#define SANDBOX_SYSTRACE 1" >>confdefs.h
14752
14753elif test "x$sandbox_arg" = "xdarwin" || \
14754 ( test -z "$sandbox_arg" && test "x$ac_cv_func_sandbox_init" = "xyes" && \
14755 test "x$ac_cv_header_sandbox_h" = "xyes") ; then
14756 test "x$ac_cv_func_sandbox_init" != "xyes" -o \
14757 "x$ac_cv_header_sandbox_h" != "xyes" && \
14758 as_fn_error $? "Darwin seatbelt sandbox requires sandbox.h and sandbox_init function" "$LINENO" 5
14759 SANDBOX_STYLE="darwin"
14760
14761$as_echo "#define SANDBOX_DARWIN 1" >>confdefs.h
14762
14763elif test "x$sandbox_arg" = "xseccomp_filter" || \
14764 ( test -z "$sandbox_arg" && \
14765 test "x$have_seccomp_filter" = "x1" && \
14766 test "x$ac_cv_header_elf_h" = "xyes" && \
14767 test "x$ac_cv_header_linux_audit_h" = "xyes" && \
14768 test "x$ac_cv_header_linux_filter_h" = "xyes" && \
14769 test "x$seccomp_audit_arch" != "x" && \
14770 test "x$have_linux_no_new_privs" = "x1" && \
14771 test "x$ac_cv_func_prctl" = "xyes" ) ; then
14772 test "x$seccomp_audit_arch" = "x" && \
14773 as_fn_error $? "seccomp_filter sandbox not supported on $host" "$LINENO" 5
14774 test "x$have_linux_no_new_privs" != "x1" && \
14775 as_fn_error $? "seccomp_filter sandbox requires PR_SET_NO_NEW_PRIVS" "$LINENO" 5
14776 test "x$have_seccomp_filter" != "x1" && \
14777 as_fn_error $? "seccomp_filter sandbox requires seccomp headers" "$LINENO" 5
14778 test "x$ac_cv_func_prctl" != "xyes" && \
14779 as_fn_error $? "seccomp_filter sandbox requires prctl function" "$LINENO" 5
14780 SANDBOX_STYLE="seccomp_filter"
14781
14782$as_echo "#define SANDBOX_SECCOMP_FILTER 1" >>confdefs.h
14783
14784elif test "x$sandbox_arg" = "xcapsicum" || \
14785 ( test -z "$sandbox_arg" && \
14786 test "x$ac_cv_header_sys_capsicum_h" = "xyes" && \
14787 test "x$ac_cv_func_cap_rights_limit" = "xyes") ; then
14788 test "x$ac_cv_header_sys_capsicum_h" != "xyes" && \
14789 as_fn_error $? "capsicum sandbox requires sys/capsicum.h header" "$LINENO" 5
14790 test "x$ac_cv_func_cap_rights_limit" != "xyes" && \
14791 as_fn_error $? "capsicum sandbox requires cap_rights_limit function" "$LINENO" 5
14792 SANDBOX_STYLE="capsicum"
14793
14794$as_echo "#define SANDBOX_CAPSICUM 1" >>confdefs.h
14795
14796elif test "x$sandbox_arg" = "xrlimit" || \
14797 ( test -z "$sandbox_arg" && test "x$ac_cv_func_setrlimit" = "xyes" && \
14798 test "x$select_works_with_rlimit" = "xyes" && \
14799 test "x$rlimit_nofile_zero_works" = "xyes" ) ; then
14800 test "x$ac_cv_func_setrlimit" != "xyes" && \
14801 as_fn_error $? "rlimit sandbox requires setrlimit function" "$LINENO" 5
14802 test "x$select_works_with_rlimit" != "xyes" && \
14803 as_fn_error $? "rlimit sandbox requires select to work with rlimit" "$LINENO" 5
14804 SANDBOX_STYLE="rlimit"
14805
14806$as_echo "#define SANDBOX_RLIMIT 1" >>confdefs.h
14807
14808elif test "x$sandbox_arg" = "xsolaris" || \
14809 ( test -z "$sandbox_arg" && test "x$SOLARIS_PRIVS" = "xyes" ) ; then
14810 SANDBOX_STYLE="solaris"
14811
14812$as_echo "#define SANDBOX_SOLARIS 1" >>confdefs.h
14813
14814elif test -z "$sandbox_arg" || test "x$sandbox_arg" = "xno" || \
14815 test "x$sandbox_arg" = "xnone" || test "x$sandbox_arg" = "xnull" ; then
14816 SANDBOX_STYLE="none"
14817
14818$as_echo "#define SANDBOX_NULL 1" >>confdefs.h
14819
14820else
14821 as_fn_error $? "unsupported --with-sandbox" "$LINENO" 5
14822fi
14823
14824# Cheap hack to ensure NEWS-OS libraries are arranged right.
14825if test ! -z "$SONY" ; then
14826 LIBS="$LIBS -liberty";
14827fi
14828
14829# Check for long long datatypes
14830ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
14831if test "x$ac_cv_type_long_long" = xyes; then :
14832
14833cat >>confdefs.h <<_ACEOF
14834#define HAVE_LONG_LONG 1
14835_ACEOF
14836
14837
14838fi
14839ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default"
14840if test "x$ac_cv_type_unsigned_long_long" = xyes; then :
14841
14842cat >>confdefs.h <<_ACEOF
14843#define HAVE_UNSIGNED_LONG_LONG 1
14844_ACEOF
14845
14846
14847fi
14848ac_fn_c_check_type "$LINENO" "long double" "ac_cv_type_long_double" "$ac_includes_default"
14849if test "x$ac_cv_type_long_double" = xyes; then :
14850
14851cat >>confdefs.h <<_ACEOF
14852#define HAVE_LONG_DOUBLE 1
14853_ACEOF
14854
14855
14856fi
14857
14858
14859# Check datatype sizes
14860# The cast to long int works around a bug in the HP C Compiler
14861# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
14862# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
14863# This bug is HP SR number 8606223364.
14864{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short int" >&5
14865$as_echo_n "checking size of short int... " >&6; }
14866if ${ac_cv_sizeof_short_int+:} false; then :
14867 $as_echo_n "(cached) " >&6
14868else
14869 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short int))" "ac_cv_sizeof_short_int" "$ac_includes_default"; then :
14870
14871else
14872 if test "$ac_cv_type_short_int" = yes; then
14873 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
14874$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
14875as_fn_error 77 "cannot compute sizeof (short int)
14876See \`config.log' for more details" "$LINENO" 5; }
14877 else
14878 ac_cv_sizeof_short_int=0
14879 fi
14880fi
14881
14882fi
14883{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short_int" >&5
14884$as_echo "$ac_cv_sizeof_short_int" >&6; }
14885
14886
14887
14888cat >>confdefs.h <<_ACEOF
14889#define SIZEOF_SHORT_INT $ac_cv_sizeof_short_int
14890_ACEOF
14891
14892
14893# The cast to long int works around a bug in the HP C Compiler
14894# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
14895# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
14896# This bug is HP SR number 8606223364.
14897{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
14898$as_echo_n "checking size of int... " >&6; }
14899if ${ac_cv_sizeof_int+:} false; then :
14900 $as_echo_n "(cached) " >&6
14901else
14902 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
14903
14904else
14905 if test "$ac_cv_type_int" = yes; then
14906 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
14907$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
14908as_fn_error 77 "cannot compute sizeof (int)
14909See \`config.log' for more details" "$LINENO" 5; }
14910 else
14911 ac_cv_sizeof_int=0
14912 fi
14913fi
14914
14915fi
14916{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
14917$as_echo "$ac_cv_sizeof_int" >&6; }
14918
14919
14920
14921cat >>confdefs.h <<_ACEOF
14922#define SIZEOF_INT $ac_cv_sizeof_int
14923_ACEOF
14924
14925
14926# The cast to long int works around a bug in the HP C Compiler
14927# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
14928# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
14929# This bug is HP SR number 8606223364.
14930{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long int" >&5
14931$as_echo_n "checking size of long int... " >&6; }
14932if ${ac_cv_sizeof_long_int+:} false; then :
14933 $as_echo_n "(cached) " >&6
14934else
14935 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then :
14936
14937else
14938 if test "$ac_cv_type_long_int" = yes; then
14939 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
14940$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
14941as_fn_error 77 "cannot compute sizeof (long int)
14942See \`config.log' for more details" "$LINENO" 5; }
14943 else
14944 ac_cv_sizeof_long_int=0
14945 fi
14946fi
14947
14948fi
14949{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_int" >&5
14950$as_echo "$ac_cv_sizeof_long_int" >&6; }
14951
14952
14953
14954cat >>confdefs.h <<_ACEOF
14955#define SIZEOF_LONG_INT $ac_cv_sizeof_long_int
14956_ACEOF
14957
14958
14959# The cast to long int works around a bug in the HP C Compiler
14960# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
14961# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
14962# This bug is HP SR number 8606223364.
14963{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long int" >&5
14964$as_echo_n "checking size of long long int... " >&6; }
14965if ${ac_cv_sizeof_long_long_int+:} false; then :
14966 $as_echo_n "(cached) " >&6
14967else
14968 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long int))" "ac_cv_sizeof_long_long_int" "$ac_includes_default"; then :
14969
14970else
14971 if test "$ac_cv_type_long_long_int" = yes; then
14972 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
14973$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
14974as_fn_error 77 "cannot compute sizeof (long long int)
14975See \`config.log' for more details" "$LINENO" 5; }
14976 else
14977 ac_cv_sizeof_long_long_int=0
14978 fi
14979fi
14980
14981fi
14982{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long_int" >&5
14983$as_echo "$ac_cv_sizeof_long_long_int" >&6; }
14984
14985
14986
14987cat >>confdefs.h <<_ACEOF
14988#define SIZEOF_LONG_LONG_INT $ac_cv_sizeof_long_long_int
14989_ACEOF
14990
14991
14992
14993# Sanity check long long for some platforms (AIX)
14994if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
14995 ac_cv_sizeof_long_long_int=0
14996fi
14997
14998# compute LLONG_MIN and LLONG_MAX if we don't know them.
14999if test -z "$have_llong_max"; then
15000 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for max value of long long" >&5
15001$as_echo_n "checking for max value of long long... " >&6; }
15002 if test "$cross_compiling" = yes; then :
15003
15004 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
15005$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
15006
15007
15008else
15009 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15010/* end confdefs.h. */
15011
15012#include <stdio.h>
15013/* Why is this so damn hard? */
15014#ifdef __GNUC__
15015# undef __GNUC__
15016#endif
15017#define __USE_ISOC99
15018#include <limits.h>
15019#define DATA "conftest.llminmax"
15020#define my_abs(a) ((a) < 0 ? ((a) * -1) : (a))
15021
15022/*
15023 * printf in libc on some platforms (eg old Tru64) does not understand %lld so
15024 * we do this the hard way.
15025 */
15026static int
15027fprint_ll(FILE *f, long long n)
15028{
15029 unsigned int i;
15030 int l[sizeof(long long) * 8];
15031
15032 if (n < 0)
15033 if (fprintf(f, "-") < 0)
15034 return -1;
15035 for (i = 0; n != 0; i++) {
15036 l[i] = my_abs(n % 10);
15037 n /= 10;
15038 }
15039 do {
15040 if (fprintf(f, "%d", l[--i]) < 0)
15041 return -1;
15042 } while (i != 0);
15043 if (fprintf(f, " ") < 0)
15044 return -1;
15045 return 0;
15046}
15047
15048int
15049main ()
15050{
15051
15052 FILE *f;
15053 long long i, llmin, llmax = 0;
15054
15055 if((f = fopen(DATA,"w")) == NULL)
15056 exit(1);
15057
15058#if defined(LLONG_MIN) && defined(LLONG_MAX)
15059 fprintf(stderr, "Using system header for LLONG_MIN and LLONG_MAX\n");
15060 llmin = LLONG_MIN;
15061 llmax = LLONG_MAX;
15062#else
15063 fprintf(stderr, "Calculating LLONG_MIN and LLONG_MAX\n");
15064 /* This will work on one's complement and two's complement */
15065 for (i = 1; i > llmax; i <<= 1, i++)
15066 llmax = i;
15067 llmin = llmax + 1LL; /* wrap */
15068#endif
15069
15070 /* Sanity check */
15071 if (llmin + 1 < llmin || llmin - 1 < llmin || llmax + 1 > llmax
15072 || llmax - 1 > llmax || llmin == llmax || llmin == 0
15073 || llmax == 0 || llmax < LONG_MAX || llmin > LONG_MIN) {
15074 fprintf(f, "unknown unknown\n");
15075 exit(2);
15076 }
15077
15078 if (fprint_ll(f, llmin) < 0)
15079 exit(3);
15080 if (fprint_ll(f, llmax) < 0)
15081 exit(4);
15082 if (fclose(f) < 0)
15083 exit(5);
15084 exit(0);
15085
15086 ;
15087 return 0;
15088}
15089_ACEOF
15090if ac_fn_c_try_run "$LINENO"; then :
15091
15092 llong_min=`$AWK '{print $1}' conftest.llminmax`
15093 llong_max=`$AWK '{print $2}' conftest.llminmax`
15094
15095 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_max" >&5
15096$as_echo "$llong_max" >&6; }
15097
15098cat >>confdefs.h <<_ACEOF
15099#define LLONG_MAX ${llong_max}LL
15100_ACEOF
15101
15102 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for min value of long long" >&5
15103$as_echo_n "checking for min value of long long... " >&6; }
15104 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_min" >&5
15105$as_echo "$llong_min" >&6; }
15106
15107cat >>confdefs.h <<_ACEOF
15108#define LLONG_MIN ${llong_min}LL
15109_ACEOF
15110
15111
15112else
15113
15114 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
15115$as_echo "not found" >&6; }
15116
15117fi
15118rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
15119 conftest.$ac_objext conftest.beam conftest.$ac_ext
15120fi
15121
15122fi
15123
15124ac_fn_c_check_decl "$LINENO" "UINT32_MAX" "ac_cv_have_decl_UINT32_MAX" "
15125#ifdef HAVE_SYS_LIMITS_H
15126# include <sys/limits.h>
15127#endif
15128#ifdef HAVE_LIMITS_H
15129# include <limits.h>
15130#endif
15131#ifdef HAVE_STDINT_H
15132# include <stdint.h>
15133#endif
15134
15135"
15136if test "x$ac_cv_have_decl_UINT32_MAX" = xyes; then :
15137 ac_have_decl=1
15138else
15139 ac_have_decl=0
15140fi
15141
15142cat >>confdefs.h <<_ACEOF
15143#define HAVE_DECL_UINT32_MAX $ac_have_decl
15144_ACEOF
15145
15146
15147# More checks for data types
15148{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int type" >&5
15149$as_echo_n "checking for u_int type... " >&6; }
15150if ${ac_cv_have_u_int+:} false; then :
15151 $as_echo_n "(cached) " >&6
15152else
15153
15154 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15155/* end confdefs.h. */
15156 #include <sys/types.h>
15157int
15158main ()
15159{
15160 u_int a; a = 1;
15161 ;
15162 return 0;
15163}
15164_ACEOF
15165if ac_fn_c_try_compile "$LINENO"; then :
15166 ac_cv_have_u_int="yes"
15167else
15168 ac_cv_have_u_int="no"
15169
15170fi
15171rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15172
15173fi
15174{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int" >&5
15175$as_echo "$ac_cv_have_u_int" >&6; }
15176if test "x$ac_cv_have_u_int" = "xyes" ; then
15177
15178$as_echo "#define HAVE_U_INT 1" >>confdefs.h
15179
15180 have_u_int=1
15181fi
15182
15183{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types" >&5
15184$as_echo_n "checking for intXX_t types... " >&6; }
15185if ${ac_cv_have_intxx_t+:} false; then :
15186 $as_echo_n "(cached) " >&6
15187else
15188
15189 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15190/* end confdefs.h. */
15191 #include <sys/types.h>
15192int
15193main ()
15194{
15195 int8_t a; int16_t b; int32_t c; a = b = c = 1;
15196 ;
15197 return 0;
15198}
15199_ACEOF
15200if ac_fn_c_try_compile "$LINENO"; then :
15201 ac_cv_have_intxx_t="yes"
15202else
15203 ac_cv_have_intxx_t="no"
15204
15205fi
15206rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15207
15208fi
15209{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_intxx_t" >&5
15210$as_echo "$ac_cv_have_intxx_t" >&6; }
15211if test "x$ac_cv_have_intxx_t" = "xyes" ; then
15212
15213$as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
15214
15215 have_intxx_t=1
15216fi
15217
15218if (test -z "$have_intxx_t" && \
15219 test "x$ac_cv_header_stdint_h" = "xyes")
15220then
15221 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types in stdint.h" >&5
15222$as_echo_n "checking for intXX_t types in stdint.h... " >&6; }
15223 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15224/* end confdefs.h. */
15225 #include <stdint.h>
15226int
15227main ()
15228{
15229 int8_t a; int16_t b; int32_t c; a = b = c = 1;
15230 ;
15231 return 0;
15232}
15233_ACEOF
15234if ac_fn_c_try_compile "$LINENO"; then :
15235
15236 $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
15237
15238 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15239$as_echo "yes" >&6; }
15240
15241else
15242 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15243$as_echo "no" >&6; }
15244
15245fi
15246rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15247fi
15248
15249{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for int64_t type" >&5
15250$as_echo_n "checking for int64_t type... " >&6; }
15251if ${ac_cv_have_int64_t+:} false; then :
15252 $as_echo_n "(cached) " >&6
15253else
15254
15255 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15256/* end confdefs.h. */
15257
15258#include <sys/types.h>
15259#ifdef HAVE_STDINT_H
15260# include <stdint.h>
15261#endif
15262#include <sys/socket.h>
15263#ifdef HAVE_SYS_BITYPES_H
15264# include <sys/bitypes.h>
15265#endif
15266
15267int
15268main ()
15269{
15270
15271int64_t a; a = 1;
15272
15273 ;
15274 return 0;
15275}
15276_ACEOF
15277if ac_fn_c_try_compile "$LINENO"; then :
15278 ac_cv_have_int64_t="yes"
15279else
15280 ac_cv_have_int64_t="no"
15281
15282fi
15283rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15284
15285fi
15286{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_int64_t" >&5
15287$as_echo "$ac_cv_have_int64_t" >&6; }
15288if test "x$ac_cv_have_int64_t" = "xyes" ; then
15289
15290$as_echo "#define HAVE_INT64_T 1" >>confdefs.h
15291
15292fi
15293
15294{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types" >&5
15295$as_echo_n "checking for u_intXX_t types... " >&6; }
15296if ${ac_cv_have_u_intxx_t+:} false; then :
15297 $as_echo_n "(cached) " >&6
15298else
15299
15300 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15301/* end confdefs.h. */
15302 #include <sys/types.h>
15303int
15304main ()
15305{
15306 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
15307 ;
15308 return 0;
15309}
15310_ACEOF
15311if ac_fn_c_try_compile "$LINENO"; then :
15312 ac_cv_have_u_intxx_t="yes"
15313else
15314 ac_cv_have_u_intxx_t="no"
15315
15316fi
15317rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15318
15319fi
15320{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_intxx_t" >&5
15321$as_echo "$ac_cv_have_u_intxx_t" >&6; }
15322if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
15323
15324$as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
15325
15326 have_u_intxx_t=1
15327fi
15328
15329if test -z "$have_u_intxx_t" ; then
15330 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types in sys/socket.h" >&5
15331$as_echo_n "checking for u_intXX_t types in sys/socket.h... " >&6; }
15332 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15333/* end confdefs.h. */
15334 #include <sys/socket.h>
15335int
15336main ()
15337{
15338 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
15339 ;
15340 return 0;
15341}
15342_ACEOF
15343if ac_fn_c_try_compile "$LINENO"; then :
15344
15345 $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
15346
15347 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15348$as_echo "yes" >&6; }
15349
15350else
15351 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15352$as_echo "no" >&6; }
15353
15354fi
15355rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15356fi
15357
15358{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t types" >&5
15359$as_echo_n "checking for u_int64_t types... " >&6; }
15360if ${ac_cv_have_u_int64_t+:} false; then :
15361 $as_echo_n "(cached) " >&6
15362else
15363
15364 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15365/* end confdefs.h. */
15366 #include <sys/types.h>
15367int
15368main ()
15369{
15370 u_int64_t a; a = 1;
15371 ;
15372 return 0;
15373}
15374_ACEOF
15375if ac_fn_c_try_compile "$LINENO"; then :
15376 ac_cv_have_u_int64_t="yes"
15377else
15378 ac_cv_have_u_int64_t="no"
15379
15380fi
15381rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15382
15383fi
15384{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int64_t" >&5
15385$as_echo "$ac_cv_have_u_int64_t" >&6; }
15386if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
15387
15388$as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
15389
15390 have_u_int64_t=1
15391fi
15392
15393if (test -z "$have_u_int64_t" && \
15394 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
15395then
15396 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t type in sys/bitypes.h" >&5
15397$as_echo_n "checking for u_int64_t type in sys/bitypes.h... " >&6; }
15398 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15399/* end confdefs.h. */
15400 #include <sys/bitypes.h>
15401int
15402main ()
15403{
15404 u_int64_t a; a = 1
15405 ;
15406 return 0;
15407}
15408_ACEOF
15409if ac_fn_c_try_compile "$LINENO"; then :
15410
15411 $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
15412
15413 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15414$as_echo "yes" >&6; }
15415
15416else
15417 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15418$as_echo "no" >&6; }
15419
15420fi
15421rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15422fi
15423
15424if test -z "$have_u_intxx_t" ; then
15425 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types" >&5
15426$as_echo_n "checking for uintXX_t types... " >&6; }
15427if ${ac_cv_have_uintxx_t+:} false; then :
15428 $as_echo_n "(cached) " >&6
15429else
15430
15431 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15432/* end confdefs.h. */
15433
15434#include <sys/types.h>
15435
15436int
15437main ()
15438{
15439
15440 uint8_t a;
15441 uint16_t b;
15442 uint32_t c;
15443 a = b = c = 1;
15444
15445 ;
15446 return 0;
15447}
15448_ACEOF
15449if ac_fn_c_try_compile "$LINENO"; then :
15450 ac_cv_have_uintxx_t="yes"
15451else
15452 ac_cv_have_uintxx_t="no"
15453
15454fi
15455rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15456
15457fi
15458{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_uintxx_t" >&5
15459$as_echo "$ac_cv_have_uintxx_t" >&6; }
15460 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
15461
15462$as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15463
15464 fi
15465fi
15466
15467if (test -z "$have_uintxx_t" && \
15468 test "x$ac_cv_header_stdint_h" = "xyes")
15469then
15470 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in stdint.h" >&5
15471$as_echo_n "checking for uintXX_t types in stdint.h... " >&6; }
15472 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15473/* end confdefs.h. */
15474 #include <stdint.h>
15475int
15476main ()
15477{
15478 uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;
15479 ;
15480 return 0;
15481}
15482_ACEOF
15483if ac_fn_c_try_compile "$LINENO"; then :
15484
15485 $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15486
15487 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15488$as_echo "yes" >&6; }
15489
15490else
15491 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15492$as_echo "no" >&6; }
15493
15494fi
15495rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15496fi
15497
15498if (test -z "$have_uintxx_t" && \
15499 test "x$ac_cv_header_inttypes_h" = "xyes")
15500then
15501 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in inttypes.h" >&5
15502$as_echo_n "checking for uintXX_t types in inttypes.h... " >&6; }
15503 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15504/* end confdefs.h. */
15505 #include <inttypes.h>
15506int
15507main ()
15508{
15509 uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;
15510 ;
15511 return 0;
15512}
15513_ACEOF
15514if ac_fn_c_try_compile "$LINENO"; then :
15515
15516 $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15517
15518 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15519$as_echo "yes" >&6; }
15520
15521else
15522 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15523$as_echo "no" >&6; }
15524
15525fi
15526rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15527fi
15528
15529if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
15530 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
15531then
15532 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t and u_intXX_t types in sys/bitypes.h" >&5
15533$as_echo_n "checking for intXX_t and u_intXX_t types in sys/bitypes.h... " >&6; }
15534 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15535/* end confdefs.h. */
15536
15537#include <sys/bitypes.h>
15538
15539int
15540main ()
15541{
15542
15543 int8_t a; int16_t b; int32_t c;
15544 u_int8_t e; u_int16_t f; u_int32_t g;
15545 a = b = c = e = f = g = 1;
15546
15547 ;
15548 return 0;
15549}
15550_ACEOF
15551if ac_fn_c_try_compile "$LINENO"; then :
15552
15553 $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
15554
15555 $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
15556
15557 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15558$as_echo "yes" >&6; }
15559
15560else
15561 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15562$as_echo "no" >&6; }
15563
15564fi
15565rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15566fi
15567
15568
15569{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_char" >&5
15570$as_echo_n "checking for u_char... " >&6; }
15571if ${ac_cv_have_u_char+:} false; then :
15572 $as_echo_n "(cached) " >&6
15573else
15574
15575 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15576/* end confdefs.h. */
15577 #include <sys/types.h>
15578int
15579main ()
15580{
15581 u_char foo; foo = 125;
15582 ;
15583 return 0;
15584}
15585_ACEOF
15586if ac_fn_c_try_compile "$LINENO"; then :
15587 ac_cv_have_u_char="yes"
15588else
15589 ac_cv_have_u_char="no"
15590
15591fi
15592rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15593
15594fi
15595{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_char" >&5
15596$as_echo "$ac_cv_have_u_char" >&6; }
15597if test "x$ac_cv_have_u_char" = "xyes" ; then
15598
15599$as_echo "#define HAVE_U_CHAR 1" >>confdefs.h
15600
15601fi
15602
15603ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "
15604#include <sys/types.h>
15605#ifdef HAVE_STDINT_H
15606# include <stdint.h>
15607#endif
15608
15609"
15610if test "x$ac_cv_type_intmax_t" = xyes; then :
15611
15612cat >>confdefs.h <<_ACEOF
15613#define HAVE_INTMAX_T 1
15614_ACEOF
15615
15616
15617fi
15618ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "
15619#include <sys/types.h>
15620#ifdef HAVE_STDINT_H
15621# include <stdint.h>
15622#endif
15623
15624"
15625if test "x$ac_cv_type_uintmax_t" = xyes; then :
15626
15627cat >>confdefs.h <<_ACEOF
15628#define HAVE_UINTMAX_T 1
15629_ACEOF
15630
15631
15632fi
15633
15634
15635
15636 ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h>
15637#include <sys/socket.h>
15638"
15639if test "x$ac_cv_type_socklen_t" = xyes; then :
15640
15641else
15642
15643 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5
15644$as_echo_n "checking for socklen_t equivalent... " >&6; }
15645 if ${curl_cv_socklen_t_equiv+:} false; then :
15646 $as_echo_n "(cached) " >&6
15647else
15648
15649 # Systems have either "struct sockaddr *" or
15650 # "void *" as the second argument to getpeername
15651 curl_cv_socklen_t_equiv=
15652 for arg2 in "struct sockaddr" void; do
15653 for t in int size_t unsigned long "unsigned long"; do
15654 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15655/* end confdefs.h. */
15656
15657 #include <sys/types.h>
15658 #include <sys/socket.h>
15659
15660 int getpeername (int, $arg2 *, $t *);
15661
15662int
15663main ()
15664{
15665
15666 $t len;
15667 getpeername(0,0,&len);
15668
15669 ;
15670 return 0;
15671}
15672_ACEOF
15673if ac_fn_c_try_compile "$LINENO"; then :
15674
15675 curl_cv_socklen_t_equiv="$t"
15676 break
15677
15678fi
15679rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15680 done
15681 done
15682
15683 if test "x$curl_cv_socklen_t_equiv" = x; then
15684 as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5
15685 fi
15686
15687fi
15688
15689 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $curl_cv_socklen_t_equiv" >&5
15690$as_echo "$curl_cv_socklen_t_equiv" >&6; }
15691
15692cat >>confdefs.h <<_ACEOF
15693#define socklen_t $curl_cv_socklen_t_equiv
15694_ACEOF
15695
15696fi
15697
15698
15699
15700ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "#include <signal.h>
15701"
15702if test "x$ac_cv_type_sig_atomic_t" = xyes; then :
15703
15704cat >>confdefs.h <<_ACEOF
15705#define HAVE_SIG_ATOMIC_T 1
15706_ACEOF
15707
15708
15709fi
15710
15711ac_fn_c_check_type "$LINENO" "fsblkcnt_t" "ac_cv_type_fsblkcnt_t" "
15712#include <sys/types.h>
15713#ifdef HAVE_SYS_BITYPES_H
15714#include <sys/bitypes.h>
15715#endif
15716#ifdef HAVE_SYS_STATFS_H
15717#include <sys/statfs.h>
15718#endif
15719#ifdef HAVE_SYS_STATVFS_H
15720#include <sys/statvfs.h>
15721#endif
15722
15723"
15724if test "x$ac_cv_type_fsblkcnt_t" = xyes; then :
15725
15726cat >>confdefs.h <<_ACEOF
15727#define HAVE_FSBLKCNT_T 1
15728_ACEOF
15729
15730
15731fi
15732ac_fn_c_check_type "$LINENO" "fsfilcnt_t" "ac_cv_type_fsfilcnt_t" "
15733#include <sys/types.h>
15734#ifdef HAVE_SYS_BITYPES_H
15735#include <sys/bitypes.h>
15736#endif
15737#ifdef HAVE_SYS_STATFS_H
15738#include <sys/statfs.h>
15739#endif
15740#ifdef HAVE_SYS_STATVFS_H
15741#include <sys/statvfs.h>
15742#endif
15743
15744"
15745if test "x$ac_cv_type_fsfilcnt_t" = xyes; then :
15746
15747cat >>confdefs.h <<_ACEOF
15748#define HAVE_FSFILCNT_T 1
15749_ACEOF
15750
15751
15752fi
15753
15754
15755ac_fn_c_check_member "$LINENO" "struct statfs" "f_files" "ac_cv_member_struct_statfs_f_files" "
15756#include <sys/param.h>
15757#include <sys/types.h>
15758#ifdef HAVE_SYS_BITYPES_H
15759#include <sys/bitypes.h>
15760#endif
15761#ifdef HAVE_SYS_STATFS_H
15762#include <sys/statfs.h>
15763#endif
15764#ifdef HAVE_SYS_STATVFS_H
15765#include <sys/statvfs.h>
15766#endif
15767#ifdef HAVE_SYS_VFS_H
15768#include <sys/vfs.h>
15769#endif
15770#ifdef HAVE_SYS_MOUNT_H
15771#include <sys/mount.h>
15772#endif
15773
15774"
15775if test "x$ac_cv_member_struct_statfs_f_files" = xyes; then :
15776
15777cat >>confdefs.h <<_ACEOF
15778#define HAVE_STRUCT_STATFS_F_FILES 1
15779_ACEOF
15780
15781
15782fi
15783ac_fn_c_check_member "$LINENO" "struct statfs" "f_flags" "ac_cv_member_struct_statfs_f_flags" "
15784#include <sys/param.h>
15785#include <sys/types.h>
15786#ifdef HAVE_SYS_BITYPES_H
15787#include <sys/bitypes.h>
15788#endif
15789#ifdef HAVE_SYS_STATFS_H
15790#include <sys/statfs.h>
15791#endif
15792#ifdef HAVE_SYS_STATVFS_H
15793#include <sys/statvfs.h>
15794#endif
15795#ifdef HAVE_SYS_VFS_H
15796#include <sys/vfs.h>
15797#endif
15798#ifdef HAVE_SYS_MOUNT_H
15799#include <sys/mount.h>
15800#endif
15801
15802"
15803if test "x$ac_cv_member_struct_statfs_f_flags" = xyes; then :
15804
15805cat >>confdefs.h <<_ACEOF
15806#define HAVE_STRUCT_STATFS_F_FLAGS 1
15807_ACEOF
15808
15809
15810fi
15811
15812
15813
15814ac_fn_c_check_type "$LINENO" "in_addr_t" "ac_cv_type_in_addr_t" "#include <sys/types.h>
15815#include <netinet/in.h>
15816"
15817if test "x$ac_cv_type_in_addr_t" = xyes; then :
15818
15819cat >>confdefs.h <<_ACEOF
15820#define HAVE_IN_ADDR_T 1
15821_ACEOF
15822
15823
15824fi
15825ac_fn_c_check_type "$LINENO" "in_port_t" "ac_cv_type_in_port_t" "#include <sys/types.h>
15826#include <netinet/in.h>
15827"
15828if test "x$ac_cv_type_in_port_t" = xyes; then :
15829
15830cat >>confdefs.h <<_ACEOF
15831#define HAVE_IN_PORT_T 1
15832_ACEOF
15833
15834
15835fi
15836
15837
15838{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for size_t" >&5
15839$as_echo_n "checking for size_t... " >&6; }
15840if ${ac_cv_have_size_t+:} false; then :
15841 $as_echo_n "(cached) " >&6
15842else
15843
15844 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15845/* end confdefs.h. */
15846 #include <sys/types.h>
15847int
15848main ()
15849{
15850 size_t foo; foo = 1235;
15851 ;
15852 return 0;
15853}
15854_ACEOF
15855if ac_fn_c_try_compile "$LINENO"; then :
15856 ac_cv_have_size_t="yes"
15857else
15858 ac_cv_have_size_t="no"
15859
15860fi
15861rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15862
15863fi
15864{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_size_t" >&5
15865$as_echo "$ac_cv_have_size_t" >&6; }
15866if test "x$ac_cv_have_size_t" = "xyes" ; then
15867
15868$as_echo "#define HAVE_SIZE_T 1" >>confdefs.h
15869
15870fi
15871
15872{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
15873$as_echo_n "checking for ssize_t... " >&6; }
15874if ${ac_cv_have_ssize_t+:} false; then :
15875 $as_echo_n "(cached) " >&6
15876else
15877
15878 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15879/* end confdefs.h. */
15880 #include <sys/types.h>
15881int
15882main ()
15883{
15884 ssize_t foo; foo = 1235;
15885 ;
15886 return 0;
15887}
15888_ACEOF
15889if ac_fn_c_try_compile "$LINENO"; then :
15890 ac_cv_have_ssize_t="yes"
15891else
15892 ac_cv_have_ssize_t="no"
15893
15894fi
15895rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15896
15897fi
15898{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ssize_t" >&5
15899$as_echo "$ac_cv_have_ssize_t" >&6; }
15900if test "x$ac_cv_have_ssize_t" = "xyes" ; then
15901
15902$as_echo "#define HAVE_SSIZE_T 1" >>confdefs.h
15903
15904fi
15905
15906{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_t" >&5
15907$as_echo_n "checking for clock_t... " >&6; }
15908if ${ac_cv_have_clock_t+:} false; then :
15909 $as_echo_n "(cached) " >&6
15910else
15911
15912 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15913/* end confdefs.h. */
15914 #include <time.h>
15915int
15916main ()
15917{
15918 clock_t foo; foo = 1235;
15919 ;
15920 return 0;
15921}
15922_ACEOF
15923if ac_fn_c_try_compile "$LINENO"; then :
15924 ac_cv_have_clock_t="yes"
15925else
15926 ac_cv_have_clock_t="no"
15927
15928fi
15929rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15930
15931fi
15932{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_clock_t" >&5
15933$as_echo "$ac_cv_have_clock_t" >&6; }
15934if test "x$ac_cv_have_clock_t" = "xyes" ; then
15935
15936$as_echo "#define HAVE_CLOCK_T 1" >>confdefs.h
15937
15938fi
15939
15940{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sa_family_t" >&5
15941$as_echo_n "checking for sa_family_t... " >&6; }
15942if ${ac_cv_have_sa_family_t+:} false; then :
15943 $as_echo_n "(cached) " >&6
15944else
15945
15946 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15947/* end confdefs.h. */
15948
15949#include <sys/types.h>
15950#include <sys/socket.h>
15951
15952int
15953main ()
15954{
15955 sa_family_t foo; foo = 1235;
15956 ;
15957 return 0;
15958}
15959_ACEOF
15960if ac_fn_c_try_compile "$LINENO"; then :
15961 ac_cv_have_sa_family_t="yes"
15962else
15963 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15964/* end confdefs.h. */
15965
15966#include <sys/types.h>
15967#include <sys/socket.h>
15968#include <netinet/in.h>
15969
15970int
15971main ()
15972{
15973 sa_family_t foo; foo = 1235;
15974 ;
15975 return 0;
15976}
15977_ACEOF
15978if ac_fn_c_try_compile "$LINENO"; then :
15979 ac_cv_have_sa_family_t="yes"
15980else
15981 ac_cv_have_sa_family_t="no"
15982
15983fi
15984rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15985
15986fi
15987rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15988
15989fi
15990{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_sa_family_t" >&5
15991$as_echo "$ac_cv_have_sa_family_t" >&6; }
15992if test "x$ac_cv_have_sa_family_t" = "xyes" ; then
15993
15994$as_echo "#define HAVE_SA_FAMILY_T 1" >>confdefs.h
15995
15996fi
15997
15998{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pid_t" >&5
15999$as_echo_n "checking for pid_t... " >&6; }
16000if ${ac_cv_have_pid_t+:} false; then :
16001 $as_echo_n "(cached) " >&6
16002else
16003
16004 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16005/* end confdefs.h. */
16006 #include <sys/types.h>
16007int
16008main ()
16009{
16010 pid_t foo; foo = 1235;
16011 ;
16012 return 0;
16013}
16014_ACEOF
16015if ac_fn_c_try_compile "$LINENO"; then :
16016 ac_cv_have_pid_t="yes"
16017else
16018 ac_cv_have_pid_t="no"
16019
16020fi
16021rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16022
16023fi
16024{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_pid_t" >&5
16025$as_echo "$ac_cv_have_pid_t" >&6; }
16026if test "x$ac_cv_have_pid_t" = "xyes" ; then
16027
16028$as_echo "#define HAVE_PID_T 1" >>confdefs.h
16029
16030fi
16031
16032{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mode_t" >&5
16033$as_echo_n "checking for mode_t... " >&6; }
16034if ${ac_cv_have_mode_t+:} false; then :
16035 $as_echo_n "(cached) " >&6
16036else
16037
16038 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16039/* end confdefs.h. */
16040 #include <sys/types.h>
16041int
16042main ()
16043{
16044 mode_t foo; foo = 1235;
16045 ;
16046 return 0;
16047}
16048_ACEOF
16049if ac_fn_c_try_compile "$LINENO"; then :
16050 ac_cv_have_mode_t="yes"
16051else
16052 ac_cv_have_mode_t="no"
16053
16054fi
16055rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16056
16057fi
16058{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_mode_t" >&5
16059$as_echo "$ac_cv_have_mode_t" >&6; }
16060if test "x$ac_cv_have_mode_t" = "xyes" ; then
16061
16062$as_echo "#define HAVE_MODE_T 1" >>confdefs.h
16063
16064fi
16065
16066
16067{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_storage" >&5
16068$as_echo_n "checking for struct sockaddr_storage... " >&6; }
16069if ${ac_cv_have_struct_sockaddr_storage+:} false; then :
16070 $as_echo_n "(cached) " >&6
16071else
16072
16073 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16074/* end confdefs.h. */
16075
16076#include <sys/types.h>
16077#include <sys/socket.h>
16078
16079int
16080main ()
16081{
16082 struct sockaddr_storage s;
16083 ;
16084 return 0;
16085}
16086_ACEOF
16087if ac_fn_c_try_compile "$LINENO"; then :
16088 ac_cv_have_struct_sockaddr_storage="yes"
16089else
16090 ac_cv_have_struct_sockaddr_storage="no"
16091
16092fi
16093rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16094
16095fi
16096{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_storage" >&5
16097$as_echo "$ac_cv_have_struct_sockaddr_storage" >&6; }
16098if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then
16099
16100$as_echo "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h
16101
16102fi
16103
16104{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_in6" >&5
16105$as_echo_n "checking for struct sockaddr_in6... " >&6; }
16106if ${ac_cv_have_struct_sockaddr_in6+:} false; then :
16107 $as_echo_n "(cached) " >&6
16108else
16109
16110 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16111/* end confdefs.h. */
16112
16113#include <sys/types.h>
16114#include <netinet/in.h>
16115
16116int
16117main ()
16118{
16119 struct sockaddr_in6 s; s.sin6_family = 0;
16120 ;
16121 return 0;
16122}
16123_ACEOF
16124if ac_fn_c_try_compile "$LINENO"; then :
16125 ac_cv_have_struct_sockaddr_in6="yes"
16126else
16127 ac_cv_have_struct_sockaddr_in6="no"
16128
16129fi
16130rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16131
16132fi
16133{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_in6" >&5
16134$as_echo "$ac_cv_have_struct_sockaddr_in6" >&6; }
16135if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then
16136
16137$as_echo "#define HAVE_STRUCT_SOCKADDR_IN6 1" >>confdefs.h
16138
16139fi
16140
16141{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct in6_addr" >&5
16142$as_echo_n "checking for struct in6_addr... " >&6; }
16143if ${ac_cv_have_struct_in6_addr+:} false; then :
16144 $as_echo_n "(cached) " >&6
16145else
16146
16147 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16148/* end confdefs.h. */
16149
16150#include <sys/types.h>
16151#include <netinet/in.h>
16152
16153int
16154main ()
16155{
16156 struct in6_addr s; s.s6_addr[0] = 0;
16157 ;
16158 return 0;
16159}
16160_ACEOF
16161if ac_fn_c_try_compile "$LINENO"; then :
16162 ac_cv_have_struct_in6_addr="yes"
16163else
16164 ac_cv_have_struct_in6_addr="no"
16165
16166fi
16167rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16168
16169fi
16170{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_in6_addr" >&5
16171$as_echo "$ac_cv_have_struct_in6_addr" >&6; }
16172if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then
16173
16174$as_echo "#define HAVE_STRUCT_IN6_ADDR 1" >>confdefs.h
16175
16176
16177 ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_scope_id" "ac_cv_member_struct_sockaddr_in6_sin6_scope_id" "
16178#ifdef HAVE_SYS_TYPES_H
16179#include <sys/types.h>
16180#endif
16181#include <netinet/in.h>
16182
16183"
16184if test "x$ac_cv_member_struct_sockaddr_in6_sin6_scope_id" = xyes; then :
16185
16186cat >>confdefs.h <<_ACEOF
16187#define HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1
16188_ACEOF
16189
16190
16191fi
16192
16193fi
16194
16195{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct addrinfo" >&5
16196$as_echo_n "checking for struct addrinfo... " >&6; }
16197if ${ac_cv_have_struct_addrinfo+:} false; then :
16198 $as_echo_n "(cached) " >&6
16199else
16200
16201 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16202/* end confdefs.h. */
16203
16204#include <sys/types.h>
16205#include <sys/socket.h>
16206#include <netdb.h>
16207
16208int
16209main ()
16210{
16211 struct addrinfo s; s.ai_flags = AI_PASSIVE;
16212 ;
16213 return 0;
16214}
16215_ACEOF
16216if ac_fn_c_try_compile "$LINENO"; then :
16217 ac_cv_have_struct_addrinfo="yes"
16218else
16219 ac_cv_have_struct_addrinfo="no"
16220
16221fi
16222rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16223
16224fi
16225{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_addrinfo" >&5
16226$as_echo "$ac_cv_have_struct_addrinfo" >&6; }
16227if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then
16228
16229$as_echo "#define HAVE_STRUCT_ADDRINFO 1" >>confdefs.h
16230
16231fi
16232
16233{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
16234$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
16235if ${ac_cv_header_time+:} false; then :
16236 $as_echo_n "(cached) " >&6
16237else
16238 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16239/* end confdefs.h. */
16240#include <sys/types.h>
16241#include <sys/time.h>
16242#include <time.h>
16243
16244int
16245main ()
16246{
16247if ((struct tm *) 0)
16248return 0;
16249 ;
16250 return 0;
16251}
16252_ACEOF
16253if ac_fn_c_try_compile "$LINENO"; then :
16254 ac_cv_header_time=yes
16255else
16256 ac_cv_header_time=no
16257fi
16258rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16259fi
16260{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
16261$as_echo "$ac_cv_header_time" >&6; }
16262if test $ac_cv_header_time = yes; then
16263
16264$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
16265
16266fi
16267
16268
16269{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5
16270$as_echo_n "checking for struct timeval... " >&6; }
16271if ${ac_cv_have_struct_timeval+:} false; then :
16272 $as_echo_n "(cached) " >&6
16273else
16274
16275 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16276/* end confdefs.h. */
16277 #include <sys/time.h>
16278int
16279main ()
16280{
16281 struct timeval tv; tv.tv_sec = 1;
16282 ;
16283 return 0;
16284}
16285_ACEOF
16286if ac_fn_c_try_compile "$LINENO"; then :
16287 ac_cv_have_struct_timeval="yes"
16288else
16289 ac_cv_have_struct_timeval="no"
16290
16291fi
16292rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16293
16294fi
16295{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_timeval" >&5
16296$as_echo "$ac_cv_have_struct_timeval" >&6; }
16297if test "x$ac_cv_have_struct_timeval" = "xyes" ; then
16298
16299$as_echo "#define HAVE_STRUCT_TIMEVAL 1" >>confdefs.h
16300
16301 have_struct_timeval=1
16302fi
16303
16304{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec" >&5
16305$as_echo_n "checking for struct timespec... " >&6; }
16306if ${ac_cv_have_struct_timespec+:} false; then :
16307 $as_echo_n "(cached) " >&6
16308else
16309
16310 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16311/* end confdefs.h. */
16312
16313 #ifdef TIME_WITH_SYS_TIME
16314 # include <sys/time.h>
16315 # include <time.h>
16316 #else
16317 # ifdef HAVE_SYS_TIME_H
16318 # include <sys/time.h>
16319 # else
16320 # include <time.h>
16321 # endif
16322 #endif
16323
16324int
16325main ()
16326{
16327 struct timespec ts; ts.tv_sec = 1;
16328 ;
16329 return 0;
16330}
16331_ACEOF
16332if ac_fn_c_try_compile "$LINENO"; then :
16333 ac_cv_have_struct_timespec="yes"
16334else
16335 ac_cv_have_struct_timespec="no"
16336
16337fi
16338rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16339
16340fi
16341{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_timespec" >&5
16342$as_echo "$ac_cv_have_struct_timespec" >&6; }
16343if test "x$ac_cv_have_struct_timespec" = "xyes" ; then
16344
16345$as_echo "#define HAVE_STRUCT_TIMESPEC 1" >>confdefs.h
16346
16347 have_struct_timespec=1
16348fi
16349
16350# We need int64_t or else certain parts of the compile will fail.
16351if test "x$ac_cv_have_int64_t" = "xno" && \
16352 test "x$ac_cv_sizeof_long_int" != "x8" && \
16353 test "x$ac_cv_sizeof_long_long_int" = "x0" ; then
16354 echo "OpenSSH requires int64_t support. Contact your vendor or install"
16355 echo "an alternative compiler (I.E., GCC) before continuing."
16356 echo ""
16357 exit 1;
16358else
16359 if test "$cross_compiling" = yes; then :
16360 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
16361$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
16362
16363else
16364 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16365/* end confdefs.h. */
16366
16367#include <stdio.h>
16368#include <string.h>
16369#ifdef HAVE_SNPRINTF
16370main()
16371{
16372 char buf[50];
16373 char expected_out[50];
16374 int mazsize = 50 ;
16375#if (SIZEOF_LONG_INT == 8)
16376 long int num = 0x7fffffffffffffff;
16377#else
16378 long long num = 0x7fffffffffffffffll;
16379#endif
16380 strcpy(expected_out, "9223372036854775807");
16381 snprintf(buf, mazsize, "%lld", num);
16382 if(strcmp(buf, expected_out) != 0)
16383 exit(1);
16384 exit(0);
16385}
16386#else
16387main() { exit(0); }
16388#endif
16389
16390_ACEOF
16391if ac_fn_c_try_run "$LINENO"; then :
16392 true
16393else
16394 $as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
16395
16396fi
16397rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
16398 conftest.$ac_objext conftest.beam conftest.$ac_ext
16399fi
16400
16401fi
16402
16403
16404# look for field 'ut_host' in header 'utmp.h'
16405 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16406 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host
16407 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmp.h" >&5
16408$as_echo_n "checking for ut_host field in utmp.h... " >&6; }
16409 if eval \${$ossh_varname+:} false; then :
16410 $as_echo_n "(cached) " >&6
16411else
16412
16413 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16414/* end confdefs.h. */
16415#include <utmp.h>
16416
16417_ACEOF
16418if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16419 $EGREP "ut_host" >/dev/null 2>&1; then :
16420 eval "$ossh_varname=yes"
16421else
16422 eval "$ossh_varname=no"
16423fi
16424rm -f conftest*
16425
16426fi
16427
16428 ossh_result=`eval 'echo $'"$ossh_varname"`
16429 if test -n "`echo $ossh_varname`"; then
16430 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16431$as_echo "$ossh_result" >&6; }
16432 if test "x$ossh_result" = "xyes"; then
16433
16434$as_echo "#define HAVE_HOST_IN_UTMP 1" >>confdefs.h
16435
16436 fi
16437 else
16438 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16439$as_echo "no" >&6; }
16440 fi
16441
16442
16443# look for field 'ut_host' in header 'utmpx.h'
16444 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16445 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host
16446 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmpx.h" >&5
16447$as_echo_n "checking for ut_host field in utmpx.h... " >&6; }
16448 if eval \${$ossh_varname+:} false; then :
16449 $as_echo_n "(cached) " >&6
16450else
16451
16452 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16453/* end confdefs.h. */
16454#include <utmpx.h>
16455
16456_ACEOF
16457if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16458 $EGREP "ut_host" >/dev/null 2>&1; then :
16459 eval "$ossh_varname=yes"
16460else
16461 eval "$ossh_varname=no"
16462fi
16463rm -f conftest*
16464
16465fi
16466
16467 ossh_result=`eval 'echo $'"$ossh_varname"`
16468 if test -n "`echo $ossh_varname`"; then
16469 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16470$as_echo "$ossh_result" >&6; }
16471 if test "x$ossh_result" = "xyes"; then
16472
16473$as_echo "#define HAVE_HOST_IN_UTMPX 1" >>confdefs.h
16474
16475 fi
16476 else
16477 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16478$as_echo "no" >&6; }
16479 fi
16480
16481
16482# look for field 'syslen' in header 'utmpx.h'
16483 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16484 ossh_varname="ossh_cv_$ossh_safe""_has_"syslen
16485 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslen field in utmpx.h" >&5
16486$as_echo_n "checking for syslen field in utmpx.h... " >&6; }
16487 if eval \${$ossh_varname+:} false; then :
16488 $as_echo_n "(cached) " >&6
16489else
16490
16491 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16492/* end confdefs.h. */
16493#include <utmpx.h>
16494
16495_ACEOF
16496if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16497 $EGREP "syslen" >/dev/null 2>&1; then :
16498 eval "$ossh_varname=yes"
16499else
16500 eval "$ossh_varname=no"
16501fi
16502rm -f conftest*
16503
16504fi
16505
16506 ossh_result=`eval 'echo $'"$ossh_varname"`
16507 if test -n "`echo $ossh_varname`"; then
16508 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16509$as_echo "$ossh_result" >&6; }
16510 if test "x$ossh_result" = "xyes"; then
16511
16512$as_echo "#define HAVE_SYSLEN_IN_UTMPX 1" >>confdefs.h
16513
16514 fi
16515 else
16516 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16517$as_echo "no" >&6; }
16518 fi
16519
16520
16521# look for field 'ut_pid' in header 'utmp.h'
16522 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16523 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_pid
16524 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_pid field in utmp.h" >&5
16525$as_echo_n "checking for ut_pid field in utmp.h... " >&6; }
16526 if eval \${$ossh_varname+:} false; then :
16527 $as_echo_n "(cached) " >&6
16528else
16529
16530 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16531/* end confdefs.h. */
16532#include <utmp.h>
16533
16534_ACEOF
16535if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16536 $EGREP "ut_pid" >/dev/null 2>&1; then :
16537 eval "$ossh_varname=yes"
16538else
16539 eval "$ossh_varname=no"
16540fi
16541rm -f conftest*
16542
16543fi
16544
16545 ossh_result=`eval 'echo $'"$ossh_varname"`
16546 if test -n "`echo $ossh_varname`"; then
16547 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16548$as_echo "$ossh_result" >&6; }
16549 if test "x$ossh_result" = "xyes"; then
16550
16551$as_echo "#define HAVE_PID_IN_UTMP 1" >>confdefs.h
16552
16553 fi
16554 else
16555 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16556$as_echo "no" >&6; }
16557 fi
16558
16559
16560# look for field 'ut_type' in header 'utmp.h'
16561 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16562 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type
16563 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmp.h" >&5
16564$as_echo_n "checking for ut_type field in utmp.h... " >&6; }
16565 if eval \${$ossh_varname+:} false; then :
16566 $as_echo_n "(cached) " >&6
16567else
16568
16569 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16570/* end confdefs.h. */
16571#include <utmp.h>
16572
16573_ACEOF
16574if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16575 $EGREP "ut_type" >/dev/null 2>&1; then :
16576 eval "$ossh_varname=yes"
16577else
16578 eval "$ossh_varname=no"
16579fi
16580rm -f conftest*
16581
16582fi
16583
16584 ossh_result=`eval 'echo $'"$ossh_varname"`
16585 if test -n "`echo $ossh_varname`"; then
16586 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16587$as_echo "$ossh_result" >&6; }
16588 if test "x$ossh_result" = "xyes"; then
16589
16590$as_echo "#define HAVE_TYPE_IN_UTMP 1" >>confdefs.h
16591
16592 fi
16593 else
16594 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16595$as_echo "no" >&6; }
16596 fi
16597
16598
16599# look for field 'ut_type' in header 'utmpx.h'
16600 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16601 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type
16602 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmpx.h" >&5
16603$as_echo_n "checking for ut_type field in utmpx.h... " >&6; }
16604 if eval \${$ossh_varname+:} false; then :
16605 $as_echo_n "(cached) " >&6
16606else
16607
16608 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16609/* end confdefs.h. */
16610#include <utmpx.h>
16611
16612_ACEOF
16613if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16614 $EGREP "ut_type" >/dev/null 2>&1; then :
16615 eval "$ossh_varname=yes"
16616else
16617 eval "$ossh_varname=no"
16618fi
16619rm -f conftest*
16620
16621fi
16622
16623 ossh_result=`eval 'echo $'"$ossh_varname"`
16624 if test -n "`echo $ossh_varname`"; then
16625 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16626$as_echo "$ossh_result" >&6; }
16627 if test "x$ossh_result" = "xyes"; then
16628
16629$as_echo "#define HAVE_TYPE_IN_UTMPX 1" >>confdefs.h
16630
16631 fi
16632 else
16633 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16634$as_echo "no" >&6; }
16635 fi
16636
16637
16638# look for field 'ut_tv' in header 'utmp.h'
16639 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16640 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv
16641 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmp.h" >&5
16642$as_echo_n "checking for ut_tv field in utmp.h... " >&6; }
16643 if eval \${$ossh_varname+:} false; then :
16644 $as_echo_n "(cached) " >&6
16645else
16646
16647 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16648/* end confdefs.h. */
16649#include <utmp.h>
16650
16651_ACEOF
16652if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16653 $EGREP "ut_tv" >/dev/null 2>&1; then :
16654 eval "$ossh_varname=yes"
16655else
16656 eval "$ossh_varname=no"
16657fi
16658rm -f conftest*
16659
16660fi
16661
16662 ossh_result=`eval 'echo $'"$ossh_varname"`
16663 if test -n "`echo $ossh_varname`"; then
16664 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16665$as_echo "$ossh_result" >&6; }
16666 if test "x$ossh_result" = "xyes"; then
16667
16668$as_echo "#define HAVE_TV_IN_UTMP 1" >>confdefs.h
16669
16670 fi
16671 else
16672 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16673$as_echo "no" >&6; }
16674 fi
16675
16676
16677# look for field 'ut_id' in header 'utmp.h'
16678 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16679 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id
16680 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmp.h" >&5
16681$as_echo_n "checking for ut_id field in utmp.h... " >&6; }
16682 if eval \${$ossh_varname+:} false; then :
16683 $as_echo_n "(cached) " >&6
16684else
16685
16686 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16687/* end confdefs.h. */
16688#include <utmp.h>
16689
16690_ACEOF
16691if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16692 $EGREP "ut_id" >/dev/null 2>&1; then :
16693 eval "$ossh_varname=yes"
16694else
16695 eval "$ossh_varname=no"
16696fi
16697rm -f conftest*
16698
16699fi
16700
16701 ossh_result=`eval 'echo $'"$ossh_varname"`
16702 if test -n "`echo $ossh_varname`"; then
16703 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16704$as_echo "$ossh_result" >&6; }
16705 if test "x$ossh_result" = "xyes"; then
16706
16707$as_echo "#define HAVE_ID_IN_UTMP 1" >>confdefs.h
16708
16709 fi
16710 else
16711 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16712$as_echo "no" >&6; }
16713 fi
16714
16715
16716# look for field 'ut_id' in header 'utmpx.h'
16717 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16718 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id
16719 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmpx.h" >&5
16720$as_echo_n "checking for ut_id field in utmpx.h... " >&6; }
16721 if eval \${$ossh_varname+:} false; then :
16722 $as_echo_n "(cached) " >&6
16723else
16724
16725 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16726/* end confdefs.h. */
16727#include <utmpx.h>
16728
16729_ACEOF
16730if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16731 $EGREP "ut_id" >/dev/null 2>&1; then :
16732 eval "$ossh_varname=yes"
16733else
16734 eval "$ossh_varname=no"
16735fi
16736rm -f conftest*
16737
16738fi
16739
16740 ossh_result=`eval 'echo $'"$ossh_varname"`
16741 if test -n "`echo $ossh_varname`"; then
16742 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16743$as_echo "$ossh_result" >&6; }
16744 if test "x$ossh_result" = "xyes"; then
16745
16746$as_echo "#define HAVE_ID_IN_UTMPX 1" >>confdefs.h
16747
16748 fi
16749 else
16750 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16751$as_echo "no" >&6; }
16752 fi
16753
16754
16755# look for field 'ut_addr' in header 'utmp.h'
16756 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16757 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr
16758 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmp.h" >&5
16759$as_echo_n "checking for ut_addr field in utmp.h... " >&6; }
16760 if eval \${$ossh_varname+:} false; then :
16761 $as_echo_n "(cached) " >&6
16762else
16763
16764 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16765/* end confdefs.h. */
16766#include <utmp.h>
16767
16768_ACEOF
16769if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16770 $EGREP "ut_addr" >/dev/null 2>&1; then :
16771 eval "$ossh_varname=yes"
16772else
16773 eval "$ossh_varname=no"
16774fi
16775rm -f conftest*
16776
16777fi
16778
16779 ossh_result=`eval 'echo $'"$ossh_varname"`
16780 if test -n "`echo $ossh_varname`"; then
16781 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16782$as_echo "$ossh_result" >&6; }
16783 if test "x$ossh_result" = "xyes"; then
16784
16785$as_echo "#define HAVE_ADDR_IN_UTMP 1" >>confdefs.h
16786
16787 fi
16788 else
16789 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16790$as_echo "no" >&6; }
16791 fi
16792
16793
16794# look for field 'ut_addr' in header 'utmpx.h'
16795 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16796 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr
16797 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmpx.h" >&5
16798$as_echo_n "checking for ut_addr field in utmpx.h... " >&6; }
16799 if eval \${$ossh_varname+:} false; then :
16800 $as_echo_n "(cached) " >&6
16801else
16802
16803 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16804/* end confdefs.h. */
16805#include <utmpx.h>
16806
16807_ACEOF
16808if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16809 $EGREP "ut_addr" >/dev/null 2>&1; then :
16810 eval "$ossh_varname=yes"
16811else
16812 eval "$ossh_varname=no"
16813fi
16814rm -f conftest*
16815
16816fi
16817
16818 ossh_result=`eval 'echo $'"$ossh_varname"`
16819 if test -n "`echo $ossh_varname`"; then
16820 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16821$as_echo "$ossh_result" >&6; }
16822 if test "x$ossh_result" = "xyes"; then
16823
16824$as_echo "#define HAVE_ADDR_IN_UTMPX 1" >>confdefs.h
16825
16826 fi
16827 else
16828 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16829$as_echo "no" >&6; }
16830 fi
16831
16832
16833# look for field 'ut_addr_v6' in header 'utmp.h'
16834 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16835 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6
16836 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmp.h" >&5
16837$as_echo_n "checking for ut_addr_v6 field in utmp.h... " >&6; }
16838 if eval \${$ossh_varname+:} false; then :
16839 $as_echo_n "(cached) " >&6
16840else
16841
16842 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16843/* end confdefs.h. */
16844#include <utmp.h>
16845
16846_ACEOF
16847if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16848 $EGREP "ut_addr_v6" >/dev/null 2>&1; then :
16849 eval "$ossh_varname=yes"
16850else
16851 eval "$ossh_varname=no"
16852fi
16853rm -f conftest*
16854
16855fi
16856
16857 ossh_result=`eval 'echo $'"$ossh_varname"`
16858 if test -n "`echo $ossh_varname`"; then
16859 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16860$as_echo "$ossh_result" >&6; }
16861 if test "x$ossh_result" = "xyes"; then
16862
16863$as_echo "#define HAVE_ADDR_V6_IN_UTMP 1" >>confdefs.h
16864
16865 fi
16866 else
16867 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16868$as_echo "no" >&6; }
16869 fi
16870
16871
16872# look for field 'ut_addr_v6' in header 'utmpx.h'
16873 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16874 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6
16875 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmpx.h" >&5
16876$as_echo_n "checking for ut_addr_v6 field in utmpx.h... " >&6; }
16877 if eval \${$ossh_varname+:} false; then :
16878 $as_echo_n "(cached) " >&6
16879else
16880
16881 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16882/* end confdefs.h. */
16883#include <utmpx.h>
16884
16885_ACEOF
16886if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16887 $EGREP "ut_addr_v6" >/dev/null 2>&1; then :
16888 eval "$ossh_varname=yes"
16889else
16890 eval "$ossh_varname=no"
16891fi
16892rm -f conftest*
16893
16894fi
16895
16896 ossh_result=`eval 'echo $'"$ossh_varname"`
16897 if test -n "`echo $ossh_varname`"; then
16898 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16899$as_echo "$ossh_result" >&6; }
16900 if test "x$ossh_result" = "xyes"; then
16901
16902$as_echo "#define HAVE_ADDR_V6_IN_UTMPX 1" >>confdefs.h
16903
16904 fi
16905 else
16906 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16907$as_echo "no" >&6; }
16908 fi
16909
16910
16911# look for field 'ut_exit' in header 'utmp.h'
16912 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16913 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_exit
16914 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_exit field in utmp.h" >&5
16915$as_echo_n "checking for ut_exit field in utmp.h... " >&6; }
16916 if eval \${$ossh_varname+:} false; then :
16917 $as_echo_n "(cached) " >&6
16918else
16919
16920 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16921/* end confdefs.h. */
16922#include <utmp.h>
16923
16924_ACEOF
16925if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16926 $EGREP "ut_exit" >/dev/null 2>&1; then :
16927 eval "$ossh_varname=yes"
16928else
16929 eval "$ossh_varname=no"
16930fi
16931rm -f conftest*
16932
16933fi
16934
16935 ossh_result=`eval 'echo $'"$ossh_varname"`
16936 if test -n "`echo $ossh_varname`"; then
16937 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16938$as_echo "$ossh_result" >&6; }
16939 if test "x$ossh_result" = "xyes"; then
16940
16941$as_echo "#define HAVE_EXIT_IN_UTMP 1" >>confdefs.h
16942
16943 fi
16944 else
16945 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16946$as_echo "no" >&6; }
16947 fi
16948
16949
16950# look for field 'ut_time' in header 'utmp.h'
16951 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16952 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time
16953 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmp.h" >&5
16954$as_echo_n "checking for ut_time field in utmp.h... " >&6; }
16955 if eval \${$ossh_varname+:} false; then :
16956 $as_echo_n "(cached) " >&6
16957else
16958
16959 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16960/* end confdefs.h. */
16961#include <utmp.h>
16962
16963_ACEOF
16964if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16965 $EGREP "ut_time" >/dev/null 2>&1; then :
16966 eval "$ossh_varname=yes"
16967else
16968 eval "$ossh_varname=no"
16969fi
16970rm -f conftest*
16971
16972fi
16973
16974 ossh_result=`eval 'echo $'"$ossh_varname"`
16975 if test -n "`echo $ossh_varname`"; then
16976 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16977$as_echo "$ossh_result" >&6; }
16978 if test "x$ossh_result" = "xyes"; then
16979
16980$as_echo "#define HAVE_TIME_IN_UTMP 1" >>confdefs.h
16981
16982 fi
16983 else
16984 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16985$as_echo "no" >&6; }
16986 fi
16987
16988
16989# look for field 'ut_time' in header 'utmpx.h'
16990 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16991 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time
16992 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmpx.h" >&5
16993$as_echo_n "checking for ut_time field in utmpx.h... " >&6; }
16994 if eval \${$ossh_varname+:} false; then :
16995 $as_echo_n "(cached) " >&6
16996else
16997
16998 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16999/* end confdefs.h. */
17000#include <utmpx.h>
17001
17002_ACEOF
17003if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17004 $EGREP "ut_time" >/dev/null 2>&1; then :
17005 eval "$ossh_varname=yes"
17006else
17007 eval "$ossh_varname=no"
17008fi
17009rm -f conftest*
17010
17011fi
17012
17013 ossh_result=`eval 'echo $'"$ossh_varname"`
17014 if test -n "`echo $ossh_varname`"; then
17015 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17016$as_echo "$ossh_result" >&6; }
17017 if test "x$ossh_result" = "xyes"; then
17018
17019$as_echo "#define HAVE_TIME_IN_UTMPX 1" >>confdefs.h
17020
17021 fi
17022 else
17023 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17024$as_echo "no" >&6; }
17025 fi
17026
17027
17028# look for field 'ut_tv' in header 'utmpx.h'
17029 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17030 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv
17031 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmpx.h" >&5
17032$as_echo_n "checking for ut_tv field in utmpx.h... " >&6; }
17033 if eval \${$ossh_varname+:} false; then :
17034 $as_echo_n "(cached) " >&6
17035else
17036
17037 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17038/* end confdefs.h. */
17039#include <utmpx.h>
17040
17041_ACEOF
17042if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17043 $EGREP "ut_tv" >/dev/null 2>&1; then :
17044 eval "$ossh_varname=yes"
17045else
17046 eval "$ossh_varname=no"
17047fi
17048rm -f conftest*
17049
17050fi
17051
17052 ossh_result=`eval 'echo $'"$ossh_varname"`
17053 if test -n "`echo $ossh_varname`"; then
17054 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17055$as_echo "$ossh_result" >&6; }
17056 if test "x$ossh_result" = "xyes"; then
17057
17058$as_echo "#define HAVE_TV_IN_UTMPX 1" >>confdefs.h
17059
17060 fi
17061 else
17062 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17063$as_echo "no" >&6; }
17064 fi
17065
17066
17067ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default"
17068if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
17069
17070cat >>confdefs.h <<_ACEOF
17071#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
17072_ACEOF
17073
17074
17075fi
17076
17077ac_fn_c_check_member "$LINENO" "struct stat" "st_mtim" "ac_cv_member_struct_stat_st_mtim" "$ac_includes_default"
17078if test "x$ac_cv_member_struct_stat_st_mtim" = xyes; then :
17079
17080cat >>confdefs.h <<_ACEOF
17081#define HAVE_STRUCT_STAT_ST_MTIM 1
17082_ACEOF
17083
17084
17085fi
17086
17087ac_fn_c_check_member "$LINENO" "struct stat" "st_mtime" "ac_cv_member_struct_stat_st_mtime" "$ac_includes_default"
17088if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
17089
17090cat >>confdefs.h <<_ACEOF
17091#define HAVE_STRUCT_STAT_ST_MTIME 1
17092_ACEOF
17093
17094
17095fi
17096
17097ac_fn_c_check_member "$LINENO" "struct passwd" "pw_gecos" "ac_cv_member_struct_passwd_pw_gecos" "
17098#include <sys/types.h>
17099#include <pwd.h>
17100
17101"
17102if test "x$ac_cv_member_struct_passwd_pw_gecos" = xyes; then :
17103
17104cat >>confdefs.h <<_ACEOF
17105#define HAVE_STRUCT_PASSWD_PW_GECOS 1
17106_ACEOF
17107
17108
17109fi
17110ac_fn_c_check_member "$LINENO" "struct passwd" "pw_class" "ac_cv_member_struct_passwd_pw_class" "
17111#include <sys/types.h>
17112#include <pwd.h>
17113
17114"
17115if test "x$ac_cv_member_struct_passwd_pw_class" = xyes; then :
17116
17117cat >>confdefs.h <<_ACEOF
17118#define HAVE_STRUCT_PASSWD_PW_CLASS 1
17119_ACEOF
17120
17121
17122fi
17123ac_fn_c_check_member "$LINENO" "struct passwd" "pw_change" "ac_cv_member_struct_passwd_pw_change" "
17124#include <sys/types.h>
17125#include <pwd.h>
17126
17127"
17128if test "x$ac_cv_member_struct_passwd_pw_change" = xyes; then :
17129
17130cat >>confdefs.h <<_ACEOF
17131#define HAVE_STRUCT_PASSWD_PW_CHANGE 1
17132_ACEOF
17133
17134
17135fi
17136ac_fn_c_check_member "$LINENO" "struct passwd" "pw_expire" "ac_cv_member_struct_passwd_pw_expire" "
17137#include <sys/types.h>
17138#include <pwd.h>
17139
17140"
17141if test "x$ac_cv_member_struct_passwd_pw_expire" = xyes; then :
17142
17143cat >>confdefs.h <<_ACEOF
17144#define HAVE_STRUCT_PASSWD_PW_EXPIRE 1
17145_ACEOF
17146
17147
17148fi
17149
17150
17151ac_fn_c_check_member "$LINENO" "struct __res_state" "retrans" "ac_cv_member_struct___res_state_retrans" "
17152#include <stdio.h>
17153#if HAVE_SYS_TYPES_H
17154# include <sys/types.h>
17155#endif
17156#include <netinet/in.h>
17157#include <arpa/nameser.h>
17158#include <resolv.h>
17159
17160"
17161if test "x$ac_cv_member_struct___res_state_retrans" = xyes; then :
17162
17163else
17164
17165$as_echo "#define __res_state state" >>confdefs.h
17166
17167fi
17168
17169
17170{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ss_family field in struct sockaddr_storage" >&5
17171$as_echo_n "checking for ss_family field in struct sockaddr_storage... " >&6; }
17172if ${ac_cv_have_ss_family_in_struct_ss+:} false; then :
17173 $as_echo_n "(cached) " >&6
17174else
17175
17176 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17177/* end confdefs.h. */
17178
17179#include <sys/types.h>
17180#include <sys/socket.h>
17181
17182int
17183main ()
17184{
17185 struct sockaddr_storage s; s.ss_family = 1;
17186 ;
17187 return 0;
17188}
17189_ACEOF
17190if ac_fn_c_try_compile "$LINENO"; then :
17191 ac_cv_have_ss_family_in_struct_ss="yes"
17192else
17193 ac_cv_have_ss_family_in_struct_ss="no"
17194fi
17195rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17196
17197fi
17198{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ss_family_in_struct_ss" >&5
17199$as_echo "$ac_cv_have_ss_family_in_struct_ss" >&6; }
17200if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then
17201
17202$as_echo "#define HAVE_SS_FAMILY_IN_SS 1" >>confdefs.h
17203
17204fi
17205
17206{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __ss_family field in struct sockaddr_storage" >&5
17207$as_echo_n "checking for __ss_family field in struct sockaddr_storage... " >&6; }
17208if ${ac_cv_have___ss_family_in_struct_ss+:} false; then :
17209 $as_echo_n "(cached) " >&6
17210else
17211
17212 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17213/* end confdefs.h. */
17214
17215#include <sys/types.h>
17216#include <sys/socket.h>
17217
17218int
17219main ()
17220{
17221 struct sockaddr_storage s; s.__ss_family = 1;
17222 ;
17223 return 0;
17224}
17225_ACEOF
17226if ac_fn_c_try_compile "$LINENO"; then :
17227 ac_cv_have___ss_family_in_struct_ss="yes"
17228else
17229 ac_cv_have___ss_family_in_struct_ss="no"
17230
17231fi
17232rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17233
17234fi
17235{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___ss_family_in_struct_ss" >&5
17236$as_echo "$ac_cv_have___ss_family_in_struct_ss" >&6; }
17237if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then
17238
17239$as_echo "#define HAVE___SS_FAMILY_IN_SS 1" >>confdefs.h
17240
17241fi
17242
17243{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_accrights field in struct msghdr" >&5
17244$as_echo_n "checking for msg_accrights field in struct msghdr... " >&6; }
17245if ${ac_cv_have_accrights_in_msghdr+:} false; then :
17246 $as_echo_n "(cached) " >&6
17247else
17248
17249 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17250/* end confdefs.h. */
17251
17252#include <sys/types.h>
17253#include <sys/socket.h>
17254#include <sys/uio.h>
17255
17256int
17257main ()
17258{
17259
17260#ifdef msg_accrights
17261#error "msg_accrights is a macro"
17262exit(1);
17263#endif
17264struct msghdr m;
17265m.msg_accrights = 0;
17266exit(0);
17267
17268 ;
17269 return 0;
17270}
17271_ACEOF
17272if ac_fn_c_try_compile "$LINENO"; then :
17273 ac_cv_have_accrights_in_msghdr="yes"
17274else
17275 ac_cv_have_accrights_in_msghdr="no"
17276
17277fi
17278rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17279
17280fi
17281{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_accrights_in_msghdr" >&5
17282$as_echo "$ac_cv_have_accrights_in_msghdr" >&6; }
17283if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then
17284
17285$as_echo "#define HAVE_ACCRIGHTS_IN_MSGHDR 1" >>confdefs.h
17286
17287fi
17288
17289{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct statvfs.f_fsid is integral type" >&5
17290$as_echo_n "checking if struct statvfs.f_fsid is integral type... " >&6; }
17291cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17292/* end confdefs.h. */
17293
17294#include <sys/param.h>
17295#include <sys/stat.h>
17296#ifdef HAVE_SYS_TIME_H
17297# include <sys/time.h>
17298#endif
17299#ifdef HAVE_SYS_MOUNT_H
17300#include <sys/mount.h>
17301#endif
17302#ifdef HAVE_SYS_STATVFS_H
17303#include <sys/statvfs.h>
17304#endif
17305
17306int
17307main ()
17308{
17309 struct statvfs s; s.f_fsid = 0;
17310 ;
17311 return 0;
17312}
17313_ACEOF
17314if ac_fn_c_try_compile "$LINENO"; then :
17315 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17316$as_echo "yes" >&6; }
17317else
17318 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17319$as_echo "no" >&6; }
17320
17321 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fsid_t has member val" >&5
17322$as_echo_n "checking if fsid_t has member val... " >&6; }
17323 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17324/* end confdefs.h. */
17325
17326#include <sys/types.h>
17327#include <sys/statvfs.h>
17328
17329int
17330main ()
17331{
17332 fsid_t t; t.val[0] = 0;
17333 ;
17334 return 0;
17335}
17336_ACEOF
17337if ac_fn_c_try_compile "$LINENO"; then :
17338 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17339$as_echo "yes" >&6; }
17340
17341$as_echo "#define FSID_HAS_VAL 1" >>confdefs.h
17342
17343else
17344 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17345$as_echo "no" >&6; }
17346fi
17347rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17348
17349 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if f_fsid has member __val" >&5
17350$as_echo_n "checking if f_fsid has member __val... " >&6; }
17351 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17352/* end confdefs.h. */
17353
17354#include <sys/types.h>
17355#include <sys/statvfs.h>
17356
17357int
17358main ()
17359{
17360 fsid_t t; t.__val[0] = 0;
17361 ;
17362 return 0;
17363}
17364_ACEOF
17365if ac_fn_c_try_compile "$LINENO"; then :
17366 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17367$as_echo "yes" >&6; }
17368
17369$as_echo "#define FSID_HAS___VAL 1" >>confdefs.h
17370
17371else
17372 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17373$as_echo "no" >&6; }
17374fi
17375rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17376
17377fi
17378rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17379
17380{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_control field in struct msghdr" >&5
17381$as_echo_n "checking for msg_control field in struct msghdr... " >&6; }
17382if ${ac_cv_have_control_in_msghdr+:} false; then :
17383 $as_echo_n "(cached) " >&6
17384else
17385
17386 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17387/* end confdefs.h. */
17388
17389#include <sys/types.h>
17390#include <sys/socket.h>
17391#include <sys/uio.h>
17392
17393int
17394main ()
17395{
17396
17397#ifdef msg_control
17398#error "msg_control is a macro"
17399exit(1);
17400#endif
17401struct msghdr m;
17402m.msg_control = 0;
17403exit(0);
17404
17405 ;
17406 return 0;
17407}
17408_ACEOF
17409if ac_fn_c_try_compile "$LINENO"; then :
17410 ac_cv_have_control_in_msghdr="yes"
17411else
17412 ac_cv_have_control_in_msghdr="no"
17413
17414fi
17415rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17416
17417fi
17418{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_control_in_msghdr" >&5
17419$as_echo "$ac_cv_have_control_in_msghdr" >&6; }
17420if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then
17421
17422$as_echo "#define HAVE_CONTROL_IN_MSGHDR 1" >>confdefs.h
17423
17424fi
17425
17426{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines __progname" >&5
17427$as_echo_n "checking if libc defines __progname... " >&6; }
17428if ${ac_cv_libc_defines___progname+:} false; then :
17429 $as_echo_n "(cached) " >&6
17430else
17431
17432 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17433/* end confdefs.h. */
17434
17435int
17436main ()
17437{
17438 extern char *__progname; printf("%s", __progname);
17439 ;
17440 return 0;
17441}
17442_ACEOF
17443if ac_fn_c_try_link "$LINENO"; then :
17444 ac_cv_libc_defines___progname="yes"
17445else
17446 ac_cv_libc_defines___progname="no"
17447
17448fi
17449rm -f core conftest.err conftest.$ac_objext \
17450 conftest$ac_exeext conftest.$ac_ext
17451
17452fi
17453{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines___progname" >&5
17454$as_echo "$ac_cv_libc_defines___progname" >&6; }
17455if test "x$ac_cv_libc_defines___progname" = "xyes" ; then
17456
17457$as_echo "#define HAVE___PROGNAME 1" >>confdefs.h
17458
17459fi
17460
17461{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __FUNCTION__" >&5
17462$as_echo_n "checking whether $CC implements __FUNCTION__... " >&6; }
17463if ${ac_cv_cc_implements___FUNCTION__+:} false; then :
17464 $as_echo_n "(cached) " >&6
17465else
17466
17467 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17468/* end confdefs.h. */
17469 #include <stdio.h>
17470int
17471main ()
17472{
17473 printf("%s", __FUNCTION__);
17474 ;
17475 return 0;
17476}
17477_ACEOF
17478if ac_fn_c_try_link "$LINENO"; then :
17479 ac_cv_cc_implements___FUNCTION__="yes"
17480else
17481 ac_cv_cc_implements___FUNCTION__="no"
17482
17483fi
17484rm -f core conftest.err conftest.$ac_objext \
17485 conftest$ac_exeext conftest.$ac_ext
17486
17487fi
17488{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___FUNCTION__" >&5
17489$as_echo "$ac_cv_cc_implements___FUNCTION__" >&6; }
17490if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then
17491
17492$as_echo "#define HAVE___FUNCTION__ 1" >>confdefs.h
17493
17494fi
17495
17496{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __func__" >&5
17497$as_echo_n "checking whether $CC implements __func__... " >&6; }
17498if ${ac_cv_cc_implements___func__+:} false; then :
17499 $as_echo_n "(cached) " >&6
17500else
17501
17502 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17503/* end confdefs.h. */
17504 #include <stdio.h>
17505int
17506main ()
17507{
17508 printf("%s", __func__);
17509 ;
17510 return 0;
17511}
17512_ACEOF
17513if ac_fn_c_try_link "$LINENO"; then :
17514 ac_cv_cc_implements___func__="yes"
17515else
17516 ac_cv_cc_implements___func__="no"
17517
17518fi
17519rm -f core conftest.err conftest.$ac_objext \
17520 conftest$ac_exeext conftest.$ac_ext
17521
17522fi
17523{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___func__" >&5
17524$as_echo "$ac_cv_cc_implements___func__" >&6; }
17525if test "x$ac_cv_cc_implements___func__" = "xyes" ; then
17526
17527$as_echo "#define HAVE___func__ 1" >>confdefs.h
17528
17529fi
17530
17531{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether va_copy exists" >&5
17532$as_echo_n "checking whether va_copy exists... " >&6; }
17533if ${ac_cv_have_va_copy+:} false; then :
17534 $as_echo_n "(cached) " >&6
17535else
17536
17537 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17538/* end confdefs.h. */
17539
17540#include <stdarg.h>
17541va_list x,y;
17542
17543int
17544main ()
17545{
17546 va_copy(x,y);
17547 ;
17548 return 0;
17549}
17550_ACEOF
17551if ac_fn_c_try_link "$LINENO"; then :
17552 ac_cv_have_va_copy="yes"
17553else
17554 ac_cv_have_va_copy="no"
17555
17556fi
17557rm -f core conftest.err conftest.$ac_objext \
17558 conftest$ac_exeext conftest.$ac_ext
17559
17560fi
17561{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_va_copy" >&5
17562$as_echo "$ac_cv_have_va_copy" >&6; }
17563if test "x$ac_cv_have_va_copy" = "xyes" ; then
17564
17565$as_echo "#define HAVE_VA_COPY 1" >>confdefs.h
17566
17567fi
17568
17569{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __va_copy exists" >&5
17570$as_echo_n "checking whether __va_copy exists... " >&6; }
17571if ${ac_cv_have___va_copy+:} false; then :
17572 $as_echo_n "(cached) " >&6
17573else
17574
17575 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17576/* end confdefs.h. */
17577
17578#include <stdarg.h>
17579va_list x,y;
17580
17581int
17582main ()
17583{
17584 __va_copy(x,y);
17585 ;
17586 return 0;
17587}
17588_ACEOF
17589if ac_fn_c_try_link "$LINENO"; then :
17590 ac_cv_have___va_copy="yes"
17591else
17592 ac_cv_have___va_copy="no"
17593
17594fi
17595rm -f core conftest.err conftest.$ac_objext \
17596 conftest$ac_exeext conftest.$ac_ext
17597
17598fi
17599{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___va_copy" >&5
17600$as_echo "$ac_cv_have___va_copy" >&6; }
17601if test "x$ac_cv_have___va_copy" = "xyes" ; then
17602
17603$as_echo "#define HAVE___VA_COPY 1" >>confdefs.h
17604
17605fi
17606
17607{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt has optreset support" >&5
17608$as_echo_n "checking whether getopt has optreset support... " >&6; }
17609if ${ac_cv_have_getopt_optreset+:} false; then :
17610 $as_echo_n "(cached) " >&6
17611else
17612
17613 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17614/* end confdefs.h. */
17615 #include <getopt.h>
17616int
17617main ()
17618{
17619 extern int optreset; optreset = 0;
17620 ;
17621 return 0;
17622}
17623_ACEOF
17624if ac_fn_c_try_link "$LINENO"; then :
17625 ac_cv_have_getopt_optreset="yes"
17626else
17627 ac_cv_have_getopt_optreset="no"
17628
17629fi
17630rm -f core conftest.err conftest.$ac_objext \
17631 conftest$ac_exeext conftest.$ac_ext
17632
17633fi
17634{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_getopt_optreset" >&5
17635$as_echo "$ac_cv_have_getopt_optreset" >&6; }
17636if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then
17637
17638$as_echo "#define HAVE_GETOPT_OPTRESET 1" >>confdefs.h
17639
17640fi
17641
17642{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_errlist" >&5
17643$as_echo_n "checking if libc defines sys_errlist... " >&6; }
17644if ${ac_cv_libc_defines_sys_errlist+:} false; then :
17645 $as_echo_n "(cached) " >&6
17646else
17647
17648 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17649/* end confdefs.h. */
17650
17651int
17652main ()
17653{
17654 extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);
17655 ;
17656 return 0;
17657}
17658_ACEOF
17659if ac_fn_c_try_link "$LINENO"; then :
17660 ac_cv_libc_defines_sys_errlist="yes"
17661else
17662 ac_cv_libc_defines_sys_errlist="no"
17663
17664fi
17665rm -f core conftest.err conftest.$ac_objext \
17666 conftest$ac_exeext conftest.$ac_ext
17667
17668fi
17669{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_errlist" >&5
17670$as_echo "$ac_cv_libc_defines_sys_errlist" >&6; }
17671if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then
17672
17673$as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h
17674
17675fi
17676
17677
17678{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_nerr" >&5
17679$as_echo_n "checking if libc defines sys_nerr... " >&6; }
17680if ${ac_cv_libc_defines_sys_nerr+:} false; then :
17681 $as_echo_n "(cached) " >&6
17682else
17683
17684 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17685/* end confdefs.h. */
17686
17687int
17688main ()
17689{
17690 extern int sys_nerr; printf("%i", sys_nerr);
17691 ;
17692 return 0;
17693}
17694_ACEOF
17695if ac_fn_c_try_link "$LINENO"; then :
17696 ac_cv_libc_defines_sys_nerr="yes"
17697else
17698 ac_cv_libc_defines_sys_nerr="no"
17699
17700fi
17701rm -f core conftest.err conftest.$ac_objext \
17702 conftest$ac_exeext conftest.$ac_ext
17703
17704fi
17705{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_nerr" >&5
17706$as_echo "$ac_cv_libc_defines_sys_nerr" >&6; }
17707if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then
17708
17709$as_echo "#define HAVE_SYS_NERR 1" >>confdefs.h
17710
17711fi
17712
17713# Check libraries needed by DNS fingerprint support
17714{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getrrsetbyname" >&5
17715$as_echo_n "checking for library containing getrrsetbyname... " >&6; }
17716if ${ac_cv_search_getrrsetbyname+:} false; then :
17717 $as_echo_n "(cached) " >&6
17718else
17719 ac_func_search_save_LIBS=$LIBS
17720cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17721/* end confdefs.h. */
17722
17723/* Override any GCC internal prototype to avoid an error.
17724 Use char because int might match the return type of a GCC
17725 builtin and then its argument prototype would still apply. */
17726#ifdef __cplusplus
17727extern "C"
17728#endif
17729char getrrsetbyname ();
17730int
17731main ()
17732{
17733return getrrsetbyname ();
17734 ;
17735 return 0;
17736}
17737_ACEOF
17738for ac_lib in '' resolv; do
17739 if test -z "$ac_lib"; then
17740 ac_res="none required"
17741 else
17742 ac_res=-l$ac_lib
17743 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17744 fi
17745 if ac_fn_c_try_link "$LINENO"; then :
17746 ac_cv_search_getrrsetbyname=$ac_res
17747fi
17748rm -f core conftest.err conftest.$ac_objext \
17749 conftest$ac_exeext
17750 if ${ac_cv_search_getrrsetbyname+:} false; then :
17751 break
17752fi
17753done
17754if ${ac_cv_search_getrrsetbyname+:} false; then :
17755
17756else
17757 ac_cv_search_getrrsetbyname=no
17758fi
17759rm conftest.$ac_ext
17760LIBS=$ac_func_search_save_LIBS
17761fi
17762{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getrrsetbyname" >&5
17763$as_echo "$ac_cv_search_getrrsetbyname" >&6; }
17764ac_res=$ac_cv_search_getrrsetbyname
17765if test "$ac_res" != no; then :
17766 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
17767
17768$as_echo "#define HAVE_GETRRSETBYNAME 1" >>confdefs.h
17769
17770else
17771
17772 # Needed by our getrrsetbyname()
17773 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_query" >&5
17774$as_echo_n "checking for library containing res_query... " >&6; }
17775if ${ac_cv_search_res_query+:} false; then :
17776 $as_echo_n "(cached) " >&6
17777else
17778 ac_func_search_save_LIBS=$LIBS
17779cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17780/* end confdefs.h. */
17781
17782/* Override any GCC internal prototype to avoid an error.
17783 Use char because int might match the return type of a GCC
17784 builtin and then its argument prototype would still apply. */
17785#ifdef __cplusplus
17786extern "C"
17787#endif
17788char res_query ();
17789int
17790main ()
17791{
17792return res_query ();
17793 ;
17794 return 0;
17795}
17796_ACEOF
17797for ac_lib in '' resolv; do
17798 if test -z "$ac_lib"; then
17799 ac_res="none required"
17800 else
17801 ac_res=-l$ac_lib
17802 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17803 fi
17804 if ac_fn_c_try_link "$LINENO"; then :
17805 ac_cv_search_res_query=$ac_res
17806fi
17807rm -f core conftest.err conftest.$ac_objext \
17808 conftest$ac_exeext
17809 if ${ac_cv_search_res_query+:} false; then :
17810 break
17811fi
17812done
17813if ${ac_cv_search_res_query+:} false; then :
17814
17815else
17816 ac_cv_search_res_query=no
17817fi
17818rm conftest.$ac_ext
17819LIBS=$ac_func_search_save_LIBS
17820fi
17821{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_res_query" >&5
17822$as_echo "$ac_cv_search_res_query" >&6; }
17823ac_res=$ac_cv_search_res_query
17824if test "$ac_res" != no; then :
17825 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
17826
17827fi
17828
17829 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
17830$as_echo_n "checking for library containing dn_expand... " >&6; }
17831if ${ac_cv_search_dn_expand+:} false; then :
17832 $as_echo_n "(cached) " >&6
17833else
17834 ac_func_search_save_LIBS=$LIBS
17835cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17836/* end confdefs.h. */
17837
17838/* Override any GCC internal prototype to avoid an error.
17839 Use char because int might match the return type of a GCC
17840 builtin and then its argument prototype would still apply. */
17841#ifdef __cplusplus
17842extern "C"
17843#endif
17844char dn_expand ();
17845int
17846main ()
17847{
17848return dn_expand ();
17849 ;
17850 return 0;
17851}
17852_ACEOF
17853for ac_lib in '' resolv; do
17854 if test -z "$ac_lib"; then
17855 ac_res="none required"
17856 else
17857 ac_res=-l$ac_lib
17858 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17859 fi
17860 if ac_fn_c_try_link "$LINENO"; then :
17861 ac_cv_search_dn_expand=$ac_res
17862fi
17863rm -f core conftest.err conftest.$ac_objext \
17864 conftest$ac_exeext
17865 if ${ac_cv_search_dn_expand+:} false; then :
17866 break
17867fi
17868done
17869if ${ac_cv_search_dn_expand+:} false; then :
17870
17871else
17872 ac_cv_search_dn_expand=no
17873fi
17874rm conftest.$ac_ext
17875LIBS=$ac_func_search_save_LIBS
17876fi
17877{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5
17878$as_echo "$ac_cv_search_dn_expand" >&6; }
17879ac_res=$ac_cv_search_dn_expand
17880if test "$ac_res" != no; then :
17881 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
17882
17883fi
17884
17885 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if res_query will link" >&5
17886$as_echo_n "checking if res_query will link... " >&6; }
17887 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17888/* end confdefs.h. */
17889
17890#include <sys/types.h>
17891#include <netinet/in.h>
17892#include <arpa/nameser.h>
17893#include <netdb.h>
17894#include <resolv.h>
17895
17896int
17897main ()
17898{
17899
17900 res_query (0, 0, 0, 0, 0);
17901
17902 ;
17903 return 0;
17904}
17905_ACEOF
17906if ac_fn_c_try_link "$LINENO"; then :
17907 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17908$as_echo "yes" >&6; }
17909else
17910 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17911$as_echo "no" >&6; }
17912 saved_LIBS="$LIBS"
17913 LIBS="$LIBS -lresolv"
17914 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5
17915$as_echo_n "checking for res_query in -lresolv... " >&6; }
17916 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17917/* end confdefs.h. */
17918
17919#include <sys/types.h>
17920#include <netinet/in.h>
17921#include <arpa/nameser.h>
17922#include <netdb.h>
17923#include <resolv.h>
17924
17925int
17926main ()
17927{
17928
17929 res_query (0, 0, 0, 0, 0);
17930
17931 ;
17932 return 0;
17933}
17934_ACEOF
17935if ac_fn_c_try_link "$LINENO"; then :
17936 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17937$as_echo "yes" >&6; }
17938else
17939 LIBS="$saved_LIBS"
17940 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17941$as_echo "no" >&6; }
17942fi
17943rm -f core conftest.err conftest.$ac_objext \
17944 conftest$ac_exeext conftest.$ac_ext
17945
17946fi
17947rm -f core conftest.err conftest.$ac_objext \
17948 conftest$ac_exeext conftest.$ac_ext
17949 for ac_func in _getshort _getlong
17950do :
17951 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
17952ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
17953if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
17954 cat >>confdefs.h <<_ACEOF
17955#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
17956_ACEOF
17957
17958fi
17959done
17960
17961 ac_fn_c_check_decl "$LINENO" "_getshort" "ac_cv_have_decl__getshort" "#include <sys/types.h>
17962 #include <arpa/nameser.h>
17963"
17964if test "x$ac_cv_have_decl__getshort" = xyes; then :
17965 ac_have_decl=1
17966else
17967 ac_have_decl=0
17968fi
17969
17970cat >>confdefs.h <<_ACEOF
17971#define HAVE_DECL__GETSHORT $ac_have_decl
17972_ACEOF
17973ac_fn_c_check_decl "$LINENO" "_getlong" "ac_cv_have_decl__getlong" "#include <sys/types.h>
17974 #include <arpa/nameser.h>
17975"
17976if test "x$ac_cv_have_decl__getlong" = xyes; then :
17977 ac_have_decl=1
17978else
17979 ac_have_decl=0
17980fi
17981
17982cat >>confdefs.h <<_ACEOF
17983#define HAVE_DECL__GETLONG $ac_have_decl
17984_ACEOF
17985
17986 ac_fn_c_check_member "$LINENO" "HEADER" "ad" "ac_cv_member_HEADER_ad" "#include <arpa/nameser.h>
17987"
17988if test "x$ac_cv_member_HEADER_ad" = xyes; then :
17989
17990$as_echo "#define HAVE_HEADER_AD 1" >>confdefs.h
17991
17992fi
17993
17994
17995fi
17996
17997
17998{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct __res_state _res is an extern" >&5
17999$as_echo_n "checking if struct __res_state _res is an extern... " >&6; }
18000cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18001/* end confdefs.h. */
18002
18003#include <stdio.h>
18004#if HAVE_SYS_TYPES_H
18005# include <sys/types.h>
18006#endif
18007#include <netinet/in.h>
18008#include <arpa/nameser.h>
18009#include <resolv.h>
18010extern struct __res_state _res;
18011
18012int
18013main ()
18014{
18015
18016struct __res_state *volatile p = &_res; /* force resolution of _res */
18017return 0;
18018
18019 ;
18020 return 0;
18021}
18022_ACEOF
18023if ac_fn_c_try_link "$LINENO"; then :
18024 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18025$as_echo "yes" >&6; }
18026
18027$as_echo "#define HAVE__RES_EXTERN 1" >>confdefs.h
18028
18029
18030else
18031 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18032$as_echo "no" >&6; }
18033
18034fi
18035rm -f core conftest.err conftest.$ac_objext \
18036 conftest$ac_exeext conftest.$ac_ext
18037
18038# Check whether user wants SELinux support
18039SELINUX_MSG="no"
18040LIBSELINUX=""
18041
18042# Check whether --with-selinux was given.
18043if test "${with_selinux+set}" = set; then :
18044 withval=$with_selinux; if test "x$withval" != "xno" ; then
18045 save_LIBS="$LIBS"
18046
18047$as_echo "#define WITH_SELINUX 1" >>confdefs.h
18048
18049 SELINUX_MSG="yes"
18050 ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
18051if test "x$ac_cv_header_selinux_selinux_h" = xyes; then :
18052
18053else
18054 as_fn_error $? "SELinux support requires selinux.h header" "$LINENO" 5
18055fi
18056
18057
18058 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setexeccon in -lselinux" >&5
18059$as_echo_n "checking for setexeccon in -lselinux... " >&6; }
18060if ${ac_cv_lib_selinux_setexeccon+:} false; then :
18061 $as_echo_n "(cached) " >&6
18062else
18063 ac_check_lib_save_LIBS=$LIBS
18064LIBS="-lselinux $LIBS"
18065cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18066/* end confdefs.h. */
18067
18068/* Override any GCC internal prototype to avoid an error.
18069 Use char because int might match the return type of a GCC
18070 builtin and then its argument prototype would still apply. */
18071#ifdef __cplusplus
18072extern "C"
18073#endif
18074char setexeccon ();
18075int
18076main ()
18077{
18078return setexeccon ();
18079 ;
18080 return 0;
18081}
18082_ACEOF
18083if ac_fn_c_try_link "$LINENO"; then :
18084 ac_cv_lib_selinux_setexeccon=yes
18085else
18086 ac_cv_lib_selinux_setexeccon=no
18087fi
18088rm -f core conftest.err conftest.$ac_objext \
18089 conftest$ac_exeext conftest.$ac_ext
18090LIBS=$ac_check_lib_save_LIBS
18091fi
18092{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_setexeccon" >&5
18093$as_echo "$ac_cv_lib_selinux_setexeccon" >&6; }
18094if test "x$ac_cv_lib_selinux_setexeccon" = xyes; then :
18095 LIBSELINUX="-lselinux"
18096 LIBS="$LIBS -lselinux"
18097
18098else
18099 as_fn_error $? "SELinux support requires libselinux library" "$LINENO" 5
18100fi
18101
18102 SSHLIBS="$SSHLIBS $LIBSELINUX"
18103 SSHDLIBS="$SSHDLIBS $LIBSELINUX"
18104 for ac_func in getseuserbyname get_default_context_with_level
18105do :
18106 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
18107ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
18108if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
18109 cat >>confdefs.h <<_ACEOF
18110#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
18111_ACEOF
18112
18113fi
18114done
18115
18116 LIBS="$save_LIBS"
18117 fi
18118
18119fi
18120
18121
18122
18123
18124# Check whether user wants Kerberos 5 support
18125KRB5_MSG="no"
18126
18127# Check whether --with-kerberos5 was given.
18128if test "${with_kerberos5+set}" = set; then :
18129 withval=$with_kerberos5; if test "x$withval" != "xno" ; then
18130 if test "x$withval" = "xyes" ; then
18131 KRB5ROOT="/usr/local"
18132 else
18133 KRB5ROOT=${withval}
18134 fi
18135
18136
18137$as_echo "#define KRB5 1" >>confdefs.h
18138
18139 KRB5_MSG="yes"
18140
18141 if test -n "$ac_tool_prefix"; then
18142 # Extract the first word of "${ac_tool_prefix}krb5-config", so it can be a program name with args.
18143set dummy ${ac_tool_prefix}krb5-config; ac_word=$2
18144{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18145$as_echo_n "checking for $ac_word... " >&6; }
18146if ${ac_cv_path_KRB5CONF+:} false; then :
18147 $as_echo_n "(cached) " >&6
18148else
18149 case $KRB5CONF in
18150 [\\/]* | ?:[\\/]*)
18151 ac_cv_path_KRB5CONF="$KRB5CONF" # Let the user override the test with a path.
18152 ;;
18153 *)
18154 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18155as_dummy="$KRB5ROOT/bin:$PATH"
18156for as_dir in $as_dummy
18157do
18158 IFS=$as_save_IFS
18159 test -z "$as_dir" && as_dir=.
18160 for ac_exec_ext in '' $ac_executable_extensions; do
18161 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18162 ac_cv_path_KRB5CONF="$as_dir/$ac_word$ac_exec_ext"
18163 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18164 break 2
18165 fi
18166done
18167 done
18168IFS=$as_save_IFS
18169
18170 ;;
18171esac
18172fi
18173KRB5CONF=$ac_cv_path_KRB5CONF
18174if test -n "$KRB5CONF"; then
18175 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KRB5CONF" >&5
18176$as_echo "$KRB5CONF" >&6; }
18177else
18178 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18179$as_echo "no" >&6; }
18180fi
18181
18182
18183fi
18184if test -z "$ac_cv_path_KRB5CONF"; then
18185 ac_pt_KRB5CONF=$KRB5CONF
18186 # Extract the first word of "krb5-config", so it can be a program name with args.
18187set dummy krb5-config; ac_word=$2
18188{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18189$as_echo_n "checking for $ac_word... " >&6; }
18190if ${ac_cv_path_ac_pt_KRB5CONF+:} false; then :
18191 $as_echo_n "(cached) " >&6
18192else
18193 case $ac_pt_KRB5CONF in
18194 [\\/]* | ?:[\\/]*)
18195 ac_cv_path_ac_pt_KRB5CONF="$ac_pt_KRB5CONF" # Let the user override the test with a path.
18196 ;;
18197 *)
18198 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18199as_dummy="$KRB5ROOT/bin:$PATH"
18200for as_dir in $as_dummy
18201do
18202 IFS=$as_save_IFS
18203 test -z "$as_dir" && as_dir=.
18204 for ac_exec_ext in '' $ac_executable_extensions; do
18205 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18206 ac_cv_path_ac_pt_KRB5CONF="$as_dir/$ac_word$ac_exec_ext"
18207 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18208 break 2
18209 fi
18210done
18211 done
18212IFS=$as_save_IFS
18213
18214 ;;
18215esac
18216fi
18217ac_pt_KRB5CONF=$ac_cv_path_ac_pt_KRB5CONF
18218if test -n "$ac_pt_KRB5CONF"; then
18219 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_KRB5CONF" >&5
18220$as_echo "$ac_pt_KRB5CONF" >&6; }
18221else
18222 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18223$as_echo "no" >&6; }
18224fi
18225
18226 if test "x$ac_pt_KRB5CONF" = x; then
18227 KRB5CONF="$KRB5ROOT/bin/krb5-config"
18228 else
18229 case $cross_compiling:$ac_tool_warned in
18230yes:)
18231{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
18232$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
18233ac_tool_warned=yes ;;
18234esac
18235 KRB5CONF=$ac_pt_KRB5CONF
18236 fi
18237else
18238 KRB5CONF="$ac_cv_path_KRB5CONF"
18239fi
18240
18241 if test -x $KRB5CONF ; then
18242 K5CFLAGS="`$KRB5CONF --cflags`"
18243 K5LIBS="`$KRB5CONF --libs`"
18244 CPPFLAGS="$CPPFLAGS $K5CFLAGS"
18245
18246 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gssapi support" >&5
18247$as_echo_n "checking for gssapi support... " >&6; }
18248 if $KRB5CONF | grep gssapi >/dev/null ; then
18249 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18250$as_echo "yes" >&6; }
18251
18252$as_echo "#define GSSAPI 1" >>confdefs.h
18253
18254 GSSCFLAGS="`$KRB5CONF --cflags gssapi`"
18255 GSSLIBS="`$KRB5CONF --libs gssapi`"
18256 CPPFLAGS="$CPPFLAGS $GSSCFLAGS"
18257 else
18258 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18259$as_echo "no" >&6; }
18260 fi
18261 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
18262$as_echo_n "checking whether we are using Heimdal... " >&6; }
18263 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18264/* end confdefs.h. */
18265 #include <krb5.h>
18266
18267int
18268main ()
18269{
18270 char *tmp = heimdal_version;
18271 ;
18272 return 0;
18273}
18274_ACEOF
18275if ac_fn_c_try_compile "$LINENO"; then :
18276 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18277$as_echo "yes" >&6; }
18278
18279$as_echo "#define HEIMDAL 1" >>confdefs.h
18280
18281else
18282 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18283$as_echo "no" >&6; }
18284
18285fi
18286rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
18287 else
18288 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include"
18289 LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib"
18290 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
18291$as_echo_n "checking whether we are using Heimdal... " >&6; }
18292 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18293/* end confdefs.h. */
18294 #include <krb5.h>
18295
18296int
18297main ()
18298{
18299 char *tmp = heimdal_version;
18300 ;
18301 return 0;
18302}
18303_ACEOF
18304if ac_fn_c_try_compile "$LINENO"; then :
18305 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18306$as_echo "yes" >&6; }
18307 $as_echo "#define HEIMDAL 1" >>confdefs.h
18308
18309 K5LIBS="-lkrb5"
18310 K5LIBS="$K5LIBS -lcom_err -lasn1"
18311 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for net_write in -lroken" >&5
18312$as_echo_n "checking for net_write in -lroken... " >&6; }
18313if ${ac_cv_lib_roken_net_write+:} false; then :
18314 $as_echo_n "(cached) " >&6
18315else
18316 ac_check_lib_save_LIBS=$LIBS
18317LIBS="-lroken $LIBS"
18318cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18319/* end confdefs.h. */
18320
18321/* Override any GCC internal prototype to avoid an error.
18322 Use char because int might match the return type of a GCC
18323 builtin and then its argument prototype would still apply. */
18324#ifdef __cplusplus
18325extern "C"
18326#endif
18327char net_write ();
18328int
18329main ()
18330{
18331return net_write ();
18332 ;
18333 return 0;
18334}
18335_ACEOF
18336if ac_fn_c_try_link "$LINENO"; then :
18337 ac_cv_lib_roken_net_write=yes
18338else
18339 ac_cv_lib_roken_net_write=no
18340fi
18341rm -f core conftest.err conftest.$ac_objext \
18342 conftest$ac_exeext conftest.$ac_ext
18343LIBS=$ac_check_lib_save_LIBS
18344fi
18345{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_roken_net_write" >&5
18346$as_echo "$ac_cv_lib_roken_net_write" >&6; }
18347if test "x$ac_cv_lib_roken_net_write" = xyes; then :
18348 K5LIBS="$K5LIBS -lroken"
18349fi
18350
18351 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5
18352$as_echo_n "checking for des_cbc_encrypt in -ldes... " >&6; }
18353if ${ac_cv_lib_des_des_cbc_encrypt+:} false; then :
18354 $as_echo_n "(cached) " >&6
18355else
18356 ac_check_lib_save_LIBS=$LIBS
18357LIBS="-ldes $LIBS"
18358cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18359/* end confdefs.h. */
18360
18361/* Override any GCC internal prototype to avoid an error.
18362 Use char because int might match the return type of a GCC
18363 builtin and then its argument prototype would still apply. */
18364#ifdef __cplusplus
18365extern "C"
18366#endif
18367char des_cbc_encrypt ();
18368int
18369main ()
18370{
18371return des_cbc_encrypt ();
18372 ;
18373 return 0;
18374}
18375_ACEOF
18376if ac_fn_c_try_link "$LINENO"; then :
18377 ac_cv_lib_des_des_cbc_encrypt=yes
18378else
18379 ac_cv_lib_des_des_cbc_encrypt=no
18380fi
18381rm -f core conftest.err conftest.$ac_objext \
18382 conftest$ac_exeext conftest.$ac_ext
18383LIBS=$ac_check_lib_save_LIBS
18384fi
18385{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_cbc_encrypt" >&5
18386$as_echo "$ac_cv_lib_des_des_cbc_encrypt" >&6; }
18387if test "x$ac_cv_lib_des_des_cbc_encrypt" = xyes; then :
18388 K5LIBS="$K5LIBS -ldes"
18389fi
18390
18391
18392else
18393 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18394$as_echo "no" >&6; }
18395 K5LIBS="-lkrb5 -lk5crypto -lcom_err"
18396
18397fi
18398rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
18399 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
18400$as_echo_n "checking for library containing dn_expand... " >&6; }
18401if ${ac_cv_search_dn_expand+:} false; then :
18402 $as_echo_n "(cached) " >&6
18403else
18404 ac_func_search_save_LIBS=$LIBS
18405cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18406/* end confdefs.h. */
18407
18408/* Override any GCC internal prototype to avoid an error.
18409 Use char because int might match the return type of a GCC
18410 builtin and then its argument prototype would still apply. */
18411#ifdef __cplusplus
18412extern "C"
18413#endif
18414char dn_expand ();
18415int
18416main ()
18417{
18418return dn_expand ();
18419 ;
18420 return 0;
18421}
18422_ACEOF
18423for ac_lib in '' resolv; do
18424 if test -z "$ac_lib"; then
18425 ac_res="none required"
18426 else
18427 ac_res=-l$ac_lib
18428 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
18429 fi
18430 if ac_fn_c_try_link "$LINENO"; then :
18431 ac_cv_search_dn_expand=$ac_res
18432fi
18433rm -f core conftest.err conftest.$ac_objext \
18434 conftest$ac_exeext
18435 if ${ac_cv_search_dn_expand+:} false; then :
18436 break
18437fi
18438done
18439if ${ac_cv_search_dn_expand+:} false; then :
18440
18441else
18442 ac_cv_search_dn_expand=no
18443fi
18444rm conftest.$ac_ext
18445LIBS=$ac_func_search_save_LIBS
18446fi
18447{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5
18448$as_echo "$ac_cv_search_dn_expand" >&6; }
18449ac_res=$ac_cv_search_dn_expand
18450if test "$ac_res" != no; then :
18451 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18452
18453fi
18454
18455
18456 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi_krb5" >&5
18457$as_echo_n "checking for gss_init_sec_context in -lgssapi_krb5... " >&6; }
18458if ${ac_cv_lib_gssapi_krb5_gss_init_sec_context+:} false; then :
18459 $as_echo_n "(cached) " >&6
18460else
18461 ac_check_lib_save_LIBS=$LIBS
18462LIBS="-lgssapi_krb5 $LIBS"
18463cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18464/* end confdefs.h. */
18465
18466/* Override any GCC internal prototype to avoid an error.
18467 Use char because int might match the return type of a GCC
18468 builtin and then its argument prototype would still apply. */
18469#ifdef __cplusplus
18470extern "C"
18471#endif
18472char gss_init_sec_context ();
18473int
18474main ()
18475{
18476return gss_init_sec_context ();
18477 ;
18478 return 0;
18479}
18480_ACEOF
18481if ac_fn_c_try_link "$LINENO"; then :
18482 ac_cv_lib_gssapi_krb5_gss_init_sec_context=yes
18483else
18484 ac_cv_lib_gssapi_krb5_gss_init_sec_context=no
18485fi
18486rm -f core conftest.err conftest.$ac_objext \
18487 conftest$ac_exeext conftest.$ac_ext
18488LIBS=$ac_check_lib_save_LIBS
18489fi
18490{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&5
18491$as_echo "$ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&6; }
18492if test "x$ac_cv_lib_gssapi_krb5_gss_init_sec_context" = xyes; then :
18493 $as_echo "#define GSSAPI 1" >>confdefs.h
18494
18495 GSSLIBS="-lgssapi_krb5"
18496else
18497 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi" >&5
18498$as_echo_n "checking for gss_init_sec_context in -lgssapi... " >&6; }
18499if ${ac_cv_lib_gssapi_gss_init_sec_context+:} false; then :
18500 $as_echo_n "(cached) " >&6
18501else
18502 ac_check_lib_save_LIBS=$LIBS
18503LIBS="-lgssapi $LIBS"
18504cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18505/* end confdefs.h. */
18506
18507/* Override any GCC internal prototype to avoid an error.
18508 Use char because int might match the return type of a GCC
18509 builtin and then its argument prototype would still apply. */
18510#ifdef __cplusplus
18511extern "C"
18512#endif
18513char gss_init_sec_context ();
18514int
18515main ()
18516{
18517return gss_init_sec_context ();
18518 ;
18519 return 0;
18520}
18521_ACEOF
18522if ac_fn_c_try_link "$LINENO"; then :
18523 ac_cv_lib_gssapi_gss_init_sec_context=yes
18524else
18525 ac_cv_lib_gssapi_gss_init_sec_context=no
18526fi
18527rm -f core conftest.err conftest.$ac_objext \
18528 conftest$ac_exeext conftest.$ac_ext
18529LIBS=$ac_check_lib_save_LIBS
18530fi
18531{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_gss_init_sec_context" >&5
18532$as_echo "$ac_cv_lib_gssapi_gss_init_sec_context" >&6; }
18533if test "x$ac_cv_lib_gssapi_gss_init_sec_context" = xyes; then :
18534 $as_echo "#define GSSAPI 1" >>confdefs.h
18535
18536 GSSLIBS="-lgssapi"
18537else
18538 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgss" >&5
18539$as_echo_n "checking for gss_init_sec_context in -lgss... " >&6; }
18540if ${ac_cv_lib_gss_gss_init_sec_context+:} false; then :
18541 $as_echo_n "(cached) " >&6
18542else
18543 ac_check_lib_save_LIBS=$LIBS
18544LIBS="-lgss $LIBS"
18545cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18546/* end confdefs.h. */
18547
18548/* Override any GCC internal prototype to avoid an error.
18549 Use char because int might match the return type of a GCC
18550 builtin and then its argument prototype would still apply. */
18551#ifdef __cplusplus
18552extern "C"
18553#endif
18554char gss_init_sec_context ();
18555int
18556main ()
18557{
18558return gss_init_sec_context ();
18559 ;
18560 return 0;
18561}
18562_ACEOF
18563if ac_fn_c_try_link "$LINENO"; then :
18564 ac_cv_lib_gss_gss_init_sec_context=yes
18565else
18566 ac_cv_lib_gss_gss_init_sec_context=no
18567fi
18568rm -f core conftest.err conftest.$ac_objext \
18569 conftest$ac_exeext conftest.$ac_ext
18570LIBS=$ac_check_lib_save_LIBS
18571fi
18572{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_gss_init_sec_context" >&5
18573$as_echo "$ac_cv_lib_gss_gss_init_sec_context" >&6; }
18574if test "x$ac_cv_lib_gss_gss_init_sec_context" = xyes; then :
18575 $as_echo "#define GSSAPI 1" >>confdefs.h
18576
18577 GSSLIBS="-lgss"
18578else
18579 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api library - build may fail" >&5
18580$as_echo "$as_me: WARNING: Cannot find any suitable gss-api library - build may fail" >&2;}
18581fi
18582
18583
18584fi
18585
18586
18587fi
18588
18589
18590 ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
18591if test "x$ac_cv_header_gssapi_h" = xyes; then :
18592
18593else
18594 unset ac_cv_header_gssapi_h
18595 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
18596 for ac_header in gssapi.h
18597do :
18598 ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
18599if test "x$ac_cv_header_gssapi_h" = xyes; then :
18600 cat >>confdefs.h <<_ACEOF
18601#define HAVE_GSSAPI_H 1
18602_ACEOF
18603
18604else
18605 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api header - build may fail" >&5
18606$as_echo "$as_me: WARNING: Cannot find any suitable gss-api header - build may fail" >&2;}
18607
18608fi
18609
18610done
18611
18612
18613
18614fi
18615
18616
18617
18618 oldCPP="$CPPFLAGS"
18619 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
18620 ac_fn_c_check_header_mongrel "$LINENO" "gssapi_krb5.h" "ac_cv_header_gssapi_krb5_h" "$ac_includes_default"
18621if test "x$ac_cv_header_gssapi_krb5_h" = xyes; then :
18622
18623else
18624 CPPFLAGS="$oldCPP"
18625fi
18626
18627
18628
18629 fi
18630 if test -n "${rpath_opt}" ; then
18631 LDFLAGS="$LDFLAGS ${rpath_opt}${KRB5ROOT}/lib"
18632 fi
18633 if test ! -z "$blibpath" ; then
18634 blibpath="$blibpath:${KRB5ROOT}/lib"
18635 fi
18636
18637 for ac_header in gssapi.h gssapi/gssapi.h
18638do :
18639 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
18640ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
18641if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
18642 cat >>confdefs.h <<_ACEOF
18643#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
18644_ACEOF
18645
18646fi
18647
18648done
18649
18650 for ac_header in gssapi_krb5.h gssapi/gssapi_krb5.h
18651do :
18652 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
18653ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
18654if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
18655 cat >>confdefs.h <<_ACEOF
18656#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
18657_ACEOF
18658
18659fi
18660
18661done
18662
18663 for ac_header in gssapi_generic.h gssapi/gssapi_generic.h
18664do :
18665 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
18666ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
18667if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
18668 cat >>confdefs.h <<_ACEOF
18669#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
18670_ACEOF
18671
18672fi
18673
18674done
18675
18676
18677 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing k_hasafs" >&5
18678$as_echo_n "checking for library containing k_hasafs... " >&6; }
18679if ${ac_cv_search_k_hasafs+:} false; then :
18680 $as_echo_n "(cached) " >&6
18681else
18682 ac_func_search_save_LIBS=$LIBS
18683cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18684/* end confdefs.h. */
18685
18686/* Override any GCC internal prototype to avoid an error.
18687 Use char because int might match the return type of a GCC
18688 builtin and then its argument prototype would still apply. */
18689#ifdef __cplusplus
18690extern "C"
18691#endif
18692char k_hasafs ();
18693int
18694main ()
18695{
18696return k_hasafs ();
18697 ;
18698 return 0;
18699}
18700_ACEOF
18701for ac_lib in '' kafs; do
18702 if test -z "$ac_lib"; then
18703 ac_res="none required"
18704 else
18705 ac_res=-l$ac_lib
18706 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
18707 fi
18708 if ac_fn_c_try_link "$LINENO"; then :
18709 ac_cv_search_k_hasafs=$ac_res
18710fi
18711rm -f core conftest.err conftest.$ac_objext \
18712 conftest$ac_exeext
18713 if ${ac_cv_search_k_hasafs+:} false; then :
18714 break
18715fi
18716done
18717if ${ac_cv_search_k_hasafs+:} false; then :
18718
18719else
18720 ac_cv_search_k_hasafs=no
18721fi
18722rm conftest.$ac_ext
18723LIBS=$ac_func_search_save_LIBS
18724fi
18725{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_k_hasafs" >&5
18726$as_echo "$ac_cv_search_k_hasafs" >&6; }
18727ac_res=$ac_cv_search_k_hasafs
18728if test "$ac_res" != no; then :
18729 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18730
18731$as_echo "#define USE_AFS 1" >>confdefs.h
18732
18733fi
18734
18735
18736 ac_fn_c_check_decl "$LINENO" "GSS_C_NT_HOSTBASED_SERVICE" "ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" "
18737#ifdef HAVE_GSSAPI_H
18738# include <gssapi.h>
18739#elif defined(HAVE_GSSAPI_GSSAPI_H)
18740# include <gssapi/gssapi.h>
18741#endif
18742
18743#ifdef HAVE_GSSAPI_GENERIC_H
18744# include <gssapi_generic.h>
18745#elif defined(HAVE_GSSAPI_GSSAPI_GENERIC_H)
18746# include <gssapi/gssapi_generic.h>
18747#endif
18748
18749"
18750if test "x$ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" = xyes; then :
18751 ac_have_decl=1
18752else
18753 ac_have_decl=0
18754fi
18755
18756cat >>confdefs.h <<_ACEOF
18757#define HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE $ac_have_decl
18758_ACEOF
18759
18760 saved_LIBS="$LIBS"
18761 LIBS="$LIBS $K5LIBS"
18762 for ac_func in krb5_cc_new_unique krb5_get_error_message krb5_free_error_message
18763do :
18764 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
18765ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
18766if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
18767 cat >>confdefs.h <<_ACEOF
18768#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
18769_ACEOF
18770
18771fi
18772done
18773
18774 LIBS="$saved_LIBS"
18775
18776 fi
18777
18778
18779fi
18780
18781
18782
18783
18784# Looking for programs, paths and files
18785
18786PRIVSEP_PATH=/var/empty
18787
18788# Check whether --with-privsep-path was given.
18789if test "${with_privsep_path+set}" = set; then :
18790 withval=$with_privsep_path;
18791 if test -n "$withval" && test "x$withval" != "xno" && \
18792 test "x${withval}" != "xyes"; then
18793 PRIVSEP_PATH=$withval
18794 fi
18795
18796
18797fi
18798
18799
18800
18801
18802# Check whether --with-xauth was given.
18803if test "${with_xauth+set}" = set; then :
18804 withval=$with_xauth;
18805 if test -n "$withval" && test "x$withval" != "xno" && \
18806 test "x${withval}" != "xyes"; then
18807 xauth_path=$withval
18808 fi
18809
18810else
18811
18812 TestPath="$PATH"
18813 TestPath="${TestPath}${PATH_SEPARATOR}/usr/X/bin"
18814 TestPath="${TestPath}${PATH_SEPARATOR}/usr/bin/X11"
18815 TestPath="${TestPath}${PATH_SEPARATOR}/usr/X11R6/bin"
18816 TestPath="${TestPath}${PATH_SEPARATOR}/usr/openwin/bin"
18817 # Extract the first word of "xauth", so it can be a program name with args.
18818set dummy xauth; ac_word=$2
18819{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18820$as_echo_n "checking for $ac_word... " >&6; }
18821if ${ac_cv_path_xauth_path+:} false; then :
18822 $as_echo_n "(cached) " >&6
18823else
18824 case $xauth_path in
18825 [\\/]* | ?:[\\/]*)
18826 ac_cv_path_xauth_path="$xauth_path" # Let the user override the test with a path.
18827 ;;
18828 *)
18829 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18830for as_dir in $TestPath
18831do
18832 IFS=$as_save_IFS
18833 test -z "$as_dir" && as_dir=.
18834 for ac_exec_ext in '' $ac_executable_extensions; do
18835 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18836 ac_cv_path_xauth_path="$as_dir/$ac_word$ac_exec_ext"
18837 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18838 break 2
18839 fi
18840done
18841 done
18842IFS=$as_save_IFS
18843
18844 ;;
18845esac
18846fi
18847xauth_path=$ac_cv_path_xauth_path
18848if test -n "$xauth_path"; then
18849 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xauth_path" >&5
18850$as_echo "$xauth_path" >&6; }
18851else
18852 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18853$as_echo "no" >&6; }
18854fi
18855
18856
18857 if (test ! -z "$xauth_path" && test -x "/usr/openwin/bin/xauth") ; then
18858 xauth_path="/usr/openwin/bin/xauth"
18859 fi
18860
18861
18862fi
18863
18864
18865STRIP_OPT=-s
18866# Check whether --enable-strip was given.
18867if test "${enable_strip+set}" = set; then :
18868 enableval=$enable_strip;
18869 if test "x$enableval" = "xno" ; then
18870 STRIP_OPT=
18871 fi
18872
18873
18874fi
18875
18876
18877
18878if test -z "$xauth_path" ; then
18879 XAUTH_PATH="undefined"
18880
18881else
18882
18883cat >>confdefs.h <<_ACEOF
18884#define XAUTH_PATH "$xauth_path"
18885_ACEOF
18886
18887 XAUTH_PATH=$xauth_path
18888
18889fi
18890
18891# Check for mail directory
18892
18893# Check whether --with-maildir was given.
18894if test "${with_maildir+set}" = set; then :
18895 withval=$with_maildir;
18896 if test "X$withval" != X && test "x$withval" != xno && \
18897 test "x${withval}" != xyes; then
18898
18899cat >>confdefs.h <<_ACEOF
18900#define MAIL_DIRECTORY "$withval"
18901_ACEOF
18902
18903 fi
18904
18905else
18906
18907 if test "X$maildir" != "X"; then
18908 cat >>confdefs.h <<_ACEOF
18909#define MAIL_DIRECTORY "$maildir"
18910_ACEOF
18911
18912 else
18913 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Discovering system mail directory" >&5
18914$as_echo_n "checking Discovering system mail directory... " >&6; }
18915 if test "$cross_compiling" = yes; then :
18916
18917 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&5
18918$as_echo "$as_me: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&2;}
18919
18920
18921else
18922 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18923/* end confdefs.h. */
18924
18925#include <stdio.h>
18926#include <string.h>
18927#ifdef HAVE_PATHS_H
18928#include <paths.h>
18929#endif
18930#ifdef HAVE_MAILLOCK_H
18931#include <maillock.h>
18932#endif
18933#define DATA "conftest.maildir"
18934
18935int
18936main ()
18937{
18938
18939 FILE *fd;
18940 int rc;
18941
18942 fd = fopen(DATA,"w");
18943 if(fd == NULL)
18944 exit(1);
18945
18946#if defined (_PATH_MAILDIR)
18947 if ((rc = fprintf(fd ,"_PATH_MAILDIR:%s\n", _PATH_MAILDIR)) <0)
18948 exit(1);
18949#elif defined (MAILDIR)
18950 if ((rc = fprintf(fd ,"MAILDIR:%s\n", MAILDIR)) <0)
18951 exit(1);
18952#elif defined (_PATH_MAIL)
18953 if ((rc = fprintf(fd ,"_PATH_MAIL:%s\n", _PATH_MAIL)) <0)
18954 exit(1);
18955#else
18956 exit (2);
18957#endif
18958
18959 exit(0);
18960
18961 ;
18962 return 0;
18963}
18964_ACEOF
18965if ac_fn_c_try_run "$LINENO"; then :
18966
18967 maildir_what=`awk -F: '{print $1}' conftest.maildir`
18968 maildir=`awk -F: '{print $2}' conftest.maildir \
18969 | sed 's|/$||'`
18970 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: $maildir from $maildir_what" >&5
18971$as_echo "Using: $maildir from $maildir_what" >&6; }
18972 if test "x$maildir_what" != "x_PATH_MAILDIR"; then
18973 cat >>confdefs.h <<_ACEOF
18974#define MAIL_DIRECTORY "$maildir"
18975_ACEOF
18976
18977 fi
18978
18979else
18980
18981 if test "X$ac_status" = "X2";then
18982# our test program didn't find it. Default to /var/spool/mail
18983 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: default value of /var/spool/mail" >&5
18984$as_echo "Using: default value of /var/spool/mail" >&6; }
18985 cat >>confdefs.h <<_ACEOF
18986#define MAIL_DIRECTORY "/var/spool/mail"
18987_ACEOF
18988
18989 else
18990 { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** not found ***" >&5
18991$as_echo "*** not found ***" >&6; }
18992 fi
18993
18994fi
18995rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
18996 conftest.$ac_objext conftest.beam conftest.$ac_ext
18997fi
18998
18999 fi
19000
19001
19002fi
19003 # maildir
19004
19005if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then
19006 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptmx test" >&5
19007$as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptmx test" >&2;}
19008 disable_ptmx_check=yes
19009fi
19010if test -z "$no_dev_ptmx" ; then
19011 if test "x$disable_ptmx_check" != "xyes" ; then
19012 as_ac_File=`$as_echo "ac_cv_file_"/dev/ptmx"" | $as_tr_sh`
19013{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptmx\"" >&5
19014$as_echo_n "checking for \"/dev/ptmx\"... " >&6; }
19015if eval \${$as_ac_File+:} false; then :
19016 $as_echo_n "(cached) " >&6
19017else
19018 test "$cross_compiling" = yes &&
19019 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
19020if test -r ""/dev/ptmx""; then
19021 eval "$as_ac_File=yes"
19022else
19023 eval "$as_ac_File=no"
19024fi
19025fi
19026eval ac_res=\$$as_ac_File
19027 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19028$as_echo "$ac_res" >&6; }
19029if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
19030
19031
19032cat >>confdefs.h <<_ACEOF
19033#define HAVE_DEV_PTMX 1
19034_ACEOF
19035
19036 have_dev_ptmx=1
19037
19038
19039fi
19040
19041 fi
19042fi
19043
19044if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then
19045 as_ac_File=`$as_echo "ac_cv_file_"/dev/ptc"" | $as_tr_sh`
19046{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptc\"" >&5
19047$as_echo_n "checking for \"/dev/ptc\"... " >&6; }
19048if eval \${$as_ac_File+:} false; then :
19049 $as_echo_n "(cached) " >&6
19050else
19051 test "$cross_compiling" = yes &&
19052 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
19053if test -r ""/dev/ptc""; then
19054 eval "$as_ac_File=yes"
19055else
19056 eval "$as_ac_File=no"
19057fi
19058fi
19059eval ac_res=\$$as_ac_File
19060 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19061$as_echo "$ac_res" >&6; }
19062if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
19063
19064
19065cat >>confdefs.h <<_ACEOF
19066#define HAVE_DEV_PTS_AND_PTC 1
19067_ACEOF
19068
19069 have_dev_ptc=1
19070
19071
19072fi
19073
19074else
19075 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptc test" >&5
19076$as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptc test" >&2;}
19077fi
19078
19079# Options from here on. Some of these are preset by platform above
19080
19081# Check whether --with-mantype was given.
19082if test "${with_mantype+set}" = set; then :
19083 withval=$with_mantype;
19084 case "$withval" in
19085 man|cat|doc)
19086 MANTYPE=$withval
19087 ;;
19088 *)
19089 as_fn_error $? "invalid man type: $withval" "$LINENO" 5
19090 ;;
19091 esac
19092
19093
19094fi
19095
19096if test -z "$MANTYPE"; then
19097 if ${MANDOC} ${srcdir}/ssh.1 >/dev/null 2>&1; then
19098 MANTYPE=doc
19099 elif ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then
19100 MANTYPE=doc
19101 elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then
19102 MANTYPE=man
19103 else
19104 MANTYPE=cat
19105 fi
19106fi
19107
19108if test "$MANTYPE" = "doc"; then
19109 mansubdir=man;
19110else
19111 mansubdir=$MANTYPE;
19112fi
19113
19114
19115# Check whether to enable MD5 passwords
19116MD5_MSG="no"
19117
19118# Check whether --with-md5-passwords was given.
19119if test "${with_md5_passwords+set}" = set; then :
19120 withval=$with_md5_passwords;
19121 if test "x$withval" != "xno" ; then
19122
19123$as_echo "#define HAVE_MD5_PASSWORDS 1" >>confdefs.h
19124
19125 MD5_MSG="yes"
19126 fi
19127
19128
19129fi
19130
19131
19132# Whether to disable shadow password support
19133
19134# Check whether --with-shadow was given.
19135if test "${with_shadow+set}" = set; then :
19136 withval=$with_shadow;
19137 if test "x$withval" = "xno" ; then
19138 $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
19139
19140 disable_shadow=yes
19141 fi
19142
19143
19144fi
19145
19146
19147if test -z "$disable_shadow" ; then
19148 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the systems has expire shadow information" >&5
19149$as_echo_n "checking if the systems has expire shadow information... " >&6; }
19150 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19151/* end confdefs.h. */
19152
19153#include <sys/types.h>
19154#include <shadow.h>
19155struct spwd sp;
19156
19157int
19158main ()
19159{
19160 sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0;
19161 ;
19162 return 0;
19163}
19164_ACEOF
19165if ac_fn_c_try_compile "$LINENO"; then :
19166 sp_expire_available=yes
19167fi
19168rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19169
19170 if test "x$sp_expire_available" = "xyes" ; then
19171 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19172$as_echo "yes" >&6; }
19173
19174$as_echo "#define HAS_SHADOW_EXPIRE 1" >>confdefs.h
19175
19176 else
19177 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19178$as_echo "no" >&6; }
19179 fi
19180fi
19181
19182# Use ip address instead of hostname in $DISPLAY
19183if test ! -z "$IPADDR_IN_DISPLAY" ; then
19184 DISPLAY_HACK_MSG="yes"
19185
19186$as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h
19187
19188else
19189 DISPLAY_HACK_MSG="no"
19190
19191# Check whether --with-ipaddr-display was given.
19192if test "${with_ipaddr_display+set}" = set; then :
19193 withval=$with_ipaddr_display;
19194 if test "x$withval" != "xno" ; then
19195 $as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h
19196
19197 DISPLAY_HACK_MSG="yes"
19198 fi
19199
19200
19201fi
19202
19203fi
19204
19205# check for /etc/default/login and use it if present.
19206# Check whether --enable-etc-default-login was given.
19207if test "${enable_etc_default_login+set}" = set; then :
19208 enableval=$enable_etc_default_login; if test "x$enableval" = "xno"; then
19209 { $as_echo "$as_me:${as_lineno-$LINENO}: /etc/default/login handling disabled" >&5
19210$as_echo "$as_me: /etc/default/login handling disabled" >&6;}
19211 etc_default_login=no
19212 else
19213 etc_default_login=yes
19214 fi
19215else
19216 if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes";
19217 then
19218 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking /etc/default/login" >&5
19219$as_echo "$as_me: WARNING: cross compiling: not checking /etc/default/login" >&2;}
19220 etc_default_login=no
19221 else
19222 etc_default_login=yes
19223 fi
19224
19225fi
19226
19227
19228if test "x$etc_default_login" != "xno"; then
19229 as_ac_File=`$as_echo "ac_cv_file_"/etc/default/login"" | $as_tr_sh`
19230{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/etc/default/login\"" >&5
19231$as_echo_n "checking for \"/etc/default/login\"... " >&6; }
19232if eval \${$as_ac_File+:} false; then :
19233 $as_echo_n "(cached) " >&6
19234else
19235 test "$cross_compiling" = yes &&
19236 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
19237if test -r ""/etc/default/login""; then
19238 eval "$as_ac_File=yes"
19239else
19240 eval "$as_ac_File=no"
19241fi
19242fi
19243eval ac_res=\$$as_ac_File
19244 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19245$as_echo "$ac_res" >&6; }
19246if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
19247 external_path_file=/etc/default/login
19248fi
19249
19250 if test "x$external_path_file" = "x/etc/default/login"; then
19251
19252$as_echo "#define HAVE_ETC_DEFAULT_LOGIN 1" >>confdefs.h
19253
19254 fi
19255fi
19256
19257if test $ac_cv_func_login_getcapbool = "yes" && \
19258 test $ac_cv_header_login_cap_h = "yes" ; then
19259 external_path_file=/etc/login.conf
19260fi
19261
19262# Whether to mess with the default path
19263SERVER_PATH_MSG="(default)"
19264
19265# Check whether --with-default-path was given.
19266if test "${with_default_path+set}" = set; then :
19267 withval=$with_default_path;
19268 if test "x$external_path_file" = "x/etc/login.conf" ; then
19269 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
19270--with-default-path=PATH has no effect on this system.
19271Edit /etc/login.conf instead." >&5
19272$as_echo "$as_me: WARNING:
19273--with-default-path=PATH has no effect on this system.
19274Edit /etc/login.conf instead." >&2;}
19275 elif test "x$withval" != "xno" ; then
19276 if test ! -z "$external_path_file" ; then
19277 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
19278--with-default-path=PATH will only be used if PATH is not defined in
19279$external_path_file ." >&5
19280$as_echo "$as_me: WARNING:
19281--with-default-path=PATH will only be used if PATH is not defined in
19282$external_path_file ." >&2;}
19283 fi
19284 user_path="$withval"
19285 SERVER_PATH_MSG="$withval"
19286 fi
19287
19288else
19289 if test "x$external_path_file" = "x/etc/login.conf" ; then
19290 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Make sure the path to scp is in /etc/login.conf" >&5
19291$as_echo "$as_me: WARNING: Make sure the path to scp is in /etc/login.conf" >&2;}
19292 else
19293 if test ! -z "$external_path_file" ; then
19294 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
19295If PATH is defined in $external_path_file, ensure the path to scp is included,
19296otherwise scp will not work." >&5
19297$as_echo "$as_me: WARNING:
19298If PATH is defined in $external_path_file, ensure the path to scp is included,
19299otherwise scp will not work." >&2;}
19300 fi
19301 if test "$cross_compiling" = yes; then :
19302 user_path="/usr/bin:/bin:/usr/sbin:/sbin"
19303
19304else
19305 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19306/* end confdefs.h. */
19307
19308/* find out what STDPATH is */
19309#include <stdio.h>
19310#ifdef HAVE_PATHS_H
19311# include <paths.h>
19312#endif
19313#ifndef _PATH_STDPATH
19314# ifdef _PATH_USERPATH /* Irix */
19315# define _PATH_STDPATH _PATH_USERPATH
19316# else
19317# define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin"
19318# endif
19319#endif
19320#include <sys/types.h>
19321#include <sys/stat.h>
19322#include <fcntl.h>
19323#define DATA "conftest.stdpath"
19324
19325int
19326main ()
19327{
19328
19329 FILE *fd;
19330 int rc;
19331
19332 fd = fopen(DATA,"w");
19333 if(fd == NULL)
19334 exit(1);
19335
19336 if ((rc = fprintf(fd,"%s", _PATH_STDPATH)) < 0)
19337 exit(1);
19338
19339 exit(0);
19340
19341 ;
19342 return 0;
19343}
19344_ACEOF
19345if ac_fn_c_try_run "$LINENO"; then :
19346 user_path=`cat conftest.stdpath`
19347else
19348 user_path="/usr/bin:/bin:/usr/sbin:/sbin"
19349fi
19350rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
19351 conftest.$ac_objext conftest.beam conftest.$ac_ext
19352fi
19353
19354# make sure $bindir is in USER_PATH so scp will work
19355 t_bindir="${bindir}"
19356 while echo "${t_bindir}" | egrep '\$\{|NONE/' >/dev/null 2>&1; do
19357 t_bindir=`eval echo ${t_bindir}`
19358 case $t_bindir in
19359 NONE/*) t_bindir=`echo $t_bindir | sed "s~NONE~$prefix~"` ;;
19360 esac
19361 case $t_bindir in
19362 NONE/*) t_bindir=`echo $t_bindir | sed "s~NONE~$ac_default_prefix~"` ;;
19363 esac
19364 done
19365 echo $user_path | grep ":$t_bindir" > /dev/null 2>&1
19366 if test $? -ne 0 ; then
19367 echo $user_path | grep "^$t_bindir" > /dev/null 2>&1
19368 if test $? -ne 0 ; then
19369 user_path=$user_path:$t_bindir
19370 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Adding $t_bindir to USER_PATH so scp will work" >&5
19371$as_echo "Adding $t_bindir to USER_PATH so scp will work" >&6; }
19372 fi
19373 fi
19374 fi
19375
19376fi
19377
19378if test "x$external_path_file" != "x/etc/login.conf" ; then
19379
19380cat >>confdefs.h <<_ACEOF
19381#define USER_PATH "$user_path"
19382_ACEOF
19383
19384
19385fi
19386
19387# Set superuser path separately to user path
19388
19389# Check whether --with-superuser-path was given.
19390if test "${with_superuser_path+set}" = set; then :
19391 withval=$with_superuser_path;
19392 if test -n "$withval" && test "x$withval" != "xno" && \
19393 test "x${withval}" != "xyes"; then
19394
19395cat >>confdefs.h <<_ACEOF
19396#define SUPERUSER_PATH "$withval"
19397_ACEOF
19398
19399 superuser_path=$withval
19400 fi
19401
19402
19403fi
19404
19405
19406
19407{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to convert IPv4 in IPv6-mapped addresses" >&5
19408$as_echo_n "checking if we need to convert IPv4 in IPv6-mapped addresses... " >&6; }
19409IPV4_IN6_HACK_MSG="no"
19410
19411# Check whether --with-4in6 was given.
19412if test "${with_4in6+set}" = set; then :
19413 withval=$with_4in6;
19414 if test "x$withval" != "xno" ; then
19415 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19416$as_echo "yes" >&6; }
19417
19418$as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h
19419
19420 IPV4_IN6_HACK_MSG="yes"
19421 else
19422 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19423$as_echo "no" >&6; }
19424 fi
19425
19426else
19427
19428 if test "x$inet6_default_4in6" = "xyes"; then
19429 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (default)" >&5
19430$as_echo "yes (default)" >&6; }
19431 $as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h
19432
19433 IPV4_IN6_HACK_MSG="yes"
19434 else
19435 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (default)" >&5
19436$as_echo "no (default)" >&6; }
19437 fi
19438
19439
19440fi
19441
19442
19443# Whether to enable BSD auth support
19444BSD_AUTH_MSG=no
19445
19446# Check whether --with-bsd-auth was given.
19447if test "${with_bsd_auth+set}" = set; then :
19448 withval=$with_bsd_auth;
19449 if test "x$withval" != "xno" ; then
19450
19451$as_echo "#define BSD_AUTH 1" >>confdefs.h
19452
19453 BSD_AUTH_MSG=yes
19454 fi
19455
19456
19457fi
19458
19459
19460# Where to place sshd.pid
19461piddir=/var/run
19462# make sure the directory exists
19463if test ! -d $piddir ; then
19464 piddir=`eval echo ${sysconfdir}`
19465 case $piddir in
19466 NONE/*) piddir=`echo $piddir | sed "s~NONE~$ac_default_prefix~"` ;;
19467 esac
19468fi
19469
19470
19471# Check whether --with-pid-dir was given.
19472if test "${with_pid_dir+set}" = set; then :
19473 withval=$with_pid_dir;
19474 if test -n "$withval" && test "x$withval" != "xno" && \
19475 test "x${withval}" != "xyes"; then
19476 piddir=$withval
19477 if test ! -d $piddir ; then
19478 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** no $piddir directory on this system **" >&5
19479$as_echo "$as_me: WARNING: ** no $piddir directory on this system **" >&2;}
19480 fi
19481 fi
19482
19483
19484fi
19485
19486
19487
19488cat >>confdefs.h <<_ACEOF
19489#define _PATH_SSH_PIDDIR "$piddir"
19490_ACEOF
19491
19492
19493
19494# Check whether --enable-lastlog was given.
19495if test "${enable_lastlog+set}" = set; then :
19496 enableval=$enable_lastlog;
19497 if test "x$enableval" = "xno" ; then
19498 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
19499
19500 fi
19501
19502
19503fi
19504
19505# Check whether --enable-utmp was given.
19506if test "${enable_utmp+set}" = set; then :
19507 enableval=$enable_utmp;
19508 if test "x$enableval" = "xno" ; then
19509 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
19510
19511 fi
19512
19513
19514fi
19515
19516# Check whether --enable-utmpx was given.
19517if test "${enable_utmpx+set}" = set; then :
19518 enableval=$enable_utmpx;
19519 if test "x$enableval" = "xno" ; then
19520
19521$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
19522
19523 fi
19524
19525
19526fi
19527
19528# Check whether --enable-wtmp was given.
19529if test "${enable_wtmp+set}" = set; then :
19530 enableval=$enable_wtmp;
19531 if test "x$enableval" = "xno" ; then
19532 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
19533
19534 fi
19535
19536
19537fi
19538
19539# Check whether --enable-wtmpx was given.
19540if test "${enable_wtmpx+set}" = set; then :
19541 enableval=$enable_wtmpx;
19542 if test "x$enableval" = "xno" ; then
19543
19544$as_echo "#define DISABLE_WTMPX 1" >>confdefs.h
19545
19546 fi
19547
19548
19549fi
19550
19551# Check whether --enable-libutil was given.
19552if test "${enable_libutil+set}" = set; then :
19553 enableval=$enable_libutil;
19554 if test "x$enableval" = "xno" ; then
19555 $as_echo "#define DISABLE_LOGIN 1" >>confdefs.h
19556
19557 fi
19558
19559
19560fi
19561
19562# Check whether --enable-pututline was given.
19563if test "${enable_pututline+set}" = set; then :
19564 enableval=$enable_pututline;
19565 if test "x$enableval" = "xno" ; then
19566
19567$as_echo "#define DISABLE_PUTUTLINE 1" >>confdefs.h
19568
19569 fi
19570
19571
19572fi
19573
19574# Check whether --enable-pututxline was given.
19575if test "${enable_pututxline+set}" = set; then :
19576 enableval=$enable_pututxline;
19577 if test "x$enableval" = "xno" ; then
19578
19579$as_echo "#define DISABLE_PUTUTXLINE 1" >>confdefs.h
19580
19581 fi
19582
19583
19584fi
19585
19586
19587# Check whether --with-lastlog was given.
19588if test "${with_lastlog+set}" = set; then :
19589 withval=$with_lastlog;
19590 if test "x$withval" = "xno" ; then
19591 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
19592
19593 elif test -n "$withval" && test "x${withval}" != "xyes"; then
19594 conf_lastlog_location=$withval
19595 fi
19596
19597
19598fi
19599
19600
19601
19602{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines LASTLOG_FILE" >&5
19603$as_echo_n "checking if your system defines LASTLOG_FILE... " >&6; }
19604cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19605/* end confdefs.h. */
19606
19607#include <sys/types.h>
19608#include <utmp.h>
19609#ifdef HAVE_LASTLOG_H
19610# include <lastlog.h>
19611#endif
19612#ifdef HAVE_PATHS_H
19613# include <paths.h>
19614#endif
19615#ifdef HAVE_LOGIN_H
19616# include <login.h>
19617#endif
19618
19619int
19620main ()
19621{
19622 char *lastlog = LASTLOG_FILE;
19623 ;
19624 return 0;
19625}
19626_ACEOF
19627if ac_fn_c_try_compile "$LINENO"; then :
19628 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19629$as_echo "yes" >&6; }
19630else
19631
19632 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19633$as_echo "no" >&6; }
19634 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines _PATH_LASTLOG" >&5
19635$as_echo_n "checking if your system defines _PATH_LASTLOG... " >&6; }
19636 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19637/* end confdefs.h. */
19638
19639#include <sys/types.h>
19640#include <utmp.h>
19641#ifdef HAVE_LASTLOG_H
19642# include <lastlog.h>
19643#endif
19644#ifdef HAVE_PATHS_H
19645# include <paths.h>
19646#endif
19647
19648int
19649main ()
19650{
19651 char *lastlog = _PATH_LASTLOG;
19652 ;
19653 return 0;
19654}
19655_ACEOF
19656if ac_fn_c_try_compile "$LINENO"; then :
19657 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19658$as_echo "yes" >&6; }
19659else
19660
19661 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19662$as_echo "no" >&6; }
19663 system_lastlog_path=no
19664
19665fi
19666rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19667
19668fi
19669rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19670
19671if test -z "$conf_lastlog_location"; then
19672 if test x"$system_lastlog_path" = x"no" ; then
19673 for f in /var/log/lastlog /usr/adm/lastlog /var/adm/lastlog /etc/security/lastlog ; do
19674 if (test -d "$f" || test -f "$f") ; then
19675 conf_lastlog_location=$f
19676 fi
19677 done
19678 if test -z "$conf_lastlog_location"; then
19679 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** Cannot find lastlog **" >&5
19680$as_echo "$as_me: WARNING: ** Cannot find lastlog **" >&2;}
19681 fi
19682 fi
19683fi
19684
19685if test -n "$conf_lastlog_location"; then
19686
19687cat >>confdefs.h <<_ACEOF
19688#define CONF_LASTLOG_FILE "$conf_lastlog_location"
19689_ACEOF
19690
19691fi
19692
19693{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines UTMP_FILE" >&5
19694$as_echo_n "checking if your system defines UTMP_FILE... " >&6; }
19695cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19696/* end confdefs.h. */
19697
19698#include <sys/types.h>
19699#include <utmp.h>
19700#ifdef HAVE_PATHS_H
19701# include <paths.h>
19702#endif
19703
19704int
19705main ()
19706{
19707 char *utmp = UTMP_FILE;
19708 ;
19709 return 0;
19710}
19711_ACEOF
19712if ac_fn_c_try_compile "$LINENO"; then :
19713 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19714$as_echo "yes" >&6; }
19715else
19716 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19717$as_echo "no" >&6; }
19718 system_utmp_path=no
19719
19720fi
19721rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19722if test -z "$conf_utmp_location"; then
19723 if test x"$system_utmp_path" = x"no" ; then
19724 for f in /etc/utmp /usr/adm/utmp /var/run/utmp; do
19725 if test -f $f ; then
19726 conf_utmp_location=$f
19727 fi
19728 done
19729 if test -z "$conf_utmp_location"; then
19730 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
19731
19732 fi
19733 fi
19734fi
19735if test -n "$conf_utmp_location"; then
19736
19737cat >>confdefs.h <<_ACEOF
19738#define CONF_UTMP_FILE "$conf_utmp_location"
19739_ACEOF
19740
19741fi
19742
19743{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMP_FILE" >&5
19744$as_echo_n "checking if your system defines WTMP_FILE... " >&6; }
19745cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19746/* end confdefs.h. */
19747
19748#include <sys/types.h>
19749#include <utmp.h>
19750#ifdef HAVE_PATHS_H
19751# include <paths.h>
19752#endif
19753
19754int
19755main ()
19756{
19757 char *wtmp = WTMP_FILE;
19758 ;
19759 return 0;
19760}
19761_ACEOF
19762if ac_fn_c_try_compile "$LINENO"; then :
19763 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19764$as_echo "yes" >&6; }
19765else
19766 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19767$as_echo "no" >&6; }
19768 system_wtmp_path=no
19769
19770fi
19771rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19772if test -z "$conf_wtmp_location"; then
19773 if test x"$system_wtmp_path" = x"no" ; then
19774 for f in /usr/adm/wtmp /var/log/wtmp; do
19775 if test -f $f ; then
19776 conf_wtmp_location=$f
19777 fi
19778 done
19779 if test -z "$conf_wtmp_location"; then
19780 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
19781
19782 fi
19783 fi
19784fi
19785if test -n "$conf_wtmp_location"; then
19786
19787cat >>confdefs.h <<_ACEOF
19788#define CONF_WTMP_FILE "$conf_wtmp_location"
19789_ACEOF
19790
19791fi
19792
19793{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMPX_FILE" >&5
19794$as_echo_n "checking if your system defines WTMPX_FILE... " >&6; }
19795cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19796/* end confdefs.h. */
19797
19798#include <sys/types.h>
19799#include <utmp.h>
19800#ifdef HAVE_UTMPX_H
19801#include <utmpx.h>
19802#endif
19803#ifdef HAVE_PATHS_H
19804# include <paths.h>
19805#endif
19806
19807int
19808main ()
19809{
19810 char *wtmpx = WTMPX_FILE;
19811 ;
19812 return 0;
19813}
19814_ACEOF
19815if ac_fn_c_try_compile "$LINENO"; then :
19816 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19817$as_echo "yes" >&6; }
19818else
19819 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19820$as_echo "no" >&6; }
19821 system_wtmpx_path=no
19822
19823fi
19824rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19825if test -z "$conf_wtmpx_location"; then
19826 if test x"$system_wtmpx_path" = x"no" ; then
19827 $as_echo "#define DISABLE_WTMPX 1" >>confdefs.h
19828
19829 fi
19830else
19831
19832cat >>confdefs.h <<_ACEOF
19833#define CONF_WTMPX_FILE "$conf_wtmpx_location"
19834_ACEOF
19835
19836fi
19837
19838
19839if test ! -z "$blibpath" ; then
19840 LDFLAGS="$LDFLAGS $blibflags$blibpath"
19841 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&5
19842$as_echo "$as_me: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&2;}
19843fi
19844
19845ac_fn_c_check_member "$LINENO" "struct lastlog" "ll_line" "ac_cv_member_struct_lastlog_ll_line" "
19846#ifdef HAVE_SYS_TYPES_H
19847#include <sys/types.h>
19848#endif
19849#ifdef HAVE_UTMP_H
19850#include <utmp.h>
19851#endif
19852#ifdef HAVE_UTMPX_H
19853#include <utmpx.h>
19854#endif
19855#ifdef HAVE_LASTLOG_H
19856#include <lastlog.h>
19857#endif
19858
19859"
19860if test "x$ac_cv_member_struct_lastlog_ll_line" = xyes; then :
19861
19862else
19863
19864 if test x$SKIP_DISABLE_LASTLOG_DEFINE != "xyes" ; then
19865 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
19866
19867 fi
19868
19869fi
19870
19871
19872ac_fn_c_check_member "$LINENO" "struct utmp" "ut_line" "ac_cv_member_struct_utmp_ut_line" "
19873#ifdef HAVE_SYS_TYPES_H
19874#include <sys/types.h>
19875#endif
19876#ifdef HAVE_UTMP_H
19877#include <utmp.h>
19878#endif
19879#ifdef HAVE_UTMPX_H
19880#include <utmpx.h>
19881#endif
19882#ifdef HAVE_LASTLOG_H
19883#include <lastlog.h>
19884#endif
19885
19886"
19887if test "x$ac_cv_member_struct_utmp_ut_line" = xyes; then :
19888
19889else
19890
19891 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
19892
19893 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
19894
19895
19896fi
19897
19898
19899CFLAGS="$CFLAGS $werror_flags"
19900
19901if test "x$ac_cv_func_getaddrinfo" != "xyes" ; then
19902 TEST_SSH_IPV6=no
19903else
19904 TEST_SSH_IPV6=yes
19905fi
19906ac_fn_c_check_decl "$LINENO" "BROKEN_GETADDRINFO" "ac_cv_have_decl_BROKEN_GETADDRINFO" "$ac_includes_default"
19907if test "x$ac_cv_have_decl_BROKEN_GETADDRINFO" = xyes; then :
19908 TEST_SSH_IPV6=no
19909fi
19910
19911TEST_SSH_IPV6=$TEST_SSH_IPV6
19912
19913TEST_SSH_UTF8=$TEST_SSH_UTF8
19914
19915TEST_MALLOC_OPTIONS=$TEST_MALLOC_OPTIONS
19916
19917UNSUPPORTED_ALGORITHMS=$unsupported_algorithms
19918
19919DEPEND=$(cat $srcdir/.depend)
19920
19921
19922CFLAGS="${CFLAGS} ${CFLAGS_AFTER}"
19923LDFLAGS="${LDFLAGS} ${LDFLAGS_AFTER}"
19924
19925# Make a copy of CFLAGS/LDFLAGS without PIE options.
19926LDFLAGS_NOPIE=`echo "$LDFLAGS" | sed 's/ -pie//'`
19927CFLAGS_NOPIE=`echo "$CFLAGS" | sed 's/ -fPIE//'`
19928
19929
19930
19931
19932ac_config_files="$ac_config_files Makefile buildpkg.sh opensshd.init openssh.xml openbsd-compat/Makefile openbsd-compat/regress/Makefile survey.sh"
19933
19934cat >confcache <<\_ACEOF
19935# This file is a shell script that caches the results of configure
19936# tests run on this system so they can be shared between configure
19937# scripts and configure runs, see configure's option --config-cache.
19938# It is not useful on other systems. If it contains results you don't
19939# want to keep, you may remove or edit it.
19940#
19941# config.status only pays attention to the cache file if you give it
19942# the --recheck option to rerun configure.
19943#
19944# `ac_cv_env_foo' variables (set or unset) will be overridden when
19945# loading this file, other *unset* `ac_cv_foo' will be assigned the
19946# following values.
19947
19948_ACEOF
19949
19950# The following way of writing the cache mishandles newlines in values,
19951# but we know of no workaround that is simple, portable, and efficient.
19952# So, we kill variables containing newlines.
19953# Ultrix sh set writes to stderr and can't be redirected directly,
19954# and sets the high bit in the cache file unless we assign to the vars.
19955(
19956 for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
19957 eval ac_val=\$$ac_var
19958 case $ac_val in #(
19959 *${as_nl}*)
19960 case $ac_var in #(
19961 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
19962$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
19963 esac
19964 case $ac_var in #(
19965 _ | IFS | as_nl) ;; #(
19966 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
19967 *) { eval $ac_var=; unset $ac_var;} ;;
19968 esac ;;
19969 esac
19970 done
19971
19972 (set) 2>&1 |
19973 case $as_nl`(ac_space=' '; set) 2>&1` in #(
19974 *${as_nl}ac_space=\ *)
19975 # `set' does not quote correctly, so add quotes: double-quote
19976 # substitution turns \\\\ into \\, and sed turns \\ into \.
19977 sed -n \
19978 "s/'/'\\\\''/g;
19979 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
19980 ;; #(
19981 *)
19982 # `set' quotes correctly as required by POSIX, so do not add quotes.
19983 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
19984 ;;
19985 esac |
19986 sort
19987) |
19988 sed '
19989 /^ac_cv_env_/b end
19990 t clear
19991 :clear
19992 s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
19993 t end
19994 s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
19995 :end' >>confcache
19996if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
19997 if test -w "$cache_file"; then
19998 if test "x$cache_file" != "x/dev/null"; then
19999 { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
20000$as_echo "$as_me: updating cache $cache_file" >&6;}
20001 if test ! -f "$cache_file" || test -h "$cache_file"; then
20002 cat confcache >"$cache_file"
20003 else
20004 case $cache_file in #(
20005 */* | ?:*)
20006 mv -f confcache "$cache_file"$$ &&
20007 mv -f "$cache_file"$$ "$cache_file" ;; #(
20008 *)
20009 mv -f confcache "$cache_file" ;;
20010 esac
20011 fi
20012 fi
20013 else
20014 { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
20015$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
20016 fi
20017fi
20018rm -f confcache
20019
20020test "x$prefix" = xNONE && prefix=$ac_default_prefix
20021# Let make expand exec_prefix.
20022test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
20023
20024DEFS=-DHAVE_CONFIG_H
20025
20026ac_libobjs=
20027ac_ltlibobjs=
20028U=
20029for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
20030 # 1. Remove the extension, and $U if already installed.
20031 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
20032 ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
20033 # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
20034 # will be set to the directory where LIBOBJS objects are built.
20035 as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
20036 as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
20037done
20038LIBOBJS=$ac_libobjs
20039
20040LTLIBOBJS=$ac_ltlibobjs
20041
20042
20043
20044
20045: "${CONFIG_STATUS=./config.status}"
20046ac_write_fail=0
20047ac_clean_files_save=$ac_clean_files
20048ac_clean_files="$ac_clean_files $CONFIG_STATUS"
20049{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
20050$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
20051as_write_fail=0
20052cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
20053#! $SHELL
20054# Generated by $as_me.
20055# Run this file to recreate the current configuration.
20056# Compiler output produced by configure, useful for debugging
20057# configure, is in config.log if it exists.
20058
20059debug=false
20060ac_cs_recheck=false
20061ac_cs_silent=false
20062
20063SHELL=\${CONFIG_SHELL-$SHELL}
20064export SHELL
20065_ASEOF
20066cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
20067## -------------------- ##
20068## M4sh Initialization. ##
20069## -------------------- ##
20070
20071# Be more Bourne compatible
20072DUALCASE=1; export DUALCASE # for MKS sh
20073if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
20074 emulate sh
20075 NULLCMD=:
20076 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
20077 # is contrary to our usage. Disable this feature.
20078 alias -g '${1+"$@"}'='"$@"'
20079 setopt NO_GLOB_SUBST
20080else
20081 case `(set -o) 2>/dev/null` in #(
20082 *posix*) :
20083 set -o posix ;; #(
20084 *) :
20085 ;;
20086esac
20087fi
20088
20089
20090as_nl='
20091'
20092export as_nl
20093# Printing a long string crashes Solaris 7 /usr/bin/printf.
20094as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
20095as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
20096as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
20097# Prefer a ksh shell builtin over an external printf program on Solaris,
20098# but without wasting forks for bash or zsh.
20099if test -z "$BASH_VERSION$ZSH_VERSION" \
20100 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
20101 as_echo='print -r --'
20102 as_echo_n='print -rn --'
20103elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
20104 as_echo='printf %s\n'
20105 as_echo_n='printf %s'
20106else
20107 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
20108 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
20109 as_echo_n='/usr/ucb/echo -n'
20110 else
20111 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
20112 as_echo_n_body='eval
20113 arg=$1;
20114 case $arg in #(
20115 *"$as_nl"*)
20116 expr "X$arg" : "X\\(.*\\)$as_nl";
20117 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
20118 esac;
20119 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
20120 '
20121 export as_echo_n_body
20122 as_echo_n='sh -c $as_echo_n_body as_echo'
20123 fi
20124 export as_echo_body
20125 as_echo='sh -c $as_echo_body as_echo'
20126fi
20127
20128# The user is always right.
20129if test "${PATH_SEPARATOR+set}" != set; then
20130 PATH_SEPARATOR=:
20131 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
20132 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
20133 PATH_SEPARATOR=';'
20134 }
20135fi
20136
20137
20138# IFS
20139# We need space, tab and new line, in precisely that order. Quoting is
20140# there to prevent editors from complaining about space-tab.
20141# (If _AS_PATH_WALK were called with IFS unset, it would disable word
20142# splitting by setting IFS to empty value.)
20143IFS=" "" $as_nl"
20144
20145# Find who we are. Look in the path if we contain no directory separator.
20146as_myself=
20147case $0 in #((
20148 *[\\/]* ) as_myself=$0 ;;
20149 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20150for as_dir in $PATH
20151do
20152 IFS=$as_save_IFS
20153 test -z "$as_dir" && as_dir=.
20154 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
20155 done
20156IFS=$as_save_IFS
20157
20158 ;;
20159esac
20160# We did not find ourselves, most probably we were run as `sh COMMAND'
20161# in which case we are not to be found in the path.
20162if test "x$as_myself" = x; then
20163 as_myself=$0
20164fi
20165if test ! -f "$as_myself"; then
20166 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
20167 exit 1
20168fi
20169
20170# Unset variables that we do not need and which cause bugs (e.g. in
20171# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
20172# suppresses any "Segmentation fault" message there. '((' could
20173# trigger a bug in pdksh 5.2.14.
20174for as_var in BASH_ENV ENV MAIL MAILPATH
20175do eval test x\${$as_var+set} = xset \
20176 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
20177done
20178PS1='$ '
20179PS2='> '
20180PS4='+ '
20181
20182# NLS nuisances.
20183LC_ALL=C
20184export LC_ALL
20185LANGUAGE=C
20186export LANGUAGE
20187
20188# CDPATH.
20189(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
20190
20191
20192# as_fn_error STATUS ERROR [LINENO LOG_FD]
20193# ----------------------------------------
20194# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
20195# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
20196# script with STATUS, using 1 if that was 0.
20197as_fn_error ()
20198{
20199 as_status=$1; test $as_status -eq 0 && as_status=1
20200 if test "$4"; then
20201 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
20202 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
20203 fi
20204 $as_echo "$as_me: error: $2" >&2
20205 as_fn_exit $as_status
20206} # as_fn_error
20207
20208
20209# as_fn_set_status STATUS
20210# -----------------------
20211# Set $? to STATUS, without forking.
20212as_fn_set_status ()
20213{
20214 return $1
20215} # as_fn_set_status
20216
20217# as_fn_exit STATUS
20218# -----------------
20219# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
20220as_fn_exit ()
20221{
20222 set +e
20223 as_fn_set_status $1
20224 exit $1
20225} # as_fn_exit
20226
20227# as_fn_unset VAR
20228# ---------------
20229# Portably unset VAR.
20230as_fn_unset ()
20231{
20232 { eval $1=; unset $1;}
20233}
20234as_unset=as_fn_unset
20235# as_fn_append VAR VALUE
20236# ----------------------
20237# Append the text in VALUE to the end of the definition contained in VAR. Take
20238# advantage of any shell optimizations that allow amortized linear growth over
20239# repeated appends, instead of the typical quadratic growth present in naive
20240# implementations.
20241if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
20242 eval 'as_fn_append ()
20243 {
20244 eval $1+=\$2
20245 }'
20246else
20247 as_fn_append ()
20248 {
20249 eval $1=\$$1\$2
20250 }
20251fi # as_fn_append
20252
20253# as_fn_arith ARG...
20254# ------------------
20255# Perform arithmetic evaluation on the ARGs, and store the result in the
20256# global $as_val. Take advantage of shells that can avoid forks. The arguments
20257# must be portable across $(()) and expr.
20258if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
20259 eval 'as_fn_arith ()
20260 {
20261 as_val=$(( $* ))
20262 }'
20263else
20264 as_fn_arith ()
20265 {
20266 as_val=`expr "$@" || test $? -eq 1`
20267 }
20268fi # as_fn_arith
20269
20270
20271if expr a : '\(a\)' >/dev/null 2>&1 &&
20272 test "X`expr 00001 : '.*\(...\)'`" = X001; then
20273 as_expr=expr
20274else
20275 as_expr=false
20276fi
20277
20278if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
20279 as_basename=basename
20280else
20281 as_basename=false
20282fi
20283
20284if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
20285 as_dirname=dirname
20286else
20287 as_dirname=false
20288fi
20289
20290as_me=`$as_basename -- "$0" ||
20291$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
20292 X"$0" : 'X\(//\)$' \| \
20293 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
20294$as_echo X/"$0" |
20295 sed '/^.*\/\([^/][^/]*\)\/*$/{
20296 s//\1/
20297 q
20298 }
20299 /^X\/\(\/\/\)$/{
20300 s//\1/
20301 q
20302 }
20303 /^X\/\(\/\).*/{
20304 s//\1/
20305 q
20306 }
20307 s/.*/./; q'`
20308
20309# Avoid depending upon Character Ranges.
20310as_cr_letters='abcdefghijklmnopqrstuvwxyz'
20311as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
20312as_cr_Letters=$as_cr_letters$as_cr_LETTERS
20313as_cr_digits='0123456789'
20314as_cr_alnum=$as_cr_Letters$as_cr_digits
20315
20316ECHO_C= ECHO_N= ECHO_T=
20317case `echo -n x` in #(((((
20318-n*)
20319 case `echo 'xy\c'` in
20320 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
20321 xy) ECHO_C='\c';;
20322 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
20323 ECHO_T=' ';;
20324 esac;;
20325*)
20326 ECHO_N='-n';;
20327esac
20328
20329rm -f conf$$ conf$$.exe conf$$.file
20330if test -d conf$$.dir; then
20331 rm -f conf$$.dir/conf$$.file
20332else
20333 rm -f conf$$.dir
20334 mkdir conf$$.dir 2>/dev/null
20335fi
20336if (echo >conf$$.file) 2>/dev/null; then
20337 if ln -s conf$$.file conf$$ 2>/dev/null; then
20338 as_ln_s='ln -s'
20339 # ... but there are two gotchas:
20340 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
20341 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
20342 # In both cases, we have to default to `cp -pR'.
20343 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
20344 as_ln_s='cp -pR'
20345 elif ln conf$$.file conf$$ 2>/dev/null; then
20346 as_ln_s=ln
20347 else
20348 as_ln_s='cp -pR'
20349 fi
20350else
20351 as_ln_s='cp -pR'
20352fi
20353rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
20354rmdir conf$$.dir 2>/dev/null
20355
20356
20357# as_fn_mkdir_p
20358# -------------
20359# Create "$as_dir" as a directory, including parents if necessary.
20360as_fn_mkdir_p ()
20361{
20362
20363 case $as_dir in #(
20364 -*) as_dir=./$as_dir;;
20365 esac
20366 test -d "$as_dir" || eval $as_mkdir_p || {
20367 as_dirs=
20368 while :; do
20369 case $as_dir in #(
20370 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
20371 *) as_qdir=$as_dir;;
20372 esac
20373 as_dirs="'$as_qdir' $as_dirs"
20374 as_dir=`$as_dirname -- "$as_dir" ||
20375$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
20376 X"$as_dir" : 'X\(//\)[^/]' \| \
20377 X"$as_dir" : 'X\(//\)$' \| \
20378 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
20379$as_echo X"$as_dir" |
20380 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
20381 s//\1/
20382 q
20383 }
20384 /^X\(\/\/\)[^/].*/{
20385 s//\1/
20386 q
20387 }
20388 /^X\(\/\/\)$/{
20389 s//\1/
20390 q
20391 }
20392 /^X\(\/\).*/{
20393 s//\1/
20394 q
20395 }
20396 s/.*/./; q'`
20397 test -d "$as_dir" && break
20398 done
20399 test -z "$as_dirs" || eval "mkdir $as_dirs"
20400 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
20401
20402
20403} # as_fn_mkdir_p
20404if mkdir -p . 2>/dev/null; then
20405 as_mkdir_p='mkdir -p "$as_dir"'
20406else
20407 test -d ./-p && rmdir ./-p
20408 as_mkdir_p=false
20409fi
20410
20411
20412# as_fn_executable_p FILE
20413# -----------------------
20414# Test if FILE is an executable regular file.
20415as_fn_executable_p ()
20416{
20417 test -f "$1" && test -x "$1"
20418} # as_fn_executable_p
20419as_test_x='test -x'
20420as_executable_p=as_fn_executable_p
20421
20422# Sed expression to map a string onto a valid CPP name.
20423as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
20424
20425# Sed expression to map a string onto a valid variable name.
20426as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
20427
20428
20429exec 6>&1
20430## ----------------------------------- ##
20431## Main body of $CONFIG_STATUS script. ##
20432## ----------------------------------- ##
20433_ASEOF
20434test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
20435
20436cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20437# Save the log message, to keep $0 and so on meaningful, and to
20438# report actual input values of CONFIG_FILES etc. instead of their
20439# values after options handling.
20440ac_log="
20441This file was extended by OpenSSH $as_me Portable, which was
20442generated by GNU Autoconf 2.69. Invocation command line was
20443
20444 CONFIG_FILES = $CONFIG_FILES
20445 CONFIG_HEADERS = $CONFIG_HEADERS
20446 CONFIG_LINKS = $CONFIG_LINKS
20447 CONFIG_COMMANDS = $CONFIG_COMMANDS
20448 $ $0 $@
20449
20450on `(hostname || uname -n) 2>/dev/null | sed 1q`
20451"
20452
20453_ACEOF
20454
20455case $ac_config_files in *"
20456"*) set x $ac_config_files; shift; ac_config_files=$*;;
20457esac
20458
20459case $ac_config_headers in *"
20460"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
20461esac
20462
20463
20464cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20465# Files that config.status was made for.
20466config_files="$ac_config_files"
20467config_headers="$ac_config_headers"
20468
20469_ACEOF
20470
20471cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20472ac_cs_usage="\
20473\`$as_me' instantiates files and other configuration actions
20474from templates according to the current configuration. Unless the files
20475and actions are specified as TAGs, all are instantiated by default.
20476
20477Usage: $0 [OPTION]... [TAG]...
20478
20479 -h, --help print this help, then exit
20480 -V, --version print version number and configuration settings, then exit
20481 --config print configuration, then exit
20482 -q, --quiet, --silent
20483 do not print progress messages
20484 -d, --debug don't remove temporary files
20485 --recheck update $as_me by reconfiguring in the same conditions
20486 --file=FILE[:TEMPLATE]
20487 instantiate the configuration file FILE
20488 --header=FILE[:TEMPLATE]
20489 instantiate the configuration header FILE
20490
20491Configuration files:
20492$config_files
20493
20494Configuration headers:
20495$config_headers
20496
20497Report bugs to <openssh-unix-dev@mindrot.org>."
20498
20499_ACEOF
20500cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20501ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
20502ac_cs_version="\\
20503OpenSSH config.status Portable
20504configured by $0, generated by GNU Autoconf 2.69,
20505 with options \\"\$ac_cs_config\\"
20506
20507Copyright (C) 2012 Free Software Foundation, Inc.
20508This config.status script is free software; the Free Software Foundation
20509gives unlimited permission to copy, distribute and modify it."
20510
20511ac_pwd='$ac_pwd'
20512srcdir='$srcdir'
20513INSTALL='$INSTALL'
20514MKDIR_P='$MKDIR_P'
20515AWK='$AWK'
20516test -n "\$AWK" || AWK=awk
20517_ACEOF
20518
20519cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20520# The default lists apply if the user does not specify any file.
20521ac_need_defaults=:
20522while test $# != 0
20523do
20524 case $1 in
20525 --*=?*)
20526 ac_option=`expr "X$1" : 'X\([^=]*\)='`
20527 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
20528 ac_shift=:
20529 ;;
20530 --*=)
20531 ac_option=`expr "X$1" : 'X\([^=]*\)='`
20532 ac_optarg=
20533 ac_shift=:
20534 ;;
20535 *)
20536 ac_option=$1
20537 ac_optarg=$2
20538 ac_shift=shift
20539 ;;
20540 esac
20541
20542 case $ac_option in
20543 # Handling of the options.
20544 -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
20545 ac_cs_recheck=: ;;
20546 --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
20547 $as_echo "$ac_cs_version"; exit ;;
20548 --config | --confi | --conf | --con | --co | --c )
20549 $as_echo "$ac_cs_config"; exit ;;
20550 --debug | --debu | --deb | --de | --d | -d )
20551 debug=: ;;
20552 --file | --fil | --fi | --f )
20553 $ac_shift
20554 case $ac_optarg in
20555 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
20556 '') as_fn_error $? "missing file argument" ;;
20557 esac
20558 as_fn_append CONFIG_FILES " '$ac_optarg'"
20559 ac_need_defaults=false;;
20560 --header | --heade | --head | --hea )
20561 $ac_shift
20562 case $ac_optarg in
20563 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
20564 esac
20565 as_fn_append CONFIG_HEADERS " '$ac_optarg'"
20566 ac_need_defaults=false;;
20567 --he | --h)
20568 # Conflict between --help and --header
20569 as_fn_error $? "ambiguous option: \`$1'
20570Try \`$0 --help' for more information.";;
20571 --help | --hel | -h )
20572 $as_echo "$ac_cs_usage"; exit ;;
20573 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
20574 | -silent | --silent | --silen | --sile | --sil | --si | --s)
20575 ac_cs_silent=: ;;
20576
20577 # This is an error.
20578 -*) as_fn_error $? "unrecognized option: \`$1'
20579Try \`$0 --help' for more information." ;;
20580
20581 *) as_fn_append ac_config_targets " $1"
20582 ac_need_defaults=false ;;
20583
20584 esac
20585 shift
20586done
20587
20588ac_configure_extra_args=
20589
20590if $ac_cs_silent; then
20591 exec 6>/dev/null
20592 ac_configure_extra_args="$ac_configure_extra_args --silent"
20593fi
20594
20595_ACEOF
20596cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20597if \$ac_cs_recheck; then
20598 set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
20599 shift
20600 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
20601 CONFIG_SHELL='$SHELL'
20602 export CONFIG_SHELL
20603 exec "\$@"
20604fi
20605
20606_ACEOF
20607cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20608exec 5>>config.log
20609{
20610 echo
20611 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
20612## Running $as_me. ##
20613_ASBOX
20614 $as_echo "$ac_log"
20615} >&5
20616
20617_ACEOF
20618cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20619_ACEOF
20620
20621cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20622
20623# Handling of arguments.
20624for ac_config_target in $ac_config_targets
20625do
20626 case $ac_config_target in
20627 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
20628 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
20629 "buildpkg.sh") CONFIG_FILES="$CONFIG_FILES buildpkg.sh" ;;
20630 "opensshd.init") CONFIG_FILES="$CONFIG_FILES opensshd.init" ;;
20631 "openssh.xml") CONFIG_FILES="$CONFIG_FILES openssh.xml" ;;
20632 "openbsd-compat/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/Makefile" ;;
20633 "openbsd-compat/regress/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/regress/Makefile" ;;
20634 "survey.sh") CONFIG_FILES="$CONFIG_FILES survey.sh" ;;
20635
20636 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
20637 esac
20638done
20639
20640
20641# If the user did not use the arguments to specify the items to instantiate,
20642# then the envvar interface is used. Set only those that are not.
20643# We use the long form for the default assignment because of an extremely
20644# bizarre bug on SunOS 4.1.3.
20645if $ac_need_defaults; then
20646 test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
20647 test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
20648fi
20649
20650# Have a temporary directory for convenience. Make it in the build tree
20651# simply because there is no reason against having it here, and in addition,
20652# creating and moving files from /tmp can sometimes cause problems.
20653# Hook for its removal unless debugging.
20654# Note that there is a small window in which the directory will not be cleaned:
20655# after its creation but before its name has been assigned to `$tmp'.
20656$debug ||
20657{
20658 tmp= ac_tmp=
20659 trap 'exit_status=$?
20660 : "${ac_tmp:=$tmp}"
20661 { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
20662' 0
20663 trap 'as_fn_exit 1' 1 2 13 15
20664}
20665# Create a (secure) tmp directory for tmp files.
20666
20667{
20668 tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
20669 test -d "$tmp"
20670} ||
20671{
20672 tmp=./conf$$-$RANDOM
20673 (umask 077 && mkdir "$tmp")
20674} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
20675ac_tmp=$tmp
20676
20677# Set up the scripts for CONFIG_FILES section.
20678# No need to generate them if there are no CONFIG_FILES.
20679# This happens for instance with `./config.status config.h'.
20680if test -n "$CONFIG_FILES"; then
20681
20682
20683ac_cr=`echo X | tr X '\015'`
20684# On cygwin, bash can eat \r inside `` if the user requested igncr.
20685# But we know of no other shell where ac_cr would be empty at this
20686# point, so we can use a bashism as a fallback.
20687if test "x$ac_cr" = x; then
20688 eval ac_cr=\$\'\\r\'
20689fi
20690ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
20691if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
20692 ac_cs_awk_cr='\\r'
20693else
20694 ac_cs_awk_cr=$ac_cr
20695fi
20696
20697echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
20698_ACEOF
20699
20700
20701{
20702 echo "cat >conf$$subs.awk <<_ACEOF" &&
20703 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
20704 echo "_ACEOF"
20705} >conf$$subs.sh ||
20706 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
20707ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
20708ac_delim='%!_!# '
20709for ac_last_try in false false false false false :; do
20710 . ./conf$$subs.sh ||
20711 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
20712
20713 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
20714 if test $ac_delim_n = $ac_delim_num; then
20715 break
20716 elif $ac_last_try; then
20717 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
20718 else
20719 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
20720 fi
20721done
20722rm -f conf$$subs.sh
20723
20724cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20725cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
20726_ACEOF
20727sed -n '
20728h
20729s/^/S["/; s/!.*/"]=/
20730p
20731g
20732s/^[^!]*!//
20733:repl
20734t repl
20735s/'"$ac_delim"'$//
20736t delim
20737:nl
20738h
20739s/\(.\{148\}\)..*/\1/
20740t more1
20741s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
20742p
20743n
20744b repl
20745:more1
20746s/["\\]/\\&/g; s/^/"/; s/$/"\\/
20747p
20748g
20749s/.\{148\}//
20750t nl
20751:delim
20752h
20753s/\(.\{148\}\)..*/\1/
20754t more2
20755s/["\\]/\\&/g; s/^/"/; s/$/"/
20756p
20757b
20758:more2
20759s/["\\]/\\&/g; s/^/"/; s/$/"\\/
20760p
20761g
20762s/.\{148\}//
20763t delim
20764' <conf$$subs.awk | sed '
20765/^[^""]/{
20766 N
20767 s/\n//
20768}
20769' >>$CONFIG_STATUS || ac_write_fail=1
20770rm -f conf$$subs.awk
20771cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20772_ACAWK
20773cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
20774 for (key in S) S_is_set[key] = 1
20775 FS = ""
20776
20777}
20778{
20779 line = $ 0
20780 nfields = split(line, field, "@")
20781 substed = 0
20782 len = length(field[1])
20783 for (i = 2; i < nfields; i++) {
20784 key = field[i]
20785 keylen = length(key)
20786 if (S_is_set[key]) {
20787 value = S[key]
20788 line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
20789 len += length(value) + length(field[++i])
20790 substed = 1
20791 } else
20792 len += 1 + keylen
20793 }
20794
20795 print line
20796}
20797
20798_ACAWK
20799_ACEOF
20800cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20801if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
20802 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
20803else
20804 cat
20805fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
20806 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
20807_ACEOF
20808
20809# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
20810# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
20811# trailing colons and then remove the whole line if VPATH becomes empty
20812# (actually we leave an empty line to preserve line numbers).
20813if test "x$srcdir" = x.; then
20814 ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
20815h
20816s///
20817s/^/:/
20818s/[ ]*$/:/
20819s/:\$(srcdir):/:/g
20820s/:\${srcdir}:/:/g
20821s/:@srcdir@:/:/g
20822s/^:*//
20823s/:*$//
20824x
20825s/\(=[ ]*\).*/\1/
20826G
20827s/\n//
20828s/^[^=]*=[ ]*$//
20829}'
20830fi
20831
20832cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20833fi # test -n "$CONFIG_FILES"
20834
20835# Set up the scripts for CONFIG_HEADERS section.
20836# No need to generate them if there are no CONFIG_HEADERS.
20837# This happens for instance with `./config.status Makefile'.
20838if test -n "$CONFIG_HEADERS"; then
20839cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
20840BEGIN {
20841_ACEOF
20842
20843# Transform confdefs.h into an awk script `defines.awk', embedded as
20844# here-document in config.status, that substitutes the proper values into
20845# config.h.in to produce config.h.
20846
20847# Create a delimiter string that does not exist in confdefs.h, to ease
20848# handling of long lines.
20849ac_delim='%!_!# '
20850for ac_last_try in false false :; do
20851 ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
20852 if test -z "$ac_tt"; then
20853 break
20854 elif $ac_last_try; then
20855 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
20856 else
20857 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
20858 fi
20859done
20860
20861# For the awk script, D is an array of macro values keyed by name,
20862# likewise P contains macro parameters if any. Preserve backslash
20863# newline sequences.
20864
20865ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
20866sed -n '
20867s/.\{148\}/&'"$ac_delim"'/g
20868t rset
20869:rset
20870s/^[ ]*#[ ]*define[ ][ ]*/ /
20871t def
20872d
20873:def
20874s/\\$//
20875t bsnl
20876s/["\\]/\\&/g
20877s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
20878D["\1"]=" \3"/p
20879s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
20880d
20881:bsnl
20882s/["\\]/\\&/g
20883s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
20884D["\1"]=" \3\\\\\\n"\\/p
20885t cont
20886s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
20887t cont
20888d
20889:cont
20890n
20891s/.\{148\}/&'"$ac_delim"'/g
20892t clear
20893:clear
20894s/\\$//
20895t bsnlc
20896s/["\\]/\\&/g; s/^/"/; s/$/"/p
20897d
20898:bsnlc
20899s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
20900b cont
20901' <confdefs.h | sed '
20902s/'"$ac_delim"'/"\\\
20903"/g' >>$CONFIG_STATUS || ac_write_fail=1
20904
20905cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20906 for (key in D) D_is_set[key] = 1
20907 FS = ""
20908}
20909/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
20910 line = \$ 0
20911 split(line, arg, " ")
20912 if (arg[1] == "#") {
20913 defundef = arg[2]
20914 mac1 = arg[3]
20915 } else {
20916 defundef = substr(arg[1], 2)
20917 mac1 = arg[2]
20918 }
20919 split(mac1, mac2, "(") #)
20920 macro = mac2[1]
20921 prefix = substr(line, 1, index(line, defundef) - 1)
20922 if (D_is_set[macro]) {
20923 # Preserve the white space surrounding the "#".
20924 print prefix "define", macro P[macro] D[macro]
20925 next
20926 } else {
20927 # Replace #undef with comments. This is necessary, for example,
20928 # in the case of _POSIX_SOURCE, which is predefined and required
20929 # on some systems where configure will not decide to define it.
20930 if (defundef == "undef") {
20931 print "/*", prefix defundef, macro, "*/"
20932 next
20933 }
20934 }
20935}
20936{ print }
20937_ACAWK
20938_ACEOF
20939cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20940 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
20941fi # test -n "$CONFIG_HEADERS"
20942
20943
20944eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
20945shift
20946for ac_tag
20947do
20948 case $ac_tag in
20949 :[FHLC]) ac_mode=$ac_tag; continue;;
20950 esac
20951 case $ac_mode$ac_tag in
20952 :[FHL]*:*);;
20953 :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
20954 :[FH]-) ac_tag=-:-;;
20955 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
20956 esac
20957 ac_save_IFS=$IFS
20958 IFS=:
20959 set x $ac_tag
20960 IFS=$ac_save_IFS
20961 shift
20962 ac_file=$1
20963 shift
20964
20965 case $ac_mode in
20966 :L) ac_source=$1;;
20967 :[FH])
20968 ac_file_inputs=
20969 for ac_f
20970 do
20971 case $ac_f in
20972 -) ac_f="$ac_tmp/stdin";;
20973 *) # Look for the file first in the build tree, then in the source tree
20974 # (if the path is not absolute). The absolute path cannot be DOS-style,
20975 # because $ac_f cannot contain `:'.
20976 test -f "$ac_f" ||
20977 case $ac_f in
20978 [\\/$]*) false;;
20979 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
20980 esac ||
20981 as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
20982 esac
20983 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
20984 as_fn_append ac_file_inputs " '$ac_f'"
20985 done
20986
20987 # Let's still pretend it is `configure' which instantiates (i.e., don't
20988 # use $as_me), people would be surprised to read:
20989 # /* config.h. Generated by config.status. */
20990 configure_input='Generated from '`
20991 $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
20992 `' by configure.'
20993 if test x"$ac_file" != x-; then
20994 configure_input="$ac_file. $configure_input"
20995 { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
20996$as_echo "$as_me: creating $ac_file" >&6;}
20997 fi
20998 # Neutralize special characters interpreted by sed in replacement strings.
20999 case $configure_input in #(
21000 *\&* | *\|* | *\\* )
21001 ac_sed_conf_input=`$as_echo "$configure_input" |
21002 sed 's/[\\\\&|]/\\\\&/g'`;; #(
21003 *) ac_sed_conf_input=$configure_input;;
21004 esac
21005
21006 case $ac_tag in
21007 *:-:* | *:-) cat >"$ac_tmp/stdin" \
21008 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
21009 esac
21010 ;;
21011 esac
21012
21013 ac_dir=`$as_dirname -- "$ac_file" ||
21014$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
21015 X"$ac_file" : 'X\(//\)[^/]' \| \
21016 X"$ac_file" : 'X\(//\)$' \| \
21017 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
21018$as_echo X"$ac_file" |
21019 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
21020 s//\1/
21021 q
21022 }
21023 /^X\(\/\/\)[^/].*/{
21024 s//\1/
21025 q
21026 }
21027 /^X\(\/\/\)$/{
21028 s//\1/
21029 q
21030 }
21031 /^X\(\/\).*/{
21032 s//\1/
21033 q
21034 }
21035 s/.*/./; q'`
21036 as_dir="$ac_dir"; as_fn_mkdir_p
21037 ac_builddir=.
21038
21039case "$ac_dir" in
21040.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
21041*)
21042 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
21043 # A ".." for each directory in $ac_dir_suffix.
21044 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
21045 case $ac_top_builddir_sub in
21046 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
21047 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
21048 esac ;;
21049esac
21050ac_abs_top_builddir=$ac_pwd
21051ac_abs_builddir=$ac_pwd$ac_dir_suffix
21052# for backward compatibility:
21053ac_top_builddir=$ac_top_build_prefix
21054
21055case $srcdir in
21056 .) # We are building in place.
21057 ac_srcdir=.
21058 ac_top_srcdir=$ac_top_builddir_sub
21059 ac_abs_top_srcdir=$ac_pwd ;;
21060 [\\/]* | ?:[\\/]* ) # Absolute name.
21061 ac_srcdir=$srcdir$ac_dir_suffix;
21062 ac_top_srcdir=$srcdir
21063 ac_abs_top_srcdir=$srcdir ;;
21064 *) # Relative name.
21065 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
21066 ac_top_srcdir=$ac_top_build_prefix$srcdir
21067 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
21068esac
21069ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
21070
21071
21072 case $ac_mode in
21073 :F)
21074 #
21075 # CONFIG_FILE
21076 #
21077
21078 case $INSTALL in
21079 [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
21080 *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
21081 esac
21082 ac_MKDIR_P=$MKDIR_P
21083 case $MKDIR_P in
21084 [\\/$]* | ?:[\\/]* ) ;;
21085 */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
21086 esac
21087_ACEOF
21088
21089cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21090# If the template does not know about datarootdir, expand it.
21091# FIXME: This hack should be removed a few years after 2.60.
21092ac_datarootdir_hack=; ac_datarootdir_seen=
21093ac_sed_dataroot='
21094/datarootdir/ {
21095 p
21096 q
21097}
21098/@datadir@/p
21099/@docdir@/p
21100/@infodir@/p
21101/@localedir@/p
21102/@mandir@/p'
21103case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
21104*datarootdir*) ac_datarootdir_seen=yes;;
21105*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
21106 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
21107$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
21108_ACEOF
21109cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21110 ac_datarootdir_hack='
21111 s&@datadir@&$datadir&g
21112 s&@docdir@&$docdir&g
21113 s&@infodir@&$infodir&g
21114 s&@localedir@&$localedir&g
21115 s&@mandir@&$mandir&g
21116 s&\\\${datarootdir}&$datarootdir&g' ;;
21117esac
21118_ACEOF
21119
21120# Neutralize VPATH when `$srcdir' = `.'.
21121# Shell code in configure.ac might set extrasub.
21122# FIXME: do we really want to maintain this feature?
21123cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21124ac_sed_extra="$ac_vpsub
21125$extrasub
21126_ACEOF
21127cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21128:t
21129/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
21130s|@configure_input@|$ac_sed_conf_input|;t t
21131s&@top_builddir@&$ac_top_builddir_sub&;t t
21132s&@top_build_prefix@&$ac_top_build_prefix&;t t
21133s&@srcdir@&$ac_srcdir&;t t
21134s&@abs_srcdir@&$ac_abs_srcdir&;t t
21135s&@top_srcdir@&$ac_top_srcdir&;t t
21136s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
21137s&@builddir@&$ac_builddir&;t t
21138s&@abs_builddir@&$ac_abs_builddir&;t t
21139s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
21140s&@INSTALL@&$ac_INSTALL&;t t
21141s&@MKDIR_P@&$ac_MKDIR_P&;t t
21142$ac_datarootdir_hack
21143"
21144eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
21145 >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21146
21147test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
21148 { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
21149 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
21150 "$ac_tmp/out"`; test -z "$ac_out"; } &&
21151 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
21152which seems to be undefined. Please make sure it is defined" >&5
21153$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
21154which seems to be undefined. Please make sure it is defined" >&2;}
21155
21156 rm -f "$ac_tmp/stdin"
21157 case $ac_file in
21158 -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
21159 *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
21160 esac \
21161 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21162 ;;
21163 :H)
21164 #
21165 # CONFIG_HEADER
21166 #
21167 if test x"$ac_file" != x-; then
21168 {
21169 $as_echo "/* $configure_input */" \
21170 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
21171 } >"$ac_tmp/config.h" \
21172 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21173 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
21174 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
21175$as_echo "$as_me: $ac_file is unchanged" >&6;}
21176 else
21177 rm -f "$ac_file"
21178 mv "$ac_tmp/config.h" "$ac_file" \
21179 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21180 fi
21181 else
21182 $as_echo "/* $configure_input */" \
21183 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
21184 || as_fn_error $? "could not create -" "$LINENO" 5
21185 fi
21186 ;;
21187
21188
21189 esac
21190
21191done # for ac_tag
21192
21193
21194as_fn_exit 0
21195_ACEOF
21196ac_clean_files=$ac_clean_files_save
21197
21198test $ac_write_fail = 0 ||
21199 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
21200
21201
21202# configure is writing to config.log, and then calls config.status.
21203# config.status does its own redirection, appending to config.log.
21204# Unfortunately, on DOS this fails, as config.log is still kept open
21205# by configure, so config.status won't be able to write to it; its
21206# output is simply discarded. So we exec the FD to /dev/null,
21207# effectively closing config.log, so it can be properly (re)opened and
21208# appended to by config.status. When coming back to configure, we
21209# need to make the FD available again.
21210if test "$no_create" != yes; then
21211 ac_cs_success=:
21212 ac_config_status_args=
21213 test "$silent" = yes &&
21214 ac_config_status_args="$ac_config_status_args --quiet"
21215 exec 5>/dev/null
21216 $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
21217 exec 5>>config.log
21218 # Use ||, not &&, to avoid exiting from the if with $? = 1, which
21219 # would make configure fail if this is the last instruction.
21220 $ac_cs_success || as_fn_exit 1
21221fi
21222if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
21223 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
21224$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
21225fi
21226
21227
21228# Print summary of options
21229
21230# Someone please show me a better way :)
21231A=`eval echo ${prefix}` ; A=`eval echo ${A}`
21232B=`eval echo ${bindir}` ; B=`eval echo ${B}`
21233C=`eval echo ${sbindir}` ; C=`eval echo ${C}`
21234D=`eval echo ${sysconfdir}` ; D=`eval echo ${D}`
21235E=`eval echo ${libexecdir}/ssh-askpass` ; E=`eval echo ${E}`
21236F=`eval echo ${mandir}/${mansubdir}X` ; F=`eval echo ${F}`
21237G=`eval echo ${piddir}` ; G=`eval echo ${G}`
21238H=`eval echo ${PRIVSEP_PATH}` ; H=`eval echo ${H}`
21239I=`eval echo ${user_path}` ; I=`eval echo ${I}`
21240J=`eval echo ${superuser_path}` ; J=`eval echo ${J}`
21241
21242echo ""
21243echo "OpenSSH has been configured with the following options:"
21244echo " User binaries: $B"
21245echo " System binaries: $C"
21246echo " Configuration files: $D"
21247echo " Askpass program: $E"
21248echo " Manual pages: $F"
21249echo " PID file: $G"
21250echo " Privilege separation chroot path: $H"
21251if test "x$external_path_file" = "x/etc/login.conf" ; then
21252echo " At runtime, sshd will use the path defined in $external_path_file"
21253echo " Make sure the path to scp is present, otherwise scp will not work"
21254else
21255echo " sshd default user PATH: $I"
21256 if test ! -z "$external_path_file"; then
21257echo " (If PATH is set in $external_path_file it will be used instead. If"
21258echo " used, ensure the path to scp is present, otherwise scp will not work.)"
21259 fi
21260fi
21261if test ! -z "$superuser_path" ; then
21262echo " sshd superuser user PATH: $J"
21263fi
21264echo " Manpage format: $MANTYPE"
21265echo " PAM support: $PAM_MSG"
21266echo " OSF SIA support: $SIA_MSG"
21267echo " KerberosV support: $KRB5_MSG"
21268echo " SELinux support: $SELINUX_MSG"
21269echo " MD5 password support: $MD5_MSG"
21270echo " libedit support: $LIBEDIT_MSG"
21271echo " libldns support: $LDNS_MSG"
21272echo " Solaris process contract support: $SPC_MSG"
21273echo " Solaris project support: $SP_MSG"
21274echo " Solaris privilege support: $SPP_MSG"
21275echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG"
21276echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
21277echo " BSD Auth support: $BSD_AUTH_MSG"
21278echo " Random number source: $RAND_MSG"
21279echo " Privsep sandbox style: $SANDBOX_STYLE"
21280echo " PKCS#11 support: $enable_pkcs11"
21281echo " U2F/FIDO support: $enable_sk"
21282
21283echo ""
21284
21285echo " Host: ${host}"
21286echo " Compiler: ${CC}"
21287echo " Compiler flags: ${CFLAGS}"
21288echo "Preprocessor flags: ${CPPFLAGS}"
21289echo " Linker flags: ${LDFLAGS}"
21290echo " Libraries: ${LIBS}"
21291if test ! -z "${SSHDLIBS}"; then
21292echo " +for sshd: ${SSHDLIBS}"
21293fi
21294if test ! -z "${SSHLIBS}"; then
21295echo " +for ssh: ${SSHLIBS}"
21296fi
21297
21298echo ""
21299
21300if test "x$MAKE_PACKAGE_SUPPORTED" = "xyes" ; then
21301 echo "SVR4 style packages are supported with \"make package\""
21302 echo ""
21303fi
21304
21305if test "x$PAM_MSG" = "xyes" ; then
21306 echo "PAM is enabled. You may need to install a PAM control file "
21307 echo "for sshd, otherwise password authentication may fail. "
21308 echo "Example PAM control files can be found in the contrib/ "
21309 echo "subdirectory"
21310 echo ""
21311fi
21312
21313if test ! -z "$NO_PEERCHECK" ; then
21314 echo "WARNING: the operating system that you are using does not"
21315 echo "appear to support getpeereid(), getpeerucred() or the"
21316 echo "SO_PEERCRED getsockopt() option. These facilities are used to"
21317 echo "enforce security checks to prevent unauthorised connections to"
21318 echo "ssh-agent. Their absence increases the risk that a malicious"
21319 echo "user can connect to your agent."
21320 echo ""
21321fi
21322
21323if test "$AUDIT_MODULE" = "bsm" ; then
21324 echo "WARNING: BSM audit support is currently considered EXPERIMENTAL."
21325 echo "See the Solaris section in README.platform for details."
21326fi
diff --git a/moduli.0 b/moduli.0
new file mode 100644
index 000000000..6f1a50e44
--- /dev/null
+++ b/moduli.0
@@ -0,0 +1,74 @@
1MODULI(5) File Formats Manual MODULI(5)
2
3NAME
4 moduli M-bM-^@M-^S Diffie-Hellman moduli
5
6DESCRIPTION
7 The /etc/moduli file contains prime numbers and generators for use by
8 sshd(8) in the Diffie-Hellman Group Exchange key exchange method.
9
10 New moduli may be generated with ssh-keygen(1) using a two-step process.
11 An initial candidate generation pass, using ssh-keygen -G, calculates
12 numbers that are likely to be useful. A second primality testing pass,
13 using ssh-keygen -T, provides a high degree of assurance that the numbers
14 are prime and are safe for use in Diffie-Hellman operations by sshd(8).
15 This moduli format is used as the output from each pass.
16
17 The file consists of newline-separated records, one per modulus,
18 containing seven space-separated fields. These fields are as follows:
19
20 timestamp The time that the modulus was last processed as
21 YYYYMMDDHHMMSS.
22
23 type Decimal number specifying the internal structure of
24 the prime modulus. Supported types are:
25
26 0 Unknown, not tested.
27 2 "Safe" prime; (p-1)/2 is also prime.
28 4 Sophie Germain; 2p+1 is also prime.
29
30 Moduli candidates initially produced by ssh-keygen(1)
31 are Sophie Germain primes (type 4). Further primality
32 testing with ssh-keygen(1) produces safe prime moduli
33 (type 2) that are ready for use in sshd(8). Other
34 types are not used by OpenSSH.
35
36 tests Decimal number indicating the type of primality tests
37 that the number has been subjected to represented as a
38 bitmask of the following values:
39
40 0x00 Not tested.
41 0x01 Composite number M-bM-^@M-^S not prime.
42 0x02 Sieve of Eratosthenes.
43 0x04 Probabilistic Miller-Rabin primality tests.
44
45 The ssh-keygen(1) moduli candidate generation uses the
46 Sieve of Eratosthenes (flag 0x02). Subsequent
47 ssh-keygen(1) primality tests are Miller-Rabin tests
48 (flag 0x04).
49
50 trials Decimal number indicating the number of primality
51 trials that have been performed on the modulus.
52
53 size Decimal number indicating the size of the prime in
54 bits.
55
56 generator The recommended generator for use with this modulus
57 (hexadecimal).
58
59 modulus The modulus itself in hexadecimal.
60
61 When performing Diffie-Hellman Group Exchange, sshd(8) first estimates
62 the size of the modulus required to produce enough Diffie-Hellman output
63 to sufficiently key the selected symmetric cipher. sshd(8) then randomly
64 selects a modulus from /etc/moduli that best meets the size requirement.
65
66SEE ALSO
67 ssh-keygen(1), sshd(8)
68
69STANDARDS
70 M. Friedl, N. Provos, and W. Simpson, Diffie-Hellman Group Exchange for
71 the Secure Shell (SSH) Transport Layer Protocol, RFC 4419, March 2006,
72 2006.
73
74OpenBSD 6.6 September 26, 2012 OpenBSD 6.6
diff --git a/scp.0 b/scp.0
new file mode 100644
index 000000000..7775eb1e5
--- /dev/null
+++ b/scp.0
@@ -0,0 +1,182 @@
1SCP(1) General Commands Manual SCP(1)
2
3NAME
4 scp M-bM-^@M-^S OpenSSH secure file copy
5
6SYNOPSIS
7 scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]
8 [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program]
9 source ... target
10
11DESCRIPTION
12 scp copies files between hosts on a network. It uses ssh(1) for data
13 transfer, and uses the same authentication and provides the same security
14 as ssh(1). scp will ask for passwords or passphrases if they are needed
15 for authentication.
16
17 The source and target may be specified as a local pathname, a remote host
18 with optional path in the form [user@]host:[path], or a URI in the form
19 scp://[user@]host[:port][/path]. Local file names can be made explicit
20 using absolute or relative pathnames to avoid scp treating file names
21 containing M-bM-^@M-^X:M-bM-^@M-^Y as host specifiers.
22
23 When copying between two remote hosts, if the URI format is used, a port
24 may only be specified on the target if the -3 option is used.
25
26 The options are as follows:
27
28 -3 Copies between two remote hosts are transferred through the local
29 host. Without this option the data is copied directly between
30 the two remote hosts. Note that this option disables the
31 progress meter.
32
33 -4 Forces scp to use IPv4 addresses only.
34
35 -6 Forces scp to use IPv6 addresses only.
36
37 -B Selects batch mode (prevents asking for passwords or
38 passphrases).
39
40 -C Compression enable. Passes the -C flag to ssh(1) to enable
41 compression.
42
43 -c cipher
44 Selects the cipher to use for encrypting the data transfer. This
45 option is directly passed to ssh(1).
46
47 -F ssh_config
48 Specifies an alternative per-user configuration file for ssh.
49 This option is directly passed to ssh(1).
50
51 -i identity_file
52 Selects the file from which the identity (private key) for public
53 key authentication is read. This option is directly passed to
54 ssh(1).
55
56 -J destination
57 Connect to the target host by first making an scp connection to
58 the jump host described by destination and then establishing a
59 TCP forwarding to the ultimate destination from there. Multiple
60 jump hops may be specified separated by comma characters. This
61 is a shortcut to specify a ProxyJump configuration directive.
62 This option is directly passed to ssh(1).
63
64 -l limit
65 Limits the used bandwidth, specified in Kbit/s.
66
67 -o ssh_option
68 Can be used to pass options to ssh in the format used in
69 ssh_config(5). This is useful for specifying options for which
70 there is no separate scp command-line flag. For full details of
71 the options listed below, and their possible values, see
72 ssh_config(5).
73
74 AddressFamily
75 BatchMode
76 BindAddress
77 BindInterface
78 CanonicalDomains
79 CanonicalizeFallbackLocal
80 CanonicalizeHostname
81 CanonicalizeMaxDots
82 CanonicalizePermittedCNAMEs
83 CASignatureAlgorithms
84 CertificateFile
85 ChallengeResponseAuthentication
86 CheckHostIP
87 Ciphers
88 Compression
89 ConnectionAttempts
90 ConnectTimeout
91 ControlMaster
92 ControlPath
93 ControlPersist
94 GlobalKnownHostsFile
95 GSSAPIAuthentication
96 GSSAPIDelegateCredentials
97 HashKnownHosts
98 Host
99 HostbasedAuthentication
100 HostbasedKeyTypes
101 HostKeyAlgorithms
102 HostKeyAlias
103 Hostname
104 IdentitiesOnly
105 IdentityAgent
106 IdentityFile
107 IPQoS
108 KbdInteractiveAuthentication
109 KbdInteractiveDevices
110 KexAlgorithms
111 LogLevel
112 MACs
113 NoHostAuthenticationForLocalhost
114 NumberOfPasswordPrompts
115 PasswordAuthentication
116 PKCS11Provider
117 Port
118 PreferredAuthentications
119 ProxyCommand
120 ProxyJump
121 PubkeyAcceptedKeyTypes
122 PubkeyAuthentication
123 RekeyLimit
124 SendEnv
125 ServerAliveInterval
126 ServerAliveCountMax
127 SetEnv
128 StrictHostKeyChecking
129 TCPKeepAlive
130 UpdateHostKeys
131 User
132 UserKnownHostsFile
133 VerifyHostKeyDNS
134
135 -P port
136 Specifies the port to connect to on the remote host. Note that
137 this option is written with a capital M-bM-^@M-^XPM-bM-^@M-^Y, because -p is already
138 reserved for preserving the times and modes of the file.
139
140 -p Preserves modification times, access times, and modes from the
141 original file.
142
143 -q Quiet mode: disables the progress meter as well as warning and
144 diagnostic messages from ssh(1).
145
146 -r Recursively copy entire directories. Note that scp follows
147 symbolic links encountered in the tree traversal.
148
149 -S program
150 Name of program to use for the encrypted connection. The program
151 must understand ssh(1) options.
152
153 -T Disable strict filename checking. By default when copying files
154 from a remote host to a local directory scp checks that the
155 received filenames match those requested on the command-line to
156 prevent the remote end from sending unexpected or unwanted files.
157 Because of differences in how various operating systems and
158 shells interpret filename wildcards, these checks may cause
159 wanted files to be rejected. This option disables these checks
160 at the expense of fully trusting that the server will not send
161 unexpected filenames.
162
163 -v Verbose mode. Causes scp and ssh(1) to print debugging messages
164 about their progress. This is helpful in debugging connection,
165 authentication, and configuration problems.
166
167EXIT STATUS
168 The scp utility exitsM-BM- 0 on success, andM-BM- >0 if an error occurs.
169
170SEE ALSO
171 sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5),
172 sshd(8)
173
174HISTORY
175 scp is based on the rcp program in BSD source code from the Regents of
176 the University of California.
177
178AUTHORS
179 Timo Rinne <tri@iki.fi>
180 Tatu Ylonen <ylo@cs.hut.fi>
181
182OpenBSD 6.6 November 30, 2019 OpenBSD 6.6
diff --git a/sftp-server.0 b/sftp-server.0
new file mode 100644
index 000000000..ef485773d
--- /dev/null
+++ b/sftp-server.0
@@ -0,0 +1,96 @@
1SFTP-SERVER(8) System Manager's Manual SFTP-SERVER(8)
2
3NAME
4 sftp-server M-bM-^@M-^S OpenSSH SFTP server subsystem
5
6SYNOPSIS
7 sftp-server [-ehR] [-d start_directory] [-f log_facility] [-l log_level]
8 [-P blacklisted_requests] [-p whitelisted_requests]
9 [-u umask]
10 sftp-server -Q protocol_feature
11
12DESCRIPTION
13 sftp-server is a program that speaks the server side of SFTP protocol to
14 stdout and expects client requests from stdin. sftp-server is not
15 intended to be called directly, but from sshd(8) using the Subsystem
16 option.
17
18 Command-line flags to sftp-server should be specified in the Subsystem
19 declaration. See sshd_config(5) for more information.
20
21 Valid options are:
22
23 -d start_directory
24 specifies an alternate starting directory for users. The
25 pathname may contain the following tokens that are expanded at
26 runtime: %% is replaced by a literal '%', %d is replaced by the
27 home directory of the user being authenticated, and %u is
28 replaced by the username of that user. The default is to use the
29 user's home directory. This option is useful in conjunction with
30 the sshd_config(5) ChrootDirectory option.
31
32 -e Causes sftp-server to print logging information to stderr instead
33 of syslog for debugging.
34
35 -f log_facility
36 Specifies the facility code that is used when logging messages
37 from sftp-server. The possible values are: DAEMON, USER, AUTH,
38 LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
39 The default is AUTH.
40
41 -h Displays sftp-server usage information.
42
43 -l log_level
44 Specifies which messages will be logged by sftp-server. The
45 possible values are: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG,
46 DEBUG1, DEBUG2, and DEBUG3. INFO and VERBOSE log transactions
47 that sftp-server performs on behalf of the client. DEBUG and
48 DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher
49 levels of debugging output. The default is ERROR.
50
51 -P blacklisted_requests
52 Specify a comma-separated list of SFTP protocol requests that are
53 banned by the server. sftp-server will reply to any blacklisted
54 request with a failure. The -Q flag can be used to determine the
55 supported request types. If both a blacklist and a whitelist are
56 specified, then the blacklist is applied before the whitelist.
57
58 -p whitelisted_requests
59 Specify a comma-separated list of SFTP protocol requests that are
60 permitted by the server. All request types that are not on the
61 whitelist will be logged and replied to with a failure message.
62
63 Care must be taken when using this feature to ensure that
64 requests made implicitly by SFTP clients are permitted.
65
66 -Q protocol_feature
67 Query protocol features supported by sftp-server. At present the
68 only feature that may be queried is M-bM-^@M-^\requestsM-bM-^@M-^], which may be used
69 for black or whitelisting (flags -P and -p respectively).
70
71 -R Places this instance of sftp-server into a read-only mode.
72 Attempts to open files for writing, as well as other operations
73 that change the state of the filesystem, will be denied.
74
75 -u umask
76 Sets an explicit umask(2) to be applied to newly-created files
77 and directories, instead of the user's default mask.
78
79 On some systems, sftp-server must be able to access /dev/log for logging
80 to work, and use of sftp-server in a chroot configuration therefore
81 requires that syslogd(8) establish a logging socket inside the chroot
82 directory.
83
84SEE ALSO
85 sftp(1), ssh(1), sshd_config(5), sshd(8)
86
87 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
88 filexfer-02.txt, October 2001, work in progress material.
89
90HISTORY
91 sftp-server first appeared in OpenBSD 2.8.
92
93AUTHORS
94 Markus Friedl <markus@openbsd.org>
95
96OpenBSD 6.6 November 30, 2019 OpenBSD 6.6
diff --git a/sftp.0 b/sftp.0
new file mode 100644
index 000000000..6d0405758
--- /dev/null
+++ b/sftp.0
@@ -0,0 +1,396 @@
1SFTP(1) General Commands Manual SFTP(1)
2
3NAME
4 sftp M-bM-^@M-^S OpenSSH secure file transfer
5
6SYNOPSIS
7 sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
8 [-D sftp_server_path] [-F ssh_config] [-i identity_file]
9 [-J destination] [-l limit] [-o ssh_option] [-P port]
10 [-R num_requests] [-S program] [-s subsystem | sftp_server]
11 destination
12
13DESCRIPTION
14 sftp is a file transfer program, similar to ftp(1), which performs all
15 operations over an encrypted ssh(1) transport. It may also use many
16 features of ssh, such as public key authentication and compression.
17
18 The destination may be specified either as [user@]host[:path] or as a URI
19 in the form sftp://[user@]host[:port][/path].
20
21 If the destination includes a path and it is not a directory, sftp will
22 retrieve files automatically if a non-interactive authentication method
23 is used; otherwise it will do so after successful interactive
24 authentication.
25
26 If no path is specified, or if the path is a directory, sftp will log in
27 to the specified host and enter interactive command mode, changing to the
28 remote directory if one was specified. An optional trailing slash can be
29 used to force the path to be interpreted as a directory.
30
31 Since the destination formats use colon characters to delimit host names
32 from path names or port numbers, IPv6 addresses must be enclosed in
33 square brackets to avoid ambiguity.
34
35 The options are as follows:
36
37 -4 Forces sftp to use IPv4 addresses only.
38
39 -6 Forces sftp to use IPv6 addresses only.
40
41 -a Attempt to continue interrupted transfers rather than overwriting
42 existing partial or complete copies of files. If the partial
43 contents differ from those being transferred, then the resultant
44 file is likely to be corrupt.
45
46 -B buffer_size
47 Specify the size of the buffer that sftp uses when transferring
48 files. Larger buffers require fewer round trips at the cost of
49 higher memory consumption. The default is 32768 bytes.
50
51 -b batchfile
52 Batch mode reads a series of commands from an input batchfile
53 instead of stdin. Since it lacks user interaction it should be
54 used in conjunction with non-interactive authentication to
55 obviate the need to enter a password at connection time (see
56 sshd(8) and ssh-keygen(1) for details).
57
58 A batchfile of M-bM-^@M-^X-M-bM-^@M-^Y may be used to indicate standard input. sftp
59 will abort if any of the following commands fail: get, put,
60 reget, reput, rename, ln, rm, mkdir, chdir, ls, lchdir, chmod,
61 chown, chgrp, lpwd, df, symlink, and lmkdir.
62
63 Termination on error can be suppressed on a command by command
64 basis by prefixing the command with a M-bM-^@M-^X-M-bM-^@M-^Y character (for example,
65 -rm /tmp/blah*). Echo of the command may be suppressed by
66 prefixing the command with a M-bM-^@M-^X@M-bM-^@M-^Y character. These two prefixes
67 may be combined in any order, for example -@ls /bsd.
68
69 -C Enables compression (via ssh's -C flag).
70
71 -c cipher
72 Selects the cipher to use for encrypting the data transfers.
73 This option is directly passed to ssh(1).
74
75 -D sftp_server_path
76 Connect directly to a local sftp server (rather than via ssh(1)).
77 This option may be useful in debugging the client and server.
78
79 -F ssh_config
80 Specifies an alternative per-user configuration file for ssh(1).
81 This option is directly passed to ssh(1).
82
83 -f Requests that files be flushed to disk immediately after
84 transfer. When uploading files, this feature is only enabled if
85 the server implements the "fsync@openssh.com" extension.
86
87 -i identity_file
88 Selects the file from which the identity (private key) for public
89 key authentication is read. This option is directly passed to
90 ssh(1).
91
92 -J destination
93 Connect to the target host by first making an sftp connection to
94 the jump host described by destination and then establishing a
95 TCP forwarding to the ultimate destination from there. Multiple
96 jump hops may be specified separated by comma characters. This
97 is a shortcut to specify a ProxyJump configuration directive.
98 This option is directly passed to ssh(1).
99
100 -l limit
101 Limits the used bandwidth, specified in Kbit/s.
102
103 -o ssh_option
104 Can be used to pass options to ssh in the format used in
105 ssh_config(5). This is useful for specifying options for which
106 there is no separate sftp command-line flag. For example, to
107 specify an alternate port use: sftp -oPort=24. For full details
108 of the options listed below, and their possible values, see
109 ssh_config(5).
110
111 AddressFamily
112 BatchMode
113 BindAddress
114 BindInterface
115 CanonicalDomains
116 CanonicalizeFallbackLocal
117 CanonicalizeHostname
118 CanonicalizeMaxDots
119 CanonicalizePermittedCNAMEs
120 CASignatureAlgorithms
121 CertificateFile
122 ChallengeResponseAuthentication
123 CheckHostIP
124 Ciphers
125 Compression
126 ConnectionAttempts
127 ConnectTimeout
128 ControlMaster
129 ControlPath
130 ControlPersist
131 GlobalKnownHostsFile
132 GSSAPIAuthentication
133 GSSAPIDelegateCredentials
134 HashKnownHosts
135 Host
136 HostbasedAuthentication
137 HostbasedKeyTypes
138 HostKeyAlgorithms
139 HostKeyAlias
140 Hostname
141 IdentitiesOnly
142 IdentityAgent
143 IdentityFile
144 IPQoS
145 KbdInteractiveAuthentication
146 KbdInteractiveDevices
147 KexAlgorithms
148 LogLevel
149 MACs
150 NoHostAuthenticationForLocalhost
151 NumberOfPasswordPrompts
152 PasswordAuthentication
153 PKCS11Provider
154 Port
155 PreferredAuthentications
156 ProxyCommand
157 ProxyJump
158 PubkeyAcceptedKeyTypes
159 PubkeyAuthentication
160 RekeyLimit
161 SendEnv
162 ServerAliveInterval
163 ServerAliveCountMax
164 SetEnv
165 StrictHostKeyChecking
166 TCPKeepAlive
167 UpdateHostKeys
168 User
169 UserKnownHostsFile
170 VerifyHostKeyDNS
171
172 -P port
173 Specifies the port to connect to on the remote host.
174
175 -p Preserves modification times, access times, and modes from the
176 original files transferred.
177
178 -q Quiet mode: disables the progress meter as well as warning and
179 diagnostic messages from ssh(1).
180
181 -R num_requests
182 Specify how many requests may be outstanding at any one time.
183 Increasing this may slightly improve file transfer speed but will
184 increase memory usage. The default is 64 outstanding requests.
185
186 -r Recursively copy entire directories when uploading and
187 downloading. Note that sftp does not follow symbolic links
188 encountered in the tree traversal.
189
190 -S program
191 Name of the program to use for the encrypted connection. The
192 program must understand ssh(1) options.
193
194 -s subsystem | sftp_server
195 Specifies the SSH2 subsystem or the path for an sftp server on
196 the remote host. A path is useful when the remote sshd(8) does
197 not have an sftp subsystem configured.
198
199 -v Raise logging level. This option is also passed to ssh.
200
201INTERACTIVE COMMANDS
202 Once in interactive mode, sftp understands a set of commands similar to
203 those of ftp(1). Commands are case insensitive. Pathnames that contain
204 spaces must be enclosed in quotes. Any special characters contained
205 within pathnames that are recognized by glob(3) must be escaped with
206 backslashes (M-bM-^@M-^X\M-bM-^@M-^Y).
207
208 bye Quit sftp.
209
210 cd [path]
211 Change remote directory to path. If path is not specified, then
212 change directory to the one the session started in.
213
214 chgrp [-h] grp path
215 Change group of file path to grp. If the -h flag is specified,
216 then symlinks will not be followed. path may contain glob(7)
217 characters and may match multiple files. grp must be a numeric
218 GID.
219
220 chmod [-h] mode path
221 Change permissions of file path to mode. If the -h flag is
222 specified, then symlinks will not be followed. path may contain
223 glob(7) characters and may match multiple files.
224
225 chown [-h] own path
226 Change owner of file path to own. If the -h flag is specified,
227 then symlinks will not be followed. path may contain glob(7)
228 characters and may match multiple files. own must be a numeric
229 UID.
230
231 df [-hi] [path]
232 Display usage information for the filesystem holding the current
233 directory (or path if specified). If the -h flag is specified,
234 the capacity information will be displayed using "human-readable"
235 suffixes. The -i flag requests display of inode information in
236 addition to capacity information. This command is only supported
237 on servers that implement the M-bM-^@M-^\statvfs@openssh.comM-bM-^@M-^] extension.
238
239 exit Quit sftp.
240
241 get [-afpR] remote-path [local-path]
242 Retrieve the remote-path and store it on the local machine. If
243 the local path name is not specified, it is given the same name
244 it has on the remote machine. remote-path may contain glob(7)
245 characters and may match multiple files. If it does and
246 local-path is specified, then local-path must specify a
247 directory.
248
249 If the -a flag is specified, then attempt to resume partial
250 transfers of existing files. Note that resumption assumes that
251 any partial copy of the local file matches the remote copy. If
252 the remote file contents differ from the partial local copy then
253 the resultant file is likely to be corrupt.
254
255 If the -f flag is specified, then fsync(2) will be called after
256 the file transfer has completed to flush the file to disk.
257
258 If the -p flag is specified, then full file permissions and
259 access times are copied too.
260
261 If the -R flag is specified then directories will be copied
262 recursively. Note that sftp does not follow symbolic links when
263 performing recursive transfers.
264
265 help Display help text.
266
267 lcd [path]
268 Change local directory to path. If path is not specified, then
269 change directory to the local user's home directory.
270
271 lls [ls-options [path]]
272 Display local directory listing of either path or current
273 directory if path is not specified. ls-options may contain any
274 flags supported by the local system's ls(1) command. path may
275 contain glob(7) characters and may match multiple files.
276
277 lmkdir path
278 Create local directory specified by path.
279
280 ln [-s] oldpath newpath
281 Create a link from oldpath to newpath. If the -s flag is
282 specified the created link is a symbolic link, otherwise it is a
283 hard link.
284
285 lpwd Print local working directory.
286
287 ls [-1afhlnrSt] [path]
288 Display a remote directory listing of either path or the current
289 directory if path is not specified. path may contain glob(7)
290 characters and may match multiple files.
291
292 The following flags are recognized and alter the behaviour of ls
293 accordingly:
294
295 -1 Produce single columnar output.
296
297 -a List files beginning with a dot (M-bM-^@M-^X.M-bM-^@M-^Y).
298
299 -f Do not sort the listing. The default sort order is
300 lexicographical.
301
302 -h When used with a long format option, use unit suffixes:
303 Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte,
304 and Exabyte in order to reduce the number of digits to
305 four or fewer using powers of 2 for sizes (K=1024,
306 M=1048576, etc.).
307
308 -l Display additional details including permissions and
309 ownership information.
310
311 -n Produce a long listing with user and group information
312 presented numerically.
313
314 -r Reverse the sort order of the listing.
315
316 -S Sort the listing by file size.
317
318 -t Sort the listing by last modification time.
319
320 lumask umask
321 Set local umask to umask.
322
323 mkdir path
324 Create remote directory specified by path.
325
326 progress
327 Toggle display of progress meter.
328
329 put [-afpR] local-path [remote-path]
330 Upload local-path and store it on the remote machine. If the
331 remote path name is not specified, it is given the same name it
332 has on the local machine. local-path may contain glob(7)
333 characters and may match multiple files. If it does and
334 remote-path is specified, then remote-path must specify a
335 directory.
336
337 If the -a flag is specified, then attempt to resume partial
338 transfers of existing files. Note that resumption assumes that
339 any partial copy of the remote file matches the local copy. If
340 the local file contents differ from the remote local copy then
341 the resultant file is likely to be corrupt.
342
343 If the -f flag is specified, then a request will be sent to the
344 server to call fsync(2) after the file has been transferred.
345 Note that this is only supported by servers that implement the
346 "fsync@openssh.com" extension.
347
348 If the -p flag is specified, then full file permissions and
349 access times are copied too.
350
351 If the -R flag is specified then directories will be copied
352 recursively. Note that sftp does not follow symbolic links when
353 performing recursive transfers.
354
355 pwd Display remote working directory.
356
357 quit Quit sftp.
358
359 reget [-fpR] remote-path [local-path]
360 Resume download of remote-path. Equivalent to get with the -a
361 flag set.
362
363 reput [-fpR] local-path [remote-path]
364 Resume upload of local-path. Equivalent to put with the -a flag
365 set.
366
367 rename oldpath newpath
368 Rename remote file from oldpath to newpath.
369
370 rm path
371 Delete remote file specified by path.
372
373 rmdir path
374 Remove remote directory specified by path.
375
376 symlink oldpath newpath
377 Create a symbolic link from oldpath to newpath.
378
379 version
380 Display the sftp protocol version.
381
382 !command
383 Execute command in local shell.
384
385 ! Escape to local shell.
386
387 ? Synonym for help.
388
389SEE ALSO
390 ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5),
391 glob(7), sftp-server(8), sshd(8)
392
393 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
394 filexfer-00.txt, January 2001, work in progress material.
395
396OpenBSD 6.6 November 30, 2019 OpenBSD 6.6
diff --git a/ssh-add.0 b/ssh-add.0
new file mode 100644
index 000000000..36a7ac6ab
--- /dev/null
+++ b/ssh-add.0
@@ -0,0 +1,144 @@
1SSH-ADD(1) General Commands Manual SSH-ADD(1)
2
3NAME
4 ssh-add M-bM-^@M-^S adds private key identities to the OpenSSH authentication agent
5
6SYNOPSIS
7 ssh-add [-cDdKkLlqvXx] [-E fingerprint_hash] [-S provider] [-t life]
8 [file ...]
9 ssh-add -s pkcs11
10 ssh-add -e pkcs11
11 ssh-add -T pubkey ...
12
13DESCRIPTION
14 ssh-add adds private key identities to the authentication agent,
15 ssh-agent(1). When run without arguments, it adds the files
16 ~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk,
17 ~/.ssh/id_ed25519, and ~/.ssh/id_ed25519_sk. After loading a private
18 key, ssh-add will try to load corresponding certificate information from
19 the filename obtained by appending -cert.pub to the name of the private
20 key file. Alternative file names can be given on the command line.
21
22 If any file requires a passphrase, ssh-add asks for the passphrase from
23 the user. The passphrase is read from the user's tty. ssh-add retries
24 the last passphrase if multiple identity files are given.
25
26 The authentication agent must be running and the SSH_AUTH_SOCK
27 environment variable must contain the name of its socket for ssh-add to
28 work.
29
30 The options are as follows:
31
32 -c Indicates that added identities should be subject to confirmation
33 before being used for authentication. Confirmation is performed
34 by ssh-askpass(1). Successful confirmation is signaled by a zero
35 exit status from ssh-askpass(1), rather than text entered into
36 the requester.
37
38 -D Deletes all identities from the agent.
39
40 -d Instead of adding identities, removes identities from the agent.
41 If ssh-add has been run without arguments, the keys for the
42 default identities and their corresponding certificates will be
43 removed. Otherwise, the argument list will be interpreted as a
44 list of paths to public key files to specify keys and
45 certificates to be removed from the agent. If no public key is
46 found at a given path, ssh-add will append .pub and retry.
47
48 -E fingerprint_hash
49 Specifies the hash algorithm used when displaying key
50 fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The
51 default is M-bM-^@M-^\sha256M-bM-^@M-^].
52
53 -e pkcs11
54 Remove keys provided by the PKCS#11 shared library pkcs11.
55
56 -K Load resident keys from a FIDO authenticator.
57
58 -k When loading keys into or deleting keys from the agent, process
59 plain private keys only and skip certificates.
60
61 -L Lists public key parameters of all identities currently
62 represented by the agent.
63
64 -l Lists fingerprints of all identities currently represented by the
65 agent.
66
67 -q Be quiet after a successful operation.
68
69 -S provider
70 Specifies a path to a library that will be used when adding FIDO
71 authenticator-hosted keys, overriding the default of using the
72 internal USB HID support.
73
74 -s pkcs11
75 Add keys provided by the PKCS#11 shared library pkcs11.
76
77 -T pubkey ...
78 Tests whether the private keys that correspond to the specified
79 pubkey files are usable by performing sign and verify operations
80 on each.
81
82 -t life
83 Set a maximum lifetime when adding identities to an agent. The
84 lifetime may be specified in seconds or in a time format
85 specified in sshd_config(5).
86
87 -v Verbose mode. Causes ssh-add to print debugging messages about
88 its progress. This is helpful in debugging problems. Multiple
89 -v options increase the verbosity. The maximum is 3.
90
91 -X Unlock the agent.
92
93 -x Lock the agent with a password.
94
95ENVIRONMENT
96 DISPLAY and SSH_ASKPASS
97 If ssh-add needs a passphrase, it will read the passphrase from
98 the current terminal if it was run from a terminal. If ssh-add
99 does not have a terminal associated with it but DISPLAY and
100 SSH_ASKPASS are set, it will execute the program specified by
101 SSH_ASKPASS (by default M-bM-^@M-^\ssh-askpassM-bM-^@M-^]) and open an X11 window to
102 read the passphrase. This is particularly useful when calling
103 ssh-add from a .xsession or related script. (Note that on some
104 machines it may be necessary to redirect the input from /dev/null
105 to make this work.)
106
107 SSH_AUTH_SOCK
108 Identifies the path of a UNIX-domain socket used to communicate
109 with the agent.
110
111 SSH_SK_PROVIDER
112 Specifies a path to a library that will be used when loading any
113 FIDO authenticator-hosted keys, overriding the default of using
114 the built-in USB HID support.
115
116FILES
117 ~/.ssh/id_dsa
118 ~/.ssh/id_ecdsa
119 ~/.ssh/id_ecdsa_sk
120 ~/.ssh/id_ed25519
121 ~/.ssh/id_ed25519_sk
122 ~/.ssh/id_rsa
123 Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519,
124 authenticator-hosted Ed25519 or RSA authentication identity of
125 the user.
126
127 Identity files should not be readable by anyone but the user. Note that
128 ssh-add ignores identity files if they are accessible by others.
129
130EXIT STATUS
131 Exit status is 0 on success, 1 if the specified command fails, and 2 if
132 ssh-add is unable to contact the authentication agent.
133
134SEE ALSO
135 ssh(1), ssh-agent(1), ssh-askpass(1), ssh-keygen(1), sshd(8)
136
137AUTHORS
138 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
139 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
140 de Raadt and Dug Song removed many bugs, re-added newer features and
141 created OpenSSH. Markus Friedl contributed the support for SSH protocol
142 versions 1.5 and 2.0.
143
144OpenBSD 6.6 February 7, 2020 OpenBSD 6.6
diff --git a/ssh-agent.0 b/ssh-agent.0
new file mode 100644
index 000000000..c5fe8b153
--- /dev/null
+++ b/ssh-agent.0
@@ -0,0 +1,117 @@
1SSH-AGENT(1) General Commands Manual SSH-AGENT(1)
2
3NAME
4 ssh-agent M-bM-^@M-^S OpenSSH authentication agent
5
6SYNOPSIS
7 ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash]
8 [-P provider_whitelist] [-t life] [command [arg ...]]
9 ssh-agent [-c | -s] -k
10
11DESCRIPTION
12 ssh-agent is a program to hold private keys used for public key
13 authentication. Through use of environment variables the agent can be
14 located and automatically used for authentication when logging in to
15 other machines using ssh(1).
16
17 The options are as follows:
18
19 -a bind_address
20 Bind the agent to the UNIX-domain socket bind_address. The
21 default is $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>.
22
23 -c Generate C-shell commands on stdout. This is the default if
24 SHELL looks like it's a csh style of shell.
25
26 -D Foreground mode. When this option is specified ssh-agent will
27 not fork.
28
29 -d Debug mode. When this option is specified ssh-agent will not
30 fork and will write debug information to standard error.
31
32 -E fingerprint_hash
33 Specifies the hash algorithm used when displaying key
34 fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The
35 default is M-bM-^@M-^\sha256M-bM-^@M-^].
36
37 -k Kill the current agent (given by the SSH_AGENT_PID environment
38 variable).
39
40 -P provider_whitelist
41 Specify a pattern-list of acceptable paths for PKCS#11 and FIDO
42 authenticator shared libraries that may be used with the -S or -s
43 options to ssh-add(1). Libraries that do not match the whitelist
44 will be refused. See PATTERNS in ssh_config(5) for a description
45 of pattern-list syntax. The default whitelist is
46 M-bM-^@M-^\/usr/lib/*,/usr/local/lib/*M-bM-^@M-^].
47
48 -s Generate Bourne shell commands on stdout. This is the default if
49 SHELL does not look like it's a csh style of shell.
50
51 -t life
52 Set a default value for the maximum lifetime of identities added
53 to the agent. The lifetime may be specified in seconds or in a
54 time format specified in sshd_config(5). A lifetime specified
55 for an identity with ssh-add(1) overrides this value. Without
56 this option the default maximum lifetime is forever.
57
58 command [arg ...]
59 If a command (and optional arguments) is given, this is executed
60 as a subprocess of the agent. The agent exits automatically when
61 the command given on the command line terminates.
62
63 There are two main ways to get an agent set up. The first is at the
64 start of an X session, where all other windows or programs are started as
65 children of the ssh-agent program. The agent starts a command under
66 which its environment variables are exported, for example ssh-agent xterm
67 &. When the command terminates, so does the agent.
68
69 The second method is used for a login session. When ssh-agent is
70 started, it prints the shell commands required to set its environment
71 variables, which in turn can be evaluated in the calling shell, for
72 example eval `ssh-agent -s`.
73
74 In both cases, ssh(1) looks at these environment variables and uses them
75 to establish a connection to the agent.
76
77 The agent initially does not have any private keys. Keys are added using
78 ssh-add(1) or by ssh(1) when AddKeysToAgent is set in ssh_config(5).
79 Multiple identities may be stored in ssh-agent concurrently and ssh(1)
80 will automatically use them if present. ssh-add(1) is also used to
81 remove keys from ssh-agent and to query the keys that are held in one.
82
83 Connections to ssh-agent may be forwarded from further remote hosts using
84 the -A option to ssh(1) (but see the caveats documented therein),
85 avoiding the need for authentication data to be stored on other machines.
86 Authentication passphrases and private keys never go over the network:
87 the connection to the agent is forwarded over SSH remote connections and
88 the result is returned to the requester, allowing the user access to
89 their identities anywhere in the network in a secure fashion.
90
91ENVIRONMENT
92 SSH_AGENT_PID When ssh-agent starts, it stores the name of the agent's
93 process ID (PID) in this variable.
94
95 SSH_AUTH_SOCK When ssh-agent starts, it creates a UNIX-domain socket and
96 stores its pathname in this variable. It is accessible
97 only to the current user, but is easily abused by root or
98 another instance of the same user.
99
100FILES
101 $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
102 UNIX-domain sockets used to contain the connection to the
103 authentication agent. These sockets should only be readable by
104 the owner. The sockets should get automatically removed when the
105 agent exits.
106
107SEE ALSO
108 ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5), sshd(8)
109
110AUTHORS
111 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
112 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
113 de Raadt and Dug Song removed many bugs, re-added newer features and
114 created OpenSSH. Markus Friedl contributed the support for SSH protocol
115 versions 1.5 and 2.0.
116
117OpenBSD 6.6 December 21, 2019 OpenBSD 6.6
diff --git a/ssh-keygen.0 b/ssh-keygen.0
new file mode 100644
index 000000000..703739004
--- /dev/null
+++ b/ssh-keygen.0
@@ -0,0 +1,789 @@
1SSH-KEYGEN(1) General Commands Manual SSH-KEYGEN(1)
2
3NAME
4 ssh-keygen M-bM-^@M-^S OpenSSH authentication key utility
5
6SYNOPSIS
7 ssh-keygen [-q] [-b bits] [-C comment] [-f output_keyfile] [-m format]
8 [-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa]
9 [-N new_passphrase] [-O option] [-w provider]
10 ssh-keygen -p [-f keyfile] [-m format] [-N new_passphrase]
11 [-P old_passphrase]
12 ssh-keygen -i [-f input_keyfile] [-m key_format]
13 ssh-keygen -e [-f input_keyfile] [-m key_format]
14 ssh-keygen -y [-f input_keyfile]
15 ssh-keygen -c [-C comment] [-f keyfile] [-P passphrase]
16 ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
17 ssh-keygen -B [-f input_keyfile]
18 ssh-keygen -D pkcs11
19 ssh-keygen -F hostname [-lv] [-f known_hosts_file]
20 ssh-keygen -H [-f known_hosts_file]
21 ssh-keygen -K [-w provider]
22 ssh-keygen -R hostname [-f known_hosts_file]
23 ssh-keygen -r hostname [-g] [-f input_keyfile]
24 ssh-keygen -M generate [-O option] output_file
25 ssh-keygen -M screen [-f input_file] [-O option] output_file
26 ssh-keygen -I certificate_identity -s ca_key [-hU] [-D pkcs11_provider]
27 [-n principals] [-O option] [-V validity_interval]
28 [-z serial_number] file ...
29 ssh-keygen -L [-f input_keyfile]
30 ssh-keygen -A [-f prefix_path]
31 ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
32 file ...
33 ssh-keygen -Q -f krl_file file ...
34 ssh-keygen -Y find-principals -s signature_file -f allowed_signers_file
35 ssh-keygen -Y check-novalidate -n namespace -s signature_file
36 ssh-keygen -Y sign -f key_file -n namespace file ...
37 ssh-keygen -Y verify -f allowed_signers_file -I signer_identity
38 -n namespace -s signature_file [-r revocation_file]
39
40DESCRIPTION
41 ssh-keygen generates, manages and converts authentication keys for
42 ssh(1). ssh-keygen can create keys for use by SSH protocol version 2.
43
44 The type of key to be generated is specified with the -t option. If
45 invoked without any arguments, ssh-keygen will generate an RSA key.
46
47 ssh-keygen is also used to generate groups for use in Diffie-Hellman
48 group exchange (DH-GEX). See the MODULI GENERATION section for details.
49
50 Finally, ssh-keygen can be used to generate and update Key Revocation
51 Lists, and to test whether given keys have been revoked by one. See the
52 KEY REVOCATION LISTS section for details.
53
54 Normally each user wishing to use SSH with public key authentication runs
55 this once to create the authentication key in ~/.ssh/id_dsa,
56 ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519,
57 ~/.ssh/id_ed25519_sk or ~/.ssh/id_rsa. Additionally, the system
58 administrator may use this to generate host keys, as seen in /etc/rc.
59
60 Normally this program generates the key and asks for a file in which to
61 store the private key. The public key is stored in a file with the same
62 name but M-bM-^@M-^\.pubM-bM-^@M-^] appended. The program also asks for a passphrase. The
63 passphrase may be empty to indicate no passphrase (host keys must have an
64 empty passphrase), or it may be a string of arbitrary length. A
65 passphrase is similar to a password, except it can be a phrase with a
66 series of words, punctuation, numbers, whitespace, or any string of
67 characters you want. Good passphrases are 10-30 characters long, are not
68 simple sentences or otherwise easily guessable (English prose has only
69 1-2 bits of entropy per character, and provides very bad passphrases),
70 and contain a mix of upper and lowercase letters, numbers, and non-
71 alphanumeric characters. The passphrase can be changed later by using
72 the -p option.
73
74 There is no way to recover a lost passphrase. If the passphrase is lost
75 or forgotten, a new key must be generated and the corresponding public
76 key copied to other machines.
77
78 ssh-keygen will by default write keys in an OpenSSH-specific format.
79 This format is preferred as it offers better protection for keys at rest
80 as well as allowing storage of key comments within the private key file
81 itself. The key comment may be useful to help identify the key. The
82 comment is initialized to M-bM-^@M-^\user@hostM-bM-^@M-^] when the key is created, but can be
83 changed using the -c option.
84
85 It is still possible for ssh-keygen to write the previously-used PEM
86 format private keys using the -m flag. This may be used when generating
87 new keys, and existing new-format keys may be converted using this option
88 in conjunction with the -p (change passphrase) flag.
89
90 After a key is generated, instructions below detail where the keys should
91 be placed to be activated.
92
93 The options are as follows:
94
95 -A For each of the key types (rsa, dsa, ecdsa and ed25519) for which
96 host keys do not exist, generate the host keys with the default
97 key file path, an empty passphrase, default bits for the key
98 type, and default comment. If -f has also been specified, its
99 argument is used as a prefix to the default path for the
100 resulting host key files. This is used by /etc/rc to generate
101 new host keys.
102
103 -a rounds
104 When saving a private key, this option specifies the number of
105 KDF (key derivation function) rounds used. Higher numbers result
106 in slower passphrase verification and increased resistance to
107 brute-force password cracking (should the keys be stolen).
108
109 -B Show the bubblebabble digest of specified private or public key
110 file.
111
112 -b bits
113 Specifies the number of bits in the key to create. For RSA keys,
114 the minimum size is 1024 bits and the default is 3072 bits.
115 Generally, 3072 bits is considered sufficient. DSA keys must be
116 exactly 1024 bits as specified by FIPS 186-2. For ECDSA keys,
117 the -b flag determines the key length by selecting from one of
118 three elliptic curve sizes: 256, 384 or 521 bits. Attempting to
119 use bit lengths other than these three values for ECDSA keys will
120 fail. ECDSA-SK, Ed25519 and Ed25519-SK keys have a fixed length
121 and the -b flag will be ignored.
122
123 -C comment
124 Provides a new comment.
125
126 -c Requests changing the comment in the private and public key
127 files. The program will prompt for the file containing the
128 private keys, for the passphrase if the key has one, and for the
129 new comment.
130
131 -D pkcs11
132 Download the public keys provided by the PKCS#11 shared library
133 pkcs11. When used in combination with -s, this option indicates
134 that a CA key resides in a PKCS#11 token (see the CERTIFICATES
135 section for details).
136
137 -E fingerprint_hash
138 Specifies the hash algorithm used when displaying key
139 fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The
140 default is M-bM-^@M-^\sha256M-bM-^@M-^].
141
142 -e This option will read a private or public OpenSSH key file and
143 print to stdout a public key in one of the formats specified by
144 the -m option. The default export format is M-bM-^@M-^\RFC4716M-bM-^@M-^]. This
145 option allows exporting OpenSSH keys for use by other programs,
146 including several commercial SSH implementations.
147
148 -F hostname | [hostname]:port
149 Search for the specified hostname (with optional port number) in
150 a known_hosts file, listing any occurrences found. This option
151 is useful to find hashed host names or addresses and may also be
152 used in conjunction with the -H option to print found keys in a
153 hashed format.
154
155 -f filename
156 Specifies the filename of the key file.
157
158 -g Use generic DNS format when printing fingerprint resource records
159 using the -r command.
160
161 -H Hash a known_hosts file. This replaces all hostnames and
162 addresses with hashed representations within the specified file;
163 the original content is moved to a file with a .old suffix.
164 These hashes may be used normally by ssh and sshd, but they do
165 not reveal identifying information should the file's contents be
166 disclosed. This option will not modify existing hashed hostnames
167 and is therefore safe to use on files that mix hashed and non-
168 hashed names.
169
170 -h When signing a key, create a host certificate instead of a user
171 certificate. Please see the CERTIFICATES section for details.
172
173 -I certificate_identity
174 Specify the key identity when signing a public key. Please see
175 the CERTIFICATES section for details.
176
177 -i This option will read an unencrypted private (or public) key file
178 in the format specified by the -m option and print an OpenSSH
179 compatible private (or public) key to stdout. This option allows
180 importing keys from other software, including several commercial
181 SSH implementations. The default import format is M-bM-^@M-^\RFC4716M-bM-^@M-^].
182
183 -K Download resident keys from a FIDO authenticator. Public and
184 private key files will be written to the current directory for
185 each downloaded key.
186
187 -k Generate a KRL file. In this mode, ssh-keygen will generate a
188 KRL file at the location specified via the -f flag that revokes
189 every key or certificate presented on the command line.
190 Keys/certificates to be revoked may be specified by public key
191 file or using the format described in the KEY REVOCATION LISTS
192 section.
193
194 -L Prints the contents of one or more certificates.
195
196 -l Show fingerprint of specified public key file. For RSA and DSA
197 keys ssh-keygen tries to find the matching public key file and
198 prints its fingerprint. If combined with -v, a visual ASCII art
199 representation of the key is supplied with the fingerprint.
200
201 -M generate
202 Generate candidate Diffie-Hellman Group Exchange (DH-GEX)
203 parameters for eventual use by the
204 M-bM-^@M-^Xdiffie-hellman-group-exchange-*M-bM-^@M-^Y key exchange methods. The
205 numbers generated by this operation must be further screened
206 before use. See the MODULI GENERATION section for more
207 information.
208
209 -M screen
210 Screen candidate parameters for Diffie-Hellman Group Exchange.
211 This will accept a list of candidate numbers and test that they
212 are safe (Sophie Germain) primes with acceptable group
213 generators. The results of this operation may be added to the
214 /etc/moduli file. See the MODULI GENERATION section for more
215 information.
216
217 -m key_format
218 Specify a key format for key generation, the -i (import), -e
219 (export) conversion options, and the -p change passphrase
220 operation. The latter may be used to convert between OpenSSH
221 private key and PEM private key formats. The supported key
222 formats are: M-bM-^@M-^\RFC4716M-bM-^@M-^] (RFC 4716/SSH2 public or private key),
223 M-bM-^@M-^\PKCS8M-bM-^@M-^] (PKCS8 public or private key) or M-bM-^@M-^\PEMM-bM-^@M-^] (PEM public key).
224 By default OpenSSH will write newly-generated private keys in its
225 own format, but when converting public keys for export the
226 default format is M-bM-^@M-^\RFC4716M-bM-^@M-^]. Setting a format of M-bM-^@M-^\PEMM-bM-^@M-^] when
227 generating or updating a supported private key type will cause
228 the key to be stored in the legacy PEM private key format.
229
230 -N new_passphrase
231 Provides the new passphrase.
232
233 -n principals
234 Specify one or more principals (user or host names) to be
235 included in a certificate when signing a key. Multiple
236 principals may be specified, separated by commas. Please see the
237 CERTIFICATES section for details.
238
239 -O option
240 Specify a key/value option. These are specific to the operation
241 that ssh-keygen has been requested to perform.
242
243 When signing certificates, one of the options listed in the
244 CERTIFICATES section may be specified here.
245
246 When performing moduli generation or screening, one of the
247 options listed in the MODULI GENERATION section may be specified.
248
249 When generating a key that will be hosted on a FIDO
250 authenticator, this flag may be used to specify key-specific
251 options. Those supported at present are:
252
253 application
254 Override the default FIDO application/origin string of
255 M-bM-^@M-^\ssh:M-bM-^@M-^]. This may be useful when generating host or
256 domain-specific resident keys. The specified application
257 string must begin with M-bM-^@M-^\ssh:M-bM-^@M-^].
258
259 challenge=path
260 Specifies a path to a challenge string that will be
261 passed to the FIDO token during key generation. The
262 challenge string may be used as part of an out-of-band
263 protocol for key enrollment (a random challenge is used
264 by default).
265
266 device Explicitly specify a fido(4) device to use, rather than
267 letting the token middleware select one.
268
269 no-touch-required
270 Indicate that the generated private key should not
271 require touch events (user presence) when making
272 signatures. Note that sshd(8) will refuse such
273 signatures by default, unless overridden via an
274 authorized_keys option.
275
276 resident
277 Indicate that the key should be stored on the FIDO
278 authenticator itself. Resident keys may be supported on
279 FIDO2 tokens and typically require that a PIN be set on
280 the token prior to generation. Resident keys may be
281 loaded off the token using ssh-add(1).
282
283 user A username to be associated with a resident key,
284 overriding the empty default username. Specifying a
285 username may be useful when generating multiple resident
286 keys for the same application name.
287
288 write-attestation=path
289 May be used at key generation time to record the
290 attestation certificate returned from FIDO tokens during
291 key generation. By default this information is
292 discarded.
293
294 The -O option may be specified multiple times.
295
296 -P passphrase
297 Provides the (old) passphrase.
298
299 -p Requests changing the passphrase of a private key file instead of
300 creating a new private key. The program will prompt for the file
301 containing the private key, for the old passphrase, and twice for
302 the new passphrase.
303
304 -Q Test whether keys have been revoked in a KRL.
305
306 -q Silence ssh-keygen.
307
308 -R hostname | [hostname]:port
309 Removes all keys belonging to the specified hostname (with
310 optional port number) from a known_hosts file. This option is
311 useful to delete hashed hosts (see the -H option above).
312
313 -r hostname
314 Print the SSHFP fingerprint resource record named hostname for
315 the specified public key file.
316
317 -s ca_key
318 Certify (sign) a public key using the specified CA key. Please
319 see the CERTIFICATES section for details.
320
321 When generating a KRL, -s specifies a path to a CA public key
322 file used to revoke certificates directly by key ID or serial
323 number. See the KEY REVOCATION LISTS section for details.
324
325 -t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa
326 Specifies the type of key to create. The possible values are
327 M-bM-^@M-^\dsaM-bM-^@M-^], M-bM-^@M-^\ecdsaM-bM-^@M-^], M-bM-^@M-^\ecdsa-skM-bM-^@M-^], M-bM-^@M-^\ed25519M-bM-^@M-^], M-bM-^@M-^\ed25519-skM-bM-^@M-^], or M-bM-^@M-^\rsaM-bM-^@M-^].
328
329 This flag may also be used to specify the desired signature type
330 when signing certificates using an RSA CA key. The available RSA
331 signature variants are M-bM-^@M-^\ssh-rsaM-bM-^@M-^] (SHA1 signatures, not
332 recommended), M-bM-^@M-^\rsa-sha2-256M-bM-^@M-^], and M-bM-^@M-^\rsa-sha2-512M-bM-^@M-^] (the default).
333
334 -U When used in combination with -s, this option indicates that a CA
335 key resides in a ssh-agent(1). See the CERTIFICATES section for
336 more information.
337
338 -u Update a KRL. When specified with -k, keys listed via the
339 command line are added to the existing KRL rather than a new KRL
340 being created.
341
342 -V validity_interval
343 Specify a validity interval when signing a certificate. A
344 validity interval may consist of a single time, indicating that
345 the certificate is valid beginning now and expiring at that time,
346 or may consist of two times separated by a colon to indicate an
347 explicit time interval.
348
349 The start time may be specified as the string M-bM-^@M-^\alwaysM-bM-^@M-^] to
350 indicate the certificate has no specified start time, a date in
351 YYYYMMDD format, a time in YYYYMMDDHHMM[SS] format, a relative
352 time (to the current time) consisting of a minus sign followed by
353 an interval in the format described in the TIME FORMATS section
354 of sshd_config(5).
355
356 The end time may be specified as a YYYYMMDD date, a
357 YYYYMMDDHHMM[SS] time, a relative time starting with a plus
358 character or the string M-bM-^@M-^\foreverM-bM-^@M-^] to indicate that the
359 certificate has no expirty date.
360
361 For example: M-bM-^@M-^\+52w1dM-bM-^@M-^] (valid from now to 52 weeks and one day
362 from now), M-bM-^@M-^\-4w:+4wM-bM-^@M-^] (valid from four weeks ago to four weeks
363 from now), M-bM-^@M-^\20100101123000:20110101123000M-bM-^@M-^] (valid from 12:30 PM,
364 January 1st, 2010 to 12:30 PM, January 1st, 2011), M-bM-^@M-^\-1d:20110101M-bM-^@M-^]
365 (valid from yesterday to midnight, January 1st, 2011).
366 M-bM-^@M-^\-1m:foreverM-bM-^@M-^] (valid from one minute ago and never expiring).
367
368 -v Verbose mode. Causes ssh-keygen to print debugging messages
369 about its progress. This is helpful for debugging moduli
370 generation. Multiple -v options increase the verbosity. The
371 maximum is 3.
372
373 -w provider
374 Specifies a path to a library that will be used when creating
375 FIDO authenticator-hosted keys, overriding the default of using
376 the internal USB HID support.
377
378 -Y find-principals
379 Find the principal(s) associated with the public key of a
380 signature, provided using the -s flag in an authorized signers
381 file provided using the -f flag. The format of the allowed
382 signers file is documented in the ALLOWED SIGNERS section below.
383 If one or more matching principals are found, they are returned
384 on standard output.
385
386 -Y check-novalidate
387 Checks that a signature generated using ssh-keygen -Y sign has a
388 valid structure. This does not validate if a signature comes
389 from an authorized signer. When testing a signature, ssh-keygen
390 accepts a message on standard input and a signature namespace
391 using -n. A file containing the corresponding signature must
392 also be supplied using the -s flag. Successful testing of the
393 signature is signalled by ssh-keygen returning a zero exit
394 status.
395
396 -Y sign
397 Cryptographically sign a file or some data using a SSH key. When
398 signing, ssh-keygen accepts zero or more files to sign on the
399 command-line - if no files are specified then ssh-keygen will
400 sign data presented on standard input. Signatures are written to
401 the path of the input file with M-bM-^@M-^\.sigM-bM-^@M-^] appended, or to standard
402 output if the message to be signed was read from standard input.
403
404 The key used for signing is specified using the -f option and may
405 refer to either a private key, or a public key with the private
406 half available via ssh-agent(1). An additional signature
407 namespace, used to prevent signature confusion across different
408 domains of use (e.g. file signing vs email signing) must be
409 provided via the -n flag. Namespaces are arbitrary strings, and
410 may include: M-bM-^@M-^\fileM-bM-^@M-^] for file signing, M-bM-^@M-^\emailM-bM-^@M-^] for email signing.
411 For custom uses, it is recommended to use names following a
412 NAMESPACE@YOUR.DOMAIN pattern to generate unambiguous namespaces.
413
414 -Y verify
415 Request to verify a signature generated using ssh-keygen -Y sign
416 as described above. When verifying a signature, ssh-keygen
417 accepts a message on standard input and a signature namespace
418 using -n. A file containing the corresponding signature must
419 also be supplied using the -s flag, along with the identity of
420 the signer using -I and a list of allowed signers via the -f
421 flag. The format of the allowed signers file is documented in
422 the ALLOWED SIGNERS section below. A file containing revoked
423 keys can be passed using the -r flag. The revocation file may be
424 a KRL or a one-per-line list of public keys. Successful
425 verification by an authorized signer is signalled by ssh-keygen
426 returning a zero exit status.
427
428 -y This option will read a private OpenSSH format file and print an
429 OpenSSH public key to stdout.
430
431 -z serial_number
432 Specifies a serial number to be embedded in the certificate to
433 distinguish this certificate from others from the same CA. If
434 the serial_number is prefixed with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the
435 serial number will be incremented for each certificate signed on
436 a single command-line. The default serial number is zero.
437
438 When generating a KRL, the -z flag is used to specify a KRL
439 version number.
440
441MODULI GENERATION
442 ssh-keygen may be used to generate groups for the Diffie-Hellman Group
443 Exchange (DH-GEX) protocol. Generating these groups is a two-step
444 process: first, candidate primes are generated using a fast, but memory
445 intensive process. These candidate primes are then tested for
446 suitability (a CPU-intensive process).
447
448 Generation of primes is performed using the -M generate option. The
449 desired length of the primes may be specified by the -O bits option. For
450 example:
451
452 # ssh-keygen -M generate -O bits=2048 moduli-2048.candidates
453
454 By default, the search for primes begins at a random point in the desired
455 length range. This may be overridden using the -O start option, which
456 specifies a different start point (in hex).
457
458 Once a set of candidates have been generated, they must be screened for
459 suitability. This may be performed using the -M screen option. In this
460 mode ssh-keygen will read candidates from standard input (or a file
461 specified using the -f option). For example:
462
463 # ssh-keygen -M screen -f moduli-2048.candidates moduli-2048
464
465 By default, each candidate will be subjected to 100 primality tests.
466 This may be overridden using the -O prime-tests option. The DH generator
467 value will be chosen automatically for the prime under consideration. If
468 a specific generator is desired, it may be requested using the -O
469 generator option. Valid generator values are 2, 3, and 5.
470
471 Screened DH groups may be installed in /etc/moduli. It is important that
472 this file contains moduli of a range of bit lengths and that both ends of
473 a connection share common moduli.
474
475 A number of options are available for moduli generation and screening via
476 the -O flag:
477
478 lines=number
479 Exit after screening the specified number of lines while
480 performing DH candidate screening.
481
482 start-line=line-number
483 Start screening at the specified line number while performing DH
484 candidate screening.
485
486 checkpoint=filename
487 Write the last line processed to the specified file while
488 performing DH candidate screening. This will be used to skip
489 lines in the input file that have already been processed if the
490 job is restarted.
491
492 memory=mbytes
493 Specify the amount of memory to use (in megabytes) when
494 generating candidate moduli for DH-GEX.
495
496 start=hex-value
497 Specify start point (in hex) when generating candidate moduli for
498 DH-GEX.
499
500 generator=value
501 Specify desired generator (in decimal) when testing candidate
502 moduli for DH-GEX.
503
504CERTIFICATES
505 ssh-keygen supports signing of keys to produce certificates that may be
506 used for user or host authentication. Certificates consist of a public
507 key, some identity information, zero or more principal (user or host)
508 names and a set of options that are signed by a Certification Authority
509 (CA) key. Clients or servers may then trust only the CA key and verify
510 its signature on a certificate rather than trusting many user/host keys.
511 Note that OpenSSH certificates are a different, and much simpler, format
512 to the X.509 certificates used in ssl(8).
513
514 ssh-keygen supports two types of certificates: user and host. User
515 certificates authenticate users to servers, whereas host certificates
516 authenticate server hosts to users. To generate a user certificate:
517
518 $ ssh-keygen -s /path/to/ca_key -I key_id /path/to/user_key.pub
519
520 The resultant certificate will be placed in /path/to/user_key-cert.pub.
521 A host certificate requires the -h option:
522
523 $ ssh-keygen -s /path/to/ca_key -I key_id -h /path/to/host_key.pub
524
525 The host certificate will be output to /path/to/host_key-cert.pub.
526
527 It is possible to sign using a CA key stored in a PKCS#11 token by
528 providing the token library using -D and identifying the CA key by
529 providing its public half as an argument to -s:
530
531 $ ssh-keygen -s ca_key.pub -D libpkcs11.so -I key_id user_key.pub
532
533 Similarly, it is possible for the CA key to be hosted in a ssh-agent(1).
534 This is indicated by the -U flag and, again, the CA key must be
535 identified by its public half.
536
537 $ ssh-keygen -Us ca_key.pub -I key_id user_key.pub
538
539 In all cases, key_id is a "key identifier" that is logged by the server
540 when the certificate is used for authentication.
541
542 Certificates may be limited to be valid for a set of principal
543 (user/host) names. By default, generated certificates are valid for all
544 users or hosts. To generate a certificate for a specified set of
545 principals:
546
547 $ ssh-keygen -s ca_key -I key_id -n user1,user2 user_key.pub
548 $ ssh-keygen -s ca_key -I key_id -h -n host.domain host_key.pub
549
550 Additional limitations on the validity and use of user certificates may
551 be specified through certificate options. A certificate option may
552 disable features of the SSH session, may be valid only when presented
553 from particular source addresses or may force the use of a specific
554 command.
555
556 The options that are valid for user certificates are:
557
558 clear Clear all enabled permissions. This is useful for clearing the
559 default set of permissions so permissions may be added
560 individually.
561
562 critical:name[=contents]
563 extension:name[=contents]
564 Includes an arbitrary certificate critical option or extension.
565 The specified name should include a domain suffix, e.g.
566 M-bM-^@M-^\name@example.comM-bM-^@M-^]. If contents is specified then it is included
567 as the contents of the extension/option encoded as a string,
568 otherwise the extension/option is created with no contents
569 (usually indicating a flag). Extensions may be ignored by a
570 client or server that does not recognise them, whereas unknown
571 critical options will cause the certificate to be refused.
572
573 force-command=command
574 Forces the execution of command instead of any shell or command
575 specified by the user when the certificate is used for
576 authentication.
577
578 no-agent-forwarding
579 Disable ssh-agent(1) forwarding (permitted by default).
580
581 no-port-forwarding
582 Disable port forwarding (permitted by default).
583
584 no-pty Disable PTY allocation (permitted by default).
585
586 no-user-rc
587 Disable execution of ~/.ssh/rc by sshd(8) (permitted by default).
588
589 no-x11-forwarding
590 Disable X11 forwarding (permitted by default).
591
592 permit-agent-forwarding
593 Allows ssh-agent(1) forwarding.
594
595 permit-port-forwarding
596 Allows port forwarding.
597
598 permit-pty
599 Allows PTY allocation.
600
601 permit-user-rc
602 Allows execution of ~/.ssh/rc by sshd(8).
603
604 permit-X11-forwarding
605 Allows X11 forwarding.
606
607 no-touch-required
608 Do not require signatures made using this key require
609 demonstration of user presence (e.g. by having the user touch the
610 authenticator). This option only makes sense for the FIDO
611 authenticator algorithms ecdsa-sk and ed25519-sk.
612
613 source-address=address_list
614 Restrict the source addresses from which the certificate is
615 considered valid. The address_list is a comma-separated list of
616 one or more address/netmask pairs in CIDR format.
617
618 At present, no standard options are valid for host keys.
619
620 Finally, certificates may be defined with a validity lifetime. The -V
621 option allows specification of certificate start and end times. A
622 certificate that is presented at a time outside this range will not be
623 considered valid. By default, certificates are valid from UNIX Epoch to
624 the distant future.
625
626 For certificates to be used for user or host authentication, the CA
627 public key must be trusted by sshd(8) or ssh(1). Please refer to those
628 manual pages for details.
629
630KEY REVOCATION LISTS
631 ssh-keygen is able to manage OpenSSH format Key Revocation Lists (KRLs).
632 These binary files specify keys or certificates to be revoked using a
633 compact format, taking as little as one bit per certificate if they are
634 being revoked by serial number.
635
636 KRLs may be generated using the -k flag. This option reads one or more
637 files from the command line and generates a new KRL. The files may
638 either contain a KRL specification (see below) or public keys, listed one
639 per line. Plain public keys are revoked by listing their hash or
640 contents in the KRL and certificates revoked by serial number or key ID
641 (if the serial is zero or not available).
642
643 Revoking keys using a KRL specification offers explicit control over the
644 types of record used to revoke keys and may be used to directly revoke
645 certificates by serial number or key ID without having the complete
646 original certificate on hand. A KRL specification consists of lines
647 containing one of the following directives followed by a colon and some
648 directive-specific information.
649
650 serial: serial_number[-serial_number]
651 Revokes a certificate with the specified serial number. Serial
652 numbers are 64-bit values, not including zero and may be
653 expressed in decimal, hex or octal. If two serial numbers are
654 specified separated by a hyphen, then the range of serial numbers
655 including and between each is revoked. The CA key must have been
656 specified on the ssh-keygen command line using the -s option.
657
658 id: key_id
659 Revokes a certificate with the specified key ID string. The CA
660 key must have been specified on the ssh-keygen command line using
661 the -s option.
662
663 key: public_key
664 Revokes the specified key. If a certificate is listed, then it
665 is revoked as a plain public key.
666
667 sha1: public_key
668 Revokes the specified key by including its SHA1 hash in the KRL.
669
670 sha256: public_key
671 Revokes the specified key by including its SHA256 hash in the
672 KRL. KRLs that revoke keys by SHA256 hash are not supported by
673 OpenSSH versions prior to 7.9.
674
675 hash: fingerprint
676 Revokes a key using a fingerprint hash, as obtained from a
677 sshd(8) authentication log message or the ssh-keygen -l flag.
678 Only SHA256 fingerprints are supported here and resultant KRLs
679 are not supported by OpenSSH versions prior to 7.9.
680
681 KRLs may be updated using the -u flag in addition to -k. When this
682 option is specified, keys listed via the command line are merged into the
683 KRL, adding to those already there.
684
685 It is also possible, given a KRL, to test whether it revokes a particular
686 key (or keys). The -Q flag will query an existing KRL, testing each key
687 specified on the command line. If any key listed on the command line has
688 been revoked (or an error encountered) then ssh-keygen will exit with a
689 non-zero exit status. A zero exit status will only be returned if no key
690 was revoked.
691
692ALLOWED SIGNERS
693 When verifying signatures, ssh-keygen uses a simple list of identities
694 and keys to determine whether a signature comes from an authorized
695 source. This "allowed signers" file uses a format patterned after the
696 AUTHORIZED_KEYS FILE FORMAT described in sshd(8). Each line of the file
697 contains the following space-separated fields: principals, options,
698 keytype, base64-encoded key. Empty lines and lines starting with a M-bM-^@M-^X#M-bM-^@M-^Y
699 are ignored as comments.
700
701 The principals field is a pattern-list (See PATTERNS in ssh_config(5))
702 consisting of one or more comma-separated USER@DOMAIN identity patterns
703 that are accepted for signing. When verifying, the identity presented
704 via the -I option must match a principals pattern in order for the
705 corresponding key to be considered acceptable for verification.
706
707 The options (if present) consist of comma-separated option
708 specifications. No spaces are permitted, except within double quotes.
709 The following option specifications are supported (note that option
710 keywords are case-insensitive):
711
712 cert-authority
713 Indicates that this key is accepted as a certificate authority
714 (CA) and that certificates signed by this CA may be accepted for
715 verification.
716
717 namespaces="namespace-list"
718 Specifies a pattern-list of namespaces that are accepted for this
719 key. If this option is present, the signature namespace embedded
720 in the signature object and presented on the verification
721 command-line must match the specified list before the key will be
722 considered acceptable.
723
724 When verifying signatures made by certificates, the expected principal
725 name must match both the principals pattern in the allowed signers file
726 and the principals embedded in the certificate itself.
727
728 An example allowed signers file:
729
730 # Comments allowed at start of line
731 user1@example.com,user2@example.com ssh-rsa AAAAX1...
732 # A certificate authority, trusted for all principals in a domain.
733 *@example.com cert-authority ssh-ed25519 AAAB4...
734 # A key that is accepted only for file signing.
735 user2@example.com namespaces="file" ssh-ed25519 AAA41...
736
737ENVIRONMENT
738 SSH_SK_PROVIDER
739 Specifies a path to a library that will be used when loading any
740 FIDO authenticator-hosted keys, overriding the default of using
741 the built-in USB HID support.
742
743FILES
744 ~/.ssh/id_dsa
745 ~/.ssh/id_ecdsa
746 ~/.ssh/id_ecdsa_sk
747 ~/.ssh/id_ed25519
748 ~/.ssh/id_ed25519_sk
749 ~/.ssh/id_rsa
750 Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519,
751 authenticator-hosted Ed25519 or RSA authentication identity of
752 the user. This file should not be readable by anyone but the
753 user. It is possible to specify a passphrase when generating the
754 key; that passphrase will be used to encrypt the private part of
755 this file using 128-bit AES. This file is not automatically
756 accessed by ssh-keygen but it is offered as the default file for
757 the private key. ssh(1) will read this file when a login attempt
758 is made.
759
760 ~/.ssh/id_dsa.pub
761 ~/.ssh/id_ecdsa.pub
762 ~/.ssh/id_ecdsa_sk.pub
763 ~/.ssh/id_ed25519.pub
764 ~/.ssh/id_ed25519_sk.pub
765 ~/.ssh/id_rsa.pub
766 Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519,
767 authenticator-hosted Ed25519 or RSA public key for
768 authentication. The contents of this file should be added to
769 ~/.ssh/authorized_keys on all machines where the user wishes to
770 log in using public key authentication. There is no need to keep
771 the contents of this file secret.
772
773 /etc/moduli
774 Contains Diffie-Hellman groups used for DH-GEX. The file format
775 is described in moduli(5).
776
777SEE ALSO
778 ssh(1), ssh-add(1), ssh-agent(1), moduli(5), sshd(8)
779
780 The Secure Shell (SSH) Public Key File Format, RFC 4716, 2006.
781
782AUTHORS
783 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
784 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
785 de Raadt and Dug Song removed many bugs, re-added newer features and
786 created OpenSSH. Markus Friedl contributed the support for SSH protocol
787 versions 1.5 and 2.0.
788
789OpenBSD 6.6 February 7, 2020 OpenBSD 6.6
diff --git a/ssh-keyscan.0 b/ssh-keyscan.0
new file mode 100644
index 000000000..9fc324620
--- /dev/null
+++ b/ssh-keyscan.0
@@ -0,0 +1,96 @@
1SSH-KEYSCAN(1) General Commands Manual SSH-KEYSCAN(1)
2
3NAME
4 ssh-keyscan M-bM-^@M-^S gather SSH public keys from servers
5
6SYNOPSIS
7 ssh-keyscan [-46cDHv] [-f file] [-p port] [-T timeout] [-t type]
8 [host | addrlist namelist]
9
10DESCRIPTION
11 ssh-keyscan is a utility for gathering the public SSH host keys of a
12 number of hosts. It was designed to aid in building and verifying
13 ssh_known_hosts files, the format of which is documented in sshd(8).
14 ssh-keyscan provides a minimal interface suitable for use by shell and
15 perl scripts.
16
17 ssh-keyscan uses non-blocking socket I/O to contact as many hosts as
18 possible in parallel, so it is very efficient. The keys from a domain of
19 1,000 hosts can be collected in tens of seconds, even when some of those
20 hosts are down or do not run sshd(8). For scanning, one does not need
21 login access to the machines that are being scanned, nor does the
22 scanning process involve any encryption.
23
24 The options are as follows:
25
26 -4 Force ssh-keyscan to use IPv4 addresses only.
27
28 -6 Force ssh-keyscan to use IPv6 addresses only.
29
30 -c Request certificates from target hosts instead of plain keys.
31
32 -D Print keys found as SSHFP DNS records. The default is to print
33 keys in a format usable as a ssh(1) known_hosts file.
34
35 -f file
36 Read hosts or M-bM-^@M-^\addrlist namelistM-bM-^@M-^] pairs from file, one per line.
37 If M-bM-^@M-^X-M-bM-^@M-^Y is supplied instead of a filename, ssh-keyscan will read
38 from the standard input. Input is expected in the format:
39
40 1.2.3.4,1.2.4.4 name.my.domain,name,n.my.domain,n,1.2.3.4,1.2.4.4
41
42 -H Hash all hostnames and addresses in the output. Hashed names may
43 be used normally by ssh(1) and sshd(8), but they do not reveal
44 identifying information should the file's contents be disclosed.
45
46 -p port
47 Connect to port on the remote host.
48
49 -T timeout
50 Set the timeout for connection attempts. If timeout seconds have
51 elapsed since a connection was initiated to a host or since the
52 last time anything was read from that host, the connection is
53 closed and the host in question considered unavailable. The
54 default is 5 seconds.
55
56 -t type
57 Specify the type of the key to fetch from the scanned hosts. The
58 possible values are M-bM-^@M-^\dsaM-bM-^@M-^], M-bM-^@M-^\ecdsaM-bM-^@M-^], M-bM-^@M-^\ed25519M-bM-^@M-^], or M-bM-^@M-^\rsaM-bM-^@M-^].
59 Multiple values may be specified by separating them with commas.
60 The default is to fetch M-bM-^@M-^\rsaM-bM-^@M-^], M-bM-^@M-^\ecdsaM-bM-^@M-^], and M-bM-^@M-^\ed25519M-bM-^@M-^] keys.
61
62 -v Verbose mode: print debugging messages about progress.
63
64 If an ssh_known_hosts file is constructed using ssh-keyscan without
65 verifying the keys, users will be vulnerable to man in the middle
66 attacks. On the other hand, if the security model allows such a risk,
67 ssh-keyscan can help in the detection of tampered keyfiles or man in the
68 middle attacks which have begun after the ssh_known_hosts file was
69 created.
70
71FILES
72 /etc/ssh/ssh_known_hosts
73
74EXAMPLES
75 Print the RSA host key for machine hostname:
76
77 $ ssh-keyscan -t rsa hostname
78
79 Find all hosts from the file ssh_hosts which have new or different keys
80 from those in the sorted file ssh_known_hosts:
81
82 $ ssh-keyscan -t rsa,dsa,ecdsa,ed25519 -f ssh_hosts | \
83 sort -u - ssh_known_hosts | diff ssh_known_hosts -
84
85SEE ALSO
86 ssh(1), sshd(8)
87
88 Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints, RFC
89 4255, 2006.
90
91AUTHORS
92 David Mazieres <dm@lcs.mit.edu> wrote the initial version, and Wayne
93 Davison <wayned@users.sourceforge.net> added support for protocol version
94 2.
95
96OpenBSD 6.6 November 30, 2019 OpenBSD 6.6
diff --git a/ssh-keysign.0 b/ssh-keysign.0
new file mode 100644
index 000000000..87e7f1a72
--- /dev/null
+++ b/ssh-keysign.0
@@ -0,0 +1,52 @@
1SSH-KEYSIGN(8) System Manager's Manual SSH-KEYSIGN(8)
2
3NAME
4 ssh-keysign M-bM-^@M-^S OpenSSH helper for host-based authentication
5
6SYNOPSIS
7 ssh-keysign
8
9DESCRIPTION
10 ssh-keysign is used by ssh(1) to access the local host keys and generate
11 the digital signature required during host-based authentication.
12
13 ssh-keysign is disabled by default and can only be enabled in the global
14 client configuration file /etc/ssh/ssh_config by setting EnableSSHKeysign
15 to M-bM-^@M-^\yesM-bM-^@M-^].
16
17 ssh-keysign is not intended to be invoked by the user, but from ssh(1).
18 See ssh(1) and sshd(8) for more information about host-based
19 authentication.
20
21FILES
22 /etc/ssh/ssh_config
23 Controls whether ssh-keysign is enabled.
24
25 /etc/ssh/ssh_host_dsa_key
26 /etc/ssh/ssh_host_ecdsa_key
27 /etc/ssh/ssh_host_ed25519_key
28 /etc/ssh/ssh_host_rsa_key
29 These files contain the private parts of the host keys used to
30 generate the digital signature. They should be owned by root,
31 readable only by root, and not accessible to others. Since they
32 are readable only by root, ssh-keysign must be set-uid root if
33 host-based authentication is used.
34
35 /etc/ssh/ssh_host_dsa_key-cert.pub
36 /etc/ssh/ssh_host_ecdsa_key-cert.pub
37 /etc/ssh/ssh_host_ed25519_key-cert.pub
38 /etc/ssh/ssh_host_rsa_key-cert.pub
39 If these files exist they are assumed to contain public
40 certificate information corresponding with the private keys
41 above.
42
43SEE ALSO
44 ssh(1), ssh-keygen(1), ssh_config(5), sshd(8)
45
46HISTORY
47 ssh-keysign first appeared in OpenBSD 3.2.
48
49AUTHORS
50 Markus Friedl <markus@openbsd.org>
51
52OpenBSD 6.6 November 30, 2019 OpenBSD 6.6
diff --git a/ssh-pkcs11-helper.0 b/ssh-pkcs11-helper.0
new file mode 100644
index 000000000..4516bc120
--- /dev/null
+++ b/ssh-pkcs11-helper.0
@@ -0,0 +1,35 @@
1SSH-PKCS11-HELPER(8) System Manager's Manual SSH-PKCS11-HELPER(8)
2
3NAME
4 ssh-pkcs11-helper M-bM-^@M-^S OpenSSH helper for PKCS#11 support
5
6SYNOPSIS
7 ssh-pkcs11-helper [-v]
8
9DESCRIPTION
10 ssh-pkcs11-helper is used by ssh-agent(1) to access keys provided by a
11 PKCS#11 token.
12
13 ssh-pkcs11-helper is not intended to be invoked by the user, but from
14 ssh-agent(1).
15
16 A single option is supported:
17
18 -v Verbose mode. Causes ssh-pkcs11-helper to print debugging
19 messages about its progress. This is helpful in debugging
20 problems. Multiple -v options increase the verbosity. The
21 maximum is 3.
22
23 Note that ssh-agent(1) will automatically pass the -v flag to
24 ssh-pkcs11-helper when it has itself been placed in debug mode.
25
26SEE ALSO
27 ssh(1), ssh-add(1), ssh-agent(1)
28
29HISTORY
30 ssh-pkcs11-helper first appeared in OpenBSD 4.7.
31
32AUTHORS
33 Markus Friedl <markus@openbsd.org>
34
35OpenBSD 6.6 November 30, 2019 OpenBSD 6.6
diff --git a/ssh-sk-helper.0 b/ssh-sk-helper.0
new file mode 100644
index 000000000..6257fac7c
--- /dev/null
+++ b/ssh-sk-helper.0
@@ -0,0 +1,34 @@
1SSH-SK-HELPER(8) System Manager's Manual SSH-SK-HELPER(8)
2
3NAME
4 ssh-sk-helper M-bM-^@M-^S OpenSSH helper for FIDO authenticator support
5
6SYNOPSIS
7 ssh-sk-helper [-v]
8
9DESCRIPTION
10 ssh-sk-helper is used by ssh-agent(1) to access keys provided by a FIDO
11 authenticator.
12
13 ssh-sk-helper is not intended to be invoked by the user, but from
14 ssh-agent(1).
15
16 A single option is supported:
17
18 -v Verbose mode. Causes ssh-sk-helper to print debugging messages
19 about its progress. This is helpful in debugging problems.
20 Multiple -v options increase the verbosity. The maximum is 3.
21
22 Note that ssh-agent(1) will automatically pass the -v flag to
23 ssh-sk-helper when it has itself been placed in debug mode.
24
25SEE ALSO
26 ssh(1), ssh-add(1), ssh-agent(1)
27
28HISTORY
29 ssh-sk-helper first appeared in OpenBSD 6.7.
30
31AUTHORS
32 Damien Miller <djm@openbsd.org>
33
34OpenBSD 6.6 December 21, 2019 OpenBSD 6.6
diff --git a/ssh.0 b/ssh.0
new file mode 100644
index 000000000..ffacbef65
--- /dev/null
+++ b/ssh.0
@@ -0,0 +1,991 @@
1SSH(1) General Commands Manual SSH(1)
2
3NAME
4 ssh M-bM-^@M-^S OpenSSH remote login client
5
6SYNOPSIS
7 ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address]
8 [-c cipher_spec] [-D [bind_address:]port] [-E log_file]
9 [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file]
10 [-J destination] [-L address] [-l login_name] [-m mac_spec]
11 [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
12 [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] destination
13 [command]
14
15DESCRIPTION
16 ssh (SSH client) is a program for logging into a remote machine and for
17 executing commands on a remote machine. It is intended to provide secure
18 encrypted communications between two untrusted hosts over an insecure
19 network. X11 connections, arbitrary TCP ports and UNIX-domain sockets
20 can also be forwarded over the secure channel.
21
22 ssh connects and logs into the specified destination, which may be
23 specified as either [user@]hostname or a URI of the form
24 ssh://[user@]hostname[:port]. The user must prove his/her identity to
25 the remote machine using one of several methods (see below).
26
27 If a command is specified, it is executed on the remote host instead of a
28 login shell.
29
30 The options are as follows:
31
32 -4 Forces ssh to use IPv4 addresses only.
33
34 -6 Forces ssh to use IPv6 addresses only.
35
36 -A Enables forwarding of connections from an authentication agent
37 such as ssh-agent(1). This can also be specified on a per-host
38 basis in a configuration file.
39
40 Agent forwarding should be enabled with caution. Users with the
41 ability to bypass file permissions on the remote host (for the
42 agent's UNIX-domain socket) can access the local agent through
43 the forwarded connection. An attacker cannot obtain key material
44 from the agent, however they can perform operations on the keys
45 that enable them to authenticate using the identities loaded into
46 the agent. A safer alternative may be to use a jump host (see
47 -J).
48
49 -a Disables forwarding of the authentication agent connection.
50
51 -B bind_interface
52 Bind to the address of bind_interface before attempting to
53 connect to the destination host. This is only useful on systems
54 with more than one address.
55
56 -b bind_address
57 Use bind_address on the local machine as the source address of
58 the connection. Only useful on systems with more than one
59 address.
60
61 -C Requests compression of all data (including stdin, stdout,
62 stderr, and data for forwarded X11, TCP and UNIX-domain
63 connections). The compression algorithm is the same used by
64 gzip(1). Compression is desirable on modem lines and other slow
65 connections, but will only slow down things on fast networks.
66 The default value can be set on a host-by-host basis in the
67 configuration files; see the Compression option.
68
69 -c cipher_spec
70 Selects the cipher specification for encrypting the session.
71 cipher_spec is a comma-separated list of ciphers listed in order
72 of preference. See the Ciphers keyword in ssh_config(5) for more
73 information.
74
75 -D [bind_address:]port
76 Specifies a local M-bM-^@M-^\dynamicM-bM-^@M-^] application-level port forwarding.
77 This works by allocating a socket to listen to port on the local
78 side, optionally bound to the specified bind_address. Whenever a
79 connection is made to this port, the connection is forwarded over
80 the secure channel, and the application protocol is then used to
81 determine where to connect to from the remote machine. Currently
82 the SOCKS4 and SOCKS5 protocols are supported, and ssh will act
83 as a SOCKS server. Only root can forward privileged ports.
84 Dynamic port forwardings can also be specified in the
85 configuration file.
86
87 IPv6 addresses can be specified by enclosing the address in
88 square brackets. Only the superuser can forward privileged
89 ports. By default, the local port is bound in accordance with
90 the GatewayPorts setting. However, an explicit bind_address may
91 be used to bind the connection to a specific address. The
92 bind_address of M-bM-^@M-^\localhostM-bM-^@M-^] indicates that the listening port be
93 bound for local use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates
94 that the port should be available from all interfaces.
95
96 -E log_file
97 Append debug logs to log_file instead of standard error.
98
99 -e escape_char
100 Sets the escape character for sessions with a pty (default: M-bM-^@M-^X~M-bM-^@M-^Y).
101 The escape character is only recognized at the beginning of a
102 line. The escape character followed by a dot (M-bM-^@M-^X.M-bM-^@M-^Y) closes the
103 connection; followed by control-Z suspends the connection; and
104 followed by itself sends the escape character once. Setting the
105 character to M-bM-^@M-^\noneM-bM-^@M-^] disables any escapes and makes the session
106 fully transparent.
107
108 -F configfile
109 Specifies an alternative per-user configuration file. If a
110 configuration file is given on the command line, the system-wide
111 configuration file (/etc/ssh/ssh_config) will be ignored. The
112 default for the per-user configuration file is ~/.ssh/config.
113
114 -f Requests ssh to go to background just before command execution.
115 This is useful if ssh is going to ask for passwords or
116 passphrases, but the user wants it in the background. This
117 implies -n. The recommended way to start X11 programs at a
118 remote site is with something like ssh -f host xterm.
119
120 If the ExitOnForwardFailure configuration option is set to M-bM-^@M-^\yesM-bM-^@M-^],
121 then a client started with -f will wait for all remote port
122 forwards to be successfully established before placing itself in
123 the background.
124
125 -G Causes ssh to print its configuration after evaluating Host and
126 Match blocks and exit.
127
128 -g Allows remote hosts to connect to local forwarded ports. If used
129 on a multiplexed connection, then this option must be specified
130 on the master process.
131
132 -I pkcs11
133 Specify the PKCS#11 shared library ssh should use to communicate
134 with a PKCS#11 token providing keys for user authentication.
135
136 -i identity_file
137 Selects a file from which the identity (private key) for public
138 key authentication is read. The default is ~/.ssh/id_dsa,
139 ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519,
140 ~/.ssh/id_ed25519_sk and ~/.ssh/id_rsa. Identity files may also
141 be specified on a per-host basis in the configuration file. It
142 is possible to have multiple -i options (and multiple identities
143 specified in configuration files). If no certificates have been
144 explicitly specified by the CertificateFile directive, ssh will
145 also try to load certificate information from the filename
146 obtained by appending -cert.pub to identity filenames.
147
148 -J destination
149 Connect to the target host by first making a ssh connection to
150 the jump host described by destination and then establishing a
151 TCP forwarding to the ultimate destination from there. Multiple
152 jump hops may be specified separated by comma characters. This
153 is a shortcut to specify a ProxyJump configuration directive.
154 Note that configuration directives supplied on the command-line
155 generally apply to the destination host and not any specified
156 jump hosts. Use ~/.ssh/config to specify configuration for jump
157 hosts.
158
159 -K Enables GSSAPI-based authentication and forwarding (delegation)
160 of GSSAPI credentials to the server.
161
162 -k Disables forwarding (delegation) of GSSAPI credentials to the
163 server.
164
165 -L [bind_address:]port:host:hostport
166 -L [bind_address:]port:remote_socket
167 -L local_socket:host:hostport
168 -L local_socket:remote_socket
169 Specifies that connections to the given TCP port or Unix socket
170 on the local (client) host are to be forwarded to the given host
171 and port, or Unix socket, on the remote side. This works by
172 allocating a socket to listen to either a TCP port on the local
173 side, optionally bound to the specified bind_address, or to a
174 Unix socket. Whenever a connection is made to the local port or
175 socket, the connection is forwarded over the secure channel, and
176 a connection is made to either host port hostport, or the Unix
177 socket remote_socket, from the remote machine.
178
179 Port forwardings can also be specified in the configuration file.
180 Only the superuser can forward privileged ports. IPv6 addresses
181 can be specified by enclosing the address in square brackets.
182
183 By default, the local port is bound in accordance with the
184 GatewayPorts setting. However, an explicit bind_address may be
185 used to bind the connection to a specific address. The
186 bind_address of M-bM-^@M-^\localhostM-bM-^@M-^] indicates that the listening port be
187 bound for local use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates
188 that the port should be available from all interfaces.
189
190 -l login_name
191 Specifies the user to log in as on the remote machine. This also
192 may be specified on a per-host basis in the configuration file.
193
194 -M Places the ssh client into M-bM-^@M-^\masterM-bM-^@M-^] mode for connection sharing.
195 Multiple -M options places ssh into M-bM-^@M-^\masterM-bM-^@M-^] mode but with
196 confirmation required using ssh-askpass(1) before each operation
197 that changes the multiplexing state (e.g. opening a new session).
198 Refer to the description of ControlMaster in ssh_config(5) for
199 details.
200
201 -m mac_spec
202 A comma-separated list of MAC (message authentication code)
203 algorithms, specified in order of preference. See the MACs
204 keyword for more information.
205
206 -N Do not execute a remote command. This is useful for just
207 forwarding ports.
208
209 -n Redirects stdin from /dev/null (actually, prevents reading from
210 stdin). This must be used when ssh is run in the background. A
211 common trick is to use this to run X11 programs on a remote
212 machine. For example, ssh -n shadows.cs.hut.fi emacs & will
213 start an emacs on shadows.cs.hut.fi, and the X11 connection will
214 be automatically forwarded over an encrypted channel. The ssh
215 program will be put in the background. (This does not work if
216 ssh needs to ask for a password or passphrase; see also the -f
217 option.)
218
219 -O ctl_cmd
220 Control an active connection multiplexing master process. When
221 the -O option is specified, the ctl_cmd argument is interpreted
222 and passed to the master process. Valid commands are: M-bM-^@M-^\checkM-bM-^@M-^]
223 (check that the master process is running), M-bM-^@M-^\forwardM-bM-^@M-^] (request
224 forwardings without command execution), M-bM-^@M-^\cancelM-bM-^@M-^] (cancel
225 forwardings), M-bM-^@M-^\exitM-bM-^@M-^] (request the master to exit), and M-bM-^@M-^\stopM-bM-^@M-^]
226 (request the master to stop accepting further multiplexing
227 requests).
228
229 -o option
230 Can be used to give options in the format used in the
231 configuration file. This is useful for specifying options for
232 which there is no separate command-line flag. For full details
233 of the options listed below, and their possible values, see
234 ssh_config(5).
235
236 AddKeysToAgent
237 AddressFamily
238 BatchMode
239 BindAddress
240 CanonicalDomains
241 CanonicalizeFallbackLocal
242 CanonicalizeHostname
243 CanonicalizeMaxDots
244 CanonicalizePermittedCNAMEs
245 CASignatureAlgorithms
246 CertificateFile
247 ChallengeResponseAuthentication
248 CheckHostIP
249 Ciphers
250 ClearAllForwardings
251 Compression
252 ConnectionAttempts
253 ConnectTimeout
254 ControlMaster
255 ControlPath
256 ControlPersist
257 DynamicForward
258 EscapeChar
259 ExitOnForwardFailure
260 FingerprintHash
261 ForwardAgent
262 ForwardX11
263 ForwardX11Timeout
264 ForwardX11Trusted
265 GatewayPorts
266 GlobalKnownHostsFile
267 GSSAPIAuthentication
268 GSSAPIDelegateCredentials
269 HashKnownHosts
270 Host
271 HostbasedAuthentication
272 HostbasedKeyTypes
273 HostKeyAlgorithms
274 HostKeyAlias
275 Hostname
276 IdentitiesOnly
277 IdentityAgent
278 IdentityFile
279 IPQoS
280 KbdInteractiveAuthentication
281 KbdInteractiveDevices
282 KexAlgorithms
283 LocalCommand
284 LocalForward
285 LogLevel
286 MACs
287 Match
288 NoHostAuthenticationForLocalhost
289 NumberOfPasswordPrompts
290 PasswordAuthentication
291 PermitLocalCommand
292 PKCS11Provider
293 Port
294 PreferredAuthentications
295 ProxyCommand
296 ProxyJump
297 ProxyUseFdpass
298 PubkeyAcceptedKeyTypes
299 PubkeyAuthentication
300 RekeyLimit
301 RemoteCommand
302 RemoteForward
303 RequestTTY
304 SendEnv
305 ServerAliveInterval
306 ServerAliveCountMax
307 SetEnv
308 StreamLocalBindMask
309 StreamLocalBindUnlink
310 StrictHostKeyChecking
311 TCPKeepAlive
312 Tunnel
313 TunnelDevice
314 UpdateHostKeys
315 User
316 UserKnownHostsFile
317 VerifyHostKeyDNS
318 VisualHostKey
319 XAuthLocation
320
321 -p port
322 Port to connect to on the remote host. This can be specified on
323 a per-host basis in the configuration file.
324
325 -Q query_option
326 Queries ssh for the algorithms supported for the specified
327 version 2. The available features are: cipher (supported
328 symmetric ciphers), cipher-auth (supported symmetric ciphers that
329 support authenticated encryption), help (supported query terms
330 for use with the -Q flag), mac (supported message integrity
331 codes), kex (key exchange algorithms), key (key types), key-cert
332 (certificate key types), key-plain (non-certificate key types),
333 key-sig (all key types and signature algorithms),
334 protocol-version (supported SSH protocol versions), and sig
335 (supported signature algorithms). Alternatively, any keyword
336 from ssh_config(5) or sshd_config(5) that takes an algorithm list
337 may be used as an alias for the corresponding query_option.
338
339 -q Quiet mode. Causes most warning and diagnostic messages to be
340 suppressed.
341
342 -R [bind_address:]port:host:hostport
343 -R [bind_address:]port:local_socket
344 -R remote_socket:host:hostport
345 -R remote_socket:local_socket
346 -R [bind_address:]port
347 Specifies that connections to the given TCP port or Unix socket
348 on the remote (server) host are to be forwarded to the local
349 side.
350
351 This works by allocating a socket to listen to either a TCP port
352 or to a Unix socket on the remote side. Whenever a connection is
353 made to this port or Unix socket, the connection is forwarded
354 over the secure channel, and a connection is made from the local
355 machine to either an explicit destination specified by host port
356 hostport, or local_socket, or, if no explicit destination was
357 specified, ssh will act as a SOCKS 4/5 proxy and forward
358 connections to the destinations requested by the remote SOCKS
359 client.
360
361 Port forwardings can also be specified in the configuration file.
362 Privileged ports can be forwarded only when logging in as root on
363 the remote machine. IPv6 addresses can be specified by enclosing
364 the address in square brackets.
365
366 By default, TCP listening sockets on the server will be bound to
367 the loopback interface only. This may be overridden by
368 specifying a bind_address. An empty bind_address, or the address
369 M-bM-^@M-^X*M-bM-^@M-^Y, indicates that the remote socket should listen on all
370 interfaces. Specifying a remote bind_address will only succeed
371 if the server's GatewayPorts option is enabled (see
372 sshd_config(5)).
373
374 If the port argument is M-bM-^@M-^X0M-bM-^@M-^Y, the listen port will be dynamically
375 allocated on the server and reported to the client at run time.
376 When used together with -O forward the allocated port will be
377 printed to the standard output.
378
379 -S ctl_path
380 Specifies the location of a control socket for connection
381 sharing, or the string M-bM-^@M-^\noneM-bM-^@M-^] to disable connection sharing.
382 Refer to the description of ControlPath and ControlMaster in
383 ssh_config(5) for details.
384
385 -s May be used to request invocation of a subsystem on the remote
386 system. Subsystems facilitate the use of SSH as a secure
387 transport for other applications (e.g. sftp(1)). The subsystem
388 is specified as the remote command.
389
390 -T Disable pseudo-terminal allocation.
391
392 -t Force pseudo-terminal allocation. This can be used to execute
393 arbitrary screen-based programs on a remote machine, which can be
394 very useful, e.g. when implementing menu services. Multiple -t
395 options force tty allocation, even if ssh has no local tty.
396
397 -V Display the version number and exit.
398
399 -v Verbose mode. Causes ssh to print debugging messages about its
400 progress. This is helpful in debugging connection,
401 authentication, and configuration problems. Multiple -v options
402 increase the verbosity. The maximum is 3.
403
404 -W host:port
405 Requests that standard input and output on the client be
406 forwarded to host on port over the secure channel. Implies -N,
407 -T, ExitOnForwardFailure and ClearAllForwardings, though these
408 can be overridden in the configuration file or using -o command
409 line options.
410
411 -w local_tun[:remote_tun]
412 Requests tunnel device forwarding with the specified tun(4)
413 devices between the client (local_tun) and the server
414 (remote_tun).
415
416 The devices may be specified by numerical ID or the keyword
417 M-bM-^@M-^\anyM-bM-^@M-^], which uses the next available tunnel device. If
418 remote_tun is not specified, it defaults to M-bM-^@M-^\anyM-bM-^@M-^]. See also the
419 Tunnel and TunnelDevice directives in ssh_config(5).
420
421 If the Tunnel directive is unset, it will be set to the default
422 tunnel mode, which is M-bM-^@M-^\point-to-pointM-bM-^@M-^]. If a different Tunnel
423 forwarding mode it desired, then it should be specified before
424 -w.
425
426 -X Enables X11 forwarding. This can also be specified on a per-host
427 basis in a configuration file.
428
429 X11 forwarding should be enabled with caution. Users with the
430 ability to bypass file permissions on the remote host (for the
431 user's X authorization database) can access the local X11 display
432 through the forwarded connection. An attacker may then be able
433 to perform activities such as keystroke monitoring.
434
435 For this reason, X11 forwarding is subjected to X11 SECURITY
436 extension restrictions by default. Please refer to the ssh -Y
437 option and the ForwardX11Trusted directive in ssh_config(5) for
438 more information.
439
440 -x Disables X11 forwarding.
441
442 -Y Enables trusted X11 forwarding. Trusted X11 forwardings are not
443 subjected to the X11 SECURITY extension controls.
444
445 -y Send log information using the syslog(3) system module. By
446 default this information is sent to stderr.
447
448 ssh may additionally obtain configuration data from a per-user
449 configuration file and a system-wide configuration file. The file format
450 and configuration options are described in ssh_config(5).
451
452AUTHENTICATION
453 The OpenSSH SSH client supports SSH protocol 2.
454
455 The methods available for authentication are: GSSAPI-based
456 authentication, host-based authentication, public key authentication,
457 challenge-response authentication, and password authentication.
458 Authentication methods are tried in the order specified above, though
459 PreferredAuthentications can be used to change the default order.
460
461 Host-based authentication works as follows: If the machine the user logs
462 in from is listed in /etc/hosts.equiv or /etc/shosts.equiv on the remote
463 machine, and the user names are the same on both sides, or if the files
464 ~/.rhosts or ~/.shosts exist in the user's home directory on the remote
465 machine and contain a line containing the name of the client machine and
466 the name of the user on that machine, the user is considered for login.
467 Additionally, the server must be able to verify the client's host key
468 (see the description of /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts,
469 below) for login to be permitted. This authentication method closes
470 security holes due to IP spoofing, DNS spoofing, and routing spoofing.
471 [Note to the administrator: /etc/hosts.equiv, ~/.rhosts, and the
472 rlogin/rsh protocol in general, are inherently insecure and should be
473 disabled if security is desired.]
474
475 Public key authentication works as follows: The scheme is based on
476 public-key cryptography, using cryptosystems where encryption and
477 decryption are done using separate keys, and it is unfeasible to derive
478 the decryption key from the encryption key. The idea is that each user
479 creates a public/private key pair for authentication purposes. The
480 server knows the public key, and only the user knows the private key.
481 ssh implements public key authentication protocol automatically, using
482 one of the DSA, ECDSA, Ed25519 or RSA algorithms. The HISTORY section of
483 ssl(8) contains a brief discussion of the DSA and RSA algorithms.
484
485 The file ~/.ssh/authorized_keys lists the public keys that are permitted
486 for logging in. When the user logs in, the ssh program tells the server
487 which key pair it would like to use for authentication. The client
488 proves that it has access to the private key and the server checks that
489 the corresponding public key is authorized to accept the account.
490
491 The server may inform the client of errors that prevented public key
492 authentication from succeeding after authentication completes using a
493 different method. These may be viewed by increasing the LogLevel to
494 DEBUG or higher (e.g. by using the -v flag).
495
496 The user creates his/her key pair by running ssh-keygen(1). This stores
497 the private key in ~/.ssh/id_dsa (DSA), ~/.ssh/id_ecdsa (ECDSA),
498 ~/.ssh/id_ecdsa_sk (authenticator-hosted ECDSA), ~/.ssh/id_ed25519
499 (Ed25519), ~/.ssh/id_ed25519_sk (authenticator-hosted Ed25519), or
500 ~/.ssh/id_rsa (RSA) and stores the public key in ~/.ssh/id_dsa.pub (DSA),
501 ~/.ssh/id_ecdsa.pub (ECDSA), ~/.ssh/id_ecdsa_sk.pub (authenticator-hosted
502 ECDSA), ~/.ssh/id_ed25519.pub (Ed25519), ~/.ssh/id_ed25519_sk.pub
503 (authenticator-hosted Ed25519), or ~/.ssh/id_rsa.pub (RSA) in the user's
504 home directory. The user should then copy the public key to
505 ~/.ssh/authorized_keys in his/her home directory on the remote machine.
506 The authorized_keys file corresponds to the conventional ~/.rhosts file,
507 and has one key per line, though the lines can be very long. After this,
508 the user can log in without giving the password.
509
510 A variation on public key authentication is available in the form of
511 certificate authentication: instead of a set of public/private keys,
512 signed certificates are used. This has the advantage that a single
513 trusted certification authority can be used in place of many
514 public/private keys. See the CERTIFICATES section of ssh-keygen(1) for
515 more information.
516
517 The most convenient way to use public key or certificate authentication
518 may be with an authentication agent. See ssh-agent(1) and (optionally)
519 the AddKeysToAgent directive in ssh_config(5) for more information.
520
521 Challenge-response authentication works as follows: The server sends an
522 arbitrary "challenge" text, and prompts for a response. Examples of
523 challenge-response authentication include BSD Authentication (see
524 login.conf(5)) and PAM (some non-OpenBSD systems).
525
526 Finally, if other authentication methods fail, ssh prompts the user for a
527 password. The password is sent to the remote host for checking; however,
528 since all communications are encrypted, the password cannot be seen by
529 someone listening on the network.
530
531 ssh automatically maintains and checks a database containing
532 identification for all hosts it has ever been used with. Host keys are
533 stored in ~/.ssh/known_hosts in the user's home directory. Additionally,
534 the file /etc/ssh/ssh_known_hosts is automatically checked for known
535 hosts. Any new hosts are automatically added to the user's file. If a
536 host's identification ever changes, ssh warns about this and disables
537 password authentication to prevent server spoofing or man-in-the-middle
538 attacks, which could otherwise be used to circumvent the encryption. The
539 StrictHostKeyChecking option can be used to control logins to machines
540 whose host key is not known or has changed.
541
542 When the user's identity has been accepted by the server, the server
543 either executes the given command in a non-interactive session or, if no
544 command has been specified, logs into the machine and gives the user a
545 normal shell as an interactive session. All communication with the
546 remote command or shell will be automatically encrypted.
547
548 If an interactive session is requested ssh by default will only request a
549 pseudo-terminal (pty) for interactive sessions when the client has one.
550 The flags -T and -t can be used to override this behaviour.
551
552 If a pseudo-terminal has been allocated the user may use the escape
553 characters noted below.
554
555 If no pseudo-terminal has been allocated, the session is transparent and
556 can be used to reliably transfer binary data. On most systems, setting
557 the escape character to M-bM-^@M-^\noneM-bM-^@M-^] will also make the session transparent
558 even if a tty is used.
559
560 The session terminates when the command or shell on the remote machine
561 exits and all X11 and TCP connections have been closed.
562
563ESCAPE CHARACTERS
564 When a pseudo-terminal has been requested, ssh supports a number of
565 functions through the use of an escape character.
566
567 A single tilde character can be sent as ~~ or by following the tilde by a
568 character other than those described below. The escape character must
569 always follow a newline to be interpreted as special. The escape
570 character can be changed in configuration files using the EscapeChar
571 configuration directive or on the command line by the -e option.
572
573 The supported escapes (assuming the default M-bM-^@M-^X~M-bM-^@M-^Y) are:
574
575 ~. Disconnect.
576
577 ~^Z Background ssh.
578
579 ~# List forwarded connections.
580
581 ~& Background ssh at logout when waiting for forwarded connection /
582 X11 sessions to terminate.
583
584 ~? Display a list of escape characters.
585
586 ~B Send a BREAK to the remote system (only useful if the peer
587 supports it).
588
589 ~C Open command line. Currently this allows the addition of port
590 forwardings using the -L, -R and -D options (see above). It also
591 allows the cancellation of existing port-forwardings with
592 -KL[bind_address:]port for local, -KR[bind_address:]port for
593 remote and -KD[bind_address:]port for dynamic port-forwardings.
594 !command allows the user to execute a local command if the
595 PermitLocalCommand option is enabled in ssh_config(5). Basic
596 help is available, using the -h option.
597
598 ~R Request rekeying of the connection (only useful if the peer
599 supports it).
600
601 ~V Decrease the verbosity (LogLevel) when errors are being written
602 to stderr.
603
604 ~v Increase the verbosity (LogLevel) when errors are being written
605 to stderr.
606
607TCP FORWARDING
608 Forwarding of arbitrary TCP connections over a secure channel can be
609 specified either on the command line or in a configuration file. One
610 possible application of TCP forwarding is a secure connection to a mail
611 server; another is going through firewalls.
612
613 In the example below, we look at encrypting communication for an IRC
614 client, even though the IRC server it connects to does not directly
615 support encrypted communication. This works as follows: the user
616 connects to the remote host using ssh, specifying the ports to be used to
617 forward the connection. After that it is possible to start the program
618 locally, and ssh will encrypt and forward the connection to the remote
619 server.
620
621 The following example tunnels an IRC session from the client to an IRC
622 server at M-bM-^@M-^\server.example.comM-bM-^@M-^], joining channel M-bM-^@M-^\#usersM-bM-^@M-^], nickname
623 M-bM-^@M-^\pinkyM-bM-^@M-^], using the standard IRC port, 6667:
624
625 $ ssh -f -L 6667:localhost:6667 server.example.com sleep 10
626 $ irc -c '#users' pinky IRC/127.0.0.1
627
628 The -f option backgrounds ssh and the remote command M-bM-^@M-^\sleep 10M-bM-^@M-^] is
629 specified to allow an amount of time (10 seconds, in the example) to
630 start the program which is going to use the tunnel. If no connections
631 are made within the time specified, ssh will exit.
632
633X11 FORWARDING
634 If the ForwardX11 variable is set to M-bM-^@M-^\yesM-bM-^@M-^] (or see the description of the
635 -X, -x, and -Y options above) and the user is using X11 (the DISPLAY
636 environment variable is set), the connection to the X11 display is
637 automatically forwarded to the remote side in such a way that any X11
638 programs started from the shell (or command) will go through the
639 encrypted channel, and the connection to the real X server will be made
640 from the local machine. The user should not manually set DISPLAY.
641 Forwarding of X11 connections can be configured on the command line or in
642 configuration files.
643
644 The DISPLAY value set by ssh will point to the server machine, but with a
645 display number greater than zero. This is normal, and happens because
646 ssh creates a M-bM-^@M-^\proxyM-bM-^@M-^] X server on the server machine for forwarding the
647 connections over the encrypted channel.
648
649 ssh will also automatically set up Xauthority data on the server machine.
650 For this purpose, it will generate a random authorization cookie, store
651 it in Xauthority on the server, and verify that any forwarded connections
652 carry this cookie and replace it by the real cookie when the connection
653 is opened. The real authentication cookie is never sent to the server
654 machine (and no cookies are sent in the plain).
655
656 If the ForwardAgent variable is set to M-bM-^@M-^\yesM-bM-^@M-^] (or see the description of
657 the -A and -a options above) and the user is using an authentication
658 agent, the connection to the agent is automatically forwarded to the
659 remote side.
660
661VERIFYING HOST KEYS
662 When connecting to a server for the first time, a fingerprint of the
663 server's public key is presented to the user (unless the option
664 StrictHostKeyChecking has been disabled). Fingerprints can be determined
665 using ssh-keygen(1):
666
667 $ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
668
669 If the fingerprint is already known, it can be matched and the key can be
670 accepted or rejected. If only legacy (MD5) fingerprints for the server
671 are available, the ssh-keygen(1) -E option may be used to downgrade the
672 fingerprint algorithm to match.
673
674 Because of the difficulty of comparing host keys just by looking at
675 fingerprint strings, there is also support to compare host keys visually,
676 using random art. By setting the VisualHostKey option to M-bM-^@M-^\yesM-bM-^@M-^], a small
677 ASCII graphic gets displayed on every login to a server, no matter if the
678 session itself is interactive or not. By learning the pattern a known
679 server produces, a user can easily find out that the host key has changed
680 when a completely different pattern is displayed. Because these patterns
681 are not unambiguous however, a pattern that looks similar to the pattern
682 remembered only gives a good probability that the host key is the same,
683 not guaranteed proof.
684
685 To get a listing of the fingerprints along with their random art for all
686 known hosts, the following command line can be used:
687
688 $ ssh-keygen -lv -f ~/.ssh/known_hosts
689
690 If the fingerprint is unknown, an alternative method of verification is
691 available: SSH fingerprints verified by DNS. An additional resource
692 record (RR), SSHFP, is added to a zonefile and the connecting client is
693 able to match the fingerprint with that of the key presented.
694
695 In this example, we are connecting a client to a server,
696 M-bM-^@M-^\host.example.comM-bM-^@M-^]. The SSHFP resource records should first be added to
697 the zonefile for host.example.com:
698
699 $ ssh-keygen -r host.example.com.
700
701 The output lines will have to be added to the zonefile. To check that
702 the zone is answering fingerprint queries:
703
704 $ dig -t SSHFP host.example.com
705
706 Finally the client connects:
707
708 $ ssh -o "VerifyHostKeyDNS ask" host.example.com
709 [...]
710 Matching host key fingerprint found in DNS.
711 Are you sure you want to continue connecting (yes/no)?
712
713 See the VerifyHostKeyDNS option in ssh_config(5) for more information.
714
715SSH-BASED VIRTUAL PRIVATE NETWORKS
716 ssh contains support for Virtual Private Network (VPN) tunnelling using
717 the tun(4) network pseudo-device, allowing two networks to be joined
718 securely. The sshd_config(5) configuration option PermitTunnel controls
719 whether the server supports this, and at what level (layer 2 or 3
720 traffic).
721
722 The following example would connect client network 10.0.50.0/24 with
723 remote network 10.0.99.0/24 using a point-to-point connection from
724 10.1.1.1 to 10.1.1.2, provided that the SSH server running on the gateway
725 to the remote network, at 192.168.1.15, allows it.
726
727 On the client:
728
729 # ssh -f -w 0:1 192.168.1.15 true
730 # ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252
731 # route add 10.0.99.0/24 10.1.1.2
732
733 On the server:
734
735 # ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252
736 # route add 10.0.50.0/24 10.1.1.1
737
738 Client access may be more finely tuned via the /root/.ssh/authorized_keys
739 file (see below) and the PermitRootLogin server option. The following
740 entry would permit connections on tun(4) device 1 from user M-bM-^@M-^\janeM-bM-^@M-^] and on
741 tun device 2 from user M-bM-^@M-^\johnM-bM-^@M-^], if PermitRootLogin is set to
742 M-bM-^@M-^\forced-commands-onlyM-bM-^@M-^]:
743
744 tunnel="1",command="sh /etc/netstart tun1" ssh-rsa ... jane
745 tunnel="2",command="sh /etc/netstart tun2" ssh-rsa ... john
746
747 Since an SSH-based setup entails a fair amount of overhead, it may be
748 more suited to temporary setups, such as for wireless VPNs. More
749 permanent VPNs are better provided by tools such as ipsecctl(8) and
750 isakmpd(8).
751
752ENVIRONMENT
753 ssh will normally set the following environment variables:
754
755 DISPLAY The DISPLAY variable indicates the location of the
756 X11 server. It is automatically set by ssh to
757 point to a value of the form M-bM-^@M-^\hostname:nM-bM-^@M-^], where
758 M-bM-^@M-^\hostnameM-bM-^@M-^] indicates the host where the shell runs,
759 and M-bM-^@M-^XnM-bM-^@M-^Y is an integer M-bM-^IM-% 1. ssh uses this special
760 value to forward X11 connections over the secure
761 channel. The user should normally not set DISPLAY
762 explicitly, as that will render the X11 connection
763 insecure (and will require the user to manually
764 copy any required authorization cookies).
765
766 HOME Set to the path of the user's home directory.
767
768 LOGNAME Synonym for USER; set for compatibility with
769 systems that use this variable.
770
771 MAIL Set to the path of the user's mailbox.
772
773 PATH Set to the default PATH, as specified when
774 compiling ssh.
775
776 SSH_ASKPASS If ssh needs a passphrase, it will read the
777 passphrase from the current terminal if it was run
778 from a terminal. If ssh does not have a terminal
779 associated with it but DISPLAY and SSH_ASKPASS are
780 set, it will execute the program specified by
781 SSH_ASKPASS and open an X11 window to read the
782 passphrase. This is particularly useful when
783 calling ssh from a .xsession or related script.
784 (Note that on some machines it may be necessary to
785 redirect the input from /dev/null to make this
786 work.)
787
788 SSH_AUTH_SOCK Identifies the path of a UNIX-domain socket used to
789 communicate with the agent.
790
791 SSH_CONNECTION Identifies the client and server ends of the
792 connection. The variable contains four space-
793 separated values: client IP address, client port
794 number, server IP address, and server port number.
795
796 SSH_ORIGINAL_COMMAND This variable contains the original command line if
797 a forced command is executed. It can be used to
798 extract the original arguments.
799
800 SSH_TTY This is set to the name of the tty (path to the
801 device) associated with the current shell or
802 command. If the current session has no tty, this
803 variable is not set.
804
805 SSH_TUNNEL Optionally set by sshd(8) to contain the interface
806 names assigned if tunnel forwarding was requested
807 by the client.
808
809 SSH_USER_AUTH Optionally set by sshd(8), this variable may
810 contain a pathname to a file that lists the
811 authentication methods successfully used when the
812 session was established, including any public keys
813 that were used.
814
815 TZ This variable is set to indicate the present time
816 zone if it was set when the daemon was started
817 (i.e. the daemon passes the value on to new
818 connections).
819
820 USER Set to the name of the user logging in.
821
822 Additionally, ssh reads ~/.ssh/environment, and adds lines of the format
823 M-bM-^@M-^\VARNAME=valueM-bM-^@M-^] to the environment if the file exists and users are
824 allowed to change their environment. For more information, see the
825 PermitUserEnvironment option in sshd_config(5).
826
827FILES
828 ~/.rhosts
829 This file is used for host-based authentication (see above). On
830 some machines this file may need to be world-readable if the
831 user's home directory is on an NFS partition, because sshd(8)
832 reads it as root. Additionally, this file must be owned by the
833 user, and must not have write permissions for anyone else. The
834 recommended permission for most machines is read/write for the
835 user, and not accessible by others.
836
837 ~/.shosts
838 This file is used in exactly the same way as .rhosts, but allows
839 host-based authentication without permitting login with
840 rlogin/rsh.
841
842 ~/.ssh/
843 This directory is the default location for all user-specific
844 configuration and authentication information. There is no
845 general requirement to keep the entire contents of this directory
846 secret, but the recommended permissions are read/write/execute
847 for the user, and not accessible by others.
848
849 ~/.ssh/authorized_keys
850 Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
851 for logging in as this user. The format of this file is
852 described in the sshd(8) manual page. This file is not highly
853 sensitive, but the recommended permissions are read/write for the
854 user, and not accessible by others.
855
856 ~/.ssh/config
857 This is the per-user configuration file. The file format and
858 configuration options are described in ssh_config(5). Because of
859 the potential for abuse, this file must have strict permissions:
860 read/write for the user, and not writable by others.
861
862 ~/.ssh/environment
863 Contains additional definitions for environment variables; see
864 ENVIRONMENT, above.
865
866 ~/.ssh/id_dsa
867 ~/.ssh/id_ecdsa
868 ~/.ssh/id_ecdsa_sk
869 ~/.ssh/id_ed25519
870 ~/.ssh/id_ed25519_sk
871 ~/.ssh/id_rsa
872 Contains the private key for authentication. These files contain
873 sensitive data and should be readable by the user but not
874 accessible by others (read/write/execute). ssh will simply
875 ignore a private key file if it is accessible by others. It is
876 possible to specify a passphrase when generating the key which
877 will be used to encrypt the sensitive part of this file using
878 AES-128.
879
880 ~/.ssh/id_dsa.pub
881 ~/.ssh/id_ecdsa.pub
882 ~/.ssh/id_ecdsa_sk.pub
883 ~/.ssh/id_ed25519.pub
884 ~/.ssh/id_ed25519_sk.pub
885 ~/.ssh/id_rsa.pub
886 Contains the public key for authentication. These files are not
887 sensitive and can (but need not) be readable by anyone.
888
889 ~/.ssh/known_hosts
890 Contains a list of host keys for all hosts the user has logged
891 into that are not already in the systemwide list of known host
892 keys. See sshd(8) for further details of the format of this
893 file.
894
895 ~/.ssh/rc
896 Commands in this file are executed by ssh when the user logs in,
897 just before the user's shell (or command) is started. See the
898 sshd(8) manual page for more information.
899
900 /etc/hosts.equiv
901 This file is for host-based authentication (see above). It
902 should only be writable by root.
903
904 /etc/shosts.equiv
905 This file is used in exactly the same way as hosts.equiv, but
906 allows host-based authentication without permitting login with
907 rlogin/rsh.
908
909 /etc/ssh/ssh_config
910 Systemwide configuration file. The file format and configuration
911 options are described in ssh_config(5).
912
913 /etc/ssh/ssh_host_key
914 /etc/ssh/ssh_host_dsa_key
915 /etc/ssh/ssh_host_ecdsa_key
916 /etc/ssh/ssh_host_ed25519_key
917 /etc/ssh/ssh_host_rsa_key
918 These files contain the private parts of the host keys and are
919 used for host-based authentication.
920
921 /etc/ssh/ssh_known_hosts
922 Systemwide list of known host keys. This file should be prepared
923 by the system administrator to contain the public host keys of
924 all machines in the organization. It should be world-readable.
925 See sshd(8) for further details of the format of this file.
926
927 /etc/ssh/sshrc
928 Commands in this file are executed by ssh when the user logs in,
929 just before the user's shell (or command) is started. See the
930 sshd(8) manual page for more information.
931
932EXIT STATUS
933 ssh exits with the exit status of the remote command or with 255 if an
934 error occurred.
935
936SEE ALSO
937 scp(1), sftp(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh-keyscan(1),
938 tun(4), ssh_config(5), ssh-keysign(8), sshd(8)
939
940STANDARDS
941 S. Lehtinen and C. Lonvick, The Secure Shell (SSH) Protocol Assigned
942 Numbers, RFC 4250, January 2006.
943
944 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Protocol Architecture,
945 RFC 4251, January 2006.
946
947 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Authentication Protocol,
948 RFC 4252, January 2006.
949
950 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Transport Layer
951 Protocol, RFC 4253, January 2006.
952
953 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Connection Protocol, RFC
954 4254, January 2006.
955
956 J. Schlyter and W. Griffin, Using DNS to Securely Publish Secure Shell
957 (SSH) Key Fingerprints, RFC 4255, January 2006.
958
959 F. Cusack and M. Forssen, Generic Message Exchange Authentication for the
960 Secure Shell Protocol (SSH), RFC 4256, January 2006.
961
962 J. Galbraith and P. Remaker, The Secure Shell (SSH) Session Channel Break
963 Extension, RFC 4335, January 2006.
964
965 M. Bellare, T. Kohno, and C. Namprempre, The Secure Shell (SSH) Transport
966 Layer Encryption Modes, RFC 4344, January 2006.
967
968 B. Harris, Improved Arcfour Modes for the Secure Shell (SSH) Transport
969 Layer Protocol, RFC 4345, January 2006.
970
971 M. Friedl, N. Provos, and W. Simpson, Diffie-Hellman Group Exchange for
972 the Secure Shell (SSH) Transport Layer Protocol, RFC 4419, March 2006.
973
974 J. Galbraith and R. Thayer, The Secure Shell (SSH) Public Key File
975 Format, RFC 4716, November 2006.
976
977 D. Stebila and J. Green, Elliptic Curve Algorithm Integration in the
978 Secure Shell Transport Layer, RFC 5656, December 2009.
979
980 A. Perrig and D. Song, Hash Visualization: a New Technique to improve
981 Real-World Security, 1999, International Workshop on Cryptographic
982 Techniques and E-Commerce (CrypTEC '99).
983
984AUTHORS
985 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
986 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
987 de Raadt and Dug Song removed many bugs, re-added newer features and
988 created OpenSSH. Markus Friedl contributed the support for SSH protocol
989 versions 1.5 and 2.0.
990
991OpenBSD 6.6 February 7, 2020 OpenBSD 6.6
diff --git a/ssh_config.0 b/ssh_config.0
new file mode 100644
index 000000000..692e5f6d5
--- /dev/null
+++ b/ssh_config.0
@@ -0,0 +1,1170 @@
1SSH_CONFIG(5) File Formats Manual SSH_CONFIG(5)
2
3NAME
4 ssh_config M-bM-^@M-^S OpenSSH client configuration file
5
6DESCRIPTION
7 ssh(1) obtains configuration data from the following sources in the
8 following order:
9
10 1. command-line options
11 2. user's configuration file (~/.ssh/config)
12 3. system-wide configuration file (/etc/ssh/ssh_config)
13
14 For each parameter, the first obtained value will be used. The
15 configuration files contain sections separated by Host specifications,
16 and that section is only applied for hosts that match one of the patterns
17 given in the specification. The matched host name is usually the one
18 given on the command line (see the CanonicalizeHostname option for
19 exceptions).
20
21 Since the first obtained value for each parameter is used, more host-
22 specific declarations should be given near the beginning of the file, and
23 general defaults at the end.
24
25 The file contains keyword-argument pairs, one per line. Lines starting
26 with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are interpreted as comments. Arguments may
27 optionally be enclosed in double quotes (") in order to represent
28 arguments containing spaces. Configuration options may be separated by
29 whitespace or optional whitespace and exactly one M-bM-^@M-^X=M-bM-^@M-^Y; the latter format
30 is useful to avoid the need to quote whitespace when specifying
31 configuration options using the ssh, scp, and sftp -o option.
32
33 The possible keywords and their meanings are as follows (note that
34 keywords are case-insensitive and arguments are case-sensitive):
35
36 Host Restricts the following declarations (up to the next Host or
37 Match keyword) to be only for those hosts that match one of the
38 patterns given after the keyword. If more than one pattern is
39 provided, they should be separated by whitespace. A single M-bM-^@M-^X*M-bM-^@M-^Y
40 as a pattern can be used to provide global defaults for all
41 hosts. The host is usually the hostname argument given on the
42 command line (see the CanonicalizeHostname keyword for
43 exceptions).
44
45 A pattern entry may be negated by prefixing it with an
46 exclamation mark (M-bM-^@M-^X!M-bM-^@M-^Y). If a negated entry is matched, then the
47 Host entry is ignored, regardless of whether any other patterns
48 on the line match. Negated matches are therefore useful to
49 provide exceptions for wildcard matches.
50
51 See PATTERNS for more information on patterns.
52
53 Match Restricts the following declarations (up to the next Host or
54 Match keyword) to be used only when the conditions following the
55 Match keyword are satisfied. Match conditions are specified
56 using one or more criteria or the single token all which always
57 matches. The available criteria keywords are: canonical, final,
58 exec, host, originalhost, user, and localuser. The all criteria
59 must appear alone or immediately after canonical or final. Other
60 criteria may be combined arbitrarily. All criteria but all,
61 canonical, and final require an argument. Criteria may be
62 negated by prepending an exclamation mark (M-bM-^@M-^X!M-bM-^@M-^Y).
63
64 The canonical keyword matches only when the configuration file is
65 being re-parsed after hostname canonicalization (see the
66 CanonicalizeHostname option). This may be useful to specify
67 conditions that work with canonical host names only.
68
69 The final keyword requests that the configuration be re-parsed
70 (regardless of whether CanonicalizeHostname is enabled), and
71 matches only during this final pass. If CanonicalizeHostname is
72 enabled, then canonical and final match during the same pass.
73
74 The exec keyword executes the specified command under the user's
75 shell. If the command returns a zero exit status then the
76 condition is considered true. Commands containing whitespace
77 characters must be quoted. Arguments to exec accept the tokens
78 described in the TOKENS section.
79
80 The other keywords' criteria must be single entries or comma-
81 separated lists and may use the wildcard and negation operators
82 described in the PATTERNS section. The criteria for the host
83 keyword are matched against the target hostname, after any
84 substitution by the Hostname or CanonicalizeHostname options.
85 The originalhost keyword matches against the hostname as it was
86 specified on the command-line. The user keyword matches against
87 the target username on the remote host. The localuser keyword
88 matches against the name of the local user running ssh(1) (this
89 keyword may be useful in system-wide ssh_config files).
90
91 AddKeysToAgent
92 Specifies whether keys should be automatically added to a running
93 ssh-agent(1). If this option is set to yes and a key is loaded
94 from a file, the key and its passphrase are added to the agent
95 with the default lifetime, as if by ssh-add(1). If this option
96 is set to ask, ssh(1) will require confirmation using the
97 SSH_ASKPASS program before adding a key (see ssh-add(1) for
98 details). If this option is set to confirm, each use of the key
99 must be confirmed, as if the -c option was specified to
100 ssh-add(1). If this option is set to no, no keys are added to
101 the agent. The argument must be yes, confirm, ask, or no (the
102 default).
103
104 AddressFamily
105 Specifies which address family to use when connecting. Valid
106 arguments are any (the default), inet (use IPv4 only), or inet6
107 (use IPv6 only).
108
109 BatchMode
110 If set to yes, user interaction such as password prompts and host
111 key confirmation requests will be disabled. This option is
112 useful in scripts and other batch jobs where no user is present
113 to interact with ssh(1). The argument must be yes or no (the
114 default).
115
116 BindAddress
117 Use the specified address on the local machine as the source
118 address of the connection. Only useful on systems with more than
119 one address.
120
121 BindInterface
122 Use the address of the specified interface on the local machine
123 as the source address of the connection.
124
125 CanonicalDomains
126 When CanonicalizeHostname is enabled, this option specifies the
127 list of domain suffixes in which to search for the specified
128 destination host.
129
130 CanonicalizeFallbackLocal
131 Specifies whether to fail with an error when hostname
132 canonicalization fails. The default, yes, will attempt to look
133 up the unqualified hostname using the system resolver's search
134 rules. A value of no will cause ssh(1) to fail instantly if
135 CanonicalizeHostname is enabled and the target hostname cannot be
136 found in any of the domains specified by CanonicalDomains.
137
138 CanonicalizeHostname
139 Controls whether explicit hostname canonicalization is performed.
140 The default, no, is not to perform any name rewriting and let the
141 system resolver handle all hostname lookups. If set to yes then,
142 for connections that do not use a ProxyCommand or ProxyJump,
143 ssh(1) will attempt to canonicalize the hostname specified on the
144 command line using the CanonicalDomains suffixes and
145 CanonicalizePermittedCNAMEs rules. If CanonicalizeHostname is
146 set to always, then canonicalization is applied to proxied
147 connections too.
148
149 If this option is enabled, then the configuration files are
150 processed again using the new target name to pick up any new
151 configuration in matching Host and Match stanzas.
152
153 CanonicalizeMaxDots
154 Specifies the maximum number of dot characters in a hostname
155 before canonicalization is disabled. The default, 1, allows a
156 single dot (i.e. hostname.subdomain).
157
158 CanonicalizePermittedCNAMEs
159 Specifies rules to determine whether CNAMEs should be followed
160 when canonicalizing hostnames. The rules consist of one or more
161 arguments of source_domain_list:target_domain_list, where
162 source_domain_list is a pattern-list of domains that may follow
163 CNAMEs in canonicalization, and target_domain_list is a pattern-
164 list of domains that they may resolve to.
165
166 For example, "*.a.example.com:*.b.example.com,*.c.example.com"
167 will allow hostnames matching "*.a.example.com" to be
168 canonicalized to names in the "*.b.example.com" or
169 "*.c.example.com" domains.
170
171 CASignatureAlgorithms
172 Specifies which algorithms are allowed for signing of
173 certificates by certificate authorities (CAs). The default is:
174
175 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
176 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
177
178 ssh(1) will not accept host certificates signed using algorithms
179 other than those specified.
180
181 CertificateFile
182 Specifies a file from which the user's certificate is read. A
183 corresponding private key must be provided separately in order to
184 use this certificate either from an IdentityFile directive or -i
185 flag to ssh(1), via ssh-agent(1), or via a PKCS11Provider or
186 SecurityKeyProvider.
187
188 Arguments to CertificateFile may use the tilde syntax to refer to
189 a user's home directory or the tokens described in the TOKENS
190 section.
191
192 It is possible to have multiple certificate files specified in
193 configuration files; these certificates will be tried in
194 sequence. Multiple CertificateFile directives will add to the
195 list of certificates used for authentication.
196
197 ChallengeResponseAuthentication
198 Specifies whether to use challenge-response authentication. The
199 argument to this keyword must be yes (the default) or no.
200
201 CheckHostIP
202 If set to yes (the default), ssh(1) will additionally check the
203 host IP address in the known_hosts file. This allows it to
204 detect if a host key changed due to DNS spoofing and will add
205 addresses of destination hosts to ~/.ssh/known_hosts in the
206 process, regardless of the setting of StrictHostKeyChecking. If
207 the option is set to no, the check will not be executed.
208
209 Ciphers
210 Specifies the ciphers allowed and their order of preference.
211 Multiple ciphers must be comma-separated. If the specified list
212 begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified ciphers will be
213 appended to the default set instead of replacing them. If the
214 specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified
215 ciphers (including wildcards) will be removed from the default
216 set instead of replacing them. If the specified list begins with
217 a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified ciphers will be placed at the
218 head of the default set.
219
220 The supported ciphers are:
221
222 3des-cbc
223 aes128-cbc
224 aes192-cbc
225 aes256-cbc
226 aes128-ctr
227 aes192-ctr
228 aes256-ctr
229 aes128-gcm@openssh.com
230 aes256-gcm@openssh.com
231 chacha20-poly1305@openssh.com
232
233 The default is:
234
235 chacha20-poly1305@openssh.com,
236 aes128-ctr,aes192-ctr,aes256-ctr,
237 aes128-gcm@openssh.com,aes256-gcm@openssh.com
238
239 The list of available ciphers may also be obtained using "ssh -Q
240 cipher".
241
242 ClearAllForwardings
243 Specifies that all local, remote, and dynamic port forwardings
244 specified in the configuration files or on the command line be
245 cleared. This option is primarily useful when used from the
246 ssh(1) command line to clear port forwardings set in
247 configuration files, and is automatically set by scp(1) and
248 sftp(1). The argument must be yes or no (the default).
249
250 Compression
251 Specifies whether to use compression. The argument must be yes
252 or no (the default).
253
254 ConnectionAttempts
255 Specifies the number of tries (one per second) to make before
256 exiting. The argument must be an integer. This may be useful in
257 scripts if the connection sometimes fails. The default is 1.
258
259 ConnectTimeout
260 Specifies the timeout (in seconds) used when connecting to the
261 SSH server, instead of using the default system TCP timeout.
262 This timeout is applied both to establishing the connection and
263 to performing the initial SSH protocol handshake and key
264 exchange.
265
266 ControlMaster
267 Enables the sharing of multiple sessions over a single network
268 connection. When set to yes, ssh(1) will listen for connections
269 on a control socket specified using the ControlPath argument.
270 Additional sessions can connect to this socket using the same
271 ControlPath with ControlMaster set to no (the default). These
272 sessions will try to reuse the master instance's network
273 connection rather than initiating new ones, but will fall back to
274 connecting normally if the control socket does not exist, or is
275 not listening.
276
277 Setting this to ask will cause ssh(1) to listen for control
278 connections, but require confirmation using ssh-askpass(1). If
279 the ControlPath cannot be opened, ssh(1) will continue without
280 connecting to a master instance.
281
282 X11 and ssh-agent(1) forwarding is supported over these
283 multiplexed connections, however the display and agent forwarded
284 will be the one belonging to the master connection i.e. it is not
285 possible to forward multiple displays or agents.
286
287 Two additional options allow for opportunistic multiplexing: try
288 to use a master connection but fall back to creating a new one if
289 one does not already exist. These options are: auto and autoask.
290 The latter requires confirmation like the ask option.
291
292 ControlPath
293 Specify the path to the control socket used for connection
294 sharing as described in the ControlMaster section above or the
295 string none to disable connection sharing. Arguments to
296 ControlPath may use the tilde syntax to refer to a user's home
297 directory or the tokens described in the TOKENS section. It is
298 recommended that any ControlPath used for opportunistic
299 connection sharing include at least %h, %p, and %r (or
300 alternatively %C) and be placed in a directory that is not
301 writable by other users. This ensures that shared connections
302 are uniquely identified.
303
304 ControlPersist
305 When used in conjunction with ControlMaster, specifies that the
306 master connection should remain open in the background (waiting
307 for future client connections) after the initial client
308 connection has been closed. If set to no (the default), then the
309 master connection will not be placed into the background, and
310 will close as soon as the initial client connection is closed.
311 If set to yes or 0, then the master connection will remain in the
312 background indefinitely (until killed or closed via a mechanism
313 such as the "ssh -O exit"). If set to a time in seconds, or a
314 time in any of the formats documented in sshd_config(5), then the
315 backgrounded master connection will automatically terminate after
316 it has remained idle (with no client connections) for the
317 specified time.
318
319 DynamicForward
320 Specifies that a TCP port on the local machine be forwarded over
321 the secure channel, and the application protocol is then used to
322 determine where to connect to from the remote machine.
323
324 The argument must be [bind_address:]port. IPv6 addresses can be
325 specified by enclosing addresses in square brackets. By default,
326 the local port is bound in accordance with the GatewayPorts
327 setting. However, an explicit bind_address may be used to bind
328 the connection to a specific address. The bind_address of
329 localhost indicates that the listening port be bound for local
330 use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port
331 should be available from all interfaces.
332
333 Currently the SOCKS4 and SOCKS5 protocols are supported, and
334 ssh(1) will act as a SOCKS server. Multiple forwardings may be
335 specified, and additional forwardings can be given on the command
336 line. Only the superuser can forward privileged ports.
337
338 EnableSSHKeysign
339 Setting this option to yes in the global client configuration
340 file /etc/ssh/ssh_config enables the use of the helper program
341 ssh-keysign(8) during HostbasedAuthentication. The argument must
342 be yes or no (the default). This option should be placed in the
343 non-hostspecific section. See ssh-keysign(8) for more
344 information.
345
346 EscapeChar
347 Sets the escape character (default: M-bM-^@M-^X~M-bM-^@M-^Y). The escape character
348 can also be set on the command line. The argument should be a
349 single character, M-bM-^@M-^X^M-bM-^@M-^Y followed by a letter, or none to disable
350 the escape character entirely (making the connection transparent
351 for binary data).
352
353 ExitOnForwardFailure
354 Specifies whether ssh(1) should terminate the connection if it
355 cannot set up all requested dynamic, tunnel, local, and remote
356 port forwardings, (e.g. if either end is unable to bind and
357 listen on a specified port). Note that ExitOnForwardFailure does
358 not apply to connections made over port forwardings and will not,
359 for example, cause ssh(1) to exit if TCP connections to the
360 ultimate forwarding destination fail. The argument must be yes
361 or no (the default).
362
363 FingerprintHash
364 Specifies the hash algorithm used when displaying key
365 fingerprints. Valid options are: md5 and sha256 (the default).
366
367 ForwardAgent
368 Specifies whether the connection to the authentication agent (if
369 any) will be forwarded to the remote machine. The argument may
370 be yes, no (the default), an explicit path to an agent socket or
371 the name of an environment variable (beginning with M-bM-^@M-^X$M-bM-^@M-^Y) in which
372 to find the path.
373
374 Agent forwarding should be enabled with caution. Users with the
375 ability to bypass file permissions on the remote host (for the
376 agent's Unix-domain socket) can access the local agent through
377 the forwarded connection. An attacker cannot obtain key material
378 from the agent, however they can perform operations on the keys
379 that enable them to authenticate using the identities loaded into
380 the agent.
381
382 ForwardX11
383 Specifies whether X11 connections will be automatically
384 redirected over the secure channel and DISPLAY set. The argument
385 must be yes or no (the default).
386
387 X11 forwarding should be enabled with caution. Users with the
388 ability to bypass file permissions on the remote host (for the
389 user's X11 authorization database) can access the local X11
390 display through the forwarded connection. An attacker may then
391 be able to perform activities such as keystroke monitoring if the
392 ForwardX11Trusted option is also enabled.
393
394 ForwardX11Timeout
395 Specify a timeout for untrusted X11 forwarding using the format
396 described in the TIME FORMATS section of sshd_config(5). X11
397 connections received by ssh(1) after this time will be refused.
398 Setting ForwardX11Timeout to zero will disable the timeout and
399 permit X11 forwarding for the life of the connection. The
400 default is to disable untrusted X11 forwarding after twenty
401 minutes has elapsed.
402
403 ForwardX11Trusted
404 If this option is set to yes, remote X11 clients will have full
405 access to the original X11 display.
406
407 If this option is set to no (the default), remote X11 clients
408 will be considered untrusted and prevented from stealing or
409 tampering with data belonging to trusted X11 clients.
410 Furthermore, the xauth(1) token used for the session will be set
411 to expire after 20 minutes. Remote clients will be refused
412 access after this time.
413
414 See the X11 SECURITY extension specification for full details on
415 the restrictions imposed on untrusted clients.
416
417 GatewayPorts
418 Specifies whether remote hosts are allowed to connect to local
419 forwarded ports. By default, ssh(1) binds local port forwardings
420 to the loopback address. This prevents other remote hosts from
421 connecting to forwarded ports. GatewayPorts can be used to
422 specify that ssh should bind local port forwardings to the
423 wildcard address, thus allowing remote hosts to connect to
424 forwarded ports. The argument must be yes or no (the default).
425
426 GlobalKnownHostsFile
427 Specifies one or more files to use for the global host key
428 database, separated by whitespace. The default is
429 /etc/ssh/ssh_known_hosts, /etc/ssh/ssh_known_hosts2.
430
431 GSSAPIAuthentication
432 Specifies whether user authentication based on GSSAPI is allowed.
433 The default is no.
434
435 GSSAPIDelegateCredentials
436 Forward (delegate) credentials to the server. The default is no.
437
438 HashKnownHosts
439 Indicates that ssh(1) should hash host names and addresses when
440 they are added to ~/.ssh/known_hosts. These hashed names may be
441 used normally by ssh(1) and sshd(8), but they do not visually
442 reveal identifying information if the file's contents are
443 disclosed. The default is no. Note that existing names and
444 addresses in known hosts files will not be converted
445 automatically, but may be manually hashed using ssh-keygen(1).
446
447 HostbasedAuthentication
448 Specifies whether to try rhosts based authentication with public
449 key authentication. The argument must be yes or no (the
450 default).
451
452 HostbasedKeyTypes
453 Specifies the key types that will be used for hostbased
454 authentication as a comma-separated list of patterns.
455 Alternately if the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
456 then the specified key types will be appended to the default set
457 instead of replacing them. If the specified list begins with a
458 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
459 will be removed from the default set instead of replacing them.
460 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
461 specified key types will be placed at the head of the default
462 set. The default for this option is:
463
464 ecdsa-sha2-nistp256-cert-v01@openssh.com,
465 ecdsa-sha2-nistp384-cert-v01@openssh.com,
466 ecdsa-sha2-nistp521-cert-v01@openssh.com,
467 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
468 ssh-ed25519-cert-v01@openssh.com,
469 sk-ssh-ed25519-cert-v01@openssh.com,
470 rsa-sha2-512-cert-v01@openssh.com,
471 rsa-sha2-256-cert-v01@openssh.com,
472 ssh-rsa-cert-v01@openssh.com,
473 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
474 sk-ecdsa-sha2-nistp256@openssh.com,
475 ssh-ed25519,sk-ssh-ed25519@openssh.com,
476 rsa-sha2-512,rsa-sha2-256,ssh-rsa
477
478 The -Q option of ssh(1) may be used to list supported key types.
479
480 HostKeyAlgorithms
481 Specifies the host key algorithms that the client wants to use in
482 order of preference. Alternately if the specified list begins
483 with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified key types will be
484 appended to the default set instead of replacing them. If the
485 specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified
486 key types (including wildcards) will be removed from the default
487 set instead of replacing them. If the specified list begins with
488 a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified key types will be placed at
489 the head of the default set. The default for this option is:
490
491 ecdsa-sha2-nistp256-cert-v01@openssh.com,
492 ecdsa-sha2-nistp384-cert-v01@openssh.com,
493 ecdsa-sha2-nistp521-cert-v01@openssh.com,
494 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
495 ssh-ed25519-cert-v01@openssh.com,
496 sk-ssh-ed25519-cert-v01@openssh.com,
497 rsa-sha2-512-cert-v01@openssh.com,
498 rsa-sha2-256-cert-v01@openssh.com,
499 ssh-rsa-cert-v01@openssh.com,
500 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
501 sk-ecdsa-sha2-nistp256@openssh.com,
502 ssh-ed25519,sk-ssh-ed25519@openssh.com,
503 rsa-sha2-512,rsa-sha2-256,ssh-rsa
504
505 If hostkeys are known for the destination host then this default
506 is modified to prefer their algorithms.
507
508 The list of available key types may also be obtained using "ssh
509 -Q HostKeyAlgorithms".
510
511 HostKeyAlias
512 Specifies an alias that should be used instead of the real host
513 name when looking up or saving the host key in the host key
514 database files and when validating host certificates. This
515 option is useful for tunneling SSH connections or for multiple
516 servers running on a single host.
517
518 Hostname
519 Specifies the real host name to log into. This can be used to
520 specify nicknames or abbreviations for hosts. Arguments to
521 Hostname accept the tokens described in the TOKENS section.
522 Numeric IP addresses are also permitted (both on the command line
523 and in Hostname specifications). The default is the name given
524 on the command line.
525
526 IdentitiesOnly
527 Specifies that ssh(1) should only use the configured
528 authentication identity and certificate files (either the default
529 files, or those explicitly configured in the ssh_config files or
530 passed on the ssh(1) command-line), even if ssh-agent(1) or a
531 PKCS11Provider or SecurityKeyProvider offers more identities.
532 The argument to this keyword must be yes or no (the default).
533 This option is intended for situations where ssh-agent offers
534 many different identities.
535
536 IdentityAgent
537 Specifies the UNIX-domain socket used to communicate with the
538 authentication agent.
539
540 This option overrides the SSH_AUTH_SOCK environment variable and
541 can be used to select a specific agent. Setting the socket name
542 to none disables the use of an authentication agent. If the
543 string "SSH_AUTH_SOCK" is specified, the location of the socket
544 will be read from the SSH_AUTH_SOCK environment variable.
545 Otherwise if the specified value begins with a M-bM-^@M-^X$M-bM-^@M-^Y character,
546 then it will be treated as an environment variable containing the
547 location of the socket.
548
549 Arguments to IdentityAgent may use the tilde syntax to refer to a
550 user's home directory or the tokens described in the TOKENS
551 section.
552
553 IdentityFile
554 Specifies a file from which the user's DSA, ECDSA, authenticator-
555 hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA
556 authentication identity is read. The default is ~/.ssh/id_dsa,
557 ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519,
558 ~/.ssh/id_ed25519_sk and ~/.ssh/id_rsa. Additionally, any
559 identities represented by the authentication agent will be used
560 for authentication unless IdentitiesOnly is set. If no
561 certificates have been explicitly specified by CertificateFile,
562 ssh(1) will try to load certificate information from the filename
563 obtained by appending -cert.pub to the path of a specified
564 IdentityFile.
565
566 Arguments to IdentityFile may use the tilde syntax to refer to a
567 user's home directory or the tokens described in the TOKENS
568 section.
569
570 It is possible to have multiple identity files specified in
571 configuration files; all these identities will be tried in
572 sequence. Multiple IdentityFile directives will add to the list
573 of identities tried (this behaviour differs from that of other
574 configuration directives).
575
576 IdentityFile may be used in conjunction with IdentitiesOnly to
577 select which identities in an agent are offered during
578 authentication. IdentityFile may also be used in conjunction
579 with CertificateFile in order to provide any certificate also
580 needed for authentication with the identity.
581
582 IgnoreUnknown
583 Specifies a pattern-list of unknown options to be ignored if they
584 are encountered in configuration parsing. This may be used to
585 suppress errors if ssh_config contains options that are
586 unrecognised by ssh(1). It is recommended that IgnoreUnknown be
587 listed early in the configuration file as it will not be applied
588 to unknown options that appear before it.
589
590 Include
591 Include the specified configuration file(s). Multiple pathnames
592 may be specified and each pathname may contain glob(7) wildcards
593 and, for user configurations, shell-like M-bM-^@M-^X~M-bM-^@M-^Y references to user
594 home directories. Files without absolute paths are assumed to be
595 in ~/.ssh if included in a user configuration file or /etc/ssh if
596 included from the system configuration file. Include directive
597 may appear inside a Match or Host block to perform conditional
598 inclusion.
599
600 IPQoS Specifies the IPv4 type-of-service or DSCP class for connections.
601 Accepted values are af11, af12, af13, af21, af22, af23, af31,
602 af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3, cs4, cs5, cs6,
603 cs7, ef, le, lowdelay, throughput, reliability, a numeric value,
604 or none to use the operating system default. This option may
605 take one or two arguments, separated by whitespace. If one
606 argument is specified, it is used as the packet class
607 unconditionally. If two values are specified, the first is
608 automatically selected for interactive sessions and the second
609 for non-interactive sessions. The default is af21 (Low-Latency
610 Data) for interactive sessions and cs1 (Lower Effort) for non-
611 interactive sessions.
612
613 KbdInteractiveAuthentication
614 Specifies whether to use keyboard-interactive authentication.
615 The argument to this keyword must be yes (the default) or no.
616
617 KbdInteractiveDevices
618 Specifies the list of methods to use in keyboard-interactive
619 authentication. Multiple method names must be comma-separated.
620 The default is to use the server specified list. The methods
621 available vary depending on what the server supports. For an
622 OpenSSH server, it may be zero or more of: bsdauth and pam.
623
624 KexAlgorithms
625 Specifies the available KEX (Key Exchange) algorithms. Multiple
626 algorithms must be comma-separated. If the specified list begins
627 with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified methods will be appended
628 to the default set instead of replacing them. If the specified
629 list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified methods
630 (including wildcards) will be removed from the default set
631 instead of replacing them. If the specified list begins with a
632 M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified methods will be placed at the
633 head of the default set. The default is:
634
635 curve25519-sha256,curve25519-sha256@libssh.org,
636 ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
637 diffie-hellman-group-exchange-sha256,
638 diffie-hellman-group16-sha512,
639 diffie-hellman-group18-sha512,
640 diffie-hellman-group14-sha256
641
642 The list of available key exchange algorithms may also be
643 obtained using "ssh -Q kex".
644
645 LocalCommand
646 Specifies a command to execute on the local machine after
647 successfully connecting to the server. The command string
648 extends to the end of the line, and is executed with the user's
649 shell. Arguments to LocalCommand accept the tokens described in
650 the TOKENS section.
651
652 The command is run synchronously and does not have access to the
653 session of the ssh(1) that spawned it. It should not be used for
654 interactive commands.
655
656 This directive is ignored unless PermitLocalCommand has been
657 enabled.
658
659 LocalForward
660 Specifies that a TCP port on the local machine be forwarded over
661 the secure channel to the specified host and port from the remote
662 machine. The first argument must be [bind_address:]port and the
663 second argument must be host:hostport. IPv6 addresses can be
664 specified by enclosing addresses in square brackets. Multiple
665 forwardings may be specified, and additional forwardings can be
666 given on the command line. Only the superuser can forward
667 privileged ports. By default, the local port is bound in
668 accordance with the GatewayPorts setting. However, an explicit
669 bind_address may be used to bind the connection to a specific
670 address. The bind_address of localhost indicates that the
671 listening port be bound for local use only, while an empty
672 address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from
673 all interfaces.
674
675 LogLevel
676 Gives the verbosity level that is used when logging messages from
677 ssh(1). The possible values are: QUIET, FATAL, ERROR, INFO,
678 VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
679 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
680 higher levels of verbose output.
681
682 MACs Specifies the MAC (message authentication code) algorithms in
683 order of preference. The MAC algorithm is used for data
684 integrity protection. Multiple algorithms must be comma-
685 separated. If the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
686 then the specified algorithms will be appended to the default set
687 instead of replacing them. If the specified list begins with a
688 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified algorithms (including
689 wildcards) will be removed from the default set instead of
690 replacing them. If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y
691 character, then the specified algorithms will be placed at the
692 head of the default set.
693
694 The algorithms that contain "-etm" calculate the MAC after
695 encryption (encrypt-then-mac). These are considered safer and
696 their use recommended.
697
698 The default is:
699
700 umac-64-etm@openssh.com,umac-128-etm@openssh.com,
701 hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
702 hmac-sha1-etm@openssh.com,
703 umac-64@openssh.com,umac-128@openssh.com,
704 hmac-sha2-256,hmac-sha2-512,hmac-sha1
705
706 The list of available MAC algorithms may also be obtained using
707 "ssh -Q mac".
708
709 NoHostAuthenticationForLocalhost
710 Disable host authentication for localhost (loopback addresses).
711 The argument to this keyword must be yes or no (the default).
712
713 NumberOfPasswordPrompts
714 Specifies the number of password prompts before giving up. The
715 argument to this keyword must be an integer. The default is 3.
716
717 PasswordAuthentication
718 Specifies whether to use password authentication. The argument
719 to this keyword must be yes (the default) or no.
720
721 PermitLocalCommand
722 Allow local command execution via the LocalCommand option or
723 using the !command escape sequence in ssh(1). The argument must
724 be yes or no (the default).
725
726 PKCS11Provider
727 Specifies which PKCS#11 provider to use or none to indicate that
728 no provider should be used (the default). The argument to this
729 keyword is a path to the PKCS#11 shared library ssh(1) should use
730 to communicate with a PKCS#11 token providing keys for user
731 authentication.
732
733 Port Specifies the port number to connect on the remote host. The
734 default is 22.
735
736 PreferredAuthentications
737 Specifies the order in which the client should try authentication
738 methods. This allows a client to prefer one method (e.g.
739 keyboard-interactive) over another method (e.g. password). The
740 default is:
741
742 gssapi-with-mic,hostbased,publickey,
743 keyboard-interactive,password
744
745 ProxyCommand
746 Specifies the command to use to connect to the server. The
747 command string extends to the end of the line, and is executed
748 using the user's shell M-bM-^@M-^XexecM-bM-^@M-^Y directive to avoid a lingering
749 shell process.
750
751 Arguments to ProxyCommand accept the tokens described in the
752 TOKENS section. The command can be basically anything, and
753 should read from its standard input and write to its standard
754 output. It should eventually connect an sshd(8) server running
755 on some machine, or execute sshd -i somewhere. Host key
756 management will be done using the Hostname of the host being
757 connected (defaulting to the name typed by the user). Setting
758 the command to none disables this option entirely. Note that
759 CheckHostIP is not available for connects with a proxy command.
760
761 This directive is useful in conjunction with nc(1) and its proxy
762 support. For example, the following directive would connect via
763 an HTTP proxy at 192.0.2.0:
764
765 ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
766
767 ProxyJump
768 Specifies one or more jump proxies as either [user@]host[:port]
769 or an ssh URI. Multiple proxies may be separated by comma
770 characters and will be visited sequentially. Setting this option
771 will cause ssh(1) to connect to the target host by first making a
772 ssh(1) connection to the specified ProxyJump host and then
773 establishing a TCP forwarding to the ultimate target from there.
774
775 Note that this option will compete with the ProxyCommand option -
776 whichever is specified first will prevent later instances of the
777 other from taking effect.
778
779 Note also that the configuration for the destination host (either
780 supplied via the command-line or the configuration file) is not
781 generally applied to jump hosts. ~/.ssh/config should be used if
782 specific configuration is required for jump hosts.
783
784 ProxyUseFdpass
785 Specifies that ProxyCommand will pass a connected file descriptor
786 back to ssh(1) instead of continuing to execute and pass data.
787 The default is no.
788
789 PubkeyAcceptedKeyTypes
790 Specifies the key types that will be used for public key
791 authentication as a comma-separated list of patterns. If the
792 specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the key types
793 after it will be appended to the default instead of replacing it.
794 If the specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the
795 specified key types (including wildcards) will be removed from
796 the default set instead of replacing them. If the specified list
797 begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified key types will be
798 placed at the head of the default set. The default for this
799 option is:
800
801 ecdsa-sha2-nistp256-cert-v01@openssh.com,
802 ecdsa-sha2-nistp384-cert-v01@openssh.com,
803 ecdsa-sha2-nistp521-cert-v01@openssh.com,
804 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
805 ssh-ed25519-cert-v01@openssh.com,
806 sk-ssh-ed25519-cert-v01@openssh.com,
807 rsa-sha2-512-cert-v01@openssh.com,
808 rsa-sha2-256-cert-v01@openssh.com,
809 ssh-rsa-cert-v01@openssh.com,
810 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
811 sk-ecdsa-sha2-nistp256@openssh.com,
812 ssh-ed25519,sk-ssh-ed25519@openssh.com,
813 rsa-sha2-512,rsa-sha2-256,ssh-rsa
814
815 The list of available key types may also be obtained using "ssh
816 -Q PubkeyAcceptedKeyTypes".
817
818 PubkeyAuthentication
819 Specifies whether to try public key authentication. The argument
820 to this keyword must be yes (the default) or no.
821
822 RekeyLimit
823 Specifies the maximum amount of data that may be transmitted
824 before the session key is renegotiated, optionally followed a
825 maximum amount of time that may pass before the session key is
826 renegotiated. The first argument is specified in bytes and may
827 have a suffix of M-bM-^@M-^XKM-bM-^@M-^Y, M-bM-^@M-^XMM-bM-^@M-^Y, or M-bM-^@M-^XGM-bM-^@M-^Y to indicate Kilobytes,
828 Megabytes, or Gigabytes, respectively. The default is between
829 M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second
830 value is specified in seconds and may use any of the units
831 documented in the TIME FORMATS section of sshd_config(5). The
832 default value for RekeyLimit is default none, which means that
833 rekeying is performed after the cipher's default amount of data
834 has been sent or received and no time based rekeying is done.
835
836 RemoteCommand
837 Specifies a command to execute on the remote machine after
838 successfully connecting to the server. The command string
839 extends to the end of the line, and is executed with the user's
840 shell. Arguments to RemoteCommand accept the tokens described in
841 the TOKENS section.
842
843 RemoteForward
844 Specifies that a TCP port on the remote machine be forwarded over
845 the secure channel. The remote port may either be forwarded to a
846 specified host and port from the local machine, or may act as a
847 SOCKS 4/5 proxy that allows a remote client to connect to
848 arbitrary destinations from the local machine. The first
849 argument must be [bind_address:]port If forwarding to a specific
850 destination then the second argument must be host:hostport,
851 otherwise if no destination argument is specified then the remote
852 forwarding will be established as a SOCKS proxy.
853
854 IPv6 addresses can be specified by enclosing addresses in square
855 brackets. Multiple forwardings may be specified, and additional
856 forwardings can be given on the command line. Privileged ports
857 can be forwarded only when logging in as root on the remote
858 machine.
859
860 If the port argument is 0, the listen port will be dynamically
861 allocated on the server and reported to the client at run time.
862
863 If the bind_address is not specified, the default is to only bind
864 to loopback addresses. If the bind_address is M-bM-^@M-^X*M-bM-^@M-^Y or an empty
865 string, then the forwarding is requested to listen on all
866 interfaces. Specifying a remote bind_address will only succeed
867 if the server's GatewayPorts option is enabled (see
868 sshd_config(5)).
869
870 RequestTTY
871 Specifies whether to request a pseudo-tty for the session. The
872 argument may be one of: no (never request a TTY), yes (always
873 request a TTY when standard input is a TTY), force (always
874 request a TTY) or auto (request a TTY when opening a login
875 session). This option mirrors the -t and -T flags for ssh(1).
876
877 RevokedHostKeys
878 Specifies revoked host public keys. Keys listed in this file
879 will be refused for host authentication. Note that if this file
880 does not exist or is not readable, then host authentication will
881 be refused for all hosts. Keys may be specified as a text file,
882 listing one public key per line, or as an OpenSSH Key Revocation
883 List (KRL) as generated by ssh-keygen(1). For more information
884 on KRLs, see the KEY REVOCATION LISTS section in ssh-keygen(1).
885
886 SecurityKeyProvider
887 Specifies a path to a library that will be used when loading any
888 FIDO authenticator-hosted keys, overriding the default of using
889 the built-in USB HID support.
890
891 If the specified value begins with a M-bM-^@M-^X$M-bM-^@M-^Y character, then it will
892 be treated as an environment variable containing the path to the
893 library.
894
895 SendEnv
896 Specifies what variables from the local environ(7) should be sent
897 to the server. The server must also support it, and the server
898 must be configured to accept these environment variables. Note
899 that the TERM environment variable is always sent whenever a
900 pseudo-terminal is requested as it is required by the protocol.
901 Refer to AcceptEnv in sshd_config(5) for how to configure the
902 server. Variables are specified by name, which may contain
903 wildcard characters. Multiple environment variables may be
904 separated by whitespace or spread across multiple SendEnv
905 directives.
906
907 See PATTERNS for more information on patterns.
908
909 It is possible to clear previously set SendEnv variable names by
910 prefixing patterns with -. The default is not to send any
911 environment variables.
912
913 ServerAliveCountMax
914 Sets the number of server alive messages (see below) which may be
915 sent without ssh(1) receiving any messages back from the server.
916 If this threshold is reached while server alive messages are
917 being sent, ssh will disconnect from the server, terminating the
918 session. It is important to note that the use of server alive
919 messages is very different from TCPKeepAlive (below). The server
920 alive messages are sent through the encrypted channel and
921 therefore will not be spoofable. The TCP keepalive option
922 enabled by TCPKeepAlive is spoofable. The server alive mechanism
923 is valuable when the client or server depend on knowing when a
924 connection has become unresponsive.
925
926 The default value is 3. If, for example, ServerAliveInterval
927 (see below) is set to 15 and ServerAliveCountMax is left at the
928 default, if the server becomes unresponsive, ssh will disconnect
929 after approximately 45 seconds.
930
931 ServerAliveInterval
932 Sets a timeout interval in seconds after which if no data has
933 been received from the server, ssh(1) will send a message through
934 the encrypted channel to request a response from the server. The
935 default is 0, indicating that these messages will not be sent to
936 the server.
937
938 SetEnv Directly specify one or more environment variables and their
939 contents to be sent to the server. Similarly to SendEnv, the
940 server must be prepared to accept the environment variable.
941
942 StreamLocalBindMask
943 Sets the octal file creation mode mask (umask) used when creating
944 a Unix-domain socket file for local or remote port forwarding.
945 This option is only used for port forwarding to a Unix-domain
946 socket file.
947
948 The default value is 0177, which creates a Unix-domain socket
949 file that is readable and writable only by the owner. Note that
950 not all operating systems honor the file mode on Unix-domain
951 socket files.
952
953 StreamLocalBindUnlink
954 Specifies whether to remove an existing Unix-domain socket file
955 for local or remote port forwarding before creating a new one.
956 If the socket file already exists and StreamLocalBindUnlink is
957 not enabled, ssh will be unable to forward the port to the Unix-
958 domain socket file. This option is only used for port forwarding
959 to a Unix-domain socket file.
960
961 The argument must be yes or no (the default).
962
963 StrictHostKeyChecking
964 If this flag is set to yes, ssh(1) will never automatically add
965 host keys to the ~/.ssh/known_hosts file, and refuses to connect
966 to hosts whose host key has changed. This provides maximum
967 protection against man-in-the-middle (MITM) attacks, though it
968 can be annoying when the /etc/ssh/ssh_known_hosts file is poorly
969 maintained or when connections to new hosts are frequently made.
970 This option forces the user to manually add all new hosts.
971
972 If this flag is set to M-bM-^@M-^\accept-newM-bM-^@M-^] then ssh will automatically
973 add new host keys to the user known hosts files, but will not
974 permit connections to hosts with changed host keys. If this flag
975 is set to M-bM-^@M-^\noM-bM-^@M-^] or M-bM-^@M-^\offM-bM-^@M-^], ssh will automatically add new host keys
976 to the user known hosts files and allow connections to hosts with
977 changed hostkeys to proceed, subject to some restrictions. If
978 this flag is set to ask (the default), new host keys will be
979 added to the user known host files only after the user has
980 confirmed that is what they really want to do, and ssh will
981 refuse to connect to hosts whose host key has changed. The host
982 keys of known hosts will be verified automatically in all cases.
983
984 SyslogFacility
985 Gives the facility code that is used when logging messages from
986 ssh(1). The possible values are: DAEMON, USER, AUTH, LOCAL0,
987 LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The
988 default is USER.
989
990 TCPKeepAlive
991 Specifies whether the system should send TCP keepalive messages
992 to the other side. If they are sent, death of the connection or
993 crash of one of the machines will be properly noticed. However,
994 this means that connections will die if the route is down
995 temporarily, and some people find it annoying.
996
997 The default is yes (to send TCP keepalive messages), and the
998 client will notice if the network goes down or the remote host
999 dies. This is important in scripts, and many users want it too.
1000
1001 To disable TCP keepalive messages, the value should be set to no.
1002 See also ServerAliveInterval for protocol-level keepalives.
1003
1004 Tunnel Request tun(4) device forwarding between the client and the
1005 server. The argument must be yes, point-to-point (layer 3),
1006 ethernet (layer 2), or no (the default). Specifying yes requests
1007 the default tunnel mode, which is point-to-point.
1008
1009 TunnelDevice
1010 Specifies the tun(4) devices to open on the client (local_tun)
1011 and the server (remote_tun).
1012
1013 The argument must be local_tun[:remote_tun]. The devices may be
1014 specified by numerical ID or the keyword any, which uses the next
1015 available tunnel device. If remote_tun is not specified, it
1016 defaults to any. The default is any:any.
1017
1018 UpdateHostKeys
1019 Specifies whether ssh(1) should accept notifications of
1020 additional hostkeys from the server sent after authentication has
1021 completed and add them to UserKnownHostsFile. The argument must
1022 be yes, no or ask. This option allows learning alternate
1023 hostkeys for a server and supports graceful key rotation by
1024 allowing a server to send replacement public keys before old ones
1025 are removed. Additional hostkeys are only accepted if the key
1026 used to authenticate the host was already trusted or explicitly
1027 accepted by the user.
1028
1029 UpdateHostKeys is enabled by default if the user has not
1030 overridden the default UserKnownHostsFile setting, otherwise
1031 UpdateHostKeys will be set to ask.
1032
1033 If UpdateHostKeys is set to ask, then the user is asked to
1034 confirm the modifications to the known_hosts file. Confirmation
1035 is currently incompatible with ControlPersist, and will be
1036 disabled if it is enabled.
1037
1038 Presently, only sshd(8) from OpenSSH 6.8 and greater support the
1039 "hostkeys@openssh.com" protocol extension used to inform the
1040 client of all the server's hostkeys.
1041
1042 User Specifies the user to log in as. This can be useful when a
1043 different user name is used on different machines. This saves
1044 the trouble of having to remember to give the user name on the
1045 command line.
1046
1047 UserKnownHostsFile
1048 Specifies one or more files to use for the user host key
1049 database, separated by whitespace. The default is
1050 ~/.ssh/known_hosts, ~/.ssh/known_hosts2.
1051
1052 VerifyHostKeyDNS
1053 Specifies whether to verify the remote key using DNS and SSHFP
1054 resource records. If this option is set to yes, the client will
1055 implicitly trust keys that match a secure fingerprint from DNS.
1056 Insecure fingerprints will be handled as if this option was set
1057 to ask. If this option is set to ask, information on fingerprint
1058 match will be displayed, but the user will still need to confirm
1059 new host keys according to the StrictHostKeyChecking option. The
1060 default is no.
1061
1062 See also VERIFYING HOST KEYS in ssh(1).
1063
1064 VisualHostKey
1065 If this flag is set to yes, an ASCII art representation of the
1066 remote host key fingerprint is printed in addition to the
1067 fingerprint string at login and for unknown host keys. If this
1068 flag is set to no (the default), no fingerprint strings are
1069 printed at login and only the fingerprint string will be printed
1070 for unknown host keys.
1071
1072 XAuthLocation
1073 Specifies the full pathname of the xauth(1) program. The default
1074 is /usr/X11R6/bin/xauth.
1075
1076PATTERNS
1077 A pattern consists of zero or more non-whitespace characters, M-bM-^@M-^X*M-bM-^@M-^Y (a
1078 wildcard that matches zero or more characters), or M-bM-^@M-^X?M-bM-^@M-^Y (a wildcard that
1079 matches exactly one character). For example, to specify a set of
1080 declarations for any host in the ".co.uk" set of domains, the following
1081 pattern could be used:
1082
1083 Host *.co.uk
1084
1085 The following pattern would match any host in the 192.168.0.[0-9] network
1086 range:
1087
1088 Host 192.168.0.?
1089
1090 A pattern-list is a comma-separated list of patterns. Patterns within
1091 pattern-lists may be negated by preceding them with an exclamation mark
1092 (M-bM-^@M-^X!M-bM-^@M-^Y). For example, to allow a key to be used from anywhere within an
1093 organization except from the "dialup" pool, the following entry (in
1094 authorized_keys) could be used:
1095
1096 from="!*.dialup.example.com,*.example.com"
1097
1098 Note that a negated match will never produce a positive result by itself.
1099 For example, attempting to match "host3" against the following pattern-
1100 list will fail:
1101
1102 from="!host1,!host2"
1103
1104 The solution here is to include a term that will yield a positive match,
1105 such as a wildcard:
1106
1107 from="!host1,!host2,*"
1108
1109TOKENS
1110 Arguments to some keywords can make use of tokens, which are expanded at
1111 runtime:
1112
1113 %% A literal M-bM-^@M-^X%M-bM-^@M-^Y.
1114 %C Hash of %l%h%p%r.
1115 %d Local user's home directory.
1116 %h The remote hostname.
1117 %i The local user ID.
1118 %L The local hostname.
1119 %l The local hostname, including the domain name.
1120 %n The original remote hostname, as given on the command line.
1121 %p The remote port.
1122 %r The remote username.
1123 %T The local tun(4) or tap(4) network interface assigned if
1124 tunnel forwarding was requested, or "NONE" otherwise.
1125 %u The local username.
1126
1127 Match exec accepts the tokens %%, %h, %i, %L, %l, %n, %p, %r, and %u.
1128
1129 CertificateFile accepts the tokens %%, %d, %h, %i, %l, %r, and %u.
1130
1131 ControlPath accepts the tokens %%, %C, %h, %i, %L, %l, %n, %p, %r, and
1132 %u.
1133
1134 Hostname accepts the tokens %% and %h.
1135
1136 IdentityAgent and IdentityFile accept the tokens %%, %d, %h, %i, %l, %r,
1137 and %u.
1138
1139 LocalCommand accepts the tokens %%, %C, %d, %h, %i, %l, %n, %p, %r, %T,
1140 and %u.
1141
1142 ProxyCommand accepts the tokens %%, %h, %n, %p, and %r.
1143
1144 RemoteCommand accepts the tokens %%, %C, %d, %h, %i, %l, %n, %p, %r, and
1145 %u.
1146
1147FILES
1148 ~/.ssh/config
1149 This is the per-user configuration file. The format of this file
1150 is described above. This file is used by the SSH client.
1151 Because of the potential for abuse, this file must have strict
1152 permissions: read/write for the user, and not writable by others.
1153
1154 /etc/ssh/ssh_config
1155 Systemwide configuration file. This file provides defaults for
1156 those values that are not specified in the user's configuration
1157 file, and for those users who do not have a configuration file.
1158 This file must be world-readable.
1159
1160SEE ALSO
1161 ssh(1)
1162
1163AUTHORS
1164 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1165 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1166 de Raadt and Dug Song removed many bugs, re-added newer features and
1167 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1168 versions 1.5 and 2.0.
1169
1170OpenBSD 6.6 February 7, 2020 OpenBSD 6.6
diff --git a/sshd.0 b/sshd.0
new file mode 100644
index 000000000..15ef5dd3b
--- /dev/null
+++ b/sshd.0
@@ -0,0 +1,667 @@
1SSHD(8) System Manager's Manual SSHD(8)
2
3NAME
4 sshd M-bM-^@M-^S OpenSSH daemon
5
6SYNOPSIS
7 sshd [-46DdeiqTt] [-C connection_spec] [-c host_certificate_file]
8 [-E log_file] [-f config_file] [-g login_grace_time]
9 [-h host_key_file] [-o option] [-p port] [-u len]
10
11DESCRIPTION
12 sshd (OpenSSH Daemon) is the daemon program for ssh(1). Together these
13 programs replace rlogin and rsh, and provide secure encrypted
14 communications between two untrusted hosts over an insecure network.
15
16 sshd listens for connections from clients. It is normally started at
17 boot from /etc/rc. It forks a new daemon for each incoming connection.
18 The forked daemons handle key exchange, encryption, authentication,
19 command execution, and data exchange.
20
21 sshd can be configured using command-line options or a configuration file
22 (by default sshd_config(5)); command-line options override values
23 specified in the configuration file. sshd rereads its configuration file
24 when it receives a hangup signal, SIGHUP, by executing itself with the
25 name and options it was started with, e.g. /usr/sbin/sshd.
26
27 The options are as follows:
28
29 -4 Forces sshd to use IPv4 addresses only.
30
31 -6 Forces sshd to use IPv6 addresses only.
32
33 -C connection_spec
34 Specify the connection parameters to use for the -T extended test
35 mode. If provided, any Match directives in the configuration
36 file that would apply are applied before the configuration is
37 written to standard output. The connection parameters are
38 supplied as keyword=value pairs and may be supplied in any order,
39 either with multiple -C options or as a comma-separated list.
40 The keywords are M-bM-^@M-^\addr,M-bM-^@M-^] M-bM-^@M-^\userM-bM-^@M-^], M-bM-^@M-^\hostM-bM-^@M-^], M-bM-^@M-^\laddrM-bM-^@M-^], M-bM-^@M-^\lportM-bM-^@M-^], and
41 M-bM-^@M-^\rdomainM-bM-^@M-^] and correspond to source address, user, resolved source
42 host name, local address, local port number and routing domain
43 respectively.
44
45 -c host_certificate_file
46 Specifies a path to a certificate file to identify sshd during
47 key exchange. The certificate file must match a host key file
48 specified using the -h option or the HostKey configuration
49 directive.
50
51 -D When this option is specified, sshd will not detach and does not
52 become a daemon. This allows easy monitoring of sshd.
53
54 -d Debug mode. The server sends verbose debug output to standard
55 error, and does not put itself in the background. The server
56 also will not fork and will only process one connection. This
57 option is only intended for debugging for the server. Multiple
58 -d options increase the debugging level. Maximum is 3.
59
60 -E log_file
61 Append debug logs to log_file instead of the system log.
62
63 -e Write debug logs to standard error instead of the system log.
64
65 -f config_file
66 Specifies the name of the configuration file. The default is
67 /etc/ssh/sshd_config. sshd refuses to start if there is no
68 configuration file.
69
70 -g login_grace_time
71 Gives the grace time for clients to authenticate themselves
72 (default 120 seconds). If the client fails to authenticate the
73 user within this many seconds, the server disconnects and exits.
74 A value of zero indicates no limit.
75
76 -h host_key_file
77 Specifies a file from which a host key is read. This option must
78 be given if sshd is not run as root (as the normal host key files
79 are normally not readable by anyone but root). The default is
80 /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ed25519_key and
81 /etc/ssh/ssh_host_rsa_key. It is possible to have multiple host
82 key files for the different host key algorithms.
83
84 -i Specifies that sshd is being run from inetd(8).
85
86 -o option
87 Can be used to give options in the format used in the
88 configuration file. This is useful for specifying options for
89 which there is no separate command-line flag. For full details
90 of the options, and their values, see sshd_config(5).
91
92 -p port
93 Specifies the port on which the server listens for connections
94 (default 22). Multiple port options are permitted. Ports
95 specified in the configuration file with the Port option are
96 ignored when a command-line port is specified. Ports specified
97 using the ListenAddress option override command-line ports.
98
99 -q Quiet mode. Nothing is sent to the system log. Normally the
100 beginning, authentication, and termination of each connection is
101 logged.
102
103 -T Extended test mode. Check the validity of the configuration
104 file, output the effective configuration to stdout and then exit.
105 Optionally, Match rules may be applied by specifying the
106 connection parameters using one or more -C options.
107
108 -t Test mode. Only check the validity of the configuration file and
109 sanity of the keys. This is useful for updating sshd reliably as
110 configuration options may change.
111
112 -u len This option is used to specify the size of the field in the utmp
113 structure that holds the remote host name. If the resolved host
114 name is longer than len, the dotted decimal value will be used
115 instead. This allows hosts with very long host names that
116 overflow this field to still be uniquely identified. Specifying
117 -u0 indicates that only dotted decimal addresses should be put
118 into the utmp file. -u0 may also be used to prevent sshd from
119 making DNS requests unless the authentication mechanism or
120 configuration requires it. Authentication mechanisms that may
121 require DNS include HostbasedAuthentication and using a
122 from="pattern-list" option in a key file. Configuration options
123 that require DNS include using a USER@HOST pattern in AllowUsers
124 or DenyUsers.
125
126AUTHENTICATION
127 The OpenSSH SSH daemon supports SSH protocol 2 only. Each host has a
128 host-specific key, used to identify the host. Whenever a client
129 connects, the daemon responds with its public host key. The client
130 compares the host key against its own database to verify that it has not
131 changed. Forward secrecy is provided through a Diffie-Hellman key
132 agreement. This key agreement results in a shared session key. The rest
133 of the session is encrypted using a symmetric cipher. The client selects
134 the encryption algorithm to use from those offered by the server.
135 Additionally, session integrity is provided through a cryptographic
136 message authentication code (MAC).
137
138 Finally, the server and the client enter an authentication dialog. The
139 client tries to authenticate itself using host-based authentication,
140 public key authentication, challenge-response authentication, or password
141 authentication.
142
143 Regardless of the authentication type, the account is checked to ensure
144 that it is accessible. An account is not accessible if it is locked,
145 listed in DenyUsers or its group is listed in DenyGroups . The
146 definition of a locked account is system dependent. Some platforms have
147 their own account database (eg AIX) and some modify the passwd field (
148 M-bM-^@M-^X*LK*M-bM-^@M-^Y on Solaris and UnixWare, M-bM-^@M-^X*M-bM-^@M-^Y on HP-UX, containing M-bM-^@M-^XNologinM-bM-^@M-^Y on
149 Tru64, a leading M-bM-^@M-^X*LOCKED*M-bM-^@M-^Y on FreeBSD and a leading M-bM-^@M-^X!M-bM-^@M-^Y on most
150 Linuxes). If there is a requirement to disable password authentication
151 for the account while allowing still public-key, then the passwd field
152 should be set to something other than these values (eg M-bM-^@M-^XNPM-bM-^@M-^Y or M-bM-^@M-^X*NP*M-bM-^@M-^Y ).
153
154 If the client successfully authenticates itself, a dialog for preparing
155 the session is entered. At this time the client may request things like
156 allocating a pseudo-tty, forwarding X11 connections, forwarding TCP
157 connections, or forwarding the authentication agent connection over the
158 secure channel.
159
160 After this, the client either requests a shell or execution of a command.
161 The sides then enter session mode. In this mode, either side may send
162 data at any time, and such data is forwarded to/from the shell or command
163 on the server side, and the user terminal in the client side.
164
165 When the user program terminates and all forwarded X11 and other
166 connections have been closed, the server sends command exit status to the
167 client, and both sides exit.
168
169LOGIN PROCESS
170 When a user successfully logs in, sshd does the following:
171
172 1. If the login is on a tty, and no command has been specified,
173 prints last login time and /etc/motd (unless prevented in the
174 configuration file or by ~/.hushlogin; see the FILES section).
175
176 2. If the login is on a tty, records login time.
177
178 3. Checks /etc/nologin; if it exists, prints contents and quits
179 (unless root).
180
181 4. Changes to run with normal user privileges.
182
183 5. Sets up basic environment.
184
185 6. Reads the file ~/.ssh/environment, if it exists, and users are
186 allowed to change their environment. See the
187 PermitUserEnvironment option in sshd_config(5).
188
189 7. Changes to user's home directory.
190
191 8. If ~/.ssh/rc exists and the sshd_config(5) PermitUserRC option
192 is set, runs it; else if /etc/ssh/sshrc exists, runs it;
193 otherwise runs xauth. The M-bM-^@M-^\rcM-bM-^@M-^] files are given the X11
194 authentication protocol and cookie in standard input. See
195 SSHRC, below.
196
197 9. Runs user's shell or command. All commands are run under the
198 user's login shell as specified in the system password
199 database.
200
201SSHRC
202 If the file ~/.ssh/rc exists, sh(1) runs it after reading the environment
203 files but before starting the user's shell or command. It must not
204 produce any output on stdout; stderr must be used instead. If X11
205 forwarding is in use, it will receive the "proto cookie" pair in its
206 standard input (and DISPLAY in its environment). The script must call
207 xauth(1) because sshd will not run xauth automatically to add X11
208 cookies.
209
210 The primary purpose of this file is to run any initialization routines
211 which may be needed before the user's home directory becomes accessible;
212 AFS is a particular example of such an environment.
213
214 This file will probably contain some initialization code followed by
215 something similar to:
216
217 if read proto cookie && [ -n "$DISPLAY" ]; then
218 if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
219 # X11UseLocalhost=yes
220 echo add unix:`echo $DISPLAY |
221 cut -c11-` $proto $cookie
222 else
223 # X11UseLocalhost=no
224 echo add $DISPLAY $proto $cookie
225 fi | xauth -q -
226 fi
227
228 If this file does not exist, /etc/ssh/sshrc is run, and if that does not
229 exist either, xauth is used to add the cookie.
230
231AUTHORIZED_KEYS FILE FORMAT
232 AuthorizedKeysFile specifies the files containing public keys for public
233 key authentication; if this option is not specified, the default is
234 ~/.ssh/authorized_keys and ~/.ssh/authorized_keys2. Each line of the
235 file contains one key (empty lines and lines starting with a M-bM-^@M-^X#M-bM-^@M-^Y are
236 ignored as comments). Public keys consist of the following space-
237 separated fields: options, keytype, base64-encoded key, comment. The
238 options field is optional. The supported key types are:
239
240 sk-ecdsa-sha2-nistp256@openssh.com
241 ecdsa-sha2-nistp256
242 ecdsa-sha2-nistp384
243 ecdsa-sha2-nistp521
244 sk-ssh-ed25519@openssh.com
245 ssh-ed25519
246 ssh-dss
247 ssh-rsa
248
249 The comment field is not used for anything (but may be convenient for the
250 user to identify the key).
251
252 Note that lines in this file can be several hundred bytes long (because
253 of the size of the public key encoding) up to a limit of 8 kilobytes,
254 which permits RSA keys up to 16 kilobits. You don't want to type them
255 in; instead, copy the id_dsa.pub, id_ecdsa.pub, id_ecdsa_sk.pub,
256 id_ed25519.pub, id_ed25519_sk.pub, or the id_rsa.pub file and edit it.
257
258 sshd enforces a minimum RSA key modulus size of 1024 bits.
259
260 The options (if present) consist of comma-separated option
261 specifications. No spaces are permitted, except within double quotes.
262 The following option specifications are supported (note that option
263 keywords are case-insensitive):
264
265 agent-forwarding
266 Enable authentication agent forwarding previously disabled by the
267 restrict option.
268
269 cert-authority
270 Specifies that the listed key is a certification authority (CA)
271 that is trusted to validate signed certificates for user
272 authentication.
273
274 Certificates may encode access restrictions similar to these key
275 options. If both certificate restrictions and key options are
276 present, the most restrictive union of the two is applied.
277
278 command="command"
279 Specifies that the command is executed whenever this key is used
280 for authentication. The command supplied by the user (if any) is
281 ignored. The command is run on a pty if the client requests a
282 pty; otherwise it is run without a tty. If an 8-bit clean
283 channel is required, one must not request a pty or should specify
284 no-pty. A quote may be included in the command by quoting it
285 with a backslash.
286
287 This option might be useful to restrict certain public keys to
288 perform just a specific operation. An example might be a key
289 that permits remote backups but nothing else. Note that the
290 client may specify TCP and/or X11 forwarding unless they are
291 explicitly prohibited, e.g. using the restrict key option.
292
293 The command originally supplied by the client is available in the
294 SSH_ORIGINAL_COMMAND environment variable. Note that this option
295 applies to shell, command or subsystem execution. Also note that
296 this command may be superseded by a sshd_config(5) ForceCommand
297 directive.
298
299 If a command is specified and a forced-command is embedded in a
300 certificate used for authentication, then the certificate will be
301 accepted only if the two commands are identical.
302
303 environment="NAME=value"
304 Specifies that the string is to be added to the environment when
305 logging in using this key. Environment variables set this way
306 override other default environment values. Multiple options of
307 this type are permitted. Environment processing is disabled by
308 default and is controlled via the PermitUserEnvironment option.
309
310 expiry-time="timespec"
311 Specifies a time after which the key will not be accepted. The
312 time may be specified as a YYYYMMDD date or a YYYYMMDDHHMM[SS]
313 time in the system time-zone.
314
315 from="pattern-list"
316 Specifies that in addition to public key authentication, either
317 the canonical name of the remote host or its IP address must be
318 present in the comma-separated list of patterns. See PATTERNS in
319 ssh_config(5) for more information on patterns.
320
321 In addition to the wildcard matching that may be applied to
322 hostnames or addresses, a from stanza may match IP addresses
323 using CIDR address/masklen notation.
324
325 The purpose of this option is to optionally increase security:
326 public key authentication by itself does not trust the network or
327 name servers or anything (but the key); however, if somebody
328 somehow steals the key, the key permits an intruder to log in
329 from anywhere in the world. This additional option makes using a
330 stolen key more difficult (name servers and/or routers would have
331 to be compromised in addition to just the key).
332
333 no-agent-forwarding
334 Forbids authentication agent forwarding when this key is used for
335 authentication.
336
337 no-port-forwarding
338 Forbids TCP forwarding when this key is used for authentication.
339 Any port forward requests by the client will return an error.
340 This might be used, e.g. in connection with the command option.
341
342 no-pty Prevents tty allocation (a request to allocate a pty will fail).
343
344 no-user-rc
345 Disables execution of ~/.ssh/rc.
346
347 no-X11-forwarding
348 Forbids X11 forwarding when this key is used for authentication.
349 Any X11 forward requests by the client will return an error.
350
351 permitlisten="[host:]port"
352 Limit remote port forwarding with the ssh(1) -R option such that
353 it may only listen on the specified host (optional) and port.
354 IPv6 addresses can be specified by enclosing the address in
355 square brackets. Multiple permitlisten options may be applied
356 separated by commas. Hostnames may include wildcards as
357 described in the PATTERNS section in ssh_config(5). A port
358 specification of * matches any port. Note that the setting of
359 GatewayPorts may further restrict listen addresses. Note that
360 ssh(1) will send a hostname of M-bM-^@M-^\localhostM-bM-^@M-^] if a listen host was
361 not specified when the forwarding was requested, and that this
362 name is treated differently to the explicit localhost addresses
363 M-bM-^@M-^\127.0.0.1M-bM-^@M-^] and M-bM-^@M-^\::1M-bM-^@M-^].
364
365 permitopen="host:port"
366 Limit local port forwarding with the ssh(1) -L option such that
367 it may only connect to the specified host and port. IPv6
368 addresses can be specified by enclosing the address in square
369 brackets. Multiple permitopen options may be applied separated
370 by commas. No pattern matching or name lookup is performed on
371 the specified hostnames, they must be literal host names and/or
372 addresses. A port specification of * matches any port.
373
374 port-forwarding
375 Enable port forwarding previously disabled by the restrict
376 option.
377
378 principals="principals"
379 On a cert-authority line, specifies allowed principals for
380 certificate authentication as a comma-separated list. At least
381 one name from the list must appear in the certificate's list of
382 principals for the certificate to be accepted. This option is
383 ignored for keys that are not marked as trusted certificate
384 signers using the cert-authority option.
385
386 pty Permits tty allocation previously disabled by the restrict
387 option.
388
389 no-touch-required
390 Do not require demonstration of user presence for signatures made
391 using this key. This option only makes sense for the FIDO
392 authenticator algorithms ecdsa-sk and ed25519-sk.
393
394 restrict
395 Enable all restrictions, i.e. disable port, agent and X11
396 forwarding, as well as disabling PTY allocation and execution of
397 ~/.ssh/rc. If any future restriction capabilities are added to
398 authorized_keys files they will be included in this set.
399
400 tunnel="n"
401 Force a tun(4) device on the server. Without this option, the
402 next available device will be used if the client requests a
403 tunnel.
404
405 user-rc
406 Enables execution of ~/.ssh/rc previously disabled by the
407 restrict option.
408
409 X11-forwarding
410 Permits X11 forwarding previously disabled by the restrict
411 option.
412
413 An example authorized_keys file:
414
415 # Comments allowed at start of line
416 ssh-rsa AAAAB3Nza...LiPk== user@example.net
417 from="*.sales.example.net,!pc.sales.example.net" ssh-rsa
418 AAAAB2...19Q== john@example.net
419 command="dump /home",no-pty,no-port-forwarding ssh-rsa
420 AAAAC3...51R== example.net
421 permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa
422 AAAAB5...21S==
423 permitlisten="localhost:8080",permitopen="localhost:22000" ssh-rsa
424 AAAAB5...21S==
425 tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAA...==
426 jane@example.net
427 restrict,command="uptime" ssh-rsa AAAA1C8...32Tv==
428 user@example.net
429 restrict,pty,command="nethack" ssh-rsa AAAA1f8...IrrC5==
430 user@example.net
431 no-touch-required sk-ecdsa-sha2-nistp256@openssh.com AAAAInN...Ko==
432 user@example.net
433
434SSH_KNOWN_HOSTS FILE FORMAT
435 The /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts files contain host
436 public keys for all known hosts. The global file should be prepared by
437 the administrator (optional), and the per-user file is maintained
438 automatically: whenever the user connects to an unknown host, its key is
439 added to the per-user file.
440
441 Each line in these files contains the following fields: markers
442 (optional), hostnames, keytype, base64-encoded key, comment. The fields
443 are separated by spaces.
444
445 The marker is optional, but if it is present then it must be one of
446 M-bM-^@M-^\@cert-authorityM-bM-^@M-^], to indicate that the line contains a certification
447 authority (CA) key, or M-bM-^@M-^\@revokedM-bM-^@M-^], to indicate that the key contained on
448 the line is revoked and must not ever be accepted. Only one marker
449 should be used on a key line.
450
451 Hostnames is a comma-separated list of patterns (M-bM-^@M-^X*M-bM-^@M-^Y and M-bM-^@M-^X?M-bM-^@M-^Y act as
452 wildcards); each pattern in turn is matched against the host name. When
453 sshd is authenticating a client, such as when using
454 HostbasedAuthentication, this will be the canonical client host name.
455 When ssh(1) is authenticating a server, this will be the host name given
456 by the user, the value of the ssh(1) HostkeyAlias if it was specified, or
457 the canonical server hostname if the ssh(1) CanonicalizeHostname option
458 was used.
459
460 A pattern may also be preceded by M-bM-^@M-^X!M-bM-^@M-^Y to indicate negation: if the host
461 name matches a negated pattern, it is not accepted (by that line) even if
462 it matched another pattern on the line. A hostname or address may
463 optionally be enclosed within M-bM-^@M-^X[M-bM-^@M-^Y and M-bM-^@M-^X]M-bM-^@M-^Y brackets then followed by M-bM-^@M-^X:M-bM-^@M-^Y
464 and a non-standard port number.
465
466 Alternately, hostnames may be stored in a hashed form which hides host
467 names and addresses should the file's contents be disclosed. Hashed
468 hostnames start with a M-bM-^@M-^X|M-bM-^@M-^Y character. Only one hashed hostname may
469 appear on a single line and none of the above negation or wildcard
470 operators may be applied.
471
472 The keytype and base64-encoded key are taken directly from the host key;
473 they can be obtained, for example, from /etc/ssh/ssh_host_rsa_key.pub.
474 The optional comment field continues to the end of the line, and is not
475 used.
476
477 Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are ignored as comments.
478
479 When performing host authentication, authentication is accepted if any
480 matching line has the proper key; either one that matches exactly or, if
481 the server has presented a certificate for authentication, the key of the
482 certification authority that signed the certificate. For a key to be
483 trusted as a certification authority, it must use the M-bM-^@M-^\@cert-authorityM-bM-^@M-^]
484 marker described above.
485
486 The known hosts file also provides a facility to mark keys as revoked,
487 for example when it is known that the associated private key has been
488 stolen. Revoked keys are specified by including the M-bM-^@M-^\@revokedM-bM-^@M-^] marker at
489 the beginning of the key line, and are never accepted for authentication
490 or as certification authorities, but instead will produce a warning from
491 ssh(1) when they are encountered.
492
493 It is permissible (but not recommended) to have several lines or
494 different host keys for the same names. This will inevitably happen when
495 short forms of host names from different domains are put in the file. It
496 is possible that the files contain conflicting information;
497 authentication is accepted if valid information can be found from either
498 file.
499
500 Note that the lines in these files are typically hundreds of characters
501 long, and you definitely don't want to type in the host keys by hand.
502 Rather, generate them by a script, ssh-keyscan(1) or by taking, for
503 example, /etc/ssh/ssh_host_rsa_key.pub and adding the host names at the
504 front. ssh-keygen(1) also offers some basic automated editing for
505 ~/.ssh/known_hosts including removing hosts matching a host name and
506 converting all host names to their hashed representations.
507
508 An example ssh_known_hosts file:
509
510 # Comments allowed at start of line
511 closenet,...,192.0.2.53 1024 37 159...93 closenet.example.net
512 cvs.example.net,192.0.2.10 ssh-rsa AAAA1234.....=
513 # A hashed hostname
514 |1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa
515 AAAA1234.....=
516 # A revoked key
517 @revoked * ssh-rsa AAAAB5W...
518 # A CA key, accepted for any host in *.mydomain.com or *.mydomain.org
519 @cert-authority *.mydomain.org,*.mydomain.com ssh-rsa AAAAB5W...
520
521FILES
522 ~/.hushlogin
523 This file is used to suppress printing the last login time and
524 /etc/motd, if PrintLastLog and PrintMotd, respectively, are
525 enabled. It does not suppress printing of the banner specified
526 by Banner.
527
528 ~/.rhosts
529 This file is used for host-based authentication (see ssh(1) for
530 more information). On some machines this file may need to be
531 world-readable if the user's home directory is on an NFS
532 partition, because sshd reads it as root. Additionally, this
533 file must be owned by the user, and must not have write
534 permissions for anyone else. The recommended permission for most
535 machines is read/write for the user, and not accessible by
536 others.
537
538 ~/.shosts
539 This file is used in exactly the same way as .rhosts, but allows
540 host-based authentication without permitting login with
541 rlogin/rsh.
542
543 ~/.ssh/
544 This directory is the default location for all user-specific
545 configuration and authentication information. There is no
546 general requirement to keep the entire contents of this directory
547 secret, but the recommended permissions are read/write/execute
548 for the user, and not accessible by others.
549
550 ~/.ssh/authorized_keys
551 Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
552 for logging in as this user. The format of this file is
553 described above. The content of the file is not highly
554 sensitive, but the recommended permissions are read/write for the
555 user, and not accessible by others.
556
557 If this file, the ~/.ssh directory, or the user's home directory
558 are writable by other users, then the file could be modified or
559 replaced by unauthorized users. In this case, sshd will not
560 allow it to be used unless the StrictModes option has been set to
561 M-bM-^@M-^\noM-bM-^@M-^].
562
563 ~/.ssh/environment
564 This file is read into the environment at login (if it exists).
565 It can only contain empty lines, comment lines (that start with
566 M-bM-^@M-^X#M-bM-^@M-^Y), and assignment lines of the form name=value. The file
567 should be writable only by the user; it need not be readable by
568 anyone else. Environment processing is disabled by default and
569 is controlled via the PermitUserEnvironment option.
570
571 ~/.ssh/known_hosts
572 Contains a list of host keys for all hosts the user has logged
573 into that are not already in the systemwide list of known host
574 keys. The format of this file is described above. This file
575 should be writable only by root/the owner and can, but need not
576 be, world-readable.
577
578 ~/.ssh/rc
579 Contains initialization routines to be run before the user's home
580 directory becomes accessible. This file should be writable only
581 by the user, and need not be readable by anyone else.
582
583 /etc/hosts.equiv
584 This file is for host-based authentication (see ssh(1)). It
585 should only be writable by root.
586
587 /etc/moduli
588 Contains Diffie-Hellman groups used for the "Diffie-Hellman Group
589 Exchange" key exchange method. The file format is described in
590 moduli(5). If no usable groups are found in this file then fixed
591 internal groups will be used.
592
593 /etc/motd
594 See motd(5).
595
596 /etc/nologin
597 If this file exists, sshd refuses to let anyone except root log
598 in. The contents of the file are displayed to anyone trying to
599 log in, and non-root connections are refused. The file should be
600 world-readable.
601
602 /etc/shosts.equiv
603 This file is used in exactly the same way as hosts.equiv, but
604 allows host-based authentication without permitting login with
605 rlogin/rsh.
606
607 /etc/ssh/ssh_host_ecdsa_key
608 /etc/ssh/ssh_host_ed25519_key
609 /etc/ssh/ssh_host_rsa_key
610 These files contain the private parts of the host keys. These
611 files should only be owned by root, readable only by root, and
612 not accessible to others. Note that sshd does not start if these
613 files are group/world-accessible.
614
615 /etc/ssh/ssh_host_ecdsa_key.pub
616 /etc/ssh/ssh_host_ed25519_key.pub
617 /etc/ssh/ssh_host_rsa_key.pub
618 These files contain the public parts of the host keys. These
619 files should be world-readable but writable only by root. Their
620 contents should match the respective private parts. These files
621 are not really used for anything; they are provided for the
622 convenience of the user so their contents can be copied to known
623 hosts files. These files are created using ssh-keygen(1).
624
625 /etc/ssh/ssh_known_hosts
626 Systemwide list of known host keys. This file should be prepared
627 by the system administrator to contain the public host keys of
628 all machines in the organization. The format of this file is
629 described above. This file should be writable only by root/the
630 owner and should be world-readable.
631
632 /etc/ssh/sshd_config
633 Contains configuration data for sshd. The file format and
634 configuration options are described in sshd_config(5).
635
636 /etc/ssh/sshrc
637 Similar to ~/.ssh/rc, it can be used to specify machine-specific
638 login-time initializations globally. This file should be
639 writable only by root, and should be world-readable.
640
641 /var/empty
642 chroot(2) directory used by sshd during privilege separation in
643 the pre-authentication phase. The directory should not contain
644 any files and must be owned by root and not group or world-
645 writable.
646
647 /var/run/sshd.pid
648 Contains the process ID of the sshd listening for connections (if
649 there are several daemons running concurrently for different
650 ports, this contains the process ID of the one started last).
651 The content of this file is not sensitive; it can be world-
652 readable.
653
654SEE ALSO
655 scp(1), sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1),
656 ssh-keyscan(1), chroot(2), login.conf(5), moduli(5), sshd_config(5),
657 inetd(8), sftp-server(8)
658
659AUTHORS
660 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
661 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
662 de Raadt and Dug Song removed many bugs, re-added newer features and
663 created OpenSSH. Markus Friedl contributed the support for SSH protocol
664 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
665 for privilege separation.
666
667OpenBSD 6.6 January 25, 2020 OpenBSD 6.6
diff --git a/sshd_config.0 b/sshd_config.0
new file mode 100644
index 000000000..1d655a3b8
--- /dev/null
+++ b/sshd_config.0
@@ -0,0 +1,1145 @@
1SSHD_CONFIG(5) File Formats Manual SSHD_CONFIG(5)
2
3NAME
4 sshd_config M-bM-^@M-^S OpenSSH daemon configuration file
5
6DESCRIPTION
7 sshd(8) reads configuration data from /etc/ssh/sshd_config (or the file
8 specified with -f on the command line). The file contains keyword-
9 argument pairs, one per line. For each keyword, the first obtained value
10 will be used. Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are interpreted as
11 comments. Arguments may optionally be enclosed in double quotes (") in
12 order to represent arguments containing spaces.
13
14 The possible keywords and their meanings are as follows (note that
15 keywords are case-insensitive and arguments are case-sensitive):
16
17 AcceptEnv
18 Specifies what environment variables sent by the client will be
19 copied into the session's environ(7). See SendEnv and SetEnv in
20 ssh_config(5) for how to configure the client. The TERM
21 environment variable is always accepted whenever the client
22 requests a pseudo-terminal as it is required by the protocol.
23 Variables are specified by name, which may contain the wildcard
24 characters M-bM-^@M-^X*M-bM-^@M-^Y and M-bM-^@M-^X?M-bM-^@M-^Y. Multiple environment variables may be
25 separated by whitespace or spread across multiple AcceptEnv
26 directives. Be warned that some environment variables could be
27 used to bypass restricted user environments. For this reason,
28 care should be taken in the use of this directive. The default
29 is not to accept any environment variables.
30
31 AddressFamily
32 Specifies which address family should be used by sshd(8). Valid
33 arguments are any (the default), inet (use IPv4 only), or inet6
34 (use IPv6 only).
35
36 AllowAgentForwarding
37 Specifies whether ssh-agent(1) forwarding is permitted. The
38 default is yes. Note that disabling agent forwarding does not
39 improve security unless users are also denied shell access, as
40 they can always install their own forwarders.
41
42 AllowGroups
43 This keyword can be followed by a list of group name patterns,
44 separated by spaces. If specified, login is allowed only for
45 users whose primary group or supplementary group list matches one
46 of the patterns. Only group names are valid; a numerical group
47 ID is not recognized. By default, login is allowed for all
48 groups. The allow/deny groups directives are processed in the
49 following order: DenyGroups, AllowGroups.
50
51 See PATTERNS in ssh_config(5) for more information on patterns.
52
53 AllowStreamLocalForwarding
54 Specifies whether StreamLocal (Unix-domain socket) forwarding is
55 permitted. The available options are yes (the default) or all to
56 allow StreamLocal forwarding, no to prevent all StreamLocal
57 forwarding, local to allow local (from the perspective of ssh(1))
58 forwarding only or remote to allow remote forwarding only. Note
59 that disabling StreamLocal forwarding does not improve security
60 unless users are also denied shell access, as they can always
61 install their own forwarders.
62
63 AllowTcpForwarding
64 Specifies whether TCP forwarding is permitted. The available
65 options are yes (the default) or all to allow TCP forwarding, no
66 to prevent all TCP forwarding, local to allow local (from the
67 perspective of ssh(1)) forwarding only or remote to allow remote
68 forwarding only. Note that disabling TCP forwarding does not
69 improve security unless users are also denied shell access, as
70 they can always install their own forwarders.
71
72 AllowUsers
73 This keyword can be followed by a list of user name patterns,
74 separated by spaces. If specified, login is allowed only for
75 user names that match one of the patterns. Only user names are
76 valid; a numerical user ID is not recognized. By default, login
77 is allowed for all users. If the pattern takes the form
78 USER@HOST then USER and HOST are separately checked, restricting
79 logins to particular users from particular hosts. HOST criteria
80 may additionally contain addresses to match in CIDR
81 address/masklen format. The allow/deny users directives are
82 processed in the following order: DenyUsers, AllowUsers.
83
84 See PATTERNS in ssh_config(5) for more information on patterns.
85
86 AuthenticationMethods
87 Specifies the authentication methods that must be successfully
88 completed for a user to be granted access. This option must be
89 followed by one or more lists of comma-separated authentication
90 method names, or by the single string any to indicate the default
91 behaviour of accepting any single authentication method. If the
92 default is overridden, then successful authentication requires
93 completion of every method in at least one of these lists.
94
95 For example, "publickey,password publickey,keyboard-interactive"
96 would require the user to complete public key authentication,
97 followed by either password or keyboard interactive
98 authentication. Only methods that are next in one or more lists
99 are offered at each stage, so for this example it would not be
100 possible to attempt password or keyboard-interactive
101 authentication before public key.
102
103 For keyboard interactive authentication it is also possible to
104 restrict authentication to a specific device by appending a colon
105 followed by the device identifier bsdauth or pam. depending on
106 the server configuration. For example,
107 "keyboard-interactive:bsdauth" would restrict keyboard
108 interactive authentication to the bsdauth device.
109
110 If the publickey method is listed more than once, sshd(8)
111 verifies that keys that have been used successfully are not
112 reused for subsequent authentications. For example,
113 "publickey,publickey" requires successful authentication using
114 two different public keys.
115
116 Note that each authentication method listed should also be
117 explicitly enabled in the configuration.
118
119 The available authentication methods are: "gssapi-with-mic",
120 "hostbased", "keyboard-interactive", "none" (used for access to
121 password-less accounts when PermitEmptyPasswords is enabled),
122 "password" and "publickey".
123
124 AuthorizedKeysCommand
125 Specifies a program to be used to look up the user's public keys.
126 The program must be owned by root, not writable by group or
127 others and specified by an absolute path. Arguments to
128 AuthorizedKeysCommand accept the tokens described in the TOKENS
129 section. If no arguments are specified then the username of the
130 target user is used.
131
132 The program should produce on standard output zero or more lines
133 of authorized_keys output (see AUTHORIZED_KEYS in sshd(8)). If a
134 key supplied by AuthorizedKeysCommand does not successfully
135 authenticate and authorize the user then public key
136 authentication continues using the usual AuthorizedKeysFile
137 files. By default, no AuthorizedKeysCommand is run.
138
139 AuthorizedKeysCommandUser
140 Specifies the user under whose account the AuthorizedKeysCommand
141 is run. It is recommended to use a dedicated user that has no
142 other role on the host than running authorized keys commands. If
143 AuthorizedKeysCommand is specified but AuthorizedKeysCommandUser
144 is not, then sshd(8) will refuse to start.
145
146 AuthorizedKeysFile
147 Specifies the file that contains the public keys used for user
148 authentication. The format is described in the AUTHORIZED_KEYS
149 FILE FORMAT section of sshd(8). Arguments to AuthorizedKeysFile
150 accept the tokens described in the TOKENS section. After
151 expansion, AuthorizedKeysFile is taken to be an absolute path or
152 one relative to the user's home directory. Multiple files may be
153 listed, separated by whitespace. Alternately this option may be
154 set to none to skip checking for user keys in files. The default
155 is ".ssh/authorized_keys .ssh/authorized_keys2".
156
157 AuthorizedPrincipalsCommand
158 Specifies a program to be used to generate the list of allowed
159 certificate principals as per AuthorizedPrincipalsFile. The
160 program must be owned by root, not writable by group or others
161 and specified by an absolute path. Arguments to
162 AuthorizedPrincipalsCommand accept the tokens described in the
163 TOKENS section. If no arguments are specified then the username
164 of the target user is used.
165
166 The program should produce on standard output zero or more lines
167 of AuthorizedPrincipalsFile output. If either
168 AuthorizedPrincipalsCommand or AuthorizedPrincipalsFile is
169 specified, then certificates offered by the client for
170 authentication must contain a principal that is listed. By
171 default, no AuthorizedPrincipalsCommand is run.
172
173 AuthorizedPrincipalsCommandUser
174 Specifies the user under whose account the
175 AuthorizedPrincipalsCommand is run. It is recommended to use a
176 dedicated user that has no other role on the host than running
177 authorized principals commands. If AuthorizedPrincipalsCommand
178 is specified but AuthorizedPrincipalsCommandUser is not, then
179 sshd(8) will refuse to start.
180
181 AuthorizedPrincipalsFile
182 Specifies a file that lists principal names that are accepted for
183 certificate authentication. When using certificates signed by a
184 key listed in TrustedUserCAKeys, this file lists names, one of
185 which must appear in the certificate for it to be accepted for
186 authentication. Names are listed one per line preceded by key
187 options (as described in AUTHORIZED_KEYS FILE FORMAT in sshd(8)).
188 Empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are ignored.
189
190 Arguments to AuthorizedPrincipalsFile accept the tokens described
191 in the TOKENS section. After expansion, AuthorizedPrincipalsFile
192 is taken to be an absolute path or one relative to the user's
193 home directory. The default is none, i.e. not to use a
194 principals file M-bM-^@M-^S in this case, the username of the user must
195 appear in a certificate's principals list for it to be accepted.
196
197 Note that AuthorizedPrincipalsFile is only used when
198 authentication proceeds using a CA listed in TrustedUserCAKeys
199 and is not consulted for certification authorities trusted via
200 ~/.ssh/authorized_keys, though the principals= key option offers
201 a similar facility (see sshd(8) for details).
202
203 Banner The contents of the specified file are sent to the remote user
204 before authentication is allowed. If the argument is none then
205 no banner is displayed. By default, no banner is displayed.
206
207 CASignatureAlgorithms
208 Specifies which algorithms are allowed for signing of
209 certificates by certificate authorities (CAs). The default is:
210
211 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
212 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
213
214 Certificates signed using other algorithms will not be accepted
215 for public key or host-based authentication.
216
217 ChallengeResponseAuthentication
218 Specifies whether challenge-response authentication is allowed
219 (e.g. via PAM or through authentication styles supported in
220 login.conf(5)) The default is yes.
221
222 ChrootDirectory
223 Specifies the pathname of a directory to chroot(2) to after
224 authentication. At session startup sshd(8) checks that all
225 components of the pathname are root-owned directories which are
226 not writable by any other user or group. After the chroot,
227 sshd(8) changes the working directory to the user's home
228 directory. Arguments to ChrootDirectory accept the tokens
229 described in the TOKENS section.
230
231 The ChrootDirectory must contain the necessary files and
232 directories to support the user's session. For an interactive
233 session this requires at least a shell, typically sh(1), and
234 basic /dev nodes such as null(4), zero(4), stdin(4), stdout(4),
235 stderr(4), and tty(4) devices. For file transfer sessions using
236 SFTP no additional configuration of the environment is necessary
237 if the in-process sftp-server is used, though sessions which use
238 logging may require /dev/log inside the chroot directory on some
239 operating systems (see sftp-server(8) for details).
240
241 For safety, it is very important that the directory hierarchy be
242 prevented from modification by other processes on the system
243 (especially those outside the jail). Misconfiguration can lead
244 to unsafe environments which sshd(8) cannot detect.
245
246 The default is none, indicating not to chroot(2).
247
248 Ciphers
249 Specifies the ciphers allowed. Multiple ciphers must be comma-
250 separated. If the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
251 then the specified ciphers will be appended to the default set
252 instead of replacing them. If the specified list begins with a
253 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified ciphers (including wildcards)
254 will be removed from the default set instead of replacing them.
255 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
256 specified ciphers will be placed at the head of the default set.
257
258 The supported ciphers are:
259
260 3des-cbc
261 aes128-cbc
262 aes192-cbc
263 aes256-cbc
264 aes128-ctr
265 aes192-ctr
266 aes256-ctr
267 aes128-gcm@openssh.com
268 aes256-gcm@openssh.com
269 chacha20-poly1305@openssh.com
270
271 The default is:
272
273 chacha20-poly1305@openssh.com,
274 aes128-ctr,aes192-ctr,aes256-ctr,
275 aes128-gcm@openssh.com,aes256-gcm@openssh.com
276
277 The list of available ciphers may also be obtained using "ssh -Q
278 cipher".
279
280 ClientAliveCountMax
281 Sets the number of client alive messages which may be sent
282 without sshd(8) receiving any messages back from the client. If
283 this threshold is reached while client alive messages are being
284 sent, sshd will disconnect the client, terminating the session.
285 It is important to note that the use of client alive messages is
286 very different from TCPKeepAlive. The client alive messages are
287 sent through the encrypted channel and therefore will not be
288 spoofable. The TCP keepalive option enabled by TCPKeepAlive is
289 spoofable. The client alive mechanism is valuable when the
290 client or server depend on knowing when a connection has become
291 unresponsive.
292
293 The default value is 3. If ClientAliveInterval is set to 15, and
294 ClientAliveCountMax is left at the default, unresponsive SSH
295 clients will be disconnected after approximately 45 seconds.
296 Setting a zero ClientAliveCountMax disables connection
297 termination.
298
299 ClientAliveInterval
300 Sets a timeout interval in seconds after which if no data has
301 been received from the client, sshd(8) will send a message
302 through the encrypted channel to request a response from the
303 client. The default is 0, indicating that these messages will
304 not be sent to the client.
305
306 Compression
307 Specifies whether compression is enabled after the user has
308 authenticated successfully. The argument must be yes, delayed (a
309 legacy synonym for yes) or no. The default is yes.
310
311 DenyGroups
312 This keyword can be followed by a list of group name patterns,
313 separated by spaces. Login is disallowed for users whose primary
314 group or supplementary group list matches one of the patterns.
315 Only group names are valid; a numerical group ID is not
316 recognized. By default, login is allowed for all groups. The
317 allow/deny groups directives are processed in the following
318 order: DenyGroups, AllowGroups.
319
320 See PATTERNS in ssh_config(5) for more information on patterns.
321
322 DenyUsers
323 This keyword can be followed by a list of user name patterns,
324 separated by spaces. Login is disallowed for user names that
325 match one of the patterns. Only user names are valid; a
326 numerical user ID is not recognized. By default, login is
327 allowed for all users. If the pattern takes the form USER@HOST
328 then USER and HOST are separately checked, restricting logins to
329 particular users from particular hosts. HOST criteria may
330 additionally contain addresses to match in CIDR address/masklen
331 format. The allow/deny users directives are processed in the
332 following order: DenyUsers, AllowUsers.
333
334 See PATTERNS in ssh_config(5) for more information on patterns.
335
336 DisableForwarding
337 Disables all forwarding features, including X11, ssh-agent(1),
338 TCP and StreamLocal. This option overrides all other forwarding-
339 related options and may simplify restricted configurations.
340
341 ExposeAuthInfo
342 Writes a temporary file containing a list of authentication
343 methods and public credentials (e.g. keys) used to authenticate
344 the user. The location of the file is exposed to the user
345 session through the SSH_USER_AUTH environment variable. The
346 default is no.
347
348 FingerprintHash
349 Specifies the hash algorithm used when logging key fingerprints.
350 Valid options are: md5 and sha256. The default is sha256.
351
352 ForceCommand
353 Forces the execution of the command specified by ForceCommand,
354 ignoring any command supplied by the client and ~/.ssh/rc if
355 present. The command is invoked by using the user's login shell
356 with the -c option. This applies to shell, command, or subsystem
357 execution. It is most useful inside a Match block. The command
358 originally supplied by the client is available in the
359 SSH_ORIGINAL_COMMAND environment variable. Specifying a command
360 of internal-sftp will force the use of an in-process SFTP server
361 that requires no support files when used with ChrootDirectory.
362 The default is none.
363
364 GatewayPorts
365 Specifies whether remote hosts are allowed to connect to ports
366 forwarded for the client. By default, sshd(8) binds remote port
367 forwardings to the loopback address. This prevents other remote
368 hosts from connecting to forwarded ports. GatewayPorts can be
369 used to specify that sshd should allow remote port forwardings to
370 bind to non-loopback addresses, thus allowing other hosts to
371 connect. The argument may be no to force remote port forwardings
372 to be available to the local host only, yes to force remote port
373 forwardings to bind to the wildcard address, or clientspecified
374 to allow the client to select the address to which the forwarding
375 is bound. The default is no.
376
377 GSSAPIAuthentication
378 Specifies whether user authentication based on GSSAPI is allowed.
379 The default is no.
380
381 GSSAPICleanupCredentials
382 Specifies whether to automatically destroy the user's credentials
383 cache on logout. The default is yes.
384
385 GSSAPIStrictAcceptorCheck
386 Determines whether to be strict about the identity of the GSSAPI
387 acceptor a client authenticates against. If set to yes then the
388 client must authenticate against the host service on the current
389 hostname. If set to no then the client may authenticate against
390 any service key stored in the machine's default store. This
391 facility is provided to assist with operation on multi homed
392 machines. The default is yes.
393
394 HostbasedAcceptedKeyTypes
395 Specifies the key types that will be accepted for hostbased
396 authentication as a list of comma-separated patterns.
397 Alternately if the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
398 then the specified key types will be appended to the default set
399 instead of replacing them. If the specified list begins with a
400 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
401 will be removed from the default set instead of replacing them.
402 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
403 specified key types will be placed at the head of the default
404 set. The default for this option is:
405
406 ecdsa-sha2-nistp256-cert-v01@openssh.com,
407 ecdsa-sha2-nistp384-cert-v01@openssh.com,
408 ecdsa-sha2-nistp521-cert-v01@openssh.com,
409 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
410 ssh-ed25519-cert-v01@openssh.com,
411 sk-ssh-ed25519-cert-v01@openssh.com,
412 rsa-sha2-512-cert-v01@openssh.com,
413 rsa-sha2-256-cert-v01@openssh.com,
414 ssh-rsa-cert-v01@openssh.com,
415 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
416 sk-ecdsa-sha2-nistp256@openssh.com,
417 ssh-ed25519,sk-ssh-ed25519@openssh.com,
418 rsa-sha2-512,rsa-sha2-256,ssh-rsa
419
420 The list of available key types may also be obtained using "ssh
421 -Q HostbasedAcceptedKeyTypes".
422
423 HostbasedAuthentication
424 Specifies whether rhosts or /etc/hosts.equiv authentication
425 together with successful public key client host authentication is
426 allowed (host-based authentication). The default is no.
427
428 HostbasedUsesNameFromPacketOnly
429 Specifies whether or not the server will attempt to perform a
430 reverse name lookup when matching the name in the ~/.shosts,
431 ~/.rhosts, and /etc/hosts.equiv files during
432 HostbasedAuthentication. A setting of yes means that sshd(8)
433 uses the name supplied by the client rather than attempting to
434 resolve the name from the TCP connection itself. The default is
435 no.
436
437 HostCertificate
438 Specifies a file containing a public host certificate. The
439 certificate's public key must match a private host key already
440 specified by HostKey. The default behaviour of sshd(8) is not to
441 load any certificates.
442
443 HostKey
444 Specifies a file containing a private host key used by SSH. The
445 defaults are /etc/ssh/ssh_host_ecdsa_key,
446 /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key.
447
448 Note that sshd(8) will refuse to use a file if it is group/world-
449 accessible and that the HostKeyAlgorithms option restricts which
450 of the keys are actually used by sshd(8).
451
452 It is possible to have multiple host key files. It is also
453 possible to specify public host key files instead. In this case
454 operations on the private key will be delegated to an
455 ssh-agent(1).
456
457 HostKeyAgent
458 Identifies the UNIX-domain socket used to communicate with an
459 agent that has access to the private host keys. If the string
460 "SSH_AUTH_SOCK" is specified, the location of the socket will be
461 read from the SSH_AUTH_SOCK environment variable.
462
463 HostKeyAlgorithms
464 Specifies the host key algorithms that the server offers. The
465 default for this option is:
466
467 ecdsa-sha2-nistp256-cert-v01@openssh.com,
468 ecdsa-sha2-nistp384-cert-v01@openssh.com,
469 ecdsa-sha2-nistp521-cert-v01@openssh.com,
470 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
471 ssh-ed25519-cert-v01@openssh.com,
472 sk-ssh-ed25519-cert-v01@openssh.com,
473 rsa-sha2-512-cert-v01@openssh.com,
474 rsa-sha2-256-cert-v01@openssh.com,
475 ssh-rsa-cert-v01@openssh.com,
476 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
477 sk-ecdsa-sha2-nistp256@openssh.com,
478 ssh-ed25519,sk-ssh-ed25519@openssh.com,
479 rsa-sha2-512,rsa-sha2-256,ssh-rsa
480
481 The list of available key types may also be obtained using "ssh
482 -Q HostKeyAlgorithms".
483
484 IgnoreRhosts
485 Specifies that .rhosts and .shosts files will not be used in
486 HostbasedAuthentication.
487
488 /etc/hosts.equiv and /etc/shosts.equiv are still used. The
489 default is yes.
490
491 IgnoreUserKnownHosts
492 Specifies whether sshd(8) should ignore the user's
493 ~/.ssh/known_hosts during HostbasedAuthentication and use only
494 the system-wide known hosts file /etc/ssh/known_hosts. The
495 default is M-bM-^@M-^\noM-bM-^@M-^].
496
497 Include
498 Include the specified configuration file(s). Multiple pathnames
499 may be specified and each pathname may contain glob(7) wildcards.
500 Files without absolute paths are assumed to be in /etc/ssh. An
501 Include directive may appear inside a Match block to perform
502 conditional inclusion.
503
504 IPQoS Specifies the IPv4 type-of-service or DSCP class for the
505 connection. Accepted values are af11, af12, af13, af21, af22,
506 af23, af31, af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3,
507 cs4, cs5, cs6, cs7, ef, le, lowdelay, throughput, reliability, a
508 numeric value, or none to use the operating system default. This
509 option may take one or two arguments, separated by whitespace.
510 If one argument is specified, it is used as the packet class
511 unconditionally. If two values are specified, the first is
512 automatically selected for interactive sessions and the second
513 for non-interactive sessions. The default is af21 (Low-Latency
514 Data) for interactive sessions and cs1 (Lower Effort) for non-
515 interactive sessions.
516
517 KbdInteractiveAuthentication
518 Specifies whether to allow keyboard-interactive authentication.
519 The argument to this keyword must be yes or no. The default is
520 to use whatever value ChallengeResponseAuthentication is set to
521 (by default yes).
522
523 KerberosAuthentication
524 Specifies whether the password provided by the user for
525 PasswordAuthentication will be validated through the Kerberos
526 KDC. To use this option, the server needs a Kerberos servtab
527 which allows the verification of the KDC's identity. The default
528 is no.
529
530 KerberosGetAFSToken
531 If AFS is active and the user has a Kerberos 5 TGT, attempt to
532 acquire an AFS token before accessing the user's home directory.
533 The default is no.
534
535 KerberosOrLocalPasswd
536 If password authentication through Kerberos fails then the
537 password will be validated via any additional local mechanism
538 such as /etc/passwd. The default is yes.
539
540 KerberosTicketCleanup
541 Specifies whether to automatically destroy the user's ticket
542 cache file on logout. The default is yes.
543
544 KexAlgorithms
545 Specifies the available KEX (Key Exchange) algorithms. Multiple
546 algorithms must be comma-separated. Alternately if the specified
547 list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified methods will
548 be appended to the default set instead of replacing them. If the
549 specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified
550 methods (including wildcards) will be removed from the default
551 set instead of replacing them. If the specified list begins with
552 a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified methods will be placed at the
553 head of the default set. The supported algorithms are:
554
555 curve25519-sha256
556 curve25519-sha256@libssh.org
557 diffie-hellman-group1-sha1
558 diffie-hellman-group14-sha1
559 diffie-hellman-group14-sha256
560 diffie-hellman-group16-sha512
561 diffie-hellman-group18-sha512
562 diffie-hellman-group-exchange-sha1
563 diffie-hellman-group-exchange-sha256
564 ecdh-sha2-nistp256
565 ecdh-sha2-nistp384
566 ecdh-sha2-nistp521
567 sntrup4591761x25519-sha512@tinyssh.org
568
569 The default is:
570
571 curve25519-sha256,curve25519-sha256@libssh.org,
572 ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
573 diffie-hellman-group-exchange-sha256,
574 diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,
575 diffie-hellman-group14-sha256
576
577 The list of available key exchange algorithms may also be
578 obtained using "ssh -Q KexAlgorithms".
579
580 ListenAddress
581 Specifies the local addresses sshd(8) should listen on. The
582 following forms may be used:
583
584 ListenAddress hostname|address [rdomain domain]
585 ListenAddress hostname:port [rdomain domain]
586 ListenAddress IPv4_address:port [rdomain domain]
587 ListenAddress [hostname|address]:port [rdomain domain]
588
589 The optional rdomain qualifier requests sshd(8) listen in an
590 explicit routing domain. If port is not specified, sshd will
591 listen on the address and all Port options specified. The
592 default is to listen on all local addresses on the current
593 default routing domain. Multiple ListenAddress options are
594 permitted. For more information on routing domains, see
595 rdomain(4).
596
597 LoginGraceTime
598 The server disconnects after this time if the user has not
599 successfully logged in. If the value is 0, there is no time
600 limit. The default is 120 seconds.
601
602 LogLevel
603 Gives the verbosity level that is used when logging messages from
604 sshd(8). The possible values are: QUIET, FATAL, ERROR, INFO,
605 VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
606 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
607 higher levels of debugging output. Logging with a DEBUG level
608 violates the privacy of users and is not recommended.
609
610 MACs Specifies the available MAC (message authentication code)
611 algorithms. The MAC algorithm is used for data integrity
612 protection. Multiple algorithms must be comma-separated. If the
613 specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified
614 algorithms will be appended to the default set instead of
615 replacing them. If the specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y
616 character, then the specified algorithms (including wildcards)
617 will be removed from the default set instead of replacing them.
618 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
619 specified algorithms will be placed at the head of the default
620 set.
621
622 The algorithms that contain "-etm" calculate the MAC after
623 encryption (encrypt-then-mac). These are considered safer and
624 their use recommended. The supported MACs are:
625
626 hmac-md5
627 hmac-md5-96
628 hmac-sha1
629 hmac-sha1-96
630 hmac-sha2-256
631 hmac-sha2-512
632 umac-64@openssh.com
633 umac-128@openssh.com
634 hmac-md5-etm@openssh.com
635 hmac-md5-96-etm@openssh.com
636 hmac-sha1-etm@openssh.com
637 hmac-sha1-96-etm@openssh.com
638 hmac-sha2-256-etm@openssh.com
639 hmac-sha2-512-etm@openssh.com
640 umac-64-etm@openssh.com
641 umac-128-etm@openssh.com
642
643 The default is:
644
645 umac-64-etm@openssh.com,umac-128-etm@openssh.com,
646 hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
647 hmac-sha1-etm@openssh.com,
648 umac-64@openssh.com,umac-128@openssh.com,
649 hmac-sha2-256,hmac-sha2-512,hmac-sha1
650
651 The list of available MAC algorithms may also be obtained using
652 "ssh -Q mac".
653
654 Match Introduces a conditional block. If all of the criteria on the
655 Match line are satisfied, the keywords on the following lines
656 override those set in the global section of the config file,
657 until either another Match line or the end of the file. If a
658 keyword appears in multiple Match blocks that are satisfied, only
659 the first instance of the keyword is applied.
660
661 The arguments to Match are one or more criteria-pattern pairs or
662 the single token All which matches all criteria. The available
663 criteria are User, Group, Host, LocalAddress, LocalPort, RDomain,
664 and Address (with RDomain representing the rdomain(4) on which
665 the connection was received).
666
667 The match patterns may consist of single entries or comma-
668 separated lists and may use the wildcard and negation operators
669 described in the PATTERNS section of ssh_config(5).
670
671 The patterns in an Address criteria may additionally contain
672 addresses to match in CIDR address/masklen format, such as
673 192.0.2.0/24 or 2001:db8::/32. Note that the mask length
674 provided must be consistent with the address - it is an error to
675 specify a mask length that is too long for the address or one
676 with bits set in this host portion of the address. For example,
677 192.0.2.0/33 and 192.0.2.0/8, respectively.
678
679 Only a subset of keywords may be used on the lines following a
680 Match keyword. Available keywords are AcceptEnv,
681 AllowAgentForwarding, AllowGroups, AllowStreamLocalForwarding,
682 AllowTcpForwarding, AllowUsers, AuthenticationMethods,
683 AuthorizedKeysCommand, AuthorizedKeysCommandUser,
684 AuthorizedKeysFile, AuthorizedPrincipalsCommand,
685 AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile,
686 Banner, ChrootDirectory, ClientAliveCountMax,
687 ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand,
688 GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes,
689 HostbasedAuthentication, HostbasedUsesNameFromPacketOnly,
690 Include, IPQoS, KbdInteractiveAuthentication,
691 KerberosAuthentication, LogLevel, MaxAuthTries, MaxSessions,
692 PasswordAuthentication, PermitEmptyPasswords, PermitListen,
693 PermitOpen, PermitRootLogin, PermitTTY, PermitTunnel,
694 PermitUserRC, PubkeyAcceptedKeyTypes, PubkeyAuthentication,
695 RekeyLimit, RevokedKeys, RDomain, SetEnv, StreamLocalBindMask,
696 StreamLocalBindUnlink, TrustedUserCAKeys, X11DisplayOffset,
697 X11Forwarding and X11UseLocalhost.
698
699 MaxAuthTries
700 Specifies the maximum number of authentication attempts permitted
701 per connection. Once the number of failures reaches half this
702 value, additional failures are logged. The default is 6.
703
704 MaxSessions
705 Specifies the maximum number of open shell, login or subsystem
706 (e.g. sftp) sessions permitted per network connection. Multiple
707 sessions may be established by clients that support connection
708 multiplexing. Setting MaxSessions to 1 will effectively disable
709 session multiplexing, whereas setting it to 0 will prevent all
710 shell, login and subsystem sessions while still permitting
711 forwarding. The default is 10.
712
713 MaxStartups
714 Specifies the maximum number of concurrent unauthenticated
715 connections to the SSH daemon. Additional connections will be
716 dropped until authentication succeeds or the LoginGraceTime
717 expires for a connection. The default is 10:30:100.
718
719 Alternatively, random early drop can be enabled by specifying the
720 three colon separated values start:rate:full (e.g. "10:30:60").
721 sshd(8) will refuse connection attempts with a probability of
722 rate/100 (30%) if there are currently start (10) unauthenticated
723 connections. The probability increases linearly and all
724 connection attempts are refused if the number of unauthenticated
725 connections reaches full (60).
726
727 PasswordAuthentication
728 Specifies whether password authentication is allowed. The
729 default is yes.
730
731 PermitEmptyPasswords
732 When password authentication is allowed, it specifies whether the
733 server allows login to accounts with empty password strings. The
734 default is no.
735
736 PermitListen
737 Specifies the addresses/ports on which a remote TCP port
738 forwarding may listen. The listen specification must be one of
739 the following forms:
740
741 PermitListen port
742 PermitListen host:port
743
744 Multiple permissions may be specified by separating them with
745 whitespace. An argument of any can be used to remove all
746 restrictions and permit any listen requests. An argument of none
747 can be used to prohibit all listen requests. The host name may
748 contain wildcards as described in the PATTERNS section in
749 ssh_config(5). The wildcard M-bM-^@M-^X*M-bM-^@M-^Y can also be used in place of a
750 port number to allow all ports. By default all port forwarding
751 listen requests are permitted. Note that the GatewayPorts option
752 may further restrict which addresses may be listened on. Note
753 also that ssh(1) will request a listen host of M-bM-^@M-^\localhostM-bM-^@M-^] if no
754 listen host was specifically requested, and this name is treated
755 differently to explicit localhost addresses of M-bM-^@M-^\127.0.0.1M-bM-^@M-^] and
756 M-bM-^@M-^\::1M-bM-^@M-^].
757
758 PermitOpen
759 Specifies the destinations to which TCP port forwarding is
760 permitted. The forwarding specification must be one of the
761 following forms:
762
763 PermitOpen host:port
764 PermitOpen IPv4_addr:port
765 PermitOpen [IPv6_addr]:port
766
767 Multiple forwards may be specified by separating them with
768 whitespace. An argument of any can be used to remove all
769 restrictions and permit any forwarding requests. An argument of
770 none can be used to prohibit all forwarding requests. The
771 wildcard M-bM-^@M-^X*M-bM-^@M-^Y can be used for host or port to allow all hosts or
772 ports respectively. Otherwise, no pattern matching or address
773 lookups are performed on supplied names. By default all port
774 forwarding requests are permitted.
775
776 PermitRootLogin
777 Specifies whether root can log in using ssh(1). The argument
778 must be yes, prohibit-password, forced-commands-only, or no. The
779 default is prohibit-password.
780
781 If this option is set to prohibit-password (or its deprecated
782 alias, without-password), password and keyboard-interactive
783 authentication are disabled for root.
784
785 If this option is set to forced-commands-only, root login with
786 public key authentication will be allowed, but only if the
787 command option has been specified (which may be useful for taking
788 remote backups even if root login is normally not allowed). All
789 other authentication methods are disabled for root.
790
791 If this option is set to no, root is not allowed to log in.
792
793 PermitTTY
794 Specifies whether pty(4) allocation is permitted. The default is
795 yes.
796
797 PermitTunnel
798 Specifies whether tun(4) device forwarding is allowed. The
799 argument must be yes, point-to-point (layer 3), ethernet (layer
800 2), or no. Specifying yes permits both point-to-point and
801 ethernet. The default is no.
802
803 Independent of this setting, the permissions of the selected
804 tun(4) device must allow access to the user.
805
806 PermitUserEnvironment
807 Specifies whether ~/.ssh/environment and environment= options in
808 ~/.ssh/authorized_keys are processed by sshd(8). Valid options
809 are yes, no or a pattern-list specifying which environment
810 variable names to accept (for example "LANG,LC_*"). The default
811 is no. Enabling environment processing may enable users to
812 bypass access restrictions in some configurations using
813 mechanisms such as LD_PRELOAD.
814
815 PermitUserRC
816 Specifies whether any ~/.ssh/rc file is executed. The default is
817 yes.
818
819 PidFile
820 Specifies the file that contains the process ID of the SSH
821 daemon, or none to not write one. The default is
822 /var/run/sshd.pid.
823
824 Port Specifies the port number that sshd(8) listens on. The default
825 is 22. Multiple options of this type are permitted. See also
826 ListenAddress.
827
828 PrintLastLog
829 Specifies whether sshd(8) should print the date and time of the
830 last user login when a user logs in interactively. The default
831 is yes.
832
833 PrintMotd
834 Specifies whether sshd(8) should print /etc/motd when a user logs
835 in interactively. (On some systems it is also printed by the
836 shell, /etc/profile, or equivalent.) The default is yes.
837
838 PubkeyAcceptedKeyTypes
839 Specifies the key types that will be accepted for public key
840 authentication as a list of comma-separated patterns.
841 Alternately if the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
842 then the specified key types will be appended to the default set
843 instead of replacing them. If the specified list begins with a
844 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
845 will be removed from the default set instead of replacing them.
846 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
847 specified key types will be placed at the head of the default
848 set. The default for this option is:
849
850 ecdsa-sha2-nistp256-cert-v01@openssh.com,
851 ecdsa-sha2-nistp384-cert-v01@openssh.com,
852 ecdsa-sha2-nistp521-cert-v01@openssh.com,
853 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
854 ssh-ed25519-cert-v01@openssh.com,
855 sk-ssh-ed25519-cert-v01@openssh.com,
856 rsa-sha2-512-cert-v01@openssh.com,
857 rsa-sha2-256-cert-v01@openssh.com,
858 ssh-rsa-cert-v01@openssh.com,
859 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
860 sk-ecdsa-sha2-nistp256@openssh.com,
861 ssh-ed25519,sk-ssh-ed25519@openssh.com,
862 rsa-sha2-512,rsa-sha2-256,ssh-rsa
863
864 The list of available key types may also be obtained using "ssh
865 -Q PubkeyAcceptedKeyTypes".
866
867 PubkeyAuthOptions
868 Sets one or more public key authentication options. Two option
869 keywords are currently supported: none (the default; indicating
870 no additional options are enabled) and touch-required.
871
872 The touch-required option causes public key authentication using
873 a FIDO authenticator algorithm (i.e. ecdsa-sk or ed25519-sk) to
874 always require the signature to attest that a physically present
875 user explicitly confirmed the authentication (usually by touching
876 the authenticator). By default, sshd(8) requires user presence
877 unless overridden with an authorized_keys option. The
878 touch-required flag disables this override. This option has no
879 effect for other, non-authenticator public key types.
880
881 PubkeyAuthentication
882 Specifies whether public key authentication is allowed. The
883 default is yes.
884
885 RekeyLimit
886 Specifies the maximum amount of data that may be transmitted
887 before the session key is renegotiated, optionally followed a
888 maximum amount of time that may pass before the session key is
889 renegotiated. The first argument is specified in bytes and may
890 have a suffix of M-bM-^@M-^XKM-bM-^@M-^Y, M-bM-^@M-^XMM-bM-^@M-^Y, or M-bM-^@M-^XGM-bM-^@M-^Y to indicate Kilobytes,
891 Megabytes, or Gigabytes, respectively. The default is between
892 M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second
893 value is specified in seconds and may use any of the units
894 documented in the TIME FORMATS section. The default value for
895 RekeyLimit is default none, which means that rekeying is
896 performed after the cipher's default amount of data has been sent
897 or received and no time based rekeying is done.
898
899 RevokedKeys
900 Specifies revoked public keys file, or none to not use one. Keys
901 listed in this file will be refused for public key
902 authentication. Note that if this file is not readable, then
903 public key authentication will be refused for all users. Keys
904 may be specified as a text file, listing one public key per line,
905 or as an OpenSSH Key Revocation List (KRL) as generated by
906 ssh-keygen(1). For more information on KRLs, see the KEY
907 REVOCATION LISTS section in ssh-keygen(1).
908
909 RDomain
910 Specifies an explicit routing domain that is applied after
911 authentication has completed. The user session, as well and any
912 forwarded or listening IP sockets, will be bound to this
913 rdomain(4). If the routing domain is set to %D, then the domain
914 in which the incoming connection was received will be applied.
915
916 SecurityKeyProvider
917 Specifies a path to a library that will be used when loading FIDO
918 authenticator-hosted keys, overriding the default of using the
919 built-in USB HID support.
920
921 SetEnv Specifies one or more environment variables to set in child
922 sessions started by sshd(8) as M-bM-^@M-^\NAME=VALUEM-bM-^@M-^]. The environment
923 value may be quoted (e.g. if it contains whitespace characters).
924 Environment variables set by SetEnv override the default
925 environment and any variables specified by the user via AcceptEnv
926 or PermitUserEnvironment.
927
928 StreamLocalBindMask
929 Sets the octal file creation mode mask (umask) used when creating
930 a Unix-domain socket file for local or remote port forwarding.
931 This option is only used for port forwarding to a Unix-domain
932 socket file.
933
934 The default value is 0177, which creates a Unix-domain socket
935 file that is readable and writable only by the owner. Note that
936 not all operating systems honor the file mode on Unix-domain
937 socket files.
938
939 StreamLocalBindUnlink
940 Specifies whether to remove an existing Unix-domain socket file
941 for local or remote port forwarding before creating a new one.
942 If the socket file already exists and StreamLocalBindUnlink is
943 not enabled, sshd will be unable to forward the port to the Unix-
944 domain socket file. This option is only used for port forwarding
945 to a Unix-domain socket file.
946
947 The argument must be yes or no. The default is no.
948
949 StrictModes
950 Specifies whether sshd(8) should check file modes and ownership
951 of the user's files and home directory before accepting login.
952 This is normally desirable because novices sometimes accidentally
953 leave their directory or files world-writable. The default is
954 yes. Note that this does not apply to ChrootDirectory, whose
955 permissions and ownership are checked unconditionally.
956
957 Subsystem
958 Configures an external subsystem (e.g. file transfer daemon).
959 Arguments should be a subsystem name and a command (with optional
960 arguments) to execute upon subsystem request.
961
962 The command sftp-server implements the SFTP file transfer
963 subsystem.
964
965 Alternately the name internal-sftp implements an in-process SFTP
966 server. This may simplify configurations using ChrootDirectory
967 to force a different filesystem root on clients.
968
969 By default no subsystems are defined.
970
971 SyslogFacility
972 Gives the facility code that is used when logging messages from
973 sshd(8). The possible values are: DAEMON, USER, AUTH, LOCAL0,
974 LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The
975 default is AUTH.
976
977 TCPKeepAlive
978 Specifies whether the system should send TCP keepalive messages
979 to the other side. If they are sent, death of the connection or
980 crash of one of the machines will be properly noticed. However,
981 this means that connections will die if the route is down
982 temporarily, and some people find it annoying. On the other
983 hand, if TCP keepalives are not sent, sessions may hang
984 indefinitely on the server, leaving "ghost" users and consuming
985 server resources.
986
987 The default is yes (to send TCP keepalive messages), and the
988 server will notice if the network goes down or the client host
989 crashes. This avoids infinitely hanging sessions.
990
991 To disable TCP keepalive messages, the value should be set to no.
992
993 TrustedUserCAKeys
994 Specifies a file containing public keys of certificate
995 authorities that are trusted to sign user certificates for
996 authentication, or none to not use one. Keys are listed one per
997 line; empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are allowed. If
998 a certificate is presented for authentication and has its signing
999 CA key listed in this file, then it may be used for
1000 authentication for any user listed in the certificate's
1001 principals list. Note that certificates that lack a list of
1002 principals will not be permitted for authentication using
1003 TrustedUserCAKeys. For more details on certificates, see the
1004 CERTIFICATES section in ssh-keygen(1).
1005
1006 UseDNS Specifies whether sshd(8) should look up the remote host name,
1007 and to check that the resolved host name for the remote IP
1008 address maps back to the very same IP address.
1009
1010 If this option is set to no (the default) then only addresses and
1011 not host names may be used in ~/.ssh/authorized_keys from and
1012 sshd_config Match Host directives.
1013
1014 UsePAM Enables the Pluggable Authentication Module interface. If set to
1015 yes this will enable PAM authentication using
1016 ChallengeResponseAuthentication and PasswordAuthentication in
1017 addition to PAM account and session module processing for all
1018 authentication types.
1019
1020 Because PAM challenge-response authentication usually serves an
1021 equivalent role to password authentication, you should disable
1022 either PasswordAuthentication or ChallengeResponseAuthentication.
1023
1024 If UsePAM is enabled, you will not be able to run sshd(8) as a
1025 non-root user. The default is no.
1026
1027 VersionAddendum
1028 Optionally specifies additional text to append to the SSH
1029 protocol banner sent by the server upon connection. The default
1030 is none.
1031
1032 X11DisplayOffset
1033 Specifies the first display number available for sshd(8)'s X11
1034 forwarding. This prevents sshd from interfering with real X11
1035 servers. The default is 10.
1036
1037 X11Forwarding
1038 Specifies whether X11 forwarding is permitted. The argument must
1039 be yes or no. The default is no.
1040
1041 When X11 forwarding is enabled, there may be additional exposure
1042 to the server and to client displays if the sshd(8) proxy display
1043 is configured to listen on the wildcard address (see
1044 X11UseLocalhost), though this is not the default. Additionally,
1045 the authentication spoofing and authentication data verification
1046 and substitution occur on the client side. The security risk of
1047 using X11 forwarding is that the client's X11 display server may
1048 be exposed to attack when the SSH client requests forwarding (see
1049 the warnings for ForwardX11 in ssh_config(5)). A system
1050 administrator may have a stance in which they want to protect
1051 clients that may expose themselves to attack by unwittingly
1052 requesting X11 forwarding, which can warrant a no setting.
1053
1054 Note that disabling X11 forwarding does not prevent users from
1055 forwarding X11 traffic, as users can always install their own
1056 forwarders.
1057
1058 X11UseLocalhost
1059 Specifies whether sshd(8) should bind the X11 forwarding server
1060 to the loopback address or to the wildcard address. By default,
1061 sshd binds the forwarding server to the loopback address and sets
1062 the hostname part of the DISPLAY environment variable to
1063 localhost. This prevents remote hosts from connecting to the
1064 proxy display. However, some older X11 clients may not function
1065 with this configuration. X11UseLocalhost may be set to no to
1066 specify that the forwarding server should be bound to the
1067 wildcard address. The argument must be yes or no. The default
1068 is yes.
1069
1070 XAuthLocation
1071 Specifies the full pathname of the xauth(1) program, or none to
1072 not use one. The default is /usr/X11R6/bin/xauth.
1073
1074TIME FORMATS
1075 sshd(8) command-line arguments and configuration file options that
1076 specify time may be expressed using a sequence of the form:
1077 time[qualifier], where time is a positive integer value and qualifier is
1078 one of the following:
1079
1080 M-bM-^_M-(noneM-bM-^_M-) seconds
1081 s | S seconds
1082 m | M minutes
1083 h | H hours
1084 d | D days
1085 w | W weeks
1086
1087 Each member of the sequence is added together to calculate the total time
1088 value.
1089
1090 Time format examples:
1091
1092 600 600 seconds (10 minutes)
1093 10m 10 minutes
1094 1h30m 1 hour 30 minutes (90 minutes)
1095
1096TOKENS
1097 Arguments to some keywords can make use of tokens, which are expanded at
1098 runtime:
1099
1100 %% A literal M-bM-^@M-^X%M-bM-^@M-^Y.
1101 %D The routing domain in which the incoming connection was
1102 received.
1103 %F The fingerprint of the CA key.
1104 %f The fingerprint of the key or certificate.
1105 %h The home directory of the user.
1106 %i The key ID in the certificate.
1107 %K The base64-encoded CA key.
1108 %k The base64-encoded key or certificate for authentication.
1109 %s The serial number of the certificate.
1110 %T The type of the CA key.
1111 %t The key or certificate type.
1112 %U The numeric user ID of the target user.
1113 %u The username.
1114
1115 AuthorizedKeysCommand accepts the tokens %%, %f, %h, %k, %t, %U, and %u.
1116
1117 AuthorizedKeysFile accepts the tokens %%, %h, %U, and %u.
1118
1119 AuthorizedPrincipalsCommand accepts the tokens %%, %F, %f, %h, %i, %K,
1120 %k, %s, %T, %t, %U, and %u.
1121
1122 AuthorizedPrincipalsFile accepts the tokens %%, %h, %U, and %u.
1123
1124 ChrootDirectory accepts the tokens %%, %h, %U, and %u.
1125
1126 RoutingDomain accepts the token %D.
1127
1128FILES
1129 /etc/ssh/sshd_config
1130 Contains configuration data for sshd(8). This file should be
1131 writable by root only, but it is recommended (though not
1132 necessary) that it be world-readable.
1133
1134SEE ALSO
1135 sftp-server(8), sshd(8)
1136
1137AUTHORS
1138 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1139 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1140 de Raadt and Dug Song removed many bugs, re-added newer features and
1141 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1142 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
1143 for privilege separation.
1144
1145OpenBSD 6.6 February 7, 2020 OpenBSD 6.6