summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12677
-rw-r--r--config.h.in2038
-rwxr-xr-xconfigure21461
-rw-r--r--moduli.074
-rw-r--r--scp.0183
-rw-r--r--sftp-server.096
-rw-r--r--sftp.0399
-rw-r--r--ssh-add.0144
-rw-r--r--ssh-agent.0117
-rw-r--r--ssh-keygen.0790
-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.0992
-rw-r--r--ssh_config.01167
-rw-r--r--sshd.0667
-rw-r--r--sshd_config.01146
18 files changed, 42168 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000000000..f283a8b3f
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,12677 @@
1commit 9ca7e9c861775dd6c6312bc8aaab687403d24676
2Author: Damien Miller <djm@mindrot.org>
3Date: Wed May 27 10:38:00 2020 +1000
4
5 depend
6
7commit b6d251ed9af90e16c08a72c4aac2cb8ace8f94b1
8Author: djm@openbsd.org <djm@openbsd.org>
9Date: Mon May 18 04:29:35 2020 +0000
10
11 upstream: avoid possible NULL deref; from Pedro Martelletto
12
13 OpenBSD-Commit-ID: e6099c3fbb70aa67eb106e84d8b43f1fa919b721
14
15commit 3ab6fccc3935e9b778ff52f9c8d40f215d58e01d
16Author: Damien Miller <djm@mindrot.org>
17Date: Thu May 14 12:22:09 2020 +1000
18
19 prefer ln to cp for temporary copy of sshd
20
21 I saw failures on the reexec fallback test on Darwin 19.4 where
22 fork()ed children of a process that had it's executable removed
23 would instantly fail. Using ln to preserve the inode avoids this.
24
25commit f700d316c6b15a9cfbe87230d2dca81a5d916279
26Author: Darren Tucker <dtucker@dtucker.net>
27Date: Wed May 13 15:24:51 2020 +1000
28
29 Actually skip pty tests when needed.
30
31commit 08ce6b2210f46f795e7db747809f8e587429dfd2
32Author: Darren Tucker <dtucker@dtucker.net>
33Date: Wed May 13 13:56:45 2020 +1000
34
35 Skip building sk-dummy library if no SK support.
36
37commit 102d106bc2e50347d0e545fad6ff5ce408d67247
38Author: Damien Miller <djm@mindrot.org>
39Date: Wed May 13 12:08:34 2020 +1000
40
41 explicitly manage .depend and .depend.bak
42
43 Bring back removal of .depend to give the file a known state before
44 running makedepend, but manually move aside the current .depend file
45 and restore it as .depend.bak afterwards so the stale .depend check
46 works as expected.
47
48commit 83a6dc6ba1e03b3fa39d12a8522b8b0e68dd6390
49Author: Damien Miller <djm@mindrot.org>
50Date: Wed May 13 12:03:42 2020 +1000
51
52 make depend
53
54commit 7c0bbed967abed6301a63e0267cc64144357a99a
55Author: Damien Miller <djm@mindrot.org>
56Date: Wed May 13 12:01:10 2020 +1000
57
58 revert removal of .depend before makedepend
59
60 Commit 83657eac4 started removing .depend before running makedepend
61 to reset the contents of .depend to a known state. Unfortunately
62 this broke the depend-check step as now .depend.bak would only ever
63 be created as an empty file.
64
65 ok dtucker
66
67commit 58ad004acdcabf3b9f40bc3aaa206b25d998db8c
68Author: Damien Miller <djm@mindrot.org>
69Date: Tue May 12 12:58:46 2020 +1000
70
71 prepare for 8.3 release
72
73commit 4fa9e048c2af26beb7dc2ee9479ff3323e92a7b5
74Author: Darren Tucker <dtucker@dtucker.net>
75Date: Fri May 8 21:50:43 2020 +1000
76
77 Ensure SA_SIGNAL test only signals itself.
78
79 When the test's child signals its parent and it exits the result of
80 getppid changes. On Ubuntu 20.04 this results in the ppid being that
81 of the GDM session, causing it to exit. Analysis and testing from pedro
82 at ambientworks.net
83
84commit dc2da29aae76e170d22f38bb36f1f5d1edd5ec2b
85Author: Damien Miller <djm@mindrot.org>
86Date: Fri May 8 13:31:53 2020 +1000
87
88 sync config.guess/config.sub with latest versions
89
90 ok dtucker@
91
92commit a8265bd64c14881fc7f4fa592f46dfc66b911f17
93Author: djm@openbsd.org <djm@openbsd.org>
94Date: Wed May 6 20:58:01 2020 +0000
95
96 upstream: openssh-8.3; ok deraadt@
97
98 OpenBSD-Commit-ID: c8831ec88b9c750f5816aed9051031fb535d22c1
99
100commit 955854cafca88e0cdcd3d09ca1ad4ada465364a1
101Author: djm@openbsd.org <djm@openbsd.org>
102Date: Wed May 6 20:57:38 2020 +0000
103
104 upstream: another case where a utimes() failure could make scp send
105
106 a desynchronising error; reminded by Aymeric Vincent ok deraadt markus
107
108 OpenBSD-Commit-ID: 2ea611d34d8ff6d703a7a8bf858aa5dbfbfa7381
109
110commit 59d531553fd90196946743da391f3a27cf472f4e
111Author: Darren Tucker <dtucker@dtucker.net>
112Date: Thu May 7 15:34:12 2020 +1000
113
114 Check if -D_REENTRANT is needed for localtime_r.
115
116 On at least HP-UX 11.11, the localtime_r declararation is behind
117 ifdef _REENTRANT. Check for and add if needed.
118
119commit c13403e55de8cdbb9da628ed95017b1d4c0f205f
120Author: Darren Tucker <dtucker@dtucker.net>
121Date: Tue May 5 11:32:43 2020 +1000
122
123 Skip security key tests if ENABLE_SK not set.
124
125commit 4da393f87cd52d788c84112ee3f2191c9bcaaf30
126Author: djm@openbsd.org <djm@openbsd.org>
127Date: Fri May 1 04:03:14 2020 +0000
128
129 upstream: sure enough, some of the test data that we though were in
130
131 new format were actually in the old format; fix from Michael Forney
132
133 OpenBSD-Regress-ID: a41a5c43a61b0f0b1691994dbf16dfb88e8af933
134
135commit 15bfafc1db4c8792265ada9623a96f387990f732
136Author: djm@openbsd.org <djm@openbsd.org>
137Date: Fri May 1 04:00:29 2020 +0000
138
139 upstream: make mktestdata.sh generate old/new format keys that we
140
141 expect. This script was written before OpenSSH switched to new-format private
142 keys by default and was never updated to the change (until now) From Michael
143 Forney
144
145 OpenBSD-Regress-ID: 38cf354715c96852e5b71c2393fb6e7ad28b7ca7
146
147commit 7882d2eda6ad3eb82220a85294de545d20ef82db
148Author: djm@openbsd.org <djm@openbsd.org>
149Date: Fri May 1 03:58:02 2020 +0000
150
151 upstream: portability fix for sed that always emil a newline even
152
153 if the input does not contain one; from Michael Forney
154
155 OpenBSD-Regress-ID: 9190c3ddf0d2562ccc02c4a95fce0e392196bfc7
156
157commit 8074f9499e454df0acdacea33598858a1453a357
158Author: djm@openbsd.org <djm@openbsd.org>
159Date: Fri May 1 03:36:25 2020 +0000
160
161 upstream: remove obsolete RSA1 test keys; spotted by Michael Forney
162
163 OpenBSD-Regress-ID: 6384ba889594e217d166908ed8253718ab0866da
164
165commit c697e46c314aa94574af0d393d80f23e0ebc9748
166Author: Darren Tucker <dtucker@dtucker.net>
167Date: Sat May 2 18:34:47 2020 +1000
168
169 Update .depend.
170
171commit 83657eac42941f270c4b02b2c46d9a21f616ef99
172Author: Darren Tucker <dtucker@dtucker.net>
173Date: Sat May 2 18:29:40 2020 +1000
174
175 Remove use of tail for 'make depend'.
176
177 Not every tail supports +N and we can do with out it so just remove it.
178 Prompted by mforney at mforney.org.
179
180commit d25d630d24c5a1c64d4e646510e79dc22d6d7b88
181Author: djm@openbsd.org <djm@openbsd.org>
182Date: Sat May 2 07:19:43 2020 +0000
183
184 upstream: we have a sshkey_save_public() function to save public keys;
185
186 use it and save a bunch of redundant code.
187
188 Patch from loic AT venez.fr; ok markus@ djm@
189
190 OpenBSD-Commit-ID: f93e030a0ebcd0fd9054ab30db501ec63454ea5f
191
192commit e9dc9863723e111ae05e353d69df857f0169544a
193Author: Darren Tucker <dtucker@dtucker.net>
194Date: Fri May 1 18:32:25 2020 +1000
195
196 Use LONG_LONG_MAX and friends if available.
197
198 If we don't have LLONG_{MIN,MAX} but do have LONG_LONG_{MIN,MAX}
199 then use those instead. We do calculate these values in configure,
200 but it turns out that at least one compiler (old HP ANSI C) can't
201 parse "-9223372036854775808LL" without mangling it. (It can parse
202 "-9223372036854775807LL" which is presumably why its limits.h defines
203 LONG_LONG_MIN as the latter minus 1.)
204
205 Fixes rekey test when compiled with the aforementioned compiler.
206
207commit aad87b88fc2536b1ea023213729aaf4eaabe1894
208Author: djm@openbsd.org <djm@openbsd.org>
209Date: Fri May 1 06:31:42 2020 +0000
210
211 upstream: when receving a file in sink(), be careful to send at
212
213 most a single error response after the file has been opened. Otherwise the
214 source() and sink() can become desyncronised. Reported by Daniel Goujot,
215 Georges-Axel Jaloyan, Ryan Lahfa, and David Naccache.
216
217 ok deraadt@ markus@
218
219 OpenBSD-Commit-ID: 6c14d233c97349cb811a8f7921ded3ae7d9e0035
220
221commit 31909696c4620c431dd55f6cd15db65c4e9b98da
222Author: djm@openbsd.org <djm@openbsd.org>
223Date: Fri May 1 06:28:52 2020 +0000
224
225 upstream: expose vasnmprintf(); ok (as part of other commit) markus
226
227 deraadt
228
229 OpenBSD-Commit-ID: 2e80cea441c599631a870fd40307d2ade5a7f9b5
230
231commit 99ce9cefbe532ae979744c6d956b49f4b02aff82
232Author: djm@openbsd.org <djm@openbsd.org>
233Date: Fri May 1 04:23:11 2020 +0000
234
235 upstream: avoid NULL dereference when attempting to convert invalid
236
237 ssh.com private keys using "ssh-keygen -i"; spotted by Michael Forney
238
239 OpenBSD-Commit-ID: 2e56e6d26973967d11d13f56ea67145f435bf298
240
241commit 6c6072ba8b079e6f5caa38b011a6f4570c14ed38
242Author: Darren Tucker <dtucker@dtucker.net>
243Date: Fri May 1 15:09:26 2020 +1000
244
245 See if SA_RESTART signals will interrupt select().
246
247 On some platforms (at least older HP-UXes such as 11.11, possibly others)
248 setting SA_RESTART on signal handers will cause it to not interrupt
249 select(), at least for calls that do not specify a timeout. Try to
250 detect this and if found, don't use SA_RESTART.
251
252 POSIX says "If SA_RESTART has been set for the interrupting signal, it
253 is implementation-dependent whether select() restarts or returns with
254 [EINTR]" so this behaviour is within spec.
255
256commit 90a0b434ed41f9c505662dba8782591818599cb3
257Author: Damien Miller <djm@mindrot.org>
258Date: Fri May 1 13:55:03 2020 +1000
259
260 fix reversed test
261
262commit c0dfd18dd1c2107c73d18f70cd164f7ebd434b08
263Author: Damien Miller <djm@mindrot.org>
264Date: Fri May 1 13:29:16 2020 +1000
265
266 wrap sha2.h inclusion in #ifdef HAVE_SHA2_H
267
268commit a01817a9f63dbcbbc6293aacc4019993a4cdc7e3
269Author: djm@openbsd.org <djm@openbsd.org>
270Date: Tue Apr 28 04:59:29 2020 +0000
271
272 upstream: adapt dummy FIDO middleware to API change; ok markus@
273
274 OpenBSD-Regress-ID: 8bb84ee500c2eaa5616044314dd0247709a1790f
275
276commit 261571ddf02ea38fdb5e4a97c69ee53f847ca5b7
277Author: jmc@openbsd.org <jmc@openbsd.org>
278Date: Thu Apr 30 18:28:37 2020 +0000
279
280 upstream: tweak previous; ok markus
281
282 OpenBSD-Commit-ID: 41895450ce2294ec44a5713134491cc31f0c09fd
283
284commit 5de21c82e1d806d3e401b5338371e354b2e0a66f
285Author: markus@openbsd.org <markus@openbsd.org>
286Date: Thu Apr 30 17:12:20 2020 +0000
287
288 upstream: bring back debug() removed in rev 1.74; noted by pradeep
289
290 kumar
291
292 OpenBSD-Commit-ID: 8d134d22ab25979078a3b48d058557d49c402e65
293
294commit ea14103ce9a5e13492e805f7e9277516ff5a4273
295Author: markus@openbsd.org <markus@openbsd.org>
296Date: Thu Apr 30 17:07:10 2020 +0000
297
298 upstream: run the 2nd ssh with BatchMode for scp -3
299
300 OpenBSD-Commit-ID: 77994fc8c7ca02d88e6d0d06d0f0fe842a935748
301
302commit 59d2de956ed29aa5565ed5e5947a7abdb27ac013
303Author: djm@openbsd.org <djm@openbsd.org>
304Date: Tue Apr 28 04:02:29 2020 +0000
305
306 upstream: when signing a challenge using a FIDO toke, perform the
307
308 hashing in the middleware layer rather than in ssh code. This allows
309 middlewares that call APIs that perform the hashing implicitly (including
310 Microsoft's AFAIK). ok markus@
311
312 OpenBSD-Commit-ID: c9fc8630aba26c75d5016884932f08a5a237f37d
313
314commit c9d10dbc0ccfb1c7568bbb784f7aeb7a0b5ded12
315Author: dtucker@openbsd.org <dtucker@openbsd.org>
316Date: Sun Apr 26 09:38:14 2020 +0000
317
318 upstream: Fix comment typo. Patch from mforney at mforney.org.
319
320 OpenBSD-Commit-ID: 3565f056003707a5e678e60e03f7a3efd0464a2b
321
322commit 4d2c87b4d1bde019cdd0f00552fcf97dd8b39940
323Author: dtucker@openbsd.org <dtucker@openbsd.org>
324Date: Sat Apr 25 06:59:36 2020 +0000
325
326 upstream: We've standardized on memset over bzero, replace a couple
327
328 that had slipped in. ok deraadt markus djm.
329
330 OpenBSD-Commit-ID: f5be055554ee93e6cc66b0053b590bef3728dbd6
331
332commit 7f23f42123d64272a7b00754afa6b0841d676691
333Author: Darren Tucker <dtucker@dtucker.net>
334Date: Fri May 1 12:21:58 2020 +1000
335
336 Include sys/byteorder.h for htons and friends.
337
338 These are usually in netinet/in.h but on HP-UX they are not defined if
339 _XOPEN_SOURCE_EXTENDED is set. Only needed for netcat in the regression
340 tests.
341
342commit d27cba58c972d101a5de976777e518f34ac779cb
343Author: Darren Tucker <dtucker@dtucker.net>
344Date: Fri May 1 09:21:52 2020 +1000
345
346 Fix conditional for openssl-based chacha20.
347
348 Fixes warnings or link errors when building against older OpenSSLs.
349 ok djm
350
351commit 20819b962dc1467cd6fad5486a7020c850efdbee
352Author: Darren Tucker <dtucker@dtucker.net>
353Date: Fri Apr 24 15:07:55 2020 +1000
354
355 Error out if given RDomain if unsupported.
356
357 If the config contained 'RDomain %D' on a platform that did not support
358 it, the error would not be detected until runtime resulting in a broken
359 sshd. Detect this earlier and error out if found. bz#3126, based on a
360 patch from jjelen at redhat.com, tweaks and ok djm@
361
362commit 2c1690115a585c624eed2435075a93a463a894e2
363Author: dtucker@openbsd.org <dtucker@openbsd.org>
364Date: Fri Apr 24 03:33:21 2020 +0000
365
366 upstream: Fix incorrect error message for "too many known hosts files."
367
368 bz#3149, patch from jjelen at redhat.com.
369
370 OpenBSD-Commit-ID: e0fcb07ed5cf7fd54ce340471a747c24454235e5
371
372commit 3beb7276e7a8aedd3d4a49f9c03b97f643448c92
373Author: dtucker@openbsd.org <dtucker@openbsd.org>
374Date: Fri Apr 24 02:19:40 2020 +0000
375
376 upstream: Remove leave_non_blocking() which is now dead code
377
378 because nothing sets in_non_blocking_mode any more. Patch from
379 michaael.meeks at collabora.com, ok djm@
380
381 OpenBSD-Commit-ID: c403cefe97a5a99eca816e19cc849cdf926bd09c
382
383commit 8654e3561772f0656e7663a0bd6a1a8cb6d43300
384Author: jmc@openbsd.org <jmc@openbsd.org>
385Date: Thu Apr 23 21:28:09 2020 +0000
386
387 upstream: ce examples of "Ar arg Ar arg" with "Ar arg arg" and
388
389 stop the spread;
390
391 OpenBSD-Commit-ID: af0e952ea0f5e2019c2ce953ed1796eca47f0705
392
393commit 67697e4a8246dd8423e44b8785f3ee31fee72d07
394Author: Darren Tucker <dtucker@dtucker.net>
395Date: Fri Apr 24 11:10:18 2020 +1000
396
397 Update .depend.
398
399commit d6cc76176216fe3fac16cd20d148d75cb9c50876
400Author: Darren Tucker <dtucker@dtucker.net>
401Date: Wed Apr 22 14:07:00 2020 +1000
402
403 Mailing list is now closed to non-subscribers.
404
405 While there, add a reference to the bugzilla. ok djm@
406
407commit cecde6a41689d0ae585ec903b190755613a6de79
408Author: Darren Tucker <dtucker@dtucker.net>
409Date: Wed Apr 22 12:09:40 2020 +1000
410
411 Put the values from env vars back.
412
413 This merges the values from the recently removed environment into make's
414 command line arguments since we actually need those.
415
416commit 300c4322b92e98d3346efa0aec1c094c94d0f964
417Author: Darren Tucker <dtucker@dtucker.net>
418Date: Wed Apr 22 11:33:15 2020 +1000
419
420 Pass configure's egrep through to test-exec.sh.
421
422 Use it to create a wrapper function to call it from tests. Fixes the
423 keygen-comment test on platforms with impoverished default egrep (eg
424 Solaris).
425
426commit c8d9796cfe046f00eb8b2096d2b7028d6a523a84
427Author: Darren Tucker <dtucker@dtucker.net>
428Date: Wed Apr 22 10:56:44 2020 +1000
429
430 Remove unneeded env vars from t-exec invocation.
431
432commit 01d4cdcd4514e99a4b6eb9523cd832bbf008d1d7
433Author: dtucker@openbsd.org <dtucker@openbsd.org>
434Date: Tue Apr 21 23:14:58 2020 +0000
435
436 upstream: Backslash '$' at then end of string. Prevents warning on
437
438 some shells.
439
440 OpenBSD-Regress-ID: 5dc27ab624c09d34078fd326b10e38c1ce9c741f
441
442commit 8854724ccefc1fa16f10b37eda2e759c98148caa
443Author: Darren Tucker <dtucker@dtucker.net>
444Date: Tue Apr 21 18:27:23 2020 +1000
445
446 Sync rev 1.49.
447
448 Prevent infinite for loop since i went from ssize_t to size_t. Patch from
449 eagleoflqj via OpenSSH github PR#178, ok djm@, feedback & ok millert@
450
451commit d00d07b6744d3b4bb7aca46c734ecd670148da23
452Author: djm@openbsd.org <djm@openbsd.org>
453Date: Mon Apr 20 04:44:47 2020 +0000
454
455 upstream: regression test for printing of private key fingerprints and
456
457 key comments, mostly by loic AT venez.fr (slightly tweaked for portability)
458 ok dtucker@
459
460 OpenBSD-Regress-ID: 8dc6c4feaf4fe58b6d634cd89afac9a13fd19004
461
462commit a98d5ba31e5e7e01317352f85fa63b846a960f8c
463Author: djm@openbsd.org <djm@openbsd.org>
464Date: Mon Apr 20 04:43:57 2020 +0000
465
466 upstream: fix a bug I introduced in r1.406: when printing private key
467
468 fingerprint of old-format key, key comments were not being displayed. Spotted
469 by loic AT venez.fr, ok dtucker
470
471 OpenBSD-Commit-ID: 2d98e4f9eb168eea733d17e141e1ead9fe26e533
472
473commit 32f2d0aad42c15e19bd3b07496076ca891573a58
474Author: djm@openbsd.org <djm@openbsd.org>
475Date: Fri Apr 17 07:16:07 2020 +0000
476
477 upstream: repair private key fingerprint printing to also print
478
479 comment after regression caused by my recent pubkey loading refactor.
480 Reported by loic AT venez.fr, ok dtucker@
481
482 OpenBSD-Commit-ID: f8db49acbee6a6ccb2a4259135693b3cceedb89e
483
484commit 094dd513f4b42e6a3cebefd18d1837eb709b4d99
485Author: djm@openbsd.org <djm@openbsd.org>
486Date: Fri Apr 17 07:15:11 2020 +0000
487
488 upstream: refactor out some duplicate private key loading code;
489
490 based on patch from loic AT venez.fr, ok dtucker@
491
492 OpenBSD-Commit-ID: 5eff2476b0d8d0614924c55e350fb7bb9c84f45e
493
494commit 4e04f46f248f1708e39b900b76c9693c820eff68
495Author: jmc@openbsd.org <jmc@openbsd.org>
496Date: Fri Apr 17 06:12:41 2020 +0000
497
498 upstream: add space beteen macro arg and punctuation;
499
500 OpenBSD-Commit-ID: c93a6cbb4bf9468fc4c13e64bc1fd4efee201a44
501
502commit 44ae009a0112081d0d541aeaa90088bedb6f21ce
503Author: djm@openbsd.org <djm@openbsd.org>
504Date: Fri Apr 17 04:27:03 2020 +0000
505
506 upstream: auth2-pubkey r1.89 changed the order of operations to
507
508 checking AuthorizedKeysFile first and falling back to AuthorizedKeysCommand
509 if no key was found in a file. Document this order here; bz3134
510
511 OpenBSD-Commit-ID: afce0872cbfcfc1d4910ad7722e50f792a1dce12
512
513commit f96f17f920f38ceea6f3c5cb0b075c46b8929fdc
514Author: Damien Miller <djm@mindrot.org>
515Date: Fri Apr 17 14:07:15 2020 +1000
516
517 sys/sysctl.h is only used on OpenBSD
518
519 so change the preprocessor test used to include it to check
520 __OpenBSD__, matching the code that uses the symbols it declares.
521
522commit 54688e937a69c7aebef8a3d50cbd4c6345bab2ca
523Author: djm@openbsd.org <djm@openbsd.org>
524Date: Fri Apr 17 03:38:47 2020 +0000
525
526 upstream: fix reversed test that caused IdentitiesOnly=yes to not
527
528 apply to keys loaded from a PKCS11Provider; bz3141, ok dtucker@
529
530 OpenBSD-Commit-ID: e3dd6424b94685671fe84c9b9dbe352fb659f677
531
532commit 267cbc87b5b6e78973ac4d3c7a6f807ed226928c
533Author: djm@openbsd.org <djm@openbsd.org>
534Date: Fri Apr 17 03:34:42 2020 +0000
535
536 upstream: mention that /etc/hosts.equiv and /etc/shosts.equiv are
537
538 not considered for HostbasedAuthentication when the target user is root;
539 bz3148
540
541 OpenBSD-Commit-ID: fe4c1256929e53f23af17068fbef47852f4bd752
542
543commit c90f72d29e84b4a2709078bf5546a72c29a65177
544Author: djm@openbsd.org <djm@openbsd.org>
545Date: Fri Apr 17 03:30:05 2020 +0000
546
547 upstream: make IgnoreRhosts a tri-state option: "yes" ignore
548
549 rhosts/shosts, "no" allow rhosts/shosts or (new) "shosts-only" to allow
550 .shosts files but not .rhosts. ok dtucker@
551
552 OpenBSD-Commit-ID: d08d6930ed06377a80cf53923c1955e9589342e9
553
554commit 321c7147079270f3a154f91b59e66219aac3d514
555Author: djm@openbsd.org <djm@openbsd.org>
556Date: Fri Apr 17 03:23:13 2020 +0000
557
558 upstream: allow the IgnoreRhosts directive to appear anywhere in a
559
560 sshd_config, not just before any Match blocks; bz3148, ok dtucker@
561
562 OpenBSD-Commit-ID: e042467d703bce640b1f42c5d1a62bf3825736e8
563
564commit ca5403b085a735055ec7b7cdcd5b91f2662df94c
565Author: jmc@openbsd.org <jmc@openbsd.org>
566Date: Sat Apr 11 20:20:09 2020 +0000
567
568 upstream: add space between macro arg and punctuation;
569
570 OpenBSD-Commit-ID: e579e4d95eef13059c30931ea1f09ed8296b819c
571
572commit 8af0244d7b4a65eed2e62f9c89141c7c8e63f09d
573Author: Darren Tucker <dtucker@dtucker.net>
574Date: Wed Apr 15 10:58:02 2020 +1000
575
576 Add sys/syscall.h for syscall numbers.
577
578 In some architecture/libc configurations we need to explicitly include
579 sys/syscall.h for the syscall number (__NR_xxx) definitions. bz#3085,
580 patch from blowfist at xroutine.net.
581
582commit 3779b50ee952078018a5d9e1df20977f4355df17
583Author: djm@openbsd.org <djm@openbsd.org>
584Date: Sat Apr 11 10:16:11 2020 +0000
585
586 upstream: Refactor private key parsing. Eliminates a fair bit of
587
588 duplicated code and fixes oss-fuzz#20074 (NULL deref) caused by a missing key
589 type check in the ECDSA_CERT parsing path.
590
591 feedback and ok markus@
592
593 OpenBSD-Commit-ID: 4711981d88afb7196d228f7baad9be1d3b20f9c9
594
595commit b6a4013647db67ec622c144a9e05dd768f1966b3
596Author: dtucker@openbsd.org <dtucker@openbsd.org>
597Date: Fri Apr 10 00:54:03 2020 +0000
598
599 upstream: Add tests for TOKEN expansion of LocalForward and
600
601 RemoteForward.
602
603 OpenBSD-Regress-ID: 90fcbc60d510eb114a2b6eaf4a06ff87ecd80a89
604
605commit abc3e0a5179c13c0469a1b11fe17d832abc39999
606Author: dtucker@openbsd.org <dtucker@openbsd.org>
607Date: Mon Apr 6 09:43:55 2020 +0000
608
609 upstream: Add utf8.c for asmprintf used by krl.c
610
611 OpenBSD-Regress-ID: 433708d11165afdb189fe635151d21659dd37a37
612
613commit 990687a0336098566c3a854d23cce74a31ec6fe2
614Author: dtucker@openbsd.org <dtucker@openbsd.org>
615Date: Fri Apr 10 00:52:07 2020 +0000
616
617 upstream: Add TOKEN percent expansion to LocalFoward and RemoteForward
618
619 when used for Unix domain socket forwarding. Factor out the code for the
620 config keywords that use the most common subset of TOKENS into its own
621 function. bz#3014, ok jmc@ (man page bits) djm@
622
623 OpenBSD-Commit-ID: bffc9f7e7b5cf420309a057408bef55171fd0b97
624
625commit 2b13d3934d5803703c04803ca3a93078ecb5b715
626Author: djm@openbsd.org <djm@openbsd.org>
627Date: Wed Apr 8 00:10:37 2020 +0000
628
629 upstream: let sshkey_try_load_public() load public keys from the
630
631 unencrypted envelope of private key files if not sidecar public key file is
632 present.
633
634 ok markus@
635
636 OpenBSD-Commit-ID: 252a0a580e10b9a6311632530d63b5ac76592040
637
638commit d01f39304eaab0352793b490a25e1ab5f59a5366
639Author: djm@openbsd.org <djm@openbsd.org>
640Date: Wed Apr 8 00:09:24 2020 +0000
641
642 upstream: simplify sshkey_try_load_public()
643
644 ok markus@
645
646 OpenBSD-Commit-ID: 05a5d46562aafcd70736c792208b1856064f40ad
647
648commit f290ab0833e44355fc006e4e67b92446c14673ef
649Author: djm@openbsd.org <djm@openbsd.org>
650Date: Wed Apr 8 00:08:46 2020 +0000
651
652 upstream: add sshkey_parse_pubkey_from_private_fileblob_type()
653
654 Extracts a public key from the unencrypted envelope of a new-style
655 OpenSSH private key.
656
657 ok markus@
658
659 OpenBSD-Commit-ID: 44d7ab446e5e8c686aee96d5897b26b3939939aa
660
661commit 8d514eea4ae089626a55e11c7bc1745c8d9683e4
662Author: djm@openbsd.org <djm@openbsd.org>
663Date: Wed Apr 8 00:07:19 2020 +0000
664
665 upstream: simplify sshkey_parse_private_fileblob_type()
666
667 Try new format parser for all key types first, fall back to PEM
668 parser only for invalid format errors.
669
670 ok markus@
671
672 OpenBSD-Commit-ID: 0173bbb3a5cface77b0679d4dca0e15eb5600b77
673
674commit 421169d0e758351b105eabfcebf42378ebf17217
675Author: djm@openbsd.org <djm@openbsd.org>
676Date: Wed Apr 8 00:05:59 2020 +0000
677
678 upstream: check private key type against requested key type in
679
680 new-style private decoding; ok markus@
681
682 OpenBSD-Commit-ID: 04d44b3a34ce12ce5187fb6f6e441a88c8c51662
683
684commit 6aabfb6d22b36d07f584cba97f4cdc4363a829da
685Author: djm@openbsd.org <djm@openbsd.org>
686Date: Wed Apr 8 00:04:32 2020 +0000
687
688 upstream: check that pubkey in private key envelope matches actual
689
690 private key
691
692 (this public key is currently unusued)
693
694 ok markus@
695
696 OpenBSD-Commit-ID: 634a60b5e135d75f48249ccdf042f3555112049c
697
698commit c0f5b2294796451001fd328c44f0d00f1114eddf
699Author: djm@openbsd.org <djm@openbsd.org>
700Date: Wed Apr 8 00:01:52 2020 +0000
701
702 upstream: refactor private key parsing a little
703
704 Split out the base64 decoding and private section decryption steps in
705 to separate functions. This will make the decryption step easier to fuzz
706 as well as making it easier to write a "load public key from new-format
707 private key" function.
708
709 ok markus@
710
711 OpenBSD-Commit-ID: 7de31d80fb9062aa01901ddf040c286b64ff904e
712
713commit 8461a5b3db34ed0b5a4a18d82f64fd5ac8693ea8
714Author: Darren Tucker <dtucker@dtucker.net>
715Date: Mon Apr 6 20:54:34 2020 +1000
716
717 Include openssl-compat.h before checking ifdefs.
718
719 Fixes problem where unsuitable chacha20 code in libressl would be used
720 unintentionally.
721
722commit 931c50c5883a9910ea1ae9a371e4e815ec56b035
723Author: Damien Miller <djm@mindrot.org>
724Date: Mon Apr 6 10:04:56 2020 +1000
725
726 fix inverted test for LibreSSL version
727
728commit d1d5f728511e2338b7c994968d301d8723012264
729Author: dtucker@openbsd.org <dtucker@openbsd.org>
730Date: Sat Apr 4 23:04:41 2020 +0000
731
732 upstream: Indicate if we're using a cached key in trace output.
733
734 OpenBSD-Regress-ID: 409a7b0e59d1272890fda507651c0c3d2d3c0d89
735
736commit a398251a4627367c78bc483c70c2ec973223f82c
737Author: Darren Tucker <dtucker@dtucker.net>
738Date: Sun Apr 5 08:43:57 2020 +1000
739
740 Use /usr/bin/xp4g/id if necessary.
741
742 Solaris' native "id" doesn't support the options we use but the one
743 in /usr/bin/xp4g does, so use that instead.
744
745commit db0fdd48335b5b01114f78c1a73a195235910f81
746Author: dtucker@openbsd.org <dtucker@openbsd.org>
747Date: Sat Apr 4 22:14:26 2020 +0000
748
749 upstream: Some platforms don't have "hostname -s", so use cut to trim
750
751 short hostname instead.
752
753 OpenBSD-Regress-ID: ebcf36a6fdf287c9336b0d4f6fc9f793c05307a7
754
755commit e7e59a9cc8eb7fd5944ded28f4d7e3ae0a5fdecd
756Author: dtucker@openbsd.org <dtucker@openbsd.org>
757Date: Fri Apr 3 07:53:10 2020 +0000
758
759 upstream: Compute hash locally and re-enable %C tests.
760
761 OpenBSD-Regress-ID: 94d1366e8105274858b88a1f9ad2e62801e49770
762
763commit abe2b245b3ac6c4801e99bc0f13289cd28211e22
764Author: Damien Miller <djm@mindrot.org>
765Date: Fri Apr 3 17:25:46 2020 +1100
766
767 prefer libcrypto chacha20-poly1305 where possible
768
769commit bc5c5d01ad668981f9e554e62195383bc12e8528
770Author: dtucker@openbsd.org <dtucker@openbsd.org>
771Date: Fri Apr 3 05:43:11 2020 +0000
772
773 upstream: Temporarily remove tests for '%C' since the hash contains the
774
775 local hostname and it doesn't work on any machine except mine... spotted by
776 djm@
777
778 OpenBSD-Regress-ID: 2d4c3585b9fcbbff14f4a5a5fde51dbd0d690401
779
780commit 81624026989654955a657ebf2a1fe8b9994f3c87
781Author: djm@openbsd.org <djm@openbsd.org>
782Date: Fri Apr 3 06:07:57 2020 +0000
783
784 upstream: r1.522 deleted one too many lines; repair
785
786 OpenBSD-Commit-ID: 1af8851fd7a99e4a887b19aa8f4c41a6b3d25477
787
788commit 668cb3585ce829bd6e34d4a962c489bda1d16370
789Author: jmc@openbsd.org <jmc@openbsd.org>
790Date: Fri Apr 3 05:53:52 2020 +0000
791
792 upstream: sort -N and add it to usage();
793
794 OpenBSD-Commit-ID: 5b00e8db37c2b0a54c7831fed9e5f4db53ada332
795
796commit 338ccee1e7fefa47f3d128c2541e94c5270abe0c
797Author: djm@openbsd.org <djm@openbsd.org>
798Date: Fri Apr 3 05:48:57 2020 +0000
799
800 upstream: avoid another compiler warning spotted in -portable
801
802 OpenBSD-Commit-ID: 1d29c51ac844b287c4c8bcaf04c63c7d9ba3b8c7
803
804commit 9f8a42340bd9af86a99cf554dc39ecdf89287544
805Author: djm@openbsd.org <djm@openbsd.org>
806Date: Fri Apr 3 04:07:48 2020 +0000
807
808 upstream: this needs utf8.c too
809
810 OpenBSD-Regress-ID: 445040036cec714d28069a20da25553a04a28451
811
812commit 92115ea7c3a834374720c350841fc729e7d5c8b2
813Author: dtucker@openbsd.org <dtucker@openbsd.org>
814Date: Fri Apr 3 03:14:03 2020 +0000
815
816 upstream: Add percent_expand test for 'Match Exec'.
817
818 OpenBSD-Regress-ID: a41c14fd6a0b54d66aa1e9eebfb9ec962b41232f
819
820commit de34a440276ae855c38deb20f926d46752c62c9d
821Author: djm@openbsd.org <djm@openbsd.org>
822Date: Fri Apr 3 04:43:24 2020 +0000
823
824 upstream: fix format string (use %llu for uint64, not %lld). spotted by
825
826 Darren and his tinderbox tests
827
828 OpenBSD-Commit-ID: 3b4587c3d9d46a7be9bdf028704201943fba96c2
829
830commit 9cd40b829a5295cc81fbea8c7d632b2478db6274
831Author: djm@openbsd.org <djm@openbsd.org>
832Date: Fri Apr 3 04:34:15 2020 +0000
833
834 upstream: Add a flag to re-enable verbose output when in batch
835
836 mode; requested in bz3135; ok dtucker
837
838 OpenBSD-Commit-ID: 5ad2ed0e6440562ba9c84b666a5bbddc1afe2e2b
839
840commit 6ce51a5da5d333a44e7c74c027f3571f70c39b24
841Author: djm@openbsd.org <djm@openbsd.org>
842Date: Fri Apr 3 04:32:21 2020 +0000
843
844 upstream: chacha20-poly1305 AEAD using libcrypto EVP_chacha20
845
846 Based on patch from Yuriy M. Kaminskiy. ok + lots of assistance along the
847 way at a2k20 tb@
848
849 OpenBSD-Commit-ID: 5e08754c13d31258bae6c5e318cc96219d6b10f0
850
851commit eba523f0a130f1cce829e6aecdcefa841f526a1a
852Author: djm@openbsd.org <djm@openbsd.org>
853Date: Fri Apr 3 04:27:03 2020 +0000
854
855 upstream: make Chacha20-POLY1305 context struct opaque; ok tb@ as
856
857 part of a larger diff at a2k20
858
859 OpenBSD-Commit-ID: a4609b7263284f95c9417ef60ed7cdbb7bf52cfd
860
861commit ebd29e90129cf18fedfcfe1de86e324228669295
862Author: djm@openbsd.org <djm@openbsd.org>
863Date: Fri Apr 3 04:06:26 2020 +0000
864
865 upstream: fix debug statement
866
867 OpenBSD-Commit-ID: 42c6edeeda5ce88b51a20d88c93be3729ce6b916
868
869commit 7b4d8999f2e1a0cb7b065e3efa83e6edccfc7d82
870Author: djm@openbsd.org <djm@openbsd.org>
871Date: Fri Apr 3 04:03:51 2020 +0000
872
873 upstream: the tunnel-forwarding vs ExitOnForwardFailure fix that I
874
875 committed earlier had an off-by-one. Fix this and add some debugging that
876 would have made it apparent sooner.
877
878 OpenBSD-Commit-ID: 082f8f72b1423bd81bbdad750925b906e5ac6910
879
880commit eece243666d44ceb710d004624c5c7bdc05454bc
881Author: dtucker@openbsd.org <dtucker@openbsd.org>
882Date: Fri Apr 3 03:12:11 2020 +0000
883
884 upstream: %C expansion just added to Match Exec should include
885
886 remote user not local user.
887
888 OpenBSD-Commit-ID: 80f1d976938f2a55ee350c11d8b796836c8397e2
889
890commit d5318a784d016478fc8da90a38d9062c51c10432
891Author: dtucker@openbsd.org <dtucker@openbsd.org>
892Date: Fri Apr 3 02:33:31 2020 +0000
893
894 upstream: Add regression test for percent expansions where possible.
895
896 OpenBSD-Regress-ID: 7283be8b2733ac1cbefea3048a23d02594485288
897
898commit 663e84bb53de2a60e56a44d538d25b8152b5c1cc
899Author: djm@openbsd.org <djm@openbsd.org>
900Date: Fri Apr 3 02:40:32 2020 +0000
901
902 upstream: make failures when establishing "Tunnel" forwarding terminate
903
904 the connection when ExitOnForwardFailure is enabled; bz3116; ok dtucker
905
906 OpenBSD-Commit-ID: ef4b4808de0a419c17579b1081da768625c1d735
907
908commit ed833da176611a39d3376d62154eb88eb440d31c
909Author: dtucker@openbsd.org <dtucker@openbsd.org>
910Date: Fri Apr 3 02:27:12 2020 +0000
911
912 upstream: Make with config keywords support which
913
914 percent_expansions more consistent. - %C is moved into its own function and
915 added to Match Exec. - move the common (global) options into a macro. This
916 is ugly but it's the least-ugly way I could come up with. - move
917 IdentityAgent and ForwardAgent percent expansion to before the config dump
918 to make it regression-testable. - document all of the above
919
920 ok jmc@ for man page bits, "makes things less terrible" djm@ for the rest.
921
922 OpenBSD-Commit-ID: 4b65664bd6d8ae2a9afaf1a2438ddd1b614b1d75
923
924commit 6ec7457171468da2bbd908b8cd63d298b0e049ea
925Author: djm@openbsd.org <djm@openbsd.org>
926Date: Fri Apr 3 02:26:56 2020 +0000
927
928 upstream: give ssh-keygen the ability to dump the contents of a
929
930 binary key revocation list: ssh-keygen -lQf /path bz#3132; ok dtucker
931
932 OpenBSD-Commit-ID: b76afc4e3b74ab735dbde4e5f0cfa1f02356033b
933
934commit af628b8a6c3ef403644d83d205c80ff188c97f0c
935Author: djm@openbsd.org <djm@openbsd.org>
936Date: Fri Apr 3 02:25:21 2020 +0000
937
938 upstream: add allocating variant of the safe utf8 printer; ok
939
940 dtucker as part of a larger diff
941
942 OpenBSD-Commit-ID: 037e2965bd50eacc2ffb49889ecae41552744fa0
943
944commit d8ac9af645f5519ac5211e9e1e4dc1ed00e9cced
945Author: dtucker@openbsd.org <dtucker@openbsd.org>
946Date: Mon Mar 16 02:17:02 2020 +0000
947
948 upstream: Cast lifetime to u_long for comparison to prevent unsigned
949
950 comparison warning on 32bit arches. Spotted by deraadt, ok djm.
951
952 OpenBSD-Commit-ID: 7a75b2540bff5ab4fa00b4d595db1df13bb0515a
953
954commit 0eaca933ae08b0a515edfccd5cc4a6b667034813
955Author: Darren Tucker <dtucker@dtucker.net>
956Date: Sat Mar 14 20:58:46 2020 +1100
957
958 Include fido.h when checking for fido/credman.h.
959
960 It's required for fido_dev_t, otherwise configure fails with
961 when given --with-security-key-builtin.
962
963commit c7c099060f82ffe6a36d8785ecf6052e12fd92f0
964Author: djm@openbsd.org <djm@openbsd.org>
965Date: Fri Mar 13 03:18:45 2020 +0000
966
967 upstream: some more speeling mistakes from
968
969 OpenBSD-Regress-ID: 02471c079805471c546b7a69d9ab1d34e9a57443
970
971commit 1d89232a4aa97fe935cd60b8d24d75c2f70d56c5
972Author: djm@openbsd.org <djm@openbsd.org>
973Date: Fri Mar 13 04:16:27 2020 +0000
974
975 upstream: improve error messages for some common PKCS#11 C_Login
976
977 failure cases; based on patch from Jacob Hoffman-Andrews in bz3130; ok
978 dtucker
979
980 OpenBSD-Commit-ID: b8b849621b4a98e468942efd0a1c519c12ce089e
981
982commit 5becbec023f2037394987f85ed7f74b9a28699e0
983Author: djm@openbsd.org <djm@openbsd.org>
984Date: Fri Mar 13 04:01:56 2020 +0000
985
986 upstream: use sshpkt_fatal() for kex_exchange_identification()
987
988 errors. This ensures that the logged errors are consistent with other
989 transport- layer errors and that the relevant IP addresses are logged. bz3129
990 ok dtucker@
991
992 OpenBSD-Commit-ID: 2c22891f0b9e1a6cd46771cedbb26ac96ec2e6ab
993
994commit eef88418f9e5e51910af3c5b23b5606ebc17af55
995Author: dtucker@openbsd.org <dtucker@openbsd.org>
996Date: Fri Mar 13 03:24:49 2020 +0000
997
998 upstream: Don't clear alarm timers in listening sshd. Previously
999
1000 these timers were used for regenerating the SSH1 ephemeral host keys but
1001 those are now gone so there's no need to clear the timers either. ok
1002 deraadt@
1003
1004 OpenBSD-Commit-ID: 280d2b885e4a1ce404632e8cc38fcb17be7dafc0
1005
1006commit d081f017c20a3564255873ed99fd7d024cac540f
1007Author: djm@openbsd.org <djm@openbsd.org>
1008Date: Fri Mar 13 03:17:07 2020 +0000
1009
1010 upstream: spelling errors in comments; no code change from
1011
1012 OpenBSD-Commit-ID: 166ea64f6d84f7bac5636dbd38968592cb5eb924
1013
1014commit c084a2d040f160bc2b83f13297e3e3ca3f5dbac6
1015Author: djm@openbsd.org <djm@openbsd.org>
1016Date: Fri Mar 13 03:12:17 2020 +0000
1017
1018 upstream: when downloading FIDO2 resident keys from a token, don't
1019
1020 prompt for a PIN until the token has told us that it needs one. Avoids
1021 double-prompting on devices that implement on-device authentication (e.g. a
1022 touchscreen PIN pad on the Trezor Model T). ok dtucker@
1023
1024 OpenBSD-Commit-ID: 38b78903dd4422d7d3204095a31692fb69130817
1025
1026commit 955c4cf4c6a1417c28d4e1040702c4d9bf63645b
1027Author: Damien Miller <djm@mindrot.org>
1028Date: Fri Mar 13 14:30:16 2020 +1100
1029
1030 sync fnmatch.c with upstream to fix another typo
1031
1032commit 397f217e8640e75bb719a8e87111b4bd848fb3df
1033Author: Damien Miller <djm@mindrot.org>
1034Date: Fri Mar 13 14:24:23 2020 +1100
1035
1036 another spelling error in comment
1037
1038commit def31bc5427579ec3f7f2ce99f2da1338fdc0c9f
1039Author: Damien Miller <djm@mindrot.org>
1040Date: Fri Mar 13 14:23:07 2020 +1100
1041
1042 spelling mistakes
1043
1044 from https://fossies.org/linux/misc/openssh-8.2p1.tar.gz/codespell.html
1045
1046commit 8bdc3bb7cf4c82c3344cfcb82495a43406e87e83
1047Author: markus@openbsd.org <markus@openbsd.org>
1048Date: Fri Mar 6 18:29:54 2020 +0000
1049
1050 upstream: fix relative includes in sshd_config; ok djm
1051
1052 OpenBSD-Commit-ID: fa29b0da3c93cbc3a1d4c6bcd58af43c00ffeb5b
1053
1054commit e32ef97a56ae03febfe307688858badae3a70e5a
1055Author: markus@openbsd.org <markus@openbsd.org>
1056Date: Fri Mar 6 18:29:14 2020 +0000
1057
1058 upstream: fix use-after-free in do_download_sk; ok djm
1059
1060 OpenBSD-Commit-ID: 96b49623d297797d4fc069f1f09e13c8811f8863
1061
1062commit 5732d58020309364bf31fa125354e399361006db
1063Author: markus@openbsd.org <markus@openbsd.org>
1064Date: Fri Mar 6 18:28:50 2020 +0000
1065
1066 upstream: do not leak oprincipals; ok djm
1067
1068 OpenBSD-Commit-ID: 4691d9387eab36f8fda48f5d8009756ed13a7c4c
1069
1070commit 8fae395f34c2c52cdaf9919aa261d1848b4bb00b
1071Author: markus@openbsd.org <markus@openbsd.org>
1072Date: Fri Mar 6 18:28:27 2020 +0000
1073
1074 upstream: initialize seconds for debug message; ok djm
1075
1076 OpenBSD-Commit-ID: 293fbefe6d00b4812a180ba02e26170e4c855b81
1077
1078commit 46e5c4c8ffcd1569bcd5d04803abaa2ecf3e4cff
1079Author: markus@openbsd.org <markus@openbsd.org>
1080Date: Fri Mar 6 18:27:50 2020 +0000
1081
1082 upstream: correct return code; ok djm
1083
1084 OpenBSD-Commit-ID: 319d09e3b7f4b2bc920c67244d9ff6426b744810
1085
1086commit 31c39e7840893f1bfdcbe4f813b20d1d7e69ec3e
1087Author: markus@openbsd.org <markus@openbsd.org>
1088Date: Fri Mar 6 18:27:15 2020 +0000
1089
1090 upstream: principalsp is optional, pubkey required; ok djm
1091
1092 OpenBSD-Commit-ID: 2cc3ea5018c28ed97edaccd7f17d2cc796f01024
1093
1094commit e26a31757c5df2f58687cb9a4853d1418f39728e
1095Author: markus@openbsd.org <markus@openbsd.org>
1096Date: Fri Mar 6 18:26:21 2020 +0000
1097
1098 upstream: remove unused variables in ssh-pkcs11-helper; ok djm
1099
1100 OpenBSD-Commit-ID: 13e572846d0d1b28f1251ddd2165e9cf18135ae1
1101
1102commit 1b378c0d982d6ab522eda634b0e88cf1fca5e352
1103Author: markus@openbsd.org <markus@openbsd.org>
1104Date: Fri Mar 6 18:25:48 2020 +0000
1105
1106 upstream: return correct error in sshsk_ed25519_sig; ok djm
1107
1108 OpenBSD-Commit-ID: 52bf733df220303c260fee4f165ec64b4a977625
1109
1110commit fbff605e637b068061ab6784ff03e3874890c092
1111Author: markus@openbsd.org <markus@openbsd.org>
1112Date: Fri Mar 6 18:25:12 2020 +0000
1113
1114 upstream: fix possible null-deref in check_key_not_revoked; ok
1115
1116 djm
1117
1118 OpenBSD-Commit-ID: 80855e9d7af42bb6fcc16c074ba69876bfe5e3bf
1119
1120commit bc30b446841fc16e50ed6e75c56ccfbd37b9f281
1121Author: markus@openbsd.org <markus@openbsd.org>
1122Date: Fri Mar 6 18:24:39 2020 +0000
1123
1124 upstream: ssh_fetch_identitylist() returns the return value from
1125
1126 ssh_request_reply() so we should also check against != 0 ok djm
1127
1128 OpenBSD-Commit-ID: 28d0028769d03e665688c61bb5fd943e18614952
1129
1130commit 7b4f70ddeb59f35283d77d8d9c834ca58f8cf436
1131Author: markus@openbsd.org <markus@openbsd.org>
1132Date: Fri Mar 6 18:23:17 2020 +0000
1133
1134 upstream: sshkey_cert_check_authority requires reason to be set;
1135
1136 ok djm
1137
1138 OpenBSD-Commit-ID: 6f7a6f19540ed5749763c2f9530c0897c94aa552
1139
1140commit 05efe270df1e925db0af56a806d18b5063db4b6d
1141Author: markus@openbsd.org <markus@openbsd.org>
1142Date: Fri Mar 6 18:21:28 2020 +0000
1143
1144 upstream: passphrase depends on kdfname, not ciphername (possible
1145
1146 null-deref); ok djm
1147
1148 OpenBSD-Commit-ID: 0d39668edf5e790b5837df4926ee1141cec5471c
1149
1150commit 1ddf5682f3992bdacd29164891abb71a19c2cf61
1151Author: markus@openbsd.org <markus@openbsd.org>
1152Date: Fri Mar 6 18:20:44 2020 +0000
1153
1154 upstream: consistently check packet_timeout_ms against 0; ok djm
1155
1156 OpenBSD-Commit-ID: e8fb8cb2c96c980f075069302534eaf830929928
1157
1158commit 31f1ee54968ad84eb32375e4412e0318766b586b
1159Author: markus@openbsd.org <markus@openbsd.org>
1160Date: Fri Mar 6 18:20:02 2020 +0000
1161
1162 upstream: initialize cname in case ai_canonname is NULL or too
1163
1164 long; ok djm
1165
1166 OpenBSD-Commit-ID: c27984636fdb1035d1642283664193e91aab6e37
1167
1168commit a6134b02b5264b2611c8beae98bb392329452bba
1169Author: markus@openbsd.org <markus@openbsd.org>
1170Date: Fri Mar 6 18:19:21 2020 +0000
1171
1172 upstream: fix uninitialized pointers for forward_cancel; ok djm
1173
1174 OpenBSD-Commit-ID: 612778e6d87ee865d0ba97d0a335f141cee1aa37
1175
1176commit 16d4f9961c75680aab374dee762a5baa0ad507af
1177Author: markus@openbsd.org <markus@openbsd.org>
1178Date: Fri Mar 6 18:16:21 2020 +0000
1179
1180 upstream: exit on parse failures in input_service_request; ok djm
1181
1182 OpenBSD-Commit-ID: 6a7e1bfded26051d5aa893c030229b1ee6a0d5d2
1183
1184commit 5f25afe5216ba7f8921e04f79aa4ca0624eca820
1185Author: markus@openbsd.org <markus@openbsd.org>
1186Date: Fri Mar 6 18:15:38 2020 +0000
1187
1188 upstream: fix null-deref on calloc failure; ok djm
1189
1190 OpenBSD-Commit-ID: a313519579b392076b7831ec022dfdefbec8724a
1191
1192commit ff2acca039aef16a15fce409163df404858f7aa5
1193Author: markus@openbsd.org <markus@openbsd.org>
1194Date: Fri Mar 6 18:15:04 2020 +0000
1195
1196 upstream: exit if ssh_krl_revoke_key_sha256 fails; ok djm
1197
1198 OpenBSD-Commit-ID: 0864ad4fe8bf28ab21fd1df766e0365c11bbc0dc
1199
1200commit 31c860a0212af2d5b6a129e3e8fcead51392ee1d
1201Author: markus@openbsd.org <markus@openbsd.org>
1202Date: Fri Mar 6 18:14:13 2020 +0000
1203
1204 upstream: pkcs11_register_provider: return < 0 on error; ok djm
1205
1206 OpenBSD-Commit-ID: cfc8321315b787e4d40da4bdb2cbabd4154b0d97
1207
1208commit 15be29e1e3318737b0768ca37d5b4a3fbe868ef0
1209Author: markus@openbsd.org <markus@openbsd.org>
1210Date: Fri Mar 6 18:13:29 2020 +0000
1211
1212 upstream: sshsig: return correct error, fix null-deref; ok djm
1213
1214 OpenBSD-Commit-ID: 1d1af7cd538b8b23e621cf7ab84f11e7a923edcd
1215
1216commit 6fb6f186cb62a6370fba476b6a03478a1e95c30d
1217Author: markus@openbsd.org <markus@openbsd.org>
1218Date: Fri Mar 6 18:12:55 2020 +0000
1219
1220 upstream: vasnmprintf allocates str and returns -1; ok djm
1221
1222 OpenBSD-Commit-ID: dae4c9e83d88471bf3b3f89e3da7a107b44df11c
1223
1224commit 714e1cbca17daa13f4f98978cf9e0695d4b2e0a4
1225Author: markus@openbsd.org <markus@openbsd.org>
1226Date: Fri Mar 6 18:11:10 2020 +0000
1227
1228 upstream: sshpkt_fatal() does not return; ok djm
1229
1230 OpenBSD-Commit-ID: 7dfe847e28bd78208eb227b37f29f4a2a0929929
1231
1232commit 9b47bd7b09d191991ad9e0506bb66b74bbc93d34
1233Author: djm@openbsd.org <djm@openbsd.org>
1234Date: Fri Feb 28 01:07:28 2020 +0000
1235
1236 upstream: no-touch-required certificate option should be an
1237
1238 extension, not a critical option.
1239
1240 OpenBSD-Commit-ID: 626b22c5feb7be8a645e4b9a9bef89893b88600d
1241
1242commit dd992520bed35387fc010239abe1bdc0c2665e38
1243Author: djm@openbsd.org <djm@openbsd.org>
1244Date: Fri Feb 28 01:06:05 2020 +0000
1245
1246 upstream: better error message when trying to use a FIDO key
1247
1248 function and SecurityKeyProvider is empty
1249
1250 OpenBSD-Commit-ID: e56602c2ee8c82f835d30e4dc8ee2e4a7896be24
1251
1252commit b81e66dbe0345aef4717911abcb4f589fff33a0a
1253Author: dtucker@openbsd.org <dtucker@openbsd.org>
1254Date: Thu Feb 27 02:32:37 2020 +0000
1255
1256 upstream: Drop leading space from line count that was confusing
1257
1258 ssh-keygen's screen mode.
1259
1260 OpenBSD-Commit-ID: 3bcae7a754db3fc5ad3cab63dd46774edb35b8ae
1261
1262commit d5ba1c03278eb079438bb038266d80d7477d49cb
1263Author: jsg@openbsd.org <jsg@openbsd.org>
1264Date: Wed Feb 26 13:40:09 2020 +0000
1265
1266 upstream: change explicit_bzero();free() to freezero()
1267
1268 While freezero() returns early if the pointer is NULL the tests for
1269 NULL in callers are left to avoid warnings about passing an
1270 uninitialised size argument across a function boundry.
1271
1272 ok deraadt@ djm@
1273
1274 OpenBSD-Commit-ID: 2660fa334fcc7cd05ec74dd99cb036f9ade6384a
1275
1276commit 9e3220b585c5be19a7431ea4ff8884c137b3a81c
1277Author: dtucker@openbsd.org <dtucker@openbsd.org>
1278Date: Wed Feb 26 11:46:51 2020 +0000
1279
1280 upstream: Have sftp reject "-1" in the same way as ssh(1) and
1281
1282 scp(1) do instead of accepting and silently ignoring it since protocol 1
1283 support has been removed. Spotted by shivakumar2696 at gmail.com, ok
1284 deraadt@
1285
1286 OpenBSD-Commit-ID: b79f95559a1c993214f4ec9ae3c34caa87e9d5de
1287
1288commit ade8e67bb0f07b12e5e47e7baeafbdc898de639f
1289Author: dtucker@openbsd.org <dtucker@openbsd.org>
1290Date: Wed Feb 26 01:31:47 2020 +0000
1291
1292 upstream: Remove obsolete XXX comment. ok deraadt@
1293
1294 OpenBSD-Commit-ID: bc462cc843947feea26a2e21c750b3a7469ff01b
1295
1296commit 7eb903f51eba051d7f65790bab92a28970ac1ccc
1297Author: dtucker@openbsd.org <dtucker@openbsd.org>
1298Date: Mon Feb 24 04:27:58 2020 +0000
1299
1300 upstream: Fix typo. Patch from itoama at live.jp via github PR#173.
1301
1302 OpenBSD-Commit-ID: 5cdaafab38bbdea0d07e24777d00bfe6f972568a
1303
1304commit b2491c289dd1b557a18a2aca04eeff5c157fc5ef
1305Author: Nico Kadel-Garcia <nkadel@gmail.com>
1306Date: Sat Oct 12 17:51:01 2019 -0400
1307
1308 Switch %define to %global for redhat/openssh.spec
1309
1310commit b18dcf6cca7c7aba1cc22e668e04492090ef0255
1311Author: mkontani <itoama@live.jp>
1312Date: Fri Feb 21 00:54:49 2020 +0900
1313
1314 fix some typos and sentence
1315
1316commit 0001576a096f788d40c2c0a39121cff51bf961ad
1317Author: dtucker@openbsd.org <dtucker@openbsd.org>
1318Date: Fri Feb 21 00:04:43 2020 +0000
1319
1320 upstream: Fix some typos and an incorrect word in docs. Patch from
1321
1322 itoama at live.jp via github PR#172.
1323
1324 OpenBSD-Commit-ID: 166ee8f93a7201fef431b9001725ab8b269d5874
1325
1326commit 99ff8fefe4b2763a53778d06b5f74443c8701615
1327Author: dtucker@openbsd.org <dtucker@openbsd.org>
1328Date: Thu Feb 20 05:58:08 2020 +0000
1329
1330 upstream: Update moduli generation script to new ssh-keygen
1331
1332 generation and screening command line flags.
1333
1334 OpenBSD-Commit-ID: 5010ff08f7ad92082e87dde098b20f5c24921a8f
1335
1336commit 700d16f5e534d6de5a3b7105a74a7a6f4487b681
1337Author: dtucker@openbsd.org <dtucker@openbsd.org>
1338Date: Thu Feb 20 05:41:51 2020 +0000
1339
1340 upstream: Import regenerated moduli.
1341
1342 OpenBSD-Commit-ID: 7b7b619c1452a459310b0cf4391c5757c6bdbc0f
1343
1344commit 4753b74ba0f09e4aacdaab5e184cd540352004d5
1345Author: Darren Tucker <dtucker@dtucker.net>
1346Date: Thu Feb 20 16:42:50 2020 +1100
1347
1348 Import regenerated moduli.
1349
1350commit 11d427162778c18fa42917893a75d178679a2389
1351Author: HARUYAMA Seigo <haruyama@unixuser.org>
1352Date: Fri Feb 14 16:14:23 2020 +0900
1353
1354 Fix typos in INSTALL: s/avilable/available/ s/suppports/supports/
1355
1356commit 264a966216137c9f4f8220fd9142242d784ba059
1357Author: dtucker@openbsd.org <dtucker@openbsd.org>
1358Date: Tue Feb 18 08:58:33 2020 +0000
1359
1360 upstream: Ensure that the key lifetime provided fits within the
1361
1362 values allowed by the wire format (u32). Prevents integer wraparound of the
1363 timeout values. bz#3119, ok markus@ djm@
1364
1365 OpenBSD-Commit-ID: 8afe6038b5cdfcf63360788f012a7ad81acc46a2
1366
1367commit de1f3564cd85915b3002859873a37cb8d31ac9ce
1368Author: dtucker@openbsd.org <dtucker@openbsd.org>
1369Date: Tue Feb 18 08:49:49 2020 +0000
1370
1371 upstream: Detect and prevent simple configuration loops when using
1372
1373 ProxyJump. bz#3057, ok djm@
1374
1375 OpenBSD-Commit-ID: 077d21c564c886c98309d871ed6f8ef267b9f037
1376
1377commit 30144865bfa06b12239cfabc37c45e5ddc369d97
1378Author: naddy@openbsd.org <naddy@openbsd.org>
1379Date: Sun Feb 16 21:15:43 2020 +0000
1380
1381 upstream: document -F none; with jmc@
1382
1383 OpenBSD-Commit-ID: 0eb93b75473d2267aae9200e02588e57778c84f2
1384
1385commit 011052de73f3dbc53f50927ccf677266a9ade4f6
1386Author: Darren Tucker <dtucker@dtucker.net>
1387Date: Mon Feb 17 22:55:51 2020 +1100
1388
1389 Remove unused variable warning.
1390
1391commit 31c9348c5e4e94e9913ec64b3ca6e15f68ba19e5
1392Author: Darren Tucker <dtucker@dtucker.net>
1393Date: Mon Feb 17 22:53:24 2020 +1100
1394
1395 Constify aix_krb5_get_principal_name.
1396
1397 Prevents warning about discarding type qualifiers on AIX.
1398
1399commit 290c994336a2cfe03c5496bebb6580863f94b232
1400Author: Darren Tucker <dtucker@dtucker.net>
1401Date: Mon Feb 17 22:51:36 2020 +1100
1402
1403 Check if TILDE is already defined and undef.
1404
1405 Prevents redefinition warning on AIX.
1406
1407commit 41a2e64ae480eda73ee0e809bbe743d203890938
1408Author: Darren Tucker <dtucker@dtucker.net>
1409Date: Mon Feb 17 22:51:00 2020 +1100
1410
1411 Prevent unused variable warning.
1412
1413commit d4860ec4efd25ba194337082736797fce0bda016
1414Author: Darren Tucker <dtucker@dtucker.net>
1415Date: Mon Feb 17 22:48:50 2020 +1100
1416
1417 Check if getpeereid is actually declared.
1418
1419 Check in sys/socket.h (AIX) and unistd.h (FreeBSD, DragonFLy and OS X).
1420 Prevents undeclared function warning on at least some versions of AIX.
1421
1422commit 8aa3455b16fddea4c0144a7c4a1edb10ec67dcc8
1423Author: djm@openbsd.org <djm@openbsd.org>
1424Date: Fri Feb 14 00:39:20 2020 +0000
1425
1426 upstream: openssh-8.2
1427
1428 OpenBSD-Commit-ID: 0a1340ff65fad0d84b997ac58dd1b393dec7c19b
1429
1430commit 72f0ce33f0d5a37f31bad5800d1eb2fbdb732de6
1431Author: Damien Miller <djm@mindrot.org>
1432Date: Wed Feb 12 09:28:35 2020 +1100
1433
1434 crank version numbers
1435
1436commit b763ed05bd1f1f15ae1727c86a4498546bc36ca8
1437Author: Darren Tucker <dtucker@dtucker.net>
1438Date: Tue Feb 11 12:51:24 2020 +1100
1439
1440 Minor documentation update:
1441
1442 - remove duplication of dependency information (it's all in INSTALL).
1443 - SSHFP is now an RFC.
1444
1445commit 14ccfdb7248e33b1dc8bbac1425ace4598e094cb
1446Author: Darren Tucker <dtucker@dtucker.net>
1447Date: Sun Feb 9 11:23:35 2020 +1100
1448
1449 Check if UINT32_MAX is defined before redefining.
1450
1451commit be075110c735a451fd9d79a864e01e2e0d9f19d2
1452Author: Damien Miller <djm@mindrot.org>
1453Date: Fri Feb 7 15:07:27 2020 +1100
1454
1455 typo; reported by Phil Pennock
1456
1457commit 963d71851e727ffdd2a97fe0898fad61d4a70ba1
1458Author: djm@openbsd.org <djm@openbsd.org>
1459Date: Fri Feb 7 03:57:31 2020 +0000
1460
1461 upstream: sync the description of the $SSH_SK_PROVIDER environment
1462
1463 variable with that of the SecurityKeyProvider ssh/sshd_config(5) directive,
1464 as the latter was more descriptive.
1465
1466 OpenBSD-Commit-ID: 0488f09530524a7e53afca6b6e1780598022552f
1467
1468commit d4d9e1d40514e2746f9e05335d646512ea1020c6
1469Author: dtucker@openbsd.org <dtucker@openbsd.org>
1470Date: Fri Feb 7 03:54:44 2020 +0000
1471
1472 upstream: Add ssh -Q key-sig for all key and signature types.
1473
1474 Teach ssh -Q to accept ssh_config(5) and sshd_config(5) algorithm keywords as
1475 an alias for the corresponding query. Man page help jmc@, ok djm@.
1476
1477 OpenBSD-Commit-ID: 1e110aee3db2fc4bc5bee2d893b7128fd622e0f8
1478
1479commit fd68dc27864b099b552a6d9d507ca4b83afd6a76
1480Author: djm@openbsd.org <djm@openbsd.org>
1481Date: Fri Feb 7 03:27:54 2020 +0000
1482
1483 upstream: fix two PIN entry bugs on FIDO keygen: 1) it would allow more
1484
1485 than the intended number of prompts (3) and 2) it would SEGV too many
1486 incorrect PINs were entered; based on patch by Gabriel Kihlman
1487
1488 OpenBSD-Commit-ID: 9c0011f28ba8bd8adf2014424b64960333da1718
1489
1490commit 96bd895a0a0b3a36f81c14db8c91513578fc5563
1491Author: djm@openbsd.org <djm@openbsd.org>
1492Date: Thu Feb 6 22:48:23 2020 +0000
1493
1494 upstream: When using HostkeyAlgorithms to merely append or remove
1495
1496 algorithms from the default set (i.e. HostkeyAlgorithms=+/-...), retain the
1497 default behaviour of preferring those algorithms that have existing keys in
1498 known_hosts; ok markus
1499
1500 OpenBSD-Commit-ID: 040e7fcc38ea00146b5d224ce31ce7a1795ee6ed
1501
1502commit c7288486731734a864b58d024b1395029b55bbc5
1503Author: djm@openbsd.org <djm@openbsd.org>
1504Date: Thu Feb 6 22:46:31 2020 +0000
1505
1506 upstream: expand HostkeyAlgorithms prior to config dump, matching
1507
1508 other algorithm lists; ok markus@
1509
1510 OpenBSD-Commit-ID: a66f0fca8cc5ce30405a2867bc115fff600671d0
1511
1512commit a6ac5d36efc072b15690c65039754f8e44247bdf
1513Author: naddy@openbsd.org <naddy@openbsd.org>
1514Date: Thu Feb 6 22:34:58 2020 +0000
1515
1516 upstream: Add Include to the list of permitted keywords after a
1517
1518 Match keyword. ok markus@
1519
1520 OpenBSD-Commit-ID: 342e940538b13dd41e0fa167dc9ab192b9f6e2eb
1521
1522commit a47f6a6c0e06628eed0c2a08dc31a8923bcc37ba
1523Author: naddy@openbsd.org <naddy@openbsd.org>
1524Date: Thu Feb 6 22:30:54 2020 +0000
1525
1526 upstream: Replace "security key" with "authenticator" in program
1527
1528 messages.
1529
1530 This replaces "security key" in error/usage/verbose messages and
1531 distinguishes between "authenticator" and "authenticator-hosted key".
1532
1533 ok djm@
1534
1535 OpenBSD-Commit-ID: 7c63800e9c340c59440a054cde9790a78f18592e
1536
1537commit 849a9b87144f8a5b1771de6c85e44bfeb86be9a9
1538Author: Darren Tucker <dtucker@dtucker.net>
1539Date: Thu Feb 6 11:28:14 2020 +1100
1540
1541 Don't look for UINT32_MAX in inttypes.h
1542
1543 ... unless we are actually going to use it. Fixes build on HP-UX
1544 without the potential impact to other platforms of a header change
1545 shortly before release.
1546
1547commit a2437f8ed0c3be54ddd21630a93c68ebd168286f
1548Author: Damien Miller <djm@mindrot.org>
1549Date: Thu Feb 6 12:02:22 2020 +1100
1550
1551 depend
1552
1553commit 9716e8c4956acdd7b223d1642bfa376e07e7503d
1554Author: Michael Forney <mforney@mforney.org>
1555Date: Wed Nov 27 19:17:26 2019 -0800
1556
1557 Fix sha2 MAKE_CLONE no-op definition
1558
1559 The point of the dummy declaration is so that MAKE_CLONE(...) can have
1560 a trailing semicolon without introducing an empty declaration. So,
1561 the macro replacement text should *not* have a trailing semicolon,
1562 just like DEF_WEAK.
1563
1564commit d596b1d30dc158915a3979fa409d21ff2465b6ee
1565Author: djm@openbsd.org <djm@openbsd.org>
1566Date: Tue Feb 4 09:58:04 2020 +0000
1567
1568 upstream: require FIDO application strings to start with "ssh:"; ok
1569
1570 markus@
1571
1572 OpenBSD-Commit-ID: 94e9c1c066d42b76f035a3d58250a32b14000afb
1573
1574commit 501f3582438cb2cb1cb92be0f17be490ae96fb23
1575Author: djm@openbsd.org <djm@openbsd.org>
1576Date: Mon Feb 3 23:47:57 2020 +0000
1577
1578 upstream: revert enabling UpdateHostKeys by default - there are still
1579
1580 corner cases we need to address; ok markus
1581
1582 OpenBSD-Commit-ID: ff7ad941bfdc49fb1d8baa95fd0717a61adcad57
1583
1584commit 072f3b832d2a4db8d9880effcb6c4d0dad676504
1585Author: jmc@openbsd.org <jmc@openbsd.org>
1586Date: Mon Feb 3 08:15:37 2020 +0000
1587
1588 upstream: use better markup for challenge and write-attestation, and
1589
1590 rejig the challenge text a little;
1591
1592 ok djm
1593
1594 OpenBSD-Commit-ID: 9f351e6da9edfdc907d5c3fdaf2e9ff3ab0a7a6f
1595
1596commit 262eb05a22cb1fabc3bc1746c220566490b80229
1597Author: Damien Miller <djm@mindrot.org>
1598Date: Mon Feb 3 21:22:15 2020 +1100
1599
1600 mention libfido2 in dependencies section
1601
1602commit ccd3b247d59d3bde16c3bef0ea888213fbd6da86
1603Author: Damien Miller <djm@mindrot.org>
1604Date: Mon Feb 3 19:40:12 2020 +1100
1605
1606 add clock_gettime64(2) to sandbox allowed syscalls
1607
1608 bz3093
1609
1610commit adffbe1c645ad2887ba0b6d24c194aa7a40c5735
1611Author: dtucker@openbsd.org <dtucker@openbsd.org>
1612Date: Sun Feb 2 09:45:34 2020 +0000
1613
1614 upstream: Output (none) in debug in the case in the CheckHostIP=no case
1615
1616 as suggested by markus@
1617
1618 OpenBSD-Commit-ID: 4ab9117ee5261cbbd1868717fcc3142eea6385cf
1619
1620commit 58c819096a2167983e55ae686486ce317b69b2d1
1621Author: dtucker@openbsd.org <dtucker@openbsd.org>
1622Date: Sun Feb 2 09:22:22 2020 +0000
1623
1624 upstream: Prevent possible null pointer deref of ip_str in debug.
1625
1626 OpenBSD-Commit-ID: 37b252e2e6f690efed6682437ef75734dbc8addf
1627
1628commit 0facae7bc8d3f8f9d02d0f6bed3d163ff7f39806
1629Author: jmc@openbsd.org <jmc@openbsd.org>
1630Date: Sun Feb 2 07:36:50 2020 +0000
1631
1632 upstream: shuffle the challenge keyword to keep the -O list sorted;
1633
1634 OpenBSD-Commit-ID: 08efad608b790949a9a048d65578fae9ed5845fe
1635
1636commit 6fb3dd0ccda1c26b06223b87bcd1cab9ec8ec3cc
1637Author: jmc@openbsd.org <jmc@openbsd.org>
1638Date: Sat Feb 1 06:53:12 2020 +0000
1639
1640 upstream: tweak previous;
1641
1642 OpenBSD-Commit-ID: 0c42851cdc88583402b4ab2b110a6348563626d3
1643
1644commit 92725d4d3fde675acc0ca040b48f3d0c7be73b7f
1645Author: Darren Tucker <dtucker@dtucker.net>
1646Date: Sat Feb 1 17:25:09 2020 +1100
1647
1648 Use sys-queue.h from compat library.
1649
1650 Fixes build on platforms that don't have sys/queue.h (eg MUSL).
1651
1652commit 677d0ece67634262b3b96c3cd6410b19f3a603b7
1653Author: djm@openbsd.org <djm@openbsd.org>
1654Date: Fri Jan 31 23:25:08 2020 +0000
1655
1656 upstream: regress test for sshd_config Include directive; from Jakub
1657
1658 Jelen
1659
1660 OpenBSD-Regress-ID: 0d9224de3297c7a5f51ba68d6e3725a2a9345fa4
1661
1662commit d4f4cdd681ab6408a98419f398b75a55497ed324
1663Author: djm@openbsd.org <djm@openbsd.org>
1664Date: Fri Jan 31 23:13:04 2020 +0000
1665
1666 upstream: whitespace
1667
1668 OpenBSD-Commit-ID: 564cf7a5407ecf5da2d94ec15474e07427986772
1669
1670commit 245399dfb3ecebc6abfc2ef4ee2e650fa9f6942b
1671Author: djm@openbsd.org <djm@openbsd.org>
1672Date: Fri Jan 31 23:11:25 2020 +0000
1673
1674 upstream: force early logging to stderr if debug_flag (-d) is set;
1675
1676 avoids missing messages from re-exec config passing
1677
1678 OpenBSD-Commit-ID: 02484b8241c1f49010e7a543a7098e6910a8c9ff
1679
1680commit 7365f28a66d1c443723fbe6f4a2612ea6002901e
1681Author: djm@openbsd.org <djm@openbsd.org>
1682Date: Fri Jan 31 23:08:08 2020 +0000
1683
1684 upstream: mistake in previous: filling the incorrect buffer
1685
1686 OpenBSD-Commit-ID: 862ee84bd4b97b529f64aec5d800c3dcde952e3a
1687
1688commit c2bd7f74b0e0f3a3ee9d19ac549e6ba89013abaf
1689Author: djm@openbsd.org <djm@openbsd.org>
1690Date: Fri Jan 31 22:42:45 2020 +0000
1691
1692 upstream: Add a sshd_config "Include" directive to allow inclusion
1693
1694 of files. This has sensible semantics wrt Match blocks and accepts glob(3)
1695 patterns to specify the included files. Based on patch by Jakub Jelen in
1696 bz2468; feedback and ok markus@
1697
1698 OpenBSD-Commit-ID: 36ed0e845b872e33f03355b936a4fff02d5794ff
1699
1700commit ba261a1dd33266168ead4f8f40446dcece4d1600
1701Author: jmc@openbsd.org <jmc@openbsd.org>
1702Date: Fri Jan 31 22:25:59 2020 +0000
1703
1704 upstream: spelling fix;
1705
1706 OpenBSD-Commit-ID: 3c079523c4b161725a4b15dd06348186da912402
1707
1708commit 771891a044f763be0711493eca14b6b0082e030f
1709Author: djm@openbsd.org <djm@openbsd.org>
1710Date: Thu Jan 30 22:25:34 2020 +0000
1711
1712 upstream: document changed default for UpdateHostKeys
1713
1714 OpenBSD-Commit-ID: 25c390b21d142f78ac0106241d13441c4265fd2c
1715
1716commit d53a518536c552672c00e8892e2aea28f664148c
1717Author: djm@openbsd.org <djm@openbsd.org>
1718Date: Thu Jan 30 22:19:32 2020 +0000
1719
1720 upstream: enable UpdateKnownHosts=yes if the configuration
1721
1722 specifies only the default known_hosts files, otherwise select
1723 UpdateKnownHosts=ask; ok markus@
1724
1725 OpenBSD-Commit-ID: ab401a5ec4a33d2e1a9449eae6202e4b6d427df7
1726
1727commit bb63ff844e818d188da4fed3c016e0a4eecbbf25
1728Author: Darren Tucker <dtucker@dtucker.net>
1729Date: Thu Jan 30 18:54:42 2020 +1100
1730
1731 Look in inttypes.h for UINT32_MAX.
1732
1733 Should prevent warnings on at least some AIX versions.
1734
1735commit afeb6a960da23f0a5cbc4b80cca107c7504e932a
1736Author: djm@openbsd.org <djm@openbsd.org>
1737Date: Thu Jan 30 07:21:38 2020 +0000
1738
1739 upstream: use sshpkt_fatal() instead of plain fatal() for
1740
1741 ssh_packet_write_poll() failures here too as the former yields better error
1742 messages; ok dtucker@
1743
1744 OpenBSD-Commit-ID: 1f7a6ca95bc2b716c2e948fc1370753be772d8e3
1745
1746commit 65d6fd0a8a6f31c3ddf0c1192429a176575cf701
1747Author: djm@openbsd.org <djm@openbsd.org>
1748Date: Thu Jan 30 07:20:57 2020 +0000
1749
1750 upstream: check the return value of ssh_packet_write_poll() and
1751
1752 call sshpkt_fatal() if it fails; avoid potential busy-loop under some
1753 circumstances. Based on patch by Mike Frysinger; ok dtucker@
1754
1755 OpenBSD-Commit-ID: c79fe5cf4f0cd8074cb6db257c1394d5139408ec
1756
1757commit dce74eab0c0f9010dc84c62500a17771d0131ff3
1758Author: djm@openbsd.org <djm@openbsd.org>
1759Date: Thu Jan 30 07:20:05 2020 +0000
1760
1761 upstream: have sshpkt_fatal() save/restore errno before we
1762
1763 potentially call strerror() (via ssh_err()); ok dtucker
1764
1765 OpenBSD-Commit-ID: 5590df31d21405498c848245b85c24acb84ad787
1766
1767commit 14ef4efe2bf4180e085ea6738fdbebc199458b0c
1768Author: djm@openbsd.org <djm@openbsd.org>
1769Date: Wed Jan 29 08:17:49 2020 +0000
1770
1771 upstream: markus suggests a simplification to previous
1772
1773 OpenBSD-Commit-ID: 10bbfb6607ebbb9a018dcd163f0964941adf58de
1774
1775commit 101ebc3a8cfa78d2e615afffbef9861bbbabf1ff
1776Author: djm@openbsd.org <djm@openbsd.org>
1777Date: Wed Jan 29 07:51:30 2020 +0000
1778
1779 upstream: give more context to UpdateHostKeys messages, mentioning
1780
1781 that the changes are validated by the existing trusted host key. Prompted by
1782 espie@ feedback and ok markus@
1783
1784 OpenBSD-Commit-ID: b3d95f4a45f2692f4143b9e77bb241184dbb8dc5
1785
1786commit 24c0f752adf9021277a7b0a84931bb5fe48ea379
1787Author: djm@openbsd.org <djm@openbsd.org>
1788Date: Tue Jan 28 08:01:34 2020 +0000
1789
1790 upstream: changes to support FIDO attestation
1791
1792 Allow writing to disk the attestation certificate that is generated by
1793 the FIDO token at key enrollment time. These certificates may be used
1794 by an out-of-band workflow to prove that a particular key is held in
1795 trustworthy hardware.
1796
1797 Allow passing in a challenge that will be sent to the card during
1798 key enrollment. These are needed to build an attestation workflow
1799 that resists replay attacks.
1800
1801 ok markus@
1802
1803 OpenBSD-Commit-ID: 457dc3c3d689ba39eed328f0817ed9b91a5f78f6
1804
1805commit 156bef36f93a48212383235bb8e3d71eaf2b2777
1806Author: djm@openbsd.org <djm@openbsd.org>
1807Date: Tue Jan 28 07:24:15 2020 +0000
1808
1809 upstream: disable UpdateHostKeys=ask when in quiet mode; "work for
1810
1811 me" matthieu@
1812
1813 OpenBSD-Commit-ID: 60d7b5eb91accf935ed9852650a826d86db2ddc7
1814
1815commit ec8a759b4045e54d6b38e690ffee4cbffc53c7b7
1816Author: Damien Miller <djm@mindrot.org>
1817Date: Tue Jan 28 12:57:25 2020 +1100
1818
1819 compat for missing IPTOS_DSCP_LE in system headers
1820
1821commit 4594c7627680c4f41c2ad5fe412e55b7cc79b10c
1822Author: djm@openbsd.org <djm@openbsd.org>
1823Date: Tue Jan 28 01:49:36 2020 +0000
1824
1825 upstream: make IPTOS_DSCP_LE available via IPQoS directive; bz2986,
1826
1827 based on patch by veegish AT cyberstorm.mu
1828
1829 OpenBSD-Commit-ID: 9902bf4fbb4ea51de2193ac2b1d965bc5d99c425
1830
1831commit da22216b5db3613325aa7b639f40dc017e4c6f69
1832Author: markus@openbsd.org <markus@openbsd.org>
1833Date: Mon Jan 27 20:51:32 2020 +0000
1834
1835 upstream: disable UpdateHostKeys=ask if command is specified; ok
1836
1837 djm@ sthen@
1838
1839 OpenBSD-Commit-ID: e5bcc45eadb78896637d4143d289f1e42c2ef5d7
1840
1841commit 1e1db0544fdd788e2e3fc21d972a7ccb7de6b4ae
1842Author: djm@openbsd.org <djm@openbsd.org>
1843Date: Sun Jan 26 00:09:50 2020 +0000
1844
1845 upstream: unbreak unittests for recent API / source file changes
1846
1847 OpenBSD-Regress-ID: 075a899a01bbf7781d38bf0b33d8366faaf6d3c0
1848
1849commit 0d1144769151edf65f74aee9a4c8545c37861695
1850Author: Darren Tucker <dtucker@dtucker.net>
1851Date: Sun Jan 26 15:09:15 2020 +1100
1852
1853 Move definition of UINT32_MAX.
1854
1855 This allows us to always define it if needed not just if we also
1856 define the type ourself.
1857
1858commit f73ab8a811bc874c2fb403012aa8e4bfdcaf5ec7
1859Author: djm@openbsd.org <djm@openbsd.org>
1860Date: Sun Jan 26 00:09:50 2020 +0000
1861
1862 upstream: unbreak unittests for recent API / source file changes
1863
1864 OpenBSD-Regress-ID: 075a899a01bbf7781d38bf0b33d8366faaf6d3c0
1865
1866commit 0373f9eba2b63455dceedbd3ac3d5dca306789ff
1867Author: Darren Tucker <dtucker@dtucker.net>
1868Date: Sun Jan 26 14:09:17 2020 +1100
1869
1870 Include signal.h to prevent redefintion of _NSIG.
1871
1872commit 638a45b5c1e20a8539100ca44166caad8abf26f8
1873Author: Darren Tucker <dtucker@dtucker.net>
1874Date: Sun Jan 26 13:40:51 2020 +1100
1875
1876 Wrap stdint.h in tests inside HAVE_STDINT_H.
1877
1878commit 74dfc2c859c906eaab1f88a27fd883115ffb928f
1879Author: djm@openbsd.org <djm@openbsd.org>
1880Date: Sun Jan 26 00:14:45 2020 +0000
1881
1882 upstream: for UpdateHostKeys, don't report errors for unsupported
1883
1884 key types - just ignore them. spotted by and ok dtucker@
1885
1886 OpenBSD-Commit-ID: 91769e443f6197c983932fc8ae9d39948727d473
1887
1888commit b59618246c332e251160be0f1e0e88a7d4e2b0ae
1889Author: djm@openbsd.org <djm@openbsd.org>
1890Date: Sun Jan 26 00:13:20 2020 +0000
1891
1892 upstream: downgrade error() for missing subsequent known_hosts
1893
1894 files to debug() as it was intended to be; spotted by dtucker@
1895
1896 OpenBSD-Commit-ID: 18cfea382cb52f2da761be524e309cc3d5354ef9
1897
1898commit 469df611f778eec5950d556aabfe1d4efc227915
1899Author: djm@openbsd.org <djm@openbsd.org>
1900Date: Sat Jan 25 23:33:27 2020 +0000
1901
1902 upstream: clarify that BatchMode applies to all interactive prompts
1903
1904 (e.g. host key confirmation) and not just password prompts.
1905
1906 OpenBSD-Commit-ID: 97b001883d89d3fb1620d2e6b747c14a26aa9818
1907
1908commit de40876c4a5d7c519d3d7253557572fdfc13db76
1909Author: djm@openbsd.org <djm@openbsd.org>
1910Date: Sat Jan 25 23:28:06 2020 +0000
1911
1912 upstream: tidy headers; some junk snuck into sshbuf-misc.c and
1913
1914 sshbuf-io.c doesn't need SSHBUF_INTERNAL set
1915
1916 OpenBSD-Commit-ID: 27a724d2e0b2619c1a1490f44093bbd73580d9e6
1917
1918commit 6a107606355fa9547884cad6740e6144a7a7955b
1919Author: Damien Miller <djm@mindrot.org>
1920Date: Sun Jan 26 10:28:21 2020 +1100
1921
1922 depend
1923
1924commit 59d01f1d720ebede4da42882f592d1093dac7adc
1925Author: djm@openbsd.org <djm@openbsd.org>
1926Date: Sat Jan 25 23:13:09 2020 +0000
1927
1928 upstream: improve the error message for u2f enrollment errors by
1929
1930 making ssh-keygen be solely responsible for printing the error message and
1931 convertint some more common error responses from the middleware to a useful
1932 ssherr.h status code. more detail remains visible via -v of course.
1933
1934 also remove indepedent copy of sk-api.h declarations in sk-usbhid.c
1935 and just include it.
1936
1937 feedback & ok markus@
1938
1939 OpenBSD-Commit-ID: a4a8ffa870d9a3e0cfd76544bcdeef5c9fb1f1bb
1940
1941commit 99aa8035554ddb976348d2a9253ab3653019728d
1942Author: djm@openbsd.org <djm@openbsd.org>
1943Date: Sat Jan 25 23:02:13 2020 +0000
1944
1945 upstream: factor out reading/writing sshbufs to dedicated
1946
1947 functions; feedback and ok markus@
1948
1949 OpenBSD-Commit-ID: dc09e5f1950b7acc91b8fdf8015347782d2ecd3d
1950
1951commit 065064fcf455778b0918f783033b374d4ba37a92
1952Author: djm@openbsd.org <djm@openbsd.org>
1953Date: Sat Jan 25 22:49:38 2020 +0000
1954
1955 upstream: add a comment describing the ranges of channel IDs that
1956
1957 we use; requested by markus@
1958
1959 OpenBSD-Commit-ID: 83a1f09810ffa3a96a55fbe32675b34ba739e56b
1960
1961commit 69334996ae203c51c70bf01d414c918a44618f8e
1962Author: djm@openbsd.org <djm@openbsd.org>
1963Date: Sat Jan 25 22:41:01 2020 +0000
1964
1965 upstream: make sshd_config:ClientAliveCountMax=0 disable the
1966
1967 connection killing behaviour, rather than killing the connection after
1968 sending the first liveness test probe (regardless of whether the client was
1969 responsive) bz2627; ok markus
1970
1971 OpenBSD-Commit-ID: 5af79c35f4c9fa280643b6852f524bfcd9bccdaf
1972
1973commit bf986a9e2792555e0879a3145fa18d2b49436c74
1974Author: djm@openbsd.org <djm@openbsd.org>
1975Date: Sat Jan 25 22:36:22 2020 +0000
1976
1977 upstream: clarify order of AllowUsers/DenyUsers vs
1978
1979 AllowGroups/DenyGroups; bz1690, ok markus@
1980
1981 OpenBSD-Commit-ID: 5637584ec30db9cf64822460f41b3e42c8f9facd
1982
1983commit 022ce92fa0daa9d78830baeb2bd2dc3f83c724ba
1984Author: djm@openbsd.org <djm@openbsd.org>
1985Date: Sat Jan 25 07:17:18 2020 +0000
1986
1987 upstream: when AddKeysToAgent=yes is set and the key contains no
1988
1989 comment, add the key to the agent with the key's path as the comment. bz2564
1990
1991 OpenBSD-Commit-ID: 8dd8ca9340d7017631a27f4ed5358a4cfddec16f
1992
1993commit 0b813436bbf6546638b10c1fa71f54691bcf5e63
1994Author: tedu@openbsd.org <tedu@openbsd.org>
1995Date: Sat Jan 25 07:09:14 2020 +0000
1996
1997 upstream: group14-sha1 is no longer a default algorithm
1998
1999 OpenBSD-Commit-ID: a96f04d5e9c2ff760c6799579dc44f69b4ff431d
2000
2001commit 3432b6e05d5c583c91c566c5708fed487cec79ac
2002Author: djm@openbsd.org <djm@openbsd.org>
2003Date: Sat Jan 25 07:02:51 2020 +0000
2004
2005 upstream: reword HashKnownHosts description a little more; some
2006
2007 people found the wording confusing (bz#2560)
2008
2009 OpenBSD-Commit-ID: ac30896598694f07d498828690aecd424c496988
2010
2011commit f80d7d6aa98d6eddc5df02412efee6db75673d4c
2012Author: djm@openbsd.org <djm@openbsd.org>
2013Date: Sat Jan 25 07:01:00 2020 +0000
2014
2015 upstream: weaken the language for what HashKnownHosts provides with
2016
2017 regards to known_hosts name privacy, it's not practical for this option to
2018 offer any guarantee that hostnames cannot be recovered from a disclosed
2019 known_hosts file (e.g. by brute force).
2020
2021 OpenBSD-Commit-ID: 13f1e3285f8acf7244e9770074296bcf446c6972
2022
2023commit 846446bf3e7421e6671a4afd074bdf15eecd7832
2024Author: djm@openbsd.org <djm@openbsd.org>
2025Date: Sat Jan 25 06:40:20 2020 +0000
2026
2027 upstream: the GatewayPorts vs -R listen address selection logic is
2028
2029 still confusing people, so add another comment explaining the special
2030 handling of "localhost"; bz#3258
2031
2032 OpenBSD-Commit-ID: e6bf0f0fbf1c7092bf0dbd9c6eab105970b5b53a
2033
2034commit 734f2f83f5ff86f2967a99d67be9ce22dd0394dd
2035Author: djm@openbsd.org <djm@openbsd.org>
2036Date: Sat Jan 25 06:03:10 2020 +0000
2037
2038 upstream: mention that permitopen=/PermitOpen do no name to address
2039
2040 translation; prompted by bz3099
2041
2042 OpenBSD-Commit-ID: 0dda8e54d566b29855e76bebf9cfecce573f5c23
2043
2044commit e1e97cae19ff07b7a7f7e82556bc048c3c54af63
2045Author: Damien Miller <djm@mindrot.org>
2046Date: Sat Jan 25 16:30:22 2020 +1100
2047
2048 include tunnel device path in error message
2049
2050commit 0ecd20bc9f0b9c7c697c9eb014613516c8f65834
2051Author: djm@openbsd.org <djm@openbsd.org>
2052Date: Sat Jan 25 04:48:26 2020 +0000
2053
2054 upstream: unrevert this:
2055
2056 > revision 1.217
2057 > date: 2019/11/27 03:34:04; author: dtucker; state: Exp; lines: +5 -7; commitid: wkiMn49XJyjzoJIs;
2058 > Make channel_id u_int32_t and remove unnecessary check and cast that were
2059 > left over from the type conversion. Noted by t-hashida@amiya.co.jp in
2060 > bz#3098, ok markus@ djm@
2061
2062 Darren was right the first time; ok dtucker@ "agreed" markus@
2063
2064 OpenBSD-Commit-ID: 641dd1b99a6bbd85b7160da462ae1be83432c7c8
2065
2066commit a0c81d2402eedc514b9c9f25ef9604eb0576b86a
2067Author: dtucker@openbsd.org <dtucker@openbsd.org>
2068Date: Sat Jan 25 02:57:53 2020 +0000
2069
2070 upstream: Move setting $NC into test-exec since it's now used by
2071
2072 multiple tests, and in -portable we use our own local copy to avoid
2073 portability problems.
2074
2075 OpenBSD-Regress-ID: ceb78445fcaac317bec2fc51b3f0d9589048c114
2076
2077commit e16dfa94f86358033531c4a97dcb51508ef84d49
2078Author: Darren Tucker <dtucker@dtucker.net>
2079Date: Sat Jan 25 13:05:42 2020 +1100
2080
2081 Put EC key export inside OPENSSL_HAS_ECC.
2082
2083 Fixes link error when building against an OpenSSL that does not have
2084 ECC.
2085
2086commit 94a2e5951b374e1a89761ceaff72e66eb1946807
2087Author: dtucker@openbsd.org <dtucker@openbsd.org>
2088Date: Sat Jan 25 00:27:56 2020 +0000
2089
2090 upstream: Wait a bit longer for the multiplex master to become ready
2091
2092 since on very slow hosts the current delay is not sufficient and the test
2093 will fail.
2094
2095 OpenBSD-Regress-ID: 6d90c7475d67ac3a95610b64af700629ece51a48
2096
2097commit b2df804f571d77b07059f087b90955ffbc2f67d4
2098Author: dtucker@openbsd.org <dtucker@openbsd.org>
2099Date: Fri Jan 24 10:08:17 2020 +0000
2100
2101 upstream: Add a connection test for proxycommand. This would have
2102
2103 caught the problem caused by ssh.c rev 1.507 wherein Host and Hostname were
2104 swapped. Prompted by beck@
2105
2106 OpenBSD-Regress-ID: d218500ae6aca4c479c27318fb5b09ebc00f7aae
2107
2108commit c6f06fd38a257b9fcc7d6760f8fb6d505dccb628
2109Author: djm@openbsd.org <djm@openbsd.org>
2110Date: Sat Jan 25 00:22:31 2020 +0000
2111
2112 upstream: set UpdateKnownHosts=ask by default; bz#2894; ok
2113
2114 markus@
2115
2116 OpenBSD-Commit-ID: f09cb3177f3a14c96428e14f347e976a8a531fee
2117
2118commit 7955633a554397bc24913cec9fd7285002935f7e
2119Author: djm@openbsd.org <djm@openbsd.org>
2120Date: Sat Jan 25 00:21:08 2020 +0000
2121
2122 upstream: allow UpdateKnownHosts=yes to function when multiple
2123
2124 known_hosts files are in use. When updating host keys, ssh will now search
2125 subsequent known_hosts files, but will add new/changed host keys to the first
2126 specified file only. bz#2738
2127
2128 ok markus@
2129
2130 OpenBSD-Commit-ID: 6ded6d878a03e57d5aa20bab9c31f92e929dbc6c
2131
2132commit e5a278a62ab49dffe96929fa8d8506c6928dba90
2133Author: djm@openbsd.org <djm@openbsd.org>
2134Date: Sat Jan 25 00:06:48 2020 +0000
2135
2136 upstream: process security key provider via realpath() in agent,
2137
2138 avoids malicious client from being able to cause agent to load arbitrary
2139 libraries into ssh-sk-helper.
2140
2141 reported by puck AT puckipedia.com; ok markus
2142
2143 OpenBSD-Commit-ID: 1086643df1b7eee4870825c687cf0c26a6145d1c
2144
2145commit 89a8d4525e8edd9958ed3df60cf683551142eae0
2146Author: djm@openbsd.org <djm@openbsd.org>
2147Date: Sat Jan 25 00:03:36 2020 +0000
2148
2149 upstream: expose PKCS#11 key labels/X.509 subjects as comments
2150
2151 Extract the key label or X.509 subject string when PKCS#11 keys
2152 are retrieved from the token and plumb this through to places where
2153 it may be used as a comment.
2154
2155 based on https://github.com/openssh/openssh-portable/pull/138
2156 by Danielle Church
2157
2158 feedback and ok markus@
2159
2160 OpenBSD-Commit-ID: cae1fda10d9e10971dea29520916e27cfec7ca35
2161
2162commit a8c05c640873621681ab64d2e47a314592d5efa2
2163Author: djm@openbsd.org <djm@openbsd.org>
2164Date: Fri Jan 24 23:56:01 2020 +0000
2165
2166 upstream: tweak proctitle to include sshd arguments, as these are
2167
2168 frequently used to distinguish between multiple independent instances of the
2169 server. New proctitle looks like this:
2170
2171 $ pgrep -lf sshd
2172 12844 sshd: /usr/sbin/sshd -f /etc/ssh/sshd_config [listener] 0 of 10-100 startups
2173
2174 requested by sthen@ and aja@; ok aja@
2175
2176 OpenBSD-Commit-ID: cf235a561c655a3524a82003cf7244ecb48ccc1e
2177
2178commit 8075fccbd4f70a4371acabcfb47562471ff0de6f
2179Author: djm@openbsd.org <djm@openbsd.org>
2180Date: Fri Jan 24 23:54:40 2020 +0000
2181
2182 upstream: add xextendf() to extend a string with a format
2183
2184 (reallocating as necessary). ok aja@ as part of a larger diff
2185
2186 OpenBSD-Commit-ID: 30796b50d330b3e0e201747fe40cdf9aa70a77f9
2187
2188commit d15c8adf2c6f1a6b4845131074383eb9c3d05c3d
2189Author: djm@openbsd.org <djm@openbsd.org>
2190Date: Fri Jan 24 05:33:01 2020 +0000
2191
2192 upstream: minor tweaks to ssh-keygen -Y find-principals:
2193
2194 emit matched principals one per line to stdout rather than as comma-
2195 separated and with a free-text preamble (easy confusion opportunity)
2196
2197 emit "not found" error to stderr
2198
2199 fix up argument testing for -Y operations and improve error message for
2200 unsupported operations
2201
2202 OpenBSD-Commit-ID: 3d9c9a671ab07fc04a48f543edfa85eae77da69c
2203
2204commit c3368a5d5ec368ef6bdf9971d6330ca0e3bdca06
2205Author: djm@openbsd.org <djm@openbsd.org>
2206Date: Fri Jan 24 00:28:57 2020 +0000
2207
2208 upstream: remove ssh-rsa (SHA1) from the list of allowed CA
2209
2210 signature algorithms ok markus
2211
2212 OpenBSD-Commit-ID: da3481fca8c81e6951f319a86b7be67502237f57
2213
2214commit 4a41d245d6b13bd3882c8dc058dbd2e2b39a9f67
2215Author: djm@openbsd.org <djm@openbsd.org>
2216Date: Fri Jan 24 00:27:04 2020 +0000
2217
2218 upstream: when signing a certificate with an RSA key, default to
2219
2220 a safe signature algorithm (rsa-sha-512) if not is explicitly specified by
2221 the user; ok markus@
2222
2223 OpenBSD-Commit-ID: e05f638f0be6c0266e1d3d799716b461011e83a9
2224
2225commit 8dfb6a202c96cdf037c8ce05e53e32e0e0b7b454
2226Author: djm@openbsd.org <djm@openbsd.org>
2227Date: Fri Jan 24 00:00:31 2020 +0000
2228
2229 upstream: allow PEM export of DSA and ECDSA keys; bz3091, patch
2230
2231 from Jakub Jelen ok markus@
2232
2233 OpenBSD-Commit-ID: a58edec8b9f07acab4b962a71a5125830d321b51
2234
2235commit 72a8bea2d748c8bd7f076a8b39a52082c79ae95f
2236Author: djm@openbsd.org <djm@openbsd.org>
2237Date: Thu Jan 23 23:31:52 2020 +0000
2238
2239 upstream: ssh-keygen -Y find-principals fixes based on feedback
2240
2241 from Markus:
2242
2243 use "principals" instead of principal, as allowed_signers lines may list
2244 multiple.
2245
2246 When the signing key is a certificate, emit only principals that match
2247 the certificate principal list.
2248
2249 NB. the command -Y name changes: "find-principal" => "find-principals"
2250
2251 ok markus@
2252
2253 OpenBSD-Commit-ID: ab575946ff9a55624cd4e811bfd338bf3b1d0faf
2254
2255commit 0585b5697201f5d8b32e6f1b0fee7e188268d30d
2256Author: dtucker@openbsd.org <dtucker@openbsd.org>
2257Date: Fri Jan 24 01:29:23 2020 +0000
2258
2259 upstream: Do not warn about permissions on symlinks.
2260
2261 OpenBSD-Regress-ID: 339d4cbae224bd8743ffad9c3afb0cf3cb66c357
2262
2263commit 415192348a5737a960f6d1b292a17b64d55b542c
2264Author: dtucker@openbsd.org <dtucker@openbsd.org>
2265Date: Thu Jan 23 11:19:12 2020 +0000
2266
2267 upstream: Handle zlib compression being disabled now that it's
2268
2269 optional.
2270
2271 OpenBSD-Regress-ID: 0af4fbc5168e62f89d0350de524bff1cb00e707a
2272
2273commit fbce7c1a898ae75286349822950682cf46346121
2274Author: dtucker@openbsd.org <dtucker@openbsd.org>
2275Date: Thu Jan 23 10:53:04 2020 +0000
2276
2277 upstream: Fix typo in comment.
2278
2279 OpenBSD-Commit-ID: d1d7a6553208bf439378fd1cf686a828aceb353a
2280
2281commit ba247af8e9e302910e22881ef9d307a8afeef036
2282Author: dtucker@openbsd.org <dtucker@openbsd.org>
2283Date: Thu Jan 23 10:19:59 2020 +0000
2284
2285 upstream: When checking for unsafe directories, ignore non-directories
2286
2287 (ie symlinks, where permissions are not relevant).
2288
2289 OpenBSD-Regress-ID: fb6cfc8b022becb62b2dcb99ed3f072b3326e501
2290
2291commit 74deb7029be4c00810443114aac9308875a81dae
2292Author: Darren Tucker <dtucker@dtucker.net>
2293Date: Thu Jan 23 22:17:24 2020 +1100
2294
2295 zlib is now optional.
2296
2297commit 633a2af47ee90291aaf93969aeee1e5046074c7c
2298Author: Darren Tucker <dtucker@dtucker.net>
2299Date: Thu Jan 23 22:16:51 2020 +1100
2300
2301 Plumb WITH_ZLIB into configure.
2302
2303 This allows zlib support to be disabled by ./configure --without-zlib.
2304
2305commit 7f8e66fea8c4e2a910df9067cb7638999b7764d5
2306Author: dtucker@openbsd.org <dtucker@openbsd.org>
2307Date: Thu Jan 23 10:24:29 2020 +0000
2308
2309 upstream: Make zlib optional. This adds a "ZLIB" build time option
2310
2311 that allows building without zlib compression and associated options. With
2312 feedback from markus@, ok djm@
2313
2314 OpenBSD-Commit-ID: 44c6e1133a90fd15a3aa865bdedc53bab28b7910
2315
2316commit 69ac4e33023b379e9a8e9b4b6aeeffa6d1fcf6fa
2317Author: djm@openbsd.org <djm@openbsd.org>
2318Date: Thu Jan 23 07:54:04 2020 +0000
2319
2320 upstream: remove trailing period characters from pub/priv key
2321
2322 pathnames - they make them needlessly more difficult to cut and paste without
2323 error; ok markus@ & dtucker@
2324
2325 OpenBSD-Commit-ID: abdcfd1a5723fcac0711feee7665edc66ae2335a
2326
2327commit 945bf52c3c815d95b1e842ebf6c910c3524bd5bb
2328Author: Darren Tucker <dtucker@dtucker.net>
2329Date: Thu Jan 23 21:06:45 2020 +1100
2330
2331 Fix a couple of mysig_t leftovers.
2332
2333commit 84226b447d45fe4542613de68c2ca59a890d7c01
2334Author: Darren Tucker <dtucker@dtucker.net>
2335Date: Thu Jan 23 18:55:24 2020 +1100
2336
2337 Remove mysignal wrapper.
2338
2339 We switched the main code to use sigaction(), so the wrapper is no
2340 longer used.
2341
2342commit 5533c2fb7ef21172fa3708d66b03faa2c6b3d93f
2343Author: jmc@openbsd.org <jmc@openbsd.org>
2344Date: Thu Jan 23 07:16:38 2020 +0000
2345
2346 upstream: new sentence, new line;
2347
2348 OpenBSD-Commit-ID: b6c3f2f36ec77e99198619b38a9f146655281925
2349
2350commit 3bf2a6ac791d64046a537335a0f1d5e43579c5ad
2351Author: dtucker@openbsd.org <dtucker@openbsd.org>
2352Date: Thu Jan 23 07:10:22 2020 +0000
2353
2354 upstream: Replace all calls to signal(2) with a wrapper around
2355
2356 sigaction(2). This wrapper blocks all other signals during the handler
2357 preventing races between handlers, and sets SA_RESTART which should reduce
2358 the potential for short read/write operations.
2359
2360 OpenBSD-Commit-ID: 5e047663fd77a40d7b07bdabe68529df51fd2519
2361
2362commit e027c044c796f3a01081a91bee55741204283f28
2363Author: djm@openbsd.org <djm@openbsd.org>
2364Date: Thu Jan 23 04:54:34 2020 +0000
2365
2366 upstream: missing header change from previous; spotted by dtucker@
2367
2368 OpenBSD-Commit-ID: 321ce74c0a5bbd0f02fa3f20cb5cf2a952c6b96f
2369
2370commit 7e1323102b1b04eef391b01e180710a2d408a7ab
2371Author: dtucker@openbsd.org <dtucker@openbsd.org>
2372Date: Thu Jan 23 03:42:41 2020 +0000
2373
2374 upstream: Check for and warn about StrictModes permission problems. ok tb@
2375
2376 OpenBSD-Regress-ID: 4841704ccdee50ee7efc6035bc686695c6ac2991
2377
2378commit 84de1c27f845d15c859db44e7070a46f45504b66
2379Author: dtucker@openbsd.org <dtucker@openbsd.org>
2380Date: Thu Jan 23 03:35:07 2020 +0000
2381
2382 upstream: Also test PuTTY chacha20.
2383
2384 OpenBSD-Regress-ID: 7af6a0e8763b05f1f8eee6bca5f31fcb16151040
2385
2386commit c7ed15a39695ecd5f1f21842d8d9cd22246d4ee2
2387Author: dtucker@openbsd.org <dtucker@openbsd.org>
2388Date: Thu Jan 23 03:24:38 2020 +0000
2389
2390 upstream: Also test PuTTY ecdh kex methods.
2391
2392 OpenBSD-Regress-ID: ec4017dce612131842398a03e93007a869c2c133
2393
2394commit c4b3a128954ee1b7fbcbda167baf8aca1a3d1c84
2395Author: dtucker@openbsd.org <dtucker@openbsd.org>
2396Date: Thu Jan 23 02:46:49 2020 +0000
2397
2398 upstream: Remove unsupported algorithms from list of defaults at run
2399
2400 time and remove ifdef and distinct settings for OPENSSL=no case.
2401
2402 This will make things much simpler for -portable where the exact set
2403 of algos depends on the configuration of both OpenSSH and the libcrypto
2404 it's linked against (if any). ok djm@
2405
2406 OpenBSD-Commit-ID: e0116d0183dcafc7a9c40ba5fe9127805c5dfdd2
2407
2408commit 56cffcc09f8a2e661d2ba02e61364ae6f998b2b1
2409Author: djm@openbsd.org <djm@openbsd.org>
2410Date: Thu Jan 23 02:43:48 2020 +0000
2411
2412 upstream: add a new signature operations "find-principal" to look
2413
2414 up the principal associated with a signature from an allowed-signers file.
2415 Work by Sebastian Kinne; ok dtucker@
2416
2417 OpenBSD-Commit-ID: 6f782cc7e18e38fcfafa62af53246a1dcfe74e5d
2418
2419commit 65cf8730de6876a56595eef296e07a86c52534a6
2420Author: dtucker@openbsd.org <dtucker@openbsd.org>
2421Date: Wed Jan 22 07:38:30 2020 +0000
2422
2423 upstream: Ignore whitespace when checking explict fingerprint.
2424
2425 When confirming a host key using the fingerprint itself, ignore leading and
2426 trailing whitespace. ok deraadt@ djm@
2427
2428 OpenBSD-Commit-ID: cafd7f803bbdcd40c3a8f8f1a77747e6b6d8c011
2429
2430commit 8d3af6ebdf524b34087a0a3ae415b5141ba10572
2431Author: dtucker@openbsd.org <dtucker@openbsd.org>
2432Date: Wed Jan 22 07:31:27 2020 +0000
2433
2434 upstream: Increase keyscan timeout from default. On slow hosts 3
2435
2436 concurrent keyscans can hit the default 5 second timeout, so increase to 15
2437 seconds.
2438
2439 OpenBSD-Regress-ID: 16383dec166af369b7fb9948572856f5d544c93f
2440
2441commit 6c30c9adbeeed09a8a9e7a69974cfa1f1ddd1e9e
2442Author: tedu@openbsd.org <tedu@openbsd.org>
2443Date: Wed Jan 22 04:58:23 2020 +0000
2444
2445 upstream: remove diffie-hellman-group14-sha1 from default kex to
2446
2447 see what happens. general mostly ok
2448
2449 OpenBSD-Commit-ID: 216b7b8462d2ef5f4531f26cb2cb839b2153dad9
2450
2451commit 4a32c0ca44a2dc2a358f69b5d43c08e528b44b39
2452Author: claudio@openbsd.org <claudio@openbsd.org>
2453Date: Wed Jan 22 04:51:51 2020 +0000
2454
2455 upstream: For ssh-keygen -lF only add a space after key fingerprint
2456
2457 when there is a comment. This makes copy-paste of fingerprints into ssh
2458 easier. OK djm@
2459
2460 OpenBSD-Commit-ID: fa01d95624f65c1eb4dc7c575d20d77c78010dfd
2461
2462commit 37d3b736506760e4ebc7fe56255f7b8ea823a00c
2463Author: djm@openbsd.org <djm@openbsd.org>
2464Date: Wed Jan 22 04:49:16 2020 +0000
2465
2466 upstream: some __func__ and strerror(errno) here; no functional
2467
2468 change
2469
2470 OpenBSD-Commit-ID: 6c3ddd5f848b99ea560b31d3fba99ceed66cef37
2471
2472commit e2031b05c74c98b141179ceab13a323cf17d01e5
2473Author: djm@openbsd.org <djm@openbsd.org>
2474Date: Wed Jan 22 02:25:21 2020 +0000
2475
2476 upstream: factor out parsing of allowed-signers lines
2477
2478 OpenBSD-Commit-ID: 85ee6aeff608371826019ea85e55bfa87f79d06e
2479
2480commit 47160e1de8c2f638f0ef41cef42c976417b61778
2481Author: Damien Miller <djm@mindrot.org>
2482Date: Wed Jan 22 10:30:13 2020 +1100
2483
2484 unbreak fuzzer support for recent ssh-sk.h changes
2485
2486commit 70d38c3cfd4550e8ee66cc3bf1b91aa339c91df5
2487Author: djm@openbsd.org <djm@openbsd.org>
2488Date: Tue Jan 21 22:39:57 2020 +0000
2489
2490 upstream: expose the number of currently-authenticating connections
2491
2492 along with the MaxStartups limit in the proctitle; suggestion from Philipp
2493 Marek, w/ feedback from Craig Miskell ok dtucker@
2494
2495 OpenBSD-Commit-ID: a4a6db2dc1641a5df8eddf7d6652176e359dffb3
2496
2497commit a78c66d5d2144bd49779bc80a647346bd3d7233d
2498Author: naddy@openbsd.org <naddy@openbsd.org>
2499Date: Tue Jan 21 12:40:04 2020 +0000
2500
2501 upstream: document the default value of the ControlPersist option;
2502
2503 ok dtucker@ djm@
2504
2505 OpenBSD-Commit-ID: 0788e7f2b5a9d4e36d3d2ab378f73329320fef66
2506
2507commit b46a6325849e40aa2e4b0d962a6f00f708f6576a
2508Author: Damien Miller <djm@mindrot.org>
2509Date: Wed Jan 22 09:28:32 2020 +1100
2510
2511 remove accidental change in f8c11461
2512
2513commit 80d3bebcab96fe1d177e45906e10db16895da01d
2514Author: djm@openbsd.org <djm@openbsd.org>
2515Date: Tue Jan 21 11:06:09 2020 +0000
2516
2517 upstream: don't #ifdef out the KRL code when compiling without
2518
2519 libcrypto support; it works just fine and disabling it breaks a few tests. ok
2520 dtucker@
2521
2522 OpenBSD-Commit-ID: 65f6272c4241eb4b04de78b012fe98b2b555ad44
2523
2524commit f8c11461aa6db168fc5e7eeae448b4cbbf59642a
2525Author: djm@openbsd.org <djm@openbsd.org>
2526Date: Tue Jan 21 08:06:27 2020 +0000
2527
2528 upstream: pass SSH_SK_HELPER explicitly past $SUDO to avoid it getting
2529
2530 cleared; with dtucker@
2531
2532 OpenBSD-Regress-ID: 03178a0580324bf0dff28f7eac6c3edbc5407f8e
2533
2534commit b5fcb0ac1cc0ef01aeec1c089146298654ab3ae0
2535Author: djm@openbsd.org <djm@openbsd.org>
2536Date: Tue Jan 21 07:07:31 2020 +0000
2537
2538 upstream: check access(ssh-sk-helper, X_OK) to provide friendly
2539
2540 error message for misconfigured helper paths
2541
2542 OpenBSD-Commit-ID: 061bcc262155d12e726305c91394ac0aaf1f8341
2543
2544commit 56bced43c14dc6fa2bfa1816007e441644105609
2545Author: dtucker@openbsd.org <dtucker@openbsd.org>
2546Date: Tue Jan 21 06:09:56 2020 +0000
2547
2548 upstream: Document sntrup4591761x25519-sha512@tinyssh.org. Patch
2549
2550 from jtesta@positronsecurity.com via github PR#151.
2551
2552 OpenBSD-Commit-ID: f3d48168623045c258245c340a5a2af7dbb74edc
2553
2554commit 4a05d789b86314fef7303824f69defbc6b96ed60
2555Author: djm@openbsd.org <djm@openbsd.org>
2556Date: Tue Jan 21 05:56:56 2020 +0000
2557
2558 upstream: fix ssh-keygen not displaying authenticator touch
2559
2560 prompt; reported by jmc@
2561
2562 OpenBSD-Commit-ID: 04d4f582fc194eb3897ebcbfe286c49958ba2859
2563
2564commit 881aded0389d999375f926051491a944c6d8752b
2565Author: djm@openbsd.org <djm@openbsd.org>
2566Date: Tue Jan 21 05:56:27 2020 +0000
2567
2568 upstream: a little more verbosity in sign_and_send_pubkey() debug
2569
2570 messages
2571
2572 OpenBSD-Commit-ID: 6da47a0e6373f6683006f49bc2a516d197655508
2573
2574commit b715fdc71bbd009d0caff691ab3fc04903c4aee8
2575Author: naddy@openbsd.org <naddy@openbsd.org>
2576Date: Sat Jan 18 21:16:43 2020 +0000
2577
2578 upstream: one more replacement "(security) key" -> "(FIDO)
2579
2580 authenticator"
2581
2582 OpenBSD-Commit-ID: 031bca03c1d1f878ab929facd561911f1bc68dfd
2583
2584commit 84911da1beeb6ed258a43468efb316cd39fb6855
2585Author: naddy@openbsd.org <naddy@openbsd.org>
2586Date: Sat Jan 18 15:45:41 2020 +0000
2587
2588 upstream: undo merge error and replace the term "security key"
2589
2590 again
2591
2592 OpenBSD-Commit-ID: 341749062c089cc360a7877e9ee3a887aecde395
2593
2594commit e8c06c4ee708720efec12cd1a6f78a3c6d76b7f0
2595Author: naddy@openbsd.org <naddy@openbsd.org>
2596Date: Fri Jan 17 20:13:47 2020 +0000
2597
2598 upstream: Document loading of resident keys from a FIDO
2599
2600 authenticator.
2601
2602 * Rename -O to -K to keep "-O option" available.
2603 * Document -K.
2604 * Trim usage() message down to synopsis, like all other commands.
2605
2606 ok markus@
2607
2608 OpenBSD-Commit-ID: 015c2c4b28f8e19107adc80351b44b23bca4c78a
2609
2610commit 0d005d6372a067b59123dec8fc6dc905f2c09e1e
2611Author: naddy@openbsd.org <naddy@openbsd.org>
2612Date: Tue Jan 14 15:07:30 2020 +0000
2613
2614 upstream: sync ssh-keygen.1 and ssh-keygen's usage() with each
2615
2616 other and reality ok markus@
2617
2618 OpenBSD-Commit-ID: cdf64454f2c3604c25977c944e5b6262a3bcce92
2619
2620commit b8a4ca2ebfddab862f7eb1ea2a07fb9f70330429
2621Author: naddy@openbsd.org <naddy@openbsd.org>
2622Date: Sat Jan 11 16:23:10 2020 +0000
2623
2624 upstream: revise the fix for reversed arguments on
2625
2626 expand_proxy_command()
2627
2628 Always put 'host' before 'host_arg' for consistency. ok markus@ djm@
2629
2630 OpenBSD-Commit-ID: 1ba5b25472779f1b1957295fcc6907bb961472a3
2631
2632commit 57b181eaf2d34fd0a1b51ab30cb6983df784de5a
2633Author: djm@openbsd.org <djm@openbsd.org>
2634Date: Fri Jan 10 23:43:26 2020 +0000
2635
2636 upstream: pass the log-on-stderr flag and log level through to
2637
2638 ssh-sk-helper, making debugging a bit easier. ok markus@
2639
2640 OpenBSD-Commit-ID: 2e7aea6bf5770d3f38b7c7bba891069256c5a49a
2641
2642commit a8bd5fdbdb7581afc7123a042a7cd6ca25357388
2643Author: Damien Miller <djm@mindrot.org>
2644Date: Tue Jan 21 12:32:16 2020 +1100
2645
2646 Wrap copy_environment_blacklist() in #ifdef
2647
2648 It's only needed for USE_PAM or HAVE_CYGWIN cases and will cause compiler
2649 warnings otherwise.
2650
2651commit 10ecc647fc1db8d2dde9f6b9b826b201dfc48b62
2652Author: Damien Miller <djm@mindrot.org>
2653Date: Tue Jan 21 12:20:05 2020 +1100
2654
2655 depend
2656
2657commit b3f7009c9ffa5891283ed96e043001e09934a8d4
2658Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
2659Date: Mon Jan 20 11:56:48 2020 +0100
2660
2661 Fix missing prototype warning for copy_environment
2662
2663 This function is only used in this file, and only on Cygwin, so make
2664 it static and hide it behind HAVE_CYGWIN. Prevents missing prototype
2665 warning.
2666
2667commit 0c428c0e991e2c4fabc48cf5d9b8f84c9412e0c3
2668Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
2669Date: Mon Jan 20 13:58:11 2020 +0100
2670
2671 configure.ac: fix ldns test
2672
2673 When running ./configure --with-ldns, if ldns-config cannot be found, we
2674 add -Iyes/include to CPPFLAGS and -Lyes/lib to LDFLAGS. Fix that.
2675
2676commit 6089abf715e2784751c9f62697e09bb103295b93
2677Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
2678Date: Mon Jan 20 12:13:26 2020 +0100
2679
2680 Make sshpam_password_change_required static.
2681
2682 sshpam_password_change_required is only used in auth-pam.c, so make it
2683 static to prevent a mising prototype warning.
2684
2685commit 5a9b9c82851b7bc219dc3a65962a80803c76c102
2686Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
2687Date: Mon Jan 20 12:24:51 2020 +0100
2688
2689 sandbox-darwin.c: fix missing prototypes.
2690
2691 Include the right header just like the other sandbox files.
2692 Fixes missing prototype warnings for ssh_sandbox_* functions.
2693
2694commit 335dc93526942a650f6c69666b3f6ca44d0a2910
2695Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
2696Date: Mon Jan 20 11:09:27 2020 +0100
2697
2698 Fix a few warnings when on Mac OS X.
2699
2700 Include stdlib.h for calloc, malloc, free and setenv.
2701
2702commit 0488dc2d3050ea1a99ef5cf44afc50ffbf3f1315
2703Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
2704Date: Mon Jan 20 10:32:23 2020 +0100
2705
2706 Fix building without openssl.
2707
2708 This fixes the following when there are no openssl headers on the system:
2709 ssh-ecdsa-sk.c:34:10: fatal error: 'openssl/bn.h' file not found
2710
2711commit e6b7157b4ef29c83ec3a2d1d7c927e4b8898f9bb
2712Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
2713Date: Wed Jan 15 16:08:55 2020 +0100
2714
2715 Add config.log to .gitignore
2716
2717commit 515e10ddf9644010b88cfd7ecf601f4306d42232
2718Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
2719Date: Wed Jan 15 16:16:31 2020 +0100
2720
2721 Fix typo in README.md, s/crytpo/crypto/
2722
2723commit 1af3354aea3c4bfa5b5ecfb5d1ff3ad231c2073c
2724Author: Darren Tucker <dtucker@dtucker.net>
2725Date: Wed Jan 15 16:22:36 2020 +1100
2726
2727 Wrap stdint.h in ifdef HAVE_STDINT_H.
2728
2729commit 429170f273ce1b0140f8111a45ba69390d98de3a
2730Author: Darren Tucker <dtucker@dtucker.net>
2731Date: Tue Jan 14 14:41:47 2020 +1100
2732
2733 Wrap stdint.h inside HAVE_STDINT_H.
2734
2735commit a0989b60211b6f1c2313e1397c526d883a23a075
2736Author: Darren Tucker <dtucker@dtucker.net>
2737Date: Tue Jan 14 14:26:41 2020 +1100
2738
2739 Include compat header for definitions.
2740
2741commit e0cedcad51fe02683943bf4f1ad2961aa3f35313
2742Author: Darren Tucker <dtucker@dtucker.net>
2743Date: Tue Jan 14 09:42:52 2020 +1100
2744
2745 Improve search for 'struct timespec'.
2746
2747 Make struct timespec test consistent with existing timeval test.
2748 Include time.h for timespec in compat header where required.
2749
2750commit acaf9e058594310001ce64468ed2923dc6323e81
2751Author: Darren Tucker <dtucker@dtucker.net>
2752Date: Tue Jan 14 12:43:03 2020 +1100
2753
2754 Update depend to remove rmd160.h.
2755
2756commit 26b2675b0c3e3efea11a52609073aec01736ec84
2757Author: Darren Tucker <dtucker@dtucker.net>
2758Date: Tue Jan 14 07:24:46 2020 +1100
2759
2760 Remove configure test & compat code for ripemd160.
2761
2762 RIPEMD160 support was removed upstream in 2017, however we still had
2763 a configure test and compat code for it, so clean those up now.
2764
2765commit ed3ad71b17adcd1fb4431d145f53cee1c6a1135e
2766Author: djm@openbsd.org <djm@openbsd.org>
2767Date: Thu Jan 9 03:28:38 2020 +0000
2768
2769 upstream: fix reversed arguments on expand_proxy_command(); spotted
2770
2771 by anton@
2772
2773 OpenBSD-Commit-ID: db1c32478a01dfbc9c4db171de0f25907bea5775
2774
2775commit cd53476383f0cf475f40ba8ac8deb6b76dd5ce4e
2776Author: jmc@openbsd.org <jmc@openbsd.org>
2777Date: Mon Jan 6 07:43:28 2020 +0000
2778
2779 upstream: put the fido options in a list, and tidy up the text a
2780
2781 little; ok djm
2782
2783 OpenBSD-Commit-ID: 491ce15ae52a88b7a6a2b3b6708a14b4aacdeebb
2784
2785commit 30f704ebc0e9e32b3d12f5d9e8c1b705fdde2c89
2786Author: Jeremy Drake <github@jdrake.com>
2787Date: Fri Oct 11 18:31:05 2019 -0700
2788
2789 Deny (non-fatal) ipc in preauth privsep child.
2790
2791 As noted in openssh/openssh-portable#149, i386 does not have have
2792 _NR_shmget etc. Instead, it has a single ipc syscall (see man 2 ipc,
2793 https://linux.die.net/man/2/ipc). Add this syscall, if present, to the
2794 list of syscalls that seccomp will deny non-fatally.
2795
2796commit b110cefdfbf5a20f49b774a55062d6ded2fb6e22
2797Author: Khem Raj <raj.khem@gmail.com>
2798Date: Tue Jan 7 16:26:45 2020 -0800
2799
2800 seccomp: Allow clock_gettime64() in sandbox.
2801
2802 This helps sshd accept connections on mips platforms with
2803 upcoming glibc ( 2.31 )
2804
2805commit 3cc60c899a92a469e5118310ba6b74cb57215618
2806Author: djm@openbsd.org <djm@openbsd.org>
2807Date: Mon Jan 6 02:39:30 2020 +0000
2808
2809 upstream: missing else in check_enroll_options()
2810
2811 OpenBSD-Commit-ID: e058fb918fda56ddbbf0bee910101004cec421d4
2812
2813commit ff5784e2698d6c41e9f39ce4df24968c1beeb2bb
2814Author: djm@openbsd.org <djm@openbsd.org>
2815Date: Mon Jan 6 02:24:28 2020 +0000
2816
2817 upstream: fix error message
2818
2819 OpenBSD-Commit-ID: 1eb52025658eb78ea6223181e552862198d3d505
2820
2821commit dd2acc8b862c09751621995fba2d5fa6f4e24cc9
2822Author: djm@openbsd.org <djm@openbsd.org>
2823Date: Mon Jan 6 02:07:50 2020 +0000
2824
2825 upstream: adapt sk-dummy to SK API changes
2826
2827 also, make it pull prototypes directly from sk-api.c and #error
2828 if the expected version changes. This will make any future regress
2829 test breakage because of SK API changes much more apparent
2830
2831 OpenBSD-Regress-ID: 79b07055de4feb988e31da71a89051ad5969829d
2832
2833commit c312ca077cd2a6c15545cd6b4d34ee2f69289174
2834Author: djm@openbsd.org <djm@openbsd.org>
2835Date: Mon Jan 6 02:00:46 2020 +0000
2836
2837 upstream: Extends the SK API to accept a set of key/value options
2838
2839 for all operations. These are intended to future-proof the API a little by
2840 making it easier to specify additional fields for without having to change
2841 the API version for each.
2842
2843 At present, only two options are defined: one to explicitly specify
2844 the device for an operation (rather than accepting the middleware's
2845 autoselection) and another to specify the FIDO2 username that may
2846 be used when generating a resident key. These new options may be
2847 invoked at key generation time via ssh-keygen -O
2848
2849 This also implements a suggestion from Markus to avoid "int" in favour
2850 of uint32_t for the algorithm argument in the API, to make implementation
2851 of ssh-sk-client/helper a little easier.
2852
2853 feedback, fixes and ok markus@
2854
2855 OpenBSD-Commit-ID: 973ce11704609022ab36abbdeb6bc23c8001eabc
2856
2857commit 2ab335712d084d9ccaf3f53afc3fa9535329da87
2858Author: beck@openbsd.org <beck@openbsd.org>
2859Date: Sun Jan 5 16:28:22 2020 +0000
2860
2861 upstream: fix CanonicalizeHostname, broken by rev 1.507
2862
2863 Issue noticed and reported by Pierre-Olivier Martel <pom@apple.com>
2864 ok dtucker@ markus@ djm@
2865
2866 OpenBSD-Commit-ID: 749f3168ec520609c35b0c4e1984e5fa47f16094
2867
2868commit 69e44ba701b90b0f530d64c3fe4363ea86e50cd3
2869Author: Darren Tucker <dtucker@dtucker.net>
2870Date: Mon Jan 6 09:02:53 2020 +1100
2871
2872 Fix typo: 'you' -> 'your'.
2873
2874 bz#3108 from jmckitrick@gmail.com.
2875
2876commit 7652a57662969bd5c61448b3843ec6d407ad12be
2877Author: Darren Tucker <dtucker@dtucker.net>
2878Date: Mon Jan 6 08:56:46 2020 +1100
2879
2880 Remove auth-skey.c.
2881
2882 S/Key support was removed in OpenSSH 7.8 but this file was missed.
2883
2884commit c593cc5e826c9f4ec506e22b629d37cabfaacff9
2885Author: jmc@openbsd.org <jmc@openbsd.org>
2886Date: Fri Jan 3 07:33:33 2020 +0000
2887
2888 upstream: the download resident keys option is -K (upper) not -k
2889
2890 (lower); ok djm
2891
2892 OpenBSD-Commit-ID: 71dc28a3e1fa7c553844abc508845bcf5766e091
2893
2894commit ff31f15773ee173502eec4d7861ec56f26bba381
2895Author: djm@openbsd.org <djm@openbsd.org>
2896Date: Fri Jan 3 03:02:26 2020 +0000
2897
2898 upstream: what bozo decided to use 2020 as a future date in a regress
2899
2900 test?
2901
2902 OpenBSD-Regress-ID: 3b953df5a7e14081ff6cf495d4e8d40e153cbc3a
2903
2904commit 680eb7749a39d0e4d046e66cac4e51e8e3640b75
2905Author: djm@openbsd.org <djm@openbsd.org>
2906Date: Fri Jan 3 02:46:19 2020 +0000
2907
2908 upstream: implement recent SK API change to support resident keys
2909
2910 and PIN prompting in the dummy middleware that we use for the tests. Should
2911 fix breakage spotted by dtucker@
2912
2913 OpenBSD-Regress-ID: 379cf9eabfea57aaf7f3f59dafde59889566c484
2914
2915commit 86834fe6b54ac57b8528c30cf0b27e5cac5b7af7
2916Author: dtucker@openbsd.org <dtucker@openbsd.org>
2917Date: Thu Jan 2 13:25:38 2020 +0000
2918
2919 upstream: Update keygen moduli screen test to match recent command
2920
2921 line option change to ssh-keygen(1).
2922
2923 OpenBSD-Regress-ID: 744a72755004377e9669b662c13c6aa9ead8a0c3
2924
2925commit 9039971887cccd95b209c479296f772a3a93e8e7
2926Author: djm@openbsd.org <djm@openbsd.org>
2927Date: Thu Jan 2 22:40:09 2020 +0000
2928
2929 upstream: ability to download FIDO2 resident keys from a token via
2930
2931 "ssh-keygen -K". This will save public/private keys into the current
2932 directory.
2933
2934 This is handy if you move a token between hosts.
2935
2936 feedback & ok markus@
2937
2938 OpenBSD-Commit-ID: d57c1f9802f7850f00a117a1d36682a6c6d10da6
2939
2940commit 878ba4350d57e905d6bb1865d8ff31bdfe5deab4
2941Author: djm@openbsd.org <djm@openbsd.org>
2942Date: Thu Jan 2 22:38:33 2020 +0000
2943
2944 upstream: add sshkey_save_public(), to save a public key; ok
2945
2946 markus@
2947
2948 OpenBSD-Commit-ID: 5d6f96a966d10d7fa689ff9aa9e1d6767ad5a076
2949
2950commit 3b1382ffd5e71eff78db8cef0f3cada22ff29409
2951Author: jmc@openbsd.org <jmc@openbsd.org>
2952Date: Mon Dec 30 16:10:00 2019 +0000
2953
2954 upstream: simplify the list for moduli options - no need for
2955
2956 -compact;
2957
2958 OpenBSD-Commit-ID: 6492c72280482c6d072be46236b365cb359fc280
2959
2960commit 0248ec7c763dee9ff730a589e3d166eac5c74d7c
2961Author: Damien Miller <djm@mindrot.org>
2962Date: Thu Jan 2 13:41:31 2020 +1100
2963
2964 ssh-sk-null.cc needs extern "C" {}
2965
2966commit 5ca4b414effe4b56f0cfe3058c92391aa8a43871
2967Author: Damien Miller <djm@mindrot.org>
2968Date: Thu Jan 2 10:56:29 2020 +1100
2969
2970 add dummy ssh-sk API for linking with fuzzers
2971
2972commit c4b2664be7ba25e4c233315b25212dec29b727ab
2973Author: Damien Miller <djm@mindrot.org>
2974Date: Mon Dec 30 21:04:09 2019 +1100
2975
2976 refresh depend
2977
2978commit 3093d12ff80927cf45da08d9f262a26680fb14ee
2979Author: djm@openbsd.org <djm@openbsd.org>
2980Date: Mon Dec 30 09:49:52 2019 +0000
2981
2982 upstream: Remove the -x option currently used for
2983
2984 FIDO/U2F-specific key flags. Instead these flags may be specified via -O.
2985
2986 ok markus@
2987
2988 OpenBSD-Commit-ID: f23ebde2a8a7e1bf860a51055a711cffb8c328c1
2989
2990commit ef65e7dbaa8fac3245aa2bfc9f7e09be7cba0d9d
2991Author: djm@openbsd.org <djm@openbsd.org>
2992Date: Mon Dec 30 09:25:29 2019 +0000
2993
2994 upstream: document SK API changes in PROTOCOL.u2f
2995
2996 ok markus@
2997
2998 OpenBSD-Commit-ID: 52622363c103a3c4d3d546050480ffe978a32186
2999
3000commit 43ce96427b76c4918e39af654e2fc9ee18d5d478
3001Author: djm@openbsd.org <djm@openbsd.org>
3002Date: Mon Dec 30 09:24:45 2019 +0000
3003
3004 upstream: translate and return error codes; retry on bad PIN
3005
3006 Define some well-known error codes in the SK API and pass
3007 them back via ssh-sk-helper.
3008
3009 Use the new "wrong PIN" error code to retry PIN prompting during
3010 ssh-keygen of resident keys.
3011
3012 feedback and ok markus@
3013
3014 OpenBSD-Commit-ID: 9663c6a2bb7a0bc8deaccc6c30d9a2983b481620
3015
3016commit d433596736a2cd4818f538be11fc94783f5c5236
3017Author: djm@openbsd.org <djm@openbsd.org>
3018Date: Mon Dec 30 09:24:03 2019 +0000
3019
3020 upstream: improve some error messages; ok markus@
3021
3022 OpenBSD-Commit-ID: 4ccd8ddabb8df4f995107dd3b7ea58220e93cb81
3023
3024commit c54cd1892c3e7f268b21e1f07ada9f0d9816ffc0
3025Author: djm@openbsd.org <djm@openbsd.org>
3026Date: Mon Dec 30 09:23:28 2019 +0000
3027
3028 upstream: SK API and sk-helper error/PIN passing
3029
3030 Allow passing a PIN via the SK API (API major crank) and let the
3031 ssh-sk-helper API follow.
3032
3033 Also enhance the ssh-sk-helper API to support passing back an error
3034 code instead of a complete reply. Will be used to signal "wrong PIN",
3035 etc.
3036
3037 feedback and ok markus@
3038
3039 OpenBSD-Commit-ID: a1bd6b0a2421646919a0c139b8183ad76d28fb71
3040
3041commit 79fe22d9bc2868c5118f032ec1200ac9c2e3aaef
3042Author: djm@openbsd.org <djm@openbsd.org>
3043Date: Mon Dec 30 09:22:49 2019 +0000
3044
3045 upstream: implement loading resident keys in ssh-add
3046
3047 "ssh-add -O" will load resident keys from a FIDO2 token and add them
3048 to a ssh-agent.
3049
3050 feedback and ok markus@
3051
3052 OpenBSD-Commit-ID: 608104ae957a7d65cb84e0a3a26c8f60e0df3290
3053
3054commit 27753a8e21887d47fe6b5c78a4aed0efe558a850
3055Author: djm@openbsd.org <djm@openbsd.org>
3056Date: Mon Dec 30 09:21:59 2019 +0000
3057
3058 upstream: implement loading of resident keys in ssh-sk-helper
3059
3060 feedback and ok markus@
3061
3062 OpenBSD-Commit-ID: b273c23769ea182c55c4a7b8f9cbd9181722011a
3063
3064commit 14cea36df397677b8f8568204300ef654114fd76
3065Author: djm@openbsd.org <djm@openbsd.org>
3066Date: Mon Dec 30 09:21:16 2019 +0000
3067
3068 upstream: resident keys support in SK API
3069
3070 Adds a sk_load_resident_keys() function to the security key
3071 API that accepts a security key provider and a PIN and returns
3072 a list of keys.
3073
3074 Implement support for this in the usbhid middleware.
3075
3076 feedback and ok markus@
3077
3078 OpenBSD-Commit-ID: 67e984e4e87f4999ce447a6178c4249a9174eff0
3079
3080commit 2fe05fcb4a2695f190b4fcf27770b655586ab349
3081Author: djm@openbsd.org <djm@openbsd.org>
3082Date: Mon Dec 30 09:20:36 2019 +0000
3083
3084 upstream: Factor out parsing of struct sk_enroll_response
3085
3086 We'll reuse this for extracting resident keys from a device.
3087
3088 feedback and ok markus@
3089
3090 OpenBSD-Commit-ID: 9bc1efd9c6897eac4df0983746cf6578c1542273
3091
3092commit 4532bd01d57ee13c3ca881eceac1bf9da96a4d7e
3093Author: djm@openbsd.org <djm@openbsd.org>
3094Date: Mon Dec 30 09:19:52 2019 +0000
3095
3096 upstream: basic support for generating FIDO2 resident keys
3097
3098 "ssh-keygen -t ecdsa-sk|ed25519-sk -x resident" will generate a
3099 device-resident key.
3100
3101 feedback and ok markus@
3102
3103 OpenBSD-Commit-ID: 8e1b3c56a4b11d85047bd6c6c705b7eef4d58431
3104
3105commit 3e60d18fba1b502c21d64fc7e81d80bcd08a2092
3106Author: djm@openbsd.org <djm@openbsd.org>
3107Date: Mon Dec 30 03:30:09 2019 +0000
3108
3109 upstream: remove single-letter flags for moduli options
3110
3111 Move all moduli generation options to live under the -O flag.
3112
3113 Frees up seven single-letter flags.
3114
3115 NB. this change break existing ssh-keygen commandline syntax for moduli-
3116 related operations. Very few people use these fortunately.
3117
3118 feedback and ok markus@
3119
3120 OpenBSD-Commit-ID: d498f3eaf28128484826a4fcb343612764927935
3121
3122commit 1e645fe767f27725dc7fd7864526de34683f7daf
3123Author: djm@openbsd.org <djm@openbsd.org>
3124Date: Mon Dec 30 03:28:41 2019 +0000
3125
3126 upstream: prepare for use of ssh-keygen -O flag beyond certs
3127
3128 Move list of available certificate options in ssh-keygen.1 to the
3129 CERTIFICATES section.
3130
3131 Collect options specified by -O but delay parsing/validation of
3132 certificate options until we're sure that we're acting as a CA.
3133
3134 ok markus@
3135
3136 OpenBSD-Commit-ID: 33e6bcc29cfca43606f6fa09bd84b955ee3a4106
3137
3138commit 20ccd854245c598e2b47cc9f8d4955d645195055
3139Author: jmc@openbsd.org <jmc@openbsd.org>
3140Date: Fri Dec 27 08:28:44 2019 +0000
3141
3142 upstream: sort -Y internally in the options list, as is already
3143
3144 done in synopsis;
3145
3146 OpenBSD-Commit-ID: 86d033c5764404057616690d7be992e445b42274
3147
3148commit 5b6c954751dd3677466cda7adb92e4f05446c96c
3149Author: jmc@openbsd.org <jmc@openbsd.org>
3150Date: Fri Dec 27 08:25:07 2019 +0000
3151
3152 upstream: in the options list, sort -Y and -y;
3153
3154 OpenBSD-Commit-ID: 24c2e6a3aeab6e050a0271ffc73fdff91c10dcaa
3155
3156commit 141df487ba699cfd1ec3dcd98186e7c956e99024
3157Author: naddy@openbsd.org <naddy@openbsd.org>
3158Date: Sat Dec 21 20:22:34 2019 +0000
3159
3160 upstream: Replace the term "security key" with "(FIDO)
3161
3162 authenticator".
3163
3164 The polysemous use of "key" was too confusing. Input from markus@.
3165 ok jmc@
3166
3167 OpenBSD-Commit-ID: 12eea973a44c8232af89f86e4269d71ae900ca8f
3168
3169commit fbd9729d4eadf2f7097b6017156387ac64302453
3170Author: djm@openbsd.org <djm@openbsd.org>
3171Date: Sat Dec 21 02:33:07 2019 +0000
3172
3173 upstream: unit tests for ForwardAgent=/path; from Eric Chiang
3174
3175 OpenBSD-Regress-ID: 24f693f78290b2c17725dab2c614dffe4a88c8da
3176
3177commit e5b7cf8edca7e843adc125621e1dab14507f430a
3178Author: djm@openbsd.org <djm@openbsd.org>
3179Date: Mon Dec 16 02:39:05 2019 +0000
3180
3181 upstream: test security key host keys in addition to user keys
3182
3183 OpenBSD-Regress-ID: 9fb45326106669a27e4bf150575c321806e275b1
3184
3185commit 40be78f503277bd91c958fa25ea9ef918a2ffd3d
3186Author: djm@openbsd.org <djm@openbsd.org>
3187Date: Sat Dec 21 02:19:13 2019 +0000
3188
3189 upstream: Allow forwarding a different agent socket to the path
3190
3191 specified by $SSH_AUTH_SOCK, by extending the existing ForwardAgent option to
3192 accepting an explicit path or the name of an environment variable in addition
3193 to yes/no.
3194
3195 Patch by Eric Chiang, manpage by me; ok markus@
3196
3197 OpenBSD-Commit-ID: 98f2ed80bf34ea54d8b2ddd19ac14ebbf40e9265
3198
3199commit 416f15372bfb5be1709a0ad1d00ef5d8ebfb9e0e
3200Author: naddy@openbsd.org <naddy@openbsd.org>
3201Date: Fri Dec 20 20:28:55 2019 +0000
3202
3203 upstream: SSH U2F keys can now be used as host keys. Fix a garden
3204
3205 path sentence. ok markus@
3206
3207 OpenBSD-Commit-ID: 67d7971ca1a020acd6c151426c54bd29d784bd6b
3208
3209commit 68010acbcfe36167b3eece3115f3a502535f80df
3210Author: dtucker@openbsd.org <dtucker@openbsd.org>
3211Date: Fri Dec 20 02:42:42 2019 +0000
3212
3213 upstream: Move always unsupported keywords to be grouped with the other
3214
3215 ones. Move oSecurityProvider to match the order in the OpCodes enum. Patch
3216 from openbsd@academicsolutions.ch, ok djm@
3217
3218 OpenBSD-Commit-ID: 061e4505861ec1e02ba3a63e3d1b3be3cad458ec
3219
3220commit 8784b02dc49e1c98df4e7aca466be2f652ed4ad1
3221Author: dtucker@openbsd.org <dtucker@openbsd.org>
3222Date: Fri Dec 20 02:29:21 2019 +0000
3223
3224 upstream: Remove obsolete opcodes from the configuation enum.
3225
3226 Patch from openbsd@academicsolutions.ch, ok djm@
3227
3228 OpenBSD-Commit-ID: 395c202228872ce8d9044cc08552ac969f51e01b
3229
3230commit 345be6091bdc9be09c90a937d1320f97c01fab2a
3231Author: dtucker@openbsd.org <dtucker@openbsd.org>
3232Date: Fri Dec 20 02:11:38 2019 +0000
3233
3234 upstream: Remove now-obsolete config options from example in
3235
3236 comment. Patch from openbsd@academicsolutions.ch, ok djm@
3237
3238 OpenBSD-Commit-ID: 35862beb0927b1cb0af476ec23cc07f6e3006101
3239
3240commit ae024b22c4fd68e7f39681d605585889f9511108
3241Author: naddy@openbsd.org <naddy@openbsd.org>
3242Date: Thu Dec 19 15:09:30 2019 +0000
3243
3244 upstream: Document that security key-hosted keys can act as host
3245
3246 keys.
3247
3248 Update the list of default host key algorithms in ssh_config.5 and
3249 sshd_config.5. Copy the description of the SecurityKeyProvider
3250 option to sshd_config.5.
3251
3252 ok jmc@
3253
3254 OpenBSD-Commit-ID: edadf3566ab5e94582df4377fee3b8b702c7eca0
3255
3256commit bc2dc091e0ac4ff6245c43a61ebe12c7e9ea0b7f
3257Author: dtucker@openbsd.org <dtucker@openbsd.org>
3258Date: Thu Dec 19 03:50:01 2019 +0000
3259
3260 upstream: "Forward security" -> "Forward secrecy" since that's the
3261
3262 correct term. Add "MAC" since we use that acronym in other man pages. ok
3263 naddy@
3264
3265 OpenBSD-Commit-ID: c35529e511788586725fb63bda3459e10738c5f5
3266
3267commit e905f7260d72bc0e33ef5f10a0db737ff6e77ba7
3268Author: naddy@openbsd.org <naddy@openbsd.org>
3269Date: Tue Dec 17 16:21:07 2019 +0000
3270
3271 upstream: cut obsolete lists of crypto algorithms from outline of
3272
3273 how SSH works ok markus@ jmc@
3274
3275 OpenBSD-Commit-ID: 8e34973f232ab48c4d4f5d07df48d501708b9160
3276
3277commit f65cf1163ff01531ae02f3f9210391d0d692f699
3278Author: tobhe@openbsd.org <tobhe@openbsd.org>
3279Date: Mon Dec 16 13:58:53 2019 +0000
3280
3281 upstream: strdup may return NULL if memory allocation fails. Use
3282
3283 the safer xstrdup which fatals on allocation failures.
3284
3285 ok markus@
3286
3287 OpenBSD-Commit-ID: 8b608d387120630753cbcb8110e0b019c0c9a0d0
3288
3289commit 57634bfc5708477826c0be265ddc59b9d83e4886
3290Author: djm@openbsd.org <djm@openbsd.org>
3291Date: Mon Dec 16 03:16:58 2019 +0000
3292
3293 upstream: sort sk-* methods behind their plain key methods cousins
3294
3295 for now
3296
3297 OpenBSD-Commit-ID: c97e22c2b28c0d12ee389b8b4ef5f2ada7908828
3298
3299commit b8df8fe920e697edcc69c520390b78c3b7ad9d84
3300Author: Darren Tucker <dtucker@dtucker.net>
3301Date: Tue Dec 17 19:46:15 2019 +1100
3302
3303 Mac OS X has PAM too.
3304
3305commit bf8de8b8251af69b5ce96a8faa69145af156af4d
3306Author: Darren Tucker <dtucker@dtucker.net>
3307Date: Tue Dec 17 19:37:06 2019 +1100
3308
3309 Show portable tarball pattern in example.
3310
3311commit a19ef613e98141cc37c8acdeebe285b9dbe2531e
3312Author: Darren Tucker <dtucker@dtucker.net>
3313Date: Tue Dec 17 19:35:59 2019 +1100
3314
3315 OpenSSL is now optional.
3316
3317commit 1a7217ac063e48cf0082895aeee81ed2b8a57191
3318Author: djm@openbsd.org <djm@openbsd.org>
3319Date: Sun Dec 15 18:58:33 2019 +0000
3320
3321 upstream: adapt to ssh-sk-client change
3322
3323 OpenBSD-Regress-ID: 40481999a5928d635ab2e5b029e8239c112005ea
3324
3325commit a7fc1df246e80bfdabd09b069b91c72f9c578ca8
3326Author: djm@openbsd.org <djm@openbsd.org>
3327Date: Wed Dec 11 18:47:14 2019 +0000
3328
3329 upstream: it's no longer possible to disable privilege separation
3330
3331 in sshd, so don't double the tests' work by trying both off/on
3332
3333 OpenBSD-Regress-ID: d366665466dbd09e9b707305da884be3e7619c68
3334
3335commit 3145d38ea06820a66c0f5e068f49af14fd2b7ac1
3336Author: djm@openbsd.org <djm@openbsd.org>
3337Date: Sun Dec 15 20:59:23 2019 +0000
3338
3339 upstream: don't treat HostKeyAgent=none as a path either; avoids
3340
3341 spurious warnings from the cfgparse regress test
3342
3343 OpenBSD-Commit-ID: ba49ea7a5c92b8a16cb9c2e975dbb163853afc54
3344
3345commit 747e25192f436e71dd39e15d65aa32bca967533a
3346Author: djm@openbsd.org <djm@openbsd.org>
3347Date: Sun Dec 15 20:57:15 2019 +0000
3348
3349 upstream: do not attempt to find an absolute path for sshd_config
3350
3351 SecurityKeyProvider=internal - unbreaks cfgparse regress test
3352
3353 OpenBSD-Commit-ID: d2ddcf525c0dc3c8339522360c10b3c70f1fd641
3354
3355commit 9b6e30b96b094ad787511a5b989253e3b8fe1789
3356Author: djm@openbsd.org <djm@openbsd.org>
3357Date: Sun Dec 15 19:47:10 2019 +0000
3358
3359 upstream: allow ssh-keyscan to find security key hostkeys
3360
3361 OpenBSD-Commit-ID: 1fe822a7f714df19a7e7184e3a3bbfbf546811d3
3362
3363commit 56584cce75f3d20aaa30befc7cbd331d922927f3
3364Author: djm@openbsd.org <djm@openbsd.org>
3365Date: Sun Dec 15 18:57:30 2019 +0000
3366
3367 upstream: allow security keys to act as host keys as well as user
3368
3369 keys.
3370
3371 Previously we didn't do this because we didn't want to expose
3372 the attack surface presented by USB and FIDO protocol handling,
3373 but now that this is insulated behind ssh-sk-helper there is
3374 less risk.
3375
3376 ok markus@
3377
3378 OpenBSD-Commit-ID: 77b068dd133b8d87e0f010987bd5131e640ee64c
3379
3380commit 5af6fd5461bb709304e6979c8b7856c7af921c9e
3381Author: Darren Tucker <dtucker@dtucker.net>
3382Date: Mon Dec 16 13:55:56 2019 +1100
3383
3384 Allow clock_nanosleep_time64 in seccomp sandbox.
3385
3386 Needed on Linux ARM. bz#3100, patch from jjelen@redhat.com.
3387
3388commit fff8ff6dd580e1a72ba09a6775d185175cdc8d13
3389Author: Darren Tucker <dtucker@dtucker.net>
3390Date: Sun Dec 15 18:27:02 2019 +1100
3391
3392 Put SK ECDSA bits inside ifdef OPENSSL_HAS_ECC.
3393
3394 Fixes build when linking against OpenSSLs built with no-ec.
3395
3396commit 9244990ecdcfa36bb9371058111685b05f201c1e
3397Author: Damien Miller <djm@mindrot.org>
3398Date: Sat Dec 14 09:21:46 2019 +1100
3399
3400 remove a bunch of ENABLE_SK #ifdefs
3401
3402 The ssh-sk-helper client API gives us a nice place to disable
3403 security key support when it is wasn't enabled at compile time,
3404 so we don't need to check everywere.
3405
3406 Also, verification of security key signatures can remain enabled
3407 all the time - it has no additional dependencies. So sshd can
3408 accept security key pubkeys in authorized_keys, etc regardless of
3409 the host's support for dlopen, etc.
3410
3411commit a33ab1688b5c460a7e2a301418241ce1b13b2638
3412Author: Damien Miller <djm@mindrot.org>
3413Date: Sat Dec 14 09:15:06 2019 +1100
3414
3415 ssh-sk-client.c needs includes.h
3416
3417commit 633778d567ad50b63d2a3bca5e1b97d279d236d9
3418Author: Damien Miller <djm@mindrot.org>
3419Date: Sat Dec 14 08:40:33 2019 +1100
3420
3421 only link ssh-sk-helper against libfido2
3422
3423commit 7b47b40b170db4d6f41da0479575f6d99dd7228a
3424Author: Damien Miller <djm@mindrot.org>
3425Date: Sat Dec 14 08:20:52 2019 +1100
3426
3427 adapt Makefile to ssh-sk-client everywhere
3428
3429commit f45f3a8a12e2bee601046b916e6c5cd6eae08048
3430Author: Damien Miller <djm@mindrot.org>
3431Date: Sat Dec 14 07:53:11 2019 +1100
3432
3433 fixup
3434
3435commit d21434766764d5babf99fc3937c19b625c0f6334
3436Author: djm@openbsd.org <djm@openbsd.org>
3437Date: Fri Dec 13 20:16:56 2019 +0000
3438
3439 upstream: actually commit the ssh-sk-helper client code; ok markus
3440
3441 OpenBSD-Commit-ID: fd2ea776a5bbbf4d452989d3c3054cf25a5e0589
3442
3443commit 611073fb40ecaf4ac65094e403edea3a08deb700
3444Author: djm@openbsd.org <djm@openbsd.org>
3445Date: Fri Dec 13 19:11:14 2019 +0000
3446
3447 upstream: perform security key enrollment via ssh-sk-helper too.
3448
3449 This means that ssh-keygen no longer needs to link against ssh-sk-helper, and
3450 only ssh-sk-helper needs libfido2 and /dev/uhid* access;
3451
3452 feedback & ok markus@
3453
3454 OpenBSD-Commit-ID: 9464233fab95708d2ff059f8bee29c0d1f270800
3455
3456commit 612b1dd1ec91ffb1e01f58cca0c6eb1d47bf4423
3457Author: djm@openbsd.org <djm@openbsd.org>
3458Date: Fri Dec 13 19:09:37 2019 +0000
3459
3460 upstream: allow sshbuf_put_stringb(buf, NULL); ok markus@
3461
3462 OpenBSD-Commit-ID: 91482c1ada9adb283165d48dafbb88ae91c657bd
3463
3464commit b52ec0ba3983859514aa7b57d6100fa9759fe696
3465Author: djm@openbsd.org <djm@openbsd.org>
3466Date: Fri Dec 13 19:09:10 2019 +0000
3467
3468 upstream: use ssh-sk-helper for all security key signing operations
3469
3470 This extracts and refactors the client interface for ssh-sk-helper
3471 from ssh-agent and generalises it for use by the other programs.
3472 This means that most OpenSSH tools no longer need to link against
3473 libfido2 or directly interact with /dev/uhid*
3474
3475 requested by, feedback and ok markus@
3476
3477 OpenBSD-Commit-ID: 1abcd3aea9a7460eccfbf8ca154cdfa62f1dc93f
3478
3479commit c33d46868c3d88e04a92610cdb429094aeeb5847
3480Author: djm@openbsd.org <djm@openbsd.org>
3481Date: Wed Dec 11 22:19:47 2019 +0000
3482
3483 upstream: add a note about the 'extensions' field in the signed
3484
3485 object
3486
3487 OpenBSD-Commit-ID: 67c01e0565b258e0818c1ccfe1f1aeaf9a0d4c7b
3488
3489commit a62f4e1960691f3aeb1f972e009788b29e2ae464
3490Author: djm@openbsd.org <djm@openbsd.org>
3491Date: Tue Dec 10 23:37:31 2019 +0000
3492
3493 upstream: some more corrections for documentation problems spotted
3494
3495 by Ron Frederick
3496
3497 document certifiate private key format
3498 correct flags type for sk-ssh-ed25519@openssh.com keys
3499
3500 OpenBSD-Commit-ID: fc4e9a1ed7f9f7f9dd83e2e2c59327912e933e74
3501
3502commit 22d4beb79622fc82d7111ac941269861fc7aef8d
3503Author: djm@openbsd.org <djm@openbsd.org>
3504Date: Tue Dec 10 23:21:56 2019 +0000
3505
3506 upstream: loading security keys into ssh-agent used the extension
3507
3508 constraint "sk-provider@openssh.com", not "sk@openssh.com"; spotted by Ron
3509 Frederick
3510
3511 OpenBSD-Commit-ID: dbfba09edbe023abadd5f59c1492df9073b0e51d
3512
3513commit 75f7f22a43799f6d25dffd9d6683de1601da05a3
3514Author: djm@openbsd.org <djm@openbsd.org>
3515Date: Tue Dec 10 22:43:19 2019 +0000
3516
3517 upstream: add security key types to list of keys allowed to act as
3518
3519 CAs; spotted by Ron Frederick
3520
3521 OpenBSD-Commit-ID: 9bb0dfff927b4f7aa70679f983f84c69d45656c3
3522
3523commit 516605f2d596884cedc2beed6b262716ec76f63d
3524Author: djm@openbsd.org <djm@openbsd.org>
3525Date: Tue Dec 10 22:37:20 2019 +0000
3526
3527 upstream: when acting as a CA and using a security key as the CA
3528
3529 key, remind the user to touch they key to authorise the signature.
3530
3531 OpenBSD-Commit-ID: fe58733edd367362f9766b526a8b56827cc439c1
3532
3533commit c4036fe75ea5a4d03a2a40be1f3660dcbbfa01b2
3534Author: djm@openbsd.org <djm@openbsd.org>
3535Date: Tue Dec 10 22:36:08 2019 +0000
3536
3537 upstream: chop some unnecessary and confusing verbiage from the
3538
3539 security key protocol description; feedback from Ron Frederick
3540
3541 OpenBSD-Commit-ID: 048c9483027fbf9c995e5a51b3ac502989085a42
3542
3543commit 59175a350fe1091af7528b2971e3273aa7ca7295
3544Author: djm@openbsd.org <djm@openbsd.org>
3545Date: Fri Dec 6 03:06:08 2019 +0000
3546
3547 upstream: fix setting of $SSH_ASKPASS_PROMPT - it shouldn't be set
3548
3549 when asking passphrases, only when confirming the use of a key (i.e. for
3550 ssh-agent keys added with "ssh-add -c keyfile")
3551
3552 OpenBSD-Commit-ID: 6643c82960d9427d5972eb702c917b3b838ecf89
3553
3554commit 36eaa356d391a23a2d4e3a8aaa0223abc70b9822
3555Author: djm@openbsd.org <djm@openbsd.org>
3556Date: Fri Dec 6 02:55:21 2019 +0000
3557
3558 upstream: bring the __func__
3559
3560 OpenBSD-Commit-ID: 71a3a45b0fe1b8f680ff95cf264aa81f7abbff67
3561
3562commit 483cc723d1ff3b7fdafc6239348040a608ebc78d
3563Author: jmc@openbsd.org <jmc@openbsd.org>
3564Date: Sat Nov 30 07:07:59 2019 +0000
3565
3566 upstream: tweak the Nd lines for a bit of consistency; ok markus
3567
3568 OpenBSD-Commit-ID: 876651bdde06bc1e72dd4bd7ad599f42a6ce5a16
3569
3570commit afffd310360b155df2133d1f5f1ab2f4e939b570
3571Author: Darren Tucker <dtucker@dtucker.net>
3572Date: Wed Dec 11 13:22:06 2019 +1100
3573
3574 Check if memmem is declared in system headers.
3575
3576 If the system (or one of the dependencies) implements memmem but does
3577 not define the header, we would not declare it either resulting in
3578 compiler warnings. Check for declaration explicitly. bz#3102.
3579
3580commit ad8cd420797695f3b580aea1034b9de60bede9b9
3581Author: Darren Tucker <dtucker@dtucker.net>
3582Date: Wed Dec 11 13:12:01 2019 +1100
3583
3584 Sort depends.
3585
3586commit 5e3abff39e01817f6866494416f2ada25c316018
3587Author: Darren Tucker <dtucker@dtucker.net>
3588Date: Wed Dec 11 13:09:34 2019 +1100
3589
3590 Sort .depend when rebuilding.
3591
3592 This makes diffs more stable between makedepend implementations.
3593
3594commit 5df9d1f5c0943367d9b68435f4c82224ce11a73f
3595Author: Darren Tucker <dtucker@dtucker.net>
3596Date: Wed Dec 11 13:06:43 2019 +1100
3597
3598 Update depend to include sk files.
3599
3600commit 9a967c5bbfca35835165f7d8a6165009f5b21872
3601Author: Darren Tucker <dtucker@dtucker.net>
3602Date: Mon Dec 9 20:25:26 2019 +1100
3603
3604 Describe how to build libcrypto as PIC.
3605
3606 While there, move the OpenSSL 1.1.0g caveat closer to the other version
3607 information.
3608
3609commit b66fa5da25c4b5b67cf9f0ce7af513f5a6a6a686
3610Author: Darren Tucker <dtucker@dtucker.net>
3611Date: Mon Dec 9 17:23:22 2019 +1100
3612
3613 Recommend running LibreSSL or OpenSSL self-tests.
3614
3615commit fa7924008e838cded7e8a561356ffe5e06e0ed64
3616Author: Darren Tucker <dtucker@dtucker.net>
3617Date: Fri Dec 6 14:17:26 2019 +1100
3618
3619 Wrap ECC specific bits in ifdef.
3620
3621 Fixes tests when built against an OpenSSL configured with no-ec.
3622
3623commit 2ff822eabd7d4461743f22d3b9ba35ab76069df5
3624Author: Darren Tucker <dtucker@dtucker.net>
3625Date: Fri Nov 29 20:21:36 2019 +1100
3626
3627 Wrap sha2.h include in ifdef.
3628
3629 Fixes build --without-openssl on at least Fedora.
3630
3631commit 443848155ffcda65a6077aac118c861b503a093f
3632Author: Damien Miller <djm@mindrot.org>
3633Date: Fri Nov 29 15:10:21 2019 +1100
3634
3635 compile sk-dummy.so with no-PIE version of LDFLAGS
3636
3637 This lets it pick up the -L path to libcrypto for example.
3638
3639commit 37f5b5346e4cc6a894245aa89d2930649bb7045b
3640Author: Damien Miller <djm@mindrot.org>
3641Date: Fri Nov 29 14:48:46 2019 +1100
3642
3643 includes.h for sk-dummy.c, dummy
3644
3645commit b218055e59a7c1a1816f7a55ca18e3f3c05d63a4
3646Author: Damien Miller <djm@mindrot.org>
3647Date: Fri Nov 29 12:32:23 2019 +1100
3648
3649 (yet) another x-platform fix for sk-dummy.so
3650
3651 Check for -fPIC support from compiler
3652
3653 Compile libopenbsd-compat -fPIC
3654
3655 Don't mix -fPIE and -fPIC when compiling
3656
3657commit 0dedb703adcd98d0dbc4479f5f312a2bd3df2850
3658Author: Damien Miller <djm@mindrot.org>
3659Date: Fri Nov 29 11:53:57 2019 +1100
3660
3661 needs includes.h for WITH_OPENSSL
3662
3663commit ef3853bb94c2c72e7eda0de6cec0bcb1da62058f
3664Author: Damien Miller <djm@mindrot.org>
3665Date: Fri Nov 29 11:52:23 2019 +1100
3666
3667 another attempt at sk-dummy.so working x-platform
3668
3669 include a fatal() implementation to satisfy libopenbsd-compat
3670
3671 clean up .lo and .so files
3672
3673 .gitignore .lo and .so files
3674
3675commit d46ac56f1cbd5a855a2d5e7309f90d383dcf6431
3676Author: djm@openbsd.org <djm@openbsd.org>
3677Date: Fri Nov 29 00:13:29 2019 +0000
3678
3679 upstream: lots of dependencies go away here with ed25519 no longer
3680
3681 needing the ssh_digest API.
3682
3683 OpenBSD-Regress-ID: 785847ec78cb580d141e29abce351a436d6b5d49
3684
3685commit 7404b81f25a4a7847380c0f0cf7f1bea5f0a5cd3
3686Author: djm@openbsd.org <djm@openbsd.org>
3687Date: Fri Nov 29 00:11:21 2019 +0000
3688
3689 upstream: perform hashing directly in crypto_hash_sha512() using
3690
3691 libcrypto or libc SHA512 functions rather than calling ssh_digest_memory();
3692 avoids many dependencies on ssh code that complicate standalone use of
3693 ed25519, as we want to do in sk-dummy.so
3694
3695 OpenBSD-Commit-ID: 5a3c37593d3ba7add037b587cec44aaea088496d
3696
3697commit d39a865b7af93a7a9b5a64cf7cf0ef4396c80ba3
3698Author: jmc@openbsd.org <jmc@openbsd.org>
3699Date: Thu Nov 28 12:24:31 2019 +0000
3700
3701 upstream: improve the text for -A a little; input from naddy and
3702
3703 djm
3704
3705 OpenBSD-Commit-ID: f9cdfb1d6dbb9887c4bf3bb25f9c7a94294c988d
3706
3707commit 9a0e01bd0c61f553ead96b5af84abd73865847b8
3708Author: jmc@openbsd.org <jmc@openbsd.org>
3709Date: Thu Nov 28 12:23:25 2019 +0000
3710
3711 upstream: reshuffle the text to read better; input from naddy,
3712
3713 djmc, and dtucker
3714
3715 OpenBSD-Commit-ID: a0b2aca2b67614dda3d6618ea097bf0610c35013
3716
3717commit 5ca52c0f2e5e7f7d01d8d557b994b5c2087bed00
3718Author: Damien Miller <djm@mindrot.org>
3719Date: Thu Nov 28 18:09:07 2019 +1100
3720
3721 $< doesn't work as` I thought; explicily list objs
3722
3723commit 18e84bfdc5906a73405c3b42d7f840013bbffe34
3724Author: djm@openbsd.org <djm@openbsd.org>
3725Date: Thu Nov 28 05:20:54 2019 +0000
3726
3727 upstream: tweak wording
3728
3729 OpenBSD-Commit-ID: bd002ca1599b71331faca735ff5f6de29e32222e
3730
3731commit 8ef5bf9d03aa0f047711cff47f5ffbe3b33ff8c9
3732Author: Damien Miller <djm@mindrot.org>
3733Date: Thu Nov 28 13:12:30 2019 +1100
3734
3735 missing .SUFFIXES line makes make sad
3736
3737commit 323da82b8ea993b7f2c5793fd53b4f5ca105d19d
3738Author: Damien Miller <djm@mindrot.org>
3739Date: Thu Nov 28 09:53:42 2019 +1100
3740
3741 (hopefully) fix out of tree builds of sk-dummy.so
3742
3743commit d8b2838c5d19bf409d44ede4d32df8ee47aeb4cd
3744Author: djm@openbsd.org <djm@openbsd.org>
3745Date: Wed Nov 27 22:32:11 2019 +0000
3746
3747 upstream: remove stray semicolon after closing brace of function;
3748
3749 from Michael Forney
3750
3751 OpenBSD-Commit-ID: fda95acb799bb160d15e205ee126117cf33da3a7
3752
3753commit 6e1d1bbf5a3eca875005e0c87f341a0a03799809
3754Author: dtucker@openbsd.org <dtucker@openbsd.org>
3755Date: Wed Nov 27 05:38:43 2019 +0000
3756
3757 upstream: Revert previous commit. The channels code still uses int
3758
3759 in many places for channel ids so the INT_MAX check still makes sense.
3760
3761 OpenBSD-Commit-ID: 532e4b644791b826956c3c61d6ac6da39bac84bf
3762
3763commit 48989244658b9748b6801034ff4ffbdfc6b1520f
3764Author: Damien Miller <djm@mindrot.org>
3765Date: Wed Nov 27 16:03:12 2019 +1100
3766
3767 wire sk-dummy.so into test suite
3768
3769commit f79364bacaebde4f1c260318ab460fceacace02f
3770Author: djm@openbsd.org <djm@openbsd.org>
3771Date: Wed Nov 27 05:00:17 2019 +0000
3772
3773 upstream: use error()+_exit() instead of fatal() to avoid running
3774
3775 cleanup handlers in child process; spotted via weird regress failures in
3776 portable
3777
3778 OpenBSD-Commit-ID: 6902a9bb3987c7d347774444f7979b8a9ba7f412
3779
3780commit 70ec5e5e2681bcd409a9df94a2fec6f57a750945
3781Author: dtucker@openbsd.org <dtucker@openbsd.org>
3782Date: Wed Nov 27 03:34:04 2019 +0000
3783
3784 upstream: Make channel_id u_int32_t and remove unnecessary check
3785
3786 and cast that were left over from the type conversion. Noted by
3787 t-hashida@amiya.co.jp in bz#3098, ok markus@ djm@
3788
3789 OpenBSD-Commit-ID: 3ad105b6a905284e780b1fd7ff118e1c346e90b5
3790
3791commit ad44ca81bea83657d558aaef5a1d789a9032bac3
3792Author: djm@openbsd.org <djm@openbsd.org>
3793Date: Tue Nov 26 23:43:10 2019 +0000
3794
3795 upstream: test FIDO2/U2F key types; ok markus@
3796
3797 OpenBSD-Regress-ID: 367e06d5a260407619b4b113ea0bd7004a435474
3798
3799commit c6efa8a91af1d4fdb43909a23a0a4ffa012155ad
3800Author: djm@openbsd.org <djm@openbsd.org>
3801Date: Tue Nov 26 23:41:23 2019 +0000
3802
3803 upstream: add dummy security key middleware based on work by
3804
3805 markus@
3806
3807 This will allow us to test U2F/FIDO2 support in OpenSSH without
3808 requiring real hardware.
3809
3810 ok markus@
3811
3812 OpenBSD-Regress-ID: 88b309464b8850c320cf7513f26d97ee1fdf9aae
3813
3814commit 8635afa1cdc21366d61730d943f3cf61861899c8
3815Author: jmc@openbsd.org <jmc@openbsd.org>
3816Date: Tue Nov 26 22:42:26 2019 +0000
3817
3818 upstream: tweak previous;
3819
3820 OpenBSD-Commit-ID: a4c097364c75da320f1b291568db830fb1ee4883
3821
3822commit e0d38ae9bc8c0de421605b9021d8144e4d8ff22b
3823Author: djm@openbsd.org <djm@openbsd.org>
3824Date: Tue Nov 26 03:04:27 2019 +0000
3825
3826 upstream: more debugging; behind DEBUG_SK
3827
3828 OpenBSD-Commit-ID: a978896227118557505999ddefc1f4c839818b60
3829
3830commit 9281d4311b8abc63b88259f354944c53f9b0b3c7
3831Author: Damien Miller <djm@mindrot.org>
3832Date: Mon Nov 25 21:47:49 2019 +1100
3833
3834 unbreak fuzzers for recent security key changes
3835
3836commit c5f1cc993597fed0a9013743556b1567f476c677
3837Author: djm@openbsd.org <djm@openbsd.org>
3838Date: Mon Nov 25 10:32:35 2019 +0000
3839
3840 upstream: unbreak tests for recent security key changes
3841
3842 OpenBSD-Regress-ID: 2cdf2fcae9962ca4d711338f3ceec3c1391bdf95
3843
3844commit 64988266820cc90a45a21672be9d762cbde8d34d
3845Author: djm@openbsd.org <djm@openbsd.org>
3846Date: Mon Nov 25 06:53:04 2019 +0000
3847
3848 upstream: unbreak after security key support landed
3849
3850 OpenBSD-Regress-ID: 3ab578b0dbeb2aa6d9969b54a9c1bad329c0dcba
3851
3852commit e65e25c81e22ea622e89a142a303726a3882384f
3853Author: tb@openbsd.org <tb@openbsd.org>
3854Date: Thu Nov 21 05:18:47 2019 +0000
3855
3856 upstream: Remove workaround for broken 'openssl rsa -text' output
3857
3858 that was fixed in libcrypto/rsa/rsa_ameth.c r1.24.
3859
3860 ok dtucker inoguchi
3861
3862 OpenBSD-Regress-ID: c260edfac177daa8fcce90141587cf04a95c4f5f
3863
3864commit 21377ec2a9378579ba4b44a681af7bbca77581f4
3865Author: djm@openbsd.org <djm@openbsd.org>
3866Date: Mon Nov 25 10:23:36 2019 +0000
3867
3868 upstream: redundant test
3869
3870 OpenBSD-Commit-ID: 38fa7806c528a590d91ae560e67bd8b246c2d7a3
3871
3872commit 664deef95a2e770812533439b8bdd3f3c291ae59
3873Author: djm@openbsd.org <djm@openbsd.org>
3874Date: Mon Nov 25 00:57:51 2019 +0000
3875
3876 upstream: document the "no-touch-required" certificate extension;
3877
3878 ok markus, feedback deraadt
3879
3880 OpenBSD-Commit-ID: 47640122b13f825e9c404ea99803b2372246579d
3881
3882commit 26cb128b31efdd5395153f4943f5be3eddc07033
3883Author: djm@openbsd.org <djm@openbsd.org>
3884Date: Mon Nov 25 00:57:27 2019 +0000
3885
3886 upstream: Print a key touch reminder when generating a security
3887
3888 key. Most keys require a touch to authorize the operation.
3889
3890 OpenBSD-Commit-ID: 7fe8b23edbf33e1bb81741b9f25e9a63be5f6b68
3891
3892commit daeaf4136927c2a82af1399022103d67ff03f74a
3893Author: djm@openbsd.org <djm@openbsd.org>
3894Date: Mon Nov 25 00:55:58 2019 +0000
3895
3896 upstream: allow "ssh-keygen -x no-touch-required" when generating a
3897
3898 security key keypair to request one that does not require a touch for each
3899 authentication attempt. The default remains to require touch.
3900
3901 feedback deraadt; ok markus@
3902
3903 OpenBSD-Commit-ID: 887e7084b2e89c0c62d1598ac378aad8e434bcbd
3904
3905commit 2e71263b80fec7ad977e098004fef7d122169d40
3906Author: djm@openbsd.org <djm@openbsd.org>
3907Date: Mon Nov 25 00:54:23 2019 +0000
3908
3909 upstream: add a "no-touch-required" option for authorized_keys and
3910
3911 a similar extension for certificates. This option disables the default
3912 requirement that security key signatures attest that the user touched their
3913 key to authorize them.
3914
3915 feedback deraadt, ok markus
3916
3917 OpenBSD-Commit-ID: f1fb56151ba68d55d554d0f6d3d4dba0cf1a452e
3918
3919commit 0fddf2967ac51d518e300408a0d7e6adf4cd2634
3920Author: djm@openbsd.org <djm@openbsd.org>
3921Date: Mon Nov 25 00:52:46 2019 +0000
3922
3923 upstream: Add a sshd_config PubkeyAuthOptions directive
3924
3925 This directive has a single valid option "no-touch-required" that
3926 causes sshd to skip checking whether user presence was tested before
3927 a security key signature was made (usually by the user touching the
3928 key).
3929
3930 ok markus@
3931
3932 OpenBSD-Commit-ID: 46e434a49802d4ed82bc0aa38cb985c198c407de
3933
3934commit b7e74ea072919b31391bc0f5ff653f80b9f5e84f
3935Author: djm@openbsd.org <djm@openbsd.org>
3936Date: Mon Nov 25 00:51:37 2019 +0000
3937
3938 upstream: Add new structure for signature options
3939
3940 This is populated during signature verification with additional fields
3941 that are present in and covered by the signature. At the moment, it is
3942 only used to record security key-specific options, especially the flags
3943 field.
3944
3945 with and ok markus@
3946
3947 OpenBSD-Commit-ID: 338a1f0e04904008836130bedb9ece4faafd4e49
3948
3949commit d2b0f88178ec9e3f11b606bf1004ac2fe541a2c3
3950Author: djm@openbsd.org <djm@openbsd.org>
3951Date: Mon Nov 25 00:38:17 2019 +0000
3952
3953 upstream: memleak in error path
3954
3955 OpenBSD-Commit-ID: 93488431bf02dde85a854429362695d2d43d9112
3956
3957commit e2c0a21ade5e0bd7f0aab08d7eb9457f086681e9
3958Author: dtucker@openbsd.org <dtucker@openbsd.org>
3959Date: Fri Nov 22 06:50:30 2019 +0000
3960
3961 upstream: Wait for FD to be readable or writeable during a nonblocking
3962
3963 connect, not just readable. Prevents a timeout when the server doesn't
3964 immediately send a banner (eg multiplexers like sslh) but is also slightly
3965 quicker for other connections since, unlike ssh1, ssh2 doesn't specify
3966 that the client should parse the server banner before sending its own.
3967 Patch from mnissler@chromium.org, ok djm@
3968
3969 OpenBSD-Commit-ID: aba9cd8480d1d9dd31d0ca0422ea155c26c5df1d
3970
3971commit 2f95d43dc222ce194622b706682e8de07c9cfb42
3972Author: Darren Tucker <dtucker@dtucker.net>
3973Date: Wed Nov 20 16:34:11 2019 +1100
3974
3975 Include openssl compat header.
3976
3977 Fixes warning for ECDSA_SIG_set0 on OpenSSL versions prior to 1.1.
3978
3979commit a70d92f236576c032a45c39e68ca0d71e958d19d
3980Author: djm@openbsd.org <djm@openbsd.org>
3981Date: Tue Nov 19 22:23:19 2019 +0000
3982
3983 upstream: adjust on-wire signature encoding for ecdsa-sk keys to
3984
3985 better match ec25519-sk keys. Discussed with markus@ and Sebastian Kinne
3986
3987 NB. if you are depending on security keys (already?) then make sure you
3988 update both your clients and servers.
3989
3990 OpenBSD-Commit-ID: 53d88d8211f0dd02a7954d3af72017b1a79c0679
3991
3992commit 26369a5f7d9c4e4ef44a3e04910126e1bcea43d8
3993Author: djm@openbsd.org <djm@openbsd.org>
3994Date: Tue Nov 19 22:21:15 2019 +0000
3995
3996 upstream: a little more information from the monitor when signature
3997
3998 verification fails.
3999
4000 OpenBSD-Commit-ID: e6a30071e0518cac512f9e10be3dc3500e2003f3
4001
4002commit 4402d6c9b5bf128dcfae2429f1d41cdaa8849b6b
4003Author: jmc@openbsd.org <jmc@openbsd.org>
4004Date: Tue Nov 19 16:02:32 2019 +0000
4005
4006 upstream: revert previous: naddy pointed out what's meant to
4007
4008 happen. rethink needed...
4009
4010 OpenBSD-Commit-ID: fb0fede8123ea7f725fd65e00d49241c40bd3421
4011
4012commit 88056f881315233e990e4e04a815f8f96b4674e1
4013Author: jmc@openbsd.org <jmc@openbsd.org>
4014Date: Tue Nov 19 14:54:47 2019 +0000
4015
4016 upstream: -c and -s do not make sense with -k; reshuffle -k into
4017
4018 the main synopsis/usage; ok djm
4019
4020 OpenBSD-Commit-ID: f881ba253da015398ae8758d973e3390754869bc
4021
4022commit 2cf262c21f35296c2ff718cfdb52e0473a1c3983
4023Author: naddy@openbsd.org <naddy@openbsd.org>
4024Date: Mon Nov 18 23:17:48 2019 +0000
4025
4026 upstream: document '$' environment variable expansion for
4027
4028 SecurityKeyProvider; ok djm@
4029
4030 OpenBSD-Commit-ID: 76db507ebd336a573e1cd4146cc40019332c5799
4031
4032commit f0edda81c5ebccffcce52b182c3033531a1aab71
4033Author: naddy@openbsd.org <naddy@openbsd.org>
4034Date: Mon Nov 18 23:16:49 2019 +0000
4035
4036 upstream: more missing mentions of ed25519-sk; ok djm@
4037
4038 OpenBSD-Commit-ID: f242e53366f61697dffd53af881bc5daf78230ff
4039
4040commit 189550f5bc85148e85f4caa1f6b2fc623149a4ee
4041Author: naddy@openbsd.org <naddy@openbsd.org>
4042Date: Mon Nov 18 16:10:05 2019 +0000
4043
4044 upstream: additional missing stdarg.h includes when built without
4045
4046 WITH_OPENSSL; ok djm@
4047
4048 OpenBSD-Commit-ID: 881f9a2c4e2239849cee8bbf4faec9bab128f55b
4049
4050commit 723a5369864b338c48d22854bc2bb4ee5c083deb
4051Author: naddy@openbsd.org <naddy@openbsd.org>
4052Date: Mon Nov 18 16:08:57 2019 +0000
4053
4054 upstream: add the missing WITH_OPENSSL ifdefs after the ED25519-SK
4055
4056 addition; ok djm@
4057
4058 OpenBSD-Commit-ID: a9545e1c273e506cf70e328cbb9d0129b6d62474
4059
4060commit 478f4f98e4e93ae4ed1a8911dec4e5b75ea10f30
4061Author: Damien Miller <djm@mindrot.org>
4062Date: Tue Nov 19 08:52:24 2019 +1100
4063
4064 remove all EC algs from proposals, no just sk ones
4065
4066 ok dtucker@
4067
4068commit 6a7ef310da100f876a257b7367e3b0766dac3994
4069Author: Damien Miller <djm@mindrot.org>
4070Date: Mon Nov 18 22:22:04 2019 +1100
4071
4072 filter PUBKEY_DEFAULT_PK_ALG for ECC algorithms
4073
4074 Remove ECC algorithms from the PUBKEY_DEFAULT_PK_ALG list when
4075 compiling without ECC support in libcrypto.
4076
4077commit 64f56f1d1af3947a71a4c391f2c08747d19ee591
4078Author: dtucker@openbsd.org <dtucker@openbsd.org>
4079Date: Mon Nov 18 09:15:17 2019 +0000
4080
4081 upstream: LibreSSL change the format for openssl rsa -text output from
4082
4083 "publicExponent" to "Exponent" so accept either. with djm.
4084
4085 OpenBSD-Regress-ID: b7e6c4bf700029a31c98be14600d4472fe0467e6
4086
4087commit 4bfc0503ad94a2a7190686a89649567c20b8534f
4088Author: djm@openbsd.org <djm@openbsd.org>
4089Date: Mon Nov 18 06:58:00 2019 +0000
4090
4091 upstream: fix a bug that prevented serialisation of ed25519-sk keys
4092
4093 OpenBSD-Commit-ID: 066682b79333159cac04fcbe03ebd9c8dcc152a9
4094
4095commit d88205417084f523107fbe1bc92061635cd57fd2
4096Author: djm@openbsd.org <djm@openbsd.org>
4097Date: Mon Nov 18 06:39:36 2019 +0000
4098
4099 upstream: Fix incorrect error message when key certification fails
4100
4101 OpenBSD-Commit-ID: 7771bd77ee73f7116df37c734c41192943a73cee
4102
4103commit 740c4bc9875cbb4b9fc03fd5eac19df080f20df5
4104Author: djm@openbsd.org <djm@openbsd.org>
4105Date: Mon Nov 18 06:39:02 2019 +0000
4106
4107 upstream: fix bug that prevented certification of ed25519-sk keys
4108
4109 OpenBSD-Commit-ID: 64c8cc6f5de2cdd0ee3a81c3a9dee8d862645996
4110
4111commit 85409cbb505d8c463ab6e2284b4039764c7243de
4112Author: djm@openbsd.org <djm@openbsd.org>
4113Date: Mon Nov 18 06:24:17 2019 +0000
4114
4115 upstream: allow *-sk key types to be turned into certificates
4116
4117 OpenBSD-Commit-ID: cd365ee343934862286d0b011aa77fa739d2a945
4118
4119commit e2e1283404e06a22ac6135d057199e70dcadb8dd
4120Author: djm@openbsd.org <djm@openbsd.org>
4121Date: Mon Nov 18 04:55:02 2019 +0000
4122
4123 upstream: mention ed25519-sk key/cert types here too; prompted by
4124
4125 jmc@
4126
4127 OpenBSD-Commit-ID: e281977e4a4f121f3470517cbd5e483eee37b818
4128
4129commit 97dc5d1d82865a7d20f1eb193b5c62ce684024e5
4130Author: djm@openbsd.org <djm@openbsd.org>
4131Date: Mon Nov 18 04:50:45 2019 +0000
4132
4133 upstream: mention ed25519-sk in places where it is accepted;
4134
4135 prompted by jmc@
4136
4137 OpenBSD-Commit-ID: 076d386739ebe7336c2137e583bc7a5c9538a442
4138
4139commit 130664344862a8c7afd3e24d8d36ce40af41a99f
4140Author: djm@openbsd.org <djm@openbsd.org>
4141Date: Mon Nov 18 04:34:47 2019 +0000
4142
4143 upstream: document ed25519-sk pubkey, private key and certificate
4144
4145 formats
4146
4147 OpenBSD-Commit-ID: 795a7c1c80315412e701bef90e31e376ea2f3c88
4148
4149commit 71856e1142fc01628ce53098f8cfc74765464b35
4150Author: djm@openbsd.org <djm@openbsd.org>
4151Date: Mon Nov 18 04:29:50 2019 +0000
4152
4153 upstream: correct order or ecdsa-sk private key fields
4154
4155 OpenBSD-Commit-ID: 4d4a0c13226a79f0080ce6cbe74f73b03ed8092e
4156
4157commit 93fa2a6649ae3e0626cbff25c985a4573d63e3f2
4158Author: djm@openbsd.org <djm@openbsd.org>
4159Date: Mon Nov 18 04:16:53 2019 +0000
4160
4161 upstream: correct description of fields in pub/private keys (was
4162
4163 missing curve name); spotted by Sebastian Kinne
4164
4165 OpenBSD-Commit-ID: 2a11340dc7ed16200342d384fb45ecd4fcce26e7
4166
4167commit b497e920b409250309c4abe64229237b8f2730ba
4168Author: Damien Miller <djm@mindrot.org>
4169Date: Mon Nov 18 15:05:04 2019 +1100
4170
4171 Teach the GTK2/3 ssh-askpass the new prompt hints
4172
4173 ssh/ssh-agent now sets a hint environment variable $SSH_ASKPASS_PROMPT
4174 when running the askpass program. This is intended to allow the
4175 askpass to vary its UI across the three cases it supports: asking for
4176 a passphrase, confirming the use of a key and (recently) reminding
4177 a user to touch their security key.
4178
4179 This adapts the gnome-ssh-askpass[23] to use these hints. Specifically,
4180 for SSH_ASKPASS_PROMPT=confirm it will skip the text input box and show
4181 only "yes"/"no" buttons. For SSH_ASKPASS_PROMPT=none (used to remind
4182 users to tap their security key), it shows only a "close" button.
4183
4184 Help wanted: adapt the other askpass programs in active use, including
4185 x11-ssh-askpass, lxqt-openssh-askpass, etc.
4186
4187commit 857f49e91eeae6feb781ef5f5e26c38ca3d953ec
4188Author: Darren Tucker <dtucker@dtucker.net>
4189Date: Mon Nov 18 14:15:26 2019 +1100
4190
4191 Move ifdef OPENSSL_HAS_ECC.
4192
4193 Found by -Wimplicit-fallthrough: one ECC case was not inside the ifdef.
4194 ok djm@
4195
4196commit 6cf1c40096a79e5eedcf897c7cdb46bb32d4a3ee
4197Author: Darren Tucker <dtucker@dtucker.net>
4198Date: Mon Nov 18 14:14:18 2019 +1100
4199
4200 Enable -Wimplicit-fallthrough if supported
4201
4202 Suggested by djm.
4203
4204commit 103c51fd5f5ddc01cd6b5c1132e711765b921bf5
4205Author: djm@openbsd.org <djm@openbsd.org>
4206Date: Mon Nov 18 01:59:48 2019 +0000
4207
4208 upstream: missing break in getopt switch; spotted by Sebastian Kinne
4209
4210 OpenBSD-Commit-ID: f002dbf14dba5586e8407e90f0141148ade8e8fc
4211
4212commit 9a1225e8ca2ce1fe809910874935302234399a6d
4213Author: djm@openbsd.org <djm@openbsd.org>
4214Date: Sat Nov 16 23:17:20 2019 +0000
4215
4216 upstream: tweak debug message
4217
4218 OpenBSD-Commit-ID: 2bf336d3be0b7e3dd97920d7e7471146a281d2b9
4219
4220commit 4103a3ec7c68493dbc4f0994a229507e943a86d3
4221Author: djm@openbsd.org <djm@openbsd.org>
4222Date: Sat Nov 16 22:42:30 2019 +0000
4223
4224 upstream: a little debug() in the security key interface
4225
4226 OpenBSD-Commit-ID: 4c70300609a5c8b19707207bb7ad4109e963b0e8
4227
4228commit 05daa211de926f66f50b7380d637f84dc6341574
4229Author: djm@openbsd.org <djm@openbsd.org>
4230Date: Sat Nov 16 22:36:48 2019 +0000
4231
4232 upstream: always use ssh-sk-helper, even for the internal USB HID
4233
4234 support. This avoid the need for a wpath pledge in ssh-agent.
4235
4236 reported by jmc@
4237
4238 OpenBSD-Commit-ID: 19f799c4d020b870741d221335dbfa5e76691c23
4239
4240commit d431778a561d90131814f986b646299f9af33c8c
4241Author: markus@openbsd.org <markus@openbsd.org>
4242Date: Fri Nov 15 15:41:01 2019 +0000
4243
4244 upstream: fix typos in sk_enroll
4245
4246 OpenBSD-Commit-ID: faa9bf779e008b3e64e2eb1344d9b7d83b3c4487
4247
4248commit af90aec0443ec51e6b2d804cb91771d3905f8a6f
4249Author: jmc@openbsd.org <jmc@openbsd.org>
4250Date: Fri Nov 15 11:16:28 2019 +0000
4251
4252 upstream: double word;
4253
4254 OpenBSD-Commit-ID: 43d09bafa4ea9002078cb30ca9adc3dcc0b9c2b9
4255
4256commit fd1a96490cef7f945a1b3b5df4e90c8a1070f425
4257Author: djm@openbsd.org <djm@openbsd.org>
4258Date: Fri Nov 15 06:00:20 2019 +0000
4259
4260 upstream: remove most uses of BN_CTX
4261
4262 We weren't following the rules re BN_CTX_start/BN_CTX_end and the places
4263 we were using it didn't benefit from its use anyway. ok dtucker@
4264
4265 OpenBSD-Commit-ID: ea9ba6c0d2e6f6adfe00b309a8f41842fe12fc7a
4266
4267commit 39b87104cdd47baf79ef77dc81de62cea07d119f
4268Author: Darren Tucker <dtucker@dtucker.net>
4269Date: Fri Nov 15 18:56:54 2019 +1100
4270
4271 Add wrappers for other ultrix headers.
4272
4273 Wrappers protect against multiple inclusions for headers that don't do
4274 it themselves.
4275
4276commit 134a74f4e0cf750931f1125beb2a3f40c54c8809
4277Author: Darren Tucker <dtucker@dtucker.net>
4278Date: Fri Nov 15 18:55:13 2019 +1100
4279
4280 Add SSIZE_MAX when we define ssize_t.
4281
4282commit 9c6d0a3a1ed77989d8c5436d8c3cc6c7045c0197
4283Author: Darren Tucker <dtucker@dtucker.net>
4284Date: Fri Nov 15 17:13:19 2019 +1100
4285
4286 Remove ultrix realpath hack.
4287
4288commit c63fba5e3472307167850bbd84187186af7fa9f0
4289Author: djm@openbsd.org <djm@openbsd.org>
4290Date: Fri Nov 15 05:37:27 2019 +0000
4291
4292 upstream: unshield security key privkey before attempting signature
4293
4294 in agent. spotted by dtucker@
4295
4296 OpenBSD-Commit-ID: fb67d451665385b8a0a55371231c50aac67b91d2
4297
4298commit d165bb5396e3f718480e6039ca2cf77f5a2c2885
4299Author: deraadt@openbsd.org <deraadt@openbsd.org>
4300Date: Fri Nov 15 05:26:56 2019 +0000
4301
4302 upstream: rewrite c99-ism
4303
4304 OpenBSD-Commit-ID: d0c70cca29cfa7e6d9f7ec1d6d5dabea112499b3
4305
4306commit 03e06dd0e6e1c0a9f4b4b9de7def8a44dcbf93a7
4307Author: deraadt@openbsd.org <deraadt@openbsd.org>
4308Date: Fri Nov 15 05:25:52 2019 +0000
4309
4310 upstream: only clang understands those new -W options
4311
4312 OpenBSD-Commit-ID: d9b910e412d139141b072a905e66714870c38ac0
4313
4314commit 5c0bc273cba53f822b7d777bbb6c35d160d3b505
4315Author: Damien Miller <djm@mindrot.org>
4316Date: Fri Nov 15 16:08:00 2019 +1100
4317
4318 configure flag to built-in security key support
4319
4320 Require --with-security-key-builtin before enabling the built-in
4321 security key support (and consequent dependency on libfido2).
4322
4323commit fbcb9a7fa55300b8bd4c18bee024c6104c5a25d7
4324Author: Damien Miller <djm@mindrot.org>
4325Date: Fri Nov 15 16:06:30 2019 +1100
4326
4327 upstream commit
4328
4329 revision 1.48
4330 date: 2019/02/04 16:45:40; author: millert; state: Exp; lines: +16 -17; commitid: cpNtVC7erojNyctw;
4331 Make gl_pathc, gl_matchc and gl_offs size_t in glob_t to match POSIX.
4332 This requires a libc major version bump. OK deraadt@
4333
4334commit 2cfb11abac85885de0cb888bbeb9a3e4303105ea
4335Author: Damien Miller <djm@mindrot.org>
4336Date: Fri Nov 15 16:05:07 2019 +1100
4337
4338 upstream commit
4339
4340 revision 1.47
4341 date: 2017/05/08 14:53:27; author: millert; state: Exp; lines: +34 -21; commitid: sYfxfyUHAfarP8sE;
4342 Fix exponential CPU use with repeated '*' operators by changing '*'
4343 handling to be interative instead of recursive.
4344 Fix by Yves Orton, ported to OpenBSD glob.c by Ray Lai. OK tb@
4345
4346commit 228dd595c7882bb9b161dbb7d4dca15c8a5f03f5
4347Author: Damien Miller <djm@mindrot.org>
4348Date: Fri Nov 15 16:04:28 2019 +1100
4349
4350 upstream commit
4351
4352 revision 1.46
4353 date: 2015/12/28 22:08:18; author: mmcc; state: Exp; lines: +5 -9; commitid: 0uXuF2O13NH9q2e1;
4354 Remove NULL-checks before free() and a few related dead assignments.
4355
4356 ok and valuable input from millert@
4357
4358commit a16f748690139b9f452485d97511ad5e578f59b2
4359Author: Damien Miller <djm@mindrot.org>
4360Date: Fri Nov 15 16:02:43 2019 +1100
4361
4362 upstream commit
4363
4364 revision 1.44
4365 date: 2015/09/14 16:09:13; author: tedu; state: Exp; lines: +3 -5; commitid: iWfSX2BIn0sLw62l;
4366 remove null check before free. from Michael McConville
4367 ok semarie
4368
4369commit fd37cdeafe25adfcdc752280f535d28de7997ff1
4370Author: Damien Miller <djm@mindrot.org>
4371Date: Fri Nov 15 16:02:27 2019 +1100
4372
4373 upstream commit
4374
4375 revision 1.43
4376 date: 2015/06/13 16:57:04; author: deraadt; state: Exp; lines: +4 -4; commitid: zOUKuqWBdOPOz1SZ;
4377 in glob() initialize the glob_t before the first failure check.
4378 from j@pureftpd.org
4379 ok millert stsp
4380
4381commit fd62769c3882adea118dccaff80a06009874a2d1
4382Author: Damien Miller <djm@mindrot.org>
4383Date: Fri Nov 15 16:01:20 2019 +1100
4384
4385 upstream commit
4386
4387 revision 1.42
4388 date: 2015/02/05 12:59:57; author: millert; state: Exp; lines: +2 -1; commitid: DTQbfd4poqBW8iSJ;
4389 Include stdint.h, not limits.h to get SIZE_MAX. OK guenther@
4390
4391commit 2b6cba7ee2b8b36f393be739c860a9d2e5d8eb48
4392Author: Damien Miller <djm@mindrot.org>
4393Date: Fri Nov 15 16:00:07 2019 +1100
4394
4395 upstream commit
4396
4397 revision 1.41
4398 date: 2014/10/08 05:35:27; author: deraadt; state: Exp; lines: +3 -3; commitid: JwTGarRLHQKDgPh2;
4399 obvious realloc -> reallocarray conversion
4400
4401commit ab3600665387ae34785498558c4409e27f495b0b
4402Author: djm@openbsd.org <djm@openbsd.org>
4403Date: Fri Nov 15 04:12:32 2019 +0000
4404
4405 upstream: don't consult dlopen whitelist for internal security key
4406
4407 provider; spotted by dtucker@
4408
4409 OpenBSD-Commit-ID: bfe5fbd17e4ff95dd85b9212181652b54444192e
4410
4411commit 19f8ec428db835f68c1cfd63587e9880ccd6486c
4412Author: Damien Miller <djm@mindrot.org>
4413Date: Fri Nov 15 15:08:28 2019 +1100
4414
4415 upstream commit
4416
4417 revision 1.40
4418 date: 2013/09/30 12:02:34; author: millert; state: Exp; lines: +14 -15;
4419 Use PATH_MAX, NAME_MAX and LOGIN_NAME_MAX not MAXPATHNAMELEN,
4420 MAXNAMLEN or MAXLOGNAME where possible. OK deraadt@
4421
4422commit bb7413db98e418d4af791244660abf6c829783f5
4423Author: Damien Miller <djm@mindrot.org>
4424Date: Fri Nov 15 15:07:30 2019 +1100
4425
4426 upstream commit
4427
4428 revision 1.39
4429 date: 2012/01/20 07:09:42; author: tedu; state: Exp; lines: +4 -4;
4430 the glob stat limit is way too low. bump to 2048.
4431 while here, failed stats should count against the limit too.
4432 ok deraadt sthen stsp
4433
4434commit 01362cf7cb979525c014714e2bccf799a46e772e
4435Author: djm@openbsd.org <djm@openbsd.org>
4436Date: Fri Nov 15 03:41:57 2019 +0000
4437
4438 upstream: U2F tokens may return FIDO_ERR_USER_PRESENCE_REQUIRED when
4439
4440 probed to see if they own a key handle. Handle this case so the find_device()
4441 look can work for them. Reported by Michael Forney
4442
4443 OpenBSD-Commit-ID: 2ccd5b30a6ddfe4dba228b7159bf168601bd9166
4444
4445commit cf62307bc9758105913dcb91b418e4968ac2244d
4446Author: Darren Tucker <dtucker@dtucker.net>
4447Date: Fri Nov 15 14:01:00 2019 +1100
4448
4449 Add libfido2 to INSTALL.
4450
4451commit 69fbda1894349d1f420c842dfcbcc883239d1aa7
4452Author: Darren Tucker <dtucker@dtucker.net>
4453Date: Fri Nov 15 13:42:15 2019 +1100
4454
4455 libcrypto is now optional.
4456
4457commit 45ffa369886e37930776d7c15dd8b973242d6ecc
4458Author: djm@openbsd.org <djm@openbsd.org>
4459Date: Fri Nov 15 02:38:07 2019 +0000
4460
4461 upstream: show the "please touch your security key" notifier when
4462
4463 using the (default) build-in security key support.
4464
4465 OpenBSD-Commit-ID: 4707643aaa7124501d14e92d1364b20f312a6428
4466
4467commit 49dc9fa928d77807c53bdc2898db7fb515fe5eb3
4468Author: djm@openbsd.org <djm@openbsd.org>
4469Date: Fri Nov 15 02:37:24 2019 +0000
4470
4471 upstream: close the "touch your security key" notifier on the error
4472
4473 path too
4474
4475 OpenBSD-Commit-ID: c7628bf80505c1aefbb1de7abc8bb5ee51826829
4476
4477commit 22a82712e89bf17c27427aeba15795fb4011a0c2
4478Author: djm@openbsd.org <djm@openbsd.org>
4479Date: Fri Nov 15 02:20:06 2019 +0000
4480
4481 upstream: correct function name in debug message
4482
4483 OpenBSD-Commit-ID: 2482c99d2ce448f39282493050f8a01e3ffc39ab
4484
4485commit 018e2902a65c22faded215a7c588492c948f108c
4486Author: djm@openbsd.org <djm@openbsd.org>
4487Date: Fri Nov 15 00:32:40 2019 +0000
4488
4489 upstream: follow existing askpass logic for security key notifier:
4490
4491 fall back to _PATH_SSH_ASKPASS_DEFAULT if no $SSH_ASKPASS environment
4492 variable is set.
4493
4494 OpenBSD-Commit-ID: cda753726b13fb797bf7a9f7a0b3022d9ade4520
4495
4496commit 575d0042a94997c1eeb86a6dcfb30b3c7bdbcba3
4497Author: djm@openbsd.org <djm@openbsd.org>
4498Date: Thu Nov 14 21:56:52 2019 +0000
4499
4500 upstream: remove debugging goop that snuck in to last commit
4501
4502 OpenBSD-Commit-ID: 8ea4455a2d9364a0a04f9e4a2cbfa4c9fcefe77e
4503
4504commit 63a5b24f2dbdc9a4bf2182ac3db26731ddc617e8
4505Author: Damien Miller <djm@mindrot.org>
4506Date: Fri Nov 15 11:21:26 2019 +1100
4507
4508 don't fatal if libfido2 not found
4509
4510 spotted by dtucker@
4511
4512commit 129952a81c00c332721b4ba3ede868c720ad7f4e
4513Author: Damien Miller <djm@mindrot.org>
4514Date: Fri Nov 15 11:17:12 2019 +1100
4515
4516 correct object dependency
4517
4518commit 6bff9521ab9a9f7396d635755c342b72373bb4f9
4519Author: djm@openbsd.org <djm@openbsd.org>
4520Date: Thu Nov 14 21:27:29 2019 +0000
4521
4522 upstream: directly support U2F/FIDO2 security keys in OpenSSH by
4523
4524 linking against the (previously external) USB HID middleware. The dlopen()
4525 capability still exists for alternate middlewares, e.g. for Bluetooth, NFC
4526 and test/debugging.
4527
4528 OpenBSD-Commit-ID: 14446cf170ac0351f0d4792ba0bca53024930069
4529
4530commit 4f5e331cb8e11face3025aa6578662dde489c3ad
4531Author: markus@openbsd.org <markus@openbsd.org>
4532Date: Wed Nov 13 22:00:21 2019 +0000
4533
4534 upstream: in order to be able to figure out the number of
4535
4536 signatures left on a shielded key, we need to transfer the number of
4537 signatures left from the private to the public key. ok djm@
4538
4539 OpenBSD-Commit-ID: 8a5d0d260aeace47d372695fdae383ce9b962574
4540
4541commit dffd02e297e6c2a4e86775f293eb1b0ff01fb3df
4542Author: markus@openbsd.org <markus@openbsd.org>
4543Date: Wed Nov 13 20:25:45 2019 +0000
4544
4545 upstream: fix check for sig_s; noted by qsa at qualys.com
4546
4547 OpenBSD-Commit-ID: 34198084e4afb424a859f52c04bb2c9668a52867
4548
4549commit fc173aeb1526d4268db89ec5dfebaf8750dd26cd
4550Author: dtucker@openbsd.org <dtucker@openbsd.org>
4551Date: Wed Nov 13 11:25:11 2019 +0000
4552
4553 upstream: When clients get denied by MaxStartups, send a
4554
4555 noification prior to the SSH2 protocol banner according to RFC4253 section
4556 4.2. ok djm@ deraadt@ markus@
4557
4558 OpenBSD-Commit-ID: e5dabcb722d54dea18eafb336d50b733af4f9c63
4559
4560commit bf219920b70cafbf29ebc9890ef67d0efa54e738
4561Author: markus@openbsd.org <markus@openbsd.org>
4562Date: Wed Nov 13 07:53:10 2019 +0000
4563
4564 upstream: fix shield/unshield for xmss keys: - in ssh-agent we need
4565
4566 to delay the call to shield until we have received key specific options. -
4567 when serializing xmss keys for shield we need to deal with all optional
4568 components (e.g. state might not be loaded). ok djm@
4569
4570 OpenBSD-Commit-ID: cc2db82524b209468eb176d6b4d6b9486422f41f
4571
4572commit 40598b85d72a509566b7b2a6d57676c7231fed34
4573Author: deraadt@openbsd.org <deraadt@openbsd.org>
4574Date: Wed Nov 13 05:42:26 2019 +0000
4575
4576 upstream: remove size_t gl_pathc < 0 test, it is invalid. the
4577
4578 return value from glob() is sufficient. discussed with djm
4579
4580 OpenBSD-Commit-ID: c91203322db9caaf7efaf5ae90c794a91070be3c
4581
4582commit 72687c8e7c38736e3e64e833ee7aa8f9cd9efed1
4583Author: deraadt@openbsd.org <deraadt@openbsd.org>
4584Date: Wed Nov 13 04:47:52 2019 +0000
4585
4586 upstream: stdarg.h required more broadly; ok djm
4587
4588 OpenBSD-Commit-ID: b5b15674cde1b54d6dbbae8faf30d47e6e5d6513
4589
4590commit 1e0b248d47c96be944868a735553af8482300a07
4591Author: Darren Tucker <dtucker@dtucker.net>
4592Date: Thu Nov 14 16:08:17 2019 +1100
4593
4594 Put sshsk_sign call inside ifdef ENABLE_SK.
4595
4596 Fixes build against OpenSSL configured without ECC.
4597
4598commit 546274a6f89489d2e6be8a8b62f2bb63c87a61fd
4599Author: Darren Tucker <dtucker@dtucker.net>
4600Date: Wed Nov 13 23:27:31 2019 +1100
4601
4602 Remove duplicate __NR_clock_nanosleep
4603
4604commit b1c82f4b8adf3f42476d8a1f292df33fb7aa1a56
4605Author: Darren Tucker <dtucker@dtucker.net>
4606Date: Wed Nov 13 23:19:35 2019 +1100
4607
4608 seccomp: Allow clock_nanosleep() in sandbox.
4609
4610 seccomp: Allow clock_nanosleep() to make OpenSSH working with latest
4611 glibc. Patch from Jakub Jelen <jjelen@redhat.com> via bz #3093.
4612
4613commit 2b523d23804c13cb68db135b919fcf312c42b580
4614Author: Darren Tucker <dtucker@dtucker.net>
4615Date: Wed Nov 13 11:56:56 2019 +1100
4616
4617 Include stdarg.h for va_list in xmalloc.h.
4618
4619commit 245dcbdca5374296bdb9c48be6e24bdf6b1c0af7
4620Author: Darren Tucker <dtucker@dtucker.net>
4621Date: Wed Nov 13 11:19:26 2019 +1100
4622
4623 Put headers inside ifdef _AIX.
4624
4625 Prevents compile errors due to missing definitions (eg va_list) on
4626 non-AIX platforms.
4627
4628commit a4cc579c6ad2b2e54bdd6cc0d5e12c2288113a56
4629Author: Darren Tucker <dtucker@dtucker.net>
4630Date: Wed Nov 13 10:41:41 2019 +1100
4631
4632 Fix comment in match_usergroup_pattern_list.
4633
4634 Spotted by balu.gajjala@gmail.com via bz#3092.
4635
4636commit fccff339cab5aa66f2554e0188b83f980683490b
4637Author: djm@openbsd.org <djm@openbsd.org>
4638Date: Tue Nov 12 22:38:19 2019 +0000
4639
4640 upstream: allow an empty attestation certificate returned by a
4641
4642 security key enrollment - these are possible for tokens that only offer self-
4643 attestation. This also needs support from the middleware.
4644
4645 ok markus@
4646
4647 OpenBSD-Commit-ID: 135eeeb937088ef6830a25ca0bbe678dfd2c57cc
4648
4649commit e44bb61824e36d0d181a08489c16c378c486a974
4650Author: djm@openbsd.org <djm@openbsd.org>
4651Date: Tue Nov 12 22:36:44 2019 +0000
4652
4653 upstream: security keys typically need to be tapped/touched in
4654
4655 order to perform a signature operation. Notify the user when this is expected
4656 via the TTY (if available) or $SSH_ASKPASS if we can.
4657
4658 ok markus@
4659
4660 OpenBSD-Commit-ID: 0ef90a99a85d4a2a07217a58efb4df8444818609
4661
4662commit 4671211068441519011ac0e38c588317f4157ba1
4663Author: djm@openbsd.org <djm@openbsd.org>
4664Date: Tue Nov 12 22:35:02 2019 +0000
4665
4666 upstream: pass SSH_ASKPASS_PROMPT hint to y/n key confirm too
4667
4668 OpenBSD-Commit-ID: 08d46712e5e5f1bad0aea68e7717b7bec1ab8959
4669
4670commit 5d1c1590d736694f41b03e686045f08fcae20d62
4671Author: djm@openbsd.org <djm@openbsd.org>
4672Date: Tue Nov 12 22:34:20 2019 +0000
4673
4674 upstream: dd API for performing one-shot notifications via tty or
4675
4676 SSH_ASKPASS
4677
4678 OpenBSD-Commit-ID: 9484aea33aff5b62ce3642bf259546c7639f23f3
4679
4680commit 166927fd410823eec8a7b2472463db51e0e6fef5
4681Author: djm@openbsd.org <djm@openbsd.org>
4682Date: Tue Nov 12 22:32:48 2019 +0000
4683
4684 upstream: add xvasprintf()
4685
4686 OpenBSD-Commit-ID: e5e3671c05c121993b034db935bce1a7aa372247
4687
4688commit 782093ec6cf64cc6c4078410093359869ea9329f
4689Author: Darren Tucker <dtucker@dtucker.net>
4690Date: Wed Nov 13 09:08:55 2019 +1100
4691
4692 Remove leftover if statement from sync.
4693
4694commit b556cc3cbf0c43f073bb41bba4e92ca709a1ec13
4695Author: markus@openbsd.org <markus@openbsd.org>
4696Date: Tue Nov 12 19:34:40 2019 +0000
4697
4698 upstream: remove extra layer for ed25519 signature; ok djm@
4699
4700 OpenBSD-Commit-ID: 7672d9d0278b4bf656a12d3aab0c0bfe92a8ae47
4701
4702commit 3fcf69ace19e75cf9dcd7206f396adfcb29611a8
4703Author: markus@openbsd.org <markus@openbsd.org>
4704Date: Tue Nov 12 19:34:00 2019 +0000
4705
4706 upstream: check sig_r and sig_s for ssh-sk keys; ok djm
4707
4708 OpenBSD-Commit-ID: 1a1e6a85b5f465d447a3800f739e35c5b74e0abc
4709
4710commit 2c55744a56de0ffc81fe445a1e7fc5cd308712b3
4711Author: markus@openbsd.org <markus@openbsd.org>
4712Date: Tue Nov 12 19:33:08 2019 +0000
4713
4714 upstream: enable ed25519 support; ok djm
4715
4716 OpenBSD-Commit-ID: 1a399c5b3ef15bd8efb916110cf5a9e0b554ab7e
4717
4718commit fd1a3b5e38721b1d69aae2d9de1a1d9155dfa5c7
4719Author: markus@openbsd.org <markus@openbsd.org>
4720Date: Tue Nov 12 19:32:30 2019 +0000
4721
4722 upstream: update sk-api to version 2 for ed25519 support; ok djm
4723
4724 OpenBSD-Commit-ID: 77aa4d5b6ab17987d8a600907b49573940a0044a
4725
4726commit 7c32b51edbed5bd57870249c0a45dffd06be0002
4727Author: markus@openbsd.org <markus@openbsd.org>
4728Date: Tue Nov 12 19:31:45 2019 +0000
4729
4730 upstream: implement sshsk_ed25519_assemble(); ok djm
4731
4732 OpenBSD-Commit-ID: af9ec838b9bc643786310b5caefc4ca4754e68c6
4733
4734commit fe05a36dc0ea884c8c2395d53d804fe4f4202b26
4735Author: markus@openbsd.org <markus@openbsd.org>
4736Date: Tue Nov 12 19:31:18 2019 +0000
4737
4738 upstream: implement sshsk_ed25519_inner_sig(); ok djm
4739
4740 OpenBSD-Commit-ID: f422d0052c6d948fe0e4b04bc961f37fdffa0910
4741
4742commit e03a29e6554cd0c9cdbac0dae53dd79e6eb4ea47
4743Author: markus@openbsd.org <markus@openbsd.org>
4744Date: Tue Nov 12 19:30:50 2019 +0000
4745
4746 upstream: rename sshsk_ecdsa_sign() to sshsk_sign(); ok djm
4747
4748 OpenBSD-Commit-ID: 1524042e09d81e54c4470d7bfcc0194c5b46fe19
4749
4750commit bc7b5d6187de625c086b5f639b25bbad17bbabfc
4751Author: markus@openbsd.org <markus@openbsd.org>
4752Date: Tue Nov 12 19:30:21 2019 +0000
4753
4754 upstream: factor out sshsk_ecdsa_inner_sig(); ok djm@
4755
4756 OpenBSD-Commit-ID: 07e41997b542f670a15d7e2807143fe01efef584
4757
4758commit cef84a062db8cfeece26f067235dc440f6992c17
4759Author: markus@openbsd.org <markus@openbsd.org>
4760Date: Tue Nov 12 19:29:54 2019 +0000
4761
4762 upstream: factor out sshsk_ecdsa_assemble(); ok djm@
4763
4764 OpenBSD-Commit-ID: 2313761a3a84ccfe032874d638d3c363e0f14026
4765
4766commit 7c096c456f33f3d2682736d4735cc10e790276e9
4767Author: markus@openbsd.org <markus@openbsd.org>
4768Date: Tue Nov 12 19:29:24 2019 +0000
4769
4770 upstream: implement ssh-ed25519-sk verification; ok djm@
4771
4772 OpenBSD-Commit-ID: 37906d93948a1e3d237c20e713d6ca8fbf7d13f6
4773
4774commit ba5fb02bed1e556d0ce7b1740ae8a5f87b737491
4775Author: Damien Miller <djm@mindrot.org>
4776Date: Wed Nov 13 08:48:30 2019 +1100
4777
4778 ignore ssh-sk-helper
4779
4780commit 78c96498947f711141f493a40d202c482cc59438
4781Author: deraadt@openbsd.org <deraadt@openbsd.org>
4782Date: Mon Nov 11 19:53:37 2019 +0000
4783
4784 upstream: skip demanding -fstack-protector-all on hppa. we never
4785
4786 wrote a stack protector for reverse-stack architectures, and i don't think
4787 anyone else did either. a warning per compiled file is just annoying.
4788
4789 OpenBSD-Commit-ID: 14806a59353152f843eb349e618abbf6f4dd3ada
4790
4791commit aa1c9e37789f999979fe59df74ce5c8424861ac8
4792Author: djm@openbsd.org <djm@openbsd.org>
4793Date: Fri Nov 8 03:54:02 2019 +0000
4794
4795 upstream: duplicate 'x' character in getopt(3) optstring
4796
4797 OpenBSD-Commit-ID: 64c81caa0cb5798de3621eca16b7dd22e5d0d8a7
4798
4799commit aa4c640dc362816d63584a16e786d5e314e24390
4800Author: naddy@openbsd.org <naddy@openbsd.org>
4801Date: Thu Nov 7 08:38:38 2019 +0000
4802
4803 upstream: Fill in missing man page bits for U2F security key support:
4804
4805 Mention the new key types, the ~/.ssh/id_ecdsa_sk file, ssh's
4806 SecurityKeyProvider keyword, the SSH_SK_PROVIDER environment variable,
4807 and ssh-keygen's new -w and -x options.
4808
4809 Copy the ssh-sk-helper man page from ssh-pkcs11-helper with minimal
4810 substitutions.
4811
4812 ok djm@
4813
4814 OpenBSD-Commit-ID: ef2e8f83d0c0ce11ad9b8c28945747e5ca337ac4
4815
4816commit b236b27d6dada7f0542214003632b4e9b7aa1380
4817Author: Darren Tucker <dtucker@dtucker.net>
4818Date: Sun Nov 3 00:10:43 2019 +1100
4819
4820 Put sftp-realpath in libssh.a
4821
4822 and remove it from the specific binary targets.
4823
4824commit 382c18c20cdcec45b5d21ff25b4a5e0df91a68c4
4825Author: Darren Tucker <dtucker@dtucker.net>
4826Date: Sun Nov 3 00:09:21 2019 +1100
4827
4828 statfs might be defined in sys/mount.h.
4829
4830 eg on old NetBSDs.
4831
4832commit 03ffc0951c305c8e3b5fdc260d65312a57f8f7ea
4833Author: Darren Tucker <dtucker@dtucker.net>
4834Date: Sat Nov 2 23:25:01 2019 +1100
4835
4836 Put stdint.h inside ifdef HAVE_STDINT_H.
4837
4838commit 19cb64c4b42d4312ce12091fd9436dbd6898998c
4839Author: Darren Tucker <dtucker@dtucker.net>
4840Date: Sat Nov 2 22:45:44 2019 +1100
4841
4842 Rebuild .depend.
4843
4844commit 3611bfe89b92ada5914526d8ff0919aeb967cfa7
4845Author: Darren Tucker <dtucker@dtucker.net>
4846Date: Sat Nov 2 22:42:05 2019 +1100
4847
4848 Define __BSD_VISIBLE in fnmatch.h.
4849
4850 .. since we use symbols defined only when it is when using the compat
4851 fnmatch.
4852
4853commit f5cc5816aaddb8eca3cba193f53e99d6a0b37d05
4854Author: Darren Tucker <dtucker@dtucker.net>
4855Date: Sat Nov 2 16:39:38 2019 +1100
4856
4857 Only enable U2F if OpenSSL supports ECC.
4858
4859 This requires moving the U2F bits to below the OpenSSL parts so we have
4860 the required information. ok djm@
4861
4862commit ad38406fc95fa223b0ef2edf8ff50508f8ab1cb6
4863Author: naddy@openbsd.org <naddy@openbsd.org>
4864Date: Fri Nov 1 12:10:43 2019 +0000
4865
4866 upstream: fix miscellaneous text problems; ok djm@
4867
4868 OpenBSD-Commit-ID: 0cbf411a14d8fa0b269b69cbb1b4fc0ca699fe9f
4869
4870commit 9cac151c2dc76b8e5b727b2fa216f572e372170f
4871Author: Darren Tucker <dtucker@dtucker.net>
4872Date: Fri Nov 1 18:26:07 2019 +1100
4873
4874 Add flags needed to build and work on Ultrix.
4875
4876commit 0e3c5bc50907d2058407641b5a3581b7eda91b7e
4877Author: Darren Tucker <dtucker@dtucker.net>
4878Date: Fri Nov 1 18:24:29 2019 +1100
4879
4880 Hook up fnmatch for platforms that don't have it.
4881
4882commit b56dbfd9d967e5b6ce7be9f81f206112e19e1030
4883Author: Darren Tucker <dtucker@dtucker.net>
4884Date: Fri Nov 1 18:17:42 2019 +1100
4885
4886 Add missing bracket in realpath macro.
4887
4888commit 59ccb56f15e5e530e7c1b5a0b361749d8c6217d5
4889Author: Darren Tucker <dtucker@dtucker.net>
4890Date: Fri Nov 1 17:32:47 2019 +1100
4891
4892 Import fnmatch.c from OpenBSD.
4893
4894commit 79d46de9fbea0f3c0e8ae7cf84effaba089071b0
4895Author: Darren Tucker <dtucker@dtucker.net>
4896Date: Fri Nov 1 15:22:32 2019 +1100
4897
4898 Use sftp_realpath if no native realpath.
4899
4900commit bb4f003ed8c5f61ec74a66bcedc8ab19bf5b35c4
4901Author: Darren Tucker <dtucker@dtucker.net>
4902Date: Fri Nov 1 15:06:16 2019 +1100
4903
4904 Configure flags for haiku from haikuports.
4905
4906 Should build with the default flags with ./configure
4907
4908commit 4332b4fe49360679647a8705bc08f4e81323f6b4
4909Author: djm@openbsd.org <djm@openbsd.org>
4910Date: Fri Nov 1 03:54:33 2019 +0000
4911
4912 upstream: fix a race condition in the SIGCHILD handler that could turn
4913
4914 in to a kill(-1); bz3084, reported by Gao Rui, ok dtucker@
4915
4916 OpenBSD-Commit-ID: ac2742e04a69d4c34223505b6a32f6d686e18896
4917
4918commit 03f9205f0fb49ea2507eacc143737a8511ae5a4e
4919Author: Damien Miller <djm@mindrot.org>
4920Date: Fri Nov 1 14:49:25 2019 +1100
4921
4922 conditionalise SK sign/verify on ENABLE_SK
4923
4924 Spotted by Darren and his faux-Vax
4925
4926commit 5eb7b9563ff818e17de24231bf2d347d9db302c5
4927Author: Darren Tucker <dtucker@dtucker.net>
4928Date: Fri Nov 1 14:41:07 2019 +1100
4929
4930 Add prototype for localtime_r if needed.
4931
4932commit d500b59a825f6a58f2abf7b04eb1992d81e45d58
4933Author: Darren Tucker <dtucker@dtucker.net>
4934Date: Fri Nov 1 13:42:12 2019 +1100
4935
4936 Check if IP_TOS is defined before using.
4937
4938commit 764d51e04460ec0da12e05e4777bc90c116accb9
4939Author: Damien Miller <djm@mindrot.org>
4940Date: Fri Nov 1 13:34:49 2019 +1100
4941
4942 autoconf pieces for U2F support
4943
4944 Mostly following existing logic for PKCS#11 - turning off support
4945 when either libcrypto or dlopen(3) are unavailable.
4946
4947commit 45f17a159acfc5a8e450bfbcc2cffe72950ed7a3
4948Author: djm@openbsd.org <djm@openbsd.org>
4949Date: Fri Nov 1 02:32:05 2019 +0000
4950
4951 upstream: remove duplicate PUBKEY_DEFAULT_PK_ALG on !WITH_OPENSSL path
4952
4953 OpenBSD-Commit-ID: 95a7cafad2a4665d57cabacc28031fabc0bea9fc
4954
4955commit db8d13f7925da7337df87248995c533e111637ec
4956Author: djm@openbsd.org <djm@openbsd.org>
4957Date: Fri Nov 1 02:06:52 2019 +0000
4958
4959 upstream: more additional source files
4960
4961 OpenBSD-Regress-ID: 8eaa25fb901594aee23b76eda99dca5b8db94c6f
4962
4963commit f89c5df65dd307739ff22319c2cf847d3b0c5ab4
4964Author: djm@openbsd.org <djm@openbsd.org>
4965Date: Fri Nov 1 02:04:25 2019 +0000
4966
4967 upstream: additional source files here too
4968
4969 OpenBSD-Regress-ID: 8809f8e1c8f7459e7096ab6b58d8e56cb2f483fd
4970
4971commit 02275afa1ecbfbd39f27d34c97090e76bec232ec
4972Author: djm@openbsd.org <djm@openbsd.org>
4973Date: Fri Nov 1 02:03:27 2019 +0000
4974
4975 upstream: additional source files here too
4976
4977 OpenBSD-Regress-ID: 09297e484327f911fd353489518cceaa0c1b95ce
4978
4979commit dfc8f01b9886c7999e6e20acf3f7492cb8c80796
4980Author: djm@openbsd.org <djm@openbsd.org>
4981Date: Fri Nov 1 01:57:59 2019 +0000
4982
4983 upstream: adapt to extra sshkey_sign() argument and additional
4984
4985 dependencies
4986
4987 OpenBSD-Regress-ID: 7a25604968486c4d6f81d06e8fbc7d17519de50e
4988
4989commit afa59e26eeb44a93f36f043f60b936eaddae77c4
4990Author: djm@openbsd.org <djm@openbsd.org>
4991Date: Fri Nov 1 01:55:41 2019 +0000
4992
4993 upstream: skip security-key key types for tests until we have a
4994
4995 dummy U2F middleware to use.
4996
4997 OpenBSD-Regress-ID: 37200462b44334a4ad45e6a1f7ad1bd717521a95
4998
4999commit de871e4daf346a712c78fa4ab8f18b231a47cb85
5000Author: jmc@openbsd.org <jmc@openbsd.org>
5001Date: Fri Nov 1 00:52:35 2019 +0000
5002
5003 upstream: sort;
5004
5005 OpenBSD-Commit-ID: 8264b0be01ec5a60602bd50fd49cc3c81162ea16
5006
5007commit 2aae149a34b1b5dfbef423d3b7999a96818969bb
5008Author: djm@openbsd.org <djm@openbsd.org>
5009Date: Thu Oct 31 21:37:33 2019 +0000
5010
5011 upstream: undo debugging bits that shouldn't have been committed
5012
5013 OpenBSD-Commit-ID: 4bd5551b306df55379afe17d841207990eb773bf
5014
5015commit 3420e0464bd0e8fedcfa5fd20ad37bdc740ad5b4
5016Author: Damien Miller <djm@mindrot.org>
5017Date: Fri Nov 1 09:24:58 2019 +1100
5018
5019 depend
5020
5021commit b923a90abc7bccb11a513dc8b5c0f13a0ea9682c
5022Author: djm@openbsd.org <djm@openbsd.org>
5023Date: Thu Oct 31 21:28:27 2019 +0000
5024
5025 upstream: fix -Wshadow warning
5026
5027 OpenBSD-Commit-ID: 3441eb04f872a00c2483c11a5f1570dfe775103c
5028
5029commit 9a14c64c38fc14d0029f1c7bc70cf62cc7f0fdf9
5030Author: djm@openbsd.org <djm@openbsd.org>
5031Date: Thu Oct 31 21:23:19 2019 +0000
5032
5033 upstream: Refactor signing - use sshkey_sign for everything,
5034
5035 including the new U2F signatures.
5036
5037 Don't use sshsk_ecdsa_sign() directly, instead make it reachable via
5038 sshkey_sign() like all other signature operations. This means that
5039 we need to add a provider argument to sshkey_sign(), so most of this
5040 change is mechanically adding that.
5041
5042 Suggested by / ok markus@
5043
5044 OpenBSD-Commit-ID: d5193a03fcfa895085d91b2b83d984a9fde76c8c
5045
5046commit 07da39f71d36fb547749a5b16aa8892e621a7e4a
5047Author: djm@openbsd.org <djm@openbsd.org>
5048Date: Thu Oct 31 21:22:01 2019 +0000
5049
5050 upstream: ssh-agent support for U2F/FIDO keys
5051
5052 feedback & ok markus@
5053
5054 OpenBSD-Commit-ID: bb544a44bc32e45d2ec8bf652db2046f38360acb
5055
5056commit eebec620c9519c4839d781c4d5b6082152998f82
5057Author: djm@openbsd.org <djm@openbsd.org>
5058Date: Thu Oct 31 21:20:38 2019 +0000
5059
5060 upstream: ssh AddKeysToAgent support for U2F/FIDO keys
5061
5062 feedback & ok markus@
5063
5064 OpenBSD-Commit-ID: ac08e45c7f995fa71f8d661b3f582e38cc0a2f91
5065
5066commit 486164d060314a7f8bca2a00f53be9e900c5e74d
5067Author: djm@openbsd.org <djm@openbsd.org>
5068Date: Thu Oct 31 21:19:56 2019 +0000
5069
5070 upstream: ssh-add support for U2F/FIDO keys
5071
5072 OpenBSD-Commit-ID: 7f88a5181c982687afedf3130c6ab2bba60f7644
5073
5074commit b9dd14d3091e31fb836f69873d3aa622eb7b4a1c
5075Author: djm@openbsd.org <djm@openbsd.org>
5076Date: Thu Oct 31 21:19:14 2019 +0000
5077
5078 upstream: add new agent key constraint for U2F/FIDO provider
5079
5080 feedback & ok markus@
5081
5082 OpenBSD-Commit-ID: d880c380170704280b4003860a1744d286c7a172
5083
5084commit 884416bdb10468f1252e4d7c13d51b43dccba7f6
5085Author: djm@openbsd.org <djm@openbsd.org>
5086Date: Thu Oct 31 21:18:28 2019 +0000
5087
5088 upstream: ssh client support for U2F/FIDO keys
5089
5090 OpenBSD-Commit-ID: eb2cfa6cf7419a1895e06e398ea6d41516c5b0bc
5091
5092commit 01a0670f69c5b86e471e033b92145d6c7cc77c58
5093Author: djm@openbsd.org <djm@openbsd.org>
5094Date: Thu Oct 31 21:17:49 2019 +0000
5095
5096 upstream: Separate myproposal.h userauth pubkey types
5097
5098 U2F/FIDO keys are not supported for host authentication, so we need
5099 a separate list for user keys.
5100
5101 feedback & ok markus@
5102
5103 OpenBSD-Commit-ID: 7fe2e6ab85f9f2338866e5af8ca2d312abbf0429
5104
5105commit 23f38c2d8cda3fad24e214e1f0133c42435b54ee
5106Author: djm@openbsd.org <djm@openbsd.org>
5107Date: Thu Oct 31 21:17:09 2019 +0000
5108
5109 upstream: ssh-keygen support for generating U2F/FIDO keys
5110
5111 OpenBSD-Commit-ID: 6ce04f2b497ac9dd8c327f76f1e6c724fb1d1b37
5112
5113commit ed3467c1e16b7396ff7fcf12d2769261512935ec
5114Author: djm@openbsd.org <djm@openbsd.org>
5115Date: Thu Oct 31 21:16:20 2019 +0000
5116
5117 upstream: U2F/FIDO middleware interface
5118
5119 Supports enrolling (generating) keys and signatures.
5120
5121 feedback & ok markus@
5122
5123 OpenBSD-Commit-ID: 73d1dd5939454f9c7bd840f48236cba41e8ad592
5124
5125commit 02bb0768a937e50bbb236efc2bbdddb1991b1c85
5126Author: djm@openbsd.org <djm@openbsd.org>
5127Date: Thu Oct 31 21:15:14 2019 +0000
5128
5129 upstream: Initial infrastructure for U2F/FIDO support
5130
5131 Key library support: including allocation, marshalling public/private
5132 keys and certificates, signature validation.
5133
5134 feedback & ok markus@
5135
5136 OpenBSD-Commit-ID: a17615ba15e0f7932ac4360cb18fc9a9544e68c7
5137
5138commit 57ecc10628b04c384cbba2fbc87d38b74cd1199d
5139Author: djm@openbsd.org <djm@openbsd.org>
5140Date: Thu Oct 31 21:14:17 2019 +0000
5141
5142 upstream: Protocol documentation for U2F/FIDO keys in OpenSSH
5143
5144 OpenBSD-Commit-ID: 8f3247317c2909870593aeb306dff848bc427915
5145
5146commit f4fdcd2b7a2bbf5d8770d44565173ca5158d4dcb
5147Author: Damien Miller <djm@mindrot.org>
5148Date: Fri Nov 1 08:36:16 2019 +1100
5149
5150 Missing unit test files
5151
5152commit 1bcd1169c5221688418fa38606e9c69055b72451
5153Author: Darren Tucker <dtucker@dtucker.net>
5154Date: Tue Oct 29 19:45:03 2019 +1100
5155
5156 Add implementation of localtime_r.
5157
5158commit 2046ed16c1202431b0307674c33a123a113e8297
5159Author: dtucker@openbsd.org <dtucker@openbsd.org>
5160Date: Tue Oct 29 07:47:27 2019 +0000
5161
5162 upstream: Signal handler cleanup: remove leftover support for
5163
5164 unreliable signals and now-unneeded save and restore of errno. ok deraadt@
5165 markus@
5166
5167 OpenBSD-Commit-ID: 01dd8a1ebdd991c8629ba1f5237283341a93cd88
5168
5169commit 70fc9a6ca4dd33cb2dd400a4dad5db9683a3d284
5170Author: jmc@openbsd.org <jmc@openbsd.org>
5171Date: Tue Oct 22 08:50:35 2019 +0000
5172
5173 upstream: fixes from lucas;
5174
5175 OpenBSD-Commit-ID: 4c4bfd2806c5bbc753788ffe19c5ee13aaf418b2
5176
5177commit 702368aa4381c3b482368257ac574a87b5a80938
5178Author: dtucker@openbsd.org <dtucker@openbsd.org>
5179Date: Tue Oct 22 07:06:35 2019 +0000
5180
5181 upstream: Import regenerated moduli file.
5182
5183 OpenBSD-Commit-ID: 58ec755be4e51978ecfee73539090eb68652a987
5184
5185commit 5fe81da22652f8caa63e9e3a1af519a85d36337e
5186Author: Darren Tucker <dtucker@dtucker.net>
5187Date: Mon Oct 28 21:19:47 2019 +1100
5188
5189 Fix ifdefs to not mask needed bits.
5190
5191commit 7694e9d2fb5785bbdd0920dce7a160bd79feaf00
5192Author: Darren Tucker <dtucker@dtucker.net>
5193Date: Mon Oct 28 17:05:36 2019 +1100
5194
5195 Only use RLIMIT_NOFILE if it's defined.
5196
5197commit d561b0b2fa2531b4cc3bc70a7d657c6485c9fd0b
5198Author: Darren Tucker <dtucker@dtucker.net>
5199Date: Mon Oct 28 16:09:04 2019 +1100
5200
5201 Make sure we have struct statfs before using.
5202
5203commit 2912596aecfcf48e5115c7a906d1e664f7717a4b
5204Author: Darren Tucker <dtucker@dtucker.net>
5205Date: Mon Oct 28 16:06:59 2019 +1100
5206
5207 Define UINT32_MAX if needed.
5208
5209commit 7169e31121e8c8cc729b55154deb722ae495b316
5210Author: Darren Tucker <dtucker@dtucker.net>
5211Date: Mon Oct 28 16:00:45 2019 +1100
5212
5213 Move utimensat definition into timespec section.
5214
5215 Since utimensat uses struct timespec, move it to the section where we
5216 define struct timespec when needed.
5217
5218commit 850ec1773d656cbff44d78a79e369dc262ce5853
5219Author: Darren Tucker <dtucker@dtucker.net>
5220Date: Mon Oct 28 15:57:22 2019 +1100
5221
5222 Wrap OpenSSL bits in WITH_OPENSSL.
5223
5224commit 6fc7e1c6fec3ba589869ae98e968c0e5e2e4695b
5225Author: Darren Tucker <dtucker@dtucker.net>
5226Date: Mon Oct 28 15:53:25 2019 +1100
5227
5228 Wrap poll.h includes in HAVE_POLL_H.
5229
5230commit 9239a18f96905cc1a353e861e33af093652f24e7
5231Author: Darren Tucker <dtucker@dtucker.net>
5232Date: Thu Oct 24 14:39:49 2019 +1100
5233
5234 Add a function call stackprotector tests.
5235
5236 Including a function call in the test programs for the gcc stack
5237 protector flag tests exercises more of the compiler and makes it more
5238 likely it'll detect problems.
5239
5240commit b9705393be4612fd5e29d0cd8e7cf2b66ed19eb7
5241Author: Darren Tucker <dtucker@dtucker.net>
5242Date: Tue Oct 22 18:09:22 2019 +1100
5243
5244 Import regenerated moduli file.
5245
5246commit 76ed2199491397e0f9902ade80d5271e4a9b2630
5247Author: djm@openbsd.org <djm@openbsd.org>
5248Date: Wed Oct 16 06:05:39 2019 +0000
5249
5250 upstream: potential NULL dereference for revoked hostkeys; reported
5251
5252 by krishnaiah bommu
5253
5254 OpenBSD-Commit-ID: 35ff685e7cc9dd2e3fe2e3dfcdcb9bc5c79f6506
5255
5256commit 6500c3bc71bf4fe14972c1177e6b93f1164d07a4
5257Author: djm@openbsd.org <djm@openbsd.org>
5258Date: Wed Oct 16 06:03:30 2019 +0000
5259
5260 upstream: free buf before return; reported by krishnaiah bommu
5261
5262 OpenBSD-Commit-ID: 091bb23a6e913af5d4f72c50030b53ce1cef4de1
5263
5264commit d7d116b6d9e6cb79cc235e9801caa683d3db3181
5265Author: djm@openbsd.org <djm@openbsd.org>
5266Date: Mon Oct 14 06:00:02 2019 +0000
5267
5268 upstream: memleak in error path; spotted by oss-fuzz, ok markus@
5269
5270 OpenBSD-Commit-ID: d6ed260cbbc297ab157ad63931802fb1ef7a4266
5271
5272commit 9b9e3ca6945351eefb821ff783a4a8e6d9b98b9a
5273Author: Darren Tucker <dtucker@dtucker.net>
5274Date: Fri Oct 11 14:12:16 2019 +1100
5275
5276 Re-add SA_RESTART to mysignal.
5277
5278 This makes mysignal implement reliable BSD semantics according to
5279 Stevens' APUE. This was first attempted in 2001 but was reverted
5280 due to problems with HP-UX 10.20 and select() and possibly grantpt().
5281 Modern systems should be fine with it, but if any current platforms have
5282 a problem with it now we can disable it just for those. ok djm@
5283
5284commit 0bd312a362168c1eae3cd6b3889395a78e6fd0f8
5285Author: Darren Tucker <dtucker@dtucker.net>
5286Date: Thu Oct 10 09:42:03 2019 +1100
5287
5288 Fix ifdef typo for declaration of memmem.
5289
5290 Fixes build on IRIX. bz#3081.
5291
5292commit 01ce1cd402d5eecde2bba35b67e08f5b266b37fd
5293Author: Abhishek Arya <inferno@chromium.org>
5294Date: Tue Oct 8 20:19:18 2019 -0700
5295
5296 Update README.md
5297
5298commit 1ba130ac8fb2884307f658126f04578f8aef409e
5299Author: Damien Miller <djm@mindrot.org>
5300Date: Wed Oct 9 13:49:35 2019 +1100
5301
5302 add a fuzzer for private key parsing
5303
5304commit cdf1d0a9f5d18535e0a18ff34860e81a6d83aa5c
5305Author: Damien Miller <djm@mindrot.org>
5306Date: Wed Oct 9 11:31:03 2019 +1100
5307
5308 prepare for 8.1 release
5309
5310commit 3b4e56d740b74324e2d7542957cad5a11518f455
5311Author: djm@openbsd.org <djm@openbsd.org>
5312Date: Wed Oct 9 00:04:57 2019 +0000
5313
5314 upstream: openssh-8.1
5315
5316 OpenBSD-Commit-ID: 3356bb34e2aa287f0e6d6773c9ae659dc680147d
5317
5318commit 29e0ecd9b4eb3b9f305e2240351f0c59cad9ef81
5319Author: djm@openbsd.org <djm@openbsd.org>
5320Date: Wed Oct 9 00:04:42 2019 +0000
5321
5322 upstream: fix an unreachable integer overflow similar to the XMSS
5323
5324 case, and some other NULL dereferences found by fuzzing.
5325
5326 fix with and ok markus@
5327
5328 OpenBSD-Commit-ID: 0f81adbb95ef887ce586953e1cb225fa45c7a47b
5329
5330commit a546b17bbaeb12beac4c9aeed56f74a42b18a93a
5331Author: djm@openbsd.org <djm@openbsd.org>
5332Date: Wed Oct 9 00:02:57 2019 +0000
5333
5334 upstream: fix integer overflow in XMSS private key parsing.
5335
5336 Reported by Adam Zabrocki via SecuriTeam's SSH program.
5337
5338 Note that this code is experimental and not compiled by default.
5339
5340 ok markus@
5341
5342 OpenBSD-Commit-ID: cd0361896d15e8a1bac495ac583ff065ffca2be1
5343
5344commit c2cc25480ba36ab48c1a577bebb12493865aad87
5345Author: dtucker@openbsd.org <dtucker@openbsd.org>
5346Date: Tue Oct 8 22:40:39 2019 +0000
5347
5348 upstream: Correct type for end-of-list sentinel; fixes initializer
5349
5350 warnings on some platforms. ok deraadt.
5351
5352 OpenBSD-Commit-ID: a990dbc2dac25bdfa07e79321349c73fd991efa2
5353
5354commit e827aedf8818e75c0016b47ed8fc231427457c43
5355Author: djm@openbsd.org <djm@openbsd.org>
5356Date: Mon Oct 7 23:10:38 2019 +0000
5357
5358 upstream: reversed test yielded incorrect debug message
5359
5360 OpenBSD-Commit-ID: 78bb512d04cfc238adb2c5b7504ac93eecf523b3
5361
5362commit 8ca491d29fbe26e5909ce22b344c0a848dc28d55
5363Author: Damien Miller <djm@mindrot.org>
5364Date: Tue Oct 8 17:05:57 2019 +1100
5365
5366 depend
5367
5368commit 86a0323374cbd404629e75bb320b3fa1c16aaa6b
5369Author: Darren Tucker <dtucker@dtucker.net>
5370Date: Wed Oct 9 09:36:06 2019 +1100
5371
5372 Make MAKE_CLONE no-op macro more correct.
5373
5374 Similar to the previous change to DEF_WEAK, some compilers don't like
5375 the empty statement, so convert into a no-op function prototype.
5376
5377commit cfc1897a2002ec6c4dc879b24e8b3153c87ea2cf
5378Author: Damien Miller <djm@mindrot.org>
5379Date: Wed Oct 9 09:06:35 2019 +1100
5380
5381 wrap stdint.h include in HAVE_STDINT_H
5382
5383 make the indenting a little more consistent too..
5384
5385 Fixes Solaris 2.6; reported by Tom G. Christensen
5386
5387commit 13b3369830a43b89a503915216a23816d1b25744
5388Author: Damien Miller <djm@mindrot.org>
5389Date: Tue Oct 8 15:32:02 2019 +1100
5390
5391 avoid "return (value)" in void-declared function
5392
5393 spotted by Tim Rice; ok dtucker
5394
5395commit 0c7f8d2326d812b371f7afd63aff846973ec80a4
5396Author: Darren Tucker <dtucker@dtucker.net>
5397Date: Tue Oct 8 14:44:50 2019 +1100
5398
5399 Make DEF_WEAK more likely to be correct.
5400
5401 Completely nop-ing out DEF_WEAK leaves an empty statemment which some
5402 compilers don't like. Replace with a no-op function template. ok djm@
5403
5404commit b1e79ea8fae9c252399677a28707661d85c7d00c
5405Author: dtucker@openbsd.org <dtucker@openbsd.org>
5406Date: Sun Oct 6 11:49:50 2019 +0000
5407
5408 upstream: Instead of running sed over the whole log to remove CRs,
5409
5410 remove them only where it's needed (and confuses test(1) on at least OS X in
5411 portable).
5412
5413 OpenBSD-Regress-ID: a6ab9b4bd1d33770feaf01b2dfb96f9e4189d2d0
5414
5415commit 8dc7d6b75a7f746fdd056acd41dffc0a13557a4c
5416Author: Eduardo Barretto <ebarretto@linux.vnet.ibm.com>
5417Date: Tue May 9 13:33:30 2017 -0300
5418
5419 Enable specific ioctl call for EP11 crypto card (s390)
5420
5421 The EP11 crypto card needs to make an ioctl call, which receives an
5422 specific argument. This crypto card is for s390 only.
5423
5424 Signed-off-by: Eduardo Barretto <ebarretto@linux.vnet.ibm.com>
5425
5426commit 07f2c7f34951c04d2cd796ac6c80e47c56c4969e
5427Author: djm@openbsd.org <djm@openbsd.org>
5428Date: Fri Oct 4 04:31:59 2019 +0000
5429
5430 upstream: fix memory leak in error path; bz#3074 patch from
5431
5432 krishnaiah.bommu@intel.com, ok dtucker
5433
5434 OpenBSD-Commit-ID: d031853f3ecf47b35a0669588f4d9d8e3b307b3c
5435
5436commit b7fbc75e119170f4d15c94a7fda4a1050e0871d6
5437Author: djm@openbsd.org <djm@openbsd.org>
5438Date: Fri Oct 4 04:13:39 2019 +0000
5439
5440 upstream: space
5441
5442 OpenBSD-Commit-ID: 350648bcf00a2454e7ef998b7d88e42552b348ac
5443
5444commit 643ab68c79ac1644f4a31e36928c2bfc8a51db3c
5445Author: djm@openbsd.org <djm@openbsd.org>
5446Date: Fri Oct 4 03:39:19 2019 +0000
5447
5448 upstream: more sshsig regress tests: check key revocation, the
5449
5450 check-novalidate signature test mode and signing keys in ssh-agent.
5451
5452 From Sebastian Kinne (slightly tweaked)
5453
5454 OpenBSD-Regress-ID: b39566f5cec70140674658cdcedf38752a52e2e2
5455
5456commit 714031a10bbe378a395a93cf1040f4ee1451f45f
5457Author: dtucker@openbsd.org <dtucker@openbsd.org>
5458Date: Fri Oct 4 03:26:58 2019 +0000
5459
5460 upstream: Check for gmtime failure in moduli generation. Based on
5461
5462 patch from krishnaiah.bommu@intel.com, ok djm@
5463
5464 OpenBSD-Commit-ID: 4c6a4cde0022188ac83737de08da0e875704eeaa
5465
5466commit 6918974405cc28ed977f802fd97a9c9a9b2e141b
5467Author: jmc@openbsd.org <jmc@openbsd.org>
5468Date: Thu Oct 3 17:07:50 2019 +0000
5469
5470 upstream: use a more common options order in SYNOPSIS and sync
5471
5472 usage(); while here, no need for Bk/Ek;
5473
5474 ok dtucker
5475
5476 OpenBSD-Commit-ID: 38715c3f10b166f599a2283eb7bc14860211bb90
5477
5478commit feff96b7d4c0b99307f0459cbff128aede4a8984
5479Author: djm@openbsd.org <djm@openbsd.org>
5480Date: Wed Oct 2 09:50:50 2019 +0000
5481
5482 upstream: thinko in previous; spotted by Mantas
5483
5484 =?UTF-8?q?=20Mikul=C4=97nas?=
5485 MIME-Version: 1.0
5486 Content-Type: text/plain; charset=UTF-8
5487 Content-Transfer-Encoding: 8bit
5488
5489 OpenBSD-Commit-ID: ffa3f5a45e09752fc47d9041e2203ee2ec15b24d
5490
5491commit b5a89eec410967d6b712665f8cf0cb632928d74b
5492Author: djm@openbsd.org <djm@openbsd.org>
5493Date: Wed Oct 2 08:07:13 2019 +0000
5494
5495 upstream: make signature format match PROTOCO
5496
5497 =?UTF-8?q?=20as=20a=20string,=20not=20raw=20bytes.=20Spotted=20by=20Manta?=
5498 =?UTF-8?q?s=20Mikul=C4=97nas?=
5499 MIME-Version: 1.0
5500 Content-Type: text/plain; charset=UTF-8
5501 Content-Transfer-Encoding: 8bit
5502
5503 OpenBSD-Commit-ID: 80fcc6d52893f80c6de2bedd65353cebfebcfa8f
5504
5505commit dc6f81ee94995deb11bbf7e19801022c5f6fd90a
5506Author: djm@openbsd.org <djm@openbsd.org>
5507Date: Wed Oct 2 08:05:50 2019 +0000
5508
5509 upstream: ban empty namespace strings for s
5510
5511 =?UTF-8?q?shsig;=20spotted=20by=20Mantas=20Mikul=C4=97nas?=
5512 MIME-Version: 1.0
5513 Content-Type: text/plain; charset=UTF-8
5514 Content-Transfer-Encoding: 8bit
5515
5516 OpenBSD-Commit-ID: 7c5bcf40bed8f4e826230176f4aa353c52aeb698
5517
5518commit fa5bd8107e0e2b3e1e184f55d0f9320c119f65f0
5519Author: Darren Tucker <dtucker@dtucker.net>
5520Date: Wed Oct 2 14:30:55 2019 +1000
5521
5522 Put ssherr.h back as it's actually needed.
5523
5524commit 3ef92a657444f172b61f92d5da66d94fa8265602
5525Author: Lonnie Abelbeck <lonnie@abelbeck.com>
5526Date: Tue Oct 1 09:05:09 2019 -0500
5527
5528 Deny (non-fatal) shmget/shmat/shmdt in preauth privsep child.
5529
5530 New wait_random_seeded() function on OpenSSL 1.1.1d uses shmget, shmat, and shmdt
5531 in the preauth codepath, deny (non-fatal) in seccomp_filter sandbox.
5532
5533commit edd1d3a6261aecbf9a55944fd7be1db83571b46e
5534Author: Damien Miller <djm@mindrot.org>
5535Date: Wed Oct 2 10:54:28 2019 +1000
5536
5537 remove duplicate #includes
5538
5539 Prompted by Jakub Jelen
5540
5541commit 13c508dfed9f25e6e54c984ad00a74ef08539e70
5542Author: Damien Miller <djm@mindrot.org>
5543Date: Wed Oct 2 10:51:15 2019 +1000
5544
5545 typo in comment
5546
5547commit d0c3ac427f6c52b872d6617421421dd791664445
5548Author: djm@openbsd.org <djm@openbsd.org>
5549Date: Wed Oct 2 00:42:30 2019 +0000
5550
5551 upstream: remove some duplicate #includes
5552
5553 OpenBSD-Commit-ID: ed6827ab921eff8027669848ef4f70dc1da4098c
5554
5555commit 084682786d9275552ee93857cb36e43c446ce92c
5556Author: djm@openbsd.org <djm@openbsd.org>
5557Date: Tue Oct 1 10:22:53 2019 +0000
5558
5559 upstream: revert unconditional forced login implemented in r1.41 of
5560
5561 ssh-pkcs11.c; r1.45 added a forced login as a fallback for cases where the
5562 token returns no objects and this is less disruptive for users of tokens
5563 directly in ssh (rather than via ssh-agent) and in ssh-keygen
5564
5565 bz3006, patch from Jakub Jelen; ok markus
5566
5567 OpenBSD-Commit-ID: 33d6df589b072094384631ff93b1030103b3d02e
5568
5569commit 6c91d42cce3f055917dc3fd2c305dfc5b3b584b3
5570Author: jmc@openbsd.org <jmc@openbsd.org>
5571Date: Sun Sep 29 16:31:57 2019 +0000
5572
5573 upstream: group and sort single letter options; ok deraadt
5574
5575 OpenBSD-Commit-ID: e1480e760a2b582f79696cdcff70098e23fc603f
5576
5577commit 3b44bf39ff4d7ef5d50861e2e9dda62d2926d2fe
5578Author: jmc@openbsd.org <jmc@openbsd.org>
5579Date: Fri Sep 27 20:03:24 2019 +0000
5580
5581 upstream: fix the DH-GEX text in -a; because this required a comma,
5582
5583 i added a comma to the first part, for balance...
5584
5585 OpenBSD-Commit-ID: 2c3464e9e82a41e8cdfe8f0a16d94266e43dbb58
5586
5587commit 3e53ef28fab53094e3b19622ba0e9c3d5fe71273
5588Author: deraadt@openbsd.org <deraadt@openbsd.org>
5589Date: Tue Sep 24 12:50:46 2019 +0000
5590
5591 upstream: identity_file[] should be PATH_MAX, not the arbitrary
5592
5593 number 1024
5594
5595 OpenBSD-Commit-ID: e775f94ad47ce9ab37bd1410d7cf3b7ea98b11b7
5596
5597commit 90d4b2541e8c907793233d9cbd4963f7624f4174
5598Author: jmc@openbsd.org <jmc@openbsd.org>
5599Date: Fri Sep 20 18:50:58 2019 +0000
5600
5601 upstream: new sentence, new line;
5602
5603 OpenBSD-Commit-ID: c35ca5ec07be460e95e7406af12eee04a77b6698
5604
5605commit fbec7dba01b70b49ac47f56031310865dff86200
5606Author: Darren Tucker <dtucker@dtucker.net>
5607Date: Mon Sep 30 18:01:12 2019 +1000
5608
5609 Include stdio.h for snprintf.
5610
5611 Patch from vapier@gentoo.org.
5612
5613commit 0a403bfde71c4b82147473298d3a60b4171468bd
5614Author: Darren Tucker <dtucker@dtucker.net>
5615Date: Mon Sep 30 14:11:42 2019 +1000
5616
5617 Add SKIP_LTESTS for skipping specific tests.
5618
5619commit 4d59f7a5169c451ebf559aedec031ac9da2bf80c
5620Author: dtucker@openbsd.org <dtucker@openbsd.org>
5621Date: Fri Sep 27 05:25:12 2019 +0000
5622
5623 upstream: Test for empty result in expected bits. Remove CRs from log
5624
5625 as they confuse tools on some platforms. Re-enable the 3des-cbc test.
5626
5627 OpenBSD-Regress-ID: edf536d4f29fc1ba412889b37247a47f1b49d250
5628
5629commit 7c817d129e2d48fc8a6f7965339313023ec45765
5630Author: Darren Tucker <dtucker@dtucker.net>
5631Date: Fri Sep 27 15:26:22 2019 +1000
5632
5633 Re-enable dhgex test.
5634
5635 Since we've added larger fallback groups to dh.c this test will pass
5636 even if there is no moduli file installed on the system.
5637
5638commit c1e0a32fa852de6d1c82ece4f76add0ab0ca0eae
5639Author: Darren Tucker <dtucker@dtucker.net>
5640Date: Tue Sep 24 21:17:20 2019 +1000
5641
5642 Add more ToS bits, currently only used by netcat.
5643
5644commit 5a273a33ca1410351cb484af7db7c13e8b4e8e4e
5645Author: Darren Tucker <dtucker@dtucker.net>
5646Date: Thu Sep 19 15:41:23 2019 +1000
5647
5648 Privsep is now required.
5649
5650commit 8aa2aa3cd4d27d14e74b247c773696349472ef20
5651Author: djm@openbsd.org <djm@openbsd.org>
5652Date: Mon Sep 16 03:23:02 2019 +0000
5653
5654 upstream: Allow testing signature syntax and validity without verifying
5655
5656 that a signature came from a trusted signer. To discourage accidental or
5657 unintentional use, this is invoked by the deliberately ugly option name
5658 "check-novalidate"
5659
5660 from Sebastian Kinne
5661
5662 OpenBSD-Commit-ID: cea42c36ab7d6b70890e2d8635c1b5b943adcc0b
5663
5664commit 7047d5afe3103f0f07966c05b810682d92add359
5665Author: djm@openbsd.org <djm@openbsd.org>
5666Date: Fri Sep 13 04:52:34 2019 +0000
5667
5668 upstream: clarify that IdentitiesOnly also applies to the default
5669
5670 ~/.ssh/id_* keys; bz#3062
5671
5672 OpenBSD-Commit-ID: 604be570e04646f0f4a17026f8b2aada6a585dfa
5673
5674commit b36ee3fcb2f1601693b1b7fd60dd6bd96006ea75
5675Author: dtucker@openbsd.org <dtucker@openbsd.org>
5676Date: Fri Sep 13 04:36:43 2019 +0000
5677
5678 upstream: Plug mem leaks on error paths, based in part on github
5679
5680 pr#120 from David Carlier. ok djm@.
5681
5682 OpenBSD-Commit-ID: c57adeb1022a8148fc86e5a88837b3b156dbdb7e
5683
5684commit 2aefdf1aef906cf7548a2e5927d35aacb55948d4
5685Author: djm@openbsd.org <djm@openbsd.org>
5686Date: Fri Sep 13 04:31:19 2019 +0000
5687
5688 upstream: whitespace
5689
5690 OpenBSD-Commit-ID: 57a71dd5f4cae8d61e0ac631a862589fb2bfd700
5691
5692commit fbe24b142915331ceb2a3a76be3dc5b6d204fddf
5693Author: djm@openbsd.org <djm@openbsd.org>
5694Date: Fri Sep 13 04:27:35 2019 +0000
5695
5696 upstream: allow %n to be expanded in ProxyCommand strings
5697
5698 From Zachary Harmany via github.com/openssh/openssh-portable/pull/118
5699 ok dtucker@
5700
5701 OpenBSD-Commit-ID: 7eebf1b7695f50c66d42053d352a4db9e8fb84b6
5702
5703commit 2ce1d11600e13bee0667d6b717ffcc18a057b821
5704Author: djm@openbsd.org <djm@openbsd.org>
5705Date: Fri Sep 13 04:07:42 2019 +0000
5706
5707 upstream: clarify that ConnectTimeout applies both to the TCP
5708
5709 connection and to the protocol handshake/KEX. From Jean-Charles Longuet via
5710 Github PR140
5711
5712 OpenBSD-Commit-ID: ce1766abc6da080f0d88c09c2c5585a32b2256bf
5713
5714commit df780114278f406ef7cb2278802a2660092fff09
5715Author: dtucker@openbsd.org <dtucker@openbsd.org>
5716Date: Mon Sep 9 02:31:19 2019 +0000
5717
5718 upstream: Fix potential truncation warning. ok deraadt.
5719
5720 OpenBSD-Commit-ID: d87b7e3a94ec935e8194e7fce41815e22804c3ff
5721
5722commit ec0e6243660bf2df30c620a6a0d83eded376c9c6
5723Author: Damien Miller <djm@mindrot.org>
5724Date: Fri Sep 13 13:14:39 2019 +1000
5725
5726 memleak of buffer in sshpam_query
5727
5728 coverity report via Ed Maste; ok dtucker@
5729
5730commit c17e4638e5592688264fc0349f61bfc7b4425aa5
5731Author: Damien Miller <djm@mindrot.org>
5732Date: Fri Sep 13 13:12:42 2019 +1000
5733
5734 explicitly test set[ug]id() return values
5735
5736 Legacy !_POSIX_SAVED_IDS path only; coverity report via Ed Maste
5737 ok dtucker@
5738
5739commit 91a2135f32acdd6378476c5bae475a6e7811a6a2
5740Author: naddy@openbsd.org <naddy@openbsd.org>
5741Date: Fri Sep 6 14:45:34 2019 +0000
5742
5743 upstream: Allow prepending a list of algorithms to the default set
5744
5745 by starting the list with the '^' character, e.g.
5746
5747 HostKeyAlgorithms ^ssh-ed25519
5748 Ciphers ^aes128-gcm@openssh.com,aes256-gcm@openssh.com
5749
5750 ok djm@ dtucker@
5751
5752 OpenBSD-Commit-ID: 1e1996fac0dc8a4b0d0ff58395135848287f6f97
5753
5754commit c8bdd2db77ac2369d5cdee237656f266c8f41552
5755Author: djm@openbsd.org <djm@openbsd.org>
5756Date: Fri Sep 6 07:53:40 2019 +0000
5757
5758 upstream: key conversion should fail for !openssl builds, not fall
5759
5760 through to the key generation code
5761
5762 OpenBSD-Commit-ID: b957436adc43c4941e61d61958a193a708bc83c9
5763
5764commit 823f6c37eb2d8191d45539f7b6fa877a4cb4ed3d
5765Author: djm@openbsd.org <djm@openbsd.org>
5766Date: Fri Sep 6 06:08:11 2019 +0000
5767
5768 upstream: typo in previous
5769
5770 OpenBSD-Commit-ID: 7c3b94110864771a6b80a0d8acaca34037c3c96e
5771
5772commit 6a710d3e06fd375e2c2ae02546b9541c488a2cdb
5773Author: Damien Miller <djm@mindrot.org>
5774Date: Sun Sep 8 14:48:11 2019 +1000
5775
5776 needs time.h for --without-openssl
5777
5778commit f61f29afda6c71eda26effa54d3c2e5306fd0833
5779Author: Damien Miller <djm@mindrot.org>
5780Date: Sat Sep 7 19:25:00 2019 +1000
5781
5782 make unittests pass for no-openssl case
5783
5784commit 105e1c9218940eb53473f55a9177652d889ddbad
5785Author: djm@openbsd.org <djm@openbsd.org>
5786Date: Fri Sep 6 05:59:41 2019 +0000
5787
5788 upstream: avoid compiling certain files that deeply depend on
5789
5790 libcrypto when WITH_OPENSSL isn't set
5791
5792 OpenBSD-Commit-ID: 569f08445c27124ec7c7f6c0268d844ec56ac061
5793
5794commit 670104b923dd97b1c06c0659aef7c3e52af571b2
5795Author: djm@openbsd.org <djm@openbsd.org>
5796Date: Fri Sep 6 05:23:55 2019 +0000
5797
5798 upstream: fixes for !WITH_OPENSSL compilation; ok dtucker@
5799
5800 OpenBSD-Commit-ID: 7fd68eaa9e0f7482b5d4c7e8d740aed4770a839f
5801
5802commit be02d7cbde3d211ec2ed2320a1f7d86b2339d758
5803Author: djm@openbsd.org <djm@openbsd.org>
5804Date: Fri Sep 6 04:53:27 2019 +0000
5805
5806 upstream: lots of things were relying on libcrypto headers to
5807
5808 transitively include various system headers (mostly stdlib.h); include them
5809 explicitly
5810
5811 OpenBSD-Commit-ID: 5b522f4f2d844f78bf1cc4f3f4cc392e177b2080
5812
5813commit d05aaaaadcad592abfaa44540928e0c61ef72ebb
5814Author: djm@openbsd.org <djm@openbsd.org>
5815Date: Fri Sep 6 03:30:42 2019 +0000
5816
5817 upstream: remove leakmalloc reference; we used this early when
5818
5819 refactoring but not since
5820
5821 OpenBSD-Commit-ID: bb28ebda8f7c490b87b37954044a6cdd43a7eb2c
5822
5823commit 1268f0bcd8fc844ac6c27167888443c8350005eb
5824Author: dtucker@openbsd.org <dtucker@openbsd.org>
5825Date: Fri Sep 6 04:24:06 2019 +0000
5826
5827 upstream: Check for RSA support before using it for the user key,
5828
5829 otherwise use ed25519 which is supported when built without OpenSSL.
5830
5831 OpenBSD-Regress-ID: 3d23ddfe83c5062f00ac845d463f19a2ec78c0f7
5832
5833commit fd7a2dec652b9efc8e97f03f118f935dce732c60
5834Author: Darren Tucker <dtucker@dtucker.net>
5835Date: Fri Sep 6 14:07:10 2019 +1000
5836
5837 Provide explicit path to configure-check.
5838
5839 On some platforms (at least OpenBSD) make won't search VPATH for target
5840 files, so building out-of-tree will fail at configure-check. Provide
5841 explicit path. ok djm@
5842
5843commit 00865c29690003b4523cc09a0e104724b9f911a4
5844Author: djm@openbsd.org <djm@openbsd.org>
5845Date: Fri Sep 6 01:58:50 2019 +0000
5846
5847 upstream: better error code for bad arguments; inspired by
5848
5849 OpenBSD-Commit-ID: dfc263b6041de7f0ed921a1de0b81ddebfab1e0a
5850
5851commit afdf27f5aceb4973b9f5308f4310c6e3fd8db1fb
5852Author: Damien Miller <djm@mindrot.org>
5853Date: Thu Sep 5 21:38:40 2019 +1000
5854
5855 revert config.h/config.h.in freshness checks
5856
5857 turns out autoreconf and configure don't touch some files if their content
5858 doesn't change, so the mtime can't be relied upon in a makefile rule
5859
5860commit a97609e850c57bd2cc2fe7e175fc35cb865bc834
5861Author: Damien Miller <djm@mindrot.org>
5862Date: Thu Sep 5 20:54:39 2019 +1000
5863
5864 extend autoconf freshness test
5865
5866 make it cover config.h.in and config.h separately
5867
5868commit 182297c10edb21c4856c6a38326fd04d81de41a5
5869Author: Damien Miller <djm@mindrot.org>
5870Date: Thu Sep 5 20:34:54 2019 +1000
5871
5872 check that configure/config.h is up to date
5873
5874 Ensure they are newer than the configure.ac / aclocal.m4 source
5875
5876commit 7d6034bd020248e9fc0f8c39c71c858debd0d0c1
5877Author: djm@openbsd.org <djm@openbsd.org>
5878Date: Thu Sep 5 10:05:51 2019 +0000
5879
5880 upstream: if a PKCS#11 token returns no keys then try to login and
5881
5882 refetch them. Based on patch from Jakub Jelen; bz#2430 ok markus@
5883
5884 OpenBSD-Commit-ID: ab53bd6ddd54dd09e54a8bfbed1a984496f08b43
5885
5886commit 76f09bd95917862101b740afb19f4db5ccc752bf
5887Author: djm@openbsd.org <djm@openbsd.org>
5888Date: Thu Sep 5 09:35:19 2019 +0000
5889
5890 upstream: sprinkle in some explicit errors here, otherwise the
5891
5892 percolate all the way up to dispatch_run_fatal() and lose all meaninful
5893 context
5894
5895 to help with bz#3063; ok dtucker@
5896
5897 OpenBSD-Commit-ID: 5b2da83bb1c4a3471444b7910b2120ae36438a0a
5898
5899commit 0ea332497b2b2fc3995f72f6bafe9d664c0195b3
5900Author: djm@openbsd.org <djm@openbsd.org>
5901Date: Thu Sep 5 09:25:13 2019 +0000
5902
5903 upstream: only send ext_info for KEX_INITIAL; bz#2929 ok dtucker
5904
5905 OpenBSD-Commit-ID: 00f5c6062f6863769f5447c6346f78c05d2e4a63
5906
5907commit f23d91f9fa7f6f42e70404e000fac88aebfe3076
5908Author: jmc@openbsd.org <jmc@openbsd.org>
5909Date: Thu Sep 5 05:47:23 2019 +0000
5910
5911 upstream: macro fix; ok djm
5912
5913 OpenBSD-Commit-ID: e891dd6c7996114cb32f0924cb7898ab55efde6e
5914
5915commit 8b57337c1c1506df2bb9f039d0628a6de618566b
5916Author: Damien Miller <djm@mindrot.org>
5917Date: Thu Sep 5 15:46:39 2019 +1000
5918
5919 update fuzzing makefile to more recent clang
5920
5921commit ae631ad77daf8fd39723d15a687cd4b1482cbae8
5922Author: Damien Miller <djm@mindrot.org>
5923Date: Thu Sep 5 15:45:32 2019 +1000
5924
5925 fuzzer for sshsig allowed_signers option parsing
5926
5927commit 69159afe24120c97e5ebaf81016c85968afb903e
5928Author: djm@openbsd.org <djm@openbsd.org>
5929Date: Thu Sep 5 05:42:59 2019 +0000
5930
5931 upstream: memleak on error path; found by libfuzzer
5932
5933 OpenBSD-Commit-ID: 34d44cb0fb5bdb5fcbc6b02b804e71b20a7a5fc7
5934
5935commit bab6feb01f9924758ca7129dba708298a53dde5f
5936Author: djm@openbsd.org <djm@openbsd.org>
5937Date: Thu Sep 5 04:55:32 2019 +0000
5938
5939 upstream: expose allowed_signers options parsing code in header for
5940
5941 fuzzing
5942
5943 rename to make more consistent with philosophically-similar auth
5944 options parsing API.
5945
5946 OpenBSD-Commit-ID: 0c67600ef04187f98e2912ca57b60c22a8025b7c
5947
5948commit 4f9d75fbafde83d428e291516f8ce98e6b3a7c4b
5949Author: naddy@openbsd.org <naddy@openbsd.org>
5950Date: Wed Sep 4 20:31:15 2019 +0000
5951
5952 upstream: Call comma-separated lists as such to clarify semantics.
5953
5954 Options such as Ciphers take values that may be a list of ciphers; the
5955 complete list, not indiviual elements, may be prefixed with a dash or plus
5956 character to remove from or append to the default list, respectively.
5957
5958 Users might read the current text as if each elment took an optional prefix,
5959 so tweak the wording from "values" to "list" to prevent such ambiguity for
5960 all options supporting these semantics.
5961
5962 Fix instances missed in first commit. ok jmc@ kn@
5963
5964 OpenBSD-Commit-ID: 7112522430a54fb9f15a7a26d26190ed84d5e417
5965
5966commit db1e6f60f03641b2d17e0ab062242609f4ed4598
5967Author: jmc@openbsd.org <jmc@openbsd.org>
5968Date: Wed Sep 4 05:56:54 2019 +0000
5969
5970 upstream: tweak previous;
5971
5972 OpenBSD-Commit-ID: 0abd728aef6b5b35f6db43176aa83b7e3bf3ce27
5973
5974commit 0f44e5956c7c816f6600f2a47be4d7bb5a8d711d
5975Author: naddy@openbsd.org <naddy@openbsd.org>
5976Date: Tue Sep 3 20:51:49 2019 +0000
5977
5978 upstream: repair typo and editing mishap
5979
5980 OpenBSD-Commit-ID: d125ab720ca71ccf9baf83e08ddc8c12a328597e
5981
5982commit f4846dfc6a79f84bbc6356ae3184f142bacedc24
5983Author: Damien Miller <djm@mindrot.org>
5984Date: Thu Sep 5 11:09:28 2019 +1000
5985
5986 Fuzzer harness for sshsig
5987
5988commit b08a6bc1cc7750c6f8a425d1cdbd86552fffc637
5989Author: Damien Miller <djm@mindrot.org>
5990Date: Tue Sep 3 18:45:42 2019 +1000
5991
5992 oops; missed including the actual file
5993
5994commit 1a72c0dd89f09754df443c9576dde624a17d7dd0
5995Author: Damien Miller <djm@mindrot.org>
5996Date: Tue Sep 3 18:44:10 2019 +1000
5997
5998 portability fixes for sshsig
5999
6000commit 6d6427d01304d967e58544cf1c71d2b4394c0522
6001Author: djm@openbsd.org <djm@openbsd.org>
6002Date: Tue Sep 3 08:37:45 2019 +0000
6003
6004 upstream: regress test for sshsig; feedback and ok markus@
6005
6006 OpenBSD-Regress-ID: 74c0974f2cdae8d9599b9d76a09680bae55d8a8b
6007
6008commit 59650f0eaf65115afe04c39abfb93a4fc994ec55
6009Author: djm@openbsd.org <djm@openbsd.org>
6010Date: Tue Sep 3 08:37:06 2019 +0000
6011
6012 upstream: only add plain keys to prevent any certs laying around
6013
6014 from confusing the test.
6015
6016 OpenBSD-Regress-ID: b8f1508f822bc560b98dea910e61ecd76f34100f
6017
6018commit d637c4aee6f9b5280c13c020d7653444ac1fcaa5
6019Author: djm@openbsd.org <djm@openbsd.org>
6020Date: Tue Sep 3 08:35:27 2019 +0000
6021
6022 upstream: sshsig tweaks and improvements from and suggested by
6023
6024 Markus
6025
6026 ok markus/me
6027
6028 OpenBSD-Commit-ID: ea4f46ad5a16b27af96e08c4877423918c4253e9
6029
6030commit 2a9c9f7272c1e8665155118fe6536bebdafb6166
6031Author: djm@openbsd.org <djm@openbsd.org>
6032Date: Tue Sep 3 08:34:19 2019 +0000
6033
6034 upstream: sshsig: lightweight signature and verification ability
6035
6036 for OpenSSH
6037
6038 This adds a simple manual signature scheme to OpenSSH.
6039 Signatures can be made and verified using ssh-keygen -Y sign|verify
6040
6041 Signatures embed the key used to make them. At verification time, this
6042 is matched via principal name against an authorized_keys-like list
6043 of allowed signers.
6044
6045 Mostly by Sebastian Kinne w/ some tweaks by me
6046
6047 ok markus@
6048
6049 OpenBSD-Commit-ID: 2ab568e7114c933346616392579d72be65a4b8fb
6050
6051commit 5485f8d50a5bc46aeed829075ebf5d9c617027ea
6052Author: djm@openbsd.org <djm@openbsd.org>
6053Date: Tue Sep 3 08:32:11 2019 +0000
6054
6055 upstream: move authorized_keys option parsing helpsers to misc.c
6056
6057 and make them public; ok markus@
6058
6059 OpenBSD-Commit-ID: c18bcb2a687227b3478377c981c2d56af2638ea2
6060
6061commit f8df0413f0a057b6a3d3dd7bd8bc7c5d80911d3a
6062Author: djm@openbsd.org <djm@openbsd.org>
6063Date: Tue Sep 3 08:31:20 2019 +0000
6064
6065 upstream: make get_sigtype public as sshkey_get_sigtype(); ok
6066
6067 markus@
6068
6069 OpenBSD-Commit-ID: 01f8cdbec63350490d2249f41112c5780d1cfbb8
6070
6071commit dd8002fbe63d903ffea5be7b7f5fc2714acab4a0
6072Author: djm@openbsd.org <djm@openbsd.org>
6073Date: Tue Sep 3 08:30:47 2019 +0000
6074
6075 upstream: move advance_past_options to authfile.c and make it
6076
6077 public; ok markus@
6078
6079 OpenBSD-Commit-ID: edda2fbba2c5b1f48e60f857a2010479e80c5f3c
6080
6081commit c72d78ccbe642e08591a626e5de18381489716e0
6082Author: djm@openbsd.org <djm@openbsd.org>
6083Date: Tue Sep 3 08:29:58 2019 +0000
6084
6085 upstream: move skip_space() to misc.c and make it public; ok
6086
6087 markus@
6088
6089 OpenBSD-Commit-ID: caa77e8a3b210948e29ad3e28c5db00852961eae
6090
6091commit 06af3583f46e2c327fdd44d8a95b8b4e8dfd8db5
6092Author: djm@openbsd.org <djm@openbsd.org>
6093Date: Tue Sep 3 08:29:15 2019 +0000
6094
6095 upstream: authfd: add function to check if key is in agent
6096
6097 This commit adds a helper function which allows the caller to
6098 check if a given public key is present in ssh-agent.
6099
6100 work by Sebastian Kinne; ok markus@
6101
6102 OpenBSD-Commit-ID: d43c5826353e1fdc1af71eb42961b30782c7bd13
6103
6104commit 2ab5a8464870cc4b29ddbe849bbbc255729437bf
6105Author: djm@openbsd.org <djm@openbsd.org>
6106Date: Tue Sep 3 08:28:30 2019 +0000
6107
6108 upstream: fix memleak in ssh_free_identitylist(); ok markus@
6109
6110 OpenBSD-Commit-ID: aa51f77ae2c5330a1f61b2d22933f24a443f9abf
6111
6112commit 85443f165b4169b2a448b3e24bc1d4dc5b3156a4
6113Author: djm@openbsd.org <djm@openbsd.org>
6114Date: Tue Sep 3 08:27:52 2019 +0000
6115
6116 upstream: factor out confirm_overwrite(); ok markus@
6117
6118 OpenBSD-Commit-ID: 304e95381b39c774c8fced7e5328b106a3ff0400
6119
6120commit 9a396e33685633581c67d5ad9664570ef95281f2
6121Author: djm@openbsd.org <djm@openbsd.org>
6122Date: Mon Sep 2 23:46:46 2019 +0000
6123
6124 upstream: constify an argument
6125
6126 OpenBSD-Commit-ID: 724bafc9f993746ad4303e95bede2c030de6233b
6127
6128commit b52c0c2e64988277a35a955a474d944967059aeb
6129Author: djm@openbsd.org <djm@openbsd.org>
6130Date: Mon Sep 2 00:19:25 2019 +0000
6131
6132 upstream: downgrade PKCS#11 "provider returned no slots" warning
6133
6134 from log level error to debug. This is common when attempting to enumerate
6135 keys on smartcard readers with no cards plugged in. bz#3058 ok dtucker@
6136
6137 OpenBSD-Commit-ID: bb8839ddeb77c271390488af1b771041d43e49c6
6138
6139commit 0713322e18162463c5ab5ddfb9f935055ca775d8
6140Author: djm@openbsd.org <djm@openbsd.org>
6141Date: Sun Sep 1 23:47:32 2019 +0000
6142
6143 upstream: print comment when printing pubkey from private
6144
6145 bz#3052; ok dtucker
6146
6147 OpenBSD-Commit-ID: a91b2a8d5f1053d34d7fce44523c53fb534ba914
6148
6149commit 368f1cc2fbd6ad10c66bc1b67c2c04aebf8a04a8
6150Author: Damien Miller <djm@mindrot.org>
6151Date: Mon Sep 2 10:28:42 2019 +1000
6152
6153 fixed test in OSX closefrom() replacement
6154
6155 from likan_999.student AT sina.com
6156
6157commit 6b7c53498def19a14dd9587bf521ab6dbee8988f
6158Author: Damien Miller <djm@mindrot.org>
6159Date: Mon Sep 2 10:22:02 2019 +1000
6160
6161 retain Solaris PRIV_FILE_LINK_ANY in sftp-server
6162
6163 Dropping this privilege removes the ability to create hard links to
6164 files owned by other users. This is required for the legacy sftp rename
6165 operation.
6166
6167 bz#3036; approach ok Alex Wilson (the original author of the Solaris
6168 sandbox/pledge replacement code)
6169
6170commit e50f808712393e86d69e42e9847cdf8d473412d7
6171Author: dtucker@openbsd.org <dtucker@openbsd.org>
6172Date: Fri Aug 30 05:08:28 2019 +0000
6173
6174 upstream: Use ed25519 for most hostkey rotation tests since it's
6175
6176 supported even when built without OpenSSL. Use RSA for the secondary type
6177 test if supported, otherwise skip it. Fixes this test for !OpenSSL builds.
6178
6179 OpenBSD-Regress-ID: 101cb34a84fd974c623bdb2e496f25a6e91be109
6180
6181commit 5e4796c47dd8d6c38fb2ff0b3e817525fed6040d
6182Author: bluhm@openbsd.org <bluhm@openbsd.org>
6183Date: Thu Aug 22 21:47:27 2019 +0000
6184
6185 upstream: Test did not compile due to missing symbols. Add source
6186
6187 sshbuf-misc.c to regress as it was done in ssh make file. from Moritz Buhl
6188
6189 OpenBSD-Regress-ID: 9e1c23476bb845f3cf3d15d9032da3ed0cb2fcf5
6190
6191commit e0e7e3d0e26f2c30697e6d0cfc293414908963c7
6192Author: Damien Miller <djm@mindrot.org>
6193Date: Fri Aug 30 14:26:19 2019 +1000
6194
6195 tweak warning flags
6196
6197 Enable -Wextra if compiler supports it
6198
6199 Set -Wno-error=format-truncation if available to prevent expected
6200 string truncations in openbsd-compat from breaking -Werror builds
6201
6202commit 28744182cf90e0073b76a9e98de58a47e688b2c4
6203Author: Damien Miller <djm@mindrot.org>
6204Date: Fri Aug 30 13:21:38 2019 +1000
6205
6206 proc_pidinfo()-based closefrom() for OS X
6207
6208 Refactor closefrom() to use a single brute-force close() loop fallback.
6209
6210 Based on patch from likan_999.student@sina.com in bz#3049. ok dtucker@
6211
6212commit dc2ca588144f088a54febebfde3414568dc73d5f
6213Author: kn@openbsd.org <kn@openbsd.org>
6214Date: Fri Aug 16 11:16:32 2019 +0000
6215
6216 upstream: Call comma-separated lists as such to clarify semantics
6217
6218 Options such as Ciphers take values that may be a list of ciphers; the
6219 complete list, not indiviual elements, may be prefixed with a dash or plus
6220 character to remove from or append to the default list respectively.
6221
6222 Users might read the current text as if each elment took an optional prefix,
6223 so tweak the wording from "values" to "list" to prevent such ambiguity for
6224 all options supporting this semantics (those that provide a list of
6225 available elements via "ssh -Q ...").
6226
6227 Input and OK jmc
6228
6229 OpenBSD-Commit-ID: 4fdd175b0e5f5cb10ab3f26ccc38a93bb6515d57
6230
6231commit c4736f39e66729ce2bf5b06ee6b391e092b48f47
6232Author: djm@openbsd.org <djm@openbsd.org>
6233Date: Fri Aug 16 06:35:27 2019 +0000
6234
6235 upstream: include sshbuf-misc.c in SRCS_BASE
6236
6237 OpenBSD-Commit-ID: 99dd10e72c04e93849981d43d64c946619efa474
6238
6239commit d0e51810f332fe44ebdba41113aacf319d35f5a5
6240Author: Darren Tucker <dtucker@dtucker.net>
6241Date: Sat Aug 24 15:12:11 2019 +1000
6242
6243 Fix pasto in fallback code.
6244
6245 There is no parameter called "pathname", it should simply be "path".
6246 bz#3059, patch from samuel at cendio.se.
6247
6248commit e83c989bfd9fc9838b7dfb711d1dc6da81814045
6249Author: Damien Miller <djm@mindrot.org>
6250Date: Fri Aug 23 10:19:30 2019 +1000
6251
6252 use SC_ALLOW_ARG_MASK to limit mmap protections
6253
6254 Restrict to PROT_(READ|WRITE|NONE), i.e. exclude PROT_EXEC
6255
6256commit f6906f9bf12c968debec3671bbf19926ff8a235b
6257Author: Damien Miller <djm@mindrot.org>
6258Date: Fri Aug 23 10:08:48 2019 +1000
6259
6260 allow mprotect(2) with PROT_(READ|WRITE|NONE) only
6261
6262 Used by some hardened heap allocators. Requested by Yegor
6263 Timoshenko in https://github.com/openssh/openssh-portable/pull/142
6264
6265commit e3b6c966b79c3ea5d51b923c3bbdc41e13b96ea0
6266Author: djm@openbsd.org <djm@openbsd.org>
6267Date: Fri Aug 16 06:13:15 2019 +0000
6268
6269 upstream: switch percent_expand() to use sshbuf instead of a limited
6270
6271 fixed buffer; ok markus@
6272
6273 OpenBSD-Commit-ID: 3f9ef20bca5ef5058b48c1cac67c53b9a1d15711
6274
6275commit 9ab5b9474779ac4f581d402ae397f871ed16b383
6276Author: djm@openbsd.org <djm@openbsd.org>
6277Date: Fri Aug 9 05:05:54 2019 +0000
6278
6279 upstream: produce a useful error message if the user's shell is set
6280
6281 incorrectly during "match exec" processing. bz#2791 reported by Dario
6282 Bertini; ok dtucker
6283
6284 OpenBSD-Commit-ID: cf9eddd6a6be726cb73bd9c3936f3888cd85c03d
6285
6286commit 8fdbc7247f432578abaaca1b72a0dbf5058d67e5
6287Author: dtucker@openbsd.org <dtucker@openbsd.org>
6288Date: Fri Aug 9 04:24:03 2019 +0000
6289
6290 upstream: Change description of TCPKeepAlive from "inactive" to
6291
6292 "unresponsive" to clarify what it checks for. Patch from jblaine at
6293 kickflop.net via github pr#129, ok djm@.
6294
6295 OpenBSD-Commit-ID: 3682f8ec7227f5697945daa25d11ce2d933899e9
6296
6297commit 7afc45c3ed72672690014dc432edc223b23ae288
6298Author: dtucker@openbsd.org <dtucker@openbsd.org>
6299Date: Thu Aug 8 08:02:57 2019 +0000
6300
6301 upstream: Allow the maximimum uint32 value for the argument passed to
6302
6303 -b which allows better error messages from later validation. bz#3050, ok
6304 djm@
6305
6306 OpenBSD-Commit-ID: 10adf6876b2401b3dc02da580ebf67af05861673
6307
6308commit c31e4f5fb3915c040061981a67224de7650ab34b
6309Author: naddy@openbsd.org <naddy@openbsd.org>
6310Date: Mon Aug 5 21:45:27 2019 +0000
6311
6312 upstream: Many key types are supported now, so take care to check
6313
6314 the size restrictions and apply the default size only to the matching key
6315 type. tweak and ok dtucker@
6316
6317 OpenBSD-Commit-ID: b825de92d79cc4cba19b298c61e99909488ff57e
6318
6319commit 6b39a7b49ebacec4e70e24bfc8ea2f11057aac22
6320Author: dtucker@openbsd.org <dtucker@openbsd.org>
6321Date: Mon Aug 5 11:50:33 2019 +0000
6322
6323 upstream: Remove now-redundant perm_ok arg since
6324
6325 sshkey_load_private_type will now return SSH_ERR_KEY_BAD_PERMISSIONS in that
6326 case. Patch from jitendra.sharma at intel.com, ok djm@
6327
6328 OpenBSD-Commit-ID: 07916a17ed0a252591b71e7fb4be2599cb5b0c77
6329
6330commit d46075b923bf25e6f25959a3f5b458852161cb3e
6331Author: Darren Tucker <dtucker@dtucker.net>
6332Date: Mon Aug 5 21:36:48 2019 +1000
6333
6334 Fix mem leak in unit test.
6335
6336 Patch from jitendra.sharma at intel.com.
6337
6338commit c4ffb72593c08921cf9291bc05a5ef1d0aaa6891
6339Author: djm@openbsd.org <djm@openbsd.org>
6340Date: Fri Aug 2 01:41:24 2019 +0000
6341
6342 upstream: fix some memleaks in test_helper code
6343
6344 bz#3037 from Jitendra Sharma
6345
6346 OpenBSD-Regress-ID: 71440fa9186f5842a65ce9a27159385c6cb6f751
6347
6348commit 6e76e69dc0c7712e9ac599af34bd091b0e7dcdb5
6349Author: djm@openbsd.org <djm@openbsd.org>
6350Date: Fri Aug 2 01:23:19 2019 +0000
6351
6352 upstream: typo; from Christian Hesse
6353
6354 OpenBSD-Commit-ID: 82f6de7438ea7ee5a14f44fdf5058ed57688fdc3
6355
6356commit 49fa065a1bfaeb88a59abdfa4432d3b9c35b0655
6357Author: djm@openbsd.org <djm@openbsd.org>
6358Date: Tue Jul 30 05:04:49 2019 +0000
6359
6360 upstream: let sshbuf_find/cmp take a void* for the
6361
6362 search/comparison argument, instead of a u_char*. Saves callers needing to
6363 cast.
6364
6365 OpenBSD-Commit-ID: d63b69b7c5dd570963e682f758f5a47b825605ed
6366
6367commit 7adf6c430d6fc17901e167bc0789d31638f5c2f8
6368Author: mestre@openbsd.org <mestre@openbsd.org>
6369Date: Wed Jul 24 08:57:00 2019 +0000
6370
6371 upstream: When using a combination of a Yubikey+GnuPG+remote
6372
6373 forwarding the gpg-agent (and options ControlMaster+RemoteForward in
6374 ssh_config(5)) then the codepath taken will call mux_client_request_session
6375 -> mm_send_fd -> sendmsg(2). Since sendmsg(2) is not allowed in that codepath
6376 then pledge(2) kills the process.
6377
6378 The solution is to add "sendfd" to pledge(2), which is not too bad considering
6379 a little bit later we reduce pledge(2) to only "stdio proc tty" in that
6380 codepath.
6381
6382 Problem reported and diff provided by Timothy Brown <tbrown at freeshell.org>
6383
6384 OK deraadt@
6385
6386 OpenBSD-Commit-ID: 7ce38b6542bbec00e441595d0a178e970a9472ac
6387
6388commit 0e2fe18acc1da853a9120c2e9af68e8d05e6503e
6389Author: dtucker@openbsd.org <dtucker@openbsd.org>
6390Date: Tue Jul 23 23:06:57 2019 +0000
6391
6392 upstream: Fix typo in CASignatureAlgorithms wherein what should be
6393
6394 a comma is a dot. Patch from hnj2 via github pr#141.
6395
6396 OpenBSD-Commit-ID: 01f5a460438ff1af09aab483c0a70065309445f0
6397
6398commit e93ffd1a19fc47c49d68ae2fb332433690ecd389
6399Author: Darren Tucker <dtucker@dtucker.net>
6400Date: Mon Jul 29 16:04:01 2019 +1000
6401
6402 Report success of individual tests as well as all.
6403
6404 This puts the "all tests passed" message back at the end where the
6405 test harnesses can find it.
6406
6407commit 2ad5b36b18bddf2965fe60384c29b3f1d451b4ed
6408Author: Damien Miller <djm@mindrot.org>
6409Date: Mon Jul 29 09:49:23 2019 +1000
6410
6411 convert to UTF-8; from Mike Frysinger
6412
6413commit d31e7c937ba0b97534f373cf5dea34675bcec602
6414Author: dtucker@openbsd.org <dtucker@openbsd.org>
6415Date: Fri Jul 26 04:22:21 2019 +0000
6416
6417 upstream: Restrict limit-keytype to types supported by build. This
6418
6419 means we have to skip a couple tests when only one key type is supported.
6420
6421 OpenBSD-Regress-ID: 22d05befb9c7ce21ce8dc22acf1ffe9e2ef2e95e
6422
6423commit 0967a233b8a28907ae8a4a6773c89f21d2ace11b
6424Author: Darren Tucker <dtucker@dtucker.net>
6425Date: Thu Jul 25 18:36:28 2019 +1000
6426
6427 Remove override disabling DH-GEX.
6428
6429 The DH-GEX override doesn't work when build without OpenSSL, and
6430 we'll prefer curve25519 these days, removing the need for it.
6431
6432commit 061407efc19b41ab4a7485e5adcff2a12befacdb
6433Author: dtucker@openbsd.org <dtucker@openbsd.org>
6434Date: Thu Jul 25 09:17:35 2019 +0000
6435
6436 upstream: Only use supported key types during KRL test, preferring
6437
6438 ed25519 since it's supported by both OpenSSL and non-OpenSSL builds.
6439
6440 OpenBSD-Regress-ID: 9f2bb3eadd50fcc8245b1bd8fd6f0e53602f71aa
6441
6442commit 47f8ff1fa5b76790c1d785815fd13ee6009f8012
6443Author: dtucker@openbsd.org <dtucker@openbsd.org>
6444Date: Thu Jul 25 08:48:11 2019 +0000
6445
6446 upstream: Switch keys-command test from rsa to ed25519 since it's
6447
6448 supported for both OpenSSL and non-OpenSSL builds.
6449
6450 OpenBSD-Regress-ID: 174be4be876edd493e4a5c851e5bc579885e7a0a
6451
6452commit 1e94afdfa8df774ab7dd3bad52912b636dc31bbd
6453Author: dtucker@openbsd.org <dtucker@openbsd.org>
6454Date: Thu Jul 25 08:28:15 2019 +0000
6455
6456 upstream: Make certificate tests work with the supported key
6457
6458 algorithms. Allows tests to pass when built without OpenSSL.
6459
6460 OpenBSD-Regress-ID: 617169a6dd9d06db3697a449d9a26c284eca20fc
6461
6462commit 26bf693661a48b97b6023f702b2af643676ac21a
6463Author: dtucker@openbsd.org <dtucker@openbsd.org>
6464Date: Tue Jul 23 13:49:14 2019 +0000
6465
6466 upstream: Construct list of key types to test based on the types
6467
6468 supported by the binaries.
6469
6470 OpenBSD-Regress-ID: fcbd115efacec8ab0ecbdb3faef79ac696cb1d62
6471
6472commit 773c55b3d1230e8f7714a1b33873c37b85049c74
6473Author: dtucker@openbsd.org <dtucker@openbsd.org>
6474Date: Tue Jul 23 13:32:48 2019 +0000
6475
6476 upstream: Only use DSA key type in tests if binaries support it.
6477
6478 OpenBSD-Regress-ID: 770e31fe61dc33ed8eea9c04ce839b33ddb4dc96
6479
6480commit 159e987a54d92ccd73875e7581ffc64e8927a715
6481Author: Darren Tucker <dtucker@dtucker.net>
6482Date: Wed Jul 24 14:21:19 2019 +1000
6483
6484 Split test targets further.
6485
6486 Splits test into file-tests, t-exec, unit and interop-tests and their
6487 respective dependencies. Should allow running any set individually
6488 without having to build the other dependencies that are not needed
6489 for that specific test.
6490
6491commit 520d4550a2470106d63e30079bb05ce82f3a4f7d
6492Author: Darren Tucker <dtucker@dtucker.net>
6493Date: Wed Jul 24 11:20:18 2019 +1000
6494
6495 Add lib dependencies for regress binary targets.
6496
6497commit 4e8d0dd78d5f6142841a07dc8b8c6b4730eaf587
6498Author: Darren Tucker <dtucker@dtucker.net>
6499Date: Wed Jul 24 00:12:51 2019 +1000
6500
6501 Make "unit" a dependency of "test".
6502
6503commit 4317b2a0480e293e58ba115e47b49d3a384b6568
6504Author: Darren Tucker <dtucker@dtucker.net>
6505Date: Tue Jul 23 23:24:47 2019 +1000
6506
6507 upstream rev 1.28: fix comment typo.
6508
6509commit e0055af2bd39fdb44566ff6594147664e1fac8b8
6510Author: Darren Tucker <dtucker@dtucker.net>
6511Date: Tue Jul 23 23:06:22 2019 +1000
6512
6513 Split regress-binaries into two targets.
6514
6515 Split the binaries for the unit tests out into a regress-unit-binaries
6516 target, and add a dependency on it for only the unit tests. This allows
6517 us to run the integration tests only ("make t-exec") without building
6518 the unit tests, which allows us to run a subset of the tests when
6519 building --without-openssl without trying (and failing) to build the
6520 unit tests.
6521
6522 This means there are two targets for "unit" which I *think* is valid
6523 (it works in testing, and makedepend will generate Makefiles of this
6524 form)a but I could be wrong.
6525
6526commit 7cdf9fdcf11aaaa98c2bd22c92882ea559e772ad
6527Author: dtucker@openbsd.org <dtucker@openbsd.org>
6528Date: Tue Jul 23 08:19:29 2019 +0000
6529
6530 upstream: Skip DH group generation test if binaries don't support
6531
6532 DH-GEX.
6533
6534 OpenBSD-Regress-ID: 7c918230d969ecf7656babd6191a74526bffbffd
6535
6536commit 3a3eab8bb0da3d2f0f32cb85a1a268bcca6e4d69
6537Author: dtucker@openbsd.org <dtucker@openbsd.org>
6538Date: Tue Jul 23 07:55:29 2019 +0000
6539
6540 upstream: Only test conversion of key types supported by the
6541
6542 binaries.
6543
6544 OpenBSD-Regress-ID: e3f0938a0a7407e2dfbb90abc3ec979ab6e8eeea
6545
6546commit 7e66b7d98c6e3f48a1918c3e1940c9b11b10ec63
6547Author: dtucker@openbsd.org <dtucker@openbsd.org>
6548Date: Tue Jul 23 07:39:43 2019 +0000
6549
6550 upstream: Only add ssh-dss to allowed key types if it's supported
6551
6552 by the binary.
6553
6554 OpenBSD-Regress-ID: 395a54cab16e9e4ece9aec047ab257954eebd413
6555
6556commit fd0684b319e664d8821dc4ca3026126dfea3ccf4
6557Author: Darren Tucker <dtucker@dtucker.net>
6558Date: Tue Jul 23 22:36:39 2019 +1000
6559
6560 Remove sys/cdefs.h include.
6561
6562 It's not needed on -portable (that's handled by includes.h) and not all
6563 platforms have it.
6564
6565commit 9634ffbf29b3c2493e69d10b37077b09a8cbf5ff
6566Author: Darren Tucker <dtucker@dtucker.net>
6567Date: Tue Jul 23 22:25:44 2019 +1000
6568
6569 Add headers to prevent warnings w/out OpenSSL.
6570
6571commit 2ea60312e1c08dea88982fec68244f89a40912ff
6572Author: Darren Tucker <dtucker@dtucker.net>
6573Date: Tue Jul 23 22:11:50 2019 +1000
6574
6575 Include stdlib.h for free() and calloc().
6576
6577commit 11cba2a4523fda447e2554ea457484655bedc831
6578Author: Darren Tucker <dtucker@dtucker.net>
6579Date: Tue Jul 23 21:51:22 2019 +1000
6580
6581 Re-apply portability changes to current sha2.{c,h}.
6582
6583 Rather than attempt to apply 14 years' worth of changes to OpenBSD's sha2
6584 I imported the current versions directly then re-applied the portability
6585 changes. This also allowed re-syncing digest-libc.c against upstream.
6586
6587commit 09159594a3bbd363429ee6fafde57ce77986dd7c
6588Author: Darren Tucker <dtucker@dtucker.net>
6589Date: Tue Jul 23 20:27:51 2019 +1000
6590
6591 Import current sha2.c and sha2.h from OpenBSD.
6592
6593 These are not changed from their original state, the next commit will
6594 re-apply the portable changes.
6595
6596commit 2e6035b900cc9d7432d95084e03993d1b426f812
6597Author: Darren Tucker <dtucker@dtucker.net>
6598Date: Tue Jul 23 08:11:22 2019 +1000
6599
6600 Rename valgrind "errors" to "failures".
6601
6602 When valgrind is enabled, test-exec.sh counts the number of invocations
6603 that valgrind detects failures in, not the total number of errors detected.
6604 This makes the name to be more accurate.
6605
6606commit e82c9bb9ffa65725cc2e03ea81cb79ce3387f66b
6607Author: Darren Tucker <dtucker@dtucker.net>
6608Date: Fri Jul 19 18:51:18 2019 +1000
6609
6610 Skip running sftp-chroot under Valgrind.
6611
6612commit 41e22c2e05cb950b704945ac9408f6109c9b7848
6613Author: dtucker@openbsd.org <dtucker@openbsd.org>
6614Date: Sat Jul 20 09:50:58 2019 +0000
6615
6616 upstream: Remove the sleeps and thus races from the forwarding
6617
6618 test. They were originally required to work with Protocol 1, but now we can
6619 use ssh -N and the control socket without the sleeps. While there, suppress
6620 output fro the control exit commands.
6621
6622 OpenBSD-Regress-ID: 4c51a1d651242f12c90074c18c61008a74c1c790
6623
6624commit 0423043c5e54293f4dd56041304fd0046c317be9
6625Author: dtucker@openbsd.org <dtucker@openbsd.org>
6626Date: Sat Jul 20 09:37:31 2019 +0000
6627
6628 upstream: Allow SLEEPTIME to be overridden.
6629
6630 OpenBSD-Regress-ID: 1596ab168729954be3d219933b2d01cc93687e76
6631
6632commit d466b6a5cfba17a83c7aae9f584ab164e2ece0a1
6633Author: dtucker@openbsd.org <dtucker@openbsd.org>
6634Date: Sat Jul 20 09:14:40 2019 +0000
6635
6636 upstream: Move sleep time into a variable so that we can increase
6637
6638 it for platforms or configurations that are much slower then usual.
6639
6640 OpenBSD-Regress-ID: 88586cabc800062c260d0b876bdcd4ca3f58a872
6641
6642commit b4a7c9d2b5f928e0b902b580d35dc8b244a3aae0
6643Author: djm@openbsd.org <djm@openbsd.org>
6644Date: Fri Jul 19 03:45:44 2019 +0000
6645
6646 upstream: add regression tests for scp for out-of-destination path file
6647
6648 creation by Harry Sintonen via Jakub Jelen in bz3007
6649
6650 OpenBSD-Regress-ID: 01ae5fbc6ce400b2df5a84dc3152a9e31f354c07
6651
6652commit bca0582063f148c7ddf409ec51435a5a726bee4c
6653Author: djm@openbsd.org <djm@openbsd.org>
6654Date: Fri Jul 19 03:38:01 2019 +0000
6655
6656 upstream: Accept the verbose flag when searching for host keys in known
6657
6658 hosts (i.e. "ssh-keygen -vF host") to print the matching host's random- art
6659 signature too. bz#3003 "amusing, pretty" deraadt@
6660
6661 OpenBSD-Commit-ID: 686221a5447d6507f40a2ffba5393984d889891f
6662
6663commit 5299a09fa2879a068af200c91028fcfa9283c0f0
6664Author: Darren Tucker <dtucker@dtucker.net>
6665Date: Fri Jul 19 13:50:25 2019 +1000
6666
6667 Revert one dependency per line change.
6668
6669 It turns out that having such a large number of lines in the .depend
6670 file will cause the memory usage of awk during AC_SUBST to blow up on at
6671 least NetBSD's awk, causing configure to fail.
6672
6673commit 01dddb231f23b4a7b616f9d33a0b9d937f9eaf0e
6674Author: Damien Miller <djm@mindrot.org>
6675Date: Fri Jul 19 13:19:19 2019 +1000
6676
6677 fix SIGWINCH delivery of Solaris for mux sessions
6678
6679 Remove PRIV_PROC_SESSION which was limiting ability to send SIGWINCH
6680 signals to other sessions. bz#3030; report and fix from Darren Moffat
6681
6682commit 05500af21d27c1a3ddac232b018cc23da7b1ee95
6683Author: Darren Tucker <dtucker@dtucker.net>
6684Date: Fri Jul 19 13:20:03 2019 +1000
6685
6686 Force dependencies one per line.
6687
6688 Force makedepend to output one dependency per line, which will make
6689 reading diffs against it much easier. ok djm@
6690
6691commit b5bc5d016bbb83eb7f8e685390044e78b1ea1427
6692Author: Darren Tucker <dtucker@dtucker.net>
6693Date: Fri Jul 19 13:18:07 2019 +1000
6694
6695 make depend.
6696
6697commit 65333f7454365fe40f7367630e7dd10903b9d99e
6698Author: Darren Tucker <dtucker@dtucker.net>
6699Date: Fri Jul 19 13:16:11 2019 +1000
6700
6701 Show when skipping valgrind for a test.
6702
6703commit fccb7eb3436da8ef3dcd22e5936ba1abc7ae6730
6704Author: Darren Tucker <dtucker@dtucker.net>
6705Date: Fri Jul 19 10:41:56 2019 +1000
6706
6707 Enable connect-privsep test with valgrind.
6708
6709 connect-privsep seems to work OK with valgrind now so don't skip
6710 valgrind on it.
6711
6712commit d7423017265c5ae6d0be39340feb6c9f016b1f71
6713Author: Darren Tucker <dtucker@dtucker.net>
6714Date: Fri Jul 19 07:43:07 2019 +1000
6715
6716 Show valgrind results and error counts.
6717
6718commit 22b9b3e944880db906c6ac5527c4228bd92b293a
6719Author: Darren Tucker <dtucker@dtucker.net>
6720Date: Thu Jul 18 13:40:12 2019 +1000
6721
6722 Fix format string integer type in error message.
6723
6724commit ed46a0c0705895834d3f47a46faa89c2a71b760a
6725Author: djm@openbsd.org <djm@openbsd.org>
6726Date: Thu Jul 18 13:26:00 2019 +0000
6727
6728 upstream: fix off-by-one in sshbuf_dtob64() base64 wrapping that could
6729
6730 cause extra newlines to be appended at the end of the base64 text (ugly, but
6731 harmless). Found and fixed by Sebastian Kinne
6732
6733 OpenBSD-Commit-ID: 9fe290bd68f706ed8f986a7704ca5a2bd32d7b68
6734
6735commit a192021fedead23c375077f92346336d531f8cad
6736Author: Darren Tucker <dtucker@dtucker.net>
6737Date: Thu Jul 18 11:09:38 2019 +1000
6738
6739 Fail tests if Valgrind enabled and reports errors.
6740
6741 Also dump the failing valgrind report to stdout (not the cleanest
6742 solution, but better than nothing).
6743
6744commit d1c491ecb939ee10b341fa7bb6205dff19d297e5
6745Author: Darren Tucker <dtucker@dtucker.net>
6746Date: Thu Jul 18 10:17:54 2019 +1000
6747
6748 Allow low-priv tests to write to pipe dir.
6749
6750 When running regression tests with Valgrind and SUDO, the low-priv agent
6751 tests need to be able to create pipes in the appropriate directory.
6752
6753commit 8a5bb3e78191cc206f970c26d2a26c949971e91a
6754Author: Darren Tucker <dtucker@dtucker.net>
6755Date: Wed Jul 17 21:24:55 2019 +1000
6756
6757 Put valgrind vgdb files to a specific directory.
6758
6759 Valgrind by default puts vgdb files and pipes under /tmp, however it
6760 is not always able to clean them up, which can cause test failures when
6761 there's a pid/file collision. Using a specific directory ensures that
6762 we can clean up and start clean.
6763
6764commit f8829fe57fb0479d6103cfe1190095da3c032c6d
6765Author: djm@openbsd.org <djm@openbsd.org>
6766Date: Tue Jul 16 22:16:49 2019 +0000
6767
6768 upstream: adapt to sshbuf_dtob64() change
6769
6770 OpenBSD-Regress-ID: 82374a83edf0955fd1477169eee3f5d6467405a6
6771
6772commit 1254fcbb2f005f745f2265016ee9fa52e16d37b0
6773Author: dtucker@openbsd.org <dtucker@openbsd.org>
6774Date: Tue Jul 16 03:21:54 2019 +0000
6775
6776 upstream: Remove ssh1 files from CLEANFILES since ssh1 no longer
6777
6778 supported.
6779
6780 OpenBSD-Regress-ID: 5b9ae869dc669bac05939b4a2fdf44ee067acfa0
6781
6782commit 9dc81a5adabc9a7d611ed2e63fbf4c85d43b15c6
6783Author: dtucker@openbsd.org <dtucker@openbsd.org>
6784Date: Tue Jul 16 02:09:29 2019 +0000
6785
6786 upstream: Update names of host key files in CLEANFILES to match
6787
6788 recent changes to the tests.
6789
6790 OpenBSD-Regress-ID: 28743052de3acf70b06f18333561497cd47c4ecf
6791
6792commit e44e4ad1190db22ed407a79f32a8cff5bcd2b815
6793Author: Damien Miller <djm@mindrot.org>
6794Date: Tue Jul 16 23:26:53 2019 +1000
6795
6796 depend
6797
6798commit 16dd8b2c78a0de106c7429e2a294d203f6bda3c7
6799Author: djm@openbsd.org <djm@openbsd.org>
6800Date: Tue Jul 16 13:18:39 2019 +0000
6801
6802 upstream: remove mostly vestigal uuencode.[ch]; moving the only unique
6803
6804 functionality there (wrapping of base64-encoded data) to sshbuf functions;
6805 feedback and ok markus@
6806
6807 OpenBSD-Commit-ID: 4dba6735d88c57232f6fccec8a08bdcfea44ac4c
6808
6809commit 45478898f9590b5cc8bc7104e573b84be67443b0
6810Author: Darren Tucker <dtucker@dtucker.net>
6811Date: Tue Jul 16 09:20:23 2019 +1000
6812
6813 Hook memmem compat code into build.
6814
6815 This fixes builds on platforms that don't have it (at least old DragonFly,
6816 probably others).
6817
6818commit c7bd4617293a903bd3fac3394a7e72d439af49a5
6819Author: Darren Tucker <dtucker@dtucker.net>
6820Date: Tue Jul 16 09:07:18 2019 +1000
6821
6822 Import memmem.c from OpenBSD.
6823
6824commit 477e2a3be8b10df76e8d76f0427b043280d73d68
6825Author: djm@openbsd.org <djm@openbsd.org>
6826Date: Mon Jul 15 13:12:02 2019 +0000
6827
6828 upstream: unit tests for sshbuf_cmp() and sshbuf_find(); ok markus
6829
6830 OpenBSD-Regress-ID: b52d36bc3ab6dc158c1e59a9a4735f821cf9e1fd
6831
6832commit eb0d8e708a1f958aecd2d6e2ff2450af488d4c2a
6833Author: djm@openbsd.org <djm@openbsd.org>
6834Date: Mon Jul 15 13:16:29 2019 +0000
6835
6836 upstream: support PKCS8 as an optional format for storage of
6837
6838 private keys, enabled via "ssh-keygen -m PKCS8" on operations that save
6839 private keys to disk.
6840
6841 The OpenSSH native key format remains the default, but PKCS8 is a
6842 superior format to PEM if interoperability with non-OpenSSH software
6843 is required, as it may use a less terrible KDF (IIRC PEM uses a single
6844 round of MD5 as a KDF).
6845
6846 adapted from patch by Jakub Jelen via bz3013; ok markus
6847
6848 OpenBSD-Commit-ID: 027824e3bc0b1c243dc5188504526d73a55accb1
6849
6850commit e18a27eedccb024acb3cd9820b650a5dff323f01
6851Author: djm@openbsd.org <djm@openbsd.org>
6852Date: Mon Jul 15 13:11:38 2019 +0000
6853
6854 upstream: two more bounds-checking sshbuf counterparts to common
6855
6856 string operations: sshbuf_cmp() (bcmp-like) and sshbuf_find() (memmem like)
6857
6858 feedback and ok markus@
6859
6860 OpenBSD-Commit-ID: fd071ec2485c7198074a168ff363a0d6052a706a
6861
6862commit bc551dfebb55845537b1095cf3ccd01640a147b7
6863Author: Darren Tucker <dtucker@dtucker.net>
6864Date: Mon Jul 15 12:52:45 2019 +1000
6865
6866 Clear valgrind-out dir to prevent collisions.
6867
6868commit 5db9ba718e983661a9114ae1418f6e412d1f52d5
6869Author: Darren Tucker <dtucker@dtucker.net>
6870Date: Mon Jul 15 12:02:27 2019 +1000
6871
6872 Allow agent tests to write to valgrind dir.
6873
6874commit 121e48fa5305f41f0477d9908e3d862987a68a84
6875Author: djm@openbsd.org <djm@openbsd.org>
6876Date: Sun Jul 14 23:33:19 2019 +0000
6877
6878 upstream: unit tests for sshbuf_peek/poke bounds-checked random access
6879
6880 functions. ok markus@
6881
6882 OpenBSD-Regress-ID: 034c4284b1da6b12e25c762a6b958efacdafbaef
6883
6884commit 101d164723ffbc38f8036b6f3ea3bfef771ba250
6885Author: djm@openbsd.org <djm@openbsd.org>
6886Date: Sun Jul 14 23:32:27 2019 +0000
6887
6888 upstream: add some functions to perform random-access read/write
6889
6890 operations inside buffers with bounds checking. Intended to replace manual
6891 pointer arithmetic wherever possible.
6892
6893 feedback and ok markus@
6894
6895 OpenBSD-Commit-ID: 91771fde7732738f1ffed078aa5d3bee6d198409
6896
6897commit 7250879c72d28275a53f2f220e49646c3e42ef18
6898Author: djm@openbsd.org <djm@openbsd.org>
6899Date: Fri Jul 12 04:08:39 2019 +0000
6900
6901 upstream: include SHA2-variant RSA key algorithms in KEX proposal;
6902
6903 allows ssh-keyscan to harvest keys from servers that disable olde SHA1
6904 ssh-rsa. bz#3029 from Jakub Jelen
6905
6906 OpenBSD-Commit-ID: 9f95ebf76a150c2f727ca4780fb2599d50bbab7a
6907
6908commit a0876bd994cab9ba6e47ba2a163a4417c7597487
6909Author: djm@openbsd.org <djm@openbsd.org>
6910Date: Fri Jul 12 03:56:21 2019 +0000
6911
6912 upstream: print explicit "not modified" message if a file was
6913
6914 requested for resumed download but was considered already complete.
6915
6916 bz#2978 ok dtucker
6917
6918 OpenBSD-Commit-ID: f32084b26a662f16215ee4ca4a403d67e49ab986
6919
6920commit b9b0f2ac9625933db53a35b1c1ce423876630558
6921Author: tb@openbsd.org <tb@openbsd.org>
6922Date: Wed Jul 10 07:04:27 2019 +0000
6923
6924 upstream: Fix a typo and make <esc><right> move right to the
6925
6926 closest end of a word just like <esc><left> moves left to the closest
6927 beginning of a word.
6928
6929 ok djm
6930
6931 OpenBSD-Commit-ID: 6afe01b05ed52d8b12eb1fda6e9af5afb5e198ee
6932
6933commit 8729498a5d239980a91d32f031b34e8c58c52f62
6934Author: Damien Miller <djm@mindrot.org>
6935Date: Wed Jul 10 09:43:19 2019 +1000
6936
6937 fix typo that prevented detection of Linux VRF
6938
6939 Reported by hexiaowen AT huawei.com
6940
6941commit 5b2b79ff7c057ee101518545727ed3023372891d
6942Author: djm@openbsd.org <djm@openbsd.org>
6943Date: Tue Jul 9 04:15:00 2019 +0000
6944
6945 upstream: cap the number of permiopen/permitlisten directives we're
6946
6947 willing to parse on a single authorized_keys line; ok deraadt@
6948
6949 OpenBSD-Commit-ID: a43a752c2555d26aa3fc754805a476f6e3e30f46
6950
6951commit eb0b51dac408fadd1fd13fa6d726ab8fdfcc4152
6952Author: Darren Tucker <dtucker@dtucker.net>
6953Date: Mon Jul 8 17:27:26 2019 +1000
6954
6955 Move log.h include inside ifdefs.
6956
6957 Fixes build on some other platforms that don't have va_list immediately
6958 available (eg NetBSD).
6959
6960commit 43702f8e6fa22a258e25c4dd950baaae0bc656b7
6961Author: Darren Tucker <dtucker@dtucker.net>
6962Date: Sat Jul 6 23:07:04 2019 +1000
6963
6964 Include log.h for debug() and friends.
6965
6966 Should fix some compiler warnings on IRIX (bz#3032).
6967
6968commit 53a6ebf1445a857f5e487b18ee5e5830a9575149
6969Author: Damien Miller <djm@mindrot.org>
6970Date: Mon Jul 8 13:44:32 2019 +1000
6971
6972 sftp-realpath.c needs includes.h
6973
6974commit 4efe1adf05ee5d3fce44320fcff68735891f4ee6
6975Author: Damien Miller <djm@mindrot.org>
6976Date: Mon Jul 8 13:38:39 2019 +1000
6977
6978 remove realpath() compat replacement
6979
6980 We shipped a BSD implementation of realpath() because sftp-server
6981 depended on its behaviour.
6982
6983 OpenBSD is now moving to a more strictly POSIX-compliant realpath(2),
6984 so sftp-server now unconditionally requires its own BSD-style realpath
6985 implementation. As such, there is no need to carry another independant
6986 implementation in openbsd-compat.
6987
6988 ok dtucker@
6989
6990commit 696fb4298e80f2ebcd188986a91b49af3b7ca14c
6991Author: dtucker@openbsd.org <dtucker@openbsd.org>
6992Date: Sun Jul 7 01:05:00 2019 +0000
6993
6994 upstream: Remove some set but never used variables. ok daraadt@
6995
6996 OpenBSD-Commit-ID: 824baf9c59afc66a4637017e397b9b74a41684e7
6997
6998commit 156e9e85e92b46ca90226605d9eff49e8ec31b22
6999Author: deraadt@openbsd.org <deraadt@openbsd.org>
7000Date: Fri Jul 5 12:35:40 2019 +0000
7001
7002 upstream: still compile uuencode.c, unbreaks build
7003
7004 OpenBSD-Commit-ID: 5ea3d63ab972691f43e9087ab5fd8376d48e898f
7005
7006commit cec9ee527a12b1f6c2e0a1c155fec64a38d71cf6
7007Author: djm@openbsd.org <djm@openbsd.org>
7008Date: Fri Jul 5 07:32:01 2019 +0000
7009
7010 upstream: revert header removal that snuck into previous
7011
7012 OpenBSD-Commit-ID: 3919cdd58989786660b8269b325646ef8856428e
7013
7014commit 569b650f93b561c09c655f83f128e1dfffe74101
7015Author: djm@openbsd.org <djm@openbsd.org>
7016Date: Fri Jul 5 04:55:40 2019 +0000
7017
7018 upstream: add a local implementation of BSD realpath() for
7019
7020 sftp-server use ahead of OpenBSD's realpath changing to match POSIX;
7021
7022 ok deraadt@ (thanks for snaps testing)
7023
7024 OpenBSD-Commit-ID: 4f8cbf7ed8679f6237264301d104ecec64885d55
7025
7026commit b8e2b797362526437e0642a6c2f2970d794f2561
7027Author: Darren Tucker <dtucker@dtucker.net>
7028Date: Sat Jul 6 13:13:57 2019 +1000
7029
7030 Add prototype for strnlen to prevent warnings.
7031
7032commit 4c3e00b1ed7e596610f34590eb5d54ee50d77878
7033Author: Darren Tucker <dtucker@dtucker.net>
7034Date: Sat Jul 6 13:02:34 2019 +1000
7035
7036 Cast *ID types to unsigned long when printing.
7037
7038 UID and GID types vary by platform so cast to u_long and use %lu when
7039 printing them to prevent warnings.
7040
7041commit 2753521e899f30d1d58b5da0b4e68fde6fcf341e
7042Author: Darren Tucker <dtucker@dtucker.net>
7043Date: Sat Jul 6 12:54:43 2019 +1000
7044
7045 Add prototype for compat strndup.(bz#3032).
7046
7047commit 01a1e21cd55d99293c8ff8ed7c590f2ee440da43
7048Author: Darren Tucker <dtucker@dtucker.net>
7049Date: Sat Jul 6 12:00:41 2019 +1000
7050
7051 Add missing bracket in EGD seeding code.
7052
7053 When configured --with-prngd-socket the code had a missing bracket after
7054 an API change. Fix that and a couple of warnings. bz#3032 , from
7055 ole.weidner at protonmail.ch
7056
7057commit e187b1d4607392cf2c19243afe0d0311a4ff3591
7058Author: dtucker@openbsd.org <dtucker@openbsd.org>
7059Date: Fri Jul 5 04:19:39 2019 +0000
7060
7061 upstream: Add (recently added) rsa_oldfmt to CLEANFILES.
7062
7063 OpenBSD-Regress-ID: 405beda94e32aa6cc9c80969152fab91f7c54bd3
7064
7065commit 74b541bfabdcb57c1683cd9b3f1d1f4d5e41563e
7066Author: dtucker@openbsd.org <dtucker@openbsd.org>
7067Date: Fri Jul 5 04:12:46 2019 +0000
7068
7069 upstream: Adapt the PuTTY/Conch tests to new key names.
7070
7071 A recent regress change (2a9b3a2ce411d16cda9c79ab713c55f65b0ec257 in
7072 portable) broke the PuTTY and Twisted Conch interop tests, because the
7073 key they want to use is now called ssh-rsa rather than rsa. Adapt the
7074 tests to the new file names. bz#3020, patch from cjwatson at debian.org.
7075
7076 OpenBSD-Regress-ID: fd342a37db4d55aa4ec85316f73082c8eb96e64e
7077
7078commit de08335a4cfaa9b7081e94ea4a8b7153c230546d
7079Author: dtucker@openbsd.org <dtucker@openbsd.org>
7080Date: Fri Jul 5 04:03:13 2019 +0000
7081
7082 upstream: Add a sleep to allow forwards to come up.
7083
7084 Currently when the multiplex client requests a forward it returns
7085 once the request has been sent but not necessarily when the forward
7086 is up. This causes intermittent text failures due to this race,
7087 so add some sleeps to mitigate this until we can fix it properly.
7088
7089 OpenBSD-Regress-ID: 384c7d209d2443d25ea941d7f677e932621fb253
7090
7091commit 4d249284729f864faa2e8f3e015f9a41b674544a
7092Author: Darren Tucker <dtucker@dtucker.net>
7093Date: Fri Jul 5 14:58:57 2019 +1000
7094
7095 Remove nc stderr redirection to resync w/OpenBSD.
7096
7097commit c5cfa90e03432181ffcc7ad3f9f815179bd0c626
7098Author: Darren Tucker <dtucker@dtucker.net>
7099Date: Fri Jul 5 13:21:45 2019 +1000
7100
7101 Do not fatal on failed lookup of group "tty".
7102
7103 Some platforms (eg AIX and Cygwin) do not have a "tty" group. In those
7104 cases we will fall back to making the tty device the user's primary
7105 group, so do not fatal if the group lookup fails. ok djm@
7106
7107commit 8b4cc4bdc8a70bf209a274fa2b2a49c1e3c8d8a2
7108Author: deraadt@openbsd.org <deraadt@openbsd.org>
7109Date: Thu Jul 4 16:20:10 2019 +0000
7110
7111 upstream: fatal() if getgrnam() cannot find "tty"
7112
7113 OpenBSD-Commit-ID: d148c1c052fa0ed7d105b5428b5c1bab91630048
7114
7115commit 48cccc275c6a1e91d3f80fdb0dc0d5baf529aeca
7116Author: deraadt@openbsd.org <deraadt@openbsd.org>
7117Date: Thu Jul 4 16:16:51 2019 +0000
7118
7119 upstream: stat() returns precisely -1 to indicate error
7120
7121 OpenBSD-Commit-ID: 668e8d022ed4ab847747214f64119e5865365fa1
7122
7123commit 8142fcaf9ed8ff66252deecbfd29fc59d5f2df4f
7124Author: deraadt@openbsd.org <deraadt@openbsd.org>
7125Date: Wed Jul 3 03:24:02 2019 +0000
7126
7127 upstream: snprintf/vsnprintf return < 0 on error, rather than -1.
7128
7129 OpenBSD-Commit-ID: a261c421140a0639bb2b66bbceca72bf8239749d
7130
7131commit 4d28fa78abce2890e136281950633fae2066cc29
7132Author: deraadt@openbsd.org <deraadt@openbsd.org>
7133Date: Fri Jun 28 13:35:04 2019 +0000
7134
7135 upstream: When system calls indicate an error they return -1, not
7136
7137 some arbitrary value < 0. errno is only updated in this case. Change all
7138 (most?) callers of syscalls to follow this better, and let's see if this
7139 strictness helps us in the future.
7140
7141 OpenBSD-Commit-ID: 48081f00db7518e3b712a49dca06efc2a5428075
7142
7143commit e8c974043c1648eab0ad67a7ba6a3e444fe79d2d
7144Author: deraadt@openbsd.org <deraadt@openbsd.org>
7145Date: Fri Jun 28 05:44:09 2019 +0000
7146
7147 upstream: asprintf returns -1, not an arbitrary value < 0. Also
7148
7149 upon error the (very sloppy specification) leaves an undefined value in *ret,
7150 so it is wrong to inspect it, the error condition is enough. discussed a
7151 little with nicm, and then much more with millert until we were exasperated
7152
7153 OpenBSD-Commit-ID: 29258fa51edf8115d244b9d4b84028487bf8923e
7154
7155commit 1b2d55d15c6240c15a1e1cf4203b82e54a766272
7156Author: deraadt@openbsd.org <deraadt@openbsd.org>
7157Date: Fri Jun 28 01:23:50 2019 +0000
7158
7159 upstream: oops, from asou
7160
7161 OpenBSD-Commit-ID: 702e765d1639b732370d8f003bb84a1c71c4d0c6
7162
7163commit 5cdbaa78fcb718c39af4522d98016ad89d065427
7164Author: deraadt@openbsd.org <deraadt@openbsd.org>
7165Date: Thu Jun 27 18:03:37 2019 +0000
7166
7167 upstream: Some asprintf() calls were checked < 0, rather than the
7168
7169 precise == -1. ok millert nicm tb, etc
7170
7171 OpenBSD-Commit-ID: caecf8f57938685c04f125515b9f2806ad408d53
7172
7173commit b2e3e57be4a933d9464bccbe592573725765486f
7174Author: djm@openbsd.org <djm@openbsd.org>
7175Date: Thu Jun 27 06:29:35 2019 +0000
7176
7177 upstream: fix NULL deference (bzero) on err
7178
7179 =?UTF-8?q?or=20path=20added=20in=20last=20commit;=20spotted=20by=20Reynir?=
7180 =?UTF-8?q?=20Bj=C3=B6rnsson?=
7181 MIME-Version: 1.0
7182 Content-Type: text/plain; charset=UTF-8
7183 Content-Transfer-Encoding: 8bit
7184
7185 ok deraadt@ markus@ tb@
7186
7187 OpenBSD-Commit-ID: b11b084bcc551b2c630560eb08618dd501027bbd
7188
7189commit 58ceacdcbaebefc77d120712de55c6fc6aa32bb1
7190Author: Jitendra Sharma <jitendra.sharma@intel.com>
7191Date: Fri Jun 21 09:54:17 2019 +0530
7192
7193 Update README doc to include missing test cases
7194
7195 Readme regress document is missing various individual tests,
7196 which are supported currently. Update README to
7197 include those test cases.
7198
7199commit 7959330a554051b5587f8af3fec0c2c0d5820f64
7200Author: dtucker@openbsd.org <dtucker@openbsd.org>
7201Date: Wed Jun 26 22:29:43 2019 +0000
7202
7203 upstream: Remove unneeded unlink of xauthfile o
7204
7205 =?UTF-8?q?n=20error=20path.=20=20From=20Erik=20Sj=C3=B6lund=20via=20githu?=
7206 =?UTF-8?q?b,=20ok=20djm@=20deraadt@?=
7207 MIME-Version: 1.0
7208 Content-Type: text/plain; charset=UTF-8
7209 Content-Transfer-Encoding: 8bit
7210
7211 OpenBSD-Commit-ID: 62a4893cf83b29a4bbfedc40e7067c25c203e632
7212
7213commit 8de52eb224143783a49f9bddd9ab7800022a8276
7214Author: djm@openbsd.org <djm@openbsd.org>
7215Date: Sun Jun 23 12:21:46 2019 +0000
7216
7217 upstream: fix mismatch proto/decl from key shielding change; spotted
7218
7219 via oss-fuzz
7220
7221 OpenBSD-Commit-ID: 1ea0ba05ded2c5557507bd844cd446e5c8b5b3b7
7222
7223commit 1dfadb9b57c2985c95838a0292d1c2f6a501896e
7224Author: djm@openbsd.org <djm@openbsd.org>
7225Date: Fri Jun 21 04:21:45 2019 +0000
7226
7227 upstream: adapt for key shielding API changes (const removal)
7228
7229 OpenBSD-Regress-ID: 298890bc52f0cd09dba76dc1022fabe89bc0ded6
7230
7231commit 4f7a56d5e02e3d04ab69eac1213817a7536d0562
7232Author: djm@openbsd.org <djm@openbsd.org>
7233Date: Fri Jun 21 04:21:04 2019 +0000
7234
7235 upstream: Add protection for private keys at rest in RAM against
7236
7237 speculation and memory sidechannel attacks like Spectre, Meltdown, Rowhammer
7238 and Rambleed. This change encrypts private keys when they are not in use with
7239 a symmetic key that is derived from a relatively large "prekey" consisting of
7240 random data (currently 16KB).
7241
7242 Attackers must recover the entire prekey with high accuracy before
7243 they can attempt to decrypt the shielded private key, but the current
7244 generation of attacks have bit error rates that, when applied
7245 cumulatively to the entire prekey, make this unlikely.
7246
7247 Implementation-wise, keys are encrypted "shielded" when loaded and then
7248 automatically and transparently unshielded when used for signatures or
7249 when being saved/serialised.
7250
7251 Hopefully we can remove this in a few years time when computer
7252 architecture has become less unsafe.
7253
7254 been in snaps for a bit already; thanks deraadt@
7255
7256 ok dtucker@ deraadt@
7257
7258 OpenBSD-Commit-ID: 19767213c312e46f94b303a512ef8e9218a39bd4
7259
7260commit 4cd6b12cc9c10bf59c8b425041f3ea5091285a0f
7261Author: djm@openbsd.org <djm@openbsd.org>
7262Date: Fri Jun 21 03:19:59 2019 +0000
7263
7264 upstream: print the correct AuthorizedPrincipalsCommand rather than
7265
7266 an uninitialised variable; spotted by dtucker@
7267
7268 OpenBSD-Commit-ID: 02802018784250f68202f01c8561de82e17b0638
7269
7270commit 5f68ab436b0e01751d564e9a9041e6ac3673e45a
7271Author: jmc@openbsd.org <jmc@openbsd.org>
7272Date: Wed Jun 19 20:12:44 2019 +0000
7273
7274 upstream: from tim: - for reput, it is remote-path which is
7275
7276 optional, not local-path - sync help
7277
7278 from deraadt:
7279 - prefer -R and undocument -r (but add a comment for future editors)
7280
7281 from schwarze:
7282 - prefer -p and undocument -P (as above. the comment was schwarze's too)
7283
7284 more:
7285 - add the -f flag to reput and reget
7286 - sort help (i can;t remember who suggested this originally)
7287
7288 djm and deraadt were ok with earlier versions of this;
7289 tim and schwarze ok
7290
7291 OpenBSD-Commit-ID: 3c699b53b46111f5c57eed4533f132e7e58bacdd
7292
7293commit 99bcbbc77fbd5a5027031f42a5931b21b07c947e
7294Author: djm@openbsd.org <djm@openbsd.org>
7295Date: Fri Jun 14 04:03:48 2019 +0000
7296
7297 upstream: check for convtime() refusing to accept times that
7298
7299 resolve to LONG_MAX Reported by Kirk Wolf bz2977; ok dtucker
7300
7301 OpenBSD-Regress-ID: 15c9fe87be1ec241d24707006a31123d3a3117e0
7302
7303commit e5cccb2410247c9b8151b9510a876abdf5424b24
7304Author: dtucker@openbsd.org <dtucker@openbsd.org>
7305Date: Sun Apr 28 22:53:26 2019 +0000
7306
7307 upstream: Add unit tests for user@host and URI parsing.
7308
7309 OpenBSD-Regress-ID: 69d5b6f278e04ed32377046f7692c714c2d07a68
7310
7311commit 0bb7e38834e3f9886302bbaea630a6b0f8cfb520
7312Author: dtucker@openbsd.org <dtucker@openbsd.org>
7313Date: Thu Apr 18 18:57:16 2019 +0000
7314
7315 upstream: Add tests for sshd -T -C with Match.
7316
7317 OpenBSD-Regress-ID: d4c34916fe20d717692f10ef50b5ae5a271c12c7
7318
7319commit 73eb6cef41daba0359c1888e4756108d41b4e819
7320Author: Darren Tucker <dtucker@dtucker.net>
7321Date: Sun Jun 16 12:55:27 2019 +1000
7322
7323 Include stdio.h for vsnprintf.
7324
7325 Patch from mforney at mforney.org.
7326
7327commit adcaf40fd0a180e6cb5798317fdf479b52e3c09a
7328Author: Darren Tucker <dtucker@dtucker.net>
7329Date: Sat Jun 8 09:07:04 2019 +1000
7330
7331 upstream rev 1.27: fix integer overflow.
7332
7333 Cast bitcount to u_in64_t before bit shifting to prevent integer overflow
7334 on 32bit platforms which cause incorrect results when adding a block
7335 >=512M in size. sha1 patch from ante84 at gmail.com via openssh github,
7336 sha2 with djm@, ok tedu@
7337
7338commit 7689048e6103d3c34cba24ac5aeea7bf8405d19a
7339Author: Darren Tucker <dtucker@dtucker.net>
7340Date: Sat Jun 8 09:06:06 2019 +1000
7341
7342 upstream rev 1.25: add DEF_WEAK.
7343
7344 Wrap blowfish, sha*, md5, and rmd160 so that internal calls go direct
7345 ok deraadt@
7346
7347commit 55f3153393ac7e072a4b4b21b194864460d8f44a
7348Author: Darren Tucker <dtucker@dtucker.net>
7349Date: Sat Jun 8 09:02:24 2019 +1000
7350
7351 upstream rev 1.25: add sys/types.h
7352
7353commit 10974f986fa842a3a3a693e3d5761072540002b4
7354Author: Darren Tucker <dtucker@dtucker.net>
7355Date: Sat Jun 8 09:01:14 2019 +1000
7356
7357 upstream: Use explicit_bzero instead of memset
7358
7359 in hash Final and End functions. OK deraadt@ djm@
7360
7361commit cb8f56570f70b00abae4267d4bcce2bfae7dfff6
7362Author: djm@openbsd.org <djm@openbsd.org>
7363Date: Fri Jun 14 04:13:58 2019 +0000
7364
7365 upstream: slightly more instructive error message when the user
7366
7367 specifies multiple -J options on the commandline. bz3015 ok dtucker@
7368
7369 OpenBSD-Commit-ID: 181c15a65cac3b575819bc8d9a56212c3c748179
7370
7371commit 2317ce4b0ed7d8c4b0c684e2d47bff5006bd1178
7372Author: djm@openbsd.org <djm@openbsd.org>
7373Date: Fri Jun 14 03:51:47 2019 +0000
7374
7375 upstream: process agent requests for RSA certificate private keys using
7376
7377 correct signature algorithm when requested. Patch from Jakub Jelen in bz3016
7378 ok dtucker markus
7379
7380 OpenBSD-Commit-ID: 61f86efbeb4a1857a3e91298c1ccc6cf49b79624
7381
7382commit c95b90d40170473825904be561b1eafba354f376
7383Author: djm@openbsd.org <djm@openbsd.org>
7384Date: Fri Jun 14 03:39:59 2019 +0000
7385
7386 upstream: for public key authentication, check AuthorizedKeysFiles
7387
7388 files before consulting AuthorizedKeysCommand; ok dtucker markus
7389
7390 OpenBSD-Commit-ID: 13652998bea5cb93668999c39c3c48e8429db8b3
7391
7392commit a5a53914989ddd3521b6edc452bc3291784a4f4f
7393Author: djm@openbsd.org <djm@openbsd.org>
7394Date: Fri Jun 14 03:28:19 2019 +0000
7395
7396 upstream: if passed a bad fd, log what it was
7397
7398 OpenBSD-Commit-ID: 582e2bd05854e49365195b58989b68ac67f09140
7399
7400commit 7349149da1074d82b71722338e05b6a282f126cc
7401Author: jmc@openbsd.org <jmc@openbsd.org>
7402Date: Wed Jun 12 11:31:50 2019 +0000
7403
7404 upstream: Hostname->HostName cleanup; from lauri tirkkonen ok
7405
7406 dtucker
7407
7408 OpenBSD-Commit-ID: 4ade73629ede63b691f36f9a929f943d4e7a44e4
7409
7410commit 76af9c57387243556d38935555c227d0b34062c5
7411Author: jmc@openbsd.org <jmc@openbsd.org>
7412Date: Wed Jun 12 05:53:21 2019 +0000
7413
7414 upstream: deraadt noticed some inconsistency in the way we denote
7415
7416 the "Hostname" and "X11UseLocalhost" keywords; this makes things consistent
7417 (effectively reversing my commit of yesterday);
7418
7419 ok deraadt markus djm
7420
7421 OpenBSD-Commit-ID: 255c02adb29186ac91dcf47dfad7adb1b1e54667
7422
7423commit d1bbfdd932db9b9b799db865ee1ff50060dfc895
7424Author: jmc@openbsd.org <jmc@openbsd.org>
7425Date: Tue Jun 11 13:39:40 2019 +0000
7426
7427 upstream: consistent lettering for "HostName" keyword; from lauri
7428
7429 tirkkonen
7430
7431 OpenBSD-Commit-ID: 0c267a1257ed7482b13ef550837b6496e657d563
7432
7433commit fc0340f7c4ee29bfb12bd1de9f99defa797e16b4
7434Author: Darren Tucker <dtucker@dtucker.net>
7435Date: Sat Jun 8 00:10:59 2019 +1000
7436
7437 Typo fixes in error messages.
7438
7439 Patch from knweiss at gmail.com via github pull req #97 (portable-
7440 specific parts).
7441
7442commit 4b7dd22b02b64b1ededd3c0e98a6e7ae21e31d38
7443Author: dtucker@openbsd.org <dtucker@openbsd.org>
7444Date: Fri Jun 7 14:18:48 2019 +0000
7445
7446 upstream: Typo and spelling fixes in comments and error messages.
7447
7448 Patch from knweiss at gmail.com via -portable.
7449
7450 OpenBSD-Commit-ID: 2577465442f761a39703762c4f87a8dfcb918b4b
7451
7452commit 130ef0695e1731392ca33831939fe89e8b70cc17
7453Author: Darren Tucker <dtucker@dtucker.net>
7454Date: Sat Jun 8 00:47:07 2019 +1000
7455
7456 Include missed bits from previous sync.
7457
7458commit 25e3bccbaa63d27b9d5e09c123f1eb28594d2bd6
7459Author: dtucker@openbsd.org <dtucker@openbsd.org>
7460Date: Fri Jun 7 03:47:12 2019 +0000
7461
7462 upstream: Check for user@host when parsing sftp target. This
7463
7464 allows user@[1.2.3.4] to work without a path in addition to with one.
7465 bz#2999, ok djm@
7466
7467 OpenBSD-Commit-ID: d989217110932490ba8ce92127a9a6838878928b
7468
7469commit 0323d9b619d512f80c57575b810a05791891f657
7470Author: otto@openbsd.org <otto@openbsd.org>
7471Date: Thu Jun 6 05:13:13 2019 +0000
7472
7473 upstream: Replace calls to ssh_malloc_init() by a static init of
7474
7475 malloc_options. Prepares for changes in the way malloc is initialized. ok
7476 guenther@ dtucker@
7477
7478 OpenBSD-Commit-ID: 154f4e3e174f614b09f792d4d06575e08de58a6b
7479
7480commit c586d2d3129265ea64b12960c379d634bccb6535
7481Author: djm@openbsd.org <djm@openbsd.org>
7482Date: Fri May 31 03:20:07 2019 +0000
7483
7484 upstream: fix ssh-keysign fd handling problem introduced in r1.304
7485
7486 caused by a typo (STDIN_FILENO vs STDERR_FILENO)
7487
7488 OpenBSD-Commit-ID: 57a0b4be7bef23963afe24150e24bf014fdd9cb0
7489
7490commit 410b231aa41ff830b2f5b09b5aaf5e5cdc1ab86b
7491Author: lum@openbsd.org <lum@openbsd.org>
7492Date: Wed May 29 08:30:26 2019 +0000
7493
7494 upstream: Make the standard output messages of both methods of
7495
7496 changing a key pair's comments (using -c and -C) more applicable to both
7497 methods. ok and suggestions djm@ dtucker@
7498
7499 OpenBSD-Commit-ID: b379338118109eb36e14a65bc0a12735205b3de6
7500
7501commit 2b3402dc9f1d9b0df70291b424f36e436cdfa7e0
7502Author: Darren Tucker <dtucker@dtucker.net>
7503Date: Sat Jun 8 00:03:07 2019 +1000
7504
7505 Always clean up before and after utimensat test.
7506
7507commit 182898192d4b720e4faeafd5b39c2cfb3b92aa21
7508Author: Darren Tucker <dtucker@dtucker.net>
7509Date: Fri Jun 7 23:47:37 2019 +1000
7510
7511 Update utimensat test.
7512
7513 POSIX specifies that when given a symlink, AT_SYMLINK_NOFOLLOW should
7514 update the symlink and not the destination. The compat code doesn't
7515 have a way to do this, so where possible it fails instead of following a
7516 symlink when explicitly asked not to. Instead of checking for an explicit
7517 failure, check that it does not update the destination, which both the
7518 real and compat implmentations should honour.
7519
7520 Inspired by github pull req #125 from chutzpah at gentoo.org.
7521
7522commit d220b675205185e0b4d6b6524acc2e5c599ef0e2
7523Author: Darren Tucker <dtucker@dtucker.net>
7524Date: Fri Jun 7 14:26:54 2019 +1000
7525
7526 Have pthread_create return errno on failure.
7527
7528 According to POSIX, pthread_create returns the failure reason in
7529 the non-zero function return code so make the fork wrapper do that.
7530 Matches previous change.
7531
7532commit 1bd4f7f25f653e0cadb2e6f25d79bc3c35c6aa4d
7533Author: Elliott Hughes <enh@google.com>
7534Date: Thu Apr 25 13:36:27 2019 -0700
7535
7536 pthread_create(3) returns positive values on failure.
7537
7538 Found by inspection after finding similar bugs in other code used by
7539 Android.
7540
7541commit b3a77b25e5f7880222b179431a74fad76d2cf60c
7542Author: Harald Freudenberger <freude@linux.ibm.com>
7543Date: Fri May 24 10:11:15 2019 +0200
7544
7545 allow s390 specific ioctl for ecc hardware support
7546
7547 Adding another s390 specific ioctl to be able to support ECC hardware
7548 acceleration to the sandbox seccomp filter rules.
7549
7550 Now the ibmca openssl engine provides elliptic curve cryptography
7551 support with the help of libica and CCA crypto cards. This is done via
7552 jet another ioctl call to the zcrypt device driver and so there is a
7553 need to enable this on the openssl sandbox.
7554
7555 Code is s390 specific and has been tested, verified and reviewed.
7556
7557 Please note that I am also the originator of the previous changes in
7558 that area. I posted these changes to Eduardo and he forwarded the
7559 patches to the openssl community.
7560
7561 Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
7562 Reviewed-by: Joerg Schmidbauer <jschmidb@de.ibm.com>
7563
7564commit 2459df9aa11820f8092a8651aeb381af7ebbccb1
7565Author: Sorin Adrian Savu <sorin25@users.noreply.github.com>
7566Date: Sun May 26 21:50:08 2019 +0300
7567
7568 openssl-devel is obsoleted by libssl-devel
7569
7570 openssl-devel is no longer installable via the cygwin setup and
7571 it's hidden by default, so you can't see the replacement very easy.
7572
7573commit 85ceb0e64bff672558fc87958cd548f135c83cdd
7574Author: jmc@openbsd.org <jmc@openbsd.org>
7575Date: Mon May 20 06:01:59 2019 +0000
7576
7577 upstream: tweak previous;
7578
7579 OpenBSD-Commit-ID: 42f39f22f53cfcb913bce401ae0f1bb93e08dd6c
7580
7581commit 30615295609f5c57b3137b3021fe63bfa45c1985
7582Author: djm@openbsd.org <djm@openbsd.org>
7583Date: Mon May 20 00:25:55 2019 +0000
7584
7585 upstream: embiggen format buffer size for certificate serial number so
7586
7587 that it will fit a full 64 bit integer. bz#3012 from Manoel Domingues Junior
7588
7589 OpenBSD-Commit-ID: a51f3013056d05b976e5af6b978dcb9e27bbc12b
7590
7591commit 476e3551b2952ef73acc43d995e832539bf9bc4d
7592Author: djm@openbsd.org <djm@openbsd.org>
7593Date: Mon May 20 00:20:35 2019 +0000
7594
7595 upstream: When signing certificates with an RSA key, default to
7596
7597 using the rsa-sha2-512 signature algorithm. Certificates signed by RSA keys
7598 will therefore be incompatible with OpenSSH < 7.2 unless the default is
7599 overridden.
7600
7601 Document the ability of the ssh-keygen -t flag to override the
7602 signature algorithm when signing certificates, and the new default.
7603
7604 ok deraadt@
7605
7606 OpenBSD-Commit-ID: 400c9c15013978204c2cb80f294b03ae4cfc8b95
7607
7608commit 606077ee1e77af5908431d003fb28461ef7be092
7609Author: Darren Tucker <dtucker@dtucker.net>
7610Date: Fri May 17 13:14:12 2019 +1000
7611
7612 Add no-op implementation of pam_putenv.
7613
7614 Some platforms such as HP-UX do not have pam_putenv. Currently the
7615 calls are ifdef'ed out, but a new one was recently added. Remove the
7616 ifdefs and add a no-op implementation. bz#3008, ok djm.
7617
7618commit 1ac98be8724c9789d770ddb8e7f0dbf1b55e05a0
7619Author: Darren Tucker <dtucker@dtucker.net>
7620Date: Fri May 17 12:42:17 2019 +1000
7621
7622 Use the correct macro for SSH_ALLOWED_CA_SIGALGS.
7623
7624commit 97370f6c2c3b825f8c577b7e6c00b1a98d30a6cf
7625Author: Darren Tucker <dtucker@dtucker.net>
7626Date: Fri May 17 10:54:51 2019 +1000
7627
7628 Fix building w/out ECC.
7629
7630 Ifdef out ECC specific code so that that it'll build against an OpenSSL
7631 configured w/out ECC. With & ok djm@
7632
7633commit 633703babf8d9a88da85f23b800e1b88dec7cdbd
7634Author: Darren Tucker <dtucker@dtucker.net>
7635Date: Fri May 17 10:50:29 2019 +1000
7636
7637 Conditionalize ECDH methods in CA algos.
7638
7639 When building against an OpenSSL configured without ECC, don't include
7640 those algos in CASignatureAlgorithms. ok djm@
7641
7642commit 5c8d14c512f5d413095b22bdba08a6bb990f1e97
7643Author: dtucker@openbsd.org <dtucker@openbsd.org>
7644Date: Thu May 16 08:47:27 2019 +0000
7645
7646 upstream: Move a variable declaration to the block where it's used
7647
7648 to make things a little tidier for -portable.
7649
7650 OpenBSD-Commit-ID: 616379861be95619e5358768b7dee4793e2f3a75
7651
7652commit a1d29cc36a5e6eeabc935065a8780e1ba5b67014
7653Author: deraadt@openbsd.org <deraadt@openbsd.org>
7654Date: Wed May 15 04:43:31 2019 +0000
7655
7656 upstream: When doing the fork+exec'ing for ssh-keysign, rearrange
7657
7658 the socket into fd3, so as to not mistakenly leak other fd forward
7659 accidentally. ok djm
7660
7661 OpenBSD-Commit-ID: 24cc753f5aa2c6a7d0fbf62766adbc75cd785296
7662
7663commit db7606d4a62fee67b0cb2f32dfcbd7b3642bfef5
7664Author: schwarze@openbsd.org <schwarze@openbsd.org>
7665Date: Tue May 14 12:47:17 2019 +0000
7666
7667 upstream: Delete some .Sx macros that were used in a wrong way.
7668
7669 Part of a patch from Stephen Gregoratto <dev at sgregoratto dot me>.
7670
7671 OpenBSD-Commit-ID: 15501ed13c595f135e7610b1a5d8345ccdb513b7
7672
7673commit cb4accb1233865d9151f8a50cc5f0c61a3fd4077
7674Author: florian@openbsd.org <florian@openbsd.org>
7675Date: Fri May 10 18:55:17 2019 +0000
7676
7677 upstream: For PermitOpen violations add the remote host and port to
7678
7679 be able to find out from where the request was comming.
7680
7681 Add the same logging for PermitListen violations which where not
7682 logged at all.
7683
7684 Pointed out by Robert Kisteleki (robert AT ripe.net)
7685
7686 input markus
7687 OK deraadt
7688
7689 OpenBSD-Commit-ID: 8a7d0f1b7175504c0d1dca8d9aca1588b66448c8
7690
7691commit cd16aceec148d55088fc8df6be88335578d85258
7692Author: Darren Tucker <dtucker@dtucker.net>
7693Date: Thu May 16 07:53:20 2019 +1000
7694
7695 Add OpenSSL 1.1.1 to the supported list.
7696
7697 Clarify the language around prngd and egd.
7698
7699commit 6fd4aa2aafbce90acb11a328ca0aa0696cb01c6b
7700Author: Darren Tucker <dtucker@dtucker.net>
7701Date: Wed May 15 16:19:14 2019 +1000
7702
7703 Fix typo in man page formatter selector.
7704
7705commit 285546b73e2c172565c992a695927ac8cf3b4cc6
7706Author: Darren Tucker <dtucker@dtucker.net>
7707Date: Fri May 10 15:04:42 2019 +1000
7708
7709 Use "doc" man page format if mandoc present.
7710
7711 Previously configure would not select the "doc" man page format if
7712 mandoc was present but nroff was not. This checks for mandoc first
7713 and removes a now-superflous AC_PATH_PROG. Based on a patch from
7714 vehk at vehk.de and feedback from schwarze at usta.de.
7715
7716commit 62dd70613b77b229f53db3cc1c3e8a206fa2b582
7717Author: dtucker@openbsd.org <dtucker@openbsd.org>
7718Date: Fri May 3 06:06:30 2019 +0000
7719
7720 upstream: Use the correct (according to POSIX) format for
7721
7722 left-justification in snmprintf. bz#3002, patch from velemas at gmail.com, ok
7723 markus@.
7724
7725 OpenBSD-Commit-ID: 65d252b799be0cc8f68b6c47cece0a57bb00fea7
7726
7727commit 62be1ffe5ffc68cfaac183320503c00a8c72e0b1
7728Author: dtucker@openbsd.org <dtucker@openbsd.org>
7729Date: Fri May 3 04:11:00 2019 +0000
7730
7731 upstream: Free channel objects on exit path. Patch from markus at
7732
7733 blueflash.cc, ok deraadt
7734
7735 OpenBSD-Commit-ID: dbe4db381603909482211ffdd2b48abd72169117
7736
7737commit 1c554a5d94b9de6bd5374e2992a5662746cc39ba
7738Author: dtucker@openbsd.org <dtucker@openbsd.org>
7739Date: Fri May 3 03:27:38 2019 +0000
7740
7741 upstream: Free host on exit path. Patch from markus at
7742
7743 blueflash.cc, ok djm@
7744
7745 OpenBSD-Commit-ID: c54e9945d93c4ce28350d8b9fa8b71f744ef2b5a
7746
7747commit 99043bd64e5e0f427173f4fa83ef25a4676624a3
7748Author: dtucker@openbsd.org <dtucker@openbsd.org>
7749Date: Fri May 3 03:25:18 2019 +0000
7750
7751 upstream: Wrap XMSS including in ifdef. Patch from markus at
7752
7753 blueflash.cc, ok djm
7754
7755 OpenBSD-Commit-ID: e3b34fc35cf12d33bde91ac03633210a3bc0f8b5
7756
7757commit 8fcfb7789c43a19d24162a7a4055cd09ee951b34
7758Author: dtucker@openbsd.org <dtucker@openbsd.org>
7759Date: Fri Apr 26 08:37:17 2019 +0000
7760
7761 upstream: Import regenerated moduli.
7762
7763 OpenBSD-Commit-ID: db6375fc302e3bdf07d96430c63c991b2c2bd3ff
7764
7765commit 3a7db919d5dd09f797971b3cf8ee301767459774
7766Author: dtucker@openbsd.org <dtucker@openbsd.org>
7767Date: Tue Apr 23 11:56:41 2019 +0000
7768
7769 upstream: Use the LogLevel typdef instead of int where appropriate. Patch from Markus Schmidt via openssh-unix-dev, ok markus@
7770
7771 OpenBSD-Commit-ID: 4c0f0f458e3da7807806b35e3eb5c1e8403c968a
7772
7773commit d7c6e38b87efab1f140745fd8b1106b82e6e4a68
7774Author: dtucker@openbsd.org <dtucker@openbsd.org>
7775Date: Fri Apr 19 05:47:44 2019 +0000
7776
7777 upstream: Document new default RSA key size. From
7778
7779 sebastiaanlokhorst at gmail.com via bz#2997.
7780
7781 OpenBSD-Commit-ID: bdd62ff5d4d649d2147904e91bf7cefa82fe11e1
7782
7783commit e826bbcafe26dac349a8593da5569e82faa45ab8
7784Author: dtucker@openbsd.org <dtucker@openbsd.org>
7785Date: Thu Apr 18 18:56:16 2019 +0000
7786
7787 upstream: When running sshd -T, assume any attibute not provided by
7788
7789 -C does not match, which allows it to work when sshd_config contains a Match
7790 directive with or without -C. bz#2858, ok djm@
7791
7792 OpenBSD-Commit-ID: 1a701f0a33e3bc96753cfda2fe0b0378520b82eb
7793
7794commit 5696512d7ad57e85e89f8011ce8dec617be686aa
7795Author: dtucker@openbsd.org <dtucker@openbsd.org>
7796Date: Thu Apr 18 07:32:56 2019 +0000
7797
7798 upstream: Remove crc32.{c,h} which were only used by the now-gone
7799
7800 SSH1 protocol. Patch from yumkam at gmail.com, ok deraadt.
7801
7802 OpenBSD-Commit-ID: cceda5876c5ba6b4d8abcd52335329198cee3240
7803
7804commit 34e87fb5d9ce607f5701ab4c31d837ad8133e2d1
7805Author: Darren Tucker <dtucker@dtucker.net>
7806Date: Tue Apr 30 12:27:57 2019 +1000
7807
7808 Remove unused variables from RLIMIT_NOFILE test.
7809
7810commit 35e82e62c1ef53cfa457473a4c4d957d6197371a
7811Author: Darren Tucker <dtucker@dtucker.net>
7812Date: Fri Apr 26 18:38:27 2019 +1000
7813
7814 Import regenerated moduli.
7815
7816commit 5590f53f99219e95dc23b0ebd220f19a6f46b101
7817Author: Darren Tucker <dtucker@dtucker.net>
7818Date: Fri Apr 26 18:22:10 2019 +1000
7819
7820 Whitespace resync w/OpenBSD.
7821
7822 Patch from markus at blueflash.cc via openssh-unix-dev.
7823
7824commit b7b8334914fb9397a6725f3b5d2de999b0bb69ac
7825Author: Darren Tucker <dtucker@dtucker.net>
7826Date: Fri Apr 26 18:06:34 2019 +1000
7827
7828 Don't install duplicate STREAMS modules on Solaris
7829
7830 Check if STREAMS modules are already installed on pty before installing
7831 since when compiling with XPG>=4 they will likely be installed already.
7832 Prevents hangs and duplicate lines on the terminal. bz#2945 and bz#2998,
7833 patch from djm@
7834
7835commit fd0fa130ecf06d7d092932adcd5d77f1549bfc8d
7836Author: Damien Miller <djm@mindrot.org>
7837Date: Thu Apr 18 08:52:57 2019 +1000
7838
7839 makedepend
7840
7841commit 5de397a876b587ba05a9169237deffdc71f273b0
7842Author: Damien Miller <djm@mindrot.org>
7843Date: Fri Apr 5 11:29:51 2019 -0700
7844
7845 second thoughts: leave README in place
7846
7847 A number of contrib/* files refer to the existing README so let's leave
7848 it in place for release and add the new markdown version in parallel.
7849
7850 I'll get rid of README after release.
7851
7852commit 5d3127d9274519b25ed10e320f45045ba8d7f3be
7853Author: Damien Miller <djm@mindrot.org>
7854Date: Fri Apr 5 11:29:31 2019 -0700
7855
7856 Revert "rewrite README"
7857
7858 This reverts commit 9444d82678cb7781820da4d1c23b3c2b9fb1e12f.
7859
7860commit 9444d82678cb7781820da4d1c23b3c2b9fb1e12f
7861Author: Damien Miller <djm@mindrot.org>
7862Date: Fri Apr 5 11:21:48 2019 -0700
7863
7864 rewrite README
7865
7866 Include basic build instructions and comments on commonly-used build-
7867 time flags, links to the manual pages and other resources.
7868
7869 Now in Markdown format for better viewing on github, etc.
7870
7871commit a924de0c4908902433813ba205bee1446bd1a157
7872Author: Damien Miller <djm@mindrot.org>
7873Date: Fri Apr 5 03:41:52 2019 +1100
7874
7875 update versions
7876
7877commit 312dcee739bca5d6878c536537b2a8a497314b75
7878Author: djm@openbsd.org <djm@openbsd.org>
7879Date: Wed Apr 3 15:48:45 2019 +0000
7880
7881 upstream: openssh-8.0
7882
7883 OpenBSD-Commit-ID: 5aafdf218679dab982fea20771afd643be9a127b
7884
7885commit 885bc114692046d55e2a170b932bdc0092fa3456
7886Author: Damien Miller <djm@mindrot.org>
7887Date: Thu Apr 4 02:47:40 2019 +1100
7888
7889 session: Do not use removed API
7890
7891 from Jakub Jelen
7892
7893commit 9d7b2882b0c9a5e9bf8312ce4075bf178e2b98be
7894Author: djm@openbsd.org <djm@openbsd.org>
7895Date: Fri Mar 29 11:31:40 2019 +0000
7896
7897 upstream: when logging/fataling on error, include a bit more detail
7898
7899 than just the function name and the error message
7900
7901 OpenBSD-Commit-ID: dd72d7eba2215fcb89be516c378f633ea5bcca9f
7902
7903commit 79a87d32783d6c9db40af8f35e091d9d30365ae7
7904Author: Darren Tucker <dtucker@dtucker.net>
7905Date: Wed Apr 3 06:27:45 2019 +1100
7906
7907 Remove "struct ssh" from sys_auth_record_login.
7908
7909 It's not needed, and is not available from the call site in loginrec.c
7910 Should only affect AIX, spotted by Kevin Brott.
7911
7912commit 138c0d52cdc90f9895333b82fc57d81cce7a3d90
7913Author: Darren Tucker <dtucker@dtucker.net>
7914Date: Tue Apr 2 18:21:35 2019 +1100
7915
7916 Adapt custom_failed_login to new prototype.
7917
7918 Spotted by Kevin Brott.
7919
7920commit a0ca4009ab2f0b1007ec8ab6864dbf9b760a8ed5
7921Author: Darren Tucker <dtucker@dtucker.net>
7922Date: Mon Apr 1 20:07:23 2019 +1100
7923
7924 Add includes.h for compat layer.
7925
7926 Should fix build on AIX 7.2.
7927
7928commit 00991151786ce9b1d577bdad1f83a81d19c8236d
7929Author: Tim Rice <tim@multitalents.net>
7930Date: Sun Mar 31 22:14:22 2019 -0700
7931
7932 Stop USL compilers for erroring with "integral constant expression expected"
7933
7934commit 43f47ebbdd4037b569c23b8f4f7981f53b567f1d
7935Author: Tim Rice <tim@multitalents.net>
7936Date: Sun Mar 31 19:22:19 2019 -0700
7937
7938 Only use O_NOFOLLOW in fchownat and fchmodat if defined
7939
7940commit 342d6e51589b184c337cccfc4c788b60ff8b3765
7941Author: Jakub Jelen <jjelen@redhat.com>
7942Date: Fri Mar 29 12:29:41 2019 +0100
7943
7944 Adjust softhsm2 path on Fedora Linux for regress
7945
7946 The SoftHSM lives in Fedora in /usr/lib64/pkcs11/libsofthsm2.so
7947
7948commit f5abb05f8c7358dacdcb866fe2813f6d8efd5830
7949Author: Darren Tucker <dtucker@dtucker.net>
7950Date: Thu Mar 28 09:26:14 2019 +1100
7951
7952 Only use O_NOFOLLOW in utimensat if defined.
7953
7954 Fixes build on systems that don't have it (Solaris <=9) Found by
7955 Tom G. Christensen.
7956
7957commit 786cd4c1837fdc3fe7b4befe54a3f37db7df8715
7958Author: Corinna Vinschen <vinschen@redhat.com>
7959Date: Wed Mar 27 18:18:21 2019 +0100
7960
7961 drop old Cygwin considerations
7962
7963 - Cygwin supports non-DOS characters in filenames
7964 - Cygwin does not support Windows XP anymore
7965
7966 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
7967
7968commit 21da87f439b48a85b951ef1518fe85ac0273e719
7969Author: djm@openbsd.org <djm@openbsd.org>
7970Date: Wed Mar 27 09:29:14 2019 +0000
7971
7972 upstream: fix interaction between ClientAliveInterval and RekeyLimit
7973
7974 that could cause connection to close incorrectly; Report and patch from Jakub
7975 Jelen in bz#2757; ok dtucker@ markus@
7976
7977 OpenBSD-Commit-ID: 17229a8a65bd8e6c2080318ec2b7a61e1aede3fb
7978
7979commit 4f0019a9afdb4a94d83b75e82dbbbe0cbe826c56
7980Author: djm@openbsd.org <djm@openbsd.org>
7981Date: Mon Mar 25 22:34:52 2019 +0000
7982
7983 upstream: Fix authentication failures when "AuthenticationMethods
7984
7985 any" in a Match block overrides a more restrictive global default.
7986
7987 Spotted by jmc@, ok markus@
7988
7989 OpenBSD-Commit-ID: a90a4fe2ab81d0eeeb8fdfc21af81f7eabda6666
7990
7991commit d6e5def308610f194c0ec3ef97a34a3e9630e190
7992Author: djm@openbsd.org <djm@openbsd.org>
7993Date: Mon Mar 25 22:33:44 2019 +0000
7994
7995 upstream: whitespace
7996
7997 OpenBSD-Commit-ID: 106e853ae8a477e8385bc53824d3884a8159db07
7998
7999commit 26e0cef07b04479537c971dec898741df1290fe5
8000Author: dtucker@openbsd.org <dtucker@openbsd.org>
8001Date: Mon Mar 25 16:19:44 2019 +0000
8002
8003 upstream: Expand comment to document rationale for default key
8004
8005 sizes. "seems worthwhile" deraadt.
8006
8007 OpenBSD-Commit-ID: 72e5c0983d7da1fb72f191870f36cb58263a2456
8008
8009commit f47269ea67eb4ff87454bf0d2a03e55532786482
8010Author: dtucker@openbsd.org <dtucker@openbsd.org>
8011Date: Mon Mar 25 15:49:00 2019 +0000
8012
8013 upstream: Increase the default RSA key size to 3072 bits. Based on
8014
8015 the estimates from NIST Special Publication 800-57, 3k bits provides security
8016 equivalent to 128 bits which is the smallest symmetric cipher we enable by
8017 default. ok markus@ deraadt@
8018
8019 OpenBSD-Commit-ID: 461dd32ebe808f88f4fc3ec74749b0e6bef2276b
8020
8021commit 62949c5b37af28d8490d94866e314a76be683a5e
8022Author: jmc@openbsd.org <jmc@openbsd.org>
8023Date: Fri Mar 22 20:58:34 2019 +0000
8024
8025 upstream: full stop in the wrong place;
8026
8027 OpenBSD-Commit-ID: 478a0567c83553a2aebf95d0f1bd67ac1b1253e4
8028
8029commit 1b1332b5bb975d759a50b37f0e8bc8cfb07a0bb0
8030Author: jmc@openbsd.org <jmc@openbsd.org>
8031Date: Sat Mar 16 19:14:21 2019 +0000
8032
8033 upstream: benno helped me clean up the tcp forwarding section;
8034
8035 OpenBSD-Commit-ID: d4bec27edefde636fb632b7f0b7c656b9c7b7f08
8036
8037commit 2aee9a49f668092ac5c9d34e904ef7a9722e541d
8038Author: markus@openbsd.org <markus@openbsd.org>
8039Date: Fri Mar 8 17:24:43 2019 +0000
8040
8041 upstream: fix use-after-free in ssh-pkcs11; found by hshoexer w/AFL
8042
8043 OpenBSD-Commit-ID: febce81cca72b71f70513fbee4ff52ca050f675c
8044
8045commit 9edbd7821e6837e98e7e95546cede804dac96754
8046Author: Darren Tucker <dtucker@dtucker.net>
8047Date: Thu Mar 14 10:17:28 2019 +1100
8048
8049 Fix build when configured --without-openssl.
8050
8051 ok djm@
8052
8053commit 825ab32f0d04a791e9d19d743c61ff8ed9b4d8e5
8054Author: Darren Tucker <dtucker@dtucker.net>
8055Date: Thu Mar 14 08:51:17 2019 +1100
8056
8057 On Cygwin run sshd as SYSTEM where possible.
8058
8059 Seteuid now creates user token using S4U. We don't create a token
8060 from scratch anymore, so we don't need the "Create a process token"
8061 privilege. The service can run under SYSTEM again...
8062
8063 ...unless Cygwin is running on Windows Vista or Windows 7 in the
8064 WOW64 32 bit emulation layer. It turns out that WOW64 on these systems
8065 didn't implement MsV1_0 S4U Logon so we still need the fallback
8066 to NtCreateToken for these systems.
8067
8068 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
8069
8070commit a212107bfdf4d3e870ab7a443e4d906e5b9578c3
8071Author: Darren Tucker <dtucker@dtucker.net>
8072Date: Wed Mar 13 10:49:16 2019 +1100
8073
8074 Replace alloca with xcalloc.
8075
8076 The latter checks for memory exhaustion and integer overflow and may be
8077 at a less predictable place. Sanity check by vinschen at redhat.com, ok
8078 djm@
8079
8080commit daa7505aadca68ba1a2c70cbdfce423208eb91ee
8081Author: Darren Tucker <dtucker@dtucker.net>
8082Date: Tue Mar 12 09:19:19 2019 +1100
8083
8084 Use Cygwin-specific matching only for users+groups.
8085
8086 Patch from vinschen at redhat.com, updated a little by me.
8087
8088commit fd10cf027b56f9aaa80c9e3844626a05066589a4
8089Author: dtucker@openbsd.org <dtucker@openbsd.org>
8090Date: Wed Mar 6 22:14:23 2019 +0000
8091
8092 upstream: Move checks for lists of users or groups into their own
8093
8094 function. This is a no-op on OpenBSD but will make things easier in
8095 -portable, eg on systems where these checks should be case-insensitive. ok
8096 djm@
8097
8098 OpenBSD-Commit-ID: 8bc9c8d98670e23f8eaaaefe29c1f98e7ba0487e
8099
8100commit ab5fee8eb6a011002fd9e32b1597f02aa8804a25
8101Author: dtucker@openbsd.org <dtucker@openbsd.org>
8102Date: Wed Mar 6 21:06:59 2019 +0000
8103
8104 upstream: Reset last-seen time when sending a keepalive. Prevents
8105
8106 sending two keepalives successively and prematurely terminating connection
8107 when ClientAliveCount=1. While there, collapse two similar tests into one.
8108 ok markus@
8109
8110 OpenBSD-Commit-ID: 043670d201dfe222537a2a4bed16ce1087de5ddd
8111
8112commit c13b74530f9f1d9df7aeae012004b31b2de4438e
8113Author: naddy@openbsd.org <naddy@openbsd.org>
8114Date: Tue Mar 5 16:17:12 2019 +0000
8115
8116 upstream: PKCS#11 support is no longer limited to RSA; ok benno@
8117
8118 kn@
8119
8120 OpenBSD-Commit-ID: 1a9bec64d530aed5f434a960e7515a3e80cbc826
8121
8122commit e9552d6043db7cd170ac6ba1b4d2c7a5eb2c3201
8123Author: djm@openbsd.org <djm@openbsd.org>
8124Date: Fri Mar 1 03:29:32 2019 +0000
8125
8126 upstream: in ssh_set_newkeys(), mention the direction that we're
8127
8128 keying in debug messages. Previously it would be difficult to tell which
8129 direction it was talking about
8130
8131 OpenBSD-Commit-ID: c2b71bfcceb2a7389b9d0b497fb2122a406a522d
8132
8133commit 76a24b3fa193a9ca3e47a8779d497cb06500798b
8134Author: djm@openbsd.org <djm@openbsd.org>
8135Date: Fri Mar 1 02:32:39 2019 +0000
8136
8137 upstream: Fix two race conditions in sshd relating to SIGHUP:
8138
8139 1. Recently-forked child processes will briefly remain listening to
8140 listen_socks. If the main server sshd process completes its restart
8141 via execv() before these sockets are closed by the child processes
8142 then it can fail to listen at the desired addresses/ports and/or
8143 fail to restart.
8144
8145 2. When a SIGHUP is received, there may be forked child processes that
8146 are awaiting their reexecution state. If the main server sshd
8147 process restarts before passing this state, these child processes
8148 will yield errors and use a fallback path of reading the current
8149 sshd_config from the filesystem rather than use the one that sshd
8150 was started with.
8151
8152 To fix both of these cases, we reuse the startup_pipes that are shared
8153 between the main server sshd and forked children. Previously this was
8154 used solely to implement tracking of pre-auth child processes for
8155 MaxStartups, but this extends the messaging over these pipes to include
8156 a child->parent message that the parent process is safe to restart. This
8157 message is sent from the child after it has completed its preliminaries:
8158 closing listen_socks and receiving its reexec state.
8159
8160 bz#2953, reported by Michal Koutný; ok markus@ dtucker@
8161
8162 OpenBSD-Commit-ID: 7df09eacfa3ce13e9a7b1e9f17276ecc924d65ab
8163
8164commit de817e9dfab99473017d28cdf69e60397d00ea21
8165Author: djm@openbsd.org <djm@openbsd.org>
8166Date: Fri Mar 1 02:16:47 2019 +0000
8167
8168 upstream: mention PKCS11Provide=none, reword a little and remove
8169
8170 mention of RSA keys only (since we support ECDSA now and might support others
8171 in the future). Inspired by Jakub Jelen via bz#2974
8172
8173 OpenBSD-Commit-ID: a92e3686561bf624ccc64ab320c96c9e9a263aa5
8174
8175commit 95a8058c1a90a27acbb91392ba206854abc85226
8176Author: djm@openbsd.org <djm@openbsd.org>
8177Date: Fri Mar 1 02:08:50 2019 +0000
8178
8179 upstream: let PKCS11Provider=none do what users expect
8180
8181 print PKCS11Provider instead of obsolete SmartcardDevice in config dump.
8182
8183 bz#2974 ok dtucker@
8184
8185 OpenBSD-Commit-ID: c303d6f0230a33aa2dd92dc9b68843d56a64f846
8186
8187commit 8e7bac35aa576d2fd7560836da83733e864ce649
8188Author: markus@openbsd.org <markus@openbsd.org>
8189Date: Wed Feb 27 19:37:01 2019 +0000
8190
8191 upstream: dup stdout/in for proxycommand=-, otherwise stdout might
8192
8193 be redirected to /dev/null; ok djm@
8194
8195 OpenBSD-Commit-ID: 97dfce4c47ed4055042de8ebde85b7d88793e595
8196
8197commit 9b61130fbd95d196bce81ebeca94a4cb7c0d5ba0
8198Author: djm@openbsd.org <djm@openbsd.org>
8199Date: Sat Feb 23 08:20:43 2019 +0000
8200
8201 upstream: openssh-7.9 accidentally reused the server's algorithm lists
8202
8203 in the client for KEX, ciphers and MACs. The ciphers and MACs were identical
8204 between the client and server, but the error accidentially disabled the
8205 diffie-hellman-group-exchange-sha1 KEX method.
8206
8207 This fixes the client code to use the correct method list, but
8208 because nobody complained, it also disables the
8209 diffie-hellman-group-exchange-sha1 KEX method.
8210
8211 Reported by nuxi AT vault24.org via bz#2697; ok dtucker
8212
8213 OpenBSD-Commit-ID: e30c33a23c10fd536fefa120e86af1842e33fd57
8214
8215commit 37638c752041d591371900df820f070037878a2d
8216Author: Corinna Vinschen <vinschen@redhat.com>
8217Date: Wed Feb 20 13:41:25 2019 +0100
8218
8219 Cygwin: implement case-insensitive Unicode user and group name matching
8220
8221 The previous revert enabled case-insensitive user names again. This
8222 patch implements the case-insensitive user and group name matching.
8223 To allow Unicode chars, implement the matcher using wchar_t chars in
8224 Cygwin-specific code. Keep the generic code changes as small as possible.
8225 Cygwin: implement case-insensitive Unicode user and group name matching
8226
8227 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
8228
8229commit bed1d43698807a07bb4ddb93a46b0bd84b9970b3
8230Author: Darren Tucker <dtucker@dtucker.net>
8231Date: Fri Feb 22 15:21:21 2019 +1100
8232
8233 Revert unintended parts of previous commit.
8234
8235commit f02afa350afac1b2f2d1413259a27a4ba1e2ca24
8236Author: Corinna Vinschen <vinschen@redhat.com>
8237Date: Wed Feb 20 13:41:24 2019 +0100
8238
8239 Revert "[auth.c] On Cygwin, refuse usernames that have differences in case"
8240
8241 This reverts commit acc9b29486dfd649dfda474e5c1a03b317449f1c.
8242
8243 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
8244
8245commit 4c55b674835478eb80a1a7aeae588aa654e2a433
8246Author: Corinna Vinschen <vinschen@redhat.com>
8247Date: Sat Feb 16 14:13:43 2019 +0100
8248
8249 Add tags to .gitignore
8250
8251 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
8252
8253commit 625b62634c33eaef4b80d07529954fe5c6435fe5
8254Author: djm@openbsd.org <djm@openbsd.org>
8255Date: Fri Feb 22 03:37:11 2019 +0000
8256
8257 upstream: perform removal of agent-forwarding directory in forward
8258
8259 setup error path with user's privileged. This is a no-op as this code always
8260 runs with user privilege now that we no longer support running sshd with
8261 privilege separation disabled, but as long as the privsep skeleton is there
8262 we should follow the rules.
8263 MIME-Version: 1.0
8264 Content-Type: text/plain; charset=UTF-8
8265 Content-Transfer-Encoding: 8bit
8266
8267 bz#2969 with patch from Erik Sjölund
8268
8269 OpenBSD-Commit-ID: 2b708401a5a8d6133c865d7698d9852210dca846
8270
8271commit d9ecfaba0b2f1887d20e4368230632e709ca83be
8272Author: jmc@openbsd.org <jmc@openbsd.org>
8273Date: Mon Feb 18 07:02:34 2019 +0000
8274
8275 upstream: sync the description of ~/.ssh/config with djm's updated
8276
8277 description in ssh.1; issue pointed out by andreas kahari
8278
8279 ok dtucker djm
8280
8281 OpenBSD-Commit-ID: 1b01ef0ae2c6328165150badae317ec92e52b01c
8282
8283commit 38e83e4f219c752ebb1560633b73f06f0392018b
8284Author: djm@openbsd.org <djm@openbsd.org>
8285Date: Tue Feb 12 23:53:10 2019 +0000
8286
8287 upstream: fix regression in r1.302 reported by naddy@ - only the first
8288
8289 public key from the agent was being attempted for use.
8290
8291 OpenBSD-Commit-ID: 07116aea521a04888718b2157f1ca723b2f46c8d
8292
8293commit 5c68ea8da790d711e6dd5f4c30d089c54032c59a
8294Author: djm@openbsd.org <djm@openbsd.org>
8295Date: Mon Feb 11 09:44:42 2019 +0000
8296
8297 upstream: cleanup GSSAPI authentication context after completion of the
8298
8299 authmethod. Move function-static GSSAPI state to the client Authctxt
8300 structure. Make static a bunch of functions that aren't used outside this
8301 file.
8302
8303 Based on patch from Markus Schmidt <markus@blueflash.cc>; ok markus@
8304
8305 OpenBSD-Commit-ID: 497fb792c0ddb4f1ba631b6eed526861f115dbe5
8306
8307commit a8c807f1956f81a92a758d3d0237d0ff06d0be5d
8308Author: benno@openbsd.org <benno@openbsd.org>
8309Date: Sun Feb 10 16:35:41 2019 +0000
8310
8311 upstream: ssh-keygen -D pkcs11.so needs to initialize pkcs11
8312
8313 interactive, so it can ask for the smartcards PIN. ok markus@
8314
8315 OpenBSD-Commit-ID: 1be7ccf88f1876e0fc4d7c9b3f96019ac5655bab
8316
8317commit 3d896c157c722bc47adca51a58dca859225b5874
8318Author: djm@openbsd.org <djm@openbsd.org>
8319Date: Sun Feb 10 11:15:52 2019 +0000
8320
8321 upstream: when checking that filenames sent by the server side
8322
8323 match what the client requested, be prepared to handle shell-style brace
8324 alternations, e.g. "{foo,bar}".
8325
8326 "looks good to me" millert@ + in snaps for the last week courtesy
8327 deraadt@
8328
8329 OpenBSD-Commit-ID: 3b1ce7639b0b25b2248e3a30f561a548f6815f3e
8330
8331commit 318e4f8548a4f5c0c913f61e27d4fc21ffb1eaae
8332Author: djm@openbsd.org <djm@openbsd.org>
8333Date: Sun Feb 10 11:10:57 2019 +0000
8334
8335 upstream: syslog when connection is dropped for attempting to run a
8336
8337 command when ForceCommand=internal-sftp is in effect; bz2960; ok dtucker@
8338
8339 OpenBSD-Commit-ID: 8c87fa66d7fc6c0fffa3a3c28e8ab5e8dde234b8
8340
8341commit 2ff2e19653b8c0798b8b8eff209651bdb1be2761
8342Author: Damien Miller <djm@mindrot.org>
8343Date: Fri Feb 8 14:53:35 2019 +1100
8344
8345 don't set $MAIL if UsePam=yes
8346
8347 PAM typically specifies the user environment if it's enabled, so don't
8348 second guess. bz#2937; ok dtucker@
8349
8350commit 03e92dd27d491fe6d1a54e7b2f44ef1b0a916e52
8351Author: Damien Miller <djm@mindrot.org>
8352Date: Fri Feb 8 14:50:36 2019 +1100
8353
8354 use same close logic for stderr as stdout
8355
8356 Avoids sending SIGPIPE to child processes after their parent exits
8357 if they attempt to write to stderr.
8358
8359 Analysis and patch from JD Paul; patch reworked by Jakub Jelen and
8360 myself. bz#2071; ok dtucker@
8361
8362commit 8c53d409baeeaf652c0c125a9b164edc9dbeb6de
8363Author: dtucker@openbsd.org <dtucker@openbsd.org>
8364Date: Tue Feb 5 11:35:56 2019 +0000
8365
8366 upstream: Adapt code in the non-USE_PIPES codepath to the new packet
8367
8368 API. This code is not normally reachable since USE_PIPES is always defined.
8369 bz#2961, patch from adrian.fita at gmail com.
8370
8371 OpenBSD-Commit-ID: 8d8428d678d1d5eb4bb21921df34e8173e6d238a
8372
8373commit 7a7fdca78de4b4774950be056099e579ef595414
8374Author: djm@openbsd.org <djm@openbsd.org>
8375Date: Mon Feb 4 23:37:54 2019 +0000
8376
8377 upstream: fix NULL-deref crash in PKCS#11 code when attempting
8378
8379 login to a token requiring a PIN; reported by benno@ fix mostly by markus@
8380
8381 OpenBSD-Commit-ID: 438d0b114b1b4ba25a9869733db1921209aa9a31
8382
8383commit cac302a4b42a988e54d32eb254b29b79b648dbf5
8384Author: dtucker@openbsd.org <dtucker@openbsd.org>
8385Date: Mon Feb 4 02:39:42 2019 +0000
8386
8387 upstream: Remove obsolete "Protocol" from commented out examples. Patch
8388
8389 from samy.mahmoudi at gmail com.
8390
8391 OpenBSD-Commit-ID: 16aede33dae299725a03abdac5dcb4d73f5d0cbf
8392
8393commit 483b3b638500fd498b4b529356e5a0e18cf76891
8394Author: dtucker@openbsd.org <dtucker@openbsd.org>
8395Date: Fri Feb 1 03:52:23 2019 +0000
8396
8397 upstream: Save connection timeout and restore for 2nd and
8398
8399 subsequent attempts, preventing them from having no timeout. bz#2918, ok
8400 djm@
8401
8402 OpenBSD-Commit-ID: 4977f1d0521d9b6bba0c9a20d3d226cefac48292
8403
8404commit 5f004620fdc1b2108139300ee12f4014530fb559
8405Author: markus@openbsd.org <markus@openbsd.org>
8406Date: Wed Jan 30 19:51:15 2019 +0000
8407
8408 upstream: Add authors for public domain sntrup4591761 code;
8409
8410 confirmed by Daniel J. Bernstein
8411
8412 OpenBSD-Commit-ID: b4621f22b8b8ef13e063c852af5e54dbbfa413c1
8413
8414commit 2c21b75a7be6ebdcbceaebb43157c48dbb36f3d8
8415Author: jmc@openbsd.org <jmc@openbsd.org>
8416Date: Sun Jan 27 07:14:11 2019 +0000
8417
8418 upstream: add -T to usage();
8419
8420 OpenBSD-Commit-ID: a7ae14d9436c64e1bd05022329187ea3a0ce1899
8421
8422commit 19a0f0529d3df04118da829528cac7ceff380b24
8423Author: dtucker@openbsd.org <dtucker@openbsd.org>
8424Date: Mon Jan 28 03:50:39 2019 +0000
8425
8426 upstream: The test sshd_config in in $OBJ.
8427
8428 OpenBSD-Regress-ID: 1e5d908a286d8e7de3a15a0020c8857f3a7c9172
8429
8430commit 8fe25440206319d15b52d12b948a5dfdec14dca3
8431Author: dtucker@openbsd.org <dtucker@openbsd.org>
8432Date: Mon Jan 28 03:28:10 2019 +0000
8433
8434 upstream: Remove leftover debugging.
8435
8436 OpenBSD-Regress-ID: 3d86c3d4867e46b35af3fd2ac8c96df0ffdcfeb9
8437
8438commit e30d32364d12c351eec9e14be6c61116f9d6cc90
8439Author: dtucker@openbsd.org <dtucker@openbsd.org>
8440Date: Mon Jan 28 00:12:36 2019 +0000
8441
8442 upstream: Enable ssh-dss for the agent test. Disable it for the
8443
8444 certificate test.
8445
8446 OpenBSD-Regress-ID: 388c1e03e1def539d350f139b37d69f12334668d
8447
8448commit ffdde469ed56249f5dc8af98da468dde35531398
8449Author: dtucker@openbsd.org <dtucker@openbsd.org>
8450Date: Mon Jan 28 00:08:26 2019 +0000
8451
8452 upstream: Count the number of key types instead of assuming there
8453
8454 are only two.
8455
8456 OpenBSD-Regress-ID: 0998702c41235782cf0beee396ec49b5056eaed9
8457
8458commit 1d05b4adcba08ab068466e5c08dee2f5417ec53a
8459Author: Corinna Vinschen <vinschen@redhat.com>
8460Date: Sat Jan 26 23:42:40 2019 +0100
8461
8462 Cygwin: only tweak sshd_config file if it's new, drop creating sshd user
8463
8464 The sshd_config tweaks were executed even if the old file was
8465 still in place. Fix that. Also disable sshd user creation.
8466 It's not used on Cygwin.
8467
8468commit 89843de0c4c733501f6b4f988098e6e06963df37
8469Author: Corinna Vinschen <vinschen@redhat.com>
8470Date: Sat Jan 26 23:03:12 2019 +0100
8471
8472 Cygwin: Change service name to cygsshd
8473
8474 Microsoft hijacked the sshd service name without asking.
8475
8476commit 2a9b3a2ce411d16cda9c79ab713c55f65b0ec257
8477Author: dtucker@openbsd.org <dtucker@openbsd.org>
8478Date: Sun Jan 27 06:30:53 2019 +0000
8479
8480 upstream: Generate all key supported key types and enable for keyscan
8481
8482 test.
8483
8484 OpenBSD-Regress-ID: 72f72ff49946c61bc949e1692dd9e3d71370891b
8485
8486commit 391ffc4b9d31fa1f4ad566499fef9176ff8a07dc
8487Author: djm@openbsd.org <djm@openbsd.org>
8488Date: Sat Jan 26 22:41:28 2019 +0000
8489
8490 upstream: check in scp client that filenames sent during
8491
8492 remote->local directory copies satisfy the wildcard specified by the user.
8493
8494 This checking provides some protection against a malicious server
8495 sending unexpected filenames, but it comes at a risk of rejecting wanted
8496 files due to differences between client and server wildcard expansion rules.
8497
8498 For this reason, this also adds a new -T flag to disable the check.
8499
8500 reported by Harry Sintonen
8501 fix approach suggested by markus@;
8502 has been in snaps for ~1wk courtesy deraadt@
8503
8504 OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda
8505
8506commit c2c18a39683db382a15b438632afab3f551d50ce
8507Author: djm@openbsd.org <djm@openbsd.org>
8508Date: Sat Jan 26 22:35:01 2019 +0000
8509
8510 upstream: make ssh-keyscan return a non-zero exit status if it
8511
8512 finds no keys. bz#2903
8513
8514 OpenBSD-Commit-ID: 89f1081fb81d950ebb48e6e73d21807b2723d488
8515
8516commit 05b9a466700b44d49492edc2aa415fc2e8913dfe
8517Author: dtucker@openbsd.org <dtucker@openbsd.org>
8518Date: Thu Jan 24 17:00:29 2019 +0000
8519
8520 upstream: Accept the host key fingerprint as a synonym for "yes"
8521
8522 when accepting an unknown host key. This allows you to paste a fingerprint
8523 obtained out of band into the yes/no prompt and have the client do the
8524 comparison for you. ok markus@ djm@
8525
8526 OpenBSD-Commit-ID: 3c47d10b9f43d3d345e044fd9ec09709583a2767
8527
8528commit bdc6c63c80b55bcbaa66b5fde31c1cb1d09a41eb
8529Author: dtucker@openbsd.org <dtucker@openbsd.org>
8530Date: Thu Jan 24 16:52:17 2019 +0000
8531
8532 upstream: Have progressmeter force an update at the beginning and
8533
8534 end of each transfer. Fixes the problem recently introduces where very quick
8535 transfers do not display the progressmeter at all. Spotted by naddy@
8536
8537 OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a
8538
8539commit 258e6ca003e47f944688ad8b8de087b58a7d966c
8540Author: dtucker@openbsd.org <dtucker@openbsd.org>
8541Date: Thu Jan 24 02:42:23 2019 +0000
8542
8543 upstream: Check for both EAGAIN and EWOULDBLOCK. This is a no-op
8544
8545 in OpenBSD (they are the same value) but makes things easier in -portable
8546 where they may be distinct values. "sigh ok" deraadt@
8547
8548 (ID sync only, portable already had this change).
8549
8550 OpenBSD-Commit-ID: 91f2bc7c0ecec905915ed59fa37feb9cc90e17d7
8551
8552commit 281ce042579b834cdc1e74314f1fb2eeb75d2612
8553Author: dtucker@openbsd.org <dtucker@openbsd.org>
8554Date: Thu Jan 24 02:34:52 2019 +0000
8555
8556 upstream: Always initialize 2nd arg to hpdelim2. It populates that
8557
8558 *ONLY IF* there's a delimiter. If there's not (the common case) it checked
8559 uninitialized memory, which usually passed, but if not would cause spurious
8560 failures when the uninitialized memory happens to contain "/". ok deraadt.
8561
8562 OpenBSD-Commit-ID: 4291611eaf2a53d4c92f4a57c7f267c9f944e0d3
8563
8564commit d05ea255678d9402beda4416cd0360f3e5dfe938
8565Author: dtucker@openbsd.org <dtucker@openbsd.org>
8566Date: Wed Jan 23 21:50:56 2019 +0000
8567
8568 upstream: Remove support for obsolete host/port syntax.
8569
8570 host/port was added in 2001 as an alternative to host:port syntax for
8571 the benefit of IPv6 users. These days there are establised standards
8572 for this like [::1]:22 and the slash syntax is easily mistaken for CIDR
8573 notation, which OpenSSH now supports for some things. Remove the slash
8574 notation from ListenAddress and PermitOpen. bz#2335, patch from jjelen
8575 at redhat.com, ok markus@
8576
8577 OpenBSD-Commit-ID: fae5f4e23c51a368d6b2d98376069ac2b10ad4b7
8578
8579commit 177d6c80c557a5e060cd343a0c116a2f1a7f43db
8580Author: dtucker@openbsd.org <dtucker@openbsd.org>
8581Date: Wed Jan 23 20:48:52 2019 +0000
8582
8583 upstream: Remove duplicate word. bz#2958, patch from jjelen at
8584
8585 redhat.com
8586
8587 OpenBSD-Commit-ID: cca3965a8333f2b6aae48b79ec1d72f7a830dd2c
8588
8589commit be3e6cba95dffe5fcf190c713525b48c837e7875
8590Author: dtucker@openbsd.org <dtucker@openbsd.org>
8591Date: Wed Jan 23 09:49:00 2019 +0000
8592
8593 upstream: Remove 3 as a guess for possible generator during moduli
8594
8595 generation. It's not mentioned in RFC4419 and it's not possible for
8596 Sophie-Germain primes greater than 5. bz#2330, from Christian Wittenhorst ,
8597 ok djm@ tb@
8598
8599 OpenBSD-Commit-ID: 1467652e6802ad3333b0959282d8d49dfe22c8cd
8600
8601commit 8976f1c4b2721c26e878151f52bdf346dfe2d54c
8602Author: dtucker@openbsd.org <dtucker@openbsd.org>
8603Date: Wed Jan 23 08:01:46 2019 +0000
8604
8605 upstream: Sanitize scp filenames via snmprintf. To do this we move
8606
8607 the progressmeter formatting outside of signal handler context and have the
8608 atomicio callback called for EINTR too. bz#2434 with contributions from djm
8609 and jjelen at redhat.com, ok djm@
8610
8611 OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8
8612
8613commit 6249451f381755f792c6b9e2c2f80cdc699c14e2
8614Author: Darren Tucker <dtucker@dtucker.net>
8615Date: Thu Jan 24 10:00:20 2019 +1100
8616
8617 For broken read/readv comparisons, poll(RW).
8618
8619 In the cases where we can't compare to read or readv function pointers
8620 for some reason we currently ifdef out the poll() used to block while
8621 waiting for reads or writes, falling back to busy waiting. This restores
8622 the poll() in this case, but has it always check for read or write,
8623 removing an inline ifdef in the process.
8624
8625commit 5cb503dff4db251520e8bf7d23b9c97c06eee031
8626Author: Darren Tucker <dtucker@dtucker.net>
8627Date: Thu Jan 24 09:55:16 2019 +1100
8628
8629 Include unistd.h for strmode().
8630
8631commit f236ca2741f29b5c443c0b2db3aa9afb9ad9befe
8632Author: Darren Tucker <dtucker@dtucker.net>
8633Date: Thu Jan 24 09:50:58 2019 +1100
8634
8635 Also undef SIMPLEQ_FOREACH_SAFE.
8636
8637 Prevents macro redefinition warning on at least NetBSD 6.1.
8638
8639commit be063945e4e7d46b1734d973bf244c350fae172a
8640Author: djm@openbsd.org <djm@openbsd.org>
8641Date: Wed Jan 23 04:51:02 2019 +0000
8642
8643 upstream: allow auto-incrementing certificate serial number for certs
8644
8645 signed in a single commandline.
8646
8647 OpenBSD-Commit-ID: 39881087641efb8cd83c7ec13b9c98280633f45b
8648
8649commit 851f80328931975fe68f71af363c4537cb896da2
8650Author: djm@openbsd.org <djm@openbsd.org>
8651Date: Wed Jan 23 04:16:22 2019 +0000
8652
8653 upstream: move a bunch of global flag variables to main(); make the
8654
8655 rest static
8656
8657 OpenBSD-Commit-ID: fa431d92584e81fe99f95882f4c56b43fe3242dc
8658
8659commit 2265402dc7d701a9aca9f8a7b7b0fd45b65c479f
8660Author: Damien Miller <djm@mindrot.org>
8661Date: Wed Jan 23 13:03:16 2019 +1100
8662
8663 depend
8664
8665commit 2c223878e53cc46def760add459f5f7c4fb43e35
8666Author: djm@openbsd.org <djm@openbsd.org>
8667Date: Wed Jan 23 02:01:10 2019 +0000
8668
8669 upstream: switch mainloop from select(2) to poll(2); ok deraadt@
8670
8671 OpenBSD-Commit-ID: 37645419a330037d297f6f0adc3b3663e7ae7b2e
8672
8673commit bb956eaa94757ad058ff43631c3a7d6c94d38c2f
8674Author: djm@openbsd.org <djm@openbsd.org>
8675Date: Wed Jan 23 00:30:41 2019 +0000
8676
8677 upstream: pass most arguments to the KEX hash functions as sshbuf
8678
8679 rather than pointer+length; ok markus@
8680
8681 OpenBSD-Commit-ID: ef0c89c52ccc89817a13a5205725148a28492bf7
8682
8683commit d691588b8e29622c66abf8932362b522cf7f4051
8684Author: djm@openbsd.org <djm@openbsd.org>
8685Date: Tue Jan 22 22:58:50 2019 +0000
8686
8687 upstream: backoff reading messages from active connections when the
8688
8689 input buffer is too full to read one, or if the output buffer is too full to
8690 enqueue a response; feedback & ok dtucker@
8691
8692 OpenBSD-Commit-ID: df3c5b6d57c968975875de40d8955cbfed05a6c8
8693
8694commit f99ef8de967949a1fc25a5c28263ea32736e5943
8695Author: djm@openbsd.org <djm@openbsd.org>
8696Date: Tue Jan 22 20:48:01 2019 +0000
8697
8698 upstream: add -m to usage(); reminded by jmc@
8699
8700 OpenBSD-Commit-ID: bca476a5236e8f94210290b3e6a507af0434613e
8701
8702commit 41923ce06ac149453debe472238e0cca7d5a2e5f
8703Author: djm@openbsd.org <djm@openbsd.org>
8704Date: Tue Jan 22 12:03:58 2019 +0000
8705
8706 upstream: Correct some bugs in PKCS#11 token PIN handling at
8707
8708 initial login, the attempt at reading the PIN could be skipped in some cases
8709 especially on devices with integrated PIN readers.
8710
8711 based on patch from Daniel Kucera in bz#2652; ok markus@
8712
8713 OpenBSD-Commit-ID: fad70a61c60610afe8bb0db538c90e343e75e58e
8714
8715commit 2162171ad517501ba511fa9f8191945d01857bb4
8716Author: djm@openbsd.org <djm@openbsd.org>
8717Date: Tue Jan 22 12:00:50 2019 +0000
8718
8719 upstream: Support keys that set the CKA_ALWAYS_AUTHENTICATE by
8720
8721 requring a fresh login after the C_SignInit operation.
8722
8723 based on patch from Jakub Jelen in bz#2638; ok markus
8724
8725 OpenBSD-Commit-ID: a76e66996ba7c0923b46b74d46d499b811786661
8726
8727commit 7a2cb18a215b2cb335da3dc99489c52a91f4925b
8728Author: djm@openbsd.org <djm@openbsd.org>
8729Date: Tue Jan 22 11:51:25 2019 +0000
8730
8731 upstream: Mention that configuration for the destination host is
8732
8733 not applied to any ProxyJump/-J hosts. This has confused a few people...
8734
8735 OpenBSD-Commit-ID: 03f4f641df6ca236c1bfc69836a256b873db868b
8736
8737commit ecd2f33cb772db4fa76776543599f1c1ab6f9fa0
8738Author: djm@openbsd.org <djm@openbsd.org>
8739Date: Tue Jan 22 11:40:42 2019 +0000
8740
8741 upstream: Include -m in the synopsis for a few more commands that
8742
8743 support it
8744
8745 Be more explicit in the description of -m about where it may be used
8746
8747 Prompted by Jakub Jelen in bz2904
8748
8749 OpenBSD-Commit-ID: 3b398ac5e05d8a6356710d0ff114536c9d71046c
8750
8751commit ff5d2cf4ca373bb4002eef395ed2cbe2ff0826c1
8752Author: djm@openbsd.org <djm@openbsd.org>
8753Date: Tue Jan 22 11:26:16 2019 +0000
8754
8755 upstream: print the full pubkey being attempted at loglevel >=
8756
8757 debug2; bz2939
8758
8759 OpenBSD-Commit-ID: ac0fe5ca1429ebf4d460bad602adc96de0d7e290
8760
8761commit 180b520e2bab33b566b4b0cbac7d5f9940935011
8762Author: djm@openbsd.org <djm@openbsd.org>
8763Date: Tue Jan 22 11:19:42 2019 +0000
8764
8765 upstream: clarify: ssh-keygen -e only writes public keys, never
8766
8767 private
8768
8769 OpenBSD-Commit-ID: 7de7ff6d274d82febf9feb641e2415ffd6a30bfb
8770
8771commit c45616a199c322ca674315de88e788f1d2596e26
8772Author: djm@openbsd.org <djm@openbsd.org>
8773Date: Tue Jan 22 11:00:15 2019 +0000
8774
8775 upstream: mention the new vs. old key formats in the introduction
8776
8777 and give some hints on how keys may be converted or written in the old
8778 format.
8779
8780 OpenBSD-Commit-ID: 9c90a9f92eddc249e07fad1204d0e15c8aa13823
8781
8782commit fd8eb1383a34c986a00ef13d745ae9bd3ea21760
8783Author: jmc@openbsd.org <jmc@openbsd.org>
8784Date: Tue Jan 22 06:58:31 2019 +0000
8785
8786 upstream: tweak previous;
8787
8788 OpenBSD-Commit-ID: d2a80e389da8e7ed71978643d8cbaa8605b597a8
8789
8790commit 68e924d5473c00057f8532af57741d258c478223
8791Author: tb@openbsd.org <tb@openbsd.org>
8792Date: Mon Jan 21 23:55:12 2019 +0000
8793
8794 upstream: Forgot to add -J to the synopsis.
8795
8796 OpenBSD-Commit-ID: 26d95e409a0b72526526fc56ca1caca5cc3d3c5e
8797
8798commit 622dedf1a884f2927a9121e672bd9955e12ba108
8799Author: tb@openbsd.org <tb@openbsd.org>
8800Date: Mon Jan 21 22:50:42 2019 +0000
8801
8802 upstream: Add a -J option as a shortcut for -o Proxyjump= to scp(1)
8803
8804 and sftp(1) to match ssh(1)'s interface.
8805
8806 ok djm
8807
8808 OpenBSD-Commit-ID: a75bc2d5f329caa7229a7e9fe346c4f41c2663fc
8809
8810commit c882d74652800150d538e22c80dd2bd3cdd5fae2
8811Author: Darren Tucker <dtucker@dtucker.net>
8812Date: Tue Jan 22 20:38:40 2019 +1100
8813
8814 Allow building against OpenSSL dev (3.x) version.
8815
8816commit d5520393572eb24aa0e001a1c61f49b104396e45
8817Author: Damien Miller <djm@mindrot.org>
8818Date: Tue Jan 22 10:50:40 2019 +1100
8819
8820 typo
8821
8822commit 2de9cec54230998ab10161576f77860a2559ccb7
8823Author: Damien Miller <djm@mindrot.org>
8824Date: Tue Jan 22 10:49:52 2019 +1100
8825
8826 add missing header
8827
8828commit 533cfb01e49a2a30354e191669dc3159e03e99a7
8829Author: djm@openbsd.org <djm@openbsd.org>
8830Date: Mon Jan 21 22:18:24 2019 +0000
8831
8832 upstream: switch sntrup implementation source from supercop to
8833
8834 libpqcrypto; the latter is almost identical but doesn't rely on signed
8835 underflow to implement an optimised integer sort; from markus@
8836
8837 OpenBSD-Commit-ID: cd09bbf0e0fcef1bedca69fdf7990dc360567cf8
8838
8839commit d50ab3cd6fb859888a26b4d4e333239b4f6bf573
8840Author: Damien Miller <djm@mindrot.org>
8841Date: Tue Jan 22 00:02:23 2019 +1100
8842
8843 new files need includes.h
8844
8845commit c7670b091a7174760d619ef6738b4f26b2093301
8846Author: djm@openbsd.org <djm@openbsd.org>
8847Date: Mon Jan 21 12:53:35 2019 +0000
8848
8849 upstream: add "-v" flags to ssh-add and ssh-pkcs11-helper to turn up
8850
8851 debug verbosity.
8852
8853 Make ssh-agent turn on ssh-pkcs11-helper's verbosity when it is run
8854 in debug mode ("ssh-agent -d"), so we get to see errors from the
8855 PKCS#11 code.
8856
8857 ok markus@
8858
8859 OpenBSD-Commit-ID: 0a798643c6a92a508df6bd121253ba1c8bee659d
8860
8861commit 49d8c8e214d39acf752903566b105d06c565442a
8862Author: djm@openbsd.org <djm@openbsd.org>
8863Date: Mon Jan 21 12:50:12 2019 +0000
8864
8865 upstream: adapt to changes in KEX APIs and file removals
8866
8867 OpenBSD-Regress-ID: 54d6857e7c58999c7a6d40942ab0fed3529f43ca
8868
8869commit 35ecc53a83f8e8baab2e37549addfd05c73c30f1
8870Author: djm@openbsd.org <djm@openbsd.org>
8871Date: Mon Jan 21 12:35:20 2019 +0000
8872
8873 upstream: adapt to changes in KEX API and file removals
8874
8875 OpenBSD-Regress-ID: 92cad022d3b0d11e08f3e0055d6a14b8f994c0d7
8876
8877commit 7d69aae64c35868cc4f644583ab973113a79480e
8878Author: djm@openbsd.org <djm@openbsd.org>
8879Date: Mon Jan 21 12:29:35 2019 +0000
8880
8881 upstream: adapt to bignum1 API removal and bignum2 API change
8882
8883 OpenBSD-Regress-ID: cea6ff270f3d560de86b355a87a2c95b55a5ca63
8884
8885commit beab553f0a9578ef9bffe28b2c779725e77b39ec
8886Author: djm@openbsd.org <djm@openbsd.org>
8887Date: Mon Jan 21 09:13:41 2019 +0000
8888
8889 upstream: remove hack to use non-system libcrypto
8890
8891 OpenBSD-Regress-ID: ce72487327eee4dfae1ab0212a1f33871fe0809f
8892
8893commit 4dc06bd57996f1a46b4c3bababe0d09bc89098f7
8894Author: Damien Miller <djm@mindrot.org>
8895Date: Mon Jan 21 23:14:04 2019 +1100
8896
8897 depend
8898
8899commit 70edd73edc4df54e5eee50cd27c25427b34612f8
8900Author: djm@openbsd.org <djm@openbsd.org>
8901Date: Mon Jan 21 12:08:13 2019 +0000
8902
8903 upstream: fix reversed arguments to kex_load_hostkey(); manifested as
8904
8905 errors in cert-hostkey.sh regress failures.
8906
8907 OpenBSD-Commit-ID: 12dab63850b844f84d5a67e86d9e21a42fba93ba
8908
8909commit f1185abbf0c9108e639297addc77f8757ee00eb3
8910Author: djm@openbsd.org <djm@openbsd.org>
8911Date: Mon Jan 21 11:22:00 2019 +0000
8912
8913 upstream: forgot to cvs add this file in previous series of commits;
8914
8915 grrr
8916
8917 OpenBSD-Commit-ID: bcff316c3e7da8fd15333e05d244442c3aaa66b0
8918
8919commit 7bef390b625bdc080f0fd4499ef03cef60fca4fa
8920Author: djm@openbsd.org <djm@openbsd.org>
8921Date: Mon Jan 21 10:44:21 2019 +0000
8922
8923 upstream: nothing shall escape this purge
8924
8925 OpenBSD-Commit-ID: 4795b0ff142b45448f7e15f3c2f77a947191b217
8926
8927commit aaca72d6f1279b842066e07bff797019efeb2c23
8928Author: djm@openbsd.org <djm@openbsd.org>
8929Date: Mon Jan 21 10:40:11 2019 +0000
8930
8931 upstream: rename kex->kem_client_pub -> kex->client_pub now that
8932
8933 KEM has been renamed to kexgen
8934
8935 from markus@ ok djm@
8936
8937 OpenBSD-Commit-ID: fac6da5dc63530ad0da537db022a9a4cfbe8bed8
8938
8939commit 70867e1ca2eb08bbd494fe9c568df4fd3b35b867
8940Author: djm@openbsd.org <djm@openbsd.org>
8941Date: Mon Jan 21 10:38:54 2019 +0000
8942
8943 upstream: merge kexkem[cs] into kexgen
8944
8945 from markus@ ok djm@
8946
8947 OpenBSD-Commit-ID: 87d886b7f1812ff9355fda1435f6ea9b71a0ac89
8948
8949commit 71e67fff946396caa110a7964da23480757258ff
8950Author: djm@openbsd.org <djm@openbsd.org>
8951Date: Mon Jan 21 10:35:09 2019 +0000
8952
8953 upstream: pass values used in KEX hash computation as sshbuf
8954
8955 rather than pointer+len
8956
8957 suggested by me; implemented by markus@ ok me
8958
8959 OpenBSD-Commit-ID: 994f33c464f4a9e0f1d21909fa3e379f5a0910f0
8960
8961commit 4b83e2a2cc0c12e671a77eaba1c1245894f4e884
8962Author: djm@openbsd.org <djm@openbsd.org>
8963Date: Mon Jan 21 10:33:49 2019 +0000
8964
8965 upstream: remove kex_derive_keys_bn wrapper; no unused since the
8966
8967 DH-like KEX methods have moved to KEM
8968
8969 from markus@ ok djm@
8970
8971 OpenBSD-Commit-ID: bde9809103832f349545e4f5bb733d316db9a060
8972
8973commit 92dda34e373832f34a1944e5d9ebbebb184dedc1
8974Author: djm@openbsd.org <djm@openbsd.org>
8975Date: Mon Jan 21 10:29:56 2019 +0000
8976
8977 upstream: use KEM API for vanilla ECDH
8978
8979 from markus@ ok djm@
8980
8981 OpenBSD-Commit-ID: 6fbff96339a929835536b5730585d1d6057a352c
8982
8983commit b72357217cbe510a3ae155307a7be6b9181f1d1b
8984Author: Damien Miller <djm@mindrot.org>
8985Date: Mon Jan 21 23:11:21 2019 +1100
8986
8987 fixup missing ssherr.h
8988
8989commit 9c9c97e14fe190931f341876ad98213e1e1dc19f
8990Author: djm@openbsd.org <djm@openbsd.org>
8991Date: Mon Jan 21 10:28:01 2019 +0000
8992
8993 upstream: use KEM API for vanilla DH KEX
8994
8995 from markus@ ok djm@
8996
8997 OpenBSD-Commit-ID: af56466426b08a8be275412ae2743319e3d277c9
8998
8999commit 2f6a9ddbbf6ca8623c53c323ff17fb6d68d66970
9000Author: djm@openbsd.org <djm@openbsd.org>
9001Date: Mon Jan 21 10:24:09 2019 +0000
9002
9003 upstream: use KEM API for vanilla c25519 KEX
9004
9005 OpenBSD-Commit-ID: 38d937b85ff770886379dd66a8f32ab0c1c35c1f
9006
9007commit dfd591618cdf2c96727ac0eb65f89cf54af0d97e
9008Author: djm@openbsd.org <djm@openbsd.org>
9009Date: Mon Jan 21 10:20:12 2019 +0000
9010
9011 upstream: Add support for a PQC KEX/KEM:
9012
9013 sntrup4591761x25519-sha512@tinyssh.org using the Streamlined NTRU Prime
9014 4591^761 implementation from SUPERCOP coupled with X25519 as a stop-loss. Not
9015 enabled by default.
9016
9017 introduce KEM API; a simplified framework for DH-ish KEX methods.
9018
9019 from markus@ feedback & ok djm@
9020
9021 OpenBSD-Commit-ID: d687f76cffd3561dd73eb302d17a1c3bf321d1a7
9022
9023commit b1b2ff4ed559051d1035419f8f236275fa66d5d6
9024Author: djm@openbsd.org <djm@openbsd.org>
9025Date: Mon Jan 21 10:07:22 2019 +0000
9026
9027 upstream: factor out kex_verify_hostkey() - again, duplicated
9028
9029 almost exactly across client and server for several KEX methods.
9030
9031 from markus@ ok djm@
9032
9033 OpenBSD-Commit-ID: 4e4a16d949dadde002a0aacf6d280a684e20829c
9034
9035commit bb39bafb6dc520cc097780f4611a52da7f19c3e2
9036Author: djm@openbsd.org <djm@openbsd.org>
9037Date: Mon Jan 21 10:05:09 2019 +0000
9038
9039 upstream: factor out kex_load_hostkey() - this is duplicated in
9040
9041 both the client and server implementations for most KEX methods.
9042
9043 from markus@ ok djm@
9044
9045 OpenBSD-Commit-ID: 8232fa7c21fbfbcaf838313b0c166dc6c8762f3c
9046
9047commit dec5e9d33891e3bc3f1395d7db0e56fdc7f86dfc
9048Author: djm@openbsd.org <djm@openbsd.org>
9049Date: Mon Jan 21 10:03:37 2019 +0000
9050
9051 upstream: factor out kex_dh_compute_key() - it's shared between
9052
9053 plain DH KEX and DH GEX in both the client and server implementations
9054
9055 from markus@ ok djm@
9056
9057 OpenBSD-Commit-ID: 12186e18791fffcd4642c82e7e0cfdd7ea37e2ec
9058
9059commit e93bd98eab79b9a78f64ee8dd4dffc4d3979c7ae
9060Author: djm@openbsd.org <djm@openbsd.org>
9061Date: Mon Jan 21 10:00:23 2019 +0000
9062
9063 upstream: factor out DH keygen; it's identical between the client
9064
9065 and the server
9066
9067 from markus@ ok djm@
9068
9069 OpenBSD-Commit-ID: 2be57f6a0d44f1ab2c8de2b1b5d6f530c387fae9
9070
9071commit 5ae3f6d314465026d028af82609c1d49ad197655
9072Author: djm@openbsd.org <djm@openbsd.org>
9073Date: Mon Jan 21 09:55:52 2019 +0000
9074
9075 upstream: save the derived session id in kex_derive_keys() rather
9076
9077 than making each kex method implementation do it.
9078
9079 from markus@ ok djm@
9080
9081 OpenBSD-Commit-ID: d61ade9c8d1e13f665f8663c552abff8c8a30673
9082
9083commit 7be8572b32a15d5c3dba897f252e2e04e991c307
9084Author: djm@openbsd.org <djm@openbsd.org>
9085Date: Mon Jan 21 09:54:11 2019 +0000
9086
9087 upstream: Make sshpkt_get_bignum2() allocate the bignum it is
9088
9089 parsing rather than make the caller do it. Saves a lot of boilerplate code.
9090
9091 from markus@ ok djm@
9092
9093 OpenBSD-Commit-ID: 576bf784f9a240f5a1401f7005364e59aed3bce9
9094
9095commit 803178bd5da7e72be94ba5b4c4c196d4b542da4d
9096Author: djm@openbsd.org <djm@openbsd.org>
9097Date: Mon Jan 21 09:52:25 2019 +0000
9098
9099 upstream: remove obsolete (SSH v.1) sshbuf_get/put_bignum1
9100
9101 functions
9102
9103 from markus@ ok djm@
9104
9105 OpenBSD-Commit-ID: 0380b1b2d9de063de3c5a097481a622e6a04943e
9106
9107commit f3ebaffd8714be31d4345f90af64992de4b3bba2
9108Author: djm@openbsd.org <djm@openbsd.org>
9109Date: Mon Jan 21 09:49:37 2019 +0000
9110
9111 upstream: fix all-zero check in kexc25519_shared_key
9112
9113 from markus@ ok djm@
9114
9115 OpenBSD-Commit-ID: 60b1d364e0d9d34d1d1ef1620cb92e36cf06712d
9116
9117commit 9d1a9771d0ad3a83af733bf3d2650b53f43c269f
9118Author: jmc@openbsd.org <jmc@openbsd.org>
9119Date: Mon Jan 21 07:09:10 2019 +0000
9120
9121 upstream: - -T was added to the first synopsis by mistake - since
9122
9123 "..." denotes optional, no need to surround it in []
9124
9125 ok djm
9126
9127 OpenBSD-Commit-ID: 918f6d8eed4e0d8d9ef5eadae1b8983d796f0e25
9128
9129commit 2f0bad2bf85391dbb41315ab55032ec522660617
9130Author: Darren Tucker <dtucker@dtucker.net>
9131Date: Mon Jan 21 21:28:27 2019 +1100
9132
9133 Make --with-rpath take a flag instead of yes/no.
9134
9135 Linkers need various flags for -rpath and similar, so make --with-rpath
9136 take an optional flag argument which is passed to the linker. ok djm@
9137
9138commit 23490a6c970ea1d03581a3b4208f2eb7a675f453
9139Author: Damien Miller <djm@mindrot.org>
9140Date: Mon Jan 21 15:05:43 2019 +1100
9141
9142 fix previous test
9143
9144commit b6dd3277f2c49f9584a2097bc792e8f480397e87
9145Author: Darren Tucker <dtucker@dtucker.net>
9146Date: Mon Jan 21 13:50:17 2019 +1100
9147
9148 Wrap ECC static globals in EC_KEY_METHOD_NEW too.
9149
9150commit b2eb9db35b7191613f2f4b934d57b25938bb34b3
9151Author: Damien Miller <djm@mindrot.org>
9152Date: Mon Jan 21 12:53:40 2019 +1100
9153
9154 pass TEST_SSH_SSHPKCS11HELPER to regress tests
9155
9156commit ba58a529f45b3dae2db68607d8c54ae96e90e705
9157Author: Damien Miller <djm@mindrot.org>
9158Date: Mon Jan 21 12:31:29 2019 +1100
9159
9160 make agent-pkcs11 search harder for softhsm2.so
9161
9162commit 662be40c62339ab645113c930ce689466f028938
9163Author: djm@openbsd.org <djm@openbsd.org>
9164Date: Mon Jan 21 02:05:38 2019 +0000
9165
9166 upstream: always print the caller's error message in ossl_error(),
9167
9168 even when there are no libcrypto errors to report.
9169
9170 OpenBSD-Commit-ID: 09ebaa8f706e0eccedd209775baa1eee2ada806a
9171
9172commit ce46c3a077dfb4c531ccffcfff03f37775725b75
9173Author: djm@openbsd.org <djm@openbsd.org>
9174Date: Mon Jan 21 02:01:03 2019 +0000
9175
9176 upstream: get the ex_data (pkcs11_key object) back from the keys at
9177
9178 the index at which it was inserted, rather than assuming index 0
9179
9180 OpenBSD-Commit-ID: 1f3a6ce0346c8014e895e50423bef16401510aa8
9181
9182commit 0a5f2ea35626022299ece3c8817a1abe8cf37b3e
9183Author: djm@openbsd.org <djm@openbsd.org>
9184Date: Mon Jan 21 01:05:00 2019 +0000
9185
9186 upstream: GSSAPI code got missed when converting to new packet API
9187
9188 OpenBSD-Commit-ID: 37e4f06ab4a0f4214430ff462ba91acba28b7851
9189
9190commit 2efcf812b4c1555ca3aff744820a3b3bccd68298
9191Author: Damien Miller <djm@mindrot.org>
9192Date: Mon Jan 21 11:57:21 2019 +1100
9193
9194 Fix -Wunused when compiling PKCS#11 without ECDSA
9195
9196commit 3c0c657ed7cd335fc05c0852d88232ca7e92a5d9
9197Author: djm@openbsd.org <djm@openbsd.org>
9198Date: Sun Jan 20 23:26:44 2019 +0000
9199
9200 upstream: allow override of ssh-pkcs11-helper binary via
9201
9202 $TEST_SSH_SSHPKCS11HELPER from markus@
9203
9204 OpenBSD-Regress-ID: 7382a3d76746f5a792d106912a5819fd5e49e469
9205
9206commit 760ae37b4505453c6fa4faf1aa39a8671ab053af
9207Author: djm@openbsd.org <djm@openbsd.org>
9208Date: Sun Jan 20 23:25:25 2019 +0000
9209
9210 upstream: adapt agent-pkcs11.sh test to softhsm2 and add support
9211
9212 for ECDSA keys
9213
9214 work by markus@, ok djm@
9215
9216 OpenBSD-Regress-ID: 1ebc2be0e88eff1b6d8be2f9c00cdc60723509fe
9217
9218commit b2ce8b31a1f974a13e6d12e0a0c132b50bc45115
9219Author: djm@openbsd.org <djm@openbsd.org>
9220Date: Sun Jan 20 23:24:19 2019 +0000
9221
9222 upstream: add "extra:" target to run some extra tests that are not
9223
9224 enabled by default (currently includes agent-pkcs11.sh); from markus@
9225
9226 OpenBSD-Regress-ID: 9a969e1adcd117fea174d368dcb9c61eb50a2a3c
9227
9228commit 632976418d60b7193597bbc6ac7ca33981a41aab
9229Author: djm@openbsd.org <djm@openbsd.org>
9230Date: Mon Jan 21 00:47:34 2019 +0000
9231
9232 upstream: use ECDSA_SIG_set0() instead of poking signature values into
9233
9234 structure directly; the latter works on LibreSSL but not on OpenSSL. From
9235 portable.
9236
9237 OpenBSD-Commit-ID: 5b22a1919d9cee907d3f8a029167f70a481891c6
9238
9239commit 5de6ac2bad11175135d9b819b3546db0ca0b4878
9240Author: Damien Miller <djm@mindrot.org>
9241Date: Mon Jan 21 11:44:19 2019 +1100
9242
9243 remove HAVE_DLOPEN that snuck in
9244
9245 portable doesn't use this
9246
9247commit e2cb445d786f7572da2af93e3433308eaed1093a
9248Author: Damien Miller <djm@mindrot.org>
9249Date: Mon Jan 21 11:32:28 2019 +1100
9250
9251 conditionalise ECDSA PKCS#11 support
9252
9253 Require EC_KEY_METHOD support in libcrypto, evidenced by presence
9254 of EC_KEY_METHOD_new() function.
9255
9256commit fcb1b0937182d0137a3c357c89735d0dc5869d54
9257Author: djm@openbsd.org <djm@openbsd.org>
9258Date: Sun Jan 20 23:12:35 2019 +0000
9259
9260 upstream: we use singleton pkcs#11 RSA_METHOD and EC_KEY_METHOD
9261
9262 now, so there is no need to keep a copy of each in the pkcs11_key object.
9263
9264 work by markus@, ok djm@
9265
9266 OpenBSD-Commit-ID: 43b4856516e45c0595f17a8e95b2daee05f12faa
9267
9268commit 6529409e85890cd6df7e5e81d04e393b1d2e4b0b
9269Author: djm@openbsd.org <djm@openbsd.org>
9270Date: Sun Jan 20 23:11:11 2019 +0000
9271
9272 upstream: KNF previous; from markus@
9273
9274 OpenBSD-Commit-ID: 3dfe35e25b310c3968b1e4e53a0cb1d03bda5395
9275
9276commit 58622a8c82f4e2aad630580543f51ba537c1f39e
9277Author: djm@openbsd.org <djm@openbsd.org>
9278Date: Sun Jan 20 23:10:33 2019 +0000
9279
9280 upstream: use OpenSSL's RSA reference counting hooks to
9281
9282 implicitly clean up pkcs11_key objects when their owning RSA object's
9283 reference count drops to zero. Simplifies the cleanup path and makes it more
9284 like ECDSA's
9285
9286 work by markus@, ok djm@
9287
9288 OpenBSD-Commit-ID: 74b9c98f405cd78f7148e9e4a4982336cd3df25c
9289
9290commit f118542fc82a3b3ab0360955b33bc5a271ea709f
9291Author: djm@openbsd.org <djm@openbsd.org>
9292Date: Sun Jan 20 23:08:24 2019 +0000
9293
9294 upstream: make the PKCS#11 RSA code more like the new PKCS#11
9295
9296 ECDSA code: use a single custom RSA_METHOD instead of a method per key
9297
9298 suggested by me, but markus@ did all the work.
9299 ok djm@
9300
9301 OpenBSD-Commit-ID: 8aafcebe923dc742fc5537a995cee549d07e4b2e
9302
9303commit 445cfce49dfc904c6b8ab25afa2f43130296c1a5
9304Author: djm@openbsd.org <djm@openbsd.org>
9305Date: Sun Jan 20 23:05:52 2019 +0000
9306
9307 upstream: fix leak of ECDSA pkcs11_key objects
9308
9309 work by markus, ok djm@
9310
9311 OpenBSD-Commit-ID: 9fc0c4f1d640aaa5f19b8d70f37ea19b8ad284a1
9312
9313commit 8a2467583f0b5760787273796ec929190c3f16ee
9314Author: djm@openbsd.org <djm@openbsd.org>
9315Date: Sun Jan 20 23:03:26 2019 +0000
9316
9317 upstream: use EVP_PKEY_get0_EC_KEY() instead of direct access of
9318
9319 EC_KEY internals as that won't work on OpenSSL
9320
9321 work by markus@, feedback and ok djm@
9322
9323 OpenBSD-Commit-ID: 4a99cdb89fbd6f5155ef8c521c99dc66e2612700
9324
9325commit 24757c1ae309324e98d50e5935478655be04e549
9326Author: djm@openbsd.org <djm@openbsd.org>
9327Date: Sun Jan 20 23:01:59 2019 +0000
9328
9329 upstream: cleanup PKCS#11 ECDSA pubkey loading: the returned
9330
9331 object should never have a DER header
9332
9333 work by markus; feedback and ok djm@
9334
9335 OpenBSD-Commit-ID: b617fa585eddbbf0b1245b58b7a3c4b8d613db17
9336
9337commit 749aef30321595435ddacef2f31d7a8f2b289309
9338Author: djm@openbsd.org <djm@openbsd.org>
9339Date: Sun Jan 20 23:00:12 2019 +0000
9340
9341 upstream: cleanup unnecessary code in ECDSA pkcs#11 signature
9342
9343 work by markus@, feedback and ok djm@
9344
9345 OpenBSD-Commit-ID: affa5ca7d58d59fbd16169f77771dcdbd2b0306d
9346
9347commit 0c50992af49b562970dd0ba3f8f151f1119e260e
9348Author: djm@openbsd.org <djm@openbsd.org>
9349Date: Sun Jan 20 22:57:45 2019 +0000
9350
9351 upstream: cleanup pkcs#11 client code: use sshkey_new in instead
9352
9353 of stack- allocating a sshkey
9354
9355 work by markus@, ok djm@
9356
9357 OpenBSD-Commit-ID: a048eb6ec8aa7fa97330af927022c0da77521f91
9358
9359commit 854bd8674ee5074a239f7cadf757d55454802e41
9360Author: djm@openbsd.org <djm@openbsd.org>
9361Date: Sun Jan 20 22:54:30 2019 +0000
9362
9363 upstream: allow override of the pkcs#11 helper binary via
9364
9365 $SSH_PKCS11_HELPER; needed for regress tests.
9366
9367 work by markus@, ok me
9368
9369 OpenBSD-Commit-ID: f78d8185500bd7c37aeaf7bd27336db62f0f7a83
9370
9371commit 93f02107f44d63a016d8c23ebd2ca9205c495c48
9372Author: djm@openbsd.org <djm@openbsd.org>
9373Date: Sun Jan 20 22:51:37 2019 +0000
9374
9375 upstream: add support for ECDSA keys in PKCS#11 tokens
9376
9377 Work by markus@ and Pedro Martelletto, feedback and ok me@
9378
9379 OpenBSD-Commit-ID: a37d651e221341376636056512bddfc16efb4424
9380
9381commit aa22c20e0c36c2fc610cfcc793b0d14079c38814
9382Author: djm@openbsd.org <djm@openbsd.org>
9383Date: Sun Jan 20 22:03:29 2019 +0000
9384
9385 upstream: add option to test whether keys in an agent are usable,
9386
9387 by performing a signature and a verification using each key "ssh-add -T
9388 pubkey [...]"
9389
9390 work by markus@, ok djm@
9391
9392 OpenBSD-Commit-ID: 931b888a600b6a883f65375bd5f73a4776c6d19b
9393
9394commit a36b0b14a12971086034d53c0c3dfbad07665abe
9395Author: tb@openbsd.org <tb@openbsd.org>
9396Date: Sun Jan 20 02:01:59 2019 +0000
9397
9398 upstream: Fix BN_is_prime_* calls in SSH, the API returns -1 on
9399
9400 error.
9401
9402 Found thanks to BoringSSL's commit 53409ee3d7595ed37da472bc73b010cd2c8a5ffd
9403 by David Benjamin.
9404
9405 ok djm, dtucker
9406
9407 OpenBSD-Commit-ID: 1ee832be3c44b1337f76b8562ec6d203f3b072f8
9408
9409commit ec4776bb01dd8d61fddc7d2a31ab10bf3d3d829a
9410Author: dtucker@openbsd.org <dtucker@openbsd.org>
9411Date: Sun Jan 20 01:12:40 2019 +0000
9412
9413 upstream: DH-GEX min value is now specified in RFC8270. ok djm@
9414
9415 OpenBSD-Commit-ID: 1229d0feb1d0ecefe05bf67a17578b263e991acc
9416
9417commit c90a7928c4191303e76a8c58b9008d464287ae1b
9418Author: Darren Tucker <dtucker@dtucker.net>
9419Date: Mon Jan 21 09:22:36 2019 +1100
9420
9421 Check for cc before gcc.
9422
9423 If cc is something other than gcc and is the system compiler prefer using
9424 that, unless otherwise told via $CC. ok djm@
9425
9426commit 9b655dc9c9a353f0a527f0c6c43a5e35653c9503
9427Author: Damien Miller <djm@mindrot.org>
9428Date: Sun Jan 20 14:55:27 2019 +1100
9429
9430 last bits of old packet API / active_state global
9431
9432commit 3f0786bbe73609ac96e5a0d91425ee21129f8e04
9433Author: Damien Miller <djm@mindrot.org>
9434Date: Sun Jan 20 10:22:18 2019 +1100
9435
9436 remove PAM dependencies on old packet API
9437
9438 Requires some caching of values, because the PAM code isn't
9439 always called with packet context.
9440
9441commit 08f66d9f17e12c1140d1f1cf5c4dce67e915d3cc
9442Author: Damien Miller <djm@mindrot.org>
9443Date: Sun Jan 20 09:58:45 2019 +1100
9444
9445 remove vestiges of old packet API from loginrec.c
9446
9447commit c327813ea1d740e3e367109c17873815aba1328e
9448Author: Damien Miller <djm@mindrot.org>
9449Date: Sun Jan 20 09:45:38 2019 +1100
9450
9451 depend
9452
9453commit 135e302cfdbe91817294317c337cc38c3ff01cba
9454Author: djm@openbsd.org <djm@openbsd.org>
9455Date: Sat Jan 19 22:30:52 2019 +0000
9456
9457 upstream: fix error in refactor: use ssh_packet_disconnect() instead of
9458
9459 sshpkt_error(). The first one logs the error and exits (what we want) instead
9460 of just logging and blundering on.
9461
9462 OpenBSD-Commit-ID: 39f51b43641dce9ce0f408ea6c0e6e077e2e91ae
9463
9464commit 245c6a0b220b58686ee35bc5fc1c359e9be2faaa
9465Author: djm@openbsd.org <djm@openbsd.org>
9466Date: Sat Jan 19 21:45:31 2019 +0000
9467
9468 upstream: remove last traces of old packet API!
9469
9470 with & ok markus@
9471
9472 OpenBSD-Commit-ID: 9bd10437026423eb8245636ad34797a20fbafd7d
9473
9474commit 04c091fc199f17dacf8921df0a06634b454e2722
9475Author: djm@openbsd.org <djm@openbsd.org>
9476Date: Sat Jan 19 21:43:56 2019 +0000
9477
9478 upstream: remove last references to active_state
9479
9480 with & ok markus@
9481
9482 OpenBSD-Commit-ID: 78619a50ea7e4ca2f3b54d4658b3227277490ba2
9483
9484commit ec00f918b8ad90295044266c433340a8adc93452
9485Author: djm@openbsd.org <djm@openbsd.org>
9486Date: Sat Jan 19 21:43:07 2019 +0000
9487
9488 upstream: convert monitor.c to new packet API
9489
9490 with & ok markus@
9491
9492 OpenBSD-Commit-ID: 61ecd154bd9804461a0cf5f495a29d919e0014d5
9493
9494commit 6350e0316981489d4205952d6904d6fedba5bfe0
9495Author: djm@openbsd.org <djm@openbsd.org>
9496Date: Sat Jan 19 21:42:30 2019 +0000
9497
9498 upstream: convert sshd.c to new packet API
9499
9500 with & ok markus@
9501
9502 OpenBSD-Commit-ID: ea569d3eaf9b5cf1bad52779fbfa5fa0b28af891
9503
9504commit a5e2ad88acff2b7d131ee6d5dc5d339b0f8c6a6d
9505Author: djm@openbsd.org <djm@openbsd.org>
9506Date: Sat Jan 19 21:41:53 2019 +0000
9507
9508 upstream: convert session.c to new packet API
9509
9510 with & ok markus@
9511
9512 OpenBSD-Commit-ID: fae817207e23099ddd248960c984f7b7f26ea68e
9513
9514commit 3a00a921590d4c4b7e96df11bb10e6f9253ad45e
9515Author: djm@openbsd.org <djm@openbsd.org>
9516Date: Sat Jan 19 21:41:18 2019 +0000
9517
9518 upstream: convert auth.c to new packet API
9519
9520 with & ok markus@
9521
9522 OpenBSD-Commit-ID: 7e10359f614ff522b52a3f05eec576257794e8e4
9523
9524commit 7ec5cb4d15ed2f2c5c9f5d00e6b361d136fc1e2d
9525Author: djm@openbsd.org <djm@openbsd.org>
9526Date: Sat Jan 19 21:40:48 2019 +0000
9527
9528 upstream: convert serverloop.c to new packet API
9529
9530 with & ok markus@
9531
9532 OpenBSD-Commit-ID: c92dd19b55457541478f95c0d6b318426d86d885
9533
9534commit 64c9598ac05332d1327cbf55334dee4172d216c4
9535Author: djm@openbsd.org <djm@openbsd.org>
9536Date: Sat Jan 19 21:40:21 2019 +0000
9537
9538 upstream: convert the remainder of sshconnect2.c to new packet
9539
9540 API
9541
9542 with & ok markus@
9543
9544 OpenBSD-Commit-ID: 0986d324f2ceb5e8a12ac21c1bb10b3b4b1e0f71
9545
9546commit bc5e1169d101d16e3a5962a928db2bc49a8ef5a3
9547Author: djm@openbsd.org <djm@openbsd.org>
9548Date: Sat Jan 19 21:39:12 2019 +0000
9549
9550 upstream: convert the remainder of clientloop.c to new packet API
9551
9552 with & ok markus@
9553
9554 OpenBSD-Commit-ID: ce2fbbacb86a290f31da1e7bf04cddf2bdae3d1e
9555
9556commit 5ebce136a6105f084db8f0d7ee41981d42daec40
9557Author: Damien Miller <djm@mindrot.org>
9558Date: Sun Jan 20 09:44:53 2019 +1100
9559
9560 upstream: convert auth2.c to new packet API
9561
9562 OpenBSD-Commit-ID: ed831bb95ad228c6791bc18b60ce7a2edef2c999
9563
9564commit 172a592a53ebe8649c4ac0d7946e6c08eb151af6
9565Author: djm@openbsd.org <djm@openbsd.org>
9566Date: Sat Jan 19 21:37:48 2019 +0000
9567
9568 upstream: convert servconf.c to new packet API
9569
9570 with & ok markus@
9571
9572 OpenBSD-Commit-ID: 126553aecca302c9e02fd77e333b9cb217e623b4
9573
9574commit 8cc7a679d29cf6ecccfa08191e688c7f81ef95c2
9575Author: djm@openbsd.org <djm@openbsd.org>
9576Date: Sat Jan 19 21:37:13 2019 +0000
9577
9578 upstream: convert channels.c to new packet API
9579
9580 with & ok markus@
9581
9582 OpenBSD-Commit-ID: 0b8279b56113cbd4011fc91315c0796b63dc862c
9583
9584commit 06232038c794c7dfcb087be0ab0b3e65b09fd396
9585Author: djm@openbsd.org <djm@openbsd.org>
9586Date: Sat Jan 19 21:36:38 2019 +0000
9587
9588 upstream: convert sshconnect.c to new packet API
9589
9590 with & ok markus@
9591
9592 OpenBSD-Commit-ID: 222337cf6c96c347f1022d976fac74b4257c061f
9593
9594commit 25b2ed667216314471bb66752442c55b95792dc3
9595Author: djm@openbsd.org <djm@openbsd.org>
9596Date: Sat Jan 19 21:36:06 2019 +0000
9597
9598 upstream: convert ssh.c to new packet API
9599
9600 with & ok markus@
9601
9602 OpenBSD-Commit-ID: eb146878b24e85c2a09ee171afa6797c166a2e21
9603
9604commit e3128b38623eef2fa8d6e7ae934d3bd08c7e973e
9605Author: djm@openbsd.org <djm@openbsd.org>
9606Date: Sat Jan 19 21:35:25 2019 +0000
9607
9608 upstream: convert mux.c to new packet API
9609
9610 with & ok markus@
9611
9612 OpenBSD-Commit-ID: 4e3893937bae66416e984b282d8f0f800aafd802
9613
9614commit ed1df7226caf3a943a36d580d4d4e9275f8a61ee
9615Author: djm@openbsd.org <djm@openbsd.org>
9616Date: Sat Jan 19 21:34:45 2019 +0000
9617
9618 upstream: convert sshconnect2.c to new packet API
9619
9620 with & ok markus@
9621
9622 OpenBSD-Commit-ID: 1cb869e0d6e03539f943235641ea070cae2ebc58
9623
9624commit 23f22a4aaa923c61ec49a99ebaa383656e87fa40
9625Author: djm@openbsd.org <djm@openbsd.org>
9626Date: Sat Jan 19 21:33:57 2019 +0000
9627
9628 upstream: convert clientloop.c to new packet API
9629
9630 with & ok markus@
9631
9632 OpenBSD-Commit-ID: 497b36500191f452a22abf283aa8d4a9abaee7fa
9633
9634commit ad60b1179c9682ca5aef0b346f99ef68cbbbc4e5
9635Author: djm@openbsd.org <djm@openbsd.org>
9636Date: Sat Jan 19 21:33:13 2019 +0000
9637
9638 upstream: allow sshpkt_fatal() to take a varargs format; we'll
9639
9640 use this to give packet-related fatal error messages more context (esp. the
9641 remote endpoint) ok markus@
9642
9643 OpenBSD-Commit-ID: de57211f9543426b515a8a10a4f481666b2b2a50
9644
9645commit 0fa174ebe129f3d0aeaf4e2d1dd8de745870d0ff
9646Author: djm@openbsd.org <djm@openbsd.org>
9647Date: Sat Jan 19 21:31:32 2019 +0000
9648
9649 upstream: begin landing remaining refactoring of packet parsing
9650
9651 API, started almost exactly six years ago.
9652
9653 This change stops including the old packet_* API by default and makes
9654 each file that requires the old API include it explicitly. We will
9655 commit file-by-file refactoring to remove the old API in consistent
9656 steps.
9657
9658 with & ok markus@
9659
9660 OpenBSD-Commit-ID: 93c98a6b38f6911fd1ae025a1ec57807fb4d4ef4
9661
9662commit 4ae7f80dfd02f2bde912a67c9f338f61e90fa79f
9663Author: tb@openbsd.org <tb@openbsd.org>
9664Date: Sat Jan 19 04:15:56 2019 +0000
9665
9666 upstream: Print an \r in front of the password prompt so parts of
9667
9668 a password that was entered too early are likely clobbered by the prompt.
9669 Idea from doas.
9670
9671 from and ok djm
9672 "i like it" deraadt
9673
9674 OpenBSD-Commit-ID: 5fb97c68df6d8b09ab37f77bca1d84d799c4084e
9675
9676commit a6258e5dc314c7d504ac9f0fbc3be96475581dbe
9677Author: Darren Tucker <dtucker@dtucker.net>
9678Date: Fri Jan 18 11:09:01 2019 +1100
9679
9680 Add minimal fchownat and fchmodat implementations.
9681
9682 Fixes builds on at least OS X Lion, NetBSD 6 and Solaris 10.
9683
9684commit 091093d25802b87d3b2b09f2c88d9f33e1ae5562
9685Author: Darren Tucker <dtucker@dtucker.net>
9686Date: Fri Jan 18 12:11:42 2019 +1300
9687
9688 Add a minimal implementation of utimensat().
9689
9690 Some systems (eg older OS X) do not have utimensat, so provide minimal
9691 implementation in compat layer. Fixes build on at least El Capitan.
9692
9693commit 609644027dde1f82213699cb6599e584c7efcb75
9694Author: djm@openbsd.org <djm@openbsd.org>
9695Date: Tue Jan 1 22:20:16 2019 +0000
9696
9697 upstream: regress bits for banner processing refactor (this test was
9698
9699 depending on ssh returning a particular error message for banner parsing
9700 failure)
9701
9702 reminded by bluhm@
9703
9704 OpenBSD-Regress-ID: f24fc303d40931157431df589b386abf5e1be575
9705
9706commit f47d72ddad75b93d3cbc781718b0fa9046c03df8
9707Author: djm@openbsd.org <djm@openbsd.org>
9708Date: Thu Jan 17 04:45:09 2019 +0000
9709
9710 upstream: tun_fwd_ifnames variable should b
9711
9712 =?UTF-8?q?e=20extern;=20from=20Hanno=20B=C3=B6ck?=
9713 MIME-Version: 1.0
9714 Content-Type: text/plain; charset=UTF-8
9715 Content-Transfer-Encoding: 8bit
9716
9717 OpenBSD-Commit-ID: d53dede6e521161bf04d39d09947db6253a38271
9718
9719commit 943d0965263cae1c080ce5a9d0b5aa341885e55d
9720Author: djm@openbsd.org <djm@openbsd.org>
9721Date: Thu Jan 17 04:20:53 2019 +0000
9722
9723 upstream: include time.h for time(3)/nanosleep(2); from Ian
9724
9725 McKellar
9726
9727 OpenBSD-Commit-ID: 6412ccd06a88f65b207a1089345f51fa1244ea51
9728
9729commit dbb4dec6d5d671b5e9d67ef02162a610ad052068
9730Author: djm@openbsd.org <djm@openbsd.org>
9731Date: Thu Jan 17 01:50:24 2019 +0000
9732
9733 upstream: many of the global variables in this file can be made static;
9734
9735 patch from Markus Schmidt
9736
9737 OpenBSD-Commit-ID: f3db619f67beb53257b21bac0e92b4fb7d5d5737
9738
9739commit 60d8c84e0887514c99c9ce071965fafaa1c3d34a
9740Author: djm@openbsd.org <djm@openbsd.org>
9741Date: Wed Jan 16 23:23:45 2019 +0000
9742
9743 upstream: Add "-h" flag to sftp chown/chgrp/chmod commands to
9744
9745 request they do not follow symlinks. Requires recently-committed
9746 lsetstat@openssh.com extension on the server side.
9747
9748 ok markus@ dtucker@
9749
9750 OpenBSD-Commit-ID: f93bb3f6f7eb2fb7ef1e59126e72714f1626d604
9751
9752commit dbbc7e0eab7262f34b8e0cd6efecd1c77b905ed0
9753Author: djm@openbsd.org <djm@openbsd.org>
9754Date: Wed Jan 16 23:22:10 2019 +0000
9755
9756 upstream: add support for a "lsetstat@openssh.com" extension. This
9757
9758 replicates the functionality of the existing SSH2_FXP_SETSTAT operation but
9759 does not follow symlinks. Based on a patch from Bert Haverkamp in bz#2067 but
9760 with more attribute modifications supported.
9761
9762 ok markus@ dtucker@
9763
9764 OpenBSD-Commit-ID: f7234f6e90db19655d55d936a115ee4ccb6aaf80
9765
9766commit 4a526941d328fc3d97068c6a4cbd9b71b70fe5e1
9767Author: djm@openbsd.org <djm@openbsd.org>
9768Date: Fri Jan 4 03:27:50 2019 +0000
9769
9770 upstream: eliminate function-static attempt counters for
9771
9772 passwd/kbdint authmethods by moving them to the client authctxt; Patch from
9773 Markus Schmidt, ok markus@
9774
9775 OpenBSD-Commit-ID: 4df4404a5d5416eb056f68e0e2f4fa91ba3b3f7f
9776
9777commit 8a8183474c41bd6cebaa917346b549af2239ba2f
9778Author: djm@openbsd.org <djm@openbsd.org>
9779Date: Fri Jan 4 03:23:00 2019 +0000
9780
9781 upstream: fix memory leak of ciphercontext when rekeying; bz#2942
9782
9783 Patch from Markus Schmidt; ok markus@
9784
9785 OpenBSD-Commit-ID: 7877f1b82e249986f1ef98d0ae76ce987d332bdd
9786
9787commit 5bed70afce0907b6217418d0655724c99b683d93
9788Author: djm@openbsd.org <djm@openbsd.org>
9789Date: Tue Jan 1 23:10:53 2019 +0000
9790
9791 upstream: static on global vars, const on handler tables that contain
9792
9793 function pointers; from Mike Frysinger
9794
9795 OpenBSD-Commit-ID: 7ef2305e50d3caa6326286db43cf2cfaf03960e0
9796
9797commit 007a88b48c97d092ed2f501bbdcb70d9925277be
9798Author: djm@openbsd.org <djm@openbsd.org>
9799Date: Thu Dec 27 23:02:11 2018 +0000
9800
9801 upstream: Request RSA-SHA2 signatures for
9802
9803 rsa-sha2-{256|512}-cert-v01@openssh.com cert algorithms; ok markus@
9804
9805 OpenBSD-Commit-ID: afc6f7ca216ccd821656d1c911d2a3deed685033
9806
9807commit eb347d086c35428c47fe52b34588cbbc9b49d9a6
9808Author: djm@openbsd.org <djm@openbsd.org>
9809Date: Thu Dec 27 03:37:49 2018 +0000
9810
9811 upstream: ssh_packet_set_state() now frees ssh->kex implicitly, so
9812
9813 don't do explicit kex_free() beforehand
9814
9815 OpenBSD-Regress-ID: f2f73bad47f62a2040ccba0a72cadcb12eda49cf
9816
9817commit bb542f0cf6f7511a22a08c492861e256a82376a9
9818Author: tedu@openbsd.org <tedu@openbsd.org>
9819Date: Sat Dec 15 00:50:21 2018 +0000
9820
9821 upstream: remove unused and problematic sudo clean. ok espie
9822
9823 OpenBSD-Regress-ID: ca90c20a15a85b661e13e98b80c10e65cd662f7b
9824
9825commit 0a843d9a0e805f14653a555f5c7a8ba99d62c12d
9826Author: djm@openbsd.org <djm@openbsd.org>
9827Date: Thu Dec 27 03:25:24 2018 +0000
9828
9829 upstream: move client/server SSH-* banners to buffers under
9830
9831 ssh->kex and factor out the banner exchange. This eliminates some common code
9832 from the client and server.
9833
9834 Also be more strict about handling \r characters - these should only
9835 be accepted immediately before \n (pointed out by Jann Horn).
9836
9837 Inspired by a patch from Markus Schmidt.
9838 (lots of) feedback and ok markus@
9839
9840 OpenBSD-Commit-ID: 1cc7885487a6754f63641d7d3279b0941890275b
9841
9842commit 434b587afe41c19391821e7392005068fda76248
9843Author: dtucker@openbsd.org <dtucker@openbsd.org>
9844Date: Fri Dec 7 04:36:09 2018 +0000
9845
9846 upstream: Fix calculation of initial bandwidth limits. Account for
9847
9848 written bytes before the initial timer check so that the first buffer written
9849 is accounted. Set the threshold after which the timer is checked such that
9850 the limit starts being computed as soon as possible, ie after the second
9851 buffer is written. This prevents an initial burst of traffic and provides a
9852 more accurate bandwidth limit. bz#2927, ok djm.
9853
9854 OpenBSD-Commit-ID: ff3ef76e4e43040ec198c2718d5682c36b255cb6
9855
9856commit a6a0788cbbe8dfce2819ee43b09c80725742e21c
9857Author: djm@openbsd.org <djm@openbsd.org>
9858Date: Fri Dec 7 03:39:40 2018 +0000
9859
9860 upstream: only consider the ext-info-c extension during the initial
9861
9862 KEX. It shouldn't be sent in subsequent ones, but if it is present we should
9863 ignore it.
9864
9865 This prevents sshd from sending a SSH_MSG_EXT_INFO for REKEX for buggy
9866 these clients. Reported by Jakub Jelen via bz2929; ok dtucker@
9867
9868 OpenBSD-Commit-ID: 91564118547f7807030ec537480303e2371902f9
9869
9870commit 63bba57a32c5bb6158d57cf4c47022daf89c14a0
9871Author: djm@openbsd.org <djm@openbsd.org>
9872Date: Fri Dec 7 03:33:18 2018 +0000
9873
9874 upstream: fix option letter pasto in previous
9875
9876 OpenBSD-Commit-ID: e26c8bf2f2a808f3c47960e1e490d2990167ec39
9877
9878commit 737e4edd82406595815efadc28ed5161b8b0c01a
9879Author: djm@openbsd.org <djm@openbsd.org>
9880Date: Fri Dec 7 03:32:26 2018 +0000
9881
9882 upstream: mention that the ssh-keygen -F (find host in
9883
9884 authorized_keys) and -R (remove host from authorized_keys) options may accept
9885 either a bare hostname or a [hostname]:port combo. bz#2935
9886
9887 OpenBSD-Commit-ID: 5535cf4ce78375968b0d2cd7aa316fa3eb176780
9888
9889commit 8a22ffaa13391cfe5b40316d938fe0fb931e9296
9890Author: Damien Miller <djm@mindrot.org>
9891Date: Fri Dec 7 15:41:16 2018 +1100
9892
9893 expose $SSH_CONNECTION in the PAM environment
9894
9895 This makes the connection 4-tuple available to PAM modules that
9896 wish to use it in decision-making. bz#2741
9897
9898commit a784fa8c7a7b084d63bae82ccfea902131bb45c5
9899Author: Kevin Adler <kadler@us.ibm.com>
9900Date: Wed Dec 12 22:12:45 2018 -0600
9901
9902 Don't pass loginmsg by address now that it's an sshbuf*
9903
9904 In 120a1ec74, loginmsg was changed from the legacy Buffer type
9905 to struct sshbuf*, but it missed changing calls to
9906 sys_auth_allowed_user and sys_auth_record_login which passed
9907 loginmsg by address. Now that it's a pointer, just pass it directly.
9908
9909 This only affects AIX, unless there are out of tree users.
9910
9911commit 285310b897969a63ef224d39e7cc2b7316d86940
9912Author: djm@openbsd.org <djm@openbsd.org>
9913Date: Fri Dec 7 02:31:20 2018 +0000
9914
9915 upstream: no need to allocate channels_pre/channels_post in
9916
9917 channel_init_channels() as we do it anyway in channel_handler_init() that we
9918 call at the end of the function. Fix from Markus Schmidt via bz#2938
9919
9920 OpenBSD-Commit-ID: 74893638af49e3734f1e33a54af1b7ea533373ed
9921
9922commit 87d6cf1cbc91df6815db8fe0acc7c910bc3d18e4
9923Author: djm@openbsd.org <djm@openbsd.org>
9924Date: Fri Nov 30 02:24:52 2018 +0000
9925
9926 upstream: don't attempt to connect to empty SSH_AUTH_SOCK; bz#293
9927
9928 OpenBSD-Commit-ID: 0e8fc8f19f14b21adef7109e0faa583d87c0e929
9929
9930commit 91b19198c3f604f5eef2c56dbe36f29478243141
9931Author: djm@openbsd.org <djm@openbsd.org>
9932Date: Wed Nov 28 06:00:38 2018 +0000
9933
9934 upstream: don't truncate user or host name in "user@host's
9935
9936 OpenBSD-Commit-ID: e6ca01a8d58004b7f2cac0b1b7ce8f87e425e360
9937
9938commit dd0cf6318d9b4b3533bda1e3bc021b2cd7246b7a
9939Author: jmc@openbsd.org <jmc@openbsd.org>
9940Date: Fri Nov 23 06:58:28 2018 +0000
9941
9942 upstream: tweak previous;
9943
9944 OpenBSD-Commit-ID: 08f096922eb00c98251501c193ff9e83fbb5de4f
9945
9946commit 8a85f5458d1c802471ca899c97f89946f6666e61
9947Author: Darren Tucker <dtucker@dtucker.net>
9948Date: Sun Nov 25 21:44:05 2018 +1100
9949
9950 Include stdio.h for FILE if needed.
9951
9952commit 16fb23f25454991272bfe4598cc05d20fcd25116
9953Author: Darren Tucker <dtucker@dtucker.net>
9954Date: Sun Nov 25 14:05:57 2018 +1100
9955
9956 Reverse order of OpenSSL init functions.
9957
9958 Try the new init function (OPENSSL_init_crypto) before falling back to
9959 the old one (OpenSSL_add_all_algorithms).
9960
9961commit 98f878d2272bf8dff21f2a0265d963c29e33fed2
9962Author: Darren Tucker <dtucker@dtucker.net>
9963Date: Sun Nov 25 14:05:08 2018 +1100
9964
9965 Improve OpenSSL_add_all_algorithms check.
9966
9967 OpenSSL_add_all_algorithms() may be a macro so check for that too.
9968
9969commit 9e34e0c59ab04514f9de9934a772283f7f372afe
9970Author: djm@openbsd.org <djm@openbsd.org>
9971Date: Fri Nov 23 05:08:07 2018 +0000
9972
9973 upstream: add a ssh_config "Match final" predicate
9974
9975 Matches in same pass as "Match canonical" but doesn't require
9976 hostname canonicalisation be enabled. bz#2906 ok markus
9977
9978 OpenBSD-Commit-ID: fba1dfe9f6e0cabcd0e2b3be13f7a434199beffa
9979
9980commit 4da58d58736b065b1182b563d10ad6765d811c6d
9981Author: dtucker@openbsd.org <dtucker@openbsd.org>
9982Date: Fri Nov 23 02:53:57 2018 +0000
9983
9984 upstream: Remove now-unneeded ifdef SIGINFO around handler since it is
9985
9986 now always used for SIGUSR1 even when SIGINFO is not defined. This will make
9987 things simpler in -portable.
9988
9989 OpenBSD-Regress-ID: 4ff0265b335820b0646d37beb93f036ded0dc43f
9990
9991commit c721d5877509875c8515df0215fa1dab862013bc
9992Author: Darren Tucker <dtucker@dtucker.net>
9993Date: Fri Nov 23 14:11:20 2018 +1100
9994
9995 Move RANDOM_SEED_SIZE outside ifdef.
9996
9997 RANDOM_SEED_SIZE is used by both the OpenSSL and non-OpenSSL code
9998 This fixes the build with configureed --without-openssl.
9999
10000commit deb51552c3ce7ce72c8d0232e4f36f2e7c118c7d
10001Author: Darren Tucker <dtucker@dtucker.net>
10002Date: Thu Nov 22 19:59:28 2018 +1100
10003
10004 Resync with OpenBSD by pulling in an ifdef SIGINFO.
10005
10006commit 28c7b2cd050f4416bfcf3869a20e3ea138aa52fe
10007Author: Damien Miller <djm@mindrot.org>
10008Date: Fri Nov 23 10:45:20 2018 +1100
10009
10010 fix configure test for OpenSSL version
10011
10012 square brackets in case statements may be eaten by autoconf.
10013
10014 Report and fix from Filipp Gunbin; tweaked by naddy@
10015
10016commit 42c5ec4b97b6a1bae70f323952d0646af16ce710
10017Author: Damien Miller <djm@mindrot.org>
10018Date: Fri Nov 23 10:40:06 2018 +1100
10019
10020 refactor libcrypto initialisation
10021
10022 Don't call OpenSSL_add_all_algorithms() unless OpenSSL actually
10023 supports it.
10024
10025 Move all libcrypto initialisation to a single function, and call that
10026 from seed_rng() that is called early in each tool's main().
10027
10028 Prompted by patch from Rosen Penev
10029
10030commit 5b60b6c02009547a3e2a99d4886965de2a4719da
10031Author: dtucker@openbsd.org <dtucker@openbsd.org>
10032Date: Thu Nov 22 08:59:11 2018 +0000
10033
10034 upstream: Output info on SIGUSR1 as well as
10035
10036 SIGINFO to resync with portable. (ID sync only).
10037
10038 OpenBSD-Regress-ID: 699d153e2de22dce51a1b270c40a98472d1a1b16
10039
10040commit e4ae345dc75b34fd870c2e8690d831d2c1088eb7
10041Author: dtucker@openbsd.org <dtucker@openbsd.org>
10042Date: Thu Nov 22 08:48:32 2018 +0000
10043
10044 upstream: Append pid to temp files in /var/run and set a cleanup
10045
10046 trap for them. This allows multiple instances of tests to run without
10047 colliding.
10048
10049 OpenBSD-Regress-ID: 57add105ecdfc54752d8003acdd99eb68c3e0b4c
10050
10051commit f72d0f52effca5aa20a193217346615ecd3eed53
10052Author: dtucker@openbsd.org <dtucker@openbsd.org>
10053Date: Wed Oct 31 11:09:27 2018 +0000
10054
10055 upstream: UsePrivilegeSeparation no is deprecated
10056
10057 test "yes" and "sandbox".
10058
10059 OpenBSD-Regress-ID: 80e685ed8990766527dc629b1affc09a75bfe2da
10060
10061commit 35d0e5fefc419bddcbe09d7fc163d8cd3417125b
10062Author: djm@openbsd.org <djm@openbsd.org>
10063Date: Wed Oct 17 23:28:05 2018 +0000
10064
10065 upstream: add some knobs:
10066
10067 UNITTEST_FAST?= no # Skip slow tests (e.g. less intensive fuzzing).
10068 UNITTEST_SLOW?= no # Include slower tests (e.g. more intensive fuzzing).
10069 UNITTEST_VERBOSE?= no # Verbose test output (inc. per-test names).
10070
10071 useful if you want to run the tests as a smoke test to exercise the
10072 functionality without waiting for all the fuzzers to run.
10073
10074 OpenBSD-Regress-ID: e04d82ebec86068198cd903acf1c67563c57315e
10075
10076commit c1941293d9422a14dda372b4c21895e72aa7a063
10077Author: Darren Tucker <dtucker@dtucker.net>
10078Date: Thu Nov 22 15:52:26 2018 +1100
10079
10080 Resync Makefile.inc with upstream.
10081
10082 It's unused in -portable, but having it out of sync makes other syncs
10083 fail to apply.
10084
10085commit 928f1231f65f88cd4c73e6e0edd63d2cf6295d77
10086Author: djm@openbsd.org <djm@openbsd.org>
10087Date: Mon Nov 19 04:12:32 2018 +0000
10088
10089 upstream: silence (to log level debug2) failure messages when
10090
10091 loading the default hostkeys. Hostkeys explicitly specified in the
10092 configuration or on the command-line are still reported as errors, and
10093 failure to load at least one host key remains a fatal error.
10094 MIME-Version: 1.0
10095 Content-Type: text/plain; charset=UTF-8
10096 Content-Transfer-Encoding: 8bit
10097
10098 Based on patch from Dag-Erling Smørgrav via
10099 https://github.com/openssh/openssh-portable/pull/103
10100
10101 ok markus@
10102
10103 OpenBSD-Commit-ID: ffc2e35a75d1008effaf05a5e27425041c27b684
10104
10105commit 7fca94edbe8ca9f879da9fdd2afd959c4180f4c7
10106Author: dtucker@openbsd.org <dtucker@openbsd.org>
10107Date: Sun Nov 18 22:43:29 2018 +0000
10108
10109 upstream: Fix inverted logic for redirecting ProxyCommand stderr to
10110
10111 /dev/null. Fixes mosh in proxycommand mode that was broken by the previous
10112 ProxyCommand change that was reported by matthieu@. ok djm@ danj@
10113
10114 OpenBSD-Commit-ID: c6fc9641bc250221a0a81c6beb2e72d603f8add6
10115
10116commit ccef7c4faf914993b53035cd2b25ce02ab039c9d
10117Author: djm@openbsd.org <djm@openbsd.org>
10118Date: Fri Nov 16 06:17:38 2018 +0000
10119
10120 upstream: redirect stderr of ProxyCommands to /dev/null when ssh is
10121
10122 started with ControlPersist; based on patch from Steffen Prohaska
10123
10124 OpenBSD-Commit-ID: 1bcaa14a03ae80369d31021271ec75dce2597957
10125
10126commit 15182fd96845a03216d7ac5a2cf31c4e77e406e3
10127Author: djm@openbsd.org <djm@openbsd.org>
10128Date: Fri Nov 16 06:10:29 2018 +0000
10129
10130 upstream: make grandparent-parent-child sshbuf chains robust to
10131
10132 use-after-free faults if the ancestors are freed before the descendents.
10133 Nothing in OpenSSH uses this deallocation pattern. Reported by Jann Horn
10134
10135 OpenBSD-Commit-ID: d93501d1d2734245aac802a252b9bb2eccdba0f2
10136
10137commit 2a35862e664afde774d4a72497d394fe7306ccb5
10138Author: djm@openbsd.org <djm@openbsd.org>
10139Date: Fri Nov 16 03:26:01 2018 +0000
10140
10141 upstream: use path_absolute() for pathname checks; from Manoj Ampalam
10142
10143 OpenBSD-Commit-ID: 482ce71a5ea5c5f3bc4d00fd719481a6a584d925
10144
10145commit d0d1dfa55be1c5c0d77ab3096b198a64235f936d
10146Author: Darren Tucker <dtucker@dtucker.net>
10147Date: Fri Nov 16 14:11:44 2018 +1100
10148
10149 Test for OPENSSL_init_crypto before using.
10150
10151 Check for the presence of OPENSSL_init_crypto and all the flags we want
10152 before trying to use it (bz#2931).
10153
10154commit 6010c0303a422a9c5fa8860c061bf7105eb7f8b2
10155Author: djm@openbsd.org <djm@openbsd.org>
10156Date: Fri Nov 16 03:03:10 2018 +0000
10157
10158 upstream: disallow empty incoming filename or ones that refer to the
10159
10160 current directory; based on report/patch from Harry Sintonen
10161
10162 OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9
10163
10164commit aaed635e3a401cfcc4cc97f33788179c458901c3
10165Author: djm@openbsd.org <djm@openbsd.org>
10166Date: Fri Nov 16 02:46:20 2018 +0000
10167
10168 upstream: fix bug in client that was keeping a redundant ssh-agent
10169
10170 socket around for the life of the connection; bz#2912; reported by Simon
10171 Tatham; ok dtucker@
10172
10173 OpenBSD-Commit-ID: 4ded588301183d343dce3e8c5fc1398e35058478
10174
10175commit e76135e3007f1564427b2956c628923d8dc2f75a
10176Author: djm@openbsd.org <djm@openbsd.org>
10177Date: Fri Nov 16 02:43:56 2018 +0000
10178
10179 upstream: fix bug in HostbasedAcceptedKeyTypes and
10180
10181 PubkeyAcceptedKeyTypes options. If only RSA-SHA2 siganture types were
10182 specified, then authentication would always fail for RSA keys as the monitor
10183 checks only the base key (not the signature algorithm) type against
10184 *AcceptedKeyTypes. bz#2746; reported by Jakub Jelen; ok dtucker
10185
10186 OpenBSD-Commit-ID: 117bc3dc54578dbdb515a1d3732988cb5b00461b
10187
10188commit 5c1a63562cac0574c226224075b0829a50b48c9d
10189Author: djm@openbsd.org <djm@openbsd.org>
10190Date: Fri Nov 16 02:30:20 2018 +0000
10191
10192 upstream: support a prefix of '@' to suppress echo of sftp batch
10193
10194 commands; bz#2926; ok dtucker@
10195
10196 OpenBSD-Commit-ID: 9d635636bc84aeae796467e059f7634de990a79d
10197
10198commit 90ef45f7aac33eaf55ec344e101548a01e570f29
10199Author: schwarze@openbsd.org <schwarze@openbsd.org>
10200Date: Tue Nov 13 07:22:45 2018 +0000
10201
10202 upstream: fix markup error (missing blank before delimiter); from
10203
10204 Mike Frysinger <vapier at gentoo dot org>
10205
10206 OpenBSD-Commit-ID: 1bc5392f795ca86318d695e0947eaf71a5a4f6d9
10207
10208commit 960e7c672dc106f3b759c081de3edb4d1138b36e
10209Author: djm@openbsd.org <djm@openbsd.org>
10210Date: Fri Nov 9 02:57:58 2018 +0000
10211
10212 upstream: typo in error message; caught by Debian lintian, via
10213
10214 Colin Watson
10215
10216 OpenBSD-Commit-ID: bff614c7bd1f4ca491a84e9b5999f848d0d66758
10217
10218commit 81f1620c836e6c79c0823ba44acca605226a80f1
10219Author: djm@openbsd.org <djm@openbsd.org>
10220Date: Fri Nov 9 02:56:22 2018 +0000
10221
10222 upstream: correct local variable name; from yawang AT microsoft.com
10223
10224 OpenBSD-Commit-ID: a0c228390856a215bb66319c89cb3959d3af8c87
10225
10226commit 1293740e800fa2e5ccd38842a2e4970c6f3b9831
10227Author: dtucker@openbsd.org <dtucker@openbsd.org>
10228Date: Wed Oct 31 11:20:05 2018 +0000
10229
10230 upstream: Import new moduli.
10231
10232 OpenBSD-Commit-ID: c07772f58028fda683ee6abd41c73da3ff70d403
10233
10234commit 46925ae28e53fc9add336a4fcdb7ed4b86c3591c
10235Author: djm@openbsd.org <djm@openbsd.org>
10236Date: Fri Oct 26 01:23:03 2018 +0000
10237
10238 upstream: mention ssh-ed25519-cert-v01@openssh.com in list of cert
10239
10240 key type at start of doc
10241
10242 OpenBSD-Commit-ID: b46b0149256d67f05f2d5d01e160634ed1a67324
10243
10244commit 8d8340e2c215155637fe19cb1a837f71b2d55f7b
10245Author: Darren Tucker <dtucker@dtucker.net>
10246Date: Fri Nov 16 13:32:13 2018 +1100
10247
10248 Remove fallback check for /usr/local/ssl.
10249
10250 If configure could not find a working OpenSSL installation it would
10251 fall back to checking in /usr/local/ssl. This made sense back when
10252 systems did not ship with OpenSSL, but most do and OpenSSL 1.1 doesn't
10253 use that as a default any more. The fallback behaviour also meant
10254 that if you pointed --with-ssl-dir at a specific directory and it
10255 didn't work, it would silently use either the system libs or the ones
10256 in /usr/local/ssl. If you want to use /usr/local/ssl you'll need to
10257 pass configure --with-ssl-dir=/usr/local/ssl. ok djm@
10258
10259commit ce93472134fb22eff73edbcd173a21ae38889331
10260Author: Darren Tucker <dtucker@dtucker.net>
10261Date: Fri Nov 16 12:44:01 2018 +1100
10262
10263 Fix check for OpenSSL 1.0.1 exactly.
10264
10265 Both INSTALL and configure.ac claim OpenSSL >= 1.0.1 is supported; fix
10266 compile-time check for 1.0.1 to match.
10267
10268commit f2970868f86161a22b2c377057fa3891863a692a
10269Author: Darren Tucker <dtucker@dtucker.net>
10270Date: Sun Nov 11 15:58:20 2018 +1100
10271
10272 Improve warnings in cygwin service setup.
10273
10274 bz#2922, patch from vinschen at redhat.com.
10275
10276commit bd2d54fc1eee84bf87158a1277a50e6c8a303339
10277Author: Darren Tucker <dtucker@dtucker.net>
10278Date: Sun Nov 11 15:54:54 2018 +1100
10279
10280 Remove hardcoded service name in cygwin setup.
10281
10282 bz#2922, patch from Christian.Lupien at USherbrooke.ca, sanity check
10283 by vinschen at redhat.com.
10284
10285commit d0153c77bf7964e694f1d26c56c41a571b8e9466
10286Author: Dag-Erling Smørgrav <des@des.no>
10287Date: Tue Oct 9 23:03:40 2018 +0200
10288
10289 AC_CHECK_SIZEOF() no longer needs a second argument.
10290
10291commit 9b47b083ca9d866249ada9f02dbd57c87b13806e
10292Author: Manoj Ampalam <manojamp@microsoft.com>
10293Date: Thu Nov 8 22:41:59 2018 -0800
10294
10295 Fix error message w/out nistp521.
10296
10297 Correct error message when OpenSSL doesn't support certain ECDSA key
10298 lengths.
10299
10300commit 624d19ac2d56fa86a22417c35536caceb3be346f
10301Author: Eneas U de Queiroz <cote2004-github@yahoo.com>
10302Date: Tue Oct 9 16:17:42 2018 -0300
10303
10304 fix compilation with openssl built without ECC
10305
10306 ECDSA code in openssh-compat.h and libressl-api-compat.c needs to be
10307 guarded by OPENSSL_HAS_ECC
10308
10309 Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
10310
10311commit 1801cd11d99d05a66ab5248c0555f55909a355ce
10312Author: Darren Tucker <dtucker@dtucker.net>
10313Date: Thu Nov 8 15:03:11 2018 +1100
10314
10315 Simplify OpenSSL 1.1 function checks.
10316
10317 Replace AC_SEARCH_LIBS checks for OpenSSL 1.1 functions with a single
10318 AC_CHECK_FUNCS. ok djm@
10319
10320commit bc32f118d484e4d71d2a0828fd4eab7e4176c9af
10321Author: Darren Tucker <dtucker@dtucker.net>
10322Date: Mon Nov 5 17:31:24 2018 +1100
10323
10324 Fix pasto for HAVE_EVP_CIPHER_CTX_SET_IV.
10325
10326 Prevents unnecessary redefinition. Patch from mforney at mforney.org.
10327
10328commit 3719df60c66abc4b47200d41f571d67772f293ba
10329Author: Darren Tucker <dtucker@dtucker.net>
10330Date: Wed Oct 31 22:21:03 2018 +1100
10331
10332 Import new moduli.
10333
10334commit 595605d4abede475339d6a1f07a8cc674c11d1c3
10335Author: Darren Tucker <dtucker@dtucker.net>
10336Date: Sun Oct 28 15:18:13 2018 +1100
10337
10338 Update check for minimum OpenSSL version.
10339
10340commit 6ab75aba340d827140d7ba719787aabaf39a0355
10341Author: Darren Tucker <dtucker@dtucker.net>
10342Date: Sun Oct 28 15:16:31 2018 +1100
10343
10344 Update required OpenSSL versions to match current.
10345
10346commit c801b0e38eae99427f37869370151b78f8e15c5d
10347Author: Darren Tucker <dtucker@dtucker.net>
10348Date: Sun Oct 28 14:34:12 2018 +1100
10349
10350 Use detected version functions in openssl compat.
10351
10352 Use detected functions in compat layer instead of guessing based on
10353 versions. Really fixes builds with LibreSSL, not just configure.
10354
10355commit 262d81a259d4aa1507c709ec9d5caa21c7740722
10356Author: Darren Tucker <dtucker@dtucker.net>
10357Date: Sat Oct 27 16:45:59 2018 +1100
10358
10359 Check for the existence of openssl version funcs.
10360
10361 Check for the existence of openssl version functions and use the ones
10362 detected instead of trying to guess based on the int32 version
10363 identifier. Fixes builds with LibreSSL.
10364
10365commit 406a24b25d6a2bdd70cacd16de7e899dcb2a8829
10366Author: Damien Miller <djm@mindrot.org>
10367Date: Fri Oct 26 13:43:28 2018 +1100
10368
10369 fix builds on OpenSSL <= 1.0.x
10370
10371 I thought OpenSSL 1.0.x offered the new-style OpenSSL_version_num() API
10372 to obtain version number, but they don't.
10373
10374commit 859754bdeb41373d372e36b5dc89c547453addb3
10375Author: Damien Miller <djm@mindrot.org>
10376Date: Tue Oct 23 17:10:41 2018 +1100
10377
10378 remove remaining references to SSLeay
10379
10380 Prompted by Rosen Penev
10381
10382commit b9fea45a68946c8dfeace72ad1f6657c18f2a98a
10383Author: Damien Miller <djm@mindrot.org>
10384Date: Tue Oct 23 17:10:35 2018 +1100
10385
10386 regen depend
10387
10388commit a65784c9f9c5d00cf1a0e235090170abc8d07c73
10389Author: djm@openbsd.org <djm@openbsd.org>
10390Date: Tue Oct 23 05:56:35 2018 +0000
10391
10392 upstream: refer to OpenSSL not SSLeay;
10393
10394 we're old, but we don't have to act it
10395
10396 OpenBSD-Commit-ID: 9ca38d11f8ed19e61a55108d1e892d696cee08ec
10397
10398commit c0a35265907533be10ca151ac797f34ae0d68969
10399Author: Damien Miller <djm@mindrot.org>
10400Date: Mon Oct 22 11:22:50 2018 +1100
10401
10402 fix compile for openssl 1.0.x w/ --with-ssl-engine
10403
10404 bz#2921, patch from cotequeiroz
10405
10406commit 31b49525168245abe16ad49d7b7f519786b53a38
10407Author: Darren Tucker <dtucker@dtucker.net>
10408Date: Mon Oct 22 20:05:18 2018 +1100
10409
10410 Include openssl compatibility.
10411
10412 Patch from rosenp at gmail.com via openssh-unix-dev.
10413
10414commit a4fc253f5f44f0e4c47aafe2a17d2c46481d3c04
10415Author: djm@openbsd.org <djm@openbsd.org>
10416Date: Fri Oct 19 03:12:42 2018 +0000
10417
10418 upstream: when printing certificate contents "ssh-keygen -Lf
10419
10420 /path/certificate", include the algorithm that the CA used to sign the cert.
10421
10422 OpenBSD-Commit-ID: 1ea20b5048a851a7a0758dcb9777a211a2c0dddd
10423
10424commit 83b3d99d2b47321b7ebb8db6f6ea04f3808bc069
10425Author: florian@openbsd.org <florian@openbsd.org>
10426Date: Mon Oct 15 11:28:50 2018 +0000
10427
10428 upstream: struct sockaddr_storage is guaranteed to be large enough,
10429
10430 no need to check the size. OK kn, deraadt
10431
10432 OpenBSD-Commit-ID: 0aa56e92eb49c79f495b31a5093109ec5841f439
10433
10434commit aede1c34243a6f7feae2fb2cb686ade5f9be6f3d
10435Author: Damien Miller <djm@mindrot.org>
10436Date: Wed Oct 17 11:01:20 2018 +1100
10437
10438 Require OpenSSL 1.1.x series 1.1.0g or greater
10439
10440 Previous versions have a bug with EVP_CipherInit() when passed a
10441 NULL EVP_CIPHER, per https://github.com/openssl/openssl/pull/4613
10442
10443 ok dtucker@
10444
10445commit 08300c211409c212e010fe2e2f2883e573a04ce2
10446Author: Damien Miller <djm@mindrot.org>
10447Date: Wed Oct 17 08:12:02 2018 +1100
10448
10449 unbreak compilation with --with-ssl-engine
10450
10451 Missing last argument to OPENSSL_init_crypto()
10452
10453commit 1673274aee67ce0eb6f00578b6f3d2bcbd58f937
10454Author: Darren Tucker <dtucker@dtucker.net>
10455Date: Tue Oct 16 14:45:57 2018 +1100
10456
10457 Remove gcc spectre mitigation flags.
10458
10459 Current impementions of the gcc spectre mitigation flags cause
10460 miscompilations when combined with other flags and do not provide much
10461 protection. Found by fweimer at redhat.com, ok djm@
10462
10463commit 4e23deefd7959ef83c73ed9cce574423438f6133
10464Author: Damien Miller <djm@mindrot.org>
10465Date: Tue Oct 16 10:51:52 2018 +1100
10466
10467 Avoid deprecated OPENSSL_config when using 1.1.x
10468
10469 OpenSSL 1.1.x soft-deprecated OPENSSL_config in favour of
10470 OPENSSL_init_crypto; pointed out by Jakub Jelen
10471
10472commit 797cdd9c8468ed1125ce60d590ae3f1397866af4
10473Author: Darren Tucker <dtucker@dtucker.net>
10474Date: Fri Oct 12 16:58:47 2018 +1100
10475
10476 Don't avoid our *sprintf replacements.
10477
10478 Don't let systems with broken printf(3) avoid our replacements
10479 via asprintf(3)/vasprintf(3) calling libc internally. From djm@
10480
10481commit e526127cbd2f8ad88fb41229df0c9b850c722830
10482Author: Darren Tucker <dtucker@dtucker.net>
10483Date: Fri Oct 12 16:43:35 2018 +1100
10484
10485 Check if snprintf understands %zu.
10486
10487 If the platforms snprintf and friends don't understand %zu, use the
10488 compat replacement. Prevents segfaults on those platforms.
10489
10490commit cf39f875191708c5f2f1a3c1c9019f106e74aea3
10491Author: Damien Miller <djm@mindrot.org>
10492Date: Fri Oct 12 09:48:05 2018 +1100
10493
10494 remove stale link, tweak
10495
10496commit a7205e68decf7de2005810853b4ce6b222b65e2a
10497Author: Damien Miller <djm@mindrot.org>
10498Date: Fri Oct 12 09:47:20 2018 +1100
10499
10500 update version numbers ahead of release
10501
10502commit 1a4a9cf80f5b92b9d1dadd0bfa8867c04d195391
10503Author: djm@openbsd.org <djm@openbsd.org>
10504Date: Thu Oct 11 03:48:04 2018 +0000
10505
10506 upstream: don't send new-style rsa-sha2-*-cert-v01@openssh.com names to
10507
10508 older OpenSSH that can't handle them. spotted by Adam Eijdenberg; ok dtucker
10509
10510 OpenBSD-Commit-ID: 662bbc402e3d7c9b6c322806269698106a6ae631
10511
10512commit dc8ddcdf1a95e011c263486c25869bb5bf4e30ec
10513Author: Damien Miller <djm@mindrot.org>
10514Date: Thu Oct 11 13:08:59 2018 +1100
10515
10516 update depends
10517
10518commit 26841ac265603fd2253e6832e03602823dbb4022
10519Author: Damien Miller <djm@mindrot.org>
10520Date: Thu Oct 11 13:02:11 2018 +1100
10521
10522 some more duplicated key algorithm lines
10523
10524 From Adam Eijdenberg
10525
10526commit 5d9d17603bfbb620195a4581025052832b4c4adc
10527Author: Damien Miller <djm@mindrot.org>
10528Date: Thu Oct 11 11:56:36 2018 +1100
10529
10530 fix duplicated algorithm specification lines
10531
10532 Spotted by Adam Eijdenberg
10533
10534commit ebfafd9c7a5b2a7fb515ee95dbe0e44e11d0a663
10535Author: djm@openbsd.org <djm@openbsd.org>
10536Date: Thu Oct 11 00:52:46 2018 +0000
10537
10538 upstream: typo in plain RSA algorithm counterpart names for
10539
10540 certificates; spotted by Adam Eijdenberg; ok dtucker@
10541
10542 OpenBSD-Commit-ID: bfcdeb6f4fc9e7607f5096574c8f118f2e709e00
10543
10544commit c29b111e7d87c2324ff71c80653dd8da168c13b9
10545Author: Damien Miller <djm@mindrot.org>
10546Date: Thu Oct 11 11:29:35 2018 +1100
10547
10548 check pw_passwd != NULL here too
10549
10550 Again, for systems with broken NIS implementations.
10551
10552 Prompted by coolbugcheckers AT gmail.com
10553
10554commit fe8e8f349a553ef4c567acd418aac769a82b7729
10555Author: Damien Miller <djm@mindrot.org>
10556Date: Thu Oct 11 11:03:15 2018 +1100
10557
10558 check for NULL return from shadow_pw()
10559
10560 probably unreachable on this platform; pointed out by
10561 coolbugcheckers AT gmail.com
10562
10563commit acc59cbe7a1fb169e1c3caba65a39bd74d6e030d
10564Author: deraadt@openbsd.org <deraadt@openbsd.org>
10565Date: Wed Oct 10 16:43:49 2018 +0000
10566
10567 upstream: introducing openssh 7.9
10568
10569 OpenBSD-Commit-ID: 42d526a9fe01a40dd299ac58014d3349adf40e25
10570
10571commit 12731158c75c8760a8bea06350eeb3e763fe1a07
10572Author: Damien Miller <djm@mindrot.org>
10573Date: Thu Oct 11 10:29:29 2018 +1100
10574
10575 supply callback to PEM_read_bio_PrivateKey
10576
10577 OpenSSL 1.1.0i has changed the behaviour of their PEM APIs,
10578 so that empty passphrases are interpreted differently. This
10579 probabalistically breaks loading some keys, because the PEM format
10580 is terrible and doesn't include a proper MAC.
10581
10582 Avoid this by providing a basic callback to avoid passing empty
10583 passphrases to OpenSSL in cases where one is required.
10584
10585 Based on patch from Jakub Jelen in bz#2913; ok dtucker@
10586
10587commit d1d301a1dd5d6cc3a9ed93ab7ab09dda4cb456e0
10588Author: Damien Miller <djm@mindrot.org>
10589Date: Wed Oct 10 14:57:00 2018 +1100
10590
10591 in pick_salt() avoid dereference of NULL passwords
10592
10593 Apparently some NIS implementations can leave pw->pw_passwd (or the
10594 shadow equivalent) NULL.
10595
10596 bz#2909; based on patch from Todd Eigenschink
10597
10598commit edbb6febccee084d212fdc0cb05b40cb1c646ab1
10599Author: djm@openbsd.org <djm@openbsd.org>
10600Date: Tue Oct 9 05:42:23 2018 +0000
10601
10602 upstream: Treat all PEM_read_bio_PrivateKey() errors when a passphrase
10603
10604 is specified as "incorrect passphrase" instead of trying to choose between
10605 that and "invalid format".
10606
10607 libcrypto can return ASN1 parsing errors rather than the expected
10608 decrypt error in certain infrequent cases when trying to decrypt/parse
10609 PEM private keys when supplied with an invalid passphrase.
10610
10611 Report and repro recipe from Thomas Deutschmann in bz#2901
10612
10613 ok markus@
10614
10615 OpenBSD-Commit-ID: b1d4cd92395f9743f81c0d23aab2524109580870
10616
10617commit 2581333d564d8697837729b3d07d45738eaf5a54
10618Author: naddy@openbsd.org <naddy@openbsd.org>
10619Date: Fri Oct 5 14:26:09 2018 +0000
10620
10621 upstream: Support using service names for port numbers.
10622
10623 * Try to resolve a port specification with getservbyname(3) if a
10624 numeric conversion fails.
10625 * Make the "Port" option in ssh_config handle its argument as a
10626 port rather than a plain integer.
10627
10628 ok dtucker@ deraadt@
10629
10630 OpenBSD-Commit-ID: e7f03633133205ab3dfbc67f9df7475fabae660d
10631
10632commit e0d6501e86734c48c8c503f81e1c0926e98c5c4c
10633Author: djm@openbsd.org <djm@openbsd.org>
10634Date: Thu Oct 4 07:47:35 2018 +0000
10635
10636 upstream: when the peer sends a channel-close message, make sure we
10637
10638 close the local extended read fd (stderr) along with the regular read fd
10639 (stdout). Avoids weird stuck processed in multiplexing mode.
10640
10641 Report and analysis by Nelson Elhage and Geoffrey Thomas in bz#2863
10642
10643 ok dtucker@ markus@
10644
10645 OpenBSD-Commit-ID: a48a2467fe938de4de69d2e7193d5fa701f12ae9
10646
10647commit 6f1aabb128246f445e33b8844fad3de9cb1d18cb
10648Author: djm@openbsd.org <djm@openbsd.org>
10649Date: Thu Oct 4 01:04:52 2018 +0000
10650
10651 upstream: factor out channel status formatting from
10652
10653 channel_open_message() so we can use it in other debug messages
10654
10655 OpenBSD-Commit-ID: 9c3903ca28fcabad57f566c9d0045b41ab7d52ba
10656
10657commit f1dd179e122bdfdb7ca3072d9603607740efda05
10658Author: djm@openbsd.org <djm@openbsd.org>
10659Date: Thu Oct 4 00:10:11 2018 +0000
10660
10661 upstream: include a little more information about the status and
10662
10663 disposition of channel's extended (stderr) fd; makes debugging some things a
10664 bit easier. No behaviour change.
10665
10666 OpenBSD-Commit-ID: 483eb6467dc7d5dbca8eb109c453e7a43075f7ce
10667
10668commit 2d1428b11c8b6f616f070f2ecedce12328526944
10669Author: djm@openbsd.org <djm@openbsd.org>
10670Date: Thu Oct 4 00:04:41 2018 +0000
10671
10672 upstream: explicit_bzero here to be consistent with other kex*.c;
10673
10674 report from coolbugcheckers AT gmail.com
10675
10676 OpenBSD-Commit-ID: a90f146c5b5f5b1408700395e394f70b440856cb
10677
10678commit 5eff5b858e717e901e6af6596306a114de9f79f2
10679Author: djm@openbsd.org <djm@openbsd.org>
10680Date: Wed Oct 3 06:38:35 2018 +0000
10681
10682 upstream: Allow ssh_config IdentityAgent directive to accept
10683
10684 environment variable names as well as explicit paths. ok dtucker@
10685
10686 OpenBSD-Commit-ID: 2f0996e103876c53d8c9dd51dcce9889d700767b
10687
10688commit a46ac4d86b25414d78b632e8173578b37e5f8a83
10689Author: djm@openbsd.org <djm@openbsd.org>
10690Date: Tue Oct 2 12:51:58 2018 +0000
10691
10692 upstream: mention INFO@openssh.com for sending SIGINFO
10693
10694 OpenBSD-Commit-ID: 132471eeb0df658210afd27852fe65131b26e900
10695
10696commit ff3a411cae0b484274b7900ef52ff4dad3e12876
10697Author: Damien Miller <djm@mindrot.org>
10698Date: Tue Oct 2 22:49:40 2018 +1000
10699
10700 only support SIGINFO on systems with SIGINFO
10701
10702commit cd98925c6405e972dc9f211afc7e75e838abe81c
10703Author: djm@openbsd.org <djm@openbsd.org>
10704Date: Tue Oct 2 12:40:07 2018 +0000
10705
10706 upstream: Add server support for signalling sessions via the SSH
10707
10708 channel/ session protocol. Signalling is only supported to sesssions that are
10709 not subsystems and were not started with a forced command.
10710
10711 Long requested in bz#1424
10712
10713 Based on a patch from markus@ and reworked by dtucker@;
10714 ok markus@ dtucker@
10715
10716 OpenBSD-Commit-ID: 4bea826f575862eaac569c4bedd1056a268be1c3
10717
10718commit dba50258333f2604a87848762af07ba2cc40407a
10719Author: djm@openbsd.org <djm@openbsd.org>
10720Date: Wed Sep 26 07:32:44 2018 +0000
10721
10722 upstream: remove big ugly TODO comment from start of file. Some of
10723
10724 the mentioned tasks are obsolete and, of the remainder, most are already
10725 captured in PROTOCOL.mux where they better belong
10726
10727 OpenBSD-Commit-ID: 16d9d76dee42a5bb651c9d6740f7f0ef68aeb407
10728
10729commit 92b61a38ee9b765f5049f03cd1143e13f3878905
10730Author: djm@openbsd.org <djm@openbsd.org>
10731Date: Wed Sep 26 07:30:05 2018 +0000
10732
10733 upstream: Document mux proxy mode; added by Markus in openssh-7.4
10734
10735 Also add a little bit of information about the overall packet format
10736
10737 OpenBSD-Commit-ID: bdb6f6ea8580ef96792e270cae7857786ad84a95
10738
10739commit 9d883a1ce4f89b175fd77405ff32674620703fb2
10740Author: djm@openbsd.org <djm@openbsd.org>
10741Date: Wed Sep 26 01:48:57 2018 +0000
10742
10743 upstream: s/process_mux_master/mux_master_process/ in mux master
10744
10745 function names,
10746
10747 Gives better symmetry with the existing mux_client_*() names and makes
10748 it more obvious when a message comes from the master vs client (they
10749 are interleved in ControlMaster=auto mode).
10750
10751 no functional change beyond prefixing a could of log messages with
10752 __func__ where they were previously lacking.
10753
10754 OpenBSD-Commit-ID: b01f7c3fdf92692e1713a822a89dc499333daf75
10755
10756commit c2fa53cd6462da82d3a851dc3a4a3f6b920337c8
10757Author: Darren Tucker <dtucker@dtucker.net>
10758Date: Sat Sep 22 14:41:24 2018 +1000
10759
10760 Remove unused variable in _ssh_compat_fflush.
10761
10762commit d1b3540c21212624af907488960d703c7d987b42
10763Author: Darren Tucker <dtucker@dtucker.net>
10764Date: Thu Sep 20 18:08:43 2018 +1000
10765
10766 Import updated moduli.
10767
10768commit b5e412a8993ad17b9e1141c78408df15d3d987e1
10769Author: djm@openbsd.org <djm@openbsd.org>
10770Date: Fri Sep 21 12:46:22 2018 +0000
10771
10772 upstream: Allow ssh_config ForwardX11Timeout=0 to disable the
10773
10774 timeout and allow X11 connections in untrusted mode indefinitely. ok dtucker@
10775
10776 OpenBSD-Commit-ID: ea1ceed3f540b48e5803f933e59a03b20db10c69
10777
10778commit cb24d9fcc901429d77211f274031653476864ec6
10779Author: djm@openbsd.org <djm@openbsd.org>
10780Date: Fri Sep 21 12:23:17 2018 +0000
10781
10782 upstream: when compiled with GSSAPI support, cache supported method
10783
10784 OIDs by calling ssh_gssapi_prepare_supported_oids() regardless of whether
10785 GSSAPI authentication is enabled in the main config.
10786
10787 This avoids sandbox violations for configurations that enable GSSAPI
10788 auth later, e.g.
10789
10790 Match user djm
10791 GSSAPIAuthentication yes
10792
10793 bz#2107; ok dtucker@
10794
10795 OpenBSD-Commit-ID: a5dd42d87c74e27cfb712b15b0f97ab20e0afd1d
10796
10797commit bbc8af72ba68da014d4de6e21a85eb5123384226
10798Author: djm@openbsd.org <djm@openbsd.org>
10799Date: Fri Sep 21 12:20:12 2018 +0000
10800
10801 upstream: In sshkey_in_file(), ignore keys that are considered for
10802
10803 being too short (i.e. SSH_ERR_KEY_LENGTH). These keys will not be considered
10804 to be "in the file". This allows key revocation lists to contain short keys
10805 without the entire revocation list being considered invalid.
10806
10807 bz#2897; ok dtucker
10808
10809 OpenBSD-Commit-ID: d9f3d857d07194a42ad7e62889a74dc3f9d9924b
10810
10811commit 383a33d160cefbfd1b40fef81f72eadbf9303a66
10812Author: djm@openbsd.org <djm@openbsd.org>
10813Date: Fri Sep 21 03:11:36 2018 +0000
10814
10815 upstream: Treat connections with ProxyJump specified the same as ones
10816
10817 with a ProxyCommand set with regards to hostname canonicalisation (i.e. don't
10818 try to canonicalise the hostname unless CanonicalizeHostname is set to
10819 'always').
10820
10821 Patch from Sven Wegener via bz#2896
10822
10823 OpenBSD-Commit-ID: 527ff501cf98bf65fb4b29ed0cb847dda10f4d37
10824
10825commit 0cbed248ed81584129b67c348dbb801660f25a6a
10826Author: djm@openbsd.org <djm@openbsd.org>
10827Date: Thu Sep 20 23:40:16 2018 +0000
10828
10829 upstream: actually make CASignatureAlgorithms available as a config
10830
10831 option
10832
10833 OpenBSD-Commit-ID: 93fa7ff58314ed7b1ab7744090a6a91232e6ae52
10834
10835commit 62528870c0ec48cd86a37dd7320fb85886c3e6ee
10836Author: dtucker@openbsd.org <dtucker@openbsd.org>
10837Date: Thu Sep 20 08:07:03 2018 +0000
10838
10839 upstream: Import updated moduli.
10840
10841 OpenBSD-Commit-ID: 04431e8e7872f49a2129bf080a6b73c19d576d40
10842
10843commit e6933a2ffa0659d57f3c7b7c457b2c62b2a84613
10844Author: jmc@openbsd.org <jmc@openbsd.org>
10845Date: Thu Sep 20 06:58:48 2018 +0000
10846
10847 upstream: reorder CASignatureAlgorithms, and add them to the
10848
10849 various -o lists; ok djm
10850
10851 OpenBSD-Commit-ID: ecb88baecc3c54988b4d1654446ea033da359288
10852
10853commit aa083aa9624ea7b764d5a81c4c676719a1a3e42b
10854Author: djm@openbsd.org <djm@openbsd.org>
10855Date: Thu Sep 20 03:31:49 2018 +0000
10856
10857 upstream: fix "ssh -Q sig" to show correct signature algorithm list
10858
10859 (it was erroneously showing certificate algorithms); prompted by markus@
10860
10861 OpenBSD-Commit-ID: 1cdee002f2f0c21456979deeb887fc889afb154d
10862
10863commit ecac7e1f7add6b28874959a11f2238d149dc2c07
10864Author: djm@openbsd.org <djm@openbsd.org>
10865Date: Thu Sep 20 03:30:44 2018 +0000
10866
10867 upstream: add CASignatureAlgorithms option for the client, allowing
10868
10869 it to specify which signature algorithms may be used by CAs when signing
10870 certificates. Useful if you want to ban RSA/SHA1; ok markus@
10871
10872 OpenBSD-Commit-ID: 9159e5e9f67504829bf53ff222057307a6e3230f
10873
10874commit 86e5737c39153af134158f24d0cab5827cbd5852
10875Author: djm@openbsd.org <djm@openbsd.org>
10876Date: Thu Sep 20 03:28:06 2018 +0000
10877
10878 upstream: Add sshd_config CASignatureAlgorithms option to allow
10879
10880 control over which signature algorithms a CA may use when signing
10881 certificates. In particular, this allows a sshd to ban certificates signed
10882 with RSA/SHA1.
10883
10884 ok markus@
10885
10886 OpenBSD-Commit-ID: b05c86ef8b52b913ed48d54a9b9c1a7714d96bac
10887
10888commit f80e68ea7d62e2dfafc12f1a60ab544ae4033a0f
10889Author: djm@openbsd.org <djm@openbsd.org>
10890Date: Wed Sep 19 02:03:02 2018 +0000
10891
10892 upstream: Make "ssh-add -q" do what it says on the tin: silence
10893
10894 output from successful operations.
10895
10896 Based on patch from Thijs van Dijk; ok dtucker@ deraadt@
10897
10898 OpenBSD-Commit-ID: c4f754ecc055c10af166116ce7515104aa8522e1
10899
10900commit 5e532320e9e51de720d5f3cc2596e95d29f6e98f
10901Author: millert@openbsd.org <millert@openbsd.org>
10902Date: Mon Sep 17 15:40:14 2018 +0000
10903
10904 upstream: When choosing a prime from the moduli file, avoid
10905
10906 re-using the linenum variable for something that is not a line number to
10907 avoid the confusion that resulted in the bug in rev. 1.64. This also lets us
10908 pass the actual linenum to parse_prime() so the error messages include the
10909 correct line number. OK markus@ some time ago.
10910
10911 OpenBSD-Commit-ID: 4d8e5d3e924d6e8eb70053e3defa23c151a00084
10912
10913commit cce8cbe0ed7d1ba3a575310e0b63c193326ae616
10914Author: Darren Tucker <dtucker@dtucker.net>
10915Date: Sat Sep 15 19:44:06 2018 +1000
10916
10917 Fix openssl-1.1 fallout for --without-openssl.
10918
10919 ok djm@
10920
10921commit 149519b9f201dac755f3cba4789f4d76fecf0ee1
10922Author: Damien Miller <djm@mindrot.org>
10923Date: Sat Sep 15 19:37:48 2018 +1000
10924
10925 add futex(2) syscall to seccomp sandbox
10926
10927 Apparently needed for some glibc/openssl combinations.
10928
10929 Patch from Arkadiusz Miśkiewicz
10930
10931commit 4488ae1a6940af704c4dbf70f55bf2f756a16536
10932Author: Damien Miller <djm@mindrot.org>
10933Date: Sat Sep 15 19:36:55 2018 +1000
10934
10935 really add source for authopt_fuzz this time
10936
10937commit 9201784b4a257c8345fbd740bcbdd70054885707
10938Author: Damien Miller <djm@mindrot.org>
10939Date: Sat Sep 15 19:35:40 2018 +1000
10940
10941 remove accidentally checked-in authopt_fuzz binary
10942
10943commit beb9e522dc7717df08179f9e59f36b361bfa14ab
10944Author: djm@openbsd.org <djm@openbsd.org>
10945Date: Fri Sep 14 05:26:27 2018 +0000
10946
10947 upstream: second try, deals properly with missing and private-only
10948
10949 Use consistent format in debug log for keys readied, offered and
10950 received during public key authentication.
10951
10952 This makes it a little easier to see what is going on, as each message
10953 now contains (where available) the key filename, its type and fingerprint,
10954 and whether the key is hosted in an agent or a token.
10955
10956 OpenBSD-Commit-ID: f1c6a8e9cfc4e108c359db77f24f9a40e1e25ea7
10957
10958commit 6bc5a24ac867bfdc3ed615589d69ac640f51674b
10959Author: Damien Miller <djm@mindrot.org>
10960Date: Fri Sep 14 15:16:34 2018 +1000
10961
10962 fuzzer harness for authorized_keys option parsing
10963
10964commit 6c8b82fc6929b6a9a3f645151b6ec26c5507d9ef
10965Author: djm@openbsd.org <djm@openbsd.org>
10966Date: Fri Sep 14 04:44:04 2018 +0000
10967
10968 upstream: revert following; deals badly with agent keys
10969
10970 revision 1.285
10971 date: 2018/09/14 04:17:12; author: djm; state: Exp; lines: +47 -26; commitid: lflGFcNb2X2HebaK;
10972 Use consistent format in debug log for keys readied, offered and
10973 received during public key authentication.
10974
10975 This makes it a little easier to see what is going on, as each message
10976 now contains the key filename, its type and fingerprint, and whether
10977 the key is hosted in an agent or a token.
10978
10979 OpenBSD-Commit-ID: e496bd004e452d4b051f33ed9ae6a54ab918f56d
10980
10981commit 6da046f9c3374ce7e269ded15d8ff8bc45017301
10982Author: djm@openbsd.org <djm@openbsd.org>
10983Date: Fri Sep 14 04:17:44 2018 +0000
10984
10985 upstream: garbage-collect moribund ssh_new_private() API.
10986
10987 OpenBSD-Commit-ID: 7c05bf13b094093dfa01848a9306c82eb6e95f6c
10988
10989commit 1f24ac5fc05252ceb1c1d0e8cab6a283b883c780
10990Author: djm@openbsd.org <djm@openbsd.org>
10991Date: Fri Sep 14 04:17:12 2018 +0000
10992
10993 upstream: Use consistent format in debug log for keys readied,
10994
10995 offered and received during public key authentication.
10996
10997 This makes it a little easier to see what is going on, as each message
10998 now contains the key filename, its type and fingerprint, and whether
10999 the key is hosted in an agent or a token.
11000
11001 OpenBSD-Commit-ID: 2a01d59285a8a7e01185bb0a43316084b4f06a1f
11002
11003commit 488c9325bb7233e975dbfbf89fa055edc3d3eddc
11004Author: millert@openbsd.org <millert@openbsd.org>
11005Date: Thu Sep 13 15:23:32 2018 +0000
11006
11007 upstream: Fix warnings caused by user_from_uid() and group_from_gid()
11008
11009 now returning const char *.
11010
11011 OpenBSD-Commit-ID: b5fe571ea77cfa7b9035062829ab05eb87d7cc6f
11012
11013commit 0aa1f230846ebce698e52051a107f3127024a05a
11014Author: Damien Miller <djm@mindrot.org>
11015Date: Fri Sep 14 10:31:47 2018 +1000
11016
11017 allow SIGUSR1 as synonym for SIGINFO
11018
11019 Lets users on those unfortunate operating systems that lack SIGINFO
11020 still be able to obtain progress information from unit tests :)
11021
11022commit d64e78526596f098096113fcf148216798c327ff
11023Author: Damien Miller <djm@mindrot.org>
11024Date: Thu Sep 13 19:05:48 2018 +1000
11025
11026 add compat header
11027
11028commit a3fd8074e2e2f06602e25618721f9556c731312c
11029Author: djm@openbsd.org <djm@openbsd.org>
11030Date: Thu Sep 13 09:03:20 2018 +0000
11031
11032 upstream: missed a bit of openssl-1.0.x API in this unittest
11033
11034 OpenBSD-Regress-ID: a73a54d7f7381856a3f3a2d25947bee7a9a5dbc9
11035
11036commit 86e0a9f3d249d5580390daf58e015e68b01cef10
11037Author: djm@openbsd.org <djm@openbsd.org>
11038Date: Thu Sep 13 05:06:51 2018 +0000
11039
11040 upstream: use only openssl-1.1.x API here too
11041
11042 OpenBSD-Regress-ID: ae877064597c349954b1b443769723563cecbc8f
11043
11044commit 48f54b9d12c1c79fba333bc86d455d8f4cda8cfc
11045Author: Damien Miller <djm@mindrot.org>
11046Date: Thu Sep 13 12:13:50 2018 +1000
11047
11048 adapt -portable to OpenSSL 1.1x API
11049
11050 Polyfill missing API with replacement functions extracted from LibreSSL
11051
11052commit 86112951d63d48839f035b5795be62635a463f99
11053Author: Damien Miller <djm@mindrot.org>
11054Date: Thu Sep 13 12:12:42 2018 +1000
11055
11056 forgot to stage these test files in commit d70d061
11057
11058commit 482d23bcacdd3664f21cc82a5135f66fc598275f
11059Author: djm@openbsd.org <djm@openbsd.org>
11060Date: Thu Sep 13 02:08:33 2018 +0000
11061
11062 upstream: hold our collective noses and use the openssl-1.1.x API in
11063
11064 OpenSSH; feedback and ok tb@ jsing@ markus@
11065
11066 OpenBSD-Commit-ID: cacbcac87ce5da0d3ca7ef1b38a6f7fb349e4417
11067
11068commit d70d061828730a56636ab6f1f24fe4a8ccefcfc1
11069Author: djm@openbsd.org <djm@openbsd.org>
11070Date: Wed Sep 12 01:36:45 2018 +0000
11071
11072 upstream: Include certs with multiple RSA signature variants in
11073
11074 test data Ensure that cert->signature_key is populated correctly
11075
11076 OpenBSD-Regress-ID: 56e68f70fe46cb3a193ca207385bdb301fd6603a
11077
11078commit f803b2682992cfededd40c91818b653b5d923ef5
11079Author: djm@openbsd.org <djm@openbsd.org>
11080Date: Wed Sep 12 01:23:48 2018 +0000
11081
11082 upstream: test revocation by explicit hash and by fingerprint
11083
11084 OpenBSD-Regress-ID: 079c18a9ab9663f4af419327c759fc1e2bc78fd8
11085
11086commit 2de78bc7da70e1338b32feeefcc6045cf49efcd4
11087Author: djm@openbsd.org <djm@openbsd.org>
11088Date: Wed Sep 12 01:22:43 2018 +0000
11089
11090 upstream: s/sshkey_demote/sshkey_from_private/g
11091
11092 OpenBSD-Regress-ID: 782bde7407d94a87aa8d1db7c23750e09d4443c4
11093
11094commit 41c115a5ea1cb79a6a3182773c58a23f760e8076
11095Author: Damien Miller <djm@mindrot.org>
11096Date: Wed Sep 12 16:50:01 2018 +1000
11097
11098 delete the correct thing; kexfuzz binary
11099
11100commit f0fcd7e65087db8c2496f13ed39d772f8e38b088
11101Author: djm@openbsd.org <djm@openbsd.org>
11102Date: Wed Sep 12 06:18:59 2018 +0000
11103
11104 upstream: fix edit mistake; spotted by jmc@
11105
11106 OpenBSD-Commit-ID: dd724e1c52c9d6084f4cd260ec7e1b2b138261c6
11107
11108commit 4cc259bac699f4d2a5c52b92230f9e488c88a223
11109Author: djm@openbsd.org <djm@openbsd.org>
11110Date: Wed Sep 12 01:34:02 2018 +0000
11111
11112 upstream: add SSH_ALLOWED_CA_SIGALGS - the default list of
11113
11114 signature algorithms that are allowed for CA signatures. Notably excludes
11115 ssh-dsa.
11116
11117 ok markus@
11118
11119 OpenBSD-Commit-ID: 1628e4181dc8ab71909378eafe5d06159a22deb4
11120
11121commit ba9e788315b1f6a350f910cb2a9e95b2ce584e89
11122Author: djm@openbsd.org <djm@openbsd.org>
11123Date: Wed Sep 12 01:32:54 2018 +0000
11124
11125 upstream: add sshkey_check_cert_sigtype() that checks a
11126
11127 cert->signature_type against a supplied whitelist; ok markus
11128
11129 OpenBSD-Commit-ID: caadb8073292ed7a9535e5adc067d11d356d9302
11130
11131commit a70fd4ad7bd9f2ed223ff635a3d41e483057f23b
11132Author: djm@openbsd.org <djm@openbsd.org>
11133Date: Wed Sep 12 01:31:30 2018 +0000
11134
11135 upstream: add cert->signature_type field and keep it in sync with
11136
11137 certificate signature wrt loading and certification operations; ok markus@
11138
11139 OpenBSD-Commit-ID: e8b8b9f76b66707a0cd926109c4383db8f664df3
11140
11141commit 357128ac48630a9970e3af0e6ff820300a28da47
11142Author: djm@openbsd.org <djm@openbsd.org>
11143Date: Wed Sep 12 01:30:10 2018 +0000
11144
11145 upstream: Add "ssh -Q sig" to allow listing supported signature
11146
11147 algorithms ok markus@
11148
11149 OpenBSD-Commit-ID: 7a8c6eb6c249dc37823ba5081fce64876d10fe2b
11150
11151commit 9405c6214f667be604a820c6823b27d0ea77937d
11152Author: djm@openbsd.org <djm@openbsd.org>
11153Date: Wed Sep 12 01:21:34 2018 +0000
11154
11155 upstream: allow key revocation by SHA256 hash and allow ssh-keygen
11156
11157 to create KRLs using SHA256/base64 key fingerprints; ok markus@
11158
11159 OpenBSD-Commit-ID: a0590fd34e7f1141f2873ab3acc57442560e6a94
11160
11161commit 50e2687ee0941c0ea216d6ffea370ffd2c1f14b9
11162Author: djm@openbsd.org <djm@openbsd.org>
11163Date: Wed Sep 12 01:19:12 2018 +0000
11164
11165 upstream: log certificate fingerprint in authentication
11166
11167 success/failure message (previously we logged only key ID and CA key
11168 fingerprint).
11169
11170 ok markus@
11171
11172 OpenBSD-Commit-ID: a8ef2d172b7f1ddbcce26d6434b2de6d94f6c05d
11173
11174commit de37ca909487d23e5844aca289b3f5e75d3f1e1f
11175Author: dtucker@openbsd.org <dtucker@openbsd.org>
11176Date: Fri Sep 7 04:26:56 2018 +0000
11177
11178 upstream: Add FALLTHROUGH comments where appropriate. Patch from
11179
11180 jjelen at redhat via bz#2687.
11181
11182 OpenBSD-Commit-ID: c48eb457be697a19d6d2950c6d0879f3ccc851d3
11183
11184commit 247766cd3111d5d8c6ea39833a3257ca8fb820f2
11185Author: djm@openbsd.org <djm@openbsd.org>
11186Date: Fri Sep 7 01:42:54 2018 +0000
11187
11188 upstream: ssh -MM requires confirmation for all operations that
11189
11190 change the multiplexing state, not just new sessions.
11191
11192 mention that confirmation is checked via ssh-askpass
11193
11194 OpenBSD-Commit-ID: 0f1b45551ebb9cc5c9a4fe54ad3b23ce90f1f5c2
11195
11196commit db8bb80e3ac1bcb3e1305d846cd98c6b869bf03f
11197Author: mestre@openbsd.org <mestre@openbsd.org>
11198Date: Tue Aug 28 12:25:53 2018 +0000
11199
11200 upstream: fix misplaced parenthesis inside if-clause. it's harmless
11201
11202 and the only issue is showing an unknown error (since it's not defined)
11203 during fatal(), if it ever an error occurs inside that condition.
11204
11205 OK deraadt@ markus@ djm@
11206
11207 OpenBSD-Commit-ID: acb0a8e6936bfbe590504752d01d1d251a7101d8
11208
11209commit 086cc614f550b7d4f100c95e472a6b6b823938ab
11210Author: mestre@openbsd.org <mestre@openbsd.org>
11211Date: Tue Aug 28 12:17:45 2018 +0000
11212
11213 upstream: fix build with DEBUG_PK enabled
11214
11215 OK dtucker@
11216
11217 OpenBSD-Commit-ID: ec1568cf27726e9638a0415481c20c406e7b441c
11218
11219commit 2678833013e97f8b18f09779b7f70bcbf5eb2ab2
11220Author: Darren Tucker <dtucker@dtucker.net>
11221Date: Fri Sep 7 14:41:53 2018 +1000
11222
11223 Handle ngroups>_SC_NGROUPS_MAX.
11224
11225 Based on github pull request #99 from Darren Maffat at Oracle: Solaris'
11226 getgrouplist considers _SC_NGROUPS_MAX more of a guideline and can return
11227 a larger number of groups. In this case, retry getgrouplist with a
11228 larger array and defer allocating groups_byname. ok djm@
11229
11230commit 039bf2a81797b8f3af6058d34005a4896a363221
11231Author: Darren Tucker <dtucker@dtucker.net>
11232Date: Fri Sep 7 14:06:57 2018 +1000
11233
11234 Initial len for the fmt=NULL case.
11235
11236 Patch from jjelen at redhat via bz#2687. (OpenSSH never calls
11237 setproctitle with a null format so len is always initialized).
11238
11239commit ea9c06e11d2e8fb2f4d5e02f8a41e23d2bd31ca9
11240Author: Darren Tucker <dtucker@dtucker.net>
11241Date: Fri Sep 7 14:01:39 2018 +1000
11242
11243 Include stdlib.h.
11244
11245 Patch from jjelen at redhat via bz#2687.
11246
11247commit 9617816dbe73ec4d65075f4d897443f63a97c87f
11248Author: Damien Miller <djm@mindrot.org>
11249Date: Mon Aug 27 13:08:01 2018 +1000
11250
11251 document some more regress control env variables
11252
11253 Specifically SKIP_UNIT, USE_VALGRING and LTESTS. Sort the list of
11254 environment variables.
11255
11256 Based on patch from Jakub Jelen
11257
11258commit 71508e06fab14bc415a79a08f5535ad7bffa93d9
11259Author: Damien Miller <djm@mindrot.org>
11260Date: Thu Aug 23 15:41:42 2018 +1000
11261
11262 shorten temporary SSH_REGRESS_TMP path
11263
11264 Previous path was exceeding max socket length on at least one platform (OSX)
11265
11266commit 26739cf5bdc9030a583b41ae5261dedd862060f0
11267Author: Damien Miller <djm@mindrot.org>
11268Date: Thu Aug 23 13:06:02 2018 +1000
11269
11270 rebuild dependencies
11271
11272commit ff729025c7463cf5d0a8d1ca1823306e48c6d4cf
11273Author: Damien Miller <djm@mindrot.org>
11274Date: Thu Aug 23 13:03:32 2018 +1000
11275
11276 fix path in distclean target
11277
11278 Patch from Jakub Jelen
11279
11280commit 7fef173c28f7462dcd8ee017fdf12b5073f54c02
11281Author: djm@openbsd.org <djm@openbsd.org>
11282Date: Thu Aug 23 03:01:08 2018 +0000
11283
11284 upstream: memleak introduced in r1.83; from Colin Watson
11285
11286 OpenBSD-Commit-ID: 5c019104c280cbd549a264a7217b67665e5732dc
11287
11288commit b8ae02a2896778b8984c7f51566c7f0f56fa8b56
11289Author: schwarze@openbsd.org <schwarze@openbsd.org>
11290Date: Tue Aug 21 13:56:27 2018 +0000
11291
11292 upstream: AIX reports the CODESET as "ISO8859-1" in the POSIX locale.
11293
11294 Treating that as a safe encoding is OK because even when other systems return
11295 that string for real ISO8859-1, it is still safe in the sense that it is
11296 ASCII-compatible and stateless.
11297
11298 Issue reported by Val dot Baranov at duke dot edu. Additional
11299 information provided by Michael dot Felt at felt dot demon dot nl.
11300 Tested by Michael Felt on AIX 6.1 and by Val Baranov on AIX 7.1.
11301 Tweak and OK djm@.
11302
11303 OpenBSD-Commit-ID: 36f1210e0b229817d10eb490d6038f507b8256a7
11304
11305commit bc44ee088ad269d232e514f037c87ada4c2fd3f0
11306Author: Tim Rice <tim@multitalents.net>
11307Date: Tue Aug 21 08:57:24 2018 -0700
11308
11309 modified: openbsd-compat/port-uw.c
11310 remove obsolete and un-needed include
11311
11312commit 829fc28a9c54e3f812ee7248c7a3e31eeb4f0b3a
11313Author: Damien Miller <djm@mindrot.org>
11314Date: Mon Aug 20 15:57:29 2018 +1000
11315
11316 Missing unistd.h for regress/mkdtemp.c
11317
11318commit c8313e492355a368a91799131520d92743d8d16c
11319Author: Damien Miller <djm@mindrot.org>
11320Date: Fri Aug 17 05:45:20 2018 +1000
11321
11322 update version numbers in anticipation of release
11323
11324commit 477b49a34b89f506f4794b35e3c70b3e2e83cd38
11325Author: Corinna Vinschen <vinschen@redhat.com>
11326Date: Mon Aug 13 17:08:51 2018 +0200
11327
11328 configure: work around GCC shortcoming on Cygwin
11329
11330 Cygwin's latest 7.x GCC allows to specify -mfunction-return=thunk
11331 as well as -mindirect-branch=thunk on the command line, albeit
11332 producing invalid code, leading to an error at link stage.
11333
11334 The check in configure.ac only checks if the option is present,
11335 but not if it produces valid code.
11336
11337 This patch fixes it by special-casing Cygwin. Another solution
11338 may be to change these to linker checks.
11339
11340 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
11341
11342commit b0917945efa374be7648d67dbbaaff323ab39edc
11343Author: Corinna Vinschen <vinschen@redhat.com>
11344Date: Mon Aug 13 17:05:05 2018 +0200
11345
11346 cygwin: add missing stdarg.h include
11347
11348 Further header file standarization in Cygwin uncovered a lazy
11349 indirect include in bsd-cygwin_util.c
11350
11351 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
11352
11353commit c3903c38b0fd168ab3d925c2b129d1a599593426
11354Author: djm@openbsd.org <djm@openbsd.org>
11355Date: Mon Aug 13 02:41:05 2018 +0000
11356
11357 upstream: revert compat.[ch] section of the following change. It
11358
11359 causes double-free under some circumstances.
11360
11361 --
11362
11363 date: 2018/07/31 03:07:24; author: djm; state: Exp; lines: +33 -18; commitid: f7g4UI8eeOXReTPh;
11364 fix some memory leaks spotted by Coverity via Jakub Jelen in bz#2366
11365 feedback and ok dtucker@
11366
11367 OpenBSD-Commit-ID: 1e77547f60fdb5e2ffe23e2e4733c54d8d2d1137
11368
11369commit 1b9dd4aa15208100fbc3650f33ea052255578282
11370Author: djm@openbsd.org <djm@openbsd.org>
11371Date: Sun Aug 12 20:19:13 2018 +0000
11372
11373 upstream: better diagnosics on alg list assembly errors; ok
11374
11375 deraadt@ markus@
11376
11377 OpenBSD-Commit-ID: 5a557e74b839daf13cc105924d2af06a1560faee
11378
11379commit e36a5f61b0f5bebf6d49c215d228cd99dfe86e28
11380Author: Damien Miller <djm@mindrot.org>
11381Date: Sat Aug 11 18:08:45 2018 -0700
11382
11383 Some AIX fixes; report from Michael Felt
11384
11385commit 2f4766ceefe6657c5ad5fe92d13c411872acae0e
11386Author: dtucker@openbsd.org <dtucker@openbsd.org>
11387Date: Fri Aug 10 01:35:49 2018 +0000
11388
11389 upstream: The script that cooks up PuTTY format host keys does not
11390
11391 understand the new key format so convert back to old format to create the
11392 PuTTY key and remove it once done.
11393
11394 OpenBSD-Regress-ID: 2a449a18846c3a144bc645135b551ba6177e38d3
11395
11396commit e1b26ce504662a5d5b991091228984ccfd25f280
11397Author: djm@openbsd.org <djm@openbsd.org>
11398Date: Fri Aug 10 00:44:01 2018 +0000
11399
11400 upstream: improve
11401
11402 OpenBSD-Commit-ID: 40d839db0977b4e7ac8b647b16d5411d4faf2f60
11403
11404commit 7c712966a3139622f7fb55045368d05de4e6782c
11405Author: djm@openbsd.org <djm@openbsd.org>
11406Date: Fri Aug 10 00:42:29 2018 +0000
11407
11408 upstream: Describe pubkey format, prompted by bz#2853
11409
11410 While I'm here, describe and link to the remaining local PROTOCOL.*
11411 docs that weren't already mentioned (PROTOCOL.key, PROTOCOL.krl and
11412 PROTOCOL.mux)
11413
11414 OpenBSD-Commit-ID: 2a900f9b994ba4d53e7aeb467d44d75829fd1231
11415
11416commit ef100a2c5a8ed83afac0b8f36520815803da227a
11417Author: djm@openbsd.org <djm@openbsd.org>
11418Date: Fri Aug 10 00:27:15 2018 +0000
11419
11420 upstream: fix numbering
11421
11422 OpenBSD-Commit-ID: bc7a1764dff23fa4c5ff0e3379c9c4d5b63c9596
11423
11424commit ed7bd5d93fe14c7bd90febd29b858ea985d14d45
11425Author: djm@openbsd.org <djm@openbsd.org>
11426Date: Wed Aug 8 01:16:01 2018 +0000
11427
11428 upstream: Use new private key format by default. This format is
11429
11430 suported by OpenSSH >= 6.5 (released January 2014), so it should be supported
11431 by most OpenSSH versions in active use.
11432
11433 It is possible to convert new-format private keys to the older
11434 format using "ssh-keygen -f /path/key -pm PEM".
11435
11436 ok deraadt dtucker
11437
11438 OpenBSD-Commit-ID: e3bd4f2509a2103bfa2f710733426af3ad6d8ab8
11439
11440commit 967226a1bdde59ea137e8f0df871854ff7b91366
11441Author: djm@openbsd.org <djm@openbsd.org>
11442Date: Sat Aug 4 00:55:06 2018 +0000
11443
11444 upstream: invalidate dh->priv_key after freeing it in error path;
11445
11446 avoids unlikely double-free later. Reported by Viktor Dukhovni via
11447 https://github.com/openssh/openssh-portable/pull/96 feedback jsing@ tb@
11448
11449 OpenBSD-Commit-ID: e317eb17c3e05500ae851f279ef6486f0457c805
11450
11451commit 74287f5df9966a0648b4a68417451dd18f079ab8
11452Author: djm@openbsd.org <djm@openbsd.org>
11453Date: Tue Jul 31 03:10:27 2018 +0000
11454
11455 upstream: delay bailout for invalid authentic
11456
11457 =?UTF-8?q?ating=20user=20until=20after=20the=20packet=20containing=20the?=
11458 =?UTF-8?q?=20request=20has=20been=20fully=20parsed.=20Reported=20by=20Dar?=
11459 =?UTF-8?q?iusz=20Tytko=20and=20Micha=C5=82=20Sajdak;=20ok=20deraadt?=
11460 MIME-Version: 1.0
11461 Content-Type: text/plain; charset=UTF-8
11462 Content-Transfer-Encoding: 8bit
11463
11464 OpenBSD-Commit-ID: b4891882fbe413f230fe8ac8a37349b03bd0b70d
11465
11466commit 1a66079c0669813306cc69e5776a4acd9fb49015
11467Author: djm@openbsd.org <djm@openbsd.org>
11468Date: Tue Jul 31 03:07:24 2018 +0000
11469
11470 upstream: fix some memory leaks spotted by Coverity via Jakub Jelen
11471
11472 in bz#2366 feedback and ok dtucker@
11473
11474 OpenBSD-Commit-ID: 8402bbae67d578bedbadb0ce68ff7c5a136ef563
11475
11476commit 87f08be054b7eeadbb9cdeb3fb4872be79ccf218
11477Author: Damien Miller <djm@mindrot.org>
11478Date: Fri Jul 20 13:18:28 2018 +1000
11479
11480 Remove support for S/Key
11481
11482 Most people will 1) be using modern multi-factor authentication methods
11483 like TOTP/OATH etc and 2) be getting support for multi-factor
11484 authentication via PAM or BSD Auth.
11485
11486commit 5d14019ba2ff54acbfd20a6b9b96bb860a8c7c31
11487Author: markus@openbsd.org <markus@openbsd.org>
11488Date: Fri Jul 27 12:03:17 2018 +0000
11489
11490 upstream: avoid expensive channel_open_message() calls; ok djm@
11491
11492 OpenBSD-Commit-ID: aea3b5512ad681cd8710367d743e8a753d4425d9
11493
11494commit e655ee04a3cb7999dbf9641b25192353e2b69418
11495Author: dtucker@openbsd.org <dtucker@openbsd.org>
11496Date: Fri Jul 27 05:34:42 2018 +0000
11497
11498 upstream: Now that ssh can't be setuid, remove the
11499
11500 original_real_uid and original_effective_uid globals and replace with calls
11501 to plain getuid(). ok djm@
11502
11503 OpenBSD-Commit-ID: 92561c0cd418d34e6841e20ba09160583e27b68c
11504
11505commit 73ddb25bae4c33a0db361ac13f2e3a60d7c6c4a5
11506Author: dtucker@openbsd.org <dtucker@openbsd.org>
11507Date: Fri Jul 27 05:13:02 2018 +0000
11508
11509 upstream: Remove uid checks from low port binds. Now that ssh
11510
11511 cannot be setuid and sshd always has privsep on, we can remove the uid checks
11512 for low port binds and just let the system do the check. We leave a sanity
11513 check for the !privsep case so long as the code is stil there. with & ok
11514 djm@
11515
11516 OpenBSD-Commit-ID: 9535cfdbd1cd54486fdbedfaee44ce4367ec7ca0
11517
11518commit c12033e102760d043bc5c98e6c8180e4d331b0df
11519Author: dtucker@openbsd.org <dtucker@openbsd.org>
11520Date: Fri Jul 27 03:55:22 2018 +0000
11521
11522 upstream: ssh(1) no longer supports being setuid root. Remove reference
11523
11524 to crc32 which went with protocol 1. Pointed out by deraadt@.
11525
11526 OpenBSD-Commit-ID: f8763c25fd96ed91dd1abdab5667fd2e27e377b6
11527
11528commit 4492e2ec4e1956a277ef507f51d66e5c2aafaaf8
11529Author: Damien Miller <djm@mindrot.org>
11530Date: Fri Jul 27 14:15:28 2018 +1000
11531
11532 correct snprintf truncation check in closefrom()
11533
11534 Truncation cannot happen unless the system has set PATH_MAX to some
11535 nonsensically low value.
11536
11537 bz#2862, patch from Daniel Le
11538
11539commit 149cab325a8599a003364ed833f878449c15f259
11540Author: Darren Tucker <dtucker@dtucker.net>
11541Date: Fri Jul 27 13:46:06 2018 +1000
11542
11543 Include stdarg.h in mkdtemp for va_list.
11544
11545commit 6728f31bdfdc864d192773c32465b1860e23f556
11546Author: deraadt@openbsd.org <deraadt@openbsd.org>
11547Date: Wed Jul 25 17:12:35 2018 +0000
11548
11549 upstream: Don't redefine Makefile choices which come correct from
11550
11551 bsd.*.mk ok markus
11552
11553 OpenBSD-Commit-ID: 814b2f670df75759e1581ecef530980b2b3d7e0f
11554
11555commit 21fd477a855753c1a8e450963669e28e39c3b5d2
11556Author: deraadt@openbsd.org <deraadt@openbsd.org>
11557Date: Wed Jul 25 13:56:23 2018 +0000
11558
11559 upstream: fix indent; Clemens Goessnitzer
11560
11561 OpenBSD-Commit-ID: b5149a6d92b264d35f879d24608087b254857a83
11562
11563commit 8e433c2083db8664c41499ee146448ea7ebe7dbf
11564Author: beck@openbsd.org <beck@openbsd.org>
11565Date: Wed Jul 25 13:10:56 2018 +0000
11566
11567 upstream: Use the caller provided (copied) pwent struct in
11568
11569 load_public_identity_files instead of calling getpwuid() again and discarding
11570 the argument. This prevents a client crash where tilde_expand_filename calls
11571 getpwuid() again before the pwent pointer is used. Issue noticed and reported
11572 by Pierre-Olivier Martel <pom@apple.com> ok djm@ deraadt@
11573
11574 OpenBSD-Commit-ID: a067d74b5b098763736c94cc1368de8ea3f0b157
11575
11576commit e2127abb105ae72b6fda64fff150e6b24b3f1317
11577Author: jmc@openbsd.org <jmc@openbsd.org>
11578Date: Mon Jul 23 19:53:55 2018 +0000
11579
11580 upstream: oops, failed to notice that SEE ALSO got messed up;
11581
11582 OpenBSD-Commit-ID: 61c1306542cefdc6e59ac331751afe961557427d
11583
11584commit ddf1b797c2d26bbbc9d410aa4f484cbe94673587
11585Author: kn@openbsd.org <kn@openbsd.org>
11586Date: Mon Jul 23 19:02:49 2018 +0000
11587
11588 upstream: Point to glob in section 7 for the actual list of special
11589
11590 characters instead the C API in section 3.
11591
11592 OK millert jmc nicm, "the right idea" deraadt
11593
11594 OpenBSD-Commit-ID: a74fd215488c382809e4d041613aeba4a4b1ffc6
11595
11596commit 01c98d9661d0ed6156e8602b650f72eed9fc4d12
11597Author: dtucker@openbsd.org <dtucker@openbsd.org>
11598Date: Sun Jul 22 12:16:59 2018 +0000
11599
11600 upstream: Switch authorized_keys example from ssh-dss to ssh-rsa
11601
11602 since the former is no longer enabled by default. Pointed out by Daniel A.
11603 Maierhofer, ok jmc
11604
11605 OpenBSD-Commit-ID: 6a196cef53d7524e0c9b58cdbc1b5609debaf8c7
11606
11607commit 472269f8fe19343971c2d08f504ab5cbb8234b33
11608Author: djm@openbsd.org <djm@openbsd.org>
11609Date: Fri Jul 20 05:01:10 2018 +0000
11610
11611 upstream: slightly-clearer description for AuthenticationMethods - the
11612
11613 lists have comma-separated elements; bz#2663 from Hans Meier
11614
11615 OpenBSD-Commit-ID: 931c983d0fde4764d0942fb2c2b5017635993b5a
11616
11617commit c59aca8adbdf7f5597084ad360a19bedb3f80970
11618Author: Damien Miller <djm@mindrot.org>
11619Date: Fri Jul 20 14:53:42 2018 +1000
11620
11621 Create control sockets in clean temp directories
11622
11623 Adds a regress/mkdtemp tool and uses it to create empty temp
11624 directories for tests needing control sockets.
11625
11626 Patch from Colin Watson via bz#2660; ok dtucker
11627
11628commit 6ad8648e83e4f4ace37b742a05c2a6b6b872514e
11629Author: djm@openbsd.org <djm@openbsd.org>
11630Date: Fri Jul 20 03:46:34 2018 +0000
11631
11632 upstream: remove unused zlib.h
11633
11634 OpenBSD-Commit-ID: 8d274a9b467c7958df12668b49144056819f79f1
11635
11636commit 3ba6e6883527fe517b6e4a824876e2fe62af22fc
11637Author: dtucker@openbsd.org <dtucker@openbsd.org>
11638Date: Thu Jul 19 23:03:16 2018 +0000
11639
11640 upstream: Fix typo in comment. From Alexandru Iacob via github.
11641
11642 OpenBSD-Commit-ID: eff4ec07c6c8c5483533da43a4dda37d72ef7f1d
11643
11644commit c77bc73c91bc656e343a1961756e09dd1b170820
11645Author: Darren Tucker <dtucker@dtucker.net>
11646Date: Fri Jul 20 13:48:51 2018 +1000
11647
11648 Explicitly include openssl before zlib.
11649
11650 Some versions of OpenSSL have "free_func" in their headers, which zlib
11651 typedefs. Including openssl after zlib (eg via sshkey.h) results in
11652 "syntax error before `free_func'", which this fixes.
11653
11654commit 95d41e90eafcd1286a901e8e361e4a37b98aeb52
11655Author: dtucker@openbsd.org <dtucker@openbsd.org>
11656Date: Thu Jul 19 10:28:47 2018 +0000
11657
11658 upstream: Deprecate UsePrivilegedPort now that support for running
11659
11660 ssh(1) setuid has been removed, remove supporting code and clean up
11661 references to it in the man pages
11662
11663 We have not shipped ssh(1) the setuid bit since 2002. If ayone
11664 really needs to make connections from a low port number this can
11665 be implemented via a small setuid ProxyCommand.
11666
11667 ok markus@ jmc@ djm@
11668
11669 OpenBSD-Commit-ID: d03364610b7123ae4c6792f5274bd147b6de717e
11670
11671commit 258dc8bb07dfb35a46e52b0822a2c5b7027df60a
11672Author: dtucker@openbsd.org <dtucker@openbsd.org>
11673Date: Wed Jul 18 11:34:04 2018 +0000
11674
11675 upstream: Remove support for running ssh(1) setuid and fatal if
11676
11677 attempted. Do not link uidwap.c into ssh any more. Neuters
11678 UsePrivilegedPort, which will be marked as deprecated shortly. ok markus@
11679 djm@
11680
11681 OpenBSD-Commit-ID: c4ba5bf9c096f57a6ed15b713a1d7e9e2e373c42
11682
11683commit ac590760b251506b0a152551abbf8e8d6dc2f527
11684Author: dtucker@openbsd.org <dtucker@openbsd.org>
11685Date: Mon Jul 16 22:25:01 2018 +0000
11686
11687 upstream: Slot 0 in the hostbased key array was previously RSA1,
11688
11689 but that is now gone and the slot is unused so remove it. Remove two
11690 now-unused macros, and add an array bounds check to the two remaining ones
11691 (array is statically sized, so mostly a safety check on future changes). ok
11692 markus@
11693
11694 OpenBSD-Commit-ID: 2e4c0ca6cc1d8daeccead2aa56192a3f9d5e1e7a
11695
11696commit 26efc2f5df0e3bcf6a6bbdd0506fd682d60c2145
11697Author: dtucker@openbsd.org <dtucker@openbsd.org>
11698Date: Mon Jul 16 11:05:41 2018 +0000
11699
11700 upstream: Remove support for loading HostBasedAuthentication keys
11701
11702 directly in ssh(1) and always use ssh-keysign. This removes one of the few
11703 remaining reasons why ssh(1) might be setuid. ok markus@
11704
11705 OpenBSD-Commit-ID: 97f01e1448707129a20d75f86bad5d27c3cf0b7d
11706
11707commit 3eb7f1038d17af7aea3c2c62d1e30cd545607640
11708Author: djm@openbsd.org <djm@openbsd.org>
11709Date: Mon Jul 16 07:06:50 2018 +0000
11710
11711 upstream: keep options.identity_file_userprovided array in sync when we
11712
11713 load keys, fixing some spurious error messages; ok markus
11714
11715 OpenBSD-Commit-ID: c63e3d5200ee2cf9e35bda98de847302566c6a00
11716
11717commit 2f131e1b34502aa19f345e89cabf6fa3fc097f09
11718Author: djm@openbsd.org <djm@openbsd.org>
11719Date: Mon Jul 16 03:09:59 2018 +0000
11720
11721 upstream: memleak in unittest; found by valgrind
11722
11723 OpenBSD-Regress-ID: 168c23b0fb09fc3d0b438628990d3fd9260a8a5e
11724
11725commit de2997a4cf22ca0a524f0e5b451693c583e2fd89
11726Author: djm@openbsd.org <djm@openbsd.org>
11727Date: Mon Jul 16 03:09:13 2018 +0000
11728
11729 upstream: memleaks; found by valgrind
11730
11731 OpenBSD-Commit-ID: 6c3ba22be53e753c899545f771e8399fc93cd844
11732
11733commit 61cc0003eb37fa07603c969c12b7c795caa498f3
11734Author: Darren Tucker <dtucker@dtucker.net>
11735Date: Sat Jul 14 16:49:01 2018 +1000
11736
11737 Undef a few new macros in sys-queue.h.
11738
11739 Prevents macro redefinition warnings on OSX.
11740
11741commit 30a2c213877a54a44dfdffb6ca8db70be5b457e0
11742Author: Darren Tucker <dtucker@dtucker.net>
11743Date: Fri Jul 13 13:40:20 2018 +1000
11744
11745 Include unistd.h for geteuid declaration.
11746
11747commit 1dd32c23f2a85714dfafe2a9cc516971d187caa4
11748Author: Darren Tucker <dtucker@dtucker.net>
11749Date: Fri Jul 13 13:38:10 2018 +1000
11750
11751 Fallout from buffer conversion in AUDIT_EVENTS.
11752
11753 Supply missing "int r" and fix error path for sshbuf_new().
11754
11755commit 7449c178e943e5c4f6c8416a4e41d93b70c11c9e
11756Author: djm@openbsd.org <djm@openbsd.org>
11757Date: Fri Jul 13 02:13:50 2018 +0000
11758
11759 upstream: make this use ssh_proxy rather than starting/stopping a
11760
11761 daemon for each testcase
11762
11763 OpenBSD-Regress-ID: 608b7655ea65b1ba8fff5a13ce9caa60ef0c8166
11764
11765commit dbab02f9208d9baa134cec1d007054ec82b96ca9
11766Author: djm@openbsd.org <djm@openbsd.org>
11767Date: Fri Jul 13 02:13:19 2018 +0000
11768
11769 upstream: fix leaks in unit test; with this, all unit tests are
11770
11771 leak free (as far as valgrind can spot anyway)
11772
11773 OpenBSD-Regress-ID: b824d8b27998365379963440e5d18b95ca03aa17
11774
11775commit 2f6accff5085eb79b0dbe262d8b85ed017d1a51c
11776Author: Damien Miller <djm@mindrot.org>
11777Date: Fri Jul 13 11:39:25 2018 +1000
11778
11779 Enable leak checks for unit tests with valgrind
11780
11781 Leave the leak checking on unconditionally when running with valgrind.
11782 The unit tests are leak-free and I want them to stay that way.
11783
11784commit e46cfbd9db5e907b821bf4fd0184d4dab99815ee
11785Author: Damien Miller <djm@mindrot.org>
11786Date: Fri Jul 13 11:38:59 2018 +1000
11787
11788 increase timeout to match cfgmatch.sh
11789
11790 lets test pass under valgrind (on my workstation at least)
11791
11792commit 6aa1bf475cf3e7a2149acc5a1e80e904749f064c
11793Author: Damien Miller <djm@mindrot.org>
11794Date: Thu Jul 12 14:54:18 2018 +1000
11795
11796 rm regress/misc/kexfuzz/*.o in distclean target
11797
11798commit eef1447ddb559c03725a23d4aa6d03f40e8b0049
11799Author: Damien Miller <djm@mindrot.org>
11800Date: Thu Jul 12 14:49:26 2018 +1000
11801
11802 repair !WITH_OPENSSL build
11803
11804commit 4d3b2f36fd831941d1627ac587faae37b6d3570f
11805Author: Damien Miller <djm@mindrot.org>
11806Date: Thu Jul 12 14:49:14 2018 +1000
11807
11808 missing headers
11809
11810commit 3f420a692b293921216549c1099c2e46ff284eae
11811Author: Darren Tucker <dtucker@dtucker.net>
11812Date: Thu Jul 12 14:57:46 2018 +1000
11813
11814 Remove key.h from portable files too.
11815
11816 Commit 5467fbcb removed key.h so stop including it in portable files
11817 too. Fixes builds on lots of platforms.
11818
11819commit e2c4af311543093f16005c10044f7e06af0426f0
11820Author: djm@openbsd.org <djm@openbsd.org>
11821Date: Thu Jul 12 04:35:25 2018 +0000
11822
11823 upstream: remove prototype to long-gone function
11824
11825 OpenBSD-Commit-ID: 0414642ac7ce01d176b9f359091a66a8bbb640bd
11826
11827commit 394a842e60674bf8ee5130b9f15b01452a0b0285
11828Author: markus@openbsd.org <markus@openbsd.org>
11829Date: Wed Jul 11 18:55:11 2018 +0000
11830
11831 upstream: treat ssh_packet_write_wait() errors as fatal; ok djm@
11832
11833 OpenBSD-Commit-ID: f88ba43c9d54ed2d911218aa8d3f6285430629c3
11834
11835commit 5467fbcb09528ecdcb914f4f2452216c24796790
11836Author: markus@openbsd.org <markus@openbsd.org>
11837Date: Wed Jul 11 18:53:29 2018 +0000
11838
11839 upstream: remove legacy key emulation layer; ok djm@
11840
11841 OpenBSD-Commit-ID: 2b1f9619259e222bbd4fe9a8d3a0973eafb9dd8d
11842
11843commit 5dc4c59d5441a19c99e7945779f7ec9051126c25
11844Author: martijn@openbsd.org <martijn@openbsd.org>
11845Date: Wed Jul 11 08:19:35 2018 +0000
11846
11847 upstream: s/wuth/with/ in comment
11848
11849 OpenBSD-Commit-ID: 9de41468afd75f54a7f47809d2ad664aa577902c
11850
11851commit 1c688801e9dd7f9889fb2a29bc2b6fbfbc35a11f
11852Author: Darren Tucker <dtucker@dtucker.net>
11853Date: Wed Jul 11 12:12:38 2018 +1000
11854
11855 Include stdlib.h for declaration of free.
11856
11857 Fixes build with -Werror on at least Fedora and probably others.
11858
11859commit fccfa239def497615f92ed28acc57cfe63da3666
11860Author: Damien Miller <djm@mindrot.org>
11861Date: Wed Jul 11 10:19:56 2018 +1000
11862
11863 VALGRIND_CHECK_LEAKS logic was backwards :(
11864
11865commit 416287d45fcde0a8e66eee8b99aa73bd58607588
11866Author: Darren Tucker <dtucker@dtucker.net>
11867Date: Wed Jul 11 10:10:26 2018 +1000
11868
11869 Fix sshbuf_new error path in skey.
11870
11871commit 7aab109b8b90a353c1af780524f1ac0d3af47bab
11872Author: Darren Tucker <dtucker@dtucker.net>
11873Date: Wed Jul 11 10:06:18 2018 +1000
11874
11875 Supply missing third arg in skey.
11876
11877 During the change to the new buffer api the third arg to
11878 sshbuf_get_cstring was ommitted. Fixes build when configured with skey.
11879
11880commit 380320bb72cc353a901790ab04b6287fd335dc4a
11881Author: Darren Tucker <dtucker@dtucker.net>
11882Date: Wed Jul 11 10:03:34 2018 +1000
11883
11884 Supply some more missing "int r" in skey
11885
11886commit d20720d373d8563ee737d1a45dc5e0804d622dbc
11887Author: Damien Miller <djm@mindrot.org>
11888Date: Wed Jul 11 09:56:36 2018 +1000
11889
11890 disable valgrind memleak checking by default
11891
11892 Add VALGRIND_CHECK_LEAKS knob to turn it back on.
11893
11894commit 79c9d35018f3a5e30ae437880b669aa8636cd3cd
11895Author: Darren Tucker <dtucker@dtucker.net>
11896Date: Wed Jul 11 09:54:00 2018 +1000
11897
11898 Supply missing "int r" in skey code.
11899
11900commit 984bacfaacbbe31c35191b828fb5b5b2f0362c36
11901Author: sf@openbsd.org <sf@openbsd.org>
11902Date: Tue Jul 10 09:36:58 2018 +0000
11903
11904 upstream: re-remove some pre-auth compression bits
11905
11906 This time, make sure to not remove things that are necessary for
11907 pre-auth compression on the client. Add a comment that pre-auth
11908 compression is still supported in the client.
11909
11910 ok markus@
11911
11912 OpenBSD-Commit-ID: 282c6fec7201f18a5c333bbb68d9339734d2f784
11913
11914commit 120a1ec74e8d9d29f4eb9a27972ddd22351ddef9
11915Author: Damien Miller <djm@mindrot.org>
11916Date: Tue Jul 10 19:39:52 2018 +1000
11917
11918 Adapt portable to legacy buffer API removal
11919
11920commit 0f3958c1e6ffb8ea4ba27e2a97a00326fce23246
11921Author: djm@openbsd.org <djm@openbsd.org>
11922Date: Tue Jul 10 09:13:30 2018 +0000
11923
11924 upstream: kerberos/gssapi fixes for buffer removal
11925
11926 OpenBSD-Commit-ID: 1cdf56fec95801e4563c47f21696f04cd8b60c4c
11927
11928commit c74ae8e7c45f325f3387abd48fa7dfef07a08069
11929Author: djm@openbsd.org <djm@openbsd.org>
11930Date: Tue Jul 10 06:45:29 2018 +0000
11931
11932 upstream: buffer.[ch] and bufaux.c are no more
11933
11934 OpenBSD-Commit-ID: d1a1852284e554f39525eb4d4891b207cfb3d3a0
11935
11936commit a881e5a133d661eca923fb0633a03152ab2b70b2
11937Author: djm@openbsd.org <djm@openbsd.org>
11938Date: Tue Jul 10 06:43:52 2018 +0000
11939
11940 upstream: one mention of Buffer that almost got away :)
11941
11942 OpenBSD-Commit-ID: 30d7c27a90b4544ad5dfacf654595710cd499f02
11943
11944commit 49f47e656b60bcd1d1db98d88105295f4b4e600d
11945Author: markus@openbsd.org <markus@openbsd.org>
11946Date: Mon Jul 9 21:59:10 2018 +0000
11947
11948 upstream: replace cast with call to sshbuf_mutable_ptr(); ok djm@
11949
11950 OpenBSD-Commit-ID: 4dfe9d29fa93d9231645c89084f7217304f7ba29
11951
11952commit cb30cd47041edb03476be1c8ef7bc1f4b69d1555
11953Author: markus@openbsd.org <markus@openbsd.org>
11954Date: Mon Jul 9 21:56:06 2018 +0000
11955
11956 upstream: remove legacy buffer API emulation layer; ok djm@
11957
11958 OpenBSD-Commit-ID: 2dd5dc17cbc23195be4299fa93be2707a0e08ad9
11959
11960commit 235c7c4e3bf046982c2d8242f30aacffa01073d1
11961Author: markus@openbsd.org <markus@openbsd.org>
11962Date: Mon Jul 9 21:53:45 2018 +0000
11963
11964 upstream: sshd: switch monitor to sshbuf API; lots of help & ok
11965
11966 djm@
11967
11968 OpenBSD-Commit-ID: d89bd02d33974fd35ca0b8940d88572227b34a48
11969
11970commit b8d9214d969775e409e1408ecdf0d58fad99b344
11971Author: markus@openbsd.org <markus@openbsd.org>
11972Date: Mon Jul 9 21:37:55 2018 +0000
11973
11974 upstream: sshd: switch GSSAPI to sshbuf API; ok djm@
11975
11976 OpenBSD-Commit-ID: e48449ab4be3f006f7ba33c66241b7d652973e30
11977
11978commit c7d39ac8dc3587c5f05bdd5bcd098eb5c201c0c8
11979Author: markus@openbsd.org <markus@openbsd.org>
11980Date: Mon Jul 9 21:35:50 2018 +0000
11981
11982 upstream: sshd: switch authentication to sshbuf API; ok djm@
11983
11984 OpenBSD-Commit-ID: 880aa06bce4b140781e836bb56bec34873290641
11985
11986commit c3cb7790e9efb14ba74b2d9f543ad593b3d55b31
11987Author: markus@openbsd.org <markus@openbsd.org>
11988Date: Mon Jul 9 21:29:36 2018 +0000
11989
11990 upstream: sshd: switch config to sshbuf API; ok djm@
11991
11992 OpenBSD-Commit-ID: 72b02017bac7feac48c9dceff8355056bea300bd
11993
11994commit 2808d18ca47ad3d251836c555f0e22aaca03d15c
11995Author: markus@openbsd.org <markus@openbsd.org>
11996Date: Mon Jul 9 21:26:02 2018 +0000
11997
11998 upstream: sshd: switch loginmsg to sshbuf API; ok djm@
11999
12000 OpenBSD-Commit-ID: f3cb4e54bff15c593602d95cc43e32ee1a4bac42
12001
12002commit 89dd615b8b531979be63f05f9d5624367c9b28e6
12003Author: markus@openbsd.org <markus@openbsd.org>
12004Date: Mon Jul 9 21:20:26 2018 +0000
12005
12006 upstream: ttymodes: switch to sshbuf API; ok djm@
12007
12008 OpenBSD-Commit-ID: 5df340c5965e822c9da21e19579d08dea3cbe429
12009
12010commit f4608a7065480516ab46214f554e5f853fb7870f
12011Author: markus@openbsd.org <markus@openbsd.org>
12012Date: Mon Jul 9 21:18:10 2018 +0000
12013
12014 upstream: client: switch mux to sshbuf API; with & ok djm@
12015
12016 OpenBSD-Commit-ID: 5948fb98d704f9c4e075b92edda64e0290b5feb2
12017
12018commit cecee2d607099a7bba0a84803e2325d15be4277b
12019Author: markus@openbsd.org <markus@openbsd.org>
12020Date: Mon Jul 9 21:03:30 2018 +0000
12021
12022 upstream: client: switch to sshbuf API; ok djm@
12023
12024 OpenBSD-Commit-ID: 60cb0356114acc7625ab85105f6f6a7cd44a8d05
12025
12026commit ff55f4ad898137d4703e7a2bcc81167dfe8e9324
12027Author: markus@openbsd.org <markus@openbsd.org>
12028Date: Mon Jul 9 20:39:28 2018 +0000
12029
12030 upstream: pkcs11: switch to sshbuf API; ok djm@
12031
12032 OpenBSD-Commit-ID: 98cc4e800f1617c51caf59a6cb3006f14492db79
12033
12034commit 168b46f405d6736960ba7930389eecb9b6710b7e
12035Author: sf@openbsd.org <sf@openbsd.org>
12036Date: Mon Jul 9 13:37:10 2018 +0000
12037
12038 upstream: Revert previous two commits
12039
12040 It turns out we still support pre-auth compression on the client.
12041 Therefore revert the previous two commits:
12042
12043 date: 2018/07/06 09:06:14; author: sf; commitid: yZVYKIRtUZWD9CmE;
12044 Rename COMP_DELAYED to COMP_ZLIB
12045
12046 Only delayed compression is supported nowadays.
12047
12048 ok markus@
12049
12050 date: 2018/07/06 09:05:01; author: sf; commitid: rEGuT5UgI9f6kddP;
12051 Remove leftovers from pre-authentication compression
12052
12053 Support for this has been removed in 2016.
12054 COMP_DELAYED will be renamed in a later commit.
12055
12056 ok markus@
12057
12058 OpenBSD-Commit-ID: cdfef526357e4e1483c86cf599491b2dafb77772
12059
12060commit ab39267fa1243d02b6c330615539fc4b21e17dc4
12061Author: sf@openbsd.org <sf@openbsd.org>
12062Date: Fri Jul 6 09:06:14 2018 +0000
12063
12064 upstream: Rename COMP_DELAYED to COMP_ZLIB
12065
12066 Only delayed compression is supported nowadays.
12067
12068 ok markus@
12069
12070 OpenBSD-Commit-ID: 5b1dbaf3d9a4085aaa10fec0b7a4364396561821
12071
12072commit 95db395d2e56a6f868193aead6cadb2493f036c6
12073Author: sf@openbsd.org <sf@openbsd.org>
12074Date: Fri Jul 6 09:05:01 2018 +0000
12075
12076 upstream: Remove leftovers from pre-authentication compression
12077
12078 Support for this has been removed in 2016.
12079 COMP_DELAYED will be renamed in a later commit.
12080
12081 ok markus@
12082
12083 OpenBSD-Commit-ID: 6a99616c832627157113fcb0cf5a752daf2e6b58
12084
12085commit f28a4d5cd24c4aa177e96b4f96957991e552cb70
12086Author: sf@openbsd.org <sf@openbsd.org>
12087Date: Fri Jul 6 09:03:02 2018 +0000
12088
12089 upstream: Remove unused ssh_packet_start_compression()
12090
12091 ok markus@
12092
12093 OpenBSD-Commit-ID: 9d34cf2f59aca5422021ae2857190578187dc2b4
12094
12095commit 872517ddbb72deaff31d4760f28f2b0a1c16358f
12096Author: Darren Tucker <dtucker@dtucker.net>
12097Date: Fri Jul 6 13:32:02 2018 +1000
12098
12099 Defer setting bufsiz in getdelim.
12100
12101 Do not write to bufsiz until we are sure the malloc has succeeded,
12102 in case any callers rely on it (which they shouldn't). ok djm@
12103
12104commit 3deb56f7190a414dc264e21e087a934fa1847283
12105Author: Darren Tucker <dtucker@dtucker.net>
12106Date: Thu Jul 5 13:32:01 2018 +1000
12107
12108 Fix other callers of read_environment_file.
12109
12110 read_environment_file recently gained an extra argument Some platform
12111 specific code also calls it so add the argument to those too. Fixes
12112 build on Solaris and AIX.
12113
12114commit 314908f451e6b2d4ccf6212ad246fa4619c721d3
12115Author: djm@openbsd.org <djm@openbsd.org>
12116Date: Wed Jul 4 13:51:45 2018 +0000
12117
12118 upstream: deal with API rename: match_filter_list() =>
12119
12120 match_filter_blacklist()
12121
12122 OpenBSD-Regress-ID: 2da342be913efeb51806351af906fab01ba4367f
12123
12124commit 89f54cdf6b9cf1cf5528fd33897f1443913ddfb4
12125Author: djm@openbsd.org <djm@openbsd.org>
12126Date: Wed Jul 4 13:51:12 2018 +0000
12127
12128 upstream: exercise new expansion behaviour of
12129
12130 PubkeyAcceptedKeyTypes and, by proxy, test kex_assemble_names()
12131
12132 ok markus@
12133
12134 OpenBSD-Regress-ID: 292978902e14d5729aa87e492dd166c842f72736
12135
12136commit 187633f24c71564e970681c8906df5a6017dcccf
12137Author: djm@openbsd.org <djm@openbsd.org>
12138Date: Tue Jul 3 13:53:26 2018 +0000
12139
12140 upstream: add a comment that could have saved me 45 minutes of wild
12141
12142 goose chasing
12143
12144 OpenBSD-Regress-ID: d469b29ffadd3402c090e21b792d627d46fa5297
12145
12146commit 312d2f2861a2598ed08587cb6c45c0e98a85408f
12147Author: djm@openbsd.org <djm@openbsd.org>
12148Date: Wed Jul 4 13:49:31 2018 +0000
12149
12150 upstream: repair PubkeyAcceptedKeyTypes (and friends) after RSA
12151
12152 signature work - returns ability to add/remove/specify algorithms by
12153 wildcard.
12154
12155 Algorithm lists are now fully expanded when the server/client configs
12156 are finalised, so errors are reported early and the config dumps
12157 (e.g. "ssh -G ...") now list the actual algorithms selected.
12158
12159 Clarify that, while wildcards are accepted in algorithm lists, they
12160 aren't full pattern-lists that support negation.
12161
12162 (lots of) feedback, ok markus@
12163
12164 OpenBSD-Commit-ID: a8894c5c81f399a002f02ff4fe6b4fa46b1f3207
12165
12166commit 303af5803bd74bf05d375c04e1a83b40c30b2be5
12167Author: djm@openbsd.org <djm@openbsd.org>
12168Date: Tue Jul 3 11:43:49 2018 +0000
12169
12170 upstream: some magic for RSA-SHA2 checks
12171
12172 OpenBSD-Regress-ID: e5a9b11368ff6d86e7b25ad10ebe43359b471cd4
12173
12174commit 7d68e262944c1fff1574600fe0e5e92ec8b398f5
12175Author: Damien Miller <djm@mindrot.org>
12176Date: Tue Jul 3 23:27:11 2018 +1000
12177
12178 depend
12179
12180commit b4d4eda633af433d20232cbf7e855ceac8b83fe5
12181Author: djm@openbsd.org <djm@openbsd.org>
12182Date: Tue Jul 3 13:20:25 2018 +0000
12183
12184 upstream: some finesse to fix RSA-SHA2 certificate authentication
12185
12186 for certs hosted in ssh-agent
12187
12188 OpenBSD-Commit-ID: e5fd5edd726137dda2d020e1cdebc464110a010f
12189
12190commit d78b75df4a57e0f92295f24298e5f2930e71c172
12191Author: djm@openbsd.org <djm@openbsd.org>
12192Date: Tue Jul 3 13:07:58 2018 +0000
12193
12194 upstream: check correct variable; unbreak agent keys
12195
12196 OpenBSD-Commit-ID: c36981fdf1f3ce04966d3310826a3e1e6233d93e
12197
12198commit 2f30300c5e15929d0e34013f38d73e857f445e12
12199Author: djm@openbsd.org <djm@openbsd.org>
12200Date: Tue Jul 3 11:42:12 2018 +0000
12201
12202 upstream: crank version number to 7.8; needed for new compat flag
12203
12204 for prior version; part of RSA-SHA2 strictification, ok markus@
12205
12206 OpenBSD-Commit-ID: 84a11fc0efd2674c050712336b5093f5d408e32b
12207
12208commit 4ba0d54794814ec0de1ec87987d0c3b89379b436
12209Author: djm@openbsd.org <djm@openbsd.org>
12210Date: Tue Jul 3 11:39:54 2018 +0000
12211
12212 upstream: Improve strictness and control over RSA-SHA2 signature
12213
12214 In ssh, when an agent fails to return a RSA-SHA2 signature when
12215 requested and falls back to RSA-SHA1 instead, retry the signature to
12216 ensure that the public key algorithm sent in the SSH_MSG_USERAUTH
12217 matches the one in the signature itself.
12218
12219 In sshd, strictly enforce that the public key algorithm sent in the
12220 SSH_MSG_USERAUTH message matches what appears in the signature.
12221
12222 Make the sshd_config PubkeyAcceptedKeyTypes and
12223 HostbasedAcceptedKeyTypes options control accepted signature algorithms
12224 (previously they selected supported key types). This allows these
12225 options to ban RSA-SHA1 in favour of RSA-SHA2.
12226
12227 Add new signature algorithms "rsa-sha2-256-cert-v01@openssh.com" and
12228 "rsa-sha2-512-cert-v01@openssh.com" to force use of RSA-SHA2 signatures
12229 with certificate keys.
12230
12231 feedback and ok markus@
12232
12233 OpenBSD-Commit-ID: c6e9f6d45eed8962ad502d315d7eaef32c419dde
12234
12235commit 95344c257412b51199ead18d54eaed5bafb75617
12236Author: djm@openbsd.org <djm@openbsd.org>
12237Date: Tue Jul 3 10:59:35 2018 +0000
12238
12239 upstream: allow sshd_config PermitUserEnvironment to accept a
12240
12241 pattern-list of whitelisted environment variable names in addition to yes|no.
12242
12243 bz#1800, feedback and ok markus@
12244
12245 OpenBSD-Commit-ID: 77dc2b468e0bf04b53f333434ba257008a1fdf24
12246
12247commit 6f56fe4b9578b0627667f8bce69d4d938a88324c
12248Author: millert@openbsd.org <millert@openbsd.org>
12249Date: Tue Jun 26 11:23:59 2018 +0000
12250
12251 upstream: Fix "WARNING: line 6 disappeared in /etc/moduli, giving up"
12252
12253 when choosing a prime. An extra increment of linenum snuck in as part of the
12254 conversion to getline(). OK djm@ markus@
12255
12256 OpenBSD-Commit-ID: 0019225cb52ed621b71cd9f19ee2e78e57e3dd38
12257
12258commit 1eee79a11c1b3594f055b01e387c49c9a6e80005
12259Author: dtucker@openbsd.org <dtucker@openbsd.org>
12260Date: Mon Jul 2 14:13:30 2018 +0000
12261
12262 upstream: One ampersand is enough to backgroud an process. OpenBSD
12263
12264 doesn't seem to mind, but some platforms in -portable object to the second.
12265
12266 OpenBSD-Regress-ID: d6c3e404871764343761dc25c3bbe29c2621ff74
12267
12268commit 6301e6c787d4e26bfae1119ab4f747bbcaa94e44
12269Author: Darren Tucker <dtucker@dtucker.net>
12270Date: Mon Jul 2 21:16:58 2018 +1000
12271
12272 Add implementation of getline.
12273
12274 Add getline for the benefit of platforms that don't have it. Sourced
12275 from NetBSD (OpenBSD's implementation is a little too chummy with the
12276 internals of FILE).
12277
12278commit 84623e0037628f9992839063151f7a9f5f13099a
12279Author: djm@openbsd.org <djm@openbsd.org>
12280Date: Tue Jun 26 02:02:36 2018 +0000
12281
12282 upstream: whitespace
12283
12284 OpenBSD-Commit-ID: 9276951caf4daf555f6d262e95720e7f79244572
12285
12286commit 90e51d672711c19a36573be1785caf35019ae7a8
12287Author: djm@openbsd.org <djm@openbsd.org>
12288Date: Mon Jun 25 22:28:33 2018 +0000
12289
12290 upstream: fix NULL dereference in open_listen_match_tcpip()
12291
12292 OpenBSD-Commit-ID: c968c1d29e392352383c0f9681fcc1e93620c4a9
12293
12294commit f535ff922a67d9fcc5ee69d060d1b21c8bb01d14
12295Author: jmc@openbsd.org <jmc@openbsd.org>
12296Date: Tue Jun 19 05:36:57 2018 +0000
12297
12298 upstream: spelling;
12299
12300 OpenBSD-Commit-ID: db542918185243bea17202383a581851736553cc
12301
12302commit 80e199d6175904152aafc5c297096c3e18297691
12303Author: djm@openbsd.org <djm@openbsd.org>
12304Date: Tue Jun 19 03:02:17 2018 +0000
12305
12306 upstream: test PermitListen with bare port numbers
12307
12308 OpenBSD-Regress-ID: 4b50a02dfb0ccaca08247f3877c444126ba901b3
12309
12310commit 87ddd676da0f3abd08b778b12b53b91b670dc93c
12311Author: djm@openbsd.org <djm@openbsd.org>
12312Date: Tue Jun 19 02:59:41 2018 +0000
12313
12314 upstream: allow bare port numbers to appear in PermitListen directives,
12315
12316 e.g.
12317
12318 PermitListen 2222 8080
12319
12320 is equivalent to:
12321
12322 PermitListen *:2222 *:8080
12323
12324 Some bonus manpage improvements, mostly from markus@
12325
12326 "looks fine" markus@
12327
12328 OpenBSD-Commit-ID: 6546b0cc5aab7f53d65ad0a348ca0ae591d6dd24
12329
12330commit 26f96ca10ad0ec5da9b05b99de1e1ccea15a11be
12331Author: djm@openbsd.org <djm@openbsd.org>
12332Date: Fri Jun 15 07:01:11 2018 +0000
12333
12334 upstream: invalidate supplemental group cache used by
12335
12336 temporarily_use_uid() when the target uid differs; could cause failure to
12337 read authorized_keys under some configurations. patch by Jakub Jelen via
12338 bz2873; ok dtucker, markus
12339
12340 OpenBSD-Commit-ID: 48a345f0ee90f6c465a078eb5e89566b23abd8a1
12341
12342commit 89a85d724765b6b82e0135ee5a1181fdcccea9c6
12343Author: djm@openbsd.org <djm@openbsd.org>
12344Date: Sun Jun 10 23:45:41 2018 +0000
12345
12346 upstream: unbreak SendEnv; patch from tb@
12347
12348 OpenBSD-Commit-ID: fc808daced813242563b80976e1478de95940056
12349
12350commit acf4260f0951f89c64e1ebbc4c92f451768871ad
12351Author: jmc@openbsd.org <jmc@openbsd.org>
12352Date: Sat Jun 9 06:36:31 2018 +0000
12353
12354 upstream: sort previous;
12355
12356 OpenBSD-Commit-ID: 27d80d8b8ca99bc33971dee905e8ffd0053ec411
12357
12358commit 1678d4236451060b735cb242d2e26e1ac99f0947
12359Author: djm@openbsd.org <djm@openbsd.org>
12360Date: Sat Jun 9 03:18:11 2018 +0000
12361
12362 upstream: slightly better wording re handing of $TERM, from Jakub
12363
12364 Jelen via bz2386
12365
12366 OpenBSD-Commit-ID: 14bea3f069a93c8be66a7b97794255a91fece964
12367
12368commit 28013759f09ed3ebf7e8335e83a62936bd7a7f47
12369Author: djm@openbsd.org <djm@openbsd.org>
12370Date: Sat Jun 9 03:03:10 2018 +0000
12371
12372 upstream: add a SetEnv directive for sshd_config to allow an
12373
12374 administrator to explicitly specify environment variables set in sessions
12375 started by sshd. These override the default environment and any variables set
12376 by user configuration (PermitUserEnvironment, etc), but not the SSH_*
12377 variables set by sshd itself.
12378
12379 ok markus@
12380
12381 OpenBSD-Commit-ID: b6a96c0001ccd7dd211df6cae9e961c20fd718c0
12382
12383commit 7082bb58a2eb878d23ec674587c742e5e9673c36
12384Author: djm@openbsd.org <djm@openbsd.org>
12385Date: Sat Jun 9 03:01:12 2018 +0000
12386
12387 upstream: add a SetEnv directive to ssh_config that allows setting
12388
12389 environment variables for the remote session (subject to the server accepting
12390 them)
12391
12392 refactor SendEnv to remove the arbitrary limit of variable names.
12393
12394 ok markus@
12395
12396 OpenBSD-Commit-ID: cfbb00d9b0e10c1ffff1d83424351fd961d1f2be
12397
12398commit 3b9798bda15bd3f598f5ef07595d64e23504da91
12399Author: djm@openbsd.org <djm@openbsd.org>
12400Date: Sat Jun 9 02:58:02 2018 +0000
12401
12402 upstream: reorder child environment preparation so that variables
12403
12404 read from ~/.ssh/environment (if enabled) do not override SSH_* variables set
12405 by the server.
12406
12407 OpenBSD-Commit-ID: 59f9d4c213cdcef2ef21f4b4ae006594dcf2aa7a
12408
12409commit 0368889f82f63c82ff8db9f8c944d89e7c657db4
12410Author: djm@openbsd.org <djm@openbsd.org>
12411Date: Fri Jun 8 03:35:36 2018 +0000
12412
12413 upstream: fix incorrect expansion of %i in
12414
12415 load_public_identity_files(); reported by Roumen Petrov
12416
12417 OpenBSD-Commit-ID: a827289e77149b5e0850d72a350c8b0300e7ef25
12418
12419commit 027607fc2db6a0475a3380f8d95c635482714cb0
12420Author: djm@openbsd.org <djm@openbsd.org>
12421Date: Fri Jun 8 01:55:40 2018 +0000
12422
12423 upstream: fix some over-long lines and __func__ up some debug
12424
12425 messages
12426
12427 OpenBSD-Commit-ID: c70a60b4c8207d9f242fc2351941ba50916bb267
12428
12429commit 6ff6fda705bc204456a5fa12518dde6e8790bb02
12430Author: jmc@openbsd.org <jmc@openbsd.org>
12431Date: Thu Jun 7 11:26:14 2018 +0000
12432
12433 upstream: tweak previous;
12434
12435 OpenBSD-Commit-ID: f98f16af10b28e24bcecb806cb71ea994b648fd6
12436
12437commit f2c06ab8dd90582030991f631a2715216bf45e5a
12438Author: Darren Tucker <dtucker@dtucker.net>
12439Date: Fri Jun 8 17:43:36 2018 +1000
12440
12441 Remove ability to override $LD.
12442
12443 Since autoconf always uses $CC to link C programs, allowing users to
12444 override LD caused mismatches between what LD_LINK_IFELSE thought worked
12445 and what ld thought worked. If you do need to do this kind of thing you
12446 need to set a compiler flag such as gcc's -fuse-ld in LDFLAGS.
12447
12448commit e1542a80797b4ea40a91d2896efdcc76a57056d2
12449Author: Darren Tucker <dtucker@dtucker.net>
12450Date: Fri Jun 8 13:55:59 2018 +1000
12451
12452 Better detection of unsupported compiler options.
12453
12454 Should prevent "unsupported -Wl,-z,retpoline" warnings during linking.
12455 ok djm@
12456
12457commit 57379dbd013ad32ee3f9989bf5f5741065428360
12458Author: djm@openbsd.org <djm@openbsd.org>
12459Date: Thu Jun 7 14:29:43 2018 +0000
12460
12461 upstream: test the correct configuration option name
12462
12463 OpenBSD-Regress-ID: 492279ea9f65657f97a970e0e7c7fd0b339fee23
12464
12465commit 6d41815e202fbd6182c79780b6cc90e1ec1c9981
12466Author: djm@openbsd.org <djm@openbsd.org>
12467Date: Thu Jun 7 09:26:42 2018 +0000
12468
12469 upstream: some permitlisten fixes from markus@ that I missed in my
12470
12471 insomnia-fueled commits last night
12472
12473 OpenBSD-Commit-ID: 26f23622e928996086e85b1419cc1c0f136e359c
12474
12475commit 4319f7a868d86d435fa07112fcb6153895d03a7f
12476Author: djm@openbsd.org <djm@openbsd.org>
12477Date: Thu Jun 7 04:46:34 2018 +0000
12478
12479 upstream: permitlisten/PermitListen unit test from Markus
12480
12481 OpenBSD-Regress-ID: ab12eb42f0e14926980441cf7c058a6d1d832ea5
12482
12483commit fa09076410ffc2d34d454145af23c790d728921e
12484Author: djm@openbsd.org <djm@openbsd.org>
12485Date: Thu Jun 7 04:31:51 2018 +0000
12486
12487 upstream: fix regression caused by recent permitlisten option commit:
12488
12489 authorized_keys lines that contained permitopen/permitlisten were being
12490 treated as invalid.
12491
12492 OpenBSD-Commit-ID: 7ef41d63a5a477b405d142dc925b67d9e7aaa31b
12493
12494commit 7f90635216851f6cb4bf3999e98b825f85d604f8
12495Author: markus@openbsd.org <markus@openbsd.org>
12496Date: Wed Jun 6 18:29:18 2018 +0000
12497
12498 upstream: switch config file parsing to getline(3) as this avoids
12499
12500 static limits noted by gerhard@; ok dtucker@, djm@
12501
12502 OpenBSD-Commit-ID: 6d702eabef0fa12e5a1d75c334a8c8b325298b5c
12503
12504commit 392db2bc83215986a91c0b65feb0e40e7619ce7e
12505Author: djm@openbsd.org <djm@openbsd.org>
12506Date: Wed Jun 6 18:25:33 2018 +0000
12507
12508 upstream: regress test for PermitOpen
12509
12510 OpenBSD-Regress-ID: ce8b5f28fc039f09bb297fc4a92319e65982ddaf
12511
12512commit 803d896ef30758135e2f438bdd1a0be27989e018
12513Author: djm@openbsd.org <djm@openbsd.org>
12514Date: Wed Jun 6 18:24:15 2018 +0000
12515
12516 upstream: man bits for permitlisten authorized_keys option
12517
12518 OpenBSD-Commit-ID: 86910af8f781a4ac5980fea125442eb25466dd78
12519
12520commit 04df43208b5b460d7360e1598f876b92a32f5922
12521Author: djm@openbsd.org <djm@openbsd.org>
12522Date: Wed Jun 6 18:24:00 2018 +0000
12523
12524 upstream: man bits for PermitListen
12525
12526 OpenBSD-Commit-ID: 35b200cba4e46a16a4db6a80ef11838ab0fad67c
12527
12528commit 93c06ab6b77514e0447fe4f1d822afcbb2a9be08
12529Author: djm@openbsd.org <djm@openbsd.org>
12530Date: Wed Jun 6 18:23:32 2018 +0000
12531
12532 upstream: permitlisten option for authorized_keys; ok markus@
12533
12534 OpenBSD-Commit-ID: 8650883018d7aa893173d703379e4456a222c672
12535
12536commit 115063a6647007286cc8ca70abfd2a7585f26ccc
12537Author: djm@openbsd.org <djm@openbsd.org>
12538Date: Wed Jun 6 18:22:41 2018 +0000
12539
12540 upstream: Add a PermitListen directive to control which server-side
12541
12542 addresses may be listened on when the client requests remote forwarding (ssh
12543 -R).
12544
12545 This is the converse of the existing PermitOpen directive and this
12546 includes some refactoring to share much of its implementation.
12547
12548 feedback and ok markus@
12549
12550 OpenBSD-Commit-ID: 15a931238c61a3f2ac74ea18a98c933e358e277f
12551
12552commit 7703ae5f5d42eb302ded51705166ff6e19c92892
12553Author: Darren Tucker <dtucker@dtucker.net>
12554Date: Wed Jun 6 16:04:29 2018 +1000
12555
12556 Use ssh-keygen -A to generate missing host keys.
12557
12558 Instead of testing for each specific key type, use ssh-keygen -A to
12559 generate any missing host key types.
12560
12561commit e8d59fef1098e24f408248dc64e5c8efa5d01f3c
12562Author: jmc@openbsd.org <jmc@openbsd.org>
12563Date: Fri Jun 1 06:23:10 2018 +0000
12564
12565 upstream: add missing punctuation after %i in ssh_config.5, and
12566
12567 make the grammatical format in sshd_config.5 match that in ssh_config.5;
12568
12569 OpenBSD-Commit-ID: e325663b9342f3d556e223e5306e0d5fa1a74fa0
12570
12571commit a1f737d6a99314e291a87856122cb4dbaf64c641
12572Author: jmc@openbsd.org <jmc@openbsd.org>
12573Date: Fri Jun 1 05:52:26 2018 +0000
12574
12575 upstream: oops - further adjustment to text neccessary;
12576
12577 OpenBSD-Commit-ID: 23585576c807743112ab956be0fb3c786bdef025
12578
12579commit 294028493471e0bd0c7ffe55dc0c0a67cba6ec41
12580Author: jmc@openbsd.org <jmc@openbsd.org>
12581Date: Fri Jun 1 05:50:18 2018 +0000
12582
12583 upstream: %U needs to be escaped; tweak text;
12584
12585 OpenBSD-Commit-ID: 30887b73ece257273fb619ab6f4e86dc92ddc15e
12586
12587commit e5019da3c5a31e6e729a565f2b886a80c4be96cc
12588Author: dtucker@openbsd.org <dtucker@openbsd.org>
12589Date: Fri Jun 1 04:31:48 2018 +0000
12590
12591 upstream: Apply umask to all incoming files and directories not
12592
12593 just files. This makes sure it gets applied to directories too, and prevents
12594 a race where files get chmodded after creation. bz#2839, ok djm@
12595
12596 OpenBSD-Commit-ID: 3168ee6c7c39093adac4fd71039600cfa296203b
12597
12598commit a1dcafc41c376332493b9385ee39f9754dc145ec
12599Author: djm@openbsd.org <djm@openbsd.org>
12600Date: Fri Jun 1 03:52:37 2018 +0000
12601
12602 upstream: Adapt to extra default verboisity from ssh-keygen when
12603
12604 searching for and hashing known_hosts entries in a single operation
12605 (ssh-keygen -HF ...) Patch from Anton Kremenetsky
12606
12607 OpenBSD-Regress-ID: 519585a4de35c4611285bd6a7272766c229b19dd
12608
12609commit 76f314c75dffd4a55839d50ee23622edad52c168
12610Author: djm@openbsd.org <djm@openbsd.org>
12611Date: Tue May 22 00:22:49 2018 +0000
12612
12613 upstream: Add TEST_SSH_FAIL_FATAL variable, to force all failures
12614
12615 to instantly abort the test. Useful in capturing clean logs for individual
12616 failure cases.
12617
12618 OpenBSD-Regress-ID: feba18cf338c2328b9601bd4093cabdd9baa3af1
12619
12620commit 065c8c055df8d83ae7c92e5e524a579d87668aab
12621Author: dtucker@openbsd.org <dtucker@openbsd.org>
12622Date: Fri May 11 03:51:06 2018 +0000
12623
12624 upstream: Clean up comment.
12625
12626 OpenBSD-Regress-ID: 6adb35f384d447e7dcb9f170d4f0d546d3973e10
12627
12628commit 01b048c8eba3b021701bd0ab26257fc82903cba8
12629Author: djm@openbsd.org <djm@openbsd.org>
12630Date: Fri Jun 1 04:21:29 2018 +0000
12631
12632 upstream: whitespace
12633
12634 OpenBSD-Commit-ID: e5edb5e843ddc9b73a8e46518899be41d5709add
12635
12636commit 854ae209f992465a276de0b5f10ef770510c2418
12637Author: djm@openbsd.org <djm@openbsd.org>
12638Date: Fri Jun 1 04:05:29 2018 +0000
12639
12640 upstream: make ssh_remote_ipaddr() capable of being called after
12641
12642 the ssh->state has been torn down; bz#2773
12643
12644 OpenBSD-Commit-ID: 167f12523613ca3d16d7716a690e7afa307dc7eb
12645
12646commit 3e088aaf236ef35beeef3c9be93fd53700df5861
12647Author: djm@openbsd.org <djm@openbsd.org>
12648Date: Fri Jun 1 03:51:34 2018 +0000
12649
12650 upstream: return correct exit code when searching for and hashing
12651
12652 known_hosts entries in a single operation (ssh-keygen -HF hostname); bz2772
12653 Report and fix from Anton Kremenetsky
12654
12655 OpenBSD-Commit-ID: ac10ca13eb9bb0bc50fcd42ad11c56c317437b58
12656
12657commit 9c935dd9bf05628826ad2495d3e8bdf3d3271c21
12658Author: djm@openbsd.org <djm@openbsd.org>
12659Date: Fri Jun 1 03:33:53 2018 +0000
12660
12661 upstream: make UID available as a %-expansion everywhere that the
12662
12663 username is available currently. In the client this is via %i, in the server
12664 %U (since %i was already used in the client in some places for this, but used
12665 for something different in the server); bz#2870, ok dtucker@
12666
12667 OpenBSD-Commit-ID: c7e912b0213713316cb55db194b3a6415b3d4b95
12668
12669commit d8748b91d1d6c108c0c260ed41fa55f37b9ef34b
12670Author: djm@openbsd.org <djm@openbsd.org>
12671Date: Fri Jun 1 03:11:49 2018 +0000
12672
12673 upstream: prefer argv0 to "ssh" when re-executing ssh for ProxyJump
12674
12675 directive; bz2831, feedback and ok dtucker@
12676
12677 OpenBSD-Commit-ID: 3cec709a131499fbb0c1ea8a0a9e0b0915ce769e
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 000000000..6af4bfdd1
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,2038 @@
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 `getpeereid', and to 0 if you
319 don't. */
320#undef HAVE_DECL_GETPEEREID
321
322/* Define to 1 if you have the declaration of `GLOB_NOMATCH', and to 0 if you
323 don't. */
324#undef HAVE_DECL_GLOB_NOMATCH
325
326/* Define to 1 if you have the declaration of `GSS_C_NT_HOSTBASED_SERVICE',
327 and to 0 if you don't. */
328#undef HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE
329
330/* Define to 1 if you have the declaration of `howmany', and to 0 if you
331 don't. */
332#undef HAVE_DECL_HOWMANY
333
334/* Define to 1 if you have the declaration of `h_errno', and to 0 if you
335 don't. */
336#undef HAVE_DECL_H_ERRNO
337
338/* Define to 1 if you have the declaration of `loginfailed', and to 0 if you
339 don't. */
340#undef HAVE_DECL_LOGINFAILED
341
342/* Define to 1 if you have the declaration of `loginrestrictions', and to 0 if
343 you don't. */
344#undef HAVE_DECL_LOGINRESTRICTIONS
345
346/* Define to 1 if you have the declaration of `loginsuccess', and to 0 if you
347 don't. */
348#undef HAVE_DECL_LOGINSUCCESS
349
350/* Define to 1 if you have the declaration of `MAXSYMLINKS', and to 0 if you
351 don't. */
352#undef HAVE_DECL_MAXSYMLINKS
353
354/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't.
355 */
356#undef HAVE_DECL_MEMMEM
357
358/* Define to 1 if you have the declaration of `NFDBITS', and to 0 if you
359 don't. */
360#undef HAVE_DECL_NFDBITS
361
362/* Define to 1 if you have the declaration of `offsetof', and to 0 if you
363 don't. */
364#undef HAVE_DECL_OFFSETOF
365
366/* Define to 1 if you have the declaration of `O_NONBLOCK', and to 0 if you
367 don't. */
368#undef HAVE_DECL_O_NONBLOCK
369
370/* Define to 1 if you have the declaration of `passwdexpired', and to 0 if you
371 don't. */
372#undef HAVE_DECL_PASSWDEXPIRED
373
374/* Define to 1 if you have the declaration of `readv', and to 0 if you don't.
375 */
376#undef HAVE_DECL_READV
377
378/* Define to 1 if you have the declaration of `setauthdb', and to 0 if you
379 don't. */
380#undef HAVE_DECL_SETAUTHDB
381
382/* Define to 1 if you have the declaration of `SHUT_RD', and to 0 if you
383 don't. */
384#undef HAVE_DECL_SHUT_RD
385
386/* Define to 1 if you have the declaration of `UINT32_MAX', and to 0 if you
387 don't. */
388#undef HAVE_DECL_UINT32_MAX
389
390/* Define to 1 if you have the declaration of `writev', and to 0 if you don't.
391 */
392#undef HAVE_DECL_WRITEV
393
394/* Define to 1 if you have the declaration of `_getlong', and to 0 if you
395 don't. */
396#undef HAVE_DECL__GETLONG
397
398/* Define to 1 if you have the declaration of `_getshort', and to 0 if you
399 don't. */
400#undef HAVE_DECL__GETSHORT
401
402/* Define to 1 if you have the `DES_crypt' function. */
403#undef HAVE_DES_CRYPT
404
405/* Define if you have /dev/ptmx */
406#undef HAVE_DEV_PTMX
407
408/* Define if you have /dev/ptc */
409#undef HAVE_DEV_PTS_AND_PTC
410
411/* Define to 1 if you have the `DH_get0_key' function. */
412#undef HAVE_DH_GET0_KEY
413
414/* Define to 1 if you have the `DH_get0_pqg' function. */
415#undef HAVE_DH_GET0_PQG
416
417/* Define to 1 if you have the `DH_set0_key' function. */
418#undef HAVE_DH_SET0_KEY
419
420/* Define to 1 if you have the `DH_set0_pqg' function. */
421#undef HAVE_DH_SET0_PQG
422
423/* Define to 1 if you have the `DH_set_length' function. */
424#undef HAVE_DH_SET_LENGTH
425
426/* Define to 1 if you have the <dirent.h> header file. */
427#undef HAVE_DIRENT_H
428
429/* Define to 1 if you have the `dirfd' function. */
430#undef HAVE_DIRFD
431
432/* Define to 1 if you have the `dirname' function. */
433#undef HAVE_DIRNAME
434
435/* Define to 1 if you have the `dlopen' function. */
436#undef HAVE_DLOPEN
437
438/* Define to 1 if you have the `DSA_generate_parameters_ex' function. */
439#undef HAVE_DSA_GENERATE_PARAMETERS_EX
440
441/* Define to 1 if you have the `DSA_get0_key' function. */
442#undef HAVE_DSA_GET0_KEY
443
444/* Define to 1 if you have the `DSA_get0_pqg' function. */
445#undef HAVE_DSA_GET0_PQG
446
447/* Define to 1 if you have the `DSA_set0_key' function. */
448#undef HAVE_DSA_SET0_KEY
449
450/* Define to 1 if you have the `DSA_set0_pqg' function. */
451#undef HAVE_DSA_SET0_PQG
452
453/* Define to 1 if you have the `DSA_SIG_get0' function. */
454#undef HAVE_DSA_SIG_GET0
455
456/* Define to 1 if you have the `DSA_SIG_set0' function. */
457#undef HAVE_DSA_SIG_SET0
458
459/* Define to 1 if you have the `ECDSA_SIG_get0' function. */
460#undef HAVE_ECDSA_SIG_GET0
461
462/* Define to 1 if you have the `ECDSA_SIG_set0' function. */
463#undef HAVE_ECDSA_SIG_SET0
464
465/* Define to 1 if you have the `EC_KEY_METHOD_new' function. */
466#undef HAVE_EC_KEY_METHOD_NEW
467
468/* Define to 1 if you have the <elf.h> header file. */
469#undef HAVE_ELF_H
470
471/* Define to 1 if you have the `endgrent' function. */
472#undef HAVE_ENDGRENT
473
474/* Define to 1 if you have the <endian.h> header file. */
475#undef HAVE_ENDIAN_H
476
477/* Define to 1 if you have the `endutent' function. */
478#undef HAVE_ENDUTENT
479
480/* Define to 1 if you have the `endutxent' function. */
481#undef HAVE_ENDUTXENT
482
483/* Define to 1 if you have the `err' function. */
484#undef HAVE_ERR
485
486/* Define to 1 if you have the `errx' function. */
487#undef HAVE_ERRX
488
489/* Define to 1 if you have the <err.h> header file. */
490#undef HAVE_ERR_H
491
492/* Define if your system has /etc/default/login */
493#undef HAVE_ETC_DEFAULT_LOGIN
494
495/* Define to 1 if you have the `EVP_chacha20' function. */
496#undef HAVE_EVP_CHACHA20
497
498/* Define to 1 if you have the `EVP_CIPHER_CTX_ctrl' function. */
499#undef HAVE_EVP_CIPHER_CTX_CTRL
500
501/* Define to 1 if you have the `EVP_CIPHER_CTX_get_iv' function. */
502#undef HAVE_EVP_CIPHER_CTX_GET_IV
503
504/* Define to 1 if you have the `EVP_CIPHER_CTX_iv' function. */
505#undef HAVE_EVP_CIPHER_CTX_IV
506
507/* Define to 1 if you have the `EVP_CIPHER_CTX_iv_noconst' function. */
508#undef HAVE_EVP_CIPHER_CTX_IV_NOCONST
509
510/* Define to 1 if you have the `EVP_CIPHER_CTX_set_iv' function. */
511#undef HAVE_EVP_CIPHER_CTX_SET_IV
512
513/* Define to 1 if you have the `EVP_DigestFinal_ex' function. */
514#undef HAVE_EVP_DIGESTFINAL_EX
515
516/* Define to 1 if you have the `EVP_DigestInit_ex' function. */
517#undef HAVE_EVP_DIGESTINIT_EX
518
519/* Define to 1 if you have the `EVP_MD_CTX_cleanup' function. */
520#undef HAVE_EVP_MD_CTX_CLEANUP
521
522/* Define to 1 if you have the `EVP_MD_CTX_copy_ex' function. */
523#undef HAVE_EVP_MD_CTX_COPY_EX
524
525/* Define to 1 if you have the `EVP_MD_CTX_free' function. */
526#undef HAVE_EVP_MD_CTX_FREE
527
528/* Define to 1 if you have the `EVP_MD_CTX_init' function. */
529#undef HAVE_EVP_MD_CTX_INIT
530
531/* Define to 1 if you have the `EVP_MD_CTX_new' function. */
532#undef HAVE_EVP_MD_CTX_NEW
533
534/* Define to 1 if you have the `EVP_PKEY_get0_RSA' function. */
535#undef HAVE_EVP_PKEY_GET0_RSA
536
537/* Define to 1 if you have the `EVP_sha256' function. */
538#undef HAVE_EVP_SHA256
539
540/* Define to 1 if you have the `EVP_sha384' function. */
541#undef HAVE_EVP_SHA384
542
543/* Define to 1 if you have the `EVP_sha512' function. */
544#undef HAVE_EVP_SHA512
545
546/* Define if you have ut_exit in utmp.h */
547#undef HAVE_EXIT_IN_UTMP
548
549/* Define to 1 if you have the `explicit_bzero' function. */
550#undef HAVE_EXPLICIT_BZERO
551
552/* Define to 1 if you have the `fchmod' function. */
553#undef HAVE_FCHMOD
554
555/* Define to 1 if you have the `fchmodat' function. */
556#undef HAVE_FCHMODAT
557
558/* Define to 1 if you have the `fchown' function. */
559#undef HAVE_FCHOWN
560
561/* Define to 1 if you have the `fchownat' function. */
562#undef HAVE_FCHOWNAT
563
564/* Use F_CLOSEM fcntl for closefrom */
565#undef HAVE_FCNTL_CLOSEM
566
567/* Define to 1 if you have the <fcntl.h> header file. */
568#undef HAVE_FCNTL_H
569
570/* Define to 1 if the system has the type `fd_mask'. */
571#undef HAVE_FD_MASK
572
573/* Define to 1 if you have the <features.h> header file. */
574#undef HAVE_FEATURES_H
575
576/* Define to 1 if you have the <floatingpoint.h> header file. */
577#undef HAVE_FLOATINGPOINT_H
578
579/* Define to 1 if you have the `flock' function. */
580#undef HAVE_FLOCK
581
582/* Define to 1 if you have the `fmt_scaled' function. */
583#undef HAVE_FMT_SCALED
584
585/* Define to 1 if you have the `fnmatch' function. */
586#undef HAVE_FNMATCH
587
588/* Define to 1 if you have the <fnmatch.h> header file. */
589#undef HAVE_FNMATCH_H
590
591/* Define to 1 if you have the `freeaddrinfo' function. */
592#undef HAVE_FREEADDRINFO
593
594/* Define to 1 if you have the `freezero' function. */
595#undef HAVE_FREEZERO
596
597/* Define to 1 if the system has the type `fsblkcnt_t'. */
598#undef HAVE_FSBLKCNT_T
599
600/* Define to 1 if the system has the type `fsfilcnt_t'. */
601#undef HAVE_FSFILCNT_T
602
603/* Define to 1 if you have the `fstatfs' function. */
604#undef HAVE_FSTATFS
605
606/* Define to 1 if you have the `fstatvfs' function. */
607#undef HAVE_FSTATVFS
608
609/* Define to 1 if you have the `futimes' function. */
610#undef HAVE_FUTIMES
611
612/* Define to 1 if you have the `gai_strerror' function. */
613#undef HAVE_GAI_STRERROR
614
615/* Define to 1 if you have the `getaddrinfo' function. */
616#undef HAVE_GETADDRINFO
617
618/* Define to 1 if you have the `getaudit' function. */
619#undef HAVE_GETAUDIT
620
621/* Define to 1 if you have the `getaudit_addr' function. */
622#undef HAVE_GETAUDIT_ADDR
623
624/* Define to 1 if you have the `getcwd' function. */
625#undef HAVE_GETCWD
626
627/* Define to 1 if you have the `getgrouplist' function. */
628#undef HAVE_GETGROUPLIST
629
630/* Define to 1 if you have the `getgrset' function. */
631#undef HAVE_GETGRSET
632
633/* Define to 1 if you have the `getlastlogxbyname' function. */
634#undef HAVE_GETLASTLOGXBYNAME
635
636/* Define to 1 if you have the `getline' function. */
637#undef HAVE_GETLINE
638
639/* Define to 1 if you have the `getluid' function. */
640#undef HAVE_GETLUID
641
642/* Define to 1 if you have the `getnameinfo' function. */
643#undef HAVE_GETNAMEINFO
644
645/* Define to 1 if you have the `getopt' function. */
646#undef HAVE_GETOPT
647
648/* Define to 1 if you have the <getopt.h> header file. */
649#undef HAVE_GETOPT_H
650
651/* Define if your getopt(3) defines and uses optreset */
652#undef HAVE_GETOPT_OPTRESET
653
654/* Define if your libraries define getpagesize() */
655#undef HAVE_GETPAGESIZE
656
657/* Define to 1 if you have the `getpeereid' function. */
658#undef HAVE_GETPEEREID
659
660/* Define to 1 if you have the `getpeerucred' function. */
661#undef HAVE_GETPEERUCRED
662
663/* Define to 1 if you have the `getpgid' function. */
664#undef HAVE_GETPGID
665
666/* Define to 1 if you have the `getpgrp' function. */
667#undef HAVE_GETPGRP
668
669/* Define to 1 if you have the `getpwanam' function. */
670#undef HAVE_GETPWANAM
671
672/* Define to 1 if you have the `getrandom' function. */
673#undef HAVE_GETRANDOM
674
675/* Define to 1 if you have the `getrlimit' function. */
676#undef HAVE_GETRLIMIT
677
678/* Define if getrrsetbyname() exists */
679#undef HAVE_GETRRSETBYNAME
680
681/* Define to 1 if you have the `getseuserbyname' function. */
682#undef HAVE_GETSEUSERBYNAME
683
684/* Define to 1 if you have the `getsid' function. */
685#undef HAVE_GETSID
686
687/* Define to 1 if you have the `gettimeofday' function. */
688#undef HAVE_GETTIMEOFDAY
689
690/* Define to 1 if you have the `getttyent' function. */
691#undef HAVE_GETTTYENT
692
693/* Define to 1 if you have the `getutent' function. */
694#undef HAVE_GETUTENT
695
696/* Define to 1 if you have the `getutid' function. */
697#undef HAVE_GETUTID
698
699/* Define to 1 if you have the `getutline' function. */
700#undef HAVE_GETUTLINE
701
702/* Define to 1 if you have the `getutxent' function. */
703#undef HAVE_GETUTXENT
704
705/* Define to 1 if you have the `getutxid' function. */
706#undef HAVE_GETUTXID
707
708/* Define to 1 if you have the `getutxline' function. */
709#undef HAVE_GETUTXLINE
710
711/* Define to 1 if you have the `getutxuser' function. */
712#undef HAVE_GETUTXUSER
713
714/* Define to 1 if you have the `get_default_context_with_level' function. */
715#undef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
716
717/* Define to 1 if you have the `glob' function. */
718#undef HAVE_GLOB
719
720/* Define to 1 if you have the <glob.h> header file. */
721#undef HAVE_GLOB_H
722
723/* Define to 1 if you have the `group_from_gid' function. */
724#undef HAVE_GROUP_FROM_GID
725
726/* Define to 1 if you have the <gssapi_generic.h> header file. */
727#undef HAVE_GSSAPI_GENERIC_H
728
729/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
730#undef HAVE_GSSAPI_GSSAPI_GENERIC_H
731
732/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
733#undef HAVE_GSSAPI_GSSAPI_H
734
735/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
736#undef HAVE_GSSAPI_GSSAPI_KRB5_H
737
738/* Define to 1 if you have the <gssapi.h> header file. */
739#undef HAVE_GSSAPI_H
740
741/* Define to 1 if you have the <gssapi_krb5.h> header file. */
742#undef HAVE_GSSAPI_KRB5_H
743
744/* Define if HEADER.ad exists in arpa/nameser.h */
745#undef HAVE_HEADER_AD
746
747/* Define to 1 if you have the `HMAC_CTX_init' function. */
748#undef HAVE_HMAC_CTX_INIT
749
750/* Define if you have ut_host in utmp.h */
751#undef HAVE_HOST_IN_UTMP
752
753/* Define if you have ut_host in utmpx.h */
754#undef HAVE_HOST_IN_UTMPX
755
756/* Define to 1 if you have the <iaf.h> header file. */
757#undef HAVE_IAF_H
758
759/* Define to 1 if you have the <ia.h> header file. */
760#undef HAVE_IA_H
761
762/* Define if you have ut_id in utmp.h */
763#undef HAVE_ID_IN_UTMP
764
765/* Define if you have ut_id in utmpx.h */
766#undef HAVE_ID_IN_UTMPX
767
768/* Define to 1 if you have the <ifaddrs.h> header file. */
769#undef HAVE_IFADDRS_H
770
771/* Define to 1 if you have the `inet_aton' function. */
772#undef HAVE_INET_ATON
773
774/* Define to 1 if you have the `inet_ntoa' function. */
775#undef HAVE_INET_NTOA
776
777/* Define to 1 if you have the `inet_ntop' function. */
778#undef HAVE_INET_NTOP
779
780/* Define to 1 if you have the `innetgr' function. */
781#undef HAVE_INNETGR
782
783/* define if you have int64_t data type */
784#undef HAVE_INT64_T
785
786/* Define to 1 if the system has the type `intmax_t'. */
787#undef HAVE_INTMAX_T
788
789/* Define to 1 if you have the <inttypes.h> header file. */
790#undef HAVE_INTTYPES_H
791
792/* define if you have intxx_t data type */
793#undef HAVE_INTXX_T
794
795/* Define to 1 if the system has the type `in_addr_t'. */
796#undef HAVE_IN_ADDR_T
797
798/* Define to 1 if the system has the type `in_port_t'. */
799#undef HAVE_IN_PORT_T
800
801/* Define if you have isblank(3C). */
802#undef HAVE_ISBLANK
803
804/* Define to 1 if you have the `krb5_cc_new_unique' function. */
805#undef HAVE_KRB5_CC_NEW_UNIQUE
806
807/* Define to 1 if you have the `krb5_free_error_message' function. */
808#undef HAVE_KRB5_FREE_ERROR_MESSAGE
809
810/* Define to 1 if you have the `krb5_get_error_message' function. */
811#undef HAVE_KRB5_GET_ERROR_MESSAGE
812
813/* Define to 1 if you have the <langinfo.h> header file. */
814#undef HAVE_LANGINFO_H
815
816/* Define to 1 if you have the <lastlog.h> header file. */
817#undef HAVE_LASTLOG_H
818
819/* Define if you want ldns support */
820#undef HAVE_LDNS
821
822/* Define to 1 if you have the <libaudit.h> header file. */
823#undef HAVE_LIBAUDIT_H
824
825/* Define to 1 if you have the `bsm' library (-lbsm). */
826#undef HAVE_LIBBSM
827
828/* Define to 1 if you have the `crypt' library (-lcrypt). */
829#undef HAVE_LIBCRYPT
830
831/* Define to 1 if you have the `dl' library (-ldl). */
832#undef HAVE_LIBDL
833
834/* Define to 1 if you have the <libgen.h> header file. */
835#undef HAVE_LIBGEN_H
836
837/* Define if system has libiaf that supports set_id */
838#undef HAVE_LIBIAF
839
840/* Define to 1 if you have the `network' library (-lnetwork). */
841#undef HAVE_LIBNETWORK
842
843/* Define to 1 if you have the `pam' library (-lpam). */
844#undef HAVE_LIBPAM
845
846/* Define to 1 if you have the <libproc.h> header file. */
847#undef HAVE_LIBPROC_H
848
849/* Define to 1 if you have the `socket' library (-lsocket). */
850#undef HAVE_LIBSOCKET
851
852/* Define to 1 if you have the <libutil.h> header file. */
853#undef HAVE_LIBUTIL_H
854
855/* Define to 1 if you have the `xnet' library (-lxnet). */
856#undef HAVE_LIBXNET
857
858/* Define to 1 if you have the `z' library (-lz). */
859#undef HAVE_LIBZ
860
861/* Define to 1 if you have the <limits.h> header file. */
862#undef HAVE_LIMITS_H
863
864/* Define to 1 if you have the <linux/audit.h> header file. */
865#undef HAVE_LINUX_AUDIT_H
866
867/* Define to 1 if you have the <linux/filter.h> header file. */
868#undef HAVE_LINUX_FILTER_H
869
870/* Define to 1 if you have the <linux/if_tun.h> header file. */
871#undef HAVE_LINUX_IF_TUN_H
872
873/* Define to 1 if you have the <linux/seccomp.h> header file. */
874#undef HAVE_LINUX_SECCOMP_H
875
876/* Define to 1 if you have the `llabs' function. */
877#undef HAVE_LLABS
878
879/* Define to 1 if you have the <locale.h> header file. */
880#undef HAVE_LOCALE_H
881
882/* Define to 1 if you have the `localtime_r' function. */
883#undef HAVE_LOCALTIME_R
884
885/* Define to 1 if you have the `login' function. */
886#undef HAVE_LOGIN
887
888/* Define to 1 if you have the <login_cap.h> header file. */
889#undef HAVE_LOGIN_CAP_H
890
891/* Define to 1 if you have the `login_getcapbool' function. */
892#undef HAVE_LOGIN_GETCAPBOOL
893
894/* Define to 1 if you have the <login.h> header file. */
895#undef HAVE_LOGIN_H
896
897/* Define to 1 if you have the `logout' function. */
898#undef HAVE_LOGOUT
899
900/* Define to 1 if you have the `logwtmp' function. */
901#undef HAVE_LOGWTMP
902
903/* Define to 1 if the system has the type `long double'. */
904#undef HAVE_LONG_DOUBLE
905
906/* Define to 1 if the system has the type `long long'. */
907#undef HAVE_LONG_LONG
908
909/* Define to 1 if you have the <maillock.h> header file. */
910#undef HAVE_MAILLOCK_H
911
912/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
913 to 0 otherwise. */
914#undef HAVE_MALLOC
915
916/* Define to 1 if you have the `mblen' function. */
917#undef HAVE_MBLEN
918
919/* Define to 1 if you have the `mbtowc' function. */
920#undef HAVE_MBTOWC
921
922/* Define to 1 if you have the `md5_crypt' function. */
923#undef HAVE_MD5_CRYPT
924
925/* Define if you want to allow MD5 passwords */
926#undef HAVE_MD5_PASSWORDS
927
928/* Define to 1 if you have the `memmem' function. */
929#undef HAVE_MEMMEM
930
931/* Define to 1 if you have the `memmove' function. */
932#undef HAVE_MEMMOVE
933
934/* Define to 1 if you have the <memory.h> header file. */
935#undef HAVE_MEMORY_H
936
937/* Define to 1 if you have the `memset_s' function. */
938#undef HAVE_MEMSET_S
939
940/* Define to 1 if you have the `mkdtemp' function. */
941#undef HAVE_MKDTEMP
942
943/* define if you have mode_t data type */
944#undef HAVE_MODE_T
945
946/* Some systems put nanosleep outside of libc */
947#undef HAVE_NANOSLEEP
948
949/* Define to 1 if you have the <ndir.h> header file. */
950#undef HAVE_NDIR_H
951
952/* Define to 1 if you have the <netdb.h> header file. */
953#undef HAVE_NETDB_H
954
955/* Define to 1 if you have the <netgroup.h> header file. */
956#undef HAVE_NETGROUP_H
957
958/* Define to 1 if you have the <net/if_tun.h> header file. */
959#undef HAVE_NET_IF_TUN_H
960
961/* Define to 1 if you have the <net/route.h> header file. */
962#undef HAVE_NET_ROUTE_H
963
964/* Define if you are on NeXT */
965#undef HAVE_NEXT
966
967/* Define to 1 if you have the `ngetaddrinfo' function. */
968#undef HAVE_NGETADDRINFO
969
970/* Define to 1 if you have the `nl_langinfo' function. */
971#undef HAVE_NL_LANGINFO
972
973/* Define to 1 if you have the `nsleep' function. */
974#undef HAVE_NSLEEP
975
976/* Define to 1 if you have the `ogetaddrinfo' function. */
977#undef HAVE_OGETADDRINFO
978
979/* Define if you have an old version of PAM which takes only one argument to
980 pam_strerror */
981#undef HAVE_OLD_PAM
982
983/* Define to 1 if you have the `openlog_r' function. */
984#undef HAVE_OPENLOG_R
985
986/* Define to 1 if you have the `openpty' function. */
987#undef HAVE_OPENPTY
988
989/* as a macro */
990#undef HAVE_OPENSSL_ADD_ALL_ALGORITHMS
991
992/* Define to 1 if you have the `OPENSSL_init_crypto' function. */
993#undef HAVE_OPENSSL_INIT_CRYPTO
994
995/* Define to 1 if you have the `OpenSSL_version' function. */
996#undef HAVE_OPENSSL_VERSION
997
998/* Define to 1 if you have the `OpenSSL_version_num' function. */
999#undef HAVE_OPENSSL_VERSION_NUM
1000
1001/* Define if you have Digital Unix Security Integration Architecture */
1002#undef HAVE_OSF_SIA
1003
1004/* Define to 1 if you have the `pam_getenvlist' function. */
1005#undef HAVE_PAM_GETENVLIST
1006
1007/* Define to 1 if you have the <pam/pam_appl.h> header file. */
1008#undef HAVE_PAM_PAM_APPL_H
1009
1010/* Define to 1 if you have the `pam_putenv' function. */
1011#undef HAVE_PAM_PUTENV
1012
1013/* Define to 1 if you have the <paths.h> header file. */
1014#undef HAVE_PATHS_H
1015
1016/* Define if you have ut_pid in utmp.h */
1017#undef HAVE_PID_IN_UTMP
1018
1019/* define if you have pid_t data type */
1020#undef HAVE_PID_T
1021
1022/* Define to 1 if you have the `pledge' function. */
1023#undef HAVE_PLEDGE
1024
1025/* Define to 1 if you have the `poll' function. */
1026#undef HAVE_POLL
1027
1028/* Define to 1 if you have the <poll.h> header file. */
1029#undef HAVE_POLL_H
1030
1031/* Define to 1 if you have the `prctl' function. */
1032#undef HAVE_PRCTL
1033
1034/* Define to 1 if you have the `priv_basicset' function. */
1035#undef HAVE_PRIV_BASICSET
1036
1037/* Define to 1 if you have the <priv.h> header file. */
1038#undef HAVE_PRIV_H
1039
1040/* Define if you have /proc/$pid/fd */
1041#undef HAVE_PROC_PID
1042
1043/* Define to 1 if you have the `proc_pidinfo' function. */
1044#undef HAVE_PROC_PIDINFO
1045
1046/* Define to 1 if you have the `pstat' function. */
1047#undef HAVE_PSTAT
1048
1049/* Define to 1 if you have the <pty.h> header file. */
1050#undef HAVE_PTY_H
1051
1052/* Define to 1 if you have the `pututline' function. */
1053#undef HAVE_PUTUTLINE
1054
1055/* Define to 1 if you have the `pututxline' function. */
1056#undef HAVE_PUTUTXLINE
1057
1058/* Define to 1 if you have the `raise' function. */
1059#undef HAVE_RAISE
1060
1061/* Define to 1 if you have the `readpassphrase' function. */
1062#undef HAVE_READPASSPHRASE
1063
1064/* Define to 1 if you have the <readpassphrase.h> header file. */
1065#undef HAVE_READPASSPHRASE_H
1066
1067/* Define to 1 if your system has a GNU libc compatible `realloc' function,
1068 and to 0 otherwise. */
1069#undef HAVE_REALLOC
1070
1071/* Define to 1 if you have the `reallocarray' function. */
1072#undef HAVE_REALLOCARRAY
1073
1074/* Define to 1 if you have the `realpath' function. */
1075#undef HAVE_REALPATH
1076
1077/* Define to 1 if you have the `recallocarray' function. */
1078#undef HAVE_RECALLOCARRAY
1079
1080/* Define to 1 if you have the `recvmsg' function. */
1081#undef HAVE_RECVMSG
1082
1083/* sys/resource.h has RLIMIT_NPROC */
1084#undef HAVE_RLIMIT_NPROC
1085
1086/* Define to 1 if you have the <rpc/types.h> header file. */
1087#undef HAVE_RPC_TYPES_H
1088
1089/* Define to 1 if you have the `rresvport_af' function. */
1090#undef HAVE_RRESVPORT_AF
1091
1092/* Define to 1 if you have the `RSA_generate_key_ex' function. */
1093#undef HAVE_RSA_GENERATE_KEY_EX
1094
1095/* Define to 1 if you have the `RSA_get0_crt_params' function. */
1096#undef HAVE_RSA_GET0_CRT_PARAMS
1097
1098/* Define to 1 if you have the `RSA_get0_factors' function. */
1099#undef HAVE_RSA_GET0_FACTORS
1100
1101/* Define to 1 if you have the `RSA_get0_key' function. */
1102#undef HAVE_RSA_GET0_KEY
1103
1104/* Define to 1 if you have the `RSA_get_default_method' function. */
1105#undef HAVE_RSA_GET_DEFAULT_METHOD
1106
1107/* Define to 1 if you have the `RSA_meth_dup' function. */
1108#undef HAVE_RSA_METH_DUP
1109
1110/* Define to 1 if you have the `RSA_meth_free' function. */
1111#undef HAVE_RSA_METH_FREE
1112
1113/* Define to 1 if you have the `RSA_meth_get_finish' function. */
1114#undef HAVE_RSA_METH_GET_FINISH
1115
1116/* Define to 1 if you have the `RSA_meth_set1_name' function. */
1117#undef HAVE_RSA_METH_SET1_NAME
1118
1119/* Define to 1 if you have the `RSA_meth_set_finish' function. */
1120#undef HAVE_RSA_METH_SET_FINISH
1121
1122/* Define to 1 if you have the `RSA_meth_set_priv_dec' function. */
1123#undef HAVE_RSA_METH_SET_PRIV_DEC
1124
1125/* Define to 1 if you have the `RSA_meth_set_priv_enc' function. */
1126#undef HAVE_RSA_METH_SET_PRIV_ENC
1127
1128/* Define to 1 if you have the `RSA_set0_crt_params' function. */
1129#undef HAVE_RSA_SET0_CRT_PARAMS
1130
1131/* Define to 1 if you have the `RSA_set0_factors' function. */
1132#undef HAVE_RSA_SET0_FACTORS
1133
1134/* Define to 1 if you have the `RSA_set0_key' function. */
1135#undef HAVE_RSA_SET0_KEY
1136
1137/* Define to 1 if you have the <sandbox.h> header file. */
1138#undef HAVE_SANDBOX_H
1139
1140/* Define to 1 if you have the `sandbox_init' function. */
1141#undef HAVE_SANDBOX_INIT
1142
1143/* define if you have sa_family_t data type */
1144#undef HAVE_SA_FAMILY_T
1145
1146/* Define to 1 if you have the `scan_scaled' function. */
1147#undef HAVE_SCAN_SCALED
1148
1149/* Define if you have SecureWare-based protected password database */
1150#undef HAVE_SECUREWARE
1151
1152/* Define to 1 if you have the <security/pam_appl.h> header file. */
1153#undef HAVE_SECURITY_PAM_APPL_H
1154
1155/* Define to 1 if you have the `sendmsg' function. */
1156#undef HAVE_SENDMSG
1157
1158/* Define to 1 if you have the `setauthdb' function. */
1159#undef HAVE_SETAUTHDB
1160
1161/* Define to 1 if you have the `setdtablesize' function. */
1162#undef HAVE_SETDTABLESIZE
1163
1164/* Define to 1 if you have the `setegid' function. */
1165#undef HAVE_SETEGID
1166
1167/* Define to 1 if you have the `setenv' function. */
1168#undef HAVE_SETENV
1169
1170/* Define to 1 if you have the `seteuid' function. */
1171#undef HAVE_SETEUID
1172
1173/* Define to 1 if you have the `setgroupent' function. */
1174#undef HAVE_SETGROUPENT
1175
1176/* Define to 1 if you have the `setgroups' function. */
1177#undef HAVE_SETGROUPS
1178
1179/* Define to 1 if you have the `setlinebuf' function. */
1180#undef HAVE_SETLINEBUF
1181
1182/* Define to 1 if you have the `setlogin' function. */
1183#undef HAVE_SETLOGIN
1184
1185/* Define to 1 if you have the `setluid' function. */
1186#undef HAVE_SETLUID
1187
1188/* Define to 1 if you have the `setpassent' function. */
1189#undef HAVE_SETPASSENT
1190
1191/* Define to 1 if you have the `setpcred' function. */
1192#undef HAVE_SETPCRED
1193
1194/* Define to 1 if you have the `setpflags' function. */
1195#undef HAVE_SETPFLAGS
1196
1197/* Define to 1 if you have the `setppriv' function. */
1198#undef HAVE_SETPPRIV
1199
1200/* Define to 1 if you have the `setproctitle' function. */
1201#undef HAVE_SETPROCTITLE
1202
1203/* Define to 1 if you have the `setregid' function. */
1204#undef HAVE_SETREGID
1205
1206/* Define to 1 if you have the `setresgid' function. */
1207#undef HAVE_SETRESGID
1208
1209/* Define to 1 if you have the `setresuid' function. */
1210#undef HAVE_SETRESUID
1211
1212/* Define to 1 if you have the `setreuid' function. */
1213#undef HAVE_SETREUID
1214
1215/* Define to 1 if you have the `setrlimit' function. */
1216#undef HAVE_SETRLIMIT
1217
1218/* Define to 1 if you have the `setsid' function. */
1219#undef HAVE_SETSID
1220
1221/* Define to 1 if you have the `setutent' function. */
1222#undef HAVE_SETUTENT
1223
1224/* Define to 1 if you have the `setutxdb' function. */
1225#undef HAVE_SETUTXDB
1226
1227/* Define to 1 if you have the `setutxent' function. */
1228#undef HAVE_SETUTXENT
1229
1230/* Define to 1 if you have the `setvbuf' function. */
1231#undef HAVE_SETVBUF
1232
1233/* Define to 1 if you have the `set_id' function. */
1234#undef HAVE_SET_ID
1235
1236/* Define to 1 if you have the `SHA256Update' function. */
1237#undef HAVE_SHA256UPDATE
1238
1239/* Define to 1 if you have the <sha2.h> header file. */
1240#undef HAVE_SHA2_H
1241
1242/* Define to 1 if you have the `SHA384Update' function. */
1243#undef HAVE_SHA384UPDATE
1244
1245/* Define to 1 if you have the `SHA512Update' function. */
1246#undef HAVE_SHA512UPDATE
1247
1248/* Define to 1 if you have the <shadow.h> header file. */
1249#undef HAVE_SHADOW_H
1250
1251/* Define to 1 if you have the `sigaction' function. */
1252#undef HAVE_SIGACTION
1253
1254/* Define to 1 if you have the `sigvec' function. */
1255#undef HAVE_SIGVEC
1256
1257/* Define to 1 if the system has the type `sig_atomic_t'. */
1258#undef HAVE_SIG_ATOMIC_T
1259
1260/* define if you have size_t data type */
1261#undef HAVE_SIZE_T
1262
1263/* Define to 1 if you have the `snprintf' function. */
1264#undef HAVE_SNPRINTF
1265
1266/* Define to 1 if you have the `socketpair' function. */
1267#undef HAVE_SOCKETPAIR
1268
1269/* Have PEERCRED socket option */
1270#undef HAVE_SO_PEERCRED
1271
1272/* define if you have ssize_t data type */
1273#undef HAVE_SSIZE_T
1274
1275/* Fields in struct sockaddr_storage */
1276#undef HAVE_SS_FAMILY_IN_SS
1277
1278/* Define to 1 if you have the `statfs' function. */
1279#undef HAVE_STATFS
1280
1281/* Define to 1 if you have the `statvfs' function. */
1282#undef HAVE_STATVFS
1283
1284/* Define to 1 if you have the <stddef.h> header file. */
1285#undef HAVE_STDDEF_H
1286
1287/* Define to 1 if you have the <stdint.h> header file. */
1288#undef HAVE_STDINT_H
1289
1290/* Define to 1 if you have the <stdlib.h> header file. */
1291#undef HAVE_STDLIB_H
1292
1293/* Define to 1 if you have the `strcasestr' function. */
1294#undef HAVE_STRCASESTR
1295
1296/* Define to 1 if you have the `strdup' function. */
1297#undef HAVE_STRDUP
1298
1299/* Define to 1 if you have the `strerror' function. */
1300#undef HAVE_STRERROR
1301
1302/* Define to 1 if you have the `strftime' function. */
1303#undef HAVE_STRFTIME
1304
1305/* Silly mkstemp() */
1306#undef HAVE_STRICT_MKSTEMP
1307
1308/* Define to 1 if you have the <strings.h> header file. */
1309#undef HAVE_STRINGS_H
1310
1311/* Define to 1 if you have the <string.h> header file. */
1312#undef HAVE_STRING_H
1313
1314/* Define to 1 if you have the `strlcat' function. */
1315#undef HAVE_STRLCAT
1316
1317/* Define to 1 if you have the `strlcpy' function. */
1318#undef HAVE_STRLCPY
1319
1320/* Define to 1 if you have the `strmode' function. */
1321#undef HAVE_STRMODE
1322
1323/* Define to 1 if you have the `strndup' function. */
1324#undef HAVE_STRNDUP
1325
1326/* Define to 1 if you have the `strnlen' function. */
1327#undef HAVE_STRNLEN
1328
1329/* Define to 1 if you have the `strnvis' function. */
1330#undef HAVE_STRNVIS
1331
1332/* Define to 1 if you have the `strptime' function. */
1333#undef HAVE_STRPTIME
1334
1335/* Define to 1 if you have the `strsep' function. */
1336#undef HAVE_STRSEP
1337
1338/* Define to 1 if you have the `strsignal' function. */
1339#undef HAVE_STRSIGNAL
1340
1341/* Define to 1 if you have the `strtoll' function. */
1342#undef HAVE_STRTOLL
1343
1344/* Define to 1 if you have the `strtonum' function. */
1345#undef HAVE_STRTONUM
1346
1347/* Define to 1 if you have the `strtoul' function. */
1348#undef HAVE_STRTOUL
1349
1350/* Define to 1 if you have the `strtoull' function. */
1351#undef HAVE_STRTOULL
1352
1353/* define if you have struct addrinfo data type */
1354#undef HAVE_STRUCT_ADDRINFO
1355
1356/* define if you have struct in6_addr data type */
1357#undef HAVE_STRUCT_IN6_ADDR
1358
1359/* Define to 1 if `pw_change' is a member of `struct passwd'. */
1360#undef HAVE_STRUCT_PASSWD_PW_CHANGE
1361
1362/* Define to 1 if `pw_class' is a member of `struct passwd'. */
1363#undef HAVE_STRUCT_PASSWD_PW_CLASS
1364
1365/* Define to 1 if `pw_expire' is a member of `struct passwd'. */
1366#undef HAVE_STRUCT_PASSWD_PW_EXPIRE
1367
1368/* Define to 1 if `pw_gecos' is a member of `struct passwd'. */
1369#undef HAVE_STRUCT_PASSWD_PW_GECOS
1370
1371/* define if you have struct sockaddr_in6 data type */
1372#undef HAVE_STRUCT_SOCKADDR_IN6
1373
1374/* Define to 1 if `sin6_scope_id' is a member of `struct sockaddr_in6'. */
1375#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
1376
1377/* define if you have struct sockaddr_storage data type */
1378#undef HAVE_STRUCT_SOCKADDR_STORAGE
1379
1380/* Define to 1 if `f_files' is a member of `struct statfs'. */
1381#undef HAVE_STRUCT_STATFS_F_FILES
1382
1383/* Define to 1 if `f_flags' is a member of `struct statfs'. */
1384#undef HAVE_STRUCT_STATFS_F_FLAGS
1385
1386/* Define to 1 if `st_blksize' is a member of `struct stat'. */
1387#undef HAVE_STRUCT_STAT_ST_BLKSIZE
1388
1389/* Define to 1 if `st_mtim' is a member of `struct stat'. */
1390#undef HAVE_STRUCT_STAT_ST_MTIM
1391
1392/* Define to 1 if `st_mtime' is a member of `struct stat'. */
1393#undef HAVE_STRUCT_STAT_ST_MTIME
1394
1395/* define if you have struct timespec */
1396#undef HAVE_STRUCT_TIMESPEC
1397
1398/* define if you have struct timeval */
1399#undef HAVE_STRUCT_TIMEVAL
1400
1401/* Define to 1 if you have the `swap32' function. */
1402#undef HAVE_SWAP32
1403
1404/* Define to 1 if you have the `sysconf' function. */
1405#undef HAVE_SYSCONF
1406
1407/* Define if you have syslen in utmpx.h */
1408#undef HAVE_SYSLEN_IN_UTMPX
1409
1410/* Define to 1 if you have the <sys/audit.h> header file. */
1411#undef HAVE_SYS_AUDIT_H
1412
1413/* Define to 1 if you have the <sys/bitypes.h> header file. */
1414#undef HAVE_SYS_BITYPES_H
1415
1416/* Define to 1 if you have the <sys/bsdtty.h> header file. */
1417#undef HAVE_SYS_BSDTTY_H
1418
1419/* Define to 1 if you have the <sys/byteorder.h> header file. */
1420#undef HAVE_SYS_BYTEORDER_H
1421
1422/* Define to 1 if you have the <sys/capsicum.h> header file. */
1423#undef HAVE_SYS_CAPSICUM_H
1424
1425/* Define to 1 if you have the <sys/cdefs.h> header file. */
1426#undef HAVE_SYS_CDEFS_H
1427
1428/* Define to 1 if you have the <sys/dir.h> header file. */
1429#undef HAVE_SYS_DIR_H
1430
1431/* Define if your system defines sys_errlist[] */
1432#undef HAVE_SYS_ERRLIST
1433
1434/* Define to 1 if you have the <sys/file.h> header file. */
1435#undef HAVE_SYS_FILE_H
1436
1437/* Define to 1 if you have the <sys/label.h> header file. */
1438#undef HAVE_SYS_LABEL_H
1439
1440/* Define to 1 if you have the <sys/mman.h> header file. */
1441#undef HAVE_SYS_MMAN_H
1442
1443/* Define to 1 if you have the <sys/mount.h> header file. */
1444#undef HAVE_SYS_MOUNT_H
1445
1446/* Define to 1 if you have the <sys/ndir.h> header file. */
1447#undef HAVE_SYS_NDIR_H
1448
1449/* Define if your system defines sys_nerr */
1450#undef HAVE_SYS_NERR
1451
1452/* Define to 1 if you have the <sys/poll.h> header file. */
1453#undef HAVE_SYS_POLL_H
1454
1455/* Define to 1 if you have the <sys/prctl.h> header file. */
1456#undef HAVE_SYS_PRCTL_H
1457
1458/* Define to 1 if you have the <sys/pstat.h> header file. */
1459#undef HAVE_SYS_PSTAT_H
1460
1461/* Define to 1 if you have the <sys/ptms.h> header file. */
1462#undef HAVE_SYS_PTMS_H
1463
1464/* Define to 1 if you have the <sys/ptrace.h> header file. */
1465#undef HAVE_SYS_PTRACE_H
1466
1467/* Define to 1 if you have the <sys/random.h> header file. */
1468#undef HAVE_SYS_RANDOM_H
1469
1470/* Define to 1 if you have the <sys/select.h> header file. */
1471#undef HAVE_SYS_SELECT_H
1472
1473/* Define to 1 if you have the <sys/statvfs.h> header file. */
1474#undef HAVE_SYS_STATVFS_H
1475
1476/* Define to 1 if you have the <sys/stat.h> header file. */
1477#undef HAVE_SYS_STAT_H
1478
1479/* Define to 1 if you have the <sys/stream.h> header file. */
1480#undef HAVE_SYS_STREAM_H
1481
1482/* Define to 1 if you have the <sys/stropts.h> header file. */
1483#undef HAVE_SYS_STROPTS_H
1484
1485/* Define to 1 if you have the <sys/strtio.h> header file. */
1486#undef HAVE_SYS_STRTIO_H
1487
1488/* Define to 1 if you have the <sys/sysctl.h> header file. */
1489#undef HAVE_SYS_SYSCTL_H
1490
1491/* Force use of sys/syslog.h on Ultrix */
1492#undef HAVE_SYS_SYSLOG_H
1493
1494/* Define to 1 if you have the <sys/sysmacros.h> header file. */
1495#undef HAVE_SYS_SYSMACROS_H
1496
1497/* Define to 1 if you have the <sys/timers.h> header file. */
1498#undef HAVE_SYS_TIMERS_H
1499
1500/* Define to 1 if you have the <sys/time.h> header file. */
1501#undef HAVE_SYS_TIME_H
1502
1503/* Define to 1 if you have the <sys/types.h> header file. */
1504#undef HAVE_SYS_TYPES_H
1505
1506/* Define to 1 if you have the <sys/un.h> header file. */
1507#undef HAVE_SYS_UN_H
1508
1509/* Define to 1 if you have the <sys/vfs.h> header file. */
1510#undef HAVE_SYS_VFS_H
1511
1512/* Define to 1 if you have the `tcgetpgrp' function. */
1513#undef HAVE_TCGETPGRP
1514
1515/* Define to 1 if you have the `tcsendbreak' function. */
1516#undef HAVE_TCSENDBREAK
1517
1518/* Define to 1 if you have the `time' function. */
1519#undef HAVE_TIME
1520
1521/* Define to 1 if you have the <time.h> header file. */
1522#undef HAVE_TIME_H
1523
1524/* Define if you have ut_time in utmp.h */
1525#undef HAVE_TIME_IN_UTMP
1526
1527/* Define if you have ut_time in utmpx.h */
1528#undef HAVE_TIME_IN_UTMPX
1529
1530/* Define to 1 if you have the `timingsafe_bcmp' function. */
1531#undef HAVE_TIMINGSAFE_BCMP
1532
1533/* Define to 1 if you have the <tmpdir.h> header file. */
1534#undef HAVE_TMPDIR_H
1535
1536/* Define to 1 if you have the `truncate' function. */
1537#undef HAVE_TRUNCATE
1538
1539/* Define to 1 if you have the <ttyent.h> header file. */
1540#undef HAVE_TTYENT_H
1541
1542/* Define if you have ut_tv in utmp.h */
1543#undef HAVE_TV_IN_UTMP
1544
1545/* Define if you have ut_tv in utmpx.h */
1546#undef HAVE_TV_IN_UTMPX
1547
1548/* Define if you have ut_type in utmp.h */
1549#undef HAVE_TYPE_IN_UTMP
1550
1551/* Define if you have ut_type in utmpx.h */
1552#undef HAVE_TYPE_IN_UTMPX
1553
1554/* Define to 1 if you have the <ucred.h> header file. */
1555#undef HAVE_UCRED_H
1556
1557/* Define to 1 if the system has the type `uintmax_t'. */
1558#undef HAVE_UINTMAX_T
1559
1560/* define if you have uintxx_t data type */
1561#undef HAVE_UINTXX_T
1562
1563/* Define to 1 if you have the <unistd.h> header file. */
1564#undef HAVE_UNISTD_H
1565
1566/* Define to 1 if you have the `unsetenv' function. */
1567#undef HAVE_UNSETENV
1568
1569/* Define to 1 if the system has the type `unsigned long long'. */
1570#undef HAVE_UNSIGNED_LONG_LONG
1571
1572/* Define to 1 if you have the `updwtmp' function. */
1573#undef HAVE_UPDWTMP
1574
1575/* Define to 1 if you have the `updwtmpx' function. */
1576#undef HAVE_UPDWTMPX
1577
1578/* Define to 1 if you have the <usersec.h> header file. */
1579#undef HAVE_USERSEC_H
1580
1581/* Define to 1 if you have the `user_from_uid' function. */
1582#undef HAVE_USER_FROM_UID
1583
1584/* Define to 1 if you have the `usleep' function. */
1585#undef HAVE_USLEEP
1586
1587/* Define to 1 if you have the <util.h> header file. */
1588#undef HAVE_UTIL_H
1589
1590/* Define to 1 if you have the `utimensat' function. */
1591#undef HAVE_UTIMENSAT
1592
1593/* Define to 1 if you have the `utimes' function. */
1594#undef HAVE_UTIMES
1595
1596/* Define to 1 if you have the <utime.h> header file. */
1597#undef HAVE_UTIME_H
1598
1599/* Define to 1 if you have the `utmpname' function. */
1600#undef HAVE_UTMPNAME
1601
1602/* Define to 1 if you have the `utmpxname' function. */
1603#undef HAVE_UTMPXNAME
1604
1605/* Define to 1 if you have the <utmpx.h> header file. */
1606#undef HAVE_UTMPX_H
1607
1608/* Define to 1 if you have the <utmp.h> header file. */
1609#undef HAVE_UTMP_H
1610
1611/* define if you have u_char data type */
1612#undef HAVE_U_CHAR
1613
1614/* define if you have u_int data type */
1615#undef HAVE_U_INT
1616
1617/* define if you have u_int64_t data type */
1618#undef HAVE_U_INT64_T
1619
1620/* define if you have u_intxx_t data type */
1621#undef HAVE_U_INTXX_T
1622
1623/* Define to 1 if you have the `vasprintf' function. */
1624#undef HAVE_VASPRINTF
1625
1626/* Define if va_copy exists */
1627#undef HAVE_VA_COPY
1628
1629/* Define to 1 if you have the <vis.h> header file. */
1630#undef HAVE_VIS_H
1631
1632/* Define to 1 if you have the `vsnprintf' function. */
1633#undef HAVE_VSNPRINTF
1634
1635/* Define to 1 if you have the `waitpid' function. */
1636#undef HAVE_WAITPID
1637
1638/* Define to 1 if you have the `warn' function. */
1639#undef HAVE_WARN
1640
1641/* Define to 1 if you have the <wchar.h> header file. */
1642#undef HAVE_WCHAR_H
1643
1644/* Define to 1 if you have the `wcwidth' function. */
1645#undef HAVE_WCWIDTH
1646
1647/* Define to 1 if you have the `_getlong' function. */
1648#undef HAVE__GETLONG
1649
1650/* Define to 1 if you have the `_getpty' function. */
1651#undef HAVE__GETPTY
1652
1653/* Define to 1 if you have the `_getshort' function. */
1654#undef HAVE__GETSHORT
1655
1656/* Define if you have struct __res_state _res as an extern */
1657#undef HAVE__RES_EXTERN
1658
1659/* Define to 1 if you have the `__b64_ntop' function. */
1660#undef HAVE___B64_NTOP
1661
1662/* Define to 1 if you have the `__b64_pton' function. */
1663#undef HAVE___B64_PTON
1664
1665/* Define if compiler implements __FUNCTION__ */
1666#undef HAVE___FUNCTION__
1667
1668/* Define if libc defines __progname */
1669#undef HAVE___PROGNAME
1670
1671/* Fields in struct sockaddr_storage */
1672#undef HAVE___SS_FAMILY_IN_SS
1673
1674/* Define if __va_copy exists */
1675#undef HAVE___VA_COPY
1676
1677/* Define if compiler implements __func__ */
1678#undef HAVE___func__
1679
1680/* Define this if you are using the Heimdal version of Kerberos V5 */
1681#undef HEIMDAL
1682
1683/* Define if you need to use IP address instead of hostname in $DISPLAY */
1684#undef IPADDR_IN_DISPLAY
1685
1686/* Detect IPv4 in IPv6 mapped addresses and treat as IPv4 */
1687#undef IPV4_IN_IPV6
1688
1689/* Define if your system choked on IP TOS setting */
1690#undef IP_TOS_IS_BROKEN
1691
1692/* Define if you want Kerberos 5 support */
1693#undef KRB5
1694
1695/* Define if pututxline updates lastlog too */
1696#undef LASTLOG_WRITE_PUTUTXLINE
1697
1698/* Define to whatever link() returns for "not supported" if it doesn't return
1699 EOPNOTSUPP. */
1700#undef LINK_OPNOTSUPP_ERRNO
1701
1702/* Adjust Linux out-of-memory killer */
1703#undef LINUX_OOM_ADJUST
1704
1705/* max value of long long calculated by configure */
1706#undef LLONG_MAX
1707
1708/* min value of long long calculated by configure */
1709#undef LLONG_MIN
1710
1711/* Account locked with pw(1) */
1712#undef LOCKED_PASSWD_PREFIX
1713
1714/* String used in /etc/passwd to denote locked account */
1715#undef LOCKED_PASSWD_STRING
1716
1717/* String used in /etc/passwd to denote locked account */
1718#undef LOCKED_PASSWD_SUBSTR
1719
1720/* Some systems need a utmpx entry for /bin/login to work */
1721#undef LOGIN_NEEDS_UTMPX
1722
1723/* Set this to your mail directory if you do not have _PATH_MAILDIR */
1724#undef MAIL_DIRECTORY
1725
1726/* Need setpgrp to for controlling tty */
1727#undef NEED_SETPGRP
1728
1729/* compiler does not accept __attribute__ on prototype args */
1730#undef NO_ATTRIBUTE_ON_PROTOTYPE_ARGS
1731
1732/* compiler does not accept __attribute__ on return types */
1733#undef NO_ATTRIBUTE_ON_RETURN_TYPE
1734
1735/* SA_RESTARTed signals do no interrupt select */
1736#undef NO_SA_RESTART
1737
1738/* Define to disable UID restoration test */
1739#undef NO_UID_RESTORATION_TEST
1740
1741/* Define if X11 doesn't support AF_UNIX sockets on that system */
1742#undef NO_X11_UNIX_SOCKETS
1743
1744/* Define if EVP_DigestUpdate returns void */
1745#undef OPENSSL_EVP_DIGESTUPDATE_VOID
1746
1747/* OpenSSL has ECC */
1748#undef OPENSSL_HAS_ECC
1749
1750/* libcrypto has NID_X9_62_prime256v1 */
1751#undef OPENSSL_HAS_NISTP256
1752
1753/* libcrypto has NID_secp384r1 */
1754#undef OPENSSL_HAS_NISTP384
1755
1756/* libcrypto has NID_secp521r1 */
1757#undef OPENSSL_HAS_NISTP521
1758
1759/* libcrypto has EVP AES CTR */
1760#undef OPENSSL_HAVE_EVPCTR
1761
1762/* libcrypto has EVP AES GCM */
1763#undef OPENSSL_HAVE_EVPGCM
1764
1765/* libcrypto is missing AES 192 and 256 bit functions */
1766#undef OPENSSL_LOBOTOMISED_AES
1767
1768/* Define if you want the OpenSSL internally seeded PRNG only */
1769#undef OPENSSL_PRNG_ONLY
1770
1771/* Define to the address where bug reports for this package should be sent. */
1772#undef PACKAGE_BUGREPORT
1773
1774/* Define to the full name of this package. */
1775#undef PACKAGE_NAME
1776
1777/* Define to the full name and version of this package. */
1778#undef PACKAGE_STRING
1779
1780/* Define to the one symbol short name of this package. */
1781#undef PACKAGE_TARNAME
1782
1783/* Define to the home page for this package. */
1784#undef PACKAGE_URL
1785
1786/* Define to the version of this package. */
1787#undef PACKAGE_VERSION
1788
1789/* Define if you are using Solaris-derived PAM which passes pam_messages to
1790 the conversation function with an extra level of indirection */
1791#undef PAM_SUN_CODEBASE
1792
1793/* Work around problematic Linux PAM modules handling of PAM_TTY */
1794#undef PAM_TTY_KLUDGE
1795
1796/* must supply username to passwd */
1797#undef PASSWD_NEEDS_USERNAME
1798
1799/* System dirs owned by bin (uid 2) */
1800#undef PLATFORM_SYS_DIR_UID
1801
1802/* Port number of PRNGD/EGD random number socket */
1803#undef PRNGD_PORT
1804
1805/* Location of PRNGD/EGD random number socket */
1806#undef PRNGD_SOCKET
1807
1808/* read(1) can return 0 for a non-closed fd */
1809#undef PTY_ZEROREAD
1810
1811/* Sandbox using capsicum */
1812#undef SANDBOX_CAPSICUM
1813
1814/* Sandbox using Darwin sandbox_init(3) */
1815#undef SANDBOX_DARWIN
1816
1817/* no privsep sandboxing */
1818#undef SANDBOX_NULL
1819
1820/* Sandbox using pledge(2) */
1821#undef SANDBOX_PLEDGE
1822
1823/* Sandbox using setrlimit(2) */
1824#undef SANDBOX_RLIMIT
1825
1826/* Sandbox using seccomp filter */
1827#undef SANDBOX_SECCOMP_FILTER
1828
1829/* setrlimit RLIMIT_FSIZE works */
1830#undef SANDBOX_SKIP_RLIMIT_FSIZE
1831
1832/* define if setrlimit RLIMIT_NOFILE breaks things */
1833#undef SANDBOX_SKIP_RLIMIT_NOFILE
1834
1835/* Sandbox using Solaris/Illumos privileges */
1836#undef SANDBOX_SOLARIS
1837
1838/* Sandbox using systrace(4) */
1839#undef SANDBOX_SYSTRACE
1840
1841/* Specify the system call convention in use */
1842#undef SECCOMP_AUDIT_ARCH
1843
1844/* Define if your platform breaks doing a seteuid before a setuid */
1845#undef SETEUID_BREAKS_SETUID
1846
1847/* The size of `int', as computed by sizeof. */
1848#undef SIZEOF_INT
1849
1850/* The size of `long int', as computed by sizeof. */
1851#undef SIZEOF_LONG_INT
1852
1853/* The size of `long long int', as computed by sizeof. */
1854#undef SIZEOF_LONG_LONG_INT
1855
1856/* The size of `short int', as computed by sizeof. */
1857#undef SIZEOF_SHORT_INT
1858
1859/* Define as const if snprintf() can declare const char *fmt */
1860#undef SNPRINTF_CONST
1861
1862/* Define to a Set Process Title type if your system is supported by
1863 bsd-setproctitle.c */
1864#undef SPT_TYPE
1865
1866/* Define if sshd somehow reacquires a controlling TTY after setsid() */
1867#undef SSHD_ACQUIRES_CTTY
1868
1869/* sshd PAM service name */
1870#undef SSHD_PAM_SERVICE
1871
1872/* Define if pam_chauthtok wants real uid set to the unpriv'ed user */
1873#undef SSHPAM_CHAUTHTOK_NEEDS_RUID
1874
1875/* Use audit debugging module */
1876#undef SSH_AUDIT_EVENTS
1877
1878/* Windows is sensitive to read buffer size */
1879#undef SSH_IOBUFSZ
1880
1881/* non-privileged user for privilege separation */
1882#undef SSH_PRIVSEP_USER
1883
1884/* Use tunnel device compatibility to OpenBSD */
1885#undef SSH_TUN_COMPAT_AF
1886
1887/* Open tunnel devices the FreeBSD way */
1888#undef SSH_TUN_FREEBSD
1889
1890/* Open tunnel devices the Linux tun/tap way */
1891#undef SSH_TUN_LINUX
1892
1893/* No layer 2 tunnel support */
1894#undef SSH_TUN_NO_L2
1895
1896/* Open tunnel devices the OpenBSD way */
1897#undef SSH_TUN_OPENBSD
1898
1899/* Prepend the address family to IP tunnel traffic */
1900#undef SSH_TUN_PREPEND_AF
1901
1902/* Define to 1 if you have the ANSI C header files. */
1903#undef STDC_HEADERS
1904
1905/* Define if you want a different $PATH for the superuser */
1906#undef SUPERUSER_PATH
1907
1908/* syslog_r function is safe to use in in a signal handler */
1909#undef SYSLOG_R_SAFE_IN_SIGHAND
1910
1911/* Support routing domains using Linux VRF */
1912#undef SYS_RDOMAIN_LINUX
1913
1914/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
1915#undef TIME_WITH_SYS_TIME
1916
1917/* Support passwords > 8 chars */
1918#undef UNIXWARE_LONG_PASSWORDS
1919
1920/* Specify default $PATH */
1921#undef USER_PATH
1922
1923/* Define this if you want to use libkafs' AFS support */
1924#undef USE_AFS
1925
1926/* Use BSM audit module */
1927#undef USE_BSM_AUDIT
1928
1929/* Use btmp to log bad logins */
1930#undef USE_BTMP
1931
1932/* Use libedit for sftp */
1933#undef USE_LIBEDIT
1934
1935/* Use Linux audit module */
1936#undef USE_LINUX_AUDIT
1937
1938/* Enable OpenSSL engine support */
1939#undef USE_OPENSSL_ENGINE
1940
1941/* Define if you want to enable PAM support */
1942#undef USE_PAM
1943
1944/* Use PIPES instead of a socketpair() */
1945#undef USE_PIPES
1946
1947/* Define if you have Solaris privileges */
1948#undef USE_SOLARIS_PRIVS
1949
1950/* Define if you have Solaris process contracts */
1951#undef USE_SOLARIS_PROCESS_CONTRACTS
1952
1953/* Define if you have Solaris projects */
1954#undef USE_SOLARIS_PROJECTS
1955
1956/* Define if you shouldn't strip 'tty' from your ttyname in [uw]tmp */
1957#undef WITH_ABBREV_NO_TTY
1958
1959/* Define if you want to enable AIX4's authenticate function */
1960#undef WITH_AIXAUTHENTICATE
1961
1962/* Define if you have/want arrays (cluster-wide session management, not C
1963 arrays) */
1964#undef WITH_IRIX_ARRAY
1965
1966/* Define if you want IRIX audit trails */
1967#undef WITH_IRIX_AUDIT
1968
1969/* Define if you want IRIX kernel jobs */
1970#undef WITH_IRIX_JOBS
1971
1972/* Define if you want IRIX project management */
1973#undef WITH_IRIX_PROJECT
1974
1975/* use libcrypto for cryptography */
1976#undef WITH_OPENSSL
1977
1978/* Define if you want SELinux support. */
1979#undef WITH_SELINUX
1980
1981/* Enable zlib */
1982#undef WITH_ZLIB
1983
1984/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
1985 significant byte first (like Motorola and SPARC, unlike Intel). */
1986#if defined AC_APPLE_UNIVERSAL_BUILD
1987# if defined __BIG_ENDIAN__
1988# define WORDS_BIGENDIAN 1
1989# endif
1990#else
1991# ifndef WORDS_BIGENDIAN
1992# undef WORDS_BIGENDIAN
1993# endif
1994#endif
1995
1996/* Define if xauth is found in your path */
1997#undef XAUTH_PATH
1998
1999/* Enable large inode numbers on Mac OS X 10.5. */
2000#ifndef _DARWIN_USE_64_BIT_INODE
2001# define _DARWIN_USE_64_BIT_INODE 1
2002#endif
2003
2004/* Number of bits in a file offset, on hosts where this is settable. */
2005#undef _FILE_OFFSET_BITS
2006
2007/* Define for large files, on AIX-style hosts. */
2008#undef _LARGE_FILES
2009
2010/* log for bad login attempts */
2011#undef _PATH_BTMP
2012
2013/* Full path of your "passwd" program */
2014#undef _PATH_PASSWD_PROG
2015
2016/* Specify location of ssh.pid */
2017#undef _PATH_SSH_PIDDIR
2018
2019/* Define if we don't have struct __res_state in resolv.h */
2020#undef __res_state
2021
2022/* Define to rpl_calloc if the replacement function should be used. */
2023#undef calloc
2024
2025/* Define to `__inline__' or `__inline' if that's what the C compiler
2026 calls it, or to nothing if 'inline' is not supported under any name. */
2027#ifndef __cplusplus
2028#undef inline
2029#endif
2030
2031/* Define to rpl_malloc if the replacement function should be used. */
2032#undef malloc
2033
2034/* Define to rpl_realloc if the replacement function should be used. */
2035#undef realloc
2036
2037/* type to use in place of socklen_t if not defined */
2038#undef socklen_t
diff --git a/configure b/configure
new file mode 100755
index 000000000..d2465270a
--- /dev/null
+++ b/configure
@@ -0,0 +1,21461 @@
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
649SK_DUMMY_LIBRARY
650COMMENT_OUT_ECC
651TEST_SSH_ECC
652PICFLAG
653LIBEDIT
654PKGCONFIG
655LDNSCONFIG
656LIBOBJS
657LD
658PATH_PASSWD_PROG
659STARTUP_SCRIPT_SHELL
660MAKE_PACKAGE_SUPPORTED
661PATH_USERADD_PROG
662PATH_GROUPADD_PROG
663MANFMT
664TEST_SHELL
665MANDOC
666NROFF
667GROFF
668SH
669TEST_MINUS_S_SH
670ENT
671SED
672KILL
673CAT
674ac_ct_AR
675AR
676MKDIR_P
677INSTALL_DATA
678INSTALL_SCRIPT
679INSTALL_PROGRAM
680RANLIB
681AWK
682EGREP
683GREP
684CPP
685host_os
686host_vendor
687host_cpu
688host
689build_os
690build_vendor
691build_cpu
692build
693OBJEXT
694EXEEXT
695ac_ct_CC
696CPPFLAGS
697LDFLAGS
698CFLAGS
699CC
700target_alias
701host_alias
702build_alias
703LIBS
704ECHO_T
705ECHO_N
706ECHO_C
707DEFS
708mandir
709localedir
710libdir
711psdir
712pdfdir
713dvidir
714htmldir
715infodir
716docdir
717oldincludedir
718includedir
719localstatedir
720sharedstatedir
721sysconfdir
722datadir
723datarootdir
724libexecdir
725sbindir
726bindir
727program_transform_name
728prefix
729exec_prefix
730PACKAGE_URL
731PACKAGE_BUGREPORT
732PACKAGE_STRING
733PACKAGE_VERSION
734PACKAGE_TARNAME
735PACKAGE_NAME
736PATH_SEPARATOR
737SHELL'
738ac_subst_files=''
739ac_user_opts='
740enable_option_checking
741enable_largefile
742with_openssl
743with_stackprotect
744with_hardening
745with_rpath
746with_cflags
747with_cflags_after
748with_cppflags
749with_ldflags
750with_ldflags_after
751with_libs
752with_Werror
753with_solaris_contracts
754with_solaris_projects
755with_solaris_privs
756with_osfsia
757with_zlib
758with_zlib_version_check
759with_ldns
760with_libedit
761with_audit
762with_pie
763enable_pkcs11
764enable_security_key
765with_security_key_builtin
766with_ssl_dir
767with_openssl_header_check
768with_ssl_engine
769with_prngd_port
770with_prngd_socket
771with_pam
772with_pam_service
773with_privsep_user
774with_sandbox
775with_selinux
776with_kerberos5
777with_privsep_path
778with_xauth
779enable_strip
780with_maildir
781with_mantype
782with_md5_passwords
783with_shadow
784with_ipaddr_display
785enable_etc_default_login
786with_default_path
787with_superuser_path
788with_4in6
789with_bsd_auth
790with_pid_dir
791enable_lastlog
792enable_utmp
793enable_utmpx
794enable_wtmp
795enable_wtmpx
796enable_libutil
797enable_pututline
798enable_pututxline
799with_lastlog
800'
801 ac_precious_vars='build_alias
802host_alias
803target_alias
804CC
805CFLAGS
806LDFLAGS
807LIBS
808CPPFLAGS
809CPP'
810
811
812# Initialize some variables set by options.
813ac_init_help=
814ac_init_version=false
815ac_unrecognized_opts=
816ac_unrecognized_sep=
817# The variables have the same names as the options, with
818# dashes changed to underlines.
819cache_file=/dev/null
820exec_prefix=NONE
821no_create=
822no_recursion=
823prefix=NONE
824program_prefix=NONE
825program_suffix=NONE
826program_transform_name=s,x,x,
827silent=
828site=
829srcdir=
830verbose=
831x_includes=NONE
832x_libraries=NONE
833
834# Installation directory options.
835# These are left unexpanded so users can "make install exec_prefix=/foo"
836# and all the variables that are supposed to be based on exec_prefix
837# by default will actually change.
838# Use braces instead of parens because sh, perl, etc. also accept them.
839# (The list follows the same order as the GNU Coding Standards.)
840bindir='${exec_prefix}/bin'
841sbindir='${exec_prefix}/sbin'
842libexecdir='${exec_prefix}/libexec'
843datarootdir='${prefix}/share'
844datadir='${datarootdir}'
845sysconfdir='${prefix}/etc'
846sharedstatedir='${prefix}/com'
847localstatedir='${prefix}/var'
848includedir='${prefix}/include'
849oldincludedir='/usr/include'
850docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
851infodir='${datarootdir}/info'
852htmldir='${docdir}'
853dvidir='${docdir}'
854pdfdir='${docdir}'
855psdir='${docdir}'
856libdir='${exec_prefix}/lib'
857localedir='${datarootdir}/locale'
858mandir='${datarootdir}/man'
859
860ac_prev=
861ac_dashdash=
862for ac_option
863do
864 # If the previous option needs an argument, assign it.
865 if test -n "$ac_prev"; then
866 eval $ac_prev=\$ac_option
867 ac_prev=
868 continue
869 fi
870
871 case $ac_option in
872 *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
873 *=) ac_optarg= ;;
874 *) ac_optarg=yes ;;
875 esac
876
877 # Accept the important Cygnus configure options, so we can diagnose typos.
878
879 case $ac_dashdash$ac_option in
880 --)
881 ac_dashdash=yes ;;
882
883 -bindir | --bindir | --bindi | --bind | --bin | --bi)
884 ac_prev=bindir ;;
885 -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
886 bindir=$ac_optarg ;;
887
888 -build | --build | --buil | --bui | --bu)
889 ac_prev=build_alias ;;
890 -build=* | --build=* | --buil=* | --bui=* | --bu=*)
891 build_alias=$ac_optarg ;;
892
893 -cache-file | --cache-file | --cache-fil | --cache-fi \
894 | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
895 ac_prev=cache_file ;;
896 -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
897 | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
898 cache_file=$ac_optarg ;;
899
900 --config-cache | -C)
901 cache_file=config.cache ;;
902
903 -datadir | --datadir | --datadi | --datad)
904 ac_prev=datadir ;;
905 -datadir=* | --datadir=* | --datadi=* | --datad=*)
906 datadir=$ac_optarg ;;
907
908 -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
909 | --dataroo | --dataro | --datar)
910 ac_prev=datarootdir ;;
911 -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
912 | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
913 datarootdir=$ac_optarg ;;
914
915 -disable-* | --disable-*)
916 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
917 # Reject names that are not valid shell variable names.
918 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
919 as_fn_error $? "invalid feature name: $ac_useropt"
920 ac_useropt_orig=$ac_useropt
921 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
922 case $ac_user_opts in
923 *"
924"enable_$ac_useropt"
925"*) ;;
926 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
927 ac_unrecognized_sep=', ';;
928 esac
929 eval enable_$ac_useropt=no ;;
930
931 -docdir | --docdir | --docdi | --doc | --do)
932 ac_prev=docdir ;;
933 -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
934 docdir=$ac_optarg ;;
935
936 -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
937 ac_prev=dvidir ;;
938 -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
939 dvidir=$ac_optarg ;;
940
941 -enable-* | --enable-*)
942 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
943 # Reject names that are not valid shell variable names.
944 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
945 as_fn_error $? "invalid feature name: $ac_useropt"
946 ac_useropt_orig=$ac_useropt
947 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
948 case $ac_user_opts in
949 *"
950"enable_$ac_useropt"
951"*) ;;
952 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
953 ac_unrecognized_sep=', ';;
954 esac
955 eval enable_$ac_useropt=\$ac_optarg ;;
956
957 -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
958 | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
959 | --exec | --exe | --ex)
960 ac_prev=exec_prefix ;;
961 -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
962 | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
963 | --exec=* | --exe=* | --ex=*)
964 exec_prefix=$ac_optarg ;;
965
966 -gas | --gas | --ga | --g)
967 # Obsolete; use --with-gas.
968 with_gas=yes ;;
969
970 -help | --help | --hel | --he | -h)
971 ac_init_help=long ;;
972 -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
973 ac_init_help=recursive ;;
974 -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
975 ac_init_help=short ;;
976
977 -host | --host | --hos | --ho)
978 ac_prev=host_alias ;;
979 -host=* | --host=* | --hos=* | --ho=*)
980 host_alias=$ac_optarg ;;
981
982 -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
983 ac_prev=htmldir ;;
984 -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
985 | --ht=*)
986 htmldir=$ac_optarg ;;
987
988 -includedir | --includedir | --includedi | --included | --include \
989 | --includ | --inclu | --incl | --inc)
990 ac_prev=includedir ;;
991 -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
992 | --includ=* | --inclu=* | --incl=* | --inc=*)
993 includedir=$ac_optarg ;;
994
995 -infodir | --infodir | --infodi | --infod | --info | --inf)
996 ac_prev=infodir ;;
997 -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
998 infodir=$ac_optarg ;;
999
1000 -libdir | --libdir | --libdi | --libd)
1001 ac_prev=libdir ;;
1002 -libdir=* | --libdir=* | --libdi=* | --libd=*)
1003 libdir=$ac_optarg ;;
1004
1005 -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
1006 | --libexe | --libex | --libe)
1007 ac_prev=libexecdir ;;
1008 -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
1009 | --libexe=* | --libex=* | --libe=*)
1010 libexecdir=$ac_optarg ;;
1011
1012 -localedir | --localedir | --localedi | --localed | --locale)
1013 ac_prev=localedir ;;
1014 -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
1015 localedir=$ac_optarg ;;
1016
1017 -localstatedir | --localstatedir | --localstatedi | --localstated \
1018 | --localstate | --localstat | --localsta | --localst | --locals)
1019 ac_prev=localstatedir ;;
1020 -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1021 | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
1022 localstatedir=$ac_optarg ;;
1023
1024 -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1025 ac_prev=mandir ;;
1026 -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1027 mandir=$ac_optarg ;;
1028
1029 -nfp | --nfp | --nf)
1030 # Obsolete; use --without-fp.
1031 with_fp=no ;;
1032
1033 -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1034 | --no-cr | --no-c | -n)
1035 no_create=yes ;;
1036
1037 -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1038 | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1039 no_recursion=yes ;;
1040
1041 -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1042 | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1043 | --oldin | --oldi | --old | --ol | --o)
1044 ac_prev=oldincludedir ;;
1045 -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1046 | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1047 | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1048 oldincludedir=$ac_optarg ;;
1049
1050 -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1051 ac_prev=prefix ;;
1052 -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1053 prefix=$ac_optarg ;;
1054
1055 -program-prefix | --program-prefix | --program-prefi | --program-pref \
1056 | --program-pre | --program-pr | --program-p)
1057 ac_prev=program_prefix ;;
1058 -program-prefix=* | --program-prefix=* | --program-prefi=* \
1059 | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1060 program_prefix=$ac_optarg ;;
1061
1062 -program-suffix | --program-suffix | --program-suffi | --program-suff \
1063 | --program-suf | --program-su | --program-s)
1064 ac_prev=program_suffix ;;
1065 -program-suffix=* | --program-suffix=* | --program-suffi=* \
1066 | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
1067 program_suffix=$ac_optarg ;;
1068
1069 -program-transform-name | --program-transform-name \
1070 | --program-transform-nam | --program-transform-na \
1071 | --program-transform-n | --program-transform- \
1072 | --program-transform | --program-transfor \
1073 | --program-transfo | --program-transf \
1074 | --program-trans | --program-tran \
1075 | --progr-tra | --program-tr | --program-t)
1076 ac_prev=program_transform_name ;;
1077 -program-transform-name=* | --program-transform-name=* \
1078 | --program-transform-nam=* | --program-transform-na=* \
1079 | --program-transform-n=* | --program-transform-=* \
1080 | --program-transform=* | --program-transfor=* \
1081 | --program-transfo=* | --program-transf=* \
1082 | --program-trans=* | --program-tran=* \
1083 | --progr-tra=* | --program-tr=* | --program-t=*)
1084 program_transform_name=$ac_optarg ;;
1085
1086 -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
1087 ac_prev=pdfdir ;;
1088 -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
1089 pdfdir=$ac_optarg ;;
1090
1091 -psdir | --psdir | --psdi | --psd | --ps)
1092 ac_prev=psdir ;;
1093 -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
1094 psdir=$ac_optarg ;;
1095
1096 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1097 | -silent | --silent | --silen | --sile | --sil)
1098 silent=yes ;;
1099
1100 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
1101 ac_prev=sbindir ;;
1102 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
1103 | --sbi=* | --sb=*)
1104 sbindir=$ac_optarg ;;
1105
1106 -sharedstatedir | --sharedstatedir | --sharedstatedi \
1107 | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
1108 | --sharedst | --shareds | --shared | --share | --shar \
1109 | --sha | --sh)
1110 ac_prev=sharedstatedir ;;
1111 -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
1112 | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
1113 | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
1114 | --sha=* | --sh=*)
1115 sharedstatedir=$ac_optarg ;;
1116
1117 -site | --site | --sit)
1118 ac_prev=site ;;
1119 -site=* | --site=* | --sit=*)
1120 site=$ac_optarg ;;
1121
1122 -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
1123 ac_prev=srcdir ;;
1124 -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
1125 srcdir=$ac_optarg ;;
1126
1127 -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
1128 | --syscon | --sysco | --sysc | --sys | --sy)
1129 ac_prev=sysconfdir ;;
1130 -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
1131 | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
1132 sysconfdir=$ac_optarg ;;
1133
1134 -target | --target | --targe | --targ | --tar | --ta | --t)
1135 ac_prev=target_alias ;;
1136 -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
1137 target_alias=$ac_optarg ;;
1138
1139 -v | -verbose | --verbose | --verbos | --verbo | --verb)
1140 verbose=yes ;;
1141
1142 -version | --version | --versio | --versi | --vers | -V)
1143 ac_init_version=: ;;
1144
1145 -with-* | --with-*)
1146 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1147 # Reject names that are not valid shell variable names.
1148 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1149 as_fn_error $? "invalid package name: $ac_useropt"
1150 ac_useropt_orig=$ac_useropt
1151 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1152 case $ac_user_opts in
1153 *"
1154"with_$ac_useropt"
1155"*) ;;
1156 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
1157 ac_unrecognized_sep=', ';;
1158 esac
1159 eval with_$ac_useropt=\$ac_optarg ;;
1160
1161 -without-* | --without-*)
1162 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1163 # Reject names that are not valid shell variable names.
1164 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1165 as_fn_error $? "invalid package name: $ac_useropt"
1166 ac_useropt_orig=$ac_useropt
1167 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1168 case $ac_user_opts in
1169 *"
1170"with_$ac_useropt"
1171"*) ;;
1172 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
1173 ac_unrecognized_sep=', ';;
1174 esac
1175 eval with_$ac_useropt=no ;;
1176
1177 --x)
1178 # Obsolete; use --with-x.
1179 with_x=yes ;;
1180
1181 -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
1182 | --x-incl | --x-inc | --x-in | --x-i)
1183 ac_prev=x_includes ;;
1184 -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
1185 | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
1186 x_includes=$ac_optarg ;;
1187
1188 -x-libraries | --x-libraries | --x-librarie | --x-librari \
1189 | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
1190 ac_prev=x_libraries ;;
1191 -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
1192 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1193 x_libraries=$ac_optarg ;;
1194
1195 -*) as_fn_error $? "unrecognized option: \`$ac_option'
1196Try \`$0 --help' for more information"
1197 ;;
1198
1199 *=*)
1200 ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
1201 # Reject names that are not valid shell variable names.
1202 case $ac_envvar in #(
1203 '' | [0-9]* | *[!_$as_cr_alnum]* )
1204 as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
1205 esac
1206 eval $ac_envvar=\$ac_optarg
1207 export $ac_envvar ;;
1208
1209 *)
1210 # FIXME: should be removed in autoconf 3.0.
1211 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
1212 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
1213 $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
1214 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
1215 ;;
1216
1217 esac
1218done
1219
1220if test -n "$ac_prev"; then
1221 ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1222 as_fn_error $? "missing argument to $ac_option"
1223fi
1224
1225if test -n "$ac_unrecognized_opts"; then
1226 case $enable_option_checking in
1227 no) ;;
1228 fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
1229 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
1230 esac
1231fi
1232
1233# Check all directory arguments for consistency.
1234for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
1235 datadir sysconfdir sharedstatedir localstatedir includedir \
1236 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1237 libdir localedir mandir
1238do
1239 eval ac_val=\$$ac_var
1240 # Remove trailing slashes.
1241 case $ac_val in
1242 */ )
1243 ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
1244 eval $ac_var=\$ac_val;;
1245 esac
1246 # Be sure to have absolute directory names.
1247 case $ac_val in
1248 [\\/$]* | ?:[\\/]* ) continue;;
1249 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1250 esac
1251 as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
1252done
1253
1254# There might be people who depend on the old broken behavior: `$host'
1255# used to hold the argument of --host etc.
1256# FIXME: To remove some day.
1257build=$build_alias
1258host=$host_alias
1259target=$target_alias
1260
1261# FIXME: To remove some day.
1262if test "x$host_alias" != x; then
1263 if test "x$build_alias" = x; then
1264 cross_compiling=maybe
1265 elif test "x$build_alias" != "x$host_alias"; then
1266 cross_compiling=yes
1267 fi
1268fi
1269
1270ac_tool_prefix=
1271test -n "$host_alias" && ac_tool_prefix=$host_alias-
1272
1273test "$silent" = yes && exec 6>/dev/null
1274
1275
1276ac_pwd=`pwd` && test -n "$ac_pwd" &&
1277ac_ls_di=`ls -di .` &&
1278ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1279 as_fn_error $? "working directory cannot be determined"
1280test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1281 as_fn_error $? "pwd does not report name of working directory"
1282
1283
1284# Find the source files, if location was not specified.
1285if test -z "$srcdir"; then
1286 ac_srcdir_defaulted=yes
1287 # Try the directory containing this script, then the parent directory.
1288 ac_confdir=`$as_dirname -- "$as_myself" ||
1289$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
1290 X"$as_myself" : 'X\(//\)[^/]' \| \
1291 X"$as_myself" : 'X\(//\)$' \| \
1292 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
1293$as_echo X"$as_myself" |
1294 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
1295 s//\1/
1296 q
1297 }
1298 /^X\(\/\/\)[^/].*/{
1299 s//\1/
1300 q
1301 }
1302 /^X\(\/\/\)$/{
1303 s//\1/
1304 q
1305 }
1306 /^X\(\/\).*/{
1307 s//\1/
1308 q
1309 }
1310 s/.*/./; q'`
1311 srcdir=$ac_confdir
1312 if test ! -r "$srcdir/$ac_unique_file"; then
1313 srcdir=..
1314 fi
1315else
1316 ac_srcdir_defaulted=no
1317fi
1318if test ! -r "$srcdir/$ac_unique_file"; then
1319 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1320 as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
1321fi
1322ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1323ac_abs_confdir=`(
1324 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
1325 pwd)`
1326# When building in place, set srcdir=.
1327if test "$ac_abs_confdir" = "$ac_pwd"; then
1328 srcdir=.
1329fi
1330# Remove unnecessary trailing slashes from srcdir.
1331# Double slashes in file names in object file debugging info
1332# mess up M-x gdb in Emacs.
1333case $srcdir in
1334*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
1335esac
1336for ac_var in $ac_precious_vars; do
1337 eval ac_env_${ac_var}_set=\${${ac_var}+set}
1338 eval ac_env_${ac_var}_value=\$${ac_var}
1339 eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
1340 eval ac_cv_env_${ac_var}_value=\$${ac_var}
1341done
1342
1343#
1344# Report the --help message.
1345#
1346if test "$ac_init_help" = "long"; then
1347 # Omit some internal or obsolete options to make the list less imposing.
1348 # This message is too long to be a string in the A/UX 3.1 sh.
1349 cat <<_ACEOF
1350\`configure' configures OpenSSH Portable to adapt to many kinds of systems.
1351
1352Usage: $0 [OPTION]... [VAR=VALUE]...
1353
1354To assign environment variables (e.g., CC, CFLAGS...), specify them as
1355VAR=VALUE. See below for descriptions of some of the useful variables.
1356
1357Defaults for the options are specified in brackets.
1358
1359Configuration:
1360 -h, --help display this help and exit
1361 --help=short display options specific to this package
1362 --help=recursive display the short help of all the included packages
1363 -V, --version display version information and exit
1364 -q, --quiet, --silent do not print \`checking ...' messages
1365 --cache-file=FILE cache test results in FILE [disabled]
1366 -C, --config-cache alias for \`--cache-file=config.cache'
1367 -n, --no-create do not create output files
1368 --srcdir=DIR find the sources in DIR [configure dir or \`..']
1369
1370Installation directories:
1371 --prefix=PREFIX install architecture-independent files in PREFIX
1372 [$ac_default_prefix]
1373 --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
1374 [PREFIX]
1375
1376By default, \`make install' will install all the files in
1377\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
1378an installation prefix other than \`$ac_default_prefix' using \`--prefix',
1379for instance \`--prefix=\$HOME'.
1380
1381For better control, use the options below.
1382
1383Fine tuning of the installation directories:
1384 --bindir=DIR user executables [EPREFIX/bin]
1385 --sbindir=DIR system admin executables [EPREFIX/sbin]
1386 --libexecdir=DIR program executables [EPREFIX/libexec]
1387 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
1388 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
1389 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
1390 --libdir=DIR object code libraries [EPREFIX/lib]
1391 --includedir=DIR C header files [PREFIX/include]
1392 --oldincludedir=DIR C header files for non-gcc [/usr/include]
1393 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
1394 --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
1395 --infodir=DIR info documentation [DATAROOTDIR/info]
1396 --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
1397 --mandir=DIR man documentation [DATAROOTDIR/man]
1398 --docdir=DIR documentation root [DATAROOTDIR/doc/openssh]
1399 --htmldir=DIR html documentation [DOCDIR]
1400 --dvidir=DIR dvi documentation [DOCDIR]
1401 --pdfdir=DIR pdf documentation [DOCDIR]
1402 --psdir=DIR ps documentation [DOCDIR]
1403_ACEOF
1404
1405 cat <<\_ACEOF
1406
1407System types:
1408 --build=BUILD configure for building on BUILD [guessed]
1409 --host=HOST cross-compile to build programs to run on HOST [BUILD]
1410_ACEOF
1411fi
1412
1413if test -n "$ac_init_help"; then
1414 case $ac_init_help in
1415 short | recursive ) echo "Configuration of OpenSSH Portable:";;
1416 esac
1417 cat <<\_ACEOF
1418
1419Optional Features:
1420 --disable-option-checking ignore unrecognized --enable/--with options
1421 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
1422 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
1423 --disable-largefile omit support for large files
1424 --disable-pkcs11 disable PKCS#11 support code [no]
1425 --disable-security-key disable U2F/FIDO support code no
1426 --disable-strip Disable calling strip(1) on install
1427 --disable-etc-default-login Disable using PATH from /etc/default/login no
1428 --disable-lastlog disable use of lastlog even if detected no
1429 --disable-utmp disable use of utmp even if detected no
1430 --disable-utmpx disable use of utmpx even if detected no
1431 --disable-wtmp disable use of wtmp even if detected no
1432 --disable-wtmpx disable use of wtmpx even if detected no
1433 --disable-libutil disable use of libutil (login() etc.) no
1434 --disable-pututline disable use of pututline() etc. (uwtmp) no
1435 --disable-pututxline disable use of pututxline() etc. (uwtmpx) no
1436
1437Optional Packages:
1438 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
1439 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
1440 --without-openssl Disable use of OpenSSL; use only limited internal crypto **EXPERIMENTAL**
1441 --without-stackprotect Don't use compiler's stack protection
1442 --without-hardening Don't use toolchain hardening flags
1443 --without-rpath Disable auto-added -R linker paths
1444 --with-cflags Specify additional flags to pass to compiler
1445 --with-cflags-after Specify additional flags to pass to compiler after configure
1446 --with-cppflags Specify additional flags to pass to preprocessor
1447 --with-ldflags Specify additional flags to pass to linker
1448 --with-ldflags-after Specify additional flags to pass to linker after configure
1449 --with-libs Specify additional libraries to link with
1450 --with-Werror Build main code with -Werror
1451 --with-solaris-contracts Enable Solaris process contracts (experimental)
1452 --with-solaris-projects Enable Solaris projects (experimental)
1453 --with-solaris-privs Enable Solaris/Illumos privileges (experimental)
1454 --with-osfsia Enable Digital Unix SIA
1455 --with-zlib=PATH Use zlib in PATH
1456 --without-zlib-version-check Disable zlib version check
1457 --with-ldns[=PATH] Use ldns for DNSSEC support (optionally in PATH)
1458 --with-libedit[=PATH] Enable libedit support for sftp
1459 --with-audit=module Enable audit support (modules=debug,bsm,linux)
1460 --with-pie Build Position Independent Executables if possible
1461 --with-security-key-builtin include builtin U2F/FIDO support
1462 --with-ssl-dir=PATH Specify path to OpenSSL installation
1463 --without-openssl-header-check Disable OpenSSL version consistency check
1464 --with-ssl-engine Enable OpenSSL (hardware) ENGINE support
1465 --with-prngd-port=PORT read entropy from PRNGD/EGD TCP localhost:PORT
1466 --with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE (default=/var/run/egd-pool)
1467 --with-pam Enable PAM support
1468 --with-pam-service=name Specify PAM service name
1469 --with-privsep-user=user Specify non-privileged user for privilege separation
1470 --with-sandbox=style Specify privilege separation sandbox (no, capsicum, darwin, rlimit, seccomp_filter, systrace, pledge)
1471 --with-selinux Enable SELinux support
1472 --with-kerberos5=PATH Enable Kerberos 5 support
1473 --with-privsep-path=xxx Path for privilege separation chroot (default=/var/empty)
1474 --with-xauth=PATH Specify path to xauth program
1475 --with-maildir=/path/to/mail Specify your system mail directory
1476 --with-mantype=man|cat|doc Set man page type
1477 --with-md5-passwords Enable use of MD5 passwords
1478 --without-shadow Disable shadow password support
1479 --with-ipaddr-display Use ip address instead of hostname in $DISPLAY
1480 --with-default-path= Specify default $PATH environment for server
1481 --with-superuser-path= Specify different path for super-user
1482 --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses
1483 --with-bsd-auth Enable BSD auth support
1484 --with-pid-dir=PATH Specify location of sshd.pid file
1485 --with-lastlog=FILE|DIR specify lastlog location common locations
1486
1487Some influential environment variables:
1488 CC C compiler command
1489 CFLAGS C compiler flags
1490 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
1491 nonstandard directory <lib dir>
1492 LIBS libraries to pass to the linker, e.g. -l<library>
1493 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
1494 you have headers in a nonstandard directory <include dir>
1495 CPP C preprocessor
1496
1497Use these variables to override the choices made by `configure' or to help
1498it to find libraries and programs with nonstandard names/locations.
1499
1500Report bugs to <openssh-unix-dev@mindrot.org>.
1501_ACEOF
1502ac_status=$?
1503fi
1504
1505if test "$ac_init_help" = "recursive"; then
1506 # If there are subdirs, report their specific --help.
1507 for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
1508 test -d "$ac_dir" ||
1509 { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
1510 continue
1511 ac_builddir=.
1512
1513case "$ac_dir" in
1514.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
1515*)
1516 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
1517 # A ".." for each directory in $ac_dir_suffix.
1518 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
1519 case $ac_top_builddir_sub in
1520 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
1521 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
1522 esac ;;
1523esac
1524ac_abs_top_builddir=$ac_pwd
1525ac_abs_builddir=$ac_pwd$ac_dir_suffix
1526# for backward compatibility:
1527ac_top_builddir=$ac_top_build_prefix
1528
1529case $srcdir in
1530 .) # We are building in place.
1531 ac_srcdir=.
1532 ac_top_srcdir=$ac_top_builddir_sub
1533 ac_abs_top_srcdir=$ac_pwd ;;
1534 [\\/]* | ?:[\\/]* ) # Absolute name.
1535 ac_srcdir=$srcdir$ac_dir_suffix;
1536 ac_top_srcdir=$srcdir
1537 ac_abs_top_srcdir=$srcdir ;;
1538 *) # Relative name.
1539 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
1540 ac_top_srcdir=$ac_top_build_prefix$srcdir
1541 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
1542esac
1543ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
1544
1545 cd "$ac_dir" || { ac_status=$?; continue; }
1546 # Check for guested configure.
1547 if test -f "$ac_srcdir/configure.gnu"; then
1548 echo &&
1549 $SHELL "$ac_srcdir/configure.gnu" --help=recursive
1550 elif test -f "$ac_srcdir/configure"; then
1551 echo &&
1552 $SHELL "$ac_srcdir/configure" --help=recursive
1553 else
1554 $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
1555 fi || ac_status=$?
1556 cd "$ac_pwd" || { ac_status=$?; break; }
1557 done
1558fi
1559
1560test -n "$ac_init_help" && exit $ac_status
1561if $ac_init_version; then
1562 cat <<\_ACEOF
1563OpenSSH configure Portable
1564generated by GNU Autoconf 2.69
1565
1566Copyright (C) 2012 Free Software Foundation, Inc.
1567This configure script is free software; the Free Software Foundation
1568gives unlimited permission to copy, distribute and modify it.
1569_ACEOF
1570 exit
1571fi
1572
1573## ------------------------ ##
1574## Autoconf initialization. ##
1575## ------------------------ ##
1576
1577# ac_fn_c_try_compile LINENO
1578# --------------------------
1579# Try to compile conftest.$ac_ext, and return whether this succeeded.
1580ac_fn_c_try_compile ()
1581{
1582 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1583 rm -f conftest.$ac_objext
1584 if { { ac_try="$ac_compile"
1585case "(($ac_try" in
1586 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1587 *) ac_try_echo=$ac_try;;
1588esac
1589eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1590$as_echo "$ac_try_echo"; } >&5
1591 (eval "$ac_compile") 2>conftest.err
1592 ac_status=$?
1593 if test -s conftest.err; then
1594 grep -v '^ *+' conftest.err >conftest.er1
1595 cat conftest.er1 >&5
1596 mv -f conftest.er1 conftest.err
1597 fi
1598 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1599 test $ac_status = 0; } && {
1600 test -z "$ac_c_werror_flag" ||
1601 test ! -s conftest.err
1602 } && test -s conftest.$ac_objext; then :
1603 ac_retval=0
1604else
1605 $as_echo "$as_me: failed program was:" >&5
1606sed 's/^/| /' conftest.$ac_ext >&5
1607
1608 ac_retval=1
1609fi
1610 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1611 as_fn_set_status $ac_retval
1612
1613} # ac_fn_c_try_compile
1614
1615# ac_fn_c_try_run LINENO
1616# ----------------------
1617# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
1618# that executables *can* be run.
1619ac_fn_c_try_run ()
1620{
1621 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1622 if { { ac_try="$ac_link"
1623case "(($ac_try" in
1624 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1625 *) ac_try_echo=$ac_try;;
1626esac
1627eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1628$as_echo "$ac_try_echo"; } >&5
1629 (eval "$ac_link") 2>&5
1630 ac_status=$?
1631 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1632 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
1633 { { case "(($ac_try" in
1634 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1635 *) ac_try_echo=$ac_try;;
1636esac
1637eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1638$as_echo "$ac_try_echo"; } >&5
1639 (eval "$ac_try") 2>&5
1640 ac_status=$?
1641 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1642 test $ac_status = 0; }; }; then :
1643 ac_retval=0
1644else
1645 $as_echo "$as_me: program exited with status $ac_status" >&5
1646 $as_echo "$as_me: failed program was:" >&5
1647sed 's/^/| /' conftest.$ac_ext >&5
1648
1649 ac_retval=$ac_status
1650fi
1651 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1652 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1653 as_fn_set_status $ac_retval
1654
1655} # ac_fn_c_try_run
1656
1657# ac_fn_c_try_cpp LINENO
1658# ----------------------
1659# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1660ac_fn_c_try_cpp ()
1661{
1662 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1663 if { { ac_try="$ac_cpp conftest.$ac_ext"
1664case "(($ac_try" in
1665 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1666 *) ac_try_echo=$ac_try;;
1667esac
1668eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1669$as_echo "$ac_try_echo"; } >&5
1670 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
1671 ac_status=$?
1672 if test -s conftest.err; then
1673 grep -v '^ *+' conftest.err >conftest.er1
1674 cat conftest.er1 >&5
1675 mv -f conftest.er1 conftest.err
1676 fi
1677 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1678 test $ac_status = 0; } > conftest.i && {
1679 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
1680 test ! -s conftest.err
1681 }; then :
1682 ac_retval=0
1683else
1684 $as_echo "$as_me: failed program was:" >&5
1685sed 's/^/| /' conftest.$ac_ext >&5
1686
1687 ac_retval=1
1688fi
1689 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1690 as_fn_set_status $ac_retval
1691
1692} # ac_fn_c_try_cpp
1693
1694# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
1695# -------------------------------------------------------
1696# Tests whether HEADER exists and can be compiled using the include files in
1697# INCLUDES, setting the cache variable VAR accordingly.
1698ac_fn_c_check_header_compile ()
1699{
1700 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1701 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1702$as_echo_n "checking for $2... " >&6; }
1703if eval \${$3+:} false; then :
1704 $as_echo_n "(cached) " >&6
1705else
1706 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1707/* end confdefs.h. */
1708$4
1709#include <$2>
1710_ACEOF
1711if ac_fn_c_try_compile "$LINENO"; then :
1712 eval "$3=yes"
1713else
1714 eval "$3=no"
1715fi
1716rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1717fi
1718eval ac_res=\$$3
1719 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1720$as_echo "$ac_res" >&6; }
1721 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1722
1723} # ac_fn_c_check_header_compile
1724
1725# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
1726# ---------------------------------------------
1727# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
1728# accordingly.
1729ac_fn_c_check_decl ()
1730{
1731 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1732 as_decl_name=`echo $2|sed 's/ *(.*//'`
1733 as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
1734 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
1735$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
1736if eval \${$3+:} false; then :
1737 $as_echo_n "(cached) " >&6
1738else
1739 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1740/* end confdefs.h. */
1741$4
1742int
1743main ()
1744{
1745#ifndef $as_decl_name
1746#ifdef __cplusplus
1747 (void) $as_decl_use;
1748#else
1749 (void) $as_decl_name;
1750#endif
1751#endif
1752
1753 ;
1754 return 0;
1755}
1756_ACEOF
1757if ac_fn_c_try_compile "$LINENO"; then :
1758 eval "$3=yes"
1759else
1760 eval "$3=no"
1761fi
1762rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1763fi
1764eval ac_res=\$$3
1765 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1766$as_echo "$ac_res" >&6; }
1767 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1768
1769} # ac_fn_c_check_decl
1770
1771# ac_fn_c_try_link LINENO
1772# -----------------------
1773# Try to link conftest.$ac_ext, and return whether this succeeded.
1774ac_fn_c_try_link ()
1775{
1776 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1777 rm -f conftest.$ac_objext conftest$ac_exeext
1778 if { { ac_try="$ac_link"
1779case "(($ac_try" in
1780 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1781 *) ac_try_echo=$ac_try;;
1782esac
1783eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1784$as_echo "$ac_try_echo"; } >&5
1785 (eval "$ac_link") 2>conftest.err
1786 ac_status=$?
1787 if test -s conftest.err; then
1788 grep -v '^ *+' conftest.err >conftest.er1
1789 cat conftest.er1 >&5
1790 mv -f conftest.er1 conftest.err
1791 fi
1792 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1793 test $ac_status = 0; } && {
1794 test -z "$ac_c_werror_flag" ||
1795 test ! -s conftest.err
1796 } && test -s conftest$ac_exeext && {
1797 test "$cross_compiling" = yes ||
1798 test -x conftest$ac_exeext
1799 }; then :
1800 ac_retval=0
1801else
1802 $as_echo "$as_me: failed program was:" >&5
1803sed 's/^/| /' conftest.$ac_ext >&5
1804
1805 ac_retval=1
1806fi
1807 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1808 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1809 # interfere with the next link command; also delete a directory that is
1810 # left behind by Apple's compiler. We do this before executing the actions.
1811 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1812 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1813 as_fn_set_status $ac_retval
1814
1815} # ac_fn_c_try_link
1816
1817# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
1818# -------------------------------------------------------
1819# Tests whether HEADER exists, giving a warning if it cannot be compiled using
1820# the include files in INCLUDES and setting the cache variable VAR
1821# accordingly.
1822ac_fn_c_check_header_mongrel ()
1823{
1824 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1825 if eval \${$3+:} false; then :
1826 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1827$as_echo_n "checking for $2... " >&6; }
1828if eval \${$3+:} false; then :
1829 $as_echo_n "(cached) " >&6
1830fi
1831eval ac_res=\$$3
1832 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1833$as_echo "$ac_res" >&6; }
1834else
1835 # Is the header compilable?
1836{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
1837$as_echo_n "checking $2 usability... " >&6; }
1838cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1839/* end confdefs.h. */
1840$4
1841#include <$2>
1842_ACEOF
1843if ac_fn_c_try_compile "$LINENO"; then :
1844 ac_header_compiler=yes
1845else
1846 ac_header_compiler=no
1847fi
1848rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1849{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
1850$as_echo "$ac_header_compiler" >&6; }
1851
1852# Is the header present?
1853{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
1854$as_echo_n "checking $2 presence... " >&6; }
1855cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1856/* end confdefs.h. */
1857#include <$2>
1858_ACEOF
1859if ac_fn_c_try_cpp "$LINENO"; then :
1860 ac_header_preproc=yes
1861else
1862 ac_header_preproc=no
1863fi
1864rm -f conftest.err conftest.i conftest.$ac_ext
1865{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
1866$as_echo "$ac_header_preproc" >&6; }
1867
1868# So? What about this header?
1869case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
1870 yes:no: )
1871 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
1872$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
1873 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1874$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1875 ;;
1876 no:yes:* )
1877 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
1878$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
1879 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
1880$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
1881 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
1882$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
1883 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
1884$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
1885 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1886$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1887( $as_echo "## ------------------------------------------- ##
1888## Report this to openssh-unix-dev@mindrot.org ##
1889## ------------------------------------------- ##"
1890 ) | sed "s/^/$as_me: WARNING: /" >&2
1891 ;;
1892esac
1893 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1894$as_echo_n "checking for $2... " >&6; }
1895if eval \${$3+:} false; then :
1896 $as_echo_n "(cached) " >&6
1897else
1898 eval "$3=\$ac_header_compiler"
1899fi
1900eval ac_res=\$$3
1901 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1902$as_echo "$ac_res" >&6; }
1903fi
1904 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1905
1906} # ac_fn_c_check_header_mongrel
1907
1908# ac_fn_c_check_func LINENO FUNC VAR
1909# ----------------------------------
1910# Tests whether FUNC exists, setting the cache variable VAR accordingly
1911ac_fn_c_check_func ()
1912{
1913 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1914 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1915$as_echo_n "checking for $2... " >&6; }
1916if eval \${$3+:} false; then :
1917 $as_echo_n "(cached) " >&6
1918else
1919 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1920/* end confdefs.h. */
1921/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
1922 For example, HP-UX 11i <limits.h> declares gettimeofday. */
1923#define $2 innocuous_$2
1924
1925/* System header to define __stub macros and hopefully few prototypes,
1926 which can conflict with char $2 (); below.
1927 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
1928 <limits.h> exists even on freestanding compilers. */
1929
1930#ifdef __STDC__
1931# include <limits.h>
1932#else
1933# include <assert.h>
1934#endif
1935
1936#undef $2
1937
1938/* Override any GCC internal prototype to avoid an error.
1939 Use char because int might match the return type of a GCC
1940 builtin and then its argument prototype would still apply. */
1941#ifdef __cplusplus
1942extern "C"
1943#endif
1944char $2 ();
1945/* The GNU C library defines this for functions which it implements
1946 to always fail with ENOSYS. Some functions are actually named
1947 something starting with __ and the normal name is an alias. */
1948#if defined __stub_$2 || defined __stub___$2
1949choke me
1950#endif
1951
1952int
1953main ()
1954{
1955return $2 ();
1956 ;
1957 return 0;
1958}
1959_ACEOF
1960if ac_fn_c_try_link "$LINENO"; then :
1961 eval "$3=yes"
1962else
1963 eval "$3=no"
1964fi
1965rm -f core conftest.err conftest.$ac_objext \
1966 conftest$ac_exeext conftest.$ac_ext
1967fi
1968eval ac_res=\$$3
1969 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1970$as_echo "$ac_res" >&6; }
1971 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1972
1973} # ac_fn_c_check_func
1974
1975# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
1976# -------------------------------------------
1977# Tests whether TYPE exists after having included INCLUDES, setting cache
1978# variable VAR accordingly.
1979ac_fn_c_check_type ()
1980{
1981 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1982 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1983$as_echo_n "checking for $2... " >&6; }
1984if eval \${$3+:} false; then :
1985 $as_echo_n "(cached) " >&6
1986else
1987 eval "$3=no"
1988 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1989/* end confdefs.h. */
1990$4
1991int
1992main ()
1993{
1994if (sizeof ($2))
1995 return 0;
1996 ;
1997 return 0;
1998}
1999_ACEOF
2000if ac_fn_c_try_compile "$LINENO"; then :
2001 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2002/* end confdefs.h. */
2003$4
2004int
2005main ()
2006{
2007if (sizeof (($2)))
2008 return 0;
2009 ;
2010 return 0;
2011}
2012_ACEOF
2013if ac_fn_c_try_compile "$LINENO"; then :
2014
2015else
2016 eval "$3=yes"
2017fi
2018rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2019fi
2020rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2021fi
2022eval ac_res=\$$3
2023 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2024$as_echo "$ac_res" >&6; }
2025 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2026
2027} # ac_fn_c_check_type
2028
2029# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
2030# --------------------------------------------
2031# Tries to find the compile-time value of EXPR in a program that includes
2032# INCLUDES, setting VAR accordingly. Returns whether the value could be
2033# computed
2034ac_fn_c_compute_int ()
2035{
2036 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2037 if test "$cross_compiling" = yes; then
2038 # Depending upon the size, compute the lo and hi bounds.
2039cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2040/* end confdefs.h. */
2041$4
2042int
2043main ()
2044{
2045static int test_array [1 - 2 * !(($2) >= 0)];
2046test_array [0] = 0;
2047return test_array [0];
2048
2049 ;
2050 return 0;
2051}
2052_ACEOF
2053if ac_fn_c_try_compile "$LINENO"; then :
2054 ac_lo=0 ac_mid=0
2055 while :; do
2056 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2057/* end confdefs.h. */
2058$4
2059int
2060main ()
2061{
2062static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2063test_array [0] = 0;
2064return test_array [0];
2065
2066 ;
2067 return 0;
2068}
2069_ACEOF
2070if ac_fn_c_try_compile "$LINENO"; then :
2071 ac_hi=$ac_mid; break
2072else
2073 as_fn_arith $ac_mid + 1 && ac_lo=$as_val
2074 if test $ac_lo -le $ac_mid; then
2075 ac_lo= ac_hi=
2076 break
2077 fi
2078 as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
2079fi
2080rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2081 done
2082else
2083 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2084/* end confdefs.h. */
2085$4
2086int
2087main ()
2088{
2089static int test_array [1 - 2 * !(($2) < 0)];
2090test_array [0] = 0;
2091return test_array [0];
2092
2093 ;
2094 return 0;
2095}
2096_ACEOF
2097if ac_fn_c_try_compile "$LINENO"; then :
2098 ac_hi=-1 ac_mid=-1
2099 while :; do
2100 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2101/* end confdefs.h. */
2102$4
2103int
2104main ()
2105{
2106static int test_array [1 - 2 * !(($2) >= $ac_mid)];
2107test_array [0] = 0;
2108return test_array [0];
2109
2110 ;
2111 return 0;
2112}
2113_ACEOF
2114if ac_fn_c_try_compile "$LINENO"; then :
2115 ac_lo=$ac_mid; break
2116else
2117 as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
2118 if test $ac_mid -le $ac_hi; then
2119 ac_lo= ac_hi=
2120 break
2121 fi
2122 as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
2123fi
2124rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2125 done
2126else
2127 ac_lo= ac_hi=
2128fi
2129rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2130fi
2131rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2132# Binary search between lo and hi bounds.
2133while test "x$ac_lo" != "x$ac_hi"; do
2134 as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
2135 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2136/* end confdefs.h. */
2137$4
2138int
2139main ()
2140{
2141static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2142test_array [0] = 0;
2143return test_array [0];
2144
2145 ;
2146 return 0;
2147}
2148_ACEOF
2149if ac_fn_c_try_compile "$LINENO"; then :
2150 ac_hi=$ac_mid
2151else
2152 as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
2153fi
2154rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2155done
2156case $ac_lo in #((
2157?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
2158'') ac_retval=1 ;;
2159esac
2160 else
2161 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2162/* end confdefs.h. */
2163$4
2164static long int longval () { return $2; }
2165static unsigned long int ulongval () { return $2; }
2166#include <stdio.h>
2167#include <stdlib.h>
2168int
2169main ()
2170{
2171
2172 FILE *f = fopen ("conftest.val", "w");
2173 if (! f)
2174 return 1;
2175 if (($2) < 0)
2176 {
2177 long int i = longval ();
2178 if (i != ($2))
2179 return 1;
2180 fprintf (f, "%ld", i);
2181 }
2182 else
2183 {
2184 unsigned long int i = ulongval ();
2185 if (i != ($2))
2186 return 1;
2187 fprintf (f, "%lu", i);
2188 }
2189 /* Do not output a trailing newline, as this causes \r\n confusion
2190 on some platforms. */
2191 return ferror (f) || fclose (f) != 0;
2192
2193 ;
2194 return 0;
2195}
2196_ACEOF
2197if ac_fn_c_try_run "$LINENO"; then :
2198 echo >>conftest.val; read $3 <conftest.val; ac_retval=0
2199else
2200 ac_retval=1
2201fi
2202rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
2203 conftest.$ac_objext conftest.beam conftest.$ac_ext
2204rm -f conftest.val
2205
2206 fi
2207 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2208 as_fn_set_status $ac_retval
2209
2210} # ac_fn_c_compute_int
2211
2212# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
2213# ----------------------------------------------------
2214# Tries to find if the field MEMBER exists in type AGGR, after including
2215# INCLUDES, setting cache variable VAR accordingly.
2216ac_fn_c_check_member ()
2217{
2218 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2219 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
2220$as_echo_n "checking for $2.$3... " >&6; }
2221if eval \${$4+:} false; then :
2222 $as_echo_n "(cached) " >&6
2223else
2224 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2225/* end confdefs.h. */
2226$5
2227int
2228main ()
2229{
2230static $2 ac_aggr;
2231if (ac_aggr.$3)
2232return 0;
2233 ;
2234 return 0;
2235}
2236_ACEOF
2237if ac_fn_c_try_compile "$LINENO"; then :
2238 eval "$4=yes"
2239else
2240 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2241/* end confdefs.h. */
2242$5
2243int
2244main ()
2245{
2246static $2 ac_aggr;
2247if (sizeof ac_aggr.$3)
2248return 0;
2249 ;
2250 return 0;
2251}
2252_ACEOF
2253if ac_fn_c_try_compile "$LINENO"; then :
2254 eval "$4=yes"
2255else
2256 eval "$4=no"
2257fi
2258rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2259fi
2260rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2261fi
2262eval ac_res=\$$4
2263 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2264$as_echo "$ac_res" >&6; }
2265 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2266
2267} # ac_fn_c_check_member
2268cat >config.log <<_ACEOF
2269This file contains any messages produced by compilers while
2270running configure, to aid debugging if configure makes a mistake.
2271
2272It was created by OpenSSH $as_me Portable, which was
2273generated by GNU Autoconf 2.69. Invocation command line was
2274
2275 $ $0 $@
2276
2277_ACEOF
2278exec 5>>config.log
2279{
2280cat <<_ASUNAME
2281## --------- ##
2282## Platform. ##
2283## --------- ##
2284
2285hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2286uname -m = `(uname -m) 2>/dev/null || echo unknown`
2287uname -r = `(uname -r) 2>/dev/null || echo unknown`
2288uname -s = `(uname -s) 2>/dev/null || echo unknown`
2289uname -v = `(uname -v) 2>/dev/null || echo unknown`
2290
2291/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2292/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
2293
2294/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
2295/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
2296/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2297/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
2298/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
2299/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
2300/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
2301
2302_ASUNAME
2303
2304as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2305for as_dir in $PATH
2306do
2307 IFS=$as_save_IFS
2308 test -z "$as_dir" && as_dir=.
2309 $as_echo "PATH: $as_dir"
2310 done
2311IFS=$as_save_IFS
2312
2313} >&5
2314
2315cat >&5 <<_ACEOF
2316
2317
2318## ----------- ##
2319## Core tests. ##
2320## ----------- ##
2321
2322_ACEOF
2323
2324
2325# Keep a trace of the command line.
2326# Strip out --no-create and --no-recursion so they do not pile up.
2327# Strip out --silent because we don't want to record it for future runs.
2328# Also quote any args containing shell meta-characters.
2329# Make two passes to allow for proper duplicate-argument suppression.
2330ac_configure_args=
2331ac_configure_args0=
2332ac_configure_args1=
2333ac_must_keep_next=false
2334for ac_pass in 1 2
2335do
2336 for ac_arg
2337 do
2338 case $ac_arg in
2339 -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2340 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2341 | -silent | --silent | --silen | --sile | --sil)
2342 continue ;;
2343 *\'*)
2344 ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2345 esac
2346 case $ac_pass in
2347 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2348 2)
2349 as_fn_append ac_configure_args1 " '$ac_arg'"
2350 if test $ac_must_keep_next = true; then
2351 ac_must_keep_next=false # Got value, back to normal.
2352 else
2353 case $ac_arg in
2354 *=* | --config-cache | -C | -disable-* | --disable-* \
2355 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2356 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2357 | -with-* | --with-* | -without-* | --without-* | --x)
2358 case "$ac_configure_args0 " in
2359 "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2360 esac
2361 ;;
2362 -* ) ac_must_keep_next=true ;;
2363 esac
2364 fi
2365 as_fn_append ac_configure_args " '$ac_arg'"
2366 ;;
2367 esac
2368 done
2369done
2370{ ac_configure_args0=; unset ac_configure_args0;}
2371{ ac_configure_args1=; unset ac_configure_args1;}
2372
2373# When interrupted or exit'd, cleanup temporary files, and complete
2374# config.log. We remove comments because anyway the quotes in there
2375# would cause problems or look ugly.
2376# WARNING: Use '\'' to represent an apostrophe within the trap.
2377# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
2378trap 'exit_status=$?
2379 # Save into config.log some information that might help in debugging.
2380 {
2381 echo
2382
2383 $as_echo "## ---------------- ##
2384## Cache variables. ##
2385## ---------------- ##"
2386 echo
2387 # The following way of writing the cache mishandles newlines in values,
2388(
2389 for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
2390 eval ac_val=\$$ac_var
2391 case $ac_val in #(
2392 *${as_nl}*)
2393 case $ac_var in #(
2394 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
2395$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2396 esac
2397 case $ac_var in #(
2398 _ | IFS | as_nl) ;; #(
2399 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
2400 *) { eval $ac_var=; unset $ac_var;} ;;
2401 esac ;;
2402 esac
2403 done
2404 (set) 2>&1 |
2405 case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
2406 *${as_nl}ac_space=\ *)
2407 sed -n \
2408 "s/'\''/'\''\\\\'\'''\''/g;
2409 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
2410 ;; #(
2411 *)
2412 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
2413 ;;
2414 esac |
2415 sort
2416)
2417 echo
2418
2419 $as_echo "## ----------------- ##
2420## Output variables. ##
2421## ----------------- ##"
2422 echo
2423 for ac_var in $ac_subst_vars
2424 do
2425 eval ac_val=\$$ac_var
2426 case $ac_val in
2427 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2428 esac
2429 $as_echo "$ac_var='\''$ac_val'\''"
2430 done | sort
2431 echo
2432
2433 if test -n "$ac_subst_files"; then
2434 $as_echo "## ------------------- ##
2435## File substitutions. ##
2436## ------------------- ##"
2437 echo
2438 for ac_var in $ac_subst_files
2439 do
2440 eval ac_val=\$$ac_var
2441 case $ac_val in
2442 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2443 esac
2444 $as_echo "$ac_var='\''$ac_val'\''"
2445 done | sort
2446 echo
2447 fi
2448
2449 if test -s confdefs.h; then
2450 $as_echo "## ----------- ##
2451## confdefs.h. ##
2452## ----------- ##"
2453 echo
2454 cat confdefs.h
2455 echo
2456 fi
2457 test "$ac_signal" != 0 &&
2458 $as_echo "$as_me: caught signal $ac_signal"
2459 $as_echo "$as_me: exit $exit_status"
2460 } >&5
2461 rm -f core *.core core.conftest.* &&
2462 rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
2463 exit $exit_status
2464' 0
2465for ac_signal in 1 2 13 15; do
2466 trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
2467done
2468ac_signal=0
2469
2470# confdefs.h avoids OS command line length limits that DEFS can exceed.
2471rm -f -r conftest* confdefs.h
2472
2473$as_echo "/* confdefs.h */" > confdefs.h
2474
2475# Predefined preprocessor variables.
2476
2477cat >>confdefs.h <<_ACEOF
2478#define PACKAGE_NAME "$PACKAGE_NAME"
2479_ACEOF
2480
2481cat >>confdefs.h <<_ACEOF
2482#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
2483_ACEOF
2484
2485cat >>confdefs.h <<_ACEOF
2486#define PACKAGE_VERSION "$PACKAGE_VERSION"
2487_ACEOF
2488
2489cat >>confdefs.h <<_ACEOF
2490#define PACKAGE_STRING "$PACKAGE_STRING"
2491_ACEOF
2492
2493cat >>confdefs.h <<_ACEOF
2494#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
2495_ACEOF
2496
2497cat >>confdefs.h <<_ACEOF
2498#define PACKAGE_URL "$PACKAGE_URL"
2499_ACEOF
2500
2501
2502# Let the site file select an alternate cache file if it wants to.
2503# Prefer an explicitly selected file to automatically selected ones.
2504ac_site_file1=NONE
2505ac_site_file2=NONE
2506if test -n "$CONFIG_SITE"; then
2507 # We do not want a PATH search for config.site.
2508 case $CONFIG_SITE in #((
2509 -*) ac_site_file1=./$CONFIG_SITE;;
2510 */*) ac_site_file1=$CONFIG_SITE;;
2511 *) ac_site_file1=./$CONFIG_SITE;;
2512 esac
2513elif test "x$prefix" != xNONE; then
2514 ac_site_file1=$prefix/share/config.site
2515 ac_site_file2=$prefix/etc/config.site
2516else
2517 ac_site_file1=$ac_default_prefix/share/config.site
2518 ac_site_file2=$ac_default_prefix/etc/config.site
2519fi
2520for ac_site_file in "$ac_site_file1" "$ac_site_file2"
2521do
2522 test "x$ac_site_file" = xNONE && continue
2523 if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
2524 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
2525$as_echo "$as_me: loading site script $ac_site_file" >&6;}
2526 sed 's/^/| /' "$ac_site_file" >&5
2527 . "$ac_site_file" \
2528 || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2529$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2530as_fn_error $? "failed to load site script $ac_site_file
2531See \`config.log' for more details" "$LINENO" 5; }
2532 fi
2533done
2534
2535if test -r "$cache_file"; then
2536 # Some versions of bash will fail to source /dev/null (special files
2537 # actually), so we avoid doing that. DJGPP emulates it as a regular file.
2538 if test /dev/null != "$cache_file" && test -f "$cache_file"; then
2539 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
2540$as_echo "$as_me: loading cache $cache_file" >&6;}
2541 case $cache_file in
2542 [\\/]* | ?:[\\/]* ) . "$cache_file";;
2543 *) . "./$cache_file";;
2544 esac
2545 fi
2546else
2547 { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
2548$as_echo "$as_me: creating cache $cache_file" >&6;}
2549 >$cache_file
2550fi
2551
2552# Check that the precious variables saved in the cache have kept the same
2553# value.
2554ac_cache_corrupted=false
2555for ac_var in $ac_precious_vars; do
2556 eval ac_old_set=\$ac_cv_env_${ac_var}_set
2557 eval ac_new_set=\$ac_env_${ac_var}_set
2558 eval ac_old_val=\$ac_cv_env_${ac_var}_value
2559 eval ac_new_val=\$ac_env_${ac_var}_value
2560 case $ac_old_set,$ac_new_set in
2561 set,)
2562 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
2563$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
2564 ac_cache_corrupted=: ;;
2565 ,set)
2566 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
2567$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
2568 ac_cache_corrupted=: ;;
2569 ,);;
2570 *)
2571 if test "x$ac_old_val" != "x$ac_new_val"; then
2572 # differences in whitespace do not lead to failure.
2573 ac_old_val_w=`echo x $ac_old_val`
2574 ac_new_val_w=`echo x $ac_new_val`
2575 if test "$ac_old_val_w" != "$ac_new_val_w"; then
2576 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
2577$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
2578 ac_cache_corrupted=:
2579 else
2580 { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
2581$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
2582 eval $ac_var=\$ac_old_val
2583 fi
2584 { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
2585$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
2586 { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
2587$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
2588 fi;;
2589 esac
2590 # Pass precious variables to config.status.
2591 if test "$ac_new_set" = set; then
2592 case $ac_new_val in
2593 *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
2594 *) ac_arg=$ac_var=$ac_new_val ;;
2595 esac
2596 case " $ac_configure_args " in
2597 *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
2598 *) as_fn_append ac_configure_args " '$ac_arg'" ;;
2599 esac
2600 fi
2601done
2602if $ac_cache_corrupted; then
2603 { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2604$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2605 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
2606$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2607 as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
2608fi
2609## -------------------- ##
2610## Main body of script. ##
2611## -------------------- ##
2612
2613ac_ext=c
2614ac_cpp='$CPP $CPPFLAGS'
2615ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2616ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2617ac_compiler_gnu=$ac_cv_c_compiler_gnu
2618
2619
2620
2621
2622ac_ext=c
2623ac_cpp='$CPP $CPPFLAGS'
2624ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2625ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2626ac_compiler_gnu=$ac_cv_c_compiler_gnu
2627
2628
2629ac_config_headers="$ac_config_headers config.h"
2630
2631ac_ext=c
2632ac_cpp='$CPP $CPPFLAGS'
2633ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2634ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2635ac_compiler_gnu=$ac_cv_c_compiler_gnu
2636if test -n "$ac_tool_prefix"; then
2637 for ac_prog in cc gcc
2638 do
2639 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
2640set dummy $ac_tool_prefix$ac_prog; ac_word=$2
2641{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2642$as_echo_n "checking for $ac_word... " >&6; }
2643if ${ac_cv_prog_CC+:} false; then :
2644 $as_echo_n "(cached) " >&6
2645else
2646 if test -n "$CC"; then
2647 ac_cv_prog_CC="$CC" # Let the user override the test.
2648else
2649as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2650for as_dir in $PATH
2651do
2652 IFS=$as_save_IFS
2653 test -z "$as_dir" && as_dir=.
2654 for ac_exec_ext in '' $ac_executable_extensions; do
2655 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2656 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
2657 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2658 break 2
2659 fi
2660done
2661 done
2662IFS=$as_save_IFS
2663
2664fi
2665fi
2666CC=$ac_cv_prog_CC
2667if test -n "$CC"; then
2668 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
2669$as_echo "$CC" >&6; }
2670else
2671 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2672$as_echo "no" >&6; }
2673fi
2674
2675
2676 test -n "$CC" && break
2677 done
2678fi
2679if test -z "$CC"; then
2680 ac_ct_CC=$CC
2681 for ac_prog in cc gcc
2682do
2683 # Extract the first word of "$ac_prog", so it can be a program name with args.
2684set dummy $ac_prog; ac_word=$2
2685{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2686$as_echo_n "checking for $ac_word... " >&6; }
2687if ${ac_cv_prog_ac_ct_CC+:} false; then :
2688 $as_echo_n "(cached) " >&6
2689else
2690 if test -n "$ac_ct_CC"; then
2691 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
2692else
2693as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2694for as_dir in $PATH
2695do
2696 IFS=$as_save_IFS
2697 test -z "$as_dir" && as_dir=.
2698 for ac_exec_ext in '' $ac_executable_extensions; do
2699 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2700 ac_cv_prog_ac_ct_CC="$ac_prog"
2701 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2702 break 2
2703 fi
2704done
2705 done
2706IFS=$as_save_IFS
2707
2708fi
2709fi
2710ac_ct_CC=$ac_cv_prog_ac_ct_CC
2711if test -n "$ac_ct_CC"; then
2712 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
2713$as_echo "$ac_ct_CC" >&6; }
2714else
2715 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2716$as_echo "no" >&6; }
2717fi
2718
2719
2720 test -n "$ac_ct_CC" && break
2721done
2722
2723 if test "x$ac_ct_CC" = x; then
2724 CC=""
2725 else
2726 case $cross_compiling:$ac_tool_warned in
2727yes:)
2728{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
2729$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
2730ac_tool_warned=yes ;;
2731esac
2732 CC=$ac_ct_CC
2733 fi
2734fi
2735
2736
2737test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2738$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2739as_fn_error $? "no acceptable C compiler found in \$PATH
2740See \`config.log' for more details" "$LINENO" 5; }
2741
2742# Provide some information about the compiler.
2743$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
2744set X $ac_compile
2745ac_compiler=$2
2746for ac_option in --version -v -V -qversion; do
2747 { { ac_try="$ac_compiler $ac_option >&5"
2748case "(($ac_try" in
2749 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2750 *) ac_try_echo=$ac_try;;
2751esac
2752eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2753$as_echo "$ac_try_echo"; } >&5
2754 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
2755 ac_status=$?
2756 if test -s conftest.err; then
2757 sed '10a\
2758... rest of stderr output deleted ...
2759 10q' conftest.err >conftest.er1
2760 cat conftest.er1 >&5
2761 fi
2762 rm -f conftest.er1 conftest.err
2763 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2764 test $ac_status = 0; }
2765done
2766
2767cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2768/* end confdefs.h. */
2769
2770int
2771main ()
2772{
2773
2774 ;
2775 return 0;
2776}
2777_ACEOF
2778ac_clean_files_save=$ac_clean_files
2779ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
2780# Try to create an executable without -o first, disregard a.out.
2781# It will help us diagnose broken compilers, and finding out an intuition
2782# of exeext.
2783{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
2784$as_echo_n "checking whether the C compiler works... " >&6; }
2785ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
2786
2787# The possible output files:
2788ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
2789
2790ac_rmfiles=
2791for ac_file in $ac_files
2792do
2793 case $ac_file in
2794 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
2795 * ) ac_rmfiles="$ac_rmfiles $ac_file";;
2796 esac
2797done
2798rm -f $ac_rmfiles
2799
2800if { { ac_try="$ac_link_default"
2801case "(($ac_try" in
2802 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2803 *) ac_try_echo=$ac_try;;
2804esac
2805eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2806$as_echo "$ac_try_echo"; } >&5
2807 (eval "$ac_link_default") 2>&5
2808 ac_status=$?
2809 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2810 test $ac_status = 0; }; then :
2811 # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
2812# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
2813# in a Makefile. We should not override ac_cv_exeext if it was cached,
2814# so that the user can short-circuit this test for compilers unknown to
2815# Autoconf.
2816for ac_file in $ac_files ''
2817do
2818 test -f "$ac_file" || continue
2819 case $ac_file in
2820 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
2821 ;;
2822 [ab].out )
2823 # We found the default executable, but exeext='' is most
2824 # certainly right.
2825 break;;
2826 *.* )
2827 if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
2828 then :; else
2829 ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
2830 fi
2831 # We set ac_cv_exeext here because the later test for it is not
2832 # safe: cross compilers may not add the suffix if given an `-o'
2833 # argument, so we may need to know it at that point already.
2834 # Even if this section looks crufty: it has the advantage of
2835 # actually working.
2836 break;;
2837 * )
2838 break;;
2839 esac
2840done
2841test "$ac_cv_exeext" = no && ac_cv_exeext=
2842
2843else
2844 ac_file=''
2845fi
2846if test -z "$ac_file"; then :
2847 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2848$as_echo "no" >&6; }
2849$as_echo "$as_me: failed program was:" >&5
2850sed 's/^/| /' conftest.$ac_ext >&5
2851
2852{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2853$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2854as_fn_error 77 "C compiler cannot create executables
2855See \`config.log' for more details" "$LINENO" 5; }
2856else
2857 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
2858$as_echo "yes" >&6; }
2859fi
2860{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
2861$as_echo_n "checking for C compiler default output file name... " >&6; }
2862{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
2863$as_echo "$ac_file" >&6; }
2864ac_exeext=$ac_cv_exeext
2865
2866rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
2867ac_clean_files=$ac_clean_files_save
2868{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
2869$as_echo_n "checking for suffix of executables... " >&6; }
2870if { { ac_try="$ac_link"
2871case "(($ac_try" in
2872 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2873 *) ac_try_echo=$ac_try;;
2874esac
2875eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2876$as_echo "$ac_try_echo"; } >&5
2877 (eval "$ac_link") 2>&5
2878 ac_status=$?
2879 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2880 test $ac_status = 0; }; then :
2881 # If both `conftest.exe' and `conftest' are `present' (well, observable)
2882# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
2883# work properly (i.e., refer to `conftest.exe'), while it won't with
2884# `rm'.
2885for ac_file in conftest.exe conftest conftest.*; do
2886 test -f "$ac_file" || continue
2887 case $ac_file in
2888 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
2889 *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
2890 break;;
2891 * ) break;;
2892 esac
2893done
2894else
2895 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2896$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2897as_fn_error $? "cannot compute suffix of executables: cannot compile and link
2898See \`config.log' for more details" "$LINENO" 5; }
2899fi
2900rm -f conftest conftest$ac_cv_exeext
2901{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
2902$as_echo "$ac_cv_exeext" >&6; }
2903
2904rm -f conftest.$ac_ext
2905EXEEXT=$ac_cv_exeext
2906ac_exeext=$EXEEXT
2907cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2908/* end confdefs.h. */
2909#include <stdio.h>
2910int
2911main ()
2912{
2913FILE *f = fopen ("conftest.out", "w");
2914 return ferror (f) || fclose (f) != 0;
2915
2916 ;
2917 return 0;
2918}
2919_ACEOF
2920ac_clean_files="$ac_clean_files conftest.out"
2921# Check that the compiler produces executables we can run. If not, either
2922# the compiler is broken, or we cross compile.
2923{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
2924$as_echo_n "checking whether we are cross compiling... " >&6; }
2925if test "$cross_compiling" != yes; then
2926 { { ac_try="$ac_link"
2927case "(($ac_try" in
2928 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2929 *) ac_try_echo=$ac_try;;
2930esac
2931eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2932$as_echo "$ac_try_echo"; } >&5
2933 (eval "$ac_link") 2>&5
2934 ac_status=$?
2935 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2936 test $ac_status = 0; }
2937 if { ac_try='./conftest$ac_cv_exeext'
2938 { { case "(($ac_try" in
2939 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2940 *) ac_try_echo=$ac_try;;
2941esac
2942eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2943$as_echo "$ac_try_echo"; } >&5
2944 (eval "$ac_try") 2>&5
2945 ac_status=$?
2946 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2947 test $ac_status = 0; }; }; then
2948 cross_compiling=no
2949 else
2950 if test "$cross_compiling" = maybe; then
2951 cross_compiling=yes
2952 else
2953 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2954$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2955as_fn_error $? "cannot run C compiled programs.
2956If you meant to cross compile, use \`--host'.
2957See \`config.log' for more details" "$LINENO" 5; }
2958 fi
2959 fi
2960fi
2961{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
2962$as_echo "$cross_compiling" >&6; }
2963
2964rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
2965ac_clean_files=$ac_clean_files_save
2966{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
2967$as_echo_n "checking for suffix of object files... " >&6; }
2968if ${ac_cv_objext+:} false; then :
2969 $as_echo_n "(cached) " >&6
2970else
2971 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2972/* end confdefs.h. */
2973
2974int
2975main ()
2976{
2977
2978 ;
2979 return 0;
2980}
2981_ACEOF
2982rm -f conftest.o conftest.obj
2983if { { ac_try="$ac_compile"
2984case "(($ac_try" in
2985 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2986 *) ac_try_echo=$ac_try;;
2987esac
2988eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2989$as_echo "$ac_try_echo"; } >&5
2990 (eval "$ac_compile") 2>&5
2991 ac_status=$?
2992 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2993 test $ac_status = 0; }; then :
2994 for ac_file in conftest.o conftest.obj conftest.*; do
2995 test -f "$ac_file" || continue;
2996 case $ac_file in
2997 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
2998 *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
2999 break;;
3000 esac
3001done
3002else
3003 $as_echo "$as_me: failed program was:" >&5
3004sed 's/^/| /' conftest.$ac_ext >&5
3005
3006{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3007$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3008as_fn_error $? "cannot compute suffix of object files: cannot compile
3009See \`config.log' for more details" "$LINENO" 5; }
3010fi
3011rm -f conftest.$ac_cv_objext conftest.$ac_ext
3012fi
3013{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
3014$as_echo "$ac_cv_objext" >&6; }
3015OBJEXT=$ac_cv_objext
3016ac_objext=$OBJEXT
3017{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
3018$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
3019if ${ac_cv_c_compiler_gnu+:} false; then :
3020 $as_echo_n "(cached) " >&6
3021else
3022 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3023/* end confdefs.h. */
3024
3025int
3026main ()
3027{
3028#ifndef __GNUC__
3029 choke me
3030#endif
3031
3032 ;
3033 return 0;
3034}
3035_ACEOF
3036if ac_fn_c_try_compile "$LINENO"; then :
3037 ac_compiler_gnu=yes
3038else
3039 ac_compiler_gnu=no
3040fi
3041rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3042ac_cv_c_compiler_gnu=$ac_compiler_gnu
3043
3044fi
3045{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
3046$as_echo "$ac_cv_c_compiler_gnu" >&6; }
3047if test $ac_compiler_gnu = yes; then
3048 GCC=yes
3049else
3050 GCC=
3051fi
3052ac_test_CFLAGS=${CFLAGS+set}
3053ac_save_CFLAGS=$CFLAGS
3054{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
3055$as_echo_n "checking whether $CC accepts -g... " >&6; }
3056if ${ac_cv_prog_cc_g+:} false; then :
3057 $as_echo_n "(cached) " >&6
3058else
3059 ac_save_c_werror_flag=$ac_c_werror_flag
3060 ac_c_werror_flag=yes
3061 ac_cv_prog_cc_g=no
3062 CFLAGS="-g"
3063 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3064/* end confdefs.h. */
3065
3066int
3067main ()
3068{
3069
3070 ;
3071 return 0;
3072}
3073_ACEOF
3074if ac_fn_c_try_compile "$LINENO"; then :
3075 ac_cv_prog_cc_g=yes
3076else
3077 CFLAGS=""
3078 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3079/* end confdefs.h. */
3080
3081int
3082main ()
3083{
3084
3085 ;
3086 return 0;
3087}
3088_ACEOF
3089if ac_fn_c_try_compile "$LINENO"; then :
3090
3091else
3092 ac_c_werror_flag=$ac_save_c_werror_flag
3093 CFLAGS="-g"
3094 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3095/* end confdefs.h. */
3096
3097int
3098main ()
3099{
3100
3101 ;
3102 return 0;
3103}
3104_ACEOF
3105if ac_fn_c_try_compile "$LINENO"; then :
3106 ac_cv_prog_cc_g=yes
3107fi
3108rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3109fi
3110rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3111fi
3112rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3113 ac_c_werror_flag=$ac_save_c_werror_flag
3114fi
3115{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
3116$as_echo "$ac_cv_prog_cc_g" >&6; }
3117if test "$ac_test_CFLAGS" = set; then
3118 CFLAGS=$ac_save_CFLAGS
3119elif test $ac_cv_prog_cc_g = yes; then
3120 if test "$GCC" = yes; then
3121 CFLAGS="-g -O2"
3122 else
3123 CFLAGS="-g"
3124 fi
3125else
3126 if test "$GCC" = yes; then
3127 CFLAGS="-O2"
3128 else
3129 CFLAGS=
3130 fi
3131fi
3132{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
3133$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
3134if ${ac_cv_prog_cc_c89+:} false; then :
3135 $as_echo_n "(cached) " >&6
3136else
3137 ac_cv_prog_cc_c89=no
3138ac_save_CC=$CC
3139cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3140/* end confdefs.h. */
3141#include <stdarg.h>
3142#include <stdio.h>
3143struct stat;
3144/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
3145struct buf { int x; };
3146FILE * (*rcsopen) (struct buf *, struct stat *, int);
3147static char *e (p, i)
3148 char **p;
3149 int i;
3150{
3151 return p[i];
3152}
3153static char *f (char * (*g) (char **, int), char **p, ...)
3154{
3155 char *s;
3156 va_list v;
3157 va_start (v,p);
3158 s = g (p, va_arg (v,int));
3159 va_end (v);
3160 return s;
3161}
3162
3163/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
3164 function prototypes and stuff, but not '\xHH' hex character constants.
3165 These don't provoke an error unfortunately, instead are silently treated
3166 as 'x'. The following induces an error, until -std is added to get
3167 proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
3168 array size at least. It's necessary to write '\x00'==0 to get something
3169 that's true only with -std. */
3170int osf4_cc_array ['\x00' == 0 ? 1 : -1];
3171
3172/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
3173 inside strings and character constants. */
3174#define FOO(x) 'x'
3175int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
3176
3177int test (int i, double x);
3178struct s1 {int (*f) (int a);};
3179struct s2 {int (*f) (double a);};
3180int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
3181int argc;
3182char **argv;
3183int
3184main ()
3185{
3186return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
3187 ;
3188 return 0;
3189}
3190_ACEOF
3191for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
3192 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
3193do
3194 CC="$ac_save_CC $ac_arg"
3195 if ac_fn_c_try_compile "$LINENO"; then :
3196 ac_cv_prog_cc_c89=$ac_arg
3197fi
3198rm -f core conftest.err conftest.$ac_objext
3199 test "x$ac_cv_prog_cc_c89" != "xno" && break
3200done
3201rm -f conftest.$ac_ext
3202CC=$ac_save_CC
3203
3204fi
3205# AC_CACHE_VAL
3206case "x$ac_cv_prog_cc_c89" in
3207 x)
3208 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
3209$as_echo "none needed" >&6; } ;;
3210 xno)
3211 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
3212$as_echo "unsupported" >&6; } ;;
3213 *)
3214 CC="$CC $ac_cv_prog_cc_c89"
3215 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
3216$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
3217esac
3218if test "x$ac_cv_prog_cc_c89" != xno; then :
3219
3220fi
3221
3222ac_ext=c
3223ac_cpp='$CPP $CPPFLAGS'
3224ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3225ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3226ac_compiler_gnu=$ac_cv_c_compiler_gnu
3227
3228ac_aux_dir=
3229for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
3230 if test -f "$ac_dir/install-sh"; then
3231 ac_aux_dir=$ac_dir
3232 ac_install_sh="$ac_aux_dir/install-sh -c"
3233 break
3234 elif test -f "$ac_dir/install.sh"; then
3235 ac_aux_dir=$ac_dir
3236 ac_install_sh="$ac_aux_dir/install.sh -c"
3237 break
3238 elif test -f "$ac_dir/shtool"; then
3239 ac_aux_dir=$ac_dir
3240 ac_install_sh="$ac_aux_dir/shtool install -c"
3241 break
3242 fi
3243done
3244if test -z "$ac_aux_dir"; then
3245 as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
3246fi
3247
3248# These three variables are undocumented and unsupported,
3249# and are intended to be withdrawn in a future Autoconf release.
3250# They can cause serious problems if a builder's source tree is in a directory
3251# whose full name contains unusual characters.
3252ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
3253ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
3254ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
3255
3256
3257# Make sure we can run config.sub.
3258$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
3259 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
3260
3261{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
3262$as_echo_n "checking build system type... " >&6; }
3263if ${ac_cv_build+:} false; then :
3264 $as_echo_n "(cached) " >&6
3265else
3266 ac_build_alias=$build_alias
3267test "x$ac_build_alias" = x &&
3268 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
3269test "x$ac_build_alias" = x &&
3270 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
3271ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
3272 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
3273
3274fi
3275{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
3276$as_echo "$ac_cv_build" >&6; }
3277case $ac_cv_build in
3278*-*-*) ;;
3279*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
3280esac
3281build=$ac_cv_build
3282ac_save_IFS=$IFS; IFS='-'
3283set x $ac_cv_build
3284shift
3285build_cpu=$1
3286build_vendor=$2
3287shift; shift
3288# Remember, the first character of IFS is used to create $*,
3289# except with old shells:
3290build_os=$*
3291IFS=$ac_save_IFS
3292case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
3293
3294
3295{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
3296$as_echo_n "checking host system type... " >&6; }
3297if ${ac_cv_host+:} false; then :
3298 $as_echo_n "(cached) " >&6
3299else
3300 if test "x$host_alias" = x; then
3301 ac_cv_host=$ac_cv_build
3302else
3303 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
3304 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
3305fi
3306
3307fi
3308{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
3309$as_echo "$ac_cv_host" >&6; }
3310case $ac_cv_host in
3311*-*-*) ;;
3312*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
3313esac
3314host=$ac_cv_host
3315ac_save_IFS=$IFS; IFS='-'
3316set x $ac_cv_host
3317shift
3318host_cpu=$1
3319host_vendor=$2
3320shift; shift
3321# Remember, the first character of IFS is used to create $*,
3322# except with old shells:
3323host_os=$*
3324IFS=$ac_save_IFS
3325case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
3326
3327
3328
3329ac_ext=c
3330ac_cpp='$CPP $CPPFLAGS'
3331ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3332ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3333ac_compiler_gnu=$ac_cv_c_compiler_gnu
3334{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
3335$as_echo_n "checking how to run the C preprocessor... " >&6; }
3336# On Suns, sometimes $CPP names a directory.
3337if test -n "$CPP" && test -d "$CPP"; then
3338 CPP=
3339fi
3340if test -z "$CPP"; then
3341 if ${ac_cv_prog_CPP+:} false; then :
3342 $as_echo_n "(cached) " >&6
3343else
3344 # Double quotes because CPP needs to be expanded
3345 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
3346 do
3347 ac_preproc_ok=false
3348for ac_c_preproc_warn_flag in '' yes
3349do
3350 # Use a header file that comes with gcc, so configuring glibc
3351 # with a fresh cross-compiler works.
3352 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
3353 # <limits.h> exists even on freestanding compilers.
3354 # On the NeXT, cc -E runs the code through the compiler's parser,
3355 # not just through cpp. "Syntax error" is here to catch this case.
3356 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3357/* end confdefs.h. */
3358#ifdef __STDC__
3359# include <limits.h>
3360#else
3361# include <assert.h>
3362#endif
3363 Syntax error
3364_ACEOF
3365if ac_fn_c_try_cpp "$LINENO"; then :
3366
3367else
3368 # Broken: fails on valid input.
3369continue
3370fi
3371rm -f conftest.err conftest.i conftest.$ac_ext
3372
3373 # OK, works on sane cases. Now check whether nonexistent headers
3374 # can be detected and how.
3375 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3376/* end confdefs.h. */
3377#include <ac_nonexistent.h>
3378_ACEOF
3379if ac_fn_c_try_cpp "$LINENO"; then :
3380 # Broken: success on invalid input.
3381continue
3382else
3383 # Passes both tests.
3384ac_preproc_ok=:
3385break
3386fi
3387rm -f conftest.err conftest.i conftest.$ac_ext
3388
3389done
3390# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
3391rm -f conftest.i conftest.err conftest.$ac_ext
3392if $ac_preproc_ok; then :
3393 break
3394fi
3395
3396 done
3397 ac_cv_prog_CPP=$CPP
3398
3399fi
3400 CPP=$ac_cv_prog_CPP
3401else
3402 ac_cv_prog_CPP=$CPP
3403fi
3404{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
3405$as_echo "$CPP" >&6; }
3406ac_preproc_ok=false
3407for ac_c_preproc_warn_flag in '' yes
3408do
3409 # Use a header file that comes with gcc, so configuring glibc
3410 # with a fresh cross-compiler works.
3411 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
3412 # <limits.h> exists even on freestanding compilers.
3413 # On the NeXT, cc -E runs the code through the compiler's parser,
3414 # not just through cpp. "Syntax error" is here to catch this case.
3415 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3416/* end confdefs.h. */
3417#ifdef __STDC__
3418# include <limits.h>
3419#else
3420# include <assert.h>
3421#endif
3422 Syntax error
3423_ACEOF
3424if ac_fn_c_try_cpp "$LINENO"; then :
3425
3426else
3427 # Broken: fails on valid input.
3428continue
3429fi
3430rm -f conftest.err conftest.i conftest.$ac_ext
3431
3432 # OK, works on sane cases. Now check whether nonexistent headers
3433 # can be detected and how.
3434 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3435/* end confdefs.h. */
3436#include <ac_nonexistent.h>
3437_ACEOF
3438if ac_fn_c_try_cpp "$LINENO"; then :
3439 # Broken: success on invalid input.
3440continue
3441else
3442 # Passes both tests.
3443ac_preproc_ok=:
3444break
3445fi
3446rm -f conftest.err conftest.i conftest.$ac_ext
3447
3448done
3449# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
3450rm -f conftest.i conftest.err conftest.$ac_ext
3451if $ac_preproc_ok; then :
3452
3453else
3454 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3455$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3456as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
3457See \`config.log' for more details" "$LINENO" 5; }
3458fi
3459
3460ac_ext=c
3461ac_cpp='$CPP $CPPFLAGS'
3462ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3463ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3464ac_compiler_gnu=$ac_cv_c_compiler_gnu
3465
3466
3467{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
3468$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
3469if ${ac_cv_path_GREP+:} false; then :
3470 $as_echo_n "(cached) " >&6
3471else
3472 if test -z "$GREP"; then
3473 ac_path_GREP_found=false
3474 # Loop through the user's path and test for each of PROGNAME-LIST
3475 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3476for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
3477do
3478 IFS=$as_save_IFS
3479 test -z "$as_dir" && as_dir=.
3480 for ac_prog in grep ggrep; do
3481 for ac_exec_ext in '' $ac_executable_extensions; do
3482 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
3483 as_fn_executable_p "$ac_path_GREP" || continue
3484# Check for GNU ac_path_GREP and select it if it is found.
3485 # Check for GNU $ac_path_GREP
3486case `"$ac_path_GREP" --version 2>&1` in
3487*GNU*)
3488 ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
3489*)
3490 ac_count=0
3491 $as_echo_n 0123456789 >"conftest.in"
3492 while :
3493 do
3494 cat "conftest.in" "conftest.in" >"conftest.tmp"
3495 mv "conftest.tmp" "conftest.in"
3496 cp "conftest.in" "conftest.nl"
3497 $as_echo 'GREP' >> "conftest.nl"
3498 "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
3499 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
3500 as_fn_arith $ac_count + 1 && ac_count=$as_val
3501 if test $ac_count -gt ${ac_path_GREP_max-0}; then
3502 # Best one so far, save it but keep looking for a better one
3503 ac_cv_path_GREP="$ac_path_GREP"
3504 ac_path_GREP_max=$ac_count
3505 fi
3506 # 10*(2^10) chars as input seems more than enough
3507 test $ac_count -gt 10 && break
3508 done
3509 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
3510esac
3511
3512 $ac_path_GREP_found && break 3
3513 done
3514 done
3515 done
3516IFS=$as_save_IFS
3517 if test -z "$ac_cv_path_GREP"; then
3518 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
3519 fi
3520else
3521 ac_cv_path_GREP=$GREP
3522fi
3523
3524fi
3525{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
3526$as_echo "$ac_cv_path_GREP" >&6; }
3527 GREP="$ac_cv_path_GREP"
3528
3529
3530{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
3531$as_echo_n "checking for egrep... " >&6; }
3532if ${ac_cv_path_EGREP+:} false; then :
3533 $as_echo_n "(cached) " >&6
3534else
3535 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
3536 then ac_cv_path_EGREP="$GREP -E"
3537 else
3538 if test -z "$EGREP"; then
3539 ac_path_EGREP_found=false
3540 # Loop through the user's path and test for each of PROGNAME-LIST
3541 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3542for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
3543do
3544 IFS=$as_save_IFS
3545 test -z "$as_dir" && as_dir=.
3546 for ac_prog in egrep; do
3547 for ac_exec_ext in '' $ac_executable_extensions; do
3548 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
3549 as_fn_executable_p "$ac_path_EGREP" || continue
3550# Check for GNU ac_path_EGREP and select it if it is found.
3551 # Check for GNU $ac_path_EGREP
3552case `"$ac_path_EGREP" --version 2>&1` in
3553*GNU*)
3554 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
3555*)
3556 ac_count=0
3557 $as_echo_n 0123456789 >"conftest.in"
3558 while :
3559 do
3560 cat "conftest.in" "conftest.in" >"conftest.tmp"
3561 mv "conftest.tmp" "conftest.in"
3562 cp "conftest.in" "conftest.nl"
3563 $as_echo 'EGREP' >> "conftest.nl"
3564 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
3565 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
3566 as_fn_arith $ac_count + 1 && ac_count=$as_val
3567 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
3568 # Best one so far, save it but keep looking for a better one
3569 ac_cv_path_EGREP="$ac_path_EGREP"
3570 ac_path_EGREP_max=$ac_count
3571 fi
3572 # 10*(2^10) chars as input seems more than enough
3573 test $ac_count -gt 10 && break
3574 done
3575 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
3576esac
3577
3578 $ac_path_EGREP_found && break 3
3579 done
3580 done
3581 done
3582IFS=$as_save_IFS
3583 if test -z "$ac_cv_path_EGREP"; then
3584 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
3585 fi
3586else
3587 ac_cv_path_EGREP=$EGREP
3588fi
3589
3590 fi
3591fi
3592{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
3593$as_echo "$ac_cv_path_EGREP" >&6; }
3594 EGREP="$ac_cv_path_EGREP"
3595
3596
3597{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
3598$as_echo_n "checking for ANSI C header files... " >&6; }
3599if ${ac_cv_header_stdc+:} false; then :
3600 $as_echo_n "(cached) " >&6
3601else
3602 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3603/* end confdefs.h. */
3604#include <stdlib.h>
3605#include <stdarg.h>
3606#include <string.h>
3607#include <float.h>
3608
3609int
3610main ()
3611{
3612
3613 ;
3614 return 0;
3615}
3616_ACEOF
3617if ac_fn_c_try_compile "$LINENO"; then :
3618 ac_cv_header_stdc=yes
3619else
3620 ac_cv_header_stdc=no
3621fi
3622rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3623
3624if test $ac_cv_header_stdc = yes; then
3625 # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
3626 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3627/* end confdefs.h. */
3628#include <string.h>
3629
3630_ACEOF
3631if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
3632 $EGREP "memchr" >/dev/null 2>&1; then :
3633
3634else
3635 ac_cv_header_stdc=no
3636fi
3637rm -f conftest*
3638
3639fi
3640
3641if test $ac_cv_header_stdc = yes; then
3642 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
3643 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3644/* end confdefs.h. */
3645#include <stdlib.h>
3646
3647_ACEOF
3648if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
3649 $EGREP "free" >/dev/null 2>&1; then :
3650
3651else
3652 ac_cv_header_stdc=no
3653fi
3654rm -f conftest*
3655
3656fi
3657
3658if test $ac_cv_header_stdc = yes; then
3659 # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
3660 if test "$cross_compiling" = yes; then :
3661 :
3662else
3663 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3664/* end confdefs.h. */
3665#include <ctype.h>
3666#include <stdlib.h>
3667#if ((' ' & 0x0FF) == 0x020)
3668# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
3669# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
3670#else
3671# define ISLOWER(c) \
3672 (('a' <= (c) && (c) <= 'i') \
3673 || ('j' <= (c) && (c) <= 'r') \
3674 || ('s' <= (c) && (c) <= 'z'))
3675# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
3676#endif
3677
3678#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
3679int
3680main ()
3681{
3682 int i;
3683 for (i = 0; i < 256; i++)
3684 if (XOR (islower (i), ISLOWER (i))
3685 || toupper (i) != TOUPPER (i))
3686 return 2;
3687 return 0;
3688}
3689_ACEOF
3690if ac_fn_c_try_run "$LINENO"; then :
3691
3692else
3693 ac_cv_header_stdc=no
3694fi
3695rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
3696 conftest.$ac_objext conftest.beam conftest.$ac_ext
3697fi
3698
3699fi
3700fi
3701{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
3702$as_echo "$ac_cv_header_stdc" >&6; }
3703if test $ac_cv_header_stdc = yes; then
3704
3705$as_echo "#define STDC_HEADERS 1" >>confdefs.h
3706
3707fi
3708
3709# On IRIX 5.3, sys/types and inttypes.h are conflicting.
3710for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
3711 inttypes.h stdint.h unistd.h
3712do :
3713 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
3714ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
3715"
3716if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
3717 cat >>confdefs.h <<_ACEOF
3718#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
3719_ACEOF
3720
3721fi
3722
3723done
3724
3725
3726 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
3727$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
3728if ${ac_cv_c_bigendian+:} false; then :
3729 $as_echo_n "(cached) " >&6
3730else
3731 ac_cv_c_bigendian=unknown
3732 # See if we're dealing with a universal compiler.
3733 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3734/* end confdefs.h. */
3735#ifndef __APPLE_CC__
3736 not a universal capable compiler
3737 #endif
3738 typedef int dummy;
3739
3740_ACEOF
3741if ac_fn_c_try_compile "$LINENO"; then :
3742
3743 # Check for potential -arch flags. It is not universal unless
3744 # there are at least two -arch flags with different values.
3745 ac_arch=
3746 ac_prev=
3747 for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
3748 if test -n "$ac_prev"; then
3749 case $ac_word in
3750 i?86 | x86_64 | ppc | ppc64)
3751 if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
3752 ac_arch=$ac_word
3753 else
3754 ac_cv_c_bigendian=universal
3755 break
3756 fi
3757 ;;
3758 esac
3759 ac_prev=
3760 elif test "x$ac_word" = "x-arch"; then
3761 ac_prev=arch
3762 fi
3763 done
3764fi
3765rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3766 if test $ac_cv_c_bigendian = unknown; then
3767 # See if sys/param.h defines the BYTE_ORDER macro.
3768 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3769/* end confdefs.h. */
3770#include <sys/types.h>
3771 #include <sys/param.h>
3772
3773int
3774main ()
3775{
3776#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
3777 && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
3778 && LITTLE_ENDIAN)
3779 bogus endian macros
3780 #endif
3781
3782 ;
3783 return 0;
3784}
3785_ACEOF
3786if ac_fn_c_try_compile "$LINENO"; then :
3787 # It does; now see whether it defined to BIG_ENDIAN or not.
3788 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3789/* end confdefs.h. */
3790#include <sys/types.h>
3791 #include <sys/param.h>
3792
3793int
3794main ()
3795{
3796#if BYTE_ORDER != BIG_ENDIAN
3797 not big endian
3798 #endif
3799
3800 ;
3801 return 0;
3802}
3803_ACEOF
3804if ac_fn_c_try_compile "$LINENO"; then :
3805 ac_cv_c_bigendian=yes
3806else
3807 ac_cv_c_bigendian=no
3808fi
3809rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3810fi
3811rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3812 fi
3813 if test $ac_cv_c_bigendian = unknown; then
3814 # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
3815 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3816/* end confdefs.h. */
3817#include <limits.h>
3818
3819int
3820main ()
3821{
3822#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
3823 bogus endian macros
3824 #endif
3825
3826 ;
3827 return 0;
3828}
3829_ACEOF
3830if ac_fn_c_try_compile "$LINENO"; then :
3831 # It does; now see whether it defined to _BIG_ENDIAN or not.
3832 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3833/* end confdefs.h. */
3834#include <limits.h>
3835
3836int
3837main ()
3838{
3839#ifndef _BIG_ENDIAN
3840 not big endian
3841 #endif
3842
3843 ;
3844 return 0;
3845}
3846_ACEOF
3847if ac_fn_c_try_compile "$LINENO"; then :
3848 ac_cv_c_bigendian=yes
3849else
3850 ac_cv_c_bigendian=no
3851fi
3852rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3853fi
3854rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3855 fi
3856 if test $ac_cv_c_bigendian = unknown; then
3857 # Compile a test program.
3858 if test "$cross_compiling" = yes; then :
3859 # Try to guess by grepping values from an object file.
3860 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3861/* end confdefs.h. */
3862short int ascii_mm[] =
3863 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
3864 short int ascii_ii[] =
3865 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
3866 int use_ascii (int i) {
3867 return ascii_mm[i] + ascii_ii[i];
3868 }
3869 short int ebcdic_ii[] =
3870 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
3871 short int ebcdic_mm[] =
3872 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
3873 int use_ebcdic (int i) {
3874 return ebcdic_mm[i] + ebcdic_ii[i];
3875 }
3876 extern int foo;
3877
3878int
3879main ()
3880{
3881return use_ascii (foo) == use_ebcdic (foo);
3882 ;
3883 return 0;
3884}
3885_ACEOF
3886if ac_fn_c_try_compile "$LINENO"; then :
3887 if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
3888 ac_cv_c_bigendian=yes
3889 fi
3890 if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
3891 if test "$ac_cv_c_bigendian" = unknown; then
3892 ac_cv_c_bigendian=no
3893 else
3894 # finding both strings is unlikely to happen, but who knows?
3895 ac_cv_c_bigendian=unknown
3896 fi
3897 fi
3898fi
3899rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3900else
3901 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3902/* end confdefs.h. */
3903$ac_includes_default
3904int
3905main ()
3906{
3907
3908 /* Are we little or big endian? From Harbison&Steele. */
3909 union
3910 {
3911 long int l;
3912 char c[sizeof (long int)];
3913 } u;
3914 u.l = 1;
3915 return u.c[sizeof (long int) - 1] == 1;
3916
3917 ;
3918 return 0;
3919}
3920_ACEOF
3921if ac_fn_c_try_run "$LINENO"; then :
3922 ac_cv_c_bigendian=no
3923else
3924 ac_cv_c_bigendian=yes
3925fi
3926rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
3927 conftest.$ac_objext conftest.beam conftest.$ac_ext
3928fi
3929
3930 fi
3931fi
3932{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
3933$as_echo "$ac_cv_c_bigendian" >&6; }
3934 case $ac_cv_c_bigendian in #(
3935 yes)
3936 $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
3937;; #(
3938 no)
3939 ;; #(
3940 universal)
3941
3942$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
3943
3944 ;; #(
3945 *)
3946 as_fn_error $? "unknown endianness
3947 presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
3948 esac
3949
3950
3951# Checks for programs.
3952for ac_prog in gawk mawk nawk awk
3953do
3954 # Extract the first word of "$ac_prog", so it can be a program name with args.
3955set dummy $ac_prog; ac_word=$2
3956{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3957$as_echo_n "checking for $ac_word... " >&6; }
3958if ${ac_cv_prog_AWK+:} false; then :
3959 $as_echo_n "(cached) " >&6
3960else
3961 if test -n "$AWK"; then
3962 ac_cv_prog_AWK="$AWK" # Let the user override the test.
3963else
3964as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3965for as_dir in $PATH
3966do
3967 IFS=$as_save_IFS
3968 test -z "$as_dir" && as_dir=.
3969 for ac_exec_ext in '' $ac_executable_extensions; do
3970 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3971 ac_cv_prog_AWK="$ac_prog"
3972 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3973 break 2
3974 fi
3975done
3976 done
3977IFS=$as_save_IFS
3978
3979fi
3980fi
3981AWK=$ac_cv_prog_AWK
3982if test -n "$AWK"; then
3983 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
3984$as_echo "$AWK" >&6; }
3985else
3986 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3987$as_echo "no" >&6; }
3988fi
3989
3990
3991 test -n "$AWK" && break
3992done
3993
3994ac_ext=c
3995ac_cpp='$CPP $CPPFLAGS'
3996ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3997ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3998ac_compiler_gnu=$ac_cv_c_compiler_gnu
3999{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
4000$as_echo_n "checking how to run the C preprocessor... " >&6; }
4001# On Suns, sometimes $CPP names a directory.
4002if test -n "$CPP" && test -d "$CPP"; then
4003 CPP=
4004fi
4005if test -z "$CPP"; then
4006 if ${ac_cv_prog_CPP+:} false; then :
4007 $as_echo_n "(cached) " >&6
4008else
4009 # Double quotes because CPP needs to be expanded
4010 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
4011 do
4012 ac_preproc_ok=false
4013for ac_c_preproc_warn_flag in '' yes
4014do
4015 # Use a header file that comes with gcc, so configuring glibc
4016 # with a fresh cross-compiler works.
4017 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4018 # <limits.h> exists even on freestanding compilers.
4019 # On the NeXT, cc -E runs the code through the compiler's parser,
4020 # not just through cpp. "Syntax error" is here to catch this case.
4021 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4022/* end confdefs.h. */
4023#ifdef __STDC__
4024# include <limits.h>
4025#else
4026# include <assert.h>
4027#endif
4028 Syntax error
4029_ACEOF
4030if ac_fn_c_try_cpp "$LINENO"; then :
4031
4032else
4033 # Broken: fails on valid input.
4034continue
4035fi
4036rm -f conftest.err conftest.i conftest.$ac_ext
4037
4038 # OK, works on sane cases. Now check whether nonexistent headers
4039 # can be detected and how.
4040 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4041/* end confdefs.h. */
4042#include <ac_nonexistent.h>
4043_ACEOF
4044if ac_fn_c_try_cpp "$LINENO"; then :
4045 # Broken: success on invalid input.
4046continue
4047else
4048 # Passes both tests.
4049ac_preproc_ok=:
4050break
4051fi
4052rm -f conftest.err conftest.i conftest.$ac_ext
4053
4054done
4055# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4056rm -f conftest.i conftest.err conftest.$ac_ext
4057if $ac_preproc_ok; then :
4058 break
4059fi
4060
4061 done
4062 ac_cv_prog_CPP=$CPP
4063
4064fi
4065 CPP=$ac_cv_prog_CPP
4066else
4067 ac_cv_prog_CPP=$CPP
4068fi
4069{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
4070$as_echo "$CPP" >&6; }
4071ac_preproc_ok=false
4072for ac_c_preproc_warn_flag in '' yes
4073do
4074 # Use a header file that comes with gcc, so configuring glibc
4075 # with a fresh cross-compiler works.
4076 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4077 # <limits.h> exists even on freestanding compilers.
4078 # On the NeXT, cc -E runs the code through the compiler's parser,
4079 # not just through cpp. "Syntax error" is here to catch this case.
4080 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4081/* end confdefs.h. */
4082#ifdef __STDC__
4083# include <limits.h>
4084#else
4085# include <assert.h>
4086#endif
4087 Syntax error
4088_ACEOF
4089if ac_fn_c_try_cpp "$LINENO"; then :
4090
4091else
4092 # Broken: fails on valid input.
4093continue
4094fi
4095rm -f conftest.err conftest.i conftest.$ac_ext
4096
4097 # OK, works on sane cases. Now check whether nonexistent headers
4098 # can be detected and how.
4099 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4100/* end confdefs.h. */
4101#include <ac_nonexistent.h>
4102_ACEOF
4103if ac_fn_c_try_cpp "$LINENO"; then :
4104 # Broken: success on invalid input.
4105continue
4106else
4107 # Passes both tests.
4108ac_preproc_ok=:
4109break
4110fi
4111rm -f conftest.err conftest.i conftest.$ac_ext
4112
4113done
4114# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4115rm -f conftest.i conftest.err conftest.$ac_ext
4116if $ac_preproc_ok; then :
4117
4118else
4119 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4120$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4121as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
4122See \`config.log' for more details" "$LINENO" 5; }
4123fi
4124
4125ac_ext=c
4126ac_cpp='$CPP $CPPFLAGS'
4127ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4128ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4129ac_compiler_gnu=$ac_cv_c_compiler_gnu
4130
4131if test -n "$ac_tool_prefix"; then
4132 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
4133set dummy ${ac_tool_prefix}ranlib; ac_word=$2
4134{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4135$as_echo_n "checking for $ac_word... " >&6; }
4136if ${ac_cv_prog_RANLIB+:} false; then :
4137 $as_echo_n "(cached) " >&6
4138else
4139 if test -n "$RANLIB"; then
4140 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
4141else
4142as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4143for as_dir in $PATH
4144do
4145 IFS=$as_save_IFS
4146 test -z "$as_dir" && as_dir=.
4147 for ac_exec_ext in '' $ac_executable_extensions; do
4148 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4149 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
4150 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4151 break 2
4152 fi
4153done
4154 done
4155IFS=$as_save_IFS
4156
4157fi
4158fi
4159RANLIB=$ac_cv_prog_RANLIB
4160if test -n "$RANLIB"; then
4161 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
4162$as_echo "$RANLIB" >&6; }
4163else
4164 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4165$as_echo "no" >&6; }
4166fi
4167
4168
4169fi
4170if test -z "$ac_cv_prog_RANLIB"; then
4171 ac_ct_RANLIB=$RANLIB
4172 # Extract the first word of "ranlib", so it can be a program name with args.
4173set dummy ranlib; ac_word=$2
4174{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4175$as_echo_n "checking for $ac_word... " >&6; }
4176if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
4177 $as_echo_n "(cached) " >&6
4178else
4179 if test -n "$ac_ct_RANLIB"; then
4180 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
4181else
4182as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4183for as_dir in $PATH
4184do
4185 IFS=$as_save_IFS
4186 test -z "$as_dir" && as_dir=.
4187 for ac_exec_ext in '' $ac_executable_extensions; do
4188 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4189 ac_cv_prog_ac_ct_RANLIB="ranlib"
4190 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4191 break 2
4192 fi
4193done
4194 done
4195IFS=$as_save_IFS
4196
4197fi
4198fi
4199ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
4200if test -n "$ac_ct_RANLIB"; then
4201 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
4202$as_echo "$ac_ct_RANLIB" >&6; }
4203else
4204 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4205$as_echo "no" >&6; }
4206fi
4207
4208 if test "x$ac_ct_RANLIB" = x; then
4209 RANLIB=":"
4210 else
4211 case $cross_compiling:$ac_tool_warned in
4212yes:)
4213{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4214$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4215ac_tool_warned=yes ;;
4216esac
4217 RANLIB=$ac_ct_RANLIB
4218 fi
4219else
4220 RANLIB="$ac_cv_prog_RANLIB"
4221fi
4222
4223# Find a good install program. We prefer a C program (faster),
4224# so one script is as good as another. But avoid the broken or
4225# incompatible versions:
4226# SysV /etc/install, /usr/sbin/install
4227# SunOS /usr/etc/install
4228# IRIX /sbin/install
4229# AIX /bin/install
4230# AmigaOS /C/install, which installs bootblocks on floppy discs
4231# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
4232# AFS /usr/afsws/bin/install, which mishandles nonexistent args
4233# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
4234# OS/2's system install, which has a completely different semantic
4235# ./install, which can be erroneously created by make from ./install.sh.
4236# Reject install programs that cannot install multiple files.
4237{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
4238$as_echo_n "checking for a BSD-compatible install... " >&6; }
4239if test -z "$INSTALL"; then
4240if ${ac_cv_path_install+:} false; then :
4241 $as_echo_n "(cached) " >&6
4242else
4243 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4244for as_dir in $PATH
4245do
4246 IFS=$as_save_IFS
4247 test -z "$as_dir" && as_dir=.
4248 # Account for people who put trailing slashes in PATH elements.
4249case $as_dir/ in #((
4250 ./ | .// | /[cC]/* | \
4251 /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
4252 ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
4253 /usr/ucb/* ) ;;
4254 *)
4255 # OSF1 and SCO ODT 3.0 have their own names for install.
4256 # Don't use installbsd from OSF since it installs stuff as root
4257 # by default.
4258 for ac_prog in ginstall scoinst install; do
4259 for ac_exec_ext in '' $ac_executable_extensions; do
4260 if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
4261 if test $ac_prog = install &&
4262 grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
4263 # AIX install. It has an incompatible calling convention.
4264 :
4265 elif test $ac_prog = install &&
4266 grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
4267 # program-specific install script used by HP pwplus--don't use.
4268 :
4269 else
4270 rm -rf conftest.one conftest.two conftest.dir
4271 echo one > conftest.one
4272 echo two > conftest.two
4273 mkdir conftest.dir
4274 if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
4275 test -s conftest.one && test -s conftest.two &&
4276 test -s conftest.dir/conftest.one &&
4277 test -s conftest.dir/conftest.two
4278 then
4279 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
4280 break 3
4281 fi
4282 fi
4283 fi
4284 done
4285 done
4286 ;;
4287esac
4288
4289 done
4290IFS=$as_save_IFS
4291
4292rm -rf conftest.one conftest.two conftest.dir
4293
4294fi
4295 if test "${ac_cv_path_install+set}" = set; then
4296 INSTALL=$ac_cv_path_install
4297 else
4298 # As a last resort, use the slow shell script. Don't cache a
4299 # value for INSTALL within a source directory, because that will
4300 # break other packages using the cache if that directory is
4301 # removed, or if the value is a relative name.
4302 INSTALL=$ac_install_sh
4303 fi
4304fi
4305{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
4306$as_echo "$INSTALL" >&6; }
4307
4308# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
4309# It thinks the first close brace ends the variable substitution.
4310test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
4311
4312test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
4313
4314test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
4315
4316{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
4317$as_echo_n "checking for egrep... " >&6; }
4318if ${ac_cv_path_EGREP+:} false; then :
4319 $as_echo_n "(cached) " >&6
4320else
4321 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
4322 then ac_cv_path_EGREP="$GREP -E"
4323 else
4324 if test -z "$EGREP"; then
4325 ac_path_EGREP_found=false
4326 # Loop through the user's path and test for each of PROGNAME-LIST
4327 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4328for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
4329do
4330 IFS=$as_save_IFS
4331 test -z "$as_dir" && as_dir=.
4332 for ac_prog in egrep; do
4333 for ac_exec_ext in '' $ac_executable_extensions; do
4334 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
4335 as_fn_executable_p "$ac_path_EGREP" || continue
4336# Check for GNU ac_path_EGREP and select it if it is found.
4337 # Check for GNU $ac_path_EGREP
4338case `"$ac_path_EGREP" --version 2>&1` in
4339*GNU*)
4340 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
4341*)
4342 ac_count=0
4343 $as_echo_n 0123456789 >"conftest.in"
4344 while :
4345 do
4346 cat "conftest.in" "conftest.in" >"conftest.tmp"
4347 mv "conftest.tmp" "conftest.in"
4348 cp "conftest.in" "conftest.nl"
4349 $as_echo 'EGREP' >> "conftest.nl"
4350 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
4351 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4352 as_fn_arith $ac_count + 1 && ac_count=$as_val
4353 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
4354 # Best one so far, save it but keep looking for a better one
4355 ac_cv_path_EGREP="$ac_path_EGREP"
4356 ac_path_EGREP_max=$ac_count
4357 fi
4358 # 10*(2^10) chars as input seems more than enough
4359 test $ac_count -gt 10 && break
4360 done
4361 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4362esac
4363
4364 $ac_path_EGREP_found && break 3
4365 done
4366 done
4367 done
4368IFS=$as_save_IFS
4369 if test -z "$ac_cv_path_EGREP"; then
4370 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4371 fi
4372else
4373 ac_cv_path_EGREP=$EGREP
4374fi
4375
4376 fi
4377fi
4378{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
4379$as_echo "$ac_cv_path_EGREP" >&6; }
4380 EGREP="$ac_cv_path_EGREP"
4381
4382
4383{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
4384$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
4385if test -z "$MKDIR_P"; then
4386 if ${ac_cv_path_mkdir+:} false; then :
4387 $as_echo_n "(cached) " >&6
4388else
4389 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4390for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
4391do
4392 IFS=$as_save_IFS
4393 test -z "$as_dir" && as_dir=.
4394 for ac_prog in mkdir gmkdir; do
4395 for ac_exec_ext in '' $ac_executable_extensions; do
4396 as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
4397 case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
4398 'mkdir (GNU coreutils) '* | \
4399 'mkdir (coreutils) '* | \
4400 'mkdir (fileutils) '4.1*)
4401 ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
4402 break 3;;
4403 esac
4404 done
4405 done
4406 done
4407IFS=$as_save_IFS
4408
4409fi
4410
4411 test -d ./--version && rmdir ./--version
4412 if test "${ac_cv_path_mkdir+set}" = set; then
4413 MKDIR_P="$ac_cv_path_mkdir -p"
4414 else
4415 # As a last resort, use the slow shell script. Don't cache a
4416 # value for MKDIR_P within a source directory, because that will
4417 # break other packages using the cache if that directory is
4418 # removed, or if the value is a relative name.
4419 MKDIR_P="$ac_install_sh -d"
4420 fi
4421fi
4422{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
4423$as_echo "$MKDIR_P" >&6; }
4424
4425if test -n "$ac_tool_prefix"; then
4426 for ac_prog in ar
4427 do
4428 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
4429set dummy $ac_tool_prefix$ac_prog; ac_word=$2
4430{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4431$as_echo_n "checking for $ac_word... " >&6; }
4432if ${ac_cv_prog_AR+:} false; then :
4433 $as_echo_n "(cached) " >&6
4434else
4435 if test -n "$AR"; then
4436 ac_cv_prog_AR="$AR" # Let the user override the test.
4437else
4438as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4439for as_dir in $PATH
4440do
4441 IFS=$as_save_IFS
4442 test -z "$as_dir" && as_dir=.
4443 for ac_exec_ext in '' $ac_executable_extensions; do
4444 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4445 ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
4446 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4447 break 2
4448 fi
4449done
4450 done
4451IFS=$as_save_IFS
4452
4453fi
4454fi
4455AR=$ac_cv_prog_AR
4456if test -n "$AR"; then
4457 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
4458$as_echo "$AR" >&6; }
4459else
4460 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4461$as_echo "no" >&6; }
4462fi
4463
4464
4465 test -n "$AR" && break
4466 done
4467fi
4468if test -z "$AR"; then
4469 ac_ct_AR=$AR
4470 for ac_prog in ar
4471do
4472 # Extract the first word of "$ac_prog", so it can be a program name with args.
4473set dummy $ac_prog; ac_word=$2
4474{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4475$as_echo_n "checking for $ac_word... " >&6; }
4476if ${ac_cv_prog_ac_ct_AR+:} false; then :
4477 $as_echo_n "(cached) " >&6
4478else
4479 if test -n "$ac_ct_AR"; then
4480 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
4481else
4482as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4483for as_dir in $PATH
4484do
4485 IFS=$as_save_IFS
4486 test -z "$as_dir" && as_dir=.
4487 for ac_exec_ext in '' $ac_executable_extensions; do
4488 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4489 ac_cv_prog_ac_ct_AR="$ac_prog"
4490 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4491 break 2
4492 fi
4493done
4494 done
4495IFS=$as_save_IFS
4496
4497fi
4498fi
4499ac_ct_AR=$ac_cv_prog_ac_ct_AR
4500if test -n "$ac_ct_AR"; then
4501 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
4502$as_echo "$ac_ct_AR" >&6; }
4503else
4504 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4505$as_echo "no" >&6; }
4506fi
4507
4508
4509 test -n "$ac_ct_AR" && break
4510done
4511
4512 if test "x$ac_ct_AR" = x; then
4513 AR=""
4514 else
4515 case $cross_compiling:$ac_tool_warned in
4516yes:)
4517{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4518$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4519ac_tool_warned=yes ;;
4520esac
4521 AR=$ac_ct_AR
4522 fi
4523fi
4524
4525# Extract the first word of "cat", so it can be a program name with args.
4526set dummy cat; ac_word=$2
4527{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4528$as_echo_n "checking for $ac_word... " >&6; }
4529if ${ac_cv_path_CAT+:} false; then :
4530 $as_echo_n "(cached) " >&6
4531else
4532 case $CAT in
4533 [\\/]* | ?:[\\/]*)
4534 ac_cv_path_CAT="$CAT" # Let the user override the test with a path.
4535 ;;
4536 *)
4537 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4538for as_dir in $PATH
4539do
4540 IFS=$as_save_IFS
4541 test -z "$as_dir" && as_dir=.
4542 for ac_exec_ext in '' $ac_executable_extensions; do
4543 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4544 ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext"
4545 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4546 break 2
4547 fi
4548done
4549 done
4550IFS=$as_save_IFS
4551
4552 ;;
4553esac
4554fi
4555CAT=$ac_cv_path_CAT
4556if test -n "$CAT"; then
4557 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5
4558$as_echo "$CAT" >&6; }
4559else
4560 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4561$as_echo "no" >&6; }
4562fi
4563
4564
4565# Extract the first word of "kill", so it can be a program name with args.
4566set dummy kill; ac_word=$2
4567{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4568$as_echo_n "checking for $ac_word... " >&6; }
4569if ${ac_cv_path_KILL+:} false; then :
4570 $as_echo_n "(cached) " >&6
4571else
4572 case $KILL in
4573 [\\/]* | ?:[\\/]*)
4574 ac_cv_path_KILL="$KILL" # Let the user override the test with a path.
4575 ;;
4576 *)
4577 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4578for as_dir in $PATH
4579do
4580 IFS=$as_save_IFS
4581 test -z "$as_dir" && as_dir=.
4582 for ac_exec_ext in '' $ac_executable_extensions; do
4583 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4584 ac_cv_path_KILL="$as_dir/$ac_word$ac_exec_ext"
4585 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4586 break 2
4587 fi
4588done
4589 done
4590IFS=$as_save_IFS
4591
4592 ;;
4593esac
4594fi
4595KILL=$ac_cv_path_KILL
4596if test -n "$KILL"; then
4597 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KILL" >&5
4598$as_echo "$KILL" >&6; }
4599else
4600 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4601$as_echo "no" >&6; }
4602fi
4603
4604
4605# Extract the first word of "sed", so it can be a program name with args.
4606set dummy sed; ac_word=$2
4607{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4608$as_echo_n "checking for $ac_word... " >&6; }
4609if ${ac_cv_path_SED+:} false; then :
4610 $as_echo_n "(cached) " >&6
4611else
4612 case $SED in
4613 [\\/]* | ?:[\\/]*)
4614 ac_cv_path_SED="$SED" # Let the user override the test with a path.
4615 ;;
4616 *)
4617 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4618for as_dir in $PATH
4619do
4620 IFS=$as_save_IFS
4621 test -z "$as_dir" && as_dir=.
4622 for ac_exec_ext in '' $ac_executable_extensions; do
4623 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4624 ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
4625 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4626 break 2
4627 fi
4628done
4629 done
4630IFS=$as_save_IFS
4631
4632 ;;
4633esac
4634fi
4635SED=$ac_cv_path_SED
4636if test -n "$SED"; then
4637 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5
4638$as_echo "$SED" >&6; }
4639else
4640 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4641$as_echo "no" >&6; }
4642fi
4643
4644
4645# Extract the first word of "ent", so it can be a program name with args.
4646set dummy ent; ac_word=$2
4647{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4648$as_echo_n "checking for $ac_word... " >&6; }
4649if ${ac_cv_path_ENT+:} false; then :
4650 $as_echo_n "(cached) " >&6
4651else
4652 case $ENT in
4653 [\\/]* | ?:[\\/]*)
4654 ac_cv_path_ENT="$ENT" # Let the user override the test with a path.
4655 ;;
4656 *)
4657 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4658for as_dir in $PATH
4659do
4660 IFS=$as_save_IFS
4661 test -z "$as_dir" && as_dir=.
4662 for ac_exec_ext in '' $ac_executable_extensions; do
4663 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4664 ac_cv_path_ENT="$as_dir/$ac_word$ac_exec_ext"
4665 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4666 break 2
4667 fi
4668done
4669 done
4670IFS=$as_save_IFS
4671
4672 ;;
4673esac
4674fi
4675ENT=$ac_cv_path_ENT
4676if test -n "$ENT"; then
4677 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENT" >&5
4678$as_echo "$ENT" >&6; }
4679else
4680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4681$as_echo "no" >&6; }
4682fi
4683
4684
4685
4686# Extract the first word of "bash", so it can be a program name with args.
4687set dummy bash; ac_word=$2
4688{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4689$as_echo_n "checking for $ac_word... " >&6; }
4690if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4691 $as_echo_n "(cached) " >&6
4692else
4693 case $TEST_MINUS_S_SH in
4694 [\\/]* | ?:[\\/]*)
4695 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4696 ;;
4697 *)
4698 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4699for as_dir in $PATH
4700do
4701 IFS=$as_save_IFS
4702 test -z "$as_dir" && as_dir=.
4703 for ac_exec_ext in '' $ac_executable_extensions; do
4704 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4705 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4706 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4707 break 2
4708 fi
4709done
4710 done
4711IFS=$as_save_IFS
4712
4713 ;;
4714esac
4715fi
4716TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4717if test -n "$TEST_MINUS_S_SH"; then
4718 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4719$as_echo "$TEST_MINUS_S_SH" >&6; }
4720else
4721 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4722$as_echo "no" >&6; }
4723fi
4724
4725
4726# Extract the first word of "ksh", so it can be a program name with args.
4727set dummy ksh; ac_word=$2
4728{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4729$as_echo_n "checking for $ac_word... " >&6; }
4730if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4731 $as_echo_n "(cached) " >&6
4732else
4733 case $TEST_MINUS_S_SH in
4734 [\\/]* | ?:[\\/]*)
4735 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4736 ;;
4737 *)
4738 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4739for as_dir in $PATH
4740do
4741 IFS=$as_save_IFS
4742 test -z "$as_dir" && as_dir=.
4743 for ac_exec_ext in '' $ac_executable_extensions; do
4744 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4745 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4746 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4747 break 2
4748 fi
4749done
4750 done
4751IFS=$as_save_IFS
4752
4753 ;;
4754esac
4755fi
4756TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4757if test -n "$TEST_MINUS_S_SH"; then
4758 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4759$as_echo "$TEST_MINUS_S_SH" >&6; }
4760else
4761 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4762$as_echo "no" >&6; }
4763fi
4764
4765
4766# Extract the first word of "sh", so it can be a program name with args.
4767set dummy sh; ac_word=$2
4768{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4769$as_echo_n "checking for $ac_word... " >&6; }
4770if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4771 $as_echo_n "(cached) " >&6
4772else
4773 case $TEST_MINUS_S_SH in
4774 [\\/]* | ?:[\\/]*)
4775 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4776 ;;
4777 *)
4778 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4779for as_dir in $PATH
4780do
4781 IFS=$as_save_IFS
4782 test -z "$as_dir" && as_dir=.
4783 for ac_exec_ext in '' $ac_executable_extensions; do
4784 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4785 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4786 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4787 break 2
4788 fi
4789done
4790 done
4791IFS=$as_save_IFS
4792
4793 ;;
4794esac
4795fi
4796TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4797if test -n "$TEST_MINUS_S_SH"; then
4798 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4799$as_echo "$TEST_MINUS_S_SH" >&6; }
4800else
4801 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4802$as_echo "no" >&6; }
4803fi
4804
4805
4806# Extract the first word of "sh", so it can be a program name with args.
4807set dummy sh; ac_word=$2
4808{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4809$as_echo_n "checking for $ac_word... " >&6; }
4810if ${ac_cv_path_SH+:} false; then :
4811 $as_echo_n "(cached) " >&6
4812else
4813 case $SH in
4814 [\\/]* | ?:[\\/]*)
4815 ac_cv_path_SH="$SH" # Let the user override the test with a path.
4816 ;;
4817 *)
4818 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4819for as_dir in $PATH
4820do
4821 IFS=$as_save_IFS
4822 test -z "$as_dir" && as_dir=.
4823 for ac_exec_ext in '' $ac_executable_extensions; do
4824 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4825 ac_cv_path_SH="$as_dir/$ac_word$ac_exec_ext"
4826 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4827 break 2
4828 fi
4829done
4830 done
4831IFS=$as_save_IFS
4832
4833 ;;
4834esac
4835fi
4836SH=$ac_cv_path_SH
4837if test -n "$SH"; then
4838 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SH" >&5
4839$as_echo "$SH" >&6; }
4840else
4841 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4842$as_echo "no" >&6; }
4843fi
4844
4845
4846# Extract the first word of "groff", so it can be a program name with args.
4847set dummy groff; ac_word=$2
4848{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4849$as_echo_n "checking for $ac_word... " >&6; }
4850if ${ac_cv_path_GROFF+:} false; then :
4851 $as_echo_n "(cached) " >&6
4852else
4853 case $GROFF in
4854 [\\/]* | ?:[\\/]*)
4855 ac_cv_path_GROFF="$GROFF" # Let the user override the test with a path.
4856 ;;
4857 *)
4858 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4859for as_dir in $PATH
4860do
4861 IFS=$as_save_IFS
4862 test -z "$as_dir" && as_dir=.
4863 for ac_exec_ext in '' $ac_executable_extensions; do
4864 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4865 ac_cv_path_GROFF="$as_dir/$ac_word$ac_exec_ext"
4866 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4867 break 2
4868 fi
4869done
4870 done
4871IFS=$as_save_IFS
4872
4873 ;;
4874esac
4875fi
4876GROFF=$ac_cv_path_GROFF
4877if test -n "$GROFF"; then
4878 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GROFF" >&5
4879$as_echo "$GROFF" >&6; }
4880else
4881 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4882$as_echo "no" >&6; }
4883fi
4884
4885
4886# Extract the first word of "nroff awf", so it can be a program name with args.
4887set dummy nroff awf; ac_word=$2
4888{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4889$as_echo_n "checking for $ac_word... " >&6; }
4890if ${ac_cv_path_NROFF+:} false; then :
4891 $as_echo_n "(cached) " >&6
4892else
4893 case $NROFF in
4894 [\\/]* | ?:[\\/]*)
4895 ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path.
4896 ;;
4897 *)
4898 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4899for as_dir in $PATH
4900do
4901 IFS=$as_save_IFS
4902 test -z "$as_dir" && as_dir=.
4903 for ac_exec_ext in '' $ac_executable_extensions; do
4904 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4905 ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext"
4906 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4907 break 2
4908 fi
4909done
4910 done
4911IFS=$as_save_IFS
4912
4913 ;;
4914esac
4915fi
4916NROFF=$ac_cv_path_NROFF
4917if test -n "$NROFF"; then
4918 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5
4919$as_echo "$NROFF" >&6; }
4920else
4921 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4922$as_echo "no" >&6; }
4923fi
4924
4925
4926# Extract the first word of "mandoc", so it can be a program name with args.
4927set dummy mandoc; ac_word=$2
4928{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4929$as_echo_n "checking for $ac_word... " >&6; }
4930if ${ac_cv_path_MANDOC+:} false; then :
4931 $as_echo_n "(cached) " >&6
4932else
4933 case $MANDOC in
4934 [\\/]* | ?:[\\/]*)
4935 ac_cv_path_MANDOC="$MANDOC" # Let the user override the test with a path.
4936 ;;
4937 *)
4938 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4939for as_dir in $PATH
4940do
4941 IFS=$as_save_IFS
4942 test -z "$as_dir" && as_dir=.
4943 for ac_exec_ext in '' $ac_executable_extensions; do
4944 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4945 ac_cv_path_MANDOC="$as_dir/$ac_word$ac_exec_ext"
4946 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4947 break 2
4948 fi
4949done
4950 done
4951IFS=$as_save_IFS
4952
4953 ;;
4954esac
4955fi
4956MANDOC=$ac_cv_path_MANDOC
4957if test -n "$MANDOC"; then
4958 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANDOC" >&5
4959$as_echo "$MANDOC" >&6; }
4960else
4961 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4962$as_echo "no" >&6; }
4963fi
4964
4965
4966TEST_SHELL=sh
4967
4968
4969if test "x$MANDOC" != "x" ; then
4970 MANFMT="$MANDOC"
4971elif test "x$NROFF" != "x" ; then
4972 MANFMT="$NROFF -mandoc"
4973elif test "x$GROFF" != "x" ; then
4974 MANFMT="$GROFF -mandoc -Tascii"
4975else
4976 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no manpage formatter found" >&5
4977$as_echo "$as_me: WARNING: no manpage formatter found" >&2;}
4978 MANFMT="false"
4979fi
4980
4981
4982# Extract the first word of "groupadd", so it can be a program name with args.
4983set dummy groupadd; ac_word=$2
4984{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4985$as_echo_n "checking for $ac_word... " >&6; }
4986if ${ac_cv_path_PATH_GROUPADD_PROG+:} false; then :
4987 $as_echo_n "(cached) " >&6
4988else
4989 case $PATH_GROUPADD_PROG in
4990 [\\/]* | ?:[\\/]*)
4991 ac_cv_path_PATH_GROUPADD_PROG="$PATH_GROUPADD_PROG" # Let the user override the test with a path.
4992 ;;
4993 *)
4994 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4995for as_dir in /usr/sbin${PATH_SEPARATOR}/etc
4996do
4997 IFS=$as_save_IFS
4998 test -z "$as_dir" && as_dir=.
4999 for ac_exec_ext in '' $ac_executable_extensions; do
5000 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5001 ac_cv_path_PATH_GROUPADD_PROG="$as_dir/$ac_word$ac_exec_ext"
5002 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5003 break 2
5004 fi
5005done
5006 done
5007IFS=$as_save_IFS
5008
5009 test -z "$ac_cv_path_PATH_GROUPADD_PROG" && ac_cv_path_PATH_GROUPADD_PROG="groupadd"
5010 ;;
5011esac
5012fi
5013PATH_GROUPADD_PROG=$ac_cv_path_PATH_GROUPADD_PROG
5014if test -n "$PATH_GROUPADD_PROG"; then
5015 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_GROUPADD_PROG" >&5
5016$as_echo "$PATH_GROUPADD_PROG" >&6; }
5017else
5018 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5019$as_echo "no" >&6; }
5020fi
5021
5022
5023# Extract the first word of "useradd", so it can be a program name with args.
5024set dummy useradd; ac_word=$2
5025{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5026$as_echo_n "checking for $ac_word... " >&6; }
5027if ${ac_cv_path_PATH_USERADD_PROG+:} false; then :
5028 $as_echo_n "(cached) " >&6
5029else
5030 case $PATH_USERADD_PROG in
5031 [\\/]* | ?:[\\/]*)
5032 ac_cv_path_PATH_USERADD_PROG="$PATH_USERADD_PROG" # Let the user override the test with a path.
5033 ;;
5034 *)
5035 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5036for as_dir in /usr/sbin${PATH_SEPARATOR}/etc
5037do
5038 IFS=$as_save_IFS
5039 test -z "$as_dir" && as_dir=.
5040 for ac_exec_ext in '' $ac_executable_extensions; do
5041 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5042 ac_cv_path_PATH_USERADD_PROG="$as_dir/$ac_word$ac_exec_ext"
5043 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5044 break 2
5045 fi
5046done
5047 done
5048IFS=$as_save_IFS
5049
5050 test -z "$ac_cv_path_PATH_USERADD_PROG" && ac_cv_path_PATH_USERADD_PROG="useradd"
5051 ;;
5052esac
5053fi
5054PATH_USERADD_PROG=$ac_cv_path_PATH_USERADD_PROG
5055if test -n "$PATH_USERADD_PROG"; then
5056 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_USERADD_PROG" >&5
5057$as_echo "$PATH_USERADD_PROG" >&6; }
5058else
5059 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5060$as_echo "no" >&6; }
5061fi
5062
5063
5064# Extract the first word of "pkgmk", so it can be a program name with args.
5065set dummy pkgmk; ac_word=$2
5066{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5067$as_echo_n "checking for $ac_word... " >&6; }
5068if ${ac_cv_prog_MAKE_PACKAGE_SUPPORTED+:} false; then :
5069 $as_echo_n "(cached) " >&6
5070else
5071 if test -n "$MAKE_PACKAGE_SUPPORTED"; then
5072 ac_cv_prog_MAKE_PACKAGE_SUPPORTED="$MAKE_PACKAGE_SUPPORTED" # Let the user override the test.
5073else
5074as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5075for as_dir in $PATH
5076do
5077 IFS=$as_save_IFS
5078 test -z "$as_dir" && as_dir=.
5079 for ac_exec_ext in '' $ac_executable_extensions; do
5080 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5081 ac_cv_prog_MAKE_PACKAGE_SUPPORTED="yes"
5082 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5083 break 2
5084 fi
5085done
5086 done
5087IFS=$as_save_IFS
5088
5089 test -z "$ac_cv_prog_MAKE_PACKAGE_SUPPORTED" && ac_cv_prog_MAKE_PACKAGE_SUPPORTED="no"
5090fi
5091fi
5092MAKE_PACKAGE_SUPPORTED=$ac_cv_prog_MAKE_PACKAGE_SUPPORTED
5093if test -n "$MAKE_PACKAGE_SUPPORTED"; then
5094 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE_PACKAGE_SUPPORTED" >&5
5095$as_echo "$MAKE_PACKAGE_SUPPORTED" >&6; }
5096else
5097 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5098$as_echo "no" >&6; }
5099fi
5100
5101
5102if test -x /sbin/sh; then
5103 STARTUP_SCRIPT_SHELL=/sbin/sh
5104
5105else
5106 STARTUP_SCRIPT_SHELL=/bin/sh
5107
5108fi
5109
5110# System features
5111# Check whether --enable-largefile was given.
5112if test "${enable_largefile+set}" = set; then :
5113 enableval=$enable_largefile;
5114fi
5115
5116if test "$enable_largefile" != no; then
5117
5118 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
5119$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
5120if ${ac_cv_sys_largefile_CC+:} false; then :
5121 $as_echo_n "(cached) " >&6
5122else
5123 ac_cv_sys_largefile_CC=no
5124 if test "$GCC" != yes; then
5125 ac_save_CC=$CC
5126 while :; do
5127 # IRIX 6.2 and later do not support large files by default,
5128 # so use the C compiler's -n32 option if that helps.
5129 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5130/* end confdefs.h. */
5131#include <sys/types.h>
5132 /* Check that off_t can represent 2**63 - 1 correctly.
5133 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5134 since some C++ compilers masquerading as C compilers
5135 incorrectly reject 9223372036854775807. */
5136#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5137 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5138 && LARGE_OFF_T % 2147483647 == 1)
5139 ? 1 : -1];
5140int
5141main ()
5142{
5143
5144 ;
5145 return 0;
5146}
5147_ACEOF
5148 if ac_fn_c_try_compile "$LINENO"; then :
5149 break
5150fi
5151rm -f core conftest.err conftest.$ac_objext
5152 CC="$CC -n32"
5153 if ac_fn_c_try_compile "$LINENO"; then :
5154 ac_cv_sys_largefile_CC=' -n32'; break
5155fi
5156rm -f core conftest.err conftest.$ac_objext
5157 break
5158 done
5159 CC=$ac_save_CC
5160 rm -f conftest.$ac_ext
5161 fi
5162fi
5163{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
5164$as_echo "$ac_cv_sys_largefile_CC" >&6; }
5165 if test "$ac_cv_sys_largefile_CC" != no; then
5166 CC=$CC$ac_cv_sys_largefile_CC
5167 fi
5168
5169 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
5170$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
5171if ${ac_cv_sys_file_offset_bits+:} false; then :
5172 $as_echo_n "(cached) " >&6
5173else
5174 while :; do
5175 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5176/* end confdefs.h. */
5177#include <sys/types.h>
5178 /* Check that off_t can represent 2**63 - 1 correctly.
5179 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5180 since some C++ compilers masquerading as C compilers
5181 incorrectly reject 9223372036854775807. */
5182#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5183 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5184 && LARGE_OFF_T % 2147483647 == 1)
5185 ? 1 : -1];
5186int
5187main ()
5188{
5189
5190 ;
5191 return 0;
5192}
5193_ACEOF
5194if ac_fn_c_try_compile "$LINENO"; then :
5195 ac_cv_sys_file_offset_bits=no; break
5196fi
5197rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5198 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5199/* end confdefs.h. */
5200#define _FILE_OFFSET_BITS 64
5201#include <sys/types.h>
5202 /* Check that off_t can represent 2**63 - 1 correctly.
5203 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5204 since some C++ compilers masquerading as C compilers
5205 incorrectly reject 9223372036854775807. */
5206#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5207 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5208 && LARGE_OFF_T % 2147483647 == 1)
5209 ? 1 : -1];
5210int
5211main ()
5212{
5213
5214 ;
5215 return 0;
5216}
5217_ACEOF
5218if ac_fn_c_try_compile "$LINENO"; then :
5219 ac_cv_sys_file_offset_bits=64; break
5220fi
5221rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5222 ac_cv_sys_file_offset_bits=unknown
5223 break
5224done
5225fi
5226{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
5227$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
5228case $ac_cv_sys_file_offset_bits in #(
5229 no | unknown) ;;
5230 *)
5231cat >>confdefs.h <<_ACEOF
5232#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
5233_ACEOF
5234;;
5235esac
5236rm -rf conftest*
5237 if test $ac_cv_sys_file_offset_bits = unknown; then
5238 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
5239$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
5240if ${ac_cv_sys_large_files+:} false; then :
5241 $as_echo_n "(cached) " >&6
5242else
5243 while :; do
5244 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5245/* end confdefs.h. */
5246#include <sys/types.h>
5247 /* Check that off_t can represent 2**63 - 1 correctly.
5248 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5249 since some C++ compilers masquerading as C compilers
5250 incorrectly reject 9223372036854775807. */
5251#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5252 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5253 && LARGE_OFF_T % 2147483647 == 1)
5254 ? 1 : -1];
5255int
5256main ()
5257{
5258
5259 ;
5260 return 0;
5261}
5262_ACEOF
5263if ac_fn_c_try_compile "$LINENO"; then :
5264 ac_cv_sys_large_files=no; break
5265fi
5266rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5267 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5268/* end confdefs.h. */
5269#define _LARGE_FILES 1
5270#include <sys/types.h>
5271 /* Check that off_t can represent 2**63 - 1 correctly.
5272 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5273 since some C++ compilers masquerading as C compilers
5274 incorrectly reject 9223372036854775807. */
5275#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5276 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5277 && LARGE_OFF_T % 2147483647 == 1)
5278 ? 1 : -1];
5279int
5280main ()
5281{
5282
5283 ;
5284 return 0;
5285}
5286_ACEOF
5287if ac_fn_c_try_compile "$LINENO"; then :
5288 ac_cv_sys_large_files=1; break
5289fi
5290rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5291 ac_cv_sys_large_files=unknown
5292 break
5293done
5294fi
5295{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
5296$as_echo "$ac_cv_sys_large_files" >&6; }
5297case $ac_cv_sys_large_files in #(
5298 no | unknown) ;;
5299 *)
5300cat >>confdefs.h <<_ACEOF
5301#define _LARGE_FILES $ac_cv_sys_large_files
5302_ACEOF
5303;;
5304esac
5305rm -rf conftest*
5306 fi
5307
5308
5309fi
5310
5311
5312if test -z "$AR" ; then
5313 as_fn_error $? "*** 'ar' missing, please install or fix your \$PATH ***" "$LINENO" 5
5314fi
5315
5316# Extract the first word of "passwd", so it can be a program name with args.
5317set dummy passwd; ac_word=$2
5318{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5319$as_echo_n "checking for $ac_word... " >&6; }
5320if ${ac_cv_path_PATH_PASSWD_PROG+:} false; then :
5321 $as_echo_n "(cached) " >&6
5322else
5323 case $PATH_PASSWD_PROG in
5324 [\\/]* | ?:[\\/]*)
5325 ac_cv_path_PATH_PASSWD_PROG="$PATH_PASSWD_PROG" # Let the user override the test with a path.
5326 ;;
5327 *)
5328 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5329for as_dir in $PATH
5330do
5331 IFS=$as_save_IFS
5332 test -z "$as_dir" && as_dir=.
5333 for ac_exec_ext in '' $ac_executable_extensions; do
5334 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5335 ac_cv_path_PATH_PASSWD_PROG="$as_dir/$ac_word$ac_exec_ext"
5336 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5337 break 2
5338 fi
5339done
5340 done
5341IFS=$as_save_IFS
5342
5343 ;;
5344esac
5345fi
5346PATH_PASSWD_PROG=$ac_cv_path_PATH_PASSWD_PROG
5347if test -n "$PATH_PASSWD_PROG"; then
5348 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_PASSWD_PROG" >&5
5349$as_echo "$PATH_PASSWD_PROG" >&6; }
5350else
5351 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5352$as_echo "no" >&6; }
5353fi
5354
5355
5356if test ! -z "$PATH_PASSWD_PROG" ; then
5357
5358cat >>confdefs.h <<_ACEOF
5359#define _PATH_PASSWD_PROG "$PATH_PASSWD_PROG"
5360_ACEOF
5361
5362fi
5363
5364LD="$CC"
5365
5366
5367{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
5368$as_echo_n "checking for inline... " >&6; }
5369if ${ac_cv_c_inline+:} false; then :
5370 $as_echo_n "(cached) " >&6
5371else
5372 ac_cv_c_inline=no
5373for ac_kw in inline __inline__ __inline; do
5374 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5375/* end confdefs.h. */
5376#ifndef __cplusplus
5377typedef int foo_t;
5378static $ac_kw foo_t static_foo () {return 0; }
5379$ac_kw foo_t foo () {return 0; }
5380#endif
5381
5382_ACEOF
5383if ac_fn_c_try_compile "$LINENO"; then :
5384 ac_cv_c_inline=$ac_kw
5385fi
5386rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5387 test "$ac_cv_c_inline" != no && break
5388done
5389
5390fi
5391{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
5392$as_echo "$ac_cv_c_inline" >&6; }
5393
5394case $ac_cv_c_inline in
5395 inline | yes) ;;
5396 *)
5397 case $ac_cv_c_inline in
5398 no) ac_val=;;
5399 *) ac_val=$ac_cv_c_inline;;
5400 esac
5401 cat >>confdefs.h <<_ACEOF
5402#ifndef __cplusplus
5403#define inline $ac_val
5404#endif
5405_ACEOF
5406 ;;
5407esac
5408
5409
5410ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h>
5411"
5412if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then :
5413 have_llong_max=1
5414fi
5415
5416ac_fn_c_check_decl "$LINENO" "LONG_LONG_MAX" "ac_cv_have_decl_LONG_LONG_MAX" "#include <limits.h>
5417"
5418if test "x$ac_cv_have_decl_LONG_LONG_MAX" = xyes; then :
5419 have_long_long_max=1
5420fi
5421
5422ac_fn_c_check_decl "$LINENO" "SYSTR_POLICY_KILL" "ac_cv_have_decl_SYSTR_POLICY_KILL" "
5423 #include <sys/types.h>
5424 #include <sys/param.h>
5425 #include <dev/systrace.h>
5426
5427"
5428if test "x$ac_cv_have_decl_SYSTR_POLICY_KILL" = xyes; then :
5429 have_systr_policy_kill=1
5430fi
5431
5432ac_fn_c_check_decl "$LINENO" "RLIMIT_NPROC" "ac_cv_have_decl_RLIMIT_NPROC" "
5433 #include <sys/types.h>
5434 #include <sys/resource.h>
5435
5436"
5437if test "x$ac_cv_have_decl_RLIMIT_NPROC" = xyes; then :
5438
5439$as_echo "#define HAVE_RLIMIT_NPROC /**/" >>confdefs.h
5440
5441fi
5442
5443ac_fn_c_check_decl "$LINENO" "PR_SET_NO_NEW_PRIVS" "ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" "
5444 #include <sys/types.h>
5445 #include <linux/prctl.h>
5446
5447"
5448if test "x$ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" = xyes; then :
5449 have_linux_no_new_privs=1
5450fi
5451
5452
5453openssl=yes
5454
5455# Check whether --with-openssl was given.
5456if test "${with_openssl+set}" = set; then :
5457 withval=$with_openssl; if test "x$withval" = "xno" ; then
5458 openssl=no
5459 fi
5460
5461
5462fi
5463
5464{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL will be used for cryptography" >&5
5465$as_echo_n "checking whether OpenSSL will be used for cryptography... " >&6; }
5466if test "x$openssl" = "xyes" ; then
5467 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5468$as_echo "yes" >&6; }
5469
5470cat >>confdefs.h <<_ACEOF
5471#define WITH_OPENSSL 1
5472_ACEOF
5473
5474else
5475 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5476$as_echo "no" >&6; }
5477fi
5478
5479use_stack_protector=1
5480use_toolchain_hardening=1
5481
5482# Check whether --with-stackprotect was given.
5483if test "${with_stackprotect+set}" = set; then :
5484 withval=$with_stackprotect;
5485 if test "x$withval" = "xno"; then
5486 use_stack_protector=0
5487 fi
5488fi
5489
5490
5491# Check whether --with-hardening was given.
5492if test "${with_hardening+set}" = set; then :
5493 withval=$with_hardening;
5494 if test "x$withval" = "xno"; then
5495 use_toolchain_hardening=0
5496 fi
5497fi
5498
5499
5500# We use -Werror for the tests only so that we catch warnings like "this is
5501# on by default" for things like -fPIE.
5502{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror" >&5
5503$as_echo_n "checking if $CC supports -Werror... " >&6; }
5504saved_CFLAGS="$CFLAGS"
5505CFLAGS="$CFLAGS -Werror"
5506cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5507/* end confdefs.h. */
5508int main(void) { return 0; }
5509_ACEOF
5510if ac_fn_c_try_compile "$LINENO"; then :
5511 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5512$as_echo "yes" >&6; }
5513 WERROR="-Werror"
5514else
5515 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5516$as_echo "no" >&6; }
5517 WERROR=""
5518
5519fi
5520rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5521CFLAGS="$saved_CFLAGS"
5522
5523if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
5524 {
5525 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -pipe" >&5
5526$as_echo_n "checking if $CC supports compile flag -pipe... " >&6; }
5527 saved_CFLAGS="$CFLAGS"
5528 CFLAGS="$CFLAGS $WERROR -pipe"
5529 _define_flag=""
5530 test "x$_define_flag" = "x" && _define_flag="-pipe"
5531 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5532/* end confdefs.h. */
5533
5534#include <stdlib.h>
5535#include <stdio.h>
5536int main(int argc, char **argv) {
5537 /* Some math to catch -ftrapv problems in the toolchain */
5538 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5539 float l = i * 2.1;
5540 double m = l / 0.5;
5541 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5542 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5543 exit(0);
5544}
5545
5546_ACEOF
5547if ac_fn_c_try_compile "$LINENO"; then :
5548
5549if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5550then
5551 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5552$as_echo "no" >&6; }
5553 CFLAGS="$saved_CFLAGS"
5554else
5555 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5556$as_echo "yes" >&6; }
5557 CFLAGS="$saved_CFLAGS $_define_flag"
5558fi
5559else
5560 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5561$as_echo "no" >&6; }
5562 CFLAGS="$saved_CFLAGS"
5563
5564fi
5565rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5566}
5567 {
5568 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunknown-warning-option" >&5
5569$as_echo_n "checking if $CC supports compile flag -Wunknown-warning-option... " >&6; }
5570 saved_CFLAGS="$CFLAGS"
5571 CFLAGS="$CFLAGS $WERROR -Wunknown-warning-option"
5572 _define_flag=""
5573 test "x$_define_flag" = "x" && _define_flag="-Wunknown-warning-option"
5574 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5575/* end confdefs.h. */
5576
5577#include <stdlib.h>
5578#include <stdio.h>
5579int main(int argc, char **argv) {
5580 /* Some math to catch -ftrapv problems in the toolchain */
5581 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5582 float l = i * 2.1;
5583 double m = l / 0.5;
5584 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5585 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5586 exit(0);
5587}
5588
5589_ACEOF
5590if ac_fn_c_try_compile "$LINENO"; then :
5591
5592if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5593then
5594 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5595$as_echo "no" >&6; }
5596 CFLAGS="$saved_CFLAGS"
5597else
5598 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5599$as_echo "yes" >&6; }
5600 CFLAGS="$saved_CFLAGS $_define_flag"
5601fi
5602else
5603 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5604$as_echo "no" >&6; }
5605 CFLAGS="$saved_CFLAGS"
5606
5607fi
5608rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5609}
5610 {
5611 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wno-error=format-truncation" >&5
5612$as_echo_n "checking if $CC supports compile flag -Wno-error=format-truncation... " >&6; }
5613 saved_CFLAGS="$CFLAGS"
5614 CFLAGS="$CFLAGS $WERROR -Wno-error=format-truncation"
5615 _define_flag=""
5616 test "x$_define_flag" = "x" && _define_flag="-Wno-error=format-truncation"
5617 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5618/* end confdefs.h. */
5619
5620#include <stdlib.h>
5621#include <stdio.h>
5622int main(int argc, char **argv) {
5623 /* Some math to catch -ftrapv problems in the toolchain */
5624 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5625 float l = i * 2.1;
5626 double m = l / 0.5;
5627 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5628 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5629 exit(0);
5630}
5631
5632_ACEOF
5633if ac_fn_c_try_compile "$LINENO"; then :
5634
5635if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5636then
5637 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5638$as_echo "no" >&6; }
5639 CFLAGS="$saved_CFLAGS"
5640else
5641 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5642$as_echo "yes" >&6; }
5643 CFLAGS="$saved_CFLAGS $_define_flag"
5644fi
5645else
5646 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5647$as_echo "no" >&6; }
5648 CFLAGS="$saved_CFLAGS"
5649
5650fi
5651rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5652}
5653 {
5654 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Qunused-arguments" >&5
5655$as_echo_n "checking if $CC supports compile flag -Qunused-arguments... " >&6; }
5656 saved_CFLAGS="$CFLAGS"
5657 CFLAGS="$CFLAGS $WERROR -Qunused-arguments"
5658 _define_flag=""
5659 test "x$_define_flag" = "x" && _define_flag="-Qunused-arguments"
5660 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5661/* end confdefs.h. */
5662
5663#include <stdlib.h>
5664#include <stdio.h>
5665int main(int argc, char **argv) {
5666 /* Some math to catch -ftrapv problems in the toolchain */
5667 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5668 float l = i * 2.1;
5669 double m = l / 0.5;
5670 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5671 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5672 exit(0);
5673}
5674
5675_ACEOF
5676if ac_fn_c_try_compile "$LINENO"; then :
5677
5678if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5679then
5680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5681$as_echo "no" >&6; }
5682 CFLAGS="$saved_CFLAGS"
5683else
5684 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5685$as_echo "yes" >&6; }
5686 CFLAGS="$saved_CFLAGS $_define_flag"
5687fi
5688else
5689 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5690$as_echo "no" >&6; }
5691 CFLAGS="$saved_CFLAGS"
5692
5693fi
5694rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5695}
5696 {
5697 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wall" >&5
5698$as_echo_n "checking if $CC supports compile flag -Wall... " >&6; }
5699 saved_CFLAGS="$CFLAGS"
5700 CFLAGS="$CFLAGS $WERROR -Wall"
5701 _define_flag=""
5702 test "x$_define_flag" = "x" && _define_flag="-Wall"
5703 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5704/* end confdefs.h. */
5705
5706#include <stdlib.h>
5707#include <stdio.h>
5708int main(int argc, char **argv) {
5709 /* Some math to catch -ftrapv problems in the toolchain */
5710 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5711 float l = i * 2.1;
5712 double m = l / 0.5;
5713 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5714 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5715 exit(0);
5716}
5717
5718_ACEOF
5719if ac_fn_c_try_compile "$LINENO"; then :
5720
5721if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5722then
5723 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5724$as_echo "no" >&6; }
5725 CFLAGS="$saved_CFLAGS"
5726else
5727 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5728$as_echo "yes" >&6; }
5729 CFLAGS="$saved_CFLAGS $_define_flag"
5730fi
5731else
5732 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5733$as_echo "no" >&6; }
5734 CFLAGS="$saved_CFLAGS"
5735
5736fi
5737rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5738}
5739 {
5740 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wextra" >&5
5741$as_echo_n "checking if $CC supports compile flag -Wextra... " >&6; }
5742 saved_CFLAGS="$CFLAGS"
5743 CFLAGS="$CFLAGS $WERROR -Wextra"
5744 _define_flag=""
5745 test "x$_define_flag" = "x" && _define_flag="-Wextra"
5746 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5747/* end confdefs.h. */
5748
5749#include <stdlib.h>
5750#include <stdio.h>
5751int main(int argc, char **argv) {
5752 /* Some math to catch -ftrapv problems in the toolchain */
5753 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5754 float l = i * 2.1;
5755 double m = l / 0.5;
5756 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5757 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5758 exit(0);
5759}
5760
5761_ACEOF
5762if ac_fn_c_try_compile "$LINENO"; then :
5763
5764if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5765then
5766 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5767$as_echo "no" >&6; }
5768 CFLAGS="$saved_CFLAGS"
5769else
5770 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5771$as_echo "yes" >&6; }
5772 CFLAGS="$saved_CFLAGS $_define_flag"
5773fi
5774else
5775 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5776$as_echo "no" >&6; }
5777 CFLAGS="$saved_CFLAGS"
5778
5779fi
5780rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5781}
5782 {
5783 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-arith" >&5
5784$as_echo_n "checking if $CC supports compile flag -Wpointer-arith... " >&6; }
5785 saved_CFLAGS="$CFLAGS"
5786 CFLAGS="$CFLAGS $WERROR -Wpointer-arith"
5787 _define_flag=""
5788 test "x$_define_flag" = "x" && _define_flag="-Wpointer-arith"
5789 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5790/* end confdefs.h. */
5791
5792#include <stdlib.h>
5793#include <stdio.h>
5794int main(int argc, char **argv) {
5795 /* Some math to catch -ftrapv problems in the toolchain */
5796 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5797 float l = i * 2.1;
5798 double m = l / 0.5;
5799 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5800 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5801 exit(0);
5802}
5803
5804_ACEOF
5805if ac_fn_c_try_compile "$LINENO"; then :
5806
5807if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5808then
5809 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5810$as_echo "no" >&6; }
5811 CFLAGS="$saved_CFLAGS"
5812else
5813 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5814$as_echo "yes" >&6; }
5815 CFLAGS="$saved_CFLAGS $_define_flag"
5816fi
5817else
5818 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5819$as_echo "no" >&6; }
5820 CFLAGS="$saved_CFLAGS"
5821
5822fi
5823rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5824}
5825 {
5826 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wuninitialized" >&5
5827$as_echo_n "checking if $CC supports compile flag -Wuninitialized... " >&6; }
5828 saved_CFLAGS="$CFLAGS"
5829 CFLAGS="$CFLAGS $WERROR -Wuninitialized"
5830 _define_flag=""
5831 test "x$_define_flag" = "x" && _define_flag="-Wuninitialized"
5832 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5833/* end confdefs.h. */
5834
5835#include <stdlib.h>
5836#include <stdio.h>
5837int main(int argc, char **argv) {
5838 /* Some math to catch -ftrapv problems in the toolchain */
5839 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5840 float l = i * 2.1;
5841 double m = l / 0.5;
5842 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5843 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5844 exit(0);
5845}
5846
5847_ACEOF
5848if ac_fn_c_try_compile "$LINENO"; then :
5849
5850if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5851then
5852 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5853$as_echo "no" >&6; }
5854 CFLAGS="$saved_CFLAGS"
5855else
5856 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5857$as_echo "yes" >&6; }
5858 CFLAGS="$saved_CFLAGS $_define_flag"
5859fi
5860else
5861 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5862$as_echo "no" >&6; }
5863 CFLAGS="$saved_CFLAGS"
5864
5865fi
5866rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5867}
5868 {
5869 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsign-compare" >&5
5870$as_echo_n "checking if $CC supports compile flag -Wsign-compare... " >&6; }
5871 saved_CFLAGS="$CFLAGS"
5872 CFLAGS="$CFLAGS $WERROR -Wsign-compare"
5873 _define_flag=""
5874 test "x$_define_flag" = "x" && _define_flag="-Wsign-compare"
5875 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5876/* end confdefs.h. */
5877
5878#include <stdlib.h>
5879#include <stdio.h>
5880int main(int argc, char **argv) {
5881 /* Some math to catch -ftrapv problems in the toolchain */
5882 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5883 float l = i * 2.1;
5884 double m = l / 0.5;
5885 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5886 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5887 exit(0);
5888}
5889
5890_ACEOF
5891if ac_fn_c_try_compile "$LINENO"; then :
5892
5893if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5894then
5895 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5896$as_echo "no" >&6; }
5897 CFLAGS="$saved_CFLAGS"
5898else
5899 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5900$as_echo "yes" >&6; }
5901 CFLAGS="$saved_CFLAGS $_define_flag"
5902fi
5903else
5904 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5905$as_echo "no" >&6; }
5906 CFLAGS="$saved_CFLAGS"
5907
5908fi
5909rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5910}
5911 {
5912 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wformat-security" >&5
5913$as_echo_n "checking if $CC supports compile flag -Wformat-security... " >&6; }
5914 saved_CFLAGS="$CFLAGS"
5915 CFLAGS="$CFLAGS $WERROR -Wformat-security"
5916 _define_flag=""
5917 test "x$_define_flag" = "x" && _define_flag="-Wformat-security"
5918 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5919/* end confdefs.h. */
5920
5921#include <stdlib.h>
5922#include <stdio.h>
5923int main(int argc, char **argv) {
5924 /* Some math to catch -ftrapv problems in the toolchain */
5925 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5926 float l = i * 2.1;
5927 double m = l / 0.5;
5928 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5929 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5930 exit(0);
5931}
5932
5933_ACEOF
5934if ac_fn_c_try_compile "$LINENO"; then :
5935
5936if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5937then
5938 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5939$as_echo "no" >&6; }
5940 CFLAGS="$saved_CFLAGS"
5941else
5942 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5943$as_echo "yes" >&6; }
5944 CFLAGS="$saved_CFLAGS $_define_flag"
5945fi
5946else
5947 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5948$as_echo "no" >&6; }
5949 CFLAGS="$saved_CFLAGS"
5950
5951fi
5952rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5953}
5954 {
5955 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsizeof-pointer-memaccess" >&5
5956$as_echo_n "checking if $CC supports compile flag -Wsizeof-pointer-memaccess... " >&6; }
5957 saved_CFLAGS="$CFLAGS"
5958 CFLAGS="$CFLAGS $WERROR -Wsizeof-pointer-memaccess"
5959 _define_flag=""
5960 test "x$_define_flag" = "x" && _define_flag="-Wsizeof-pointer-memaccess"
5961 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5962/* end confdefs.h. */
5963
5964#include <stdlib.h>
5965#include <stdio.h>
5966int main(int argc, char **argv) {
5967 /* Some math to catch -ftrapv problems in the toolchain */
5968 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5969 float l = i * 2.1;
5970 double m = l / 0.5;
5971 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5972 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5973 exit(0);
5974}
5975
5976_ACEOF
5977if ac_fn_c_try_compile "$LINENO"; then :
5978
5979if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5980then
5981 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5982$as_echo "no" >&6; }
5983 CFLAGS="$saved_CFLAGS"
5984else
5985 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5986$as_echo "yes" >&6; }
5987 CFLAGS="$saved_CFLAGS $_define_flag"
5988fi
5989else
5990 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5991$as_echo "no" >&6; }
5992 CFLAGS="$saved_CFLAGS"
5993
5994fi
5995rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5996}
5997 {
5998 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-sign" >&5
5999$as_echo_n "checking if $CC supports compile flag -Wpointer-sign... " >&6; }
6000 saved_CFLAGS="$CFLAGS"
6001 CFLAGS="$CFLAGS $WERROR -Wpointer-sign"
6002 _define_flag="-Wno-pointer-sign"
6003 test "x$_define_flag" = "x" && _define_flag="-Wpointer-sign"
6004 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6005/* end confdefs.h. */
6006
6007#include <stdlib.h>
6008#include <stdio.h>
6009int main(int argc, char **argv) {
6010 /* Some math to catch -ftrapv problems in the toolchain */
6011 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6012 float l = i * 2.1;
6013 double m = l / 0.5;
6014 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6015 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6016 exit(0);
6017}
6018
6019_ACEOF
6020if ac_fn_c_try_compile "$LINENO"; then :
6021
6022if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6023then
6024 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6025$as_echo "no" >&6; }
6026 CFLAGS="$saved_CFLAGS"
6027else
6028 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6029$as_echo "yes" >&6; }
6030 CFLAGS="$saved_CFLAGS $_define_flag"
6031fi
6032else
6033 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6034$as_echo "no" >&6; }
6035 CFLAGS="$saved_CFLAGS"
6036
6037fi
6038rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6039}
6040 {
6041 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunused-result" >&5
6042$as_echo_n "checking if $CC supports compile flag -Wunused-result... " >&6; }
6043 saved_CFLAGS="$CFLAGS"
6044 CFLAGS="$CFLAGS $WERROR -Wunused-result"
6045 _define_flag="-Wno-unused-result"
6046 test "x$_define_flag" = "x" && _define_flag="-Wunused-result"
6047 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6048/* end confdefs.h. */
6049
6050#include <stdlib.h>
6051#include <stdio.h>
6052int main(int argc, char **argv) {
6053 /* Some math to catch -ftrapv problems in the toolchain */
6054 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6055 float l = i * 2.1;
6056 double m = l / 0.5;
6057 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6058 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6059 exit(0);
6060}
6061
6062_ACEOF
6063if ac_fn_c_try_compile "$LINENO"; then :
6064
6065if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6066then
6067 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6068$as_echo "no" >&6; }
6069 CFLAGS="$saved_CFLAGS"
6070else
6071 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6072$as_echo "yes" >&6; }
6073 CFLAGS="$saved_CFLAGS $_define_flag"
6074fi
6075else
6076 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6077$as_echo "no" >&6; }
6078 CFLAGS="$saved_CFLAGS"
6079
6080fi
6081rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6082}
6083 {
6084 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wimplicit-fallthrough" >&5
6085$as_echo_n "checking if $CC supports compile flag -Wimplicit-fallthrough... " >&6; }
6086 saved_CFLAGS="$CFLAGS"
6087 CFLAGS="$CFLAGS $WERROR -Wimplicit-fallthrough"
6088 _define_flag=""
6089 test "x$_define_flag" = "x" && _define_flag="-Wimplicit-fallthrough"
6090 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6091/* end confdefs.h. */
6092
6093#include <stdlib.h>
6094#include <stdio.h>
6095int main(int argc, char **argv) {
6096 /* Some math to catch -ftrapv problems in the toolchain */
6097 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6098 float l = i * 2.1;
6099 double m = l / 0.5;
6100 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6101 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6102 exit(0);
6103}
6104
6105_ACEOF
6106if ac_fn_c_try_compile "$LINENO"; then :
6107
6108if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6109then
6110 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6111$as_echo "no" >&6; }
6112 CFLAGS="$saved_CFLAGS"
6113else
6114 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6115$as_echo "yes" >&6; }
6116 CFLAGS="$saved_CFLAGS $_define_flag"
6117fi
6118else
6119 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6120$as_echo "no" >&6; }
6121 CFLAGS="$saved_CFLAGS"
6122
6123fi
6124rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6125}
6126 {
6127 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fno-strict-aliasing" >&5
6128$as_echo_n "checking if $CC supports compile flag -fno-strict-aliasing... " >&6; }
6129 saved_CFLAGS="$CFLAGS"
6130 CFLAGS="$CFLAGS $WERROR -fno-strict-aliasing"
6131 _define_flag=""
6132 test "x$_define_flag" = "x" && _define_flag="-fno-strict-aliasing"
6133 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6134/* end confdefs.h. */
6135
6136#include <stdlib.h>
6137#include <stdio.h>
6138int main(int argc, char **argv) {
6139 /* Some math to catch -ftrapv problems in the toolchain */
6140 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6141 float l = i * 2.1;
6142 double m = l / 0.5;
6143 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6144 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6145 exit(0);
6146}
6147
6148_ACEOF
6149if ac_fn_c_try_compile "$LINENO"; then :
6150
6151if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6152then
6153 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6154$as_echo "no" >&6; }
6155 CFLAGS="$saved_CFLAGS"
6156else
6157 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6158$as_echo "yes" >&6; }
6159 CFLAGS="$saved_CFLAGS $_define_flag"
6160fi
6161else
6162 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6163$as_echo "no" >&6; }
6164 CFLAGS="$saved_CFLAGS"
6165
6166fi
6167rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6168}
6169 if test "x$use_toolchain_hardening" = "x1"; then
6170 {
6171 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -mretpoline" >&5
6172$as_echo_n "checking if $CC supports compile flag -mretpoline... " >&6; }
6173 saved_CFLAGS="$CFLAGS"
6174 CFLAGS="$CFLAGS $WERROR -mretpoline"
6175 _define_flag=""
6176 test "x$_define_flag" = "x" && _define_flag="-mretpoline"
6177 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6178/* end confdefs.h. */
6179
6180#include <stdlib.h>
6181#include <stdio.h>
6182int main(int argc, char **argv) {
6183 /* Some math to catch -ftrapv problems in the toolchain */
6184 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6185 float l = i * 2.1;
6186 double m = l / 0.5;
6187 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6188 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6189 exit(0);
6190}
6191
6192_ACEOF
6193if ac_fn_c_try_compile "$LINENO"; then :
6194
6195if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6196then
6197 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6198$as_echo "no" >&6; }
6199 CFLAGS="$saved_CFLAGS"
6200else
6201 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6202$as_echo "yes" >&6; }
6203 CFLAGS="$saved_CFLAGS $_define_flag"
6204fi
6205else
6206 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6207$as_echo "no" >&6; }
6208 CFLAGS="$saved_CFLAGS"
6209
6210fi
6211rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6212} # clang
6213 {
6214 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,retpolineplt" >&5
6215$as_echo_n "checking if $LD supports link flag -Wl,-z,retpolineplt... " >&6; }
6216 saved_LDFLAGS="$LDFLAGS"
6217 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,retpolineplt"
6218 _define_flag=""
6219 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,retpolineplt"
6220 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6221/* end confdefs.h. */
6222
6223#include <stdlib.h>
6224#include <stdio.h>
6225int main(int argc, char **argv) {
6226 /* Some math to catch -ftrapv problems in the toolchain */
6227 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6228 float l = i * 2.1;
6229 double m = l / 0.5;
6230 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6231 long long p = n * o;
6232 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6233 exit(0);
6234}
6235
6236_ACEOF
6237if ac_fn_c_try_link "$LINENO"; then :
6238
6239if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6240then
6241 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6242$as_echo "no" >&6; }
6243 LDFLAGS="$saved_LDFLAGS"
6244else
6245 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6246$as_echo "yes" >&6; }
6247 LDFLAGS="$saved_LDFLAGS $_define_flag"
6248fi
6249else
6250 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6251$as_echo "no" >&6; }
6252 LDFLAGS="$saved_LDFLAGS"
6253
6254fi
6255rm -f core conftest.err conftest.$ac_objext \
6256 conftest$ac_exeext conftest.$ac_ext
6257}
6258 {
6259 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -D_FORTIFY_SOURCE=2" >&5
6260$as_echo_n "checking if $CC supports compile flag -D_FORTIFY_SOURCE=2... " >&6; }
6261 saved_CFLAGS="$CFLAGS"
6262 CFLAGS="$CFLAGS $WERROR -D_FORTIFY_SOURCE=2"
6263 _define_flag=""
6264 test "x$_define_flag" = "x" && _define_flag="-D_FORTIFY_SOURCE=2"
6265 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6266/* end confdefs.h. */
6267
6268#include <stdlib.h>
6269#include <stdio.h>
6270int main(int argc, char **argv) {
6271 /* Some math to catch -ftrapv problems in the toolchain */
6272 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6273 float l = i * 2.1;
6274 double m = l / 0.5;
6275 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6276 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6277 exit(0);
6278}
6279
6280_ACEOF
6281if ac_fn_c_try_compile "$LINENO"; then :
6282
6283if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6284then
6285 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6286$as_echo "no" >&6; }
6287 CFLAGS="$saved_CFLAGS"
6288else
6289 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6290$as_echo "yes" >&6; }
6291 CFLAGS="$saved_CFLAGS $_define_flag"
6292fi
6293else
6294 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6295$as_echo "no" >&6; }
6296 CFLAGS="$saved_CFLAGS"
6297
6298fi
6299rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6300}
6301 {
6302 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,relro" >&5
6303$as_echo_n "checking if $LD supports link flag -Wl,-z,relro... " >&6; }
6304 saved_LDFLAGS="$LDFLAGS"
6305 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,relro"
6306 _define_flag=""
6307 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,relro"
6308 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6309/* end confdefs.h. */
6310
6311#include <stdlib.h>
6312#include <stdio.h>
6313int main(int argc, char **argv) {
6314 /* Some math to catch -ftrapv problems in the toolchain */
6315 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6316 float l = i * 2.1;
6317 double m = l / 0.5;
6318 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6319 long long p = n * o;
6320 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6321 exit(0);
6322}
6323
6324_ACEOF
6325if ac_fn_c_try_link "$LINENO"; then :
6326
6327if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6328then
6329 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6330$as_echo "no" >&6; }
6331 LDFLAGS="$saved_LDFLAGS"
6332else
6333 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6334$as_echo "yes" >&6; }
6335 LDFLAGS="$saved_LDFLAGS $_define_flag"
6336fi
6337else
6338 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6339$as_echo "no" >&6; }
6340 LDFLAGS="$saved_LDFLAGS"
6341
6342fi
6343rm -f core conftest.err conftest.$ac_objext \
6344 conftest$ac_exeext conftest.$ac_ext
6345}
6346 {
6347 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,now" >&5
6348$as_echo_n "checking if $LD supports link flag -Wl,-z,now... " >&6; }
6349 saved_LDFLAGS="$LDFLAGS"
6350 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,now"
6351 _define_flag=""
6352 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,now"
6353 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6354/* end confdefs.h. */
6355
6356#include <stdlib.h>
6357#include <stdio.h>
6358int main(int argc, char **argv) {
6359 /* Some math to catch -ftrapv problems in the toolchain */
6360 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6361 float l = i * 2.1;
6362 double m = l / 0.5;
6363 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6364 long long p = n * o;
6365 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6366 exit(0);
6367}
6368
6369_ACEOF
6370if ac_fn_c_try_link "$LINENO"; then :
6371
6372if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6373then
6374 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6375$as_echo "no" >&6; }
6376 LDFLAGS="$saved_LDFLAGS"
6377else
6378 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6379$as_echo "yes" >&6; }
6380 LDFLAGS="$saved_LDFLAGS $_define_flag"
6381fi
6382else
6383 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6384$as_echo "no" >&6; }
6385 LDFLAGS="$saved_LDFLAGS"
6386
6387fi
6388rm -f core conftest.err conftest.$ac_objext \
6389 conftest$ac_exeext conftest.$ac_ext
6390}
6391 {
6392 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,noexecstack" >&5
6393$as_echo_n "checking if $LD supports link flag -Wl,-z,noexecstack... " >&6; }
6394 saved_LDFLAGS="$LDFLAGS"
6395 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,noexecstack"
6396 _define_flag=""
6397 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,noexecstack"
6398 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6399/* end confdefs.h. */
6400
6401#include <stdlib.h>
6402#include <stdio.h>
6403int main(int argc, char **argv) {
6404 /* Some math to catch -ftrapv problems in the toolchain */
6405 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6406 float l = i * 2.1;
6407 double m = l / 0.5;
6408 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6409 long long p = n * o;
6410 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6411 exit(0);
6412}
6413
6414_ACEOF
6415if ac_fn_c_try_link "$LINENO"; then :
6416
6417if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6418then
6419 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6420$as_echo "no" >&6; }
6421 LDFLAGS="$saved_LDFLAGS"
6422else
6423 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6424$as_echo "yes" >&6; }
6425 LDFLAGS="$saved_LDFLAGS $_define_flag"
6426fi
6427else
6428 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6429$as_echo "no" >&6; }
6430 LDFLAGS="$saved_LDFLAGS"
6431
6432fi
6433rm -f core conftest.err conftest.$ac_objext \
6434 conftest$ac_exeext conftest.$ac_ext
6435}
6436 # NB. -ftrapv expects certain support functions to be present in
6437 # the compiler library (libgcc or similar) to detect integer operations
6438 # that can overflow. We must check that the result of enabling it
6439 # actually links. The test program compiled/linked includes a number
6440 # of integer operations that should exercise this.
6441 {
6442 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -ftrapv and linking succeeds" >&5
6443$as_echo_n "checking if $CC supports compile flag -ftrapv and linking succeeds... " >&6; }
6444 saved_CFLAGS="$CFLAGS"
6445 CFLAGS="$CFLAGS $WERROR -ftrapv"
6446 _define_flag=""
6447 test "x$_define_flag" = "x" && _define_flag="-ftrapv"
6448 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6449/* end confdefs.h. */
6450
6451#include <stdlib.h>
6452#include <stdio.h>
6453int main(int argc, char **argv) {
6454 /* Some math to catch -ftrapv problems in the toolchain */
6455 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6456 float l = i * 2.1;
6457 double m = l / 0.5;
6458 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6459 long long int p = n * o;
6460 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6461 exit(0);
6462}
6463
6464_ACEOF
6465if ac_fn_c_try_link "$LINENO"; then :
6466
6467if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6468then
6469 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6470$as_echo "no" >&6; }
6471 CFLAGS="$saved_CFLAGS"
6472else
6473 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6474$as_echo "yes" >&6; }
6475 CFLAGS="$saved_CFLAGS $_define_flag"
6476fi
6477else
6478 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6479$as_echo "no" >&6; }
6480 CFLAGS="$saved_CFLAGS"
6481
6482fi
6483rm -f core conftest.err conftest.$ac_objext \
6484 conftest$ac_exeext conftest.$ac_ext
6485}
6486 fi
6487 { $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc version" >&5
6488$as_echo_n "checking gcc version... " >&6; }
6489 GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'`
6490 case $GCC_VER in
6491 1.*) no_attrib_nonnull=1 ;;
6492 2.8* | 2.9*)
6493 no_attrib_nonnull=1
6494 ;;
6495 2.*) no_attrib_nonnull=1 ;;
6496 *) ;;
6497 esac
6498 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_VER" >&5
6499$as_echo "$GCC_VER" >&6; }
6500
6501 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -fno-builtin-memset" >&5
6502$as_echo_n "checking if $CC accepts -fno-builtin-memset... " >&6; }
6503 saved_CFLAGS="$CFLAGS"
6504 CFLAGS="$CFLAGS -fno-builtin-memset"
6505 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6506/* end confdefs.h. */
6507 #include <string.h>
6508int
6509main ()
6510{
6511 char b[10]; memset(b, 0, sizeof(b));
6512 ;
6513 return 0;
6514}
6515_ACEOF
6516if ac_fn_c_try_link "$LINENO"; then :
6517 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6518$as_echo "yes" >&6; }
6519else
6520 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6521$as_echo "no" >&6; }
6522 CFLAGS="$saved_CFLAGS"
6523
6524fi
6525rm -f core conftest.err conftest.$ac_objext \
6526 conftest$ac_exeext conftest.$ac_ext
6527
6528 # -fstack-protector-all doesn't always work for some GCC versions
6529 # and/or platforms, so we test if we can. If it's not supported
6530 # on a given platform gcc will emit a warning so we use -Werror.
6531 if test "x$use_stack_protector" = "x1"; then
6532 for t in -fstack-protector-strong -fstack-protector-all \
6533 -fstack-protector; do
6534 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports $t" >&5
6535$as_echo_n "checking if $CC supports $t... " >&6; }
6536 saved_CFLAGS="$CFLAGS"
6537 saved_LDFLAGS="$LDFLAGS"
6538 CFLAGS="$CFLAGS $t -Werror"
6539 LDFLAGS="$LDFLAGS $t -Werror"
6540 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6541/* end confdefs.h. */
6542
6543 #include <stdio.h>
6544 int func (int t) {char b[100]; snprintf(b,sizeof b,"%d",t); return t;}
6545
6546int
6547main ()
6548{
6549
6550 char x[256];
6551 snprintf(x, sizeof(x), "XXX%d", func(1));
6552
6553 ;
6554 return 0;
6555}
6556_ACEOF
6557if ac_fn_c_try_link "$LINENO"; then :
6558 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6559$as_echo "yes" >&6; }
6560 CFLAGS="$saved_CFLAGS $t"
6561 LDFLAGS="$saved_LDFLAGS $t"
6562 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $t works" >&5
6563$as_echo_n "checking if $t works... " >&6; }
6564 if test "$cross_compiling" = yes; then :
6565 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: cannot test" >&5
6566$as_echo "$as_me: WARNING: cross compiling: cannot test" >&2;}
6567 break
6568
6569else
6570 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6571/* end confdefs.h. */
6572
6573 #include <stdio.h>
6574 int func (int t) {char b[100]; snprintf(b,sizeof b,"%d",t); return t;}
6575
6576int
6577main ()
6578{
6579
6580 char x[256];
6581 snprintf(x, sizeof(x), "XXX%d", func(1));
6582
6583 ;
6584 return 0;
6585}
6586_ACEOF
6587if ac_fn_c_try_run "$LINENO"; then :
6588 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6589$as_echo "yes" >&6; }
6590 break
6591else
6592 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6593$as_echo "no" >&6; }
6594fi
6595rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
6596 conftest.$ac_objext conftest.beam conftest.$ac_ext
6597fi
6598
6599
6600else
6601 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6602$as_echo "no" >&6; }
6603
6604fi
6605rm -f core conftest.err conftest.$ac_objext \
6606 conftest$ac_exeext conftest.$ac_ext
6607 CFLAGS="$saved_CFLAGS"
6608 LDFLAGS="$saved_LDFLAGS"
6609 done
6610 fi
6611
6612 if test -z "$have_llong_max"; then
6613 # retry LLONG_MAX with -std=gnu99, needed on some Linuxes
6614 unset ac_cv_have_decl_LLONG_MAX
6615 saved_CFLAGS="$CFLAGS"
6616 CFLAGS="$CFLAGS -std=gnu99"
6617 ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h>
6618
6619"
6620if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then :
6621 have_llong_max=1
6622else
6623 CFLAGS="$saved_CFLAGS"
6624fi
6625
6626 fi
6627fi
6628
6629{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows __attribute__ on return types" >&5
6630$as_echo_n "checking if compiler allows __attribute__ on return types... " >&6; }
6631cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6632/* end confdefs.h. */
6633
6634#include <stdlib.h>
6635__attribute__((__unused__)) static void foo(void){return;}
6636int
6637main ()
6638{
6639 exit(0);
6640 ;
6641 return 0;
6642}
6643_ACEOF
6644if ac_fn_c_try_compile "$LINENO"; then :
6645 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6646$as_echo "yes" >&6; }
6647else
6648 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6649$as_echo "no" >&6; }
6650
6651$as_echo "#define NO_ATTRIBUTE_ON_RETURN_TYPE 1" >>confdefs.h
6652
6653
6654fi
6655rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6656
6657{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows __attribute__ prototype args" >&5
6658$as_echo_n "checking if compiler allows __attribute__ prototype args... " >&6; }
6659cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6660/* end confdefs.h. */
6661
6662#include <stdlib.h>
6663typedef void foo(const char *, ...) __attribute__((format(printf, 1, 2)));
6664int
6665main ()
6666{
6667 exit(0);
6668 ;
6669 return 0;
6670}
6671_ACEOF
6672if ac_fn_c_try_compile "$LINENO"; then :
6673 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6674$as_echo "yes" >&6; }
6675else
6676 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6677$as_echo "no" >&6; }
6678
6679$as_echo "#define NO_ATTRIBUTE_ON_PROTOTYPE_ARGS 1" >>confdefs.h
6680
6681
6682fi
6683rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6684
6685if test "x$no_attrib_nonnull" != "x1" ; then
6686
6687$as_echo "#define HAVE_ATTRIBUTE__NONNULL__ 1" >>confdefs.h
6688
6689fi
6690
6691
6692# Check whether --with-rpath was given.
6693if test "${with_rpath+set}" = set; then :
6694 withval=$with_rpath;
6695 if test "x$withval" = "xno" ; then
6696 rpath_opt=""
6697 elif test "x$withval" = "xyes" ; then
6698 rpath_opt="-R"
6699 else
6700 rpath_opt="$withval"
6701 fi
6702
6703
6704fi
6705
6706
6707# Allow user to specify flags
6708
6709# Check whether --with-cflags was given.
6710if test "${with_cflags+set}" = set; then :
6711 withval=$with_cflags;
6712 if test -n "$withval" && test "x$withval" != "xno" && \
6713 test "x${withval}" != "xyes"; then
6714 CFLAGS="$CFLAGS $withval"
6715 fi
6716
6717
6718fi
6719
6720
6721
6722# Check whether --with-cflags-after was given.
6723if test "${with_cflags_after+set}" = set; then :
6724 withval=$with_cflags_after;
6725 if test -n "$withval" && test "x$withval" != "xno" && \
6726 test "x${withval}" != "xyes"; then
6727 CFLAGS_AFTER="$withval"
6728 fi
6729
6730
6731fi
6732
6733
6734# Check whether --with-cppflags was given.
6735if test "${with_cppflags+set}" = set; then :
6736 withval=$with_cppflags;
6737 if test -n "$withval" && test "x$withval" != "xno" && \
6738 test "x${withval}" != "xyes"; then
6739 CPPFLAGS="$CPPFLAGS $withval"
6740 fi
6741
6742
6743fi
6744
6745
6746# Check whether --with-ldflags was given.
6747if test "${with_ldflags+set}" = set; then :
6748 withval=$with_ldflags;
6749 if test -n "$withval" && test "x$withval" != "xno" && \
6750 test "x${withval}" != "xyes"; then
6751 LDFLAGS="$LDFLAGS $withval"
6752 fi
6753
6754
6755fi
6756
6757
6758# Check whether --with-ldflags-after was given.
6759if test "${with_ldflags_after+set}" = set; then :
6760 withval=$with_ldflags_after;
6761 if test -n "$withval" && test "x$withval" != "xno" && \
6762 test "x${withval}" != "xyes"; then
6763 LDFLAGS_AFTER="$withval"
6764 fi
6765
6766
6767fi
6768
6769
6770# Check whether --with-libs was given.
6771if test "${with_libs+set}" = set; then :
6772 withval=$with_libs;
6773 if test -n "$withval" && test "x$withval" != "xno" && \
6774 test "x${withval}" != "xyes"; then
6775 LIBS="$LIBS $withval"
6776 fi
6777
6778
6779fi
6780
6781
6782# Check whether --with-Werror was given.
6783if test "${with_Werror+set}" = set; then :
6784 withval=$with_Werror;
6785 if test -n "$withval" && test "x$withval" != "xno"; then
6786 werror_flags="-Werror"
6787 if test "x${withval}" != "xyes"; then
6788 werror_flags="$withval"
6789 fi
6790 fi
6791
6792
6793fi
6794
6795
6796for ac_header in \
6797 blf.h \
6798 bstring.h \
6799 crypt.h \
6800 crypto/sha2.h \
6801 dirent.h \
6802 endian.h \
6803 elf.h \
6804 err.h \
6805 features.h \
6806 fcntl.h \
6807 floatingpoint.h \
6808 fnmatch.h \
6809 getopt.h \
6810 glob.h \
6811 ia.h \
6812 iaf.h \
6813 ifaddrs.h \
6814 inttypes.h \
6815 langinfo.h \
6816 limits.h \
6817 locale.h \
6818 login.h \
6819 maillock.h \
6820 ndir.h \
6821 net/if_tun.h \
6822 netdb.h \
6823 netgroup.h \
6824 pam/pam_appl.h \
6825 paths.h \
6826 poll.h \
6827 pty.h \
6828 readpassphrase.h \
6829 rpc/types.h \
6830 security/pam_appl.h \
6831 sha2.h \
6832 shadow.h \
6833 stddef.h \
6834 stdint.h \
6835 string.h \
6836 strings.h \
6837 sys/bitypes.h \
6838 sys/byteorder.h \
6839 sys/bsdtty.h \
6840 sys/cdefs.h \
6841 sys/dir.h \
6842 sys/file.h \
6843 sys/mman.h \
6844 sys/label.h \
6845 sys/ndir.h \
6846 sys/poll.h \
6847 sys/prctl.h \
6848 sys/pstat.h \
6849 sys/ptrace.h \
6850 sys/random.h \
6851 sys/select.h \
6852 sys/stat.h \
6853 sys/stream.h \
6854 sys/stropts.h \
6855 sys/strtio.h \
6856 sys/statvfs.h \
6857 sys/sysmacros.h \
6858 sys/time.h \
6859 sys/timers.h \
6860 sys/vfs.h \
6861 time.h \
6862 tmpdir.h \
6863 ttyent.h \
6864 ucred.h \
6865 unistd.h \
6866 usersec.h \
6867 util.h \
6868 utime.h \
6869 utmp.h \
6870 utmpx.h \
6871 vis.h \
6872 wchar.h \
6873
6874do :
6875 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
6876ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
6877if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
6878 cat >>confdefs.h <<_ACEOF
6879#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
6880_ACEOF
6881
6882fi
6883
6884done
6885
6886
6887# On some platforms (eg SunOS4) sys/audit.h requires sys/[time|types|label.h]
6888# to be included first.
6889for ac_header in sys/audit.h
6890do :
6891 ac_fn_c_check_header_compile "$LINENO" "sys/audit.h" "ac_cv_header_sys_audit_h" "
6892#ifdef HAVE_SYS_TIME_H
6893# include <sys/time.h>
6894#endif
6895#ifdef HAVE_SYS_TYPES_H
6896# include <sys/types.h>
6897#endif
6898#ifdef HAVE_SYS_LABEL_H
6899# include <sys/label.h>
6900#endif
6901
6902"
6903if test "x$ac_cv_header_sys_audit_h" = xyes; then :
6904 cat >>confdefs.h <<_ACEOF
6905#define HAVE_SYS_AUDIT_H 1
6906_ACEOF
6907
6908fi
6909
6910done
6911
6912
6913# sys/capsicum.h requires sys/types.h
6914for ac_header in sys/capsicum.h
6915do :
6916 ac_fn_c_check_header_compile "$LINENO" "sys/capsicum.h" "ac_cv_header_sys_capsicum_h" "
6917#ifdef HAVE_SYS_TYPES_H
6918# include <sys/types.h>
6919#endif
6920
6921"
6922if test "x$ac_cv_header_sys_capsicum_h" = xyes; then :
6923 cat >>confdefs.h <<_ACEOF
6924#define HAVE_SYS_CAPSICUM_H 1
6925_ACEOF
6926
6927fi
6928
6929done
6930
6931
6932# net/route.h requires sys/socket.h and sys/types.h.
6933# sys/sysctl.h also requires sys/param.h
6934for ac_header in net/route.h sys/sysctl.h
6935do :
6936 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
6937ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
6938#ifdef HAVE_SYS_TYPES_H
6939# include <sys/types.h>
6940#endif
6941#include <sys/param.h>
6942#include <sys/socket.h>
6943
6944"
6945if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
6946 cat >>confdefs.h <<_ACEOF
6947#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
6948_ACEOF
6949
6950fi
6951
6952done
6953
6954
6955# lastlog.h requires sys/time.h to be included first on Solaris
6956for ac_header in lastlog.h
6957do :
6958 ac_fn_c_check_header_compile "$LINENO" "lastlog.h" "ac_cv_header_lastlog_h" "
6959#ifdef HAVE_SYS_TIME_H
6960# include <sys/time.h>
6961#endif
6962
6963"
6964if test "x$ac_cv_header_lastlog_h" = xyes; then :
6965 cat >>confdefs.h <<_ACEOF
6966#define HAVE_LASTLOG_H 1
6967_ACEOF
6968
6969fi
6970
6971done
6972
6973
6974# sys/ptms.h requires sys/stream.h to be included first on Solaris
6975for ac_header in sys/ptms.h
6976do :
6977 ac_fn_c_check_header_compile "$LINENO" "sys/ptms.h" "ac_cv_header_sys_ptms_h" "
6978#ifdef HAVE_SYS_STREAM_H
6979# include <sys/stream.h>
6980#endif
6981
6982"
6983if test "x$ac_cv_header_sys_ptms_h" = xyes; then :
6984 cat >>confdefs.h <<_ACEOF
6985#define HAVE_SYS_PTMS_H 1
6986_ACEOF
6987
6988fi
6989
6990done
6991
6992
6993# login_cap.h requires sys/types.h on NetBSD
6994for ac_header in login_cap.h
6995do :
6996 ac_fn_c_check_header_compile "$LINENO" "login_cap.h" "ac_cv_header_login_cap_h" "
6997#include <sys/types.h>
6998
6999"
7000if test "x$ac_cv_header_login_cap_h" = xyes; then :
7001 cat >>confdefs.h <<_ACEOF
7002#define HAVE_LOGIN_CAP_H 1
7003_ACEOF
7004
7005fi
7006
7007done
7008
7009
7010# older BSDs need sys/param.h before sys/mount.h
7011for ac_header in sys/mount.h
7012do :
7013 ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "
7014#include <sys/param.h>
7015
7016"
7017if test "x$ac_cv_header_sys_mount_h" = xyes; then :
7018 cat >>confdefs.h <<_ACEOF
7019#define HAVE_SYS_MOUNT_H 1
7020_ACEOF
7021
7022fi
7023
7024done
7025
7026
7027# Android requires sys/socket.h to be included before sys/un.h
7028for ac_header in sys/un.h
7029do :
7030 ac_fn_c_check_header_compile "$LINENO" "sys/un.h" "ac_cv_header_sys_un_h" "
7031#include <sys/types.h>
7032#include <sys/socket.h>
7033
7034"
7035if test "x$ac_cv_header_sys_un_h" = xyes; then :
7036 cat >>confdefs.h <<_ACEOF
7037#define HAVE_SYS_UN_H 1
7038_ACEOF
7039
7040fi
7041
7042done
7043
7044
7045# Messages for features tested for in target-specific section
7046SIA_MSG="no"
7047SPC_MSG="no"
7048SP_MSG="no"
7049SPP_MSG="no"
7050
7051# Support for Solaris/Illumos privileges (this test is used by both
7052# the --with-solaris-privs option and --with-sandbox=solaris).
7053SOLARIS_PRIVS="no"
7054
7055# Check for some target-specific stuff
7056case "$host" in
7057*-*-aix*)
7058 # Some versions of VAC won't allow macro redefinitions at
7059 # -qlanglevel=ansi, and autoconf 2.60 sometimes insists on using that
7060 # particularly with older versions of vac or xlc.
7061 # It also throws errors about null macro arguments, but these are
7062 # not fatal.
7063 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows macro redefinitions" >&5
7064$as_echo_n "checking if compiler allows macro redefinitions... " >&6; }
7065 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7066/* end confdefs.h. */
7067
7068#define testmacro foo
7069#define testmacro bar
7070int
7071main ()
7072{
7073 exit(0);
7074 ;
7075 return 0;
7076}
7077_ACEOF
7078if ac_fn_c_try_compile "$LINENO"; then :
7079 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7080$as_echo "yes" >&6; }
7081else
7082 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7083$as_echo "no" >&6; }
7084 CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`"
7085 CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`"
7086 CPPFLAGS="`echo $CPPFLAGS | sed 's/-qlanglvl\=ansi//g'`"
7087
7088
7089fi
7090rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7091
7092 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to specify blibpath for linker ($LD)" >&5
7093$as_echo_n "checking how to specify blibpath for linker ($LD)... " >&6; }
7094 if (test -z "$blibpath"); then
7095 blibpath="/usr/lib:/lib"
7096 fi
7097 saved_LDFLAGS="$LDFLAGS"
7098 if test "$GCC" = "yes"; then
7099 flags="-Wl,-blibpath: -Wl,-rpath, -blibpath:"
7100 else
7101 flags="-blibpath: -Wl,-blibpath: -Wl,-rpath,"
7102 fi
7103 for tryflags in $flags ;do
7104 if (test -z "$blibflags"); then
7105 LDFLAGS="$saved_LDFLAGS $tryflags$blibpath"
7106 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7107/* end confdefs.h. */
7108
7109int
7110main ()
7111{
7112
7113 ;
7114 return 0;
7115}
7116_ACEOF
7117if ac_fn_c_try_link "$LINENO"; then :
7118 blibflags=$tryflags
7119fi
7120rm -f core conftest.err conftest.$ac_objext \
7121 conftest$ac_exeext conftest.$ac_ext
7122 fi
7123 done
7124 if (test -z "$blibflags"); then
7125 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
7126$as_echo "not found" >&6; }
7127 as_fn_error $? "*** must be able to specify blibpath on AIX - check config.log" "$LINENO" 5
7128 else
7129 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $blibflags" >&5
7130$as_echo "$blibflags" >&6; }
7131 fi
7132 LDFLAGS="$saved_LDFLAGS"
7133 ac_fn_c_check_func "$LINENO" "authenticate" "ac_cv_func_authenticate"
7134if test "x$ac_cv_func_authenticate" = xyes; then :
7135
7136$as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h
7137
7138else
7139 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for authenticate in -ls" >&5
7140$as_echo_n "checking for authenticate in -ls... " >&6; }
7141if ${ac_cv_lib_s_authenticate+:} false; then :
7142 $as_echo_n "(cached) " >&6
7143else
7144 ac_check_lib_save_LIBS=$LIBS
7145LIBS="-ls $LIBS"
7146cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7147/* end confdefs.h. */
7148
7149/* Override any GCC internal prototype to avoid an error.
7150 Use char because int might match the return type of a GCC
7151 builtin and then its argument prototype would still apply. */
7152#ifdef __cplusplus
7153extern "C"
7154#endif
7155char authenticate ();
7156int
7157main ()
7158{
7159return authenticate ();
7160 ;
7161 return 0;
7162}
7163_ACEOF
7164if ac_fn_c_try_link "$LINENO"; then :
7165 ac_cv_lib_s_authenticate=yes
7166else
7167 ac_cv_lib_s_authenticate=no
7168fi
7169rm -f core conftest.err conftest.$ac_objext \
7170 conftest$ac_exeext conftest.$ac_ext
7171LIBS=$ac_check_lib_save_LIBS
7172fi
7173{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_s_authenticate" >&5
7174$as_echo "$ac_cv_lib_s_authenticate" >&6; }
7175if test "x$ac_cv_lib_s_authenticate" = xyes; then :
7176 $as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h
7177
7178 LIBS="$LIBS -ls"
7179
7180fi
7181
7182
7183fi
7184
7185 ac_fn_c_check_decl "$LINENO" "authenticate" "ac_cv_have_decl_authenticate" "#include <usersec.h>
7186"
7187if test "x$ac_cv_have_decl_authenticate" = xyes; then :
7188 ac_have_decl=1
7189else
7190 ac_have_decl=0
7191fi
7192
7193cat >>confdefs.h <<_ACEOF
7194#define HAVE_DECL_AUTHENTICATE $ac_have_decl
7195_ACEOF
7196ac_fn_c_check_decl "$LINENO" "loginrestrictions" "ac_cv_have_decl_loginrestrictions" "#include <usersec.h>
7197"
7198if test "x$ac_cv_have_decl_loginrestrictions" = xyes; then :
7199 ac_have_decl=1
7200else
7201 ac_have_decl=0
7202fi
7203
7204cat >>confdefs.h <<_ACEOF
7205#define HAVE_DECL_LOGINRESTRICTIONS $ac_have_decl
7206_ACEOF
7207ac_fn_c_check_decl "$LINENO" "loginsuccess" "ac_cv_have_decl_loginsuccess" "#include <usersec.h>
7208"
7209if test "x$ac_cv_have_decl_loginsuccess" = xyes; then :
7210 ac_have_decl=1
7211else
7212 ac_have_decl=0
7213fi
7214
7215cat >>confdefs.h <<_ACEOF
7216#define HAVE_DECL_LOGINSUCCESS $ac_have_decl
7217_ACEOF
7218ac_fn_c_check_decl "$LINENO" "passwdexpired" "ac_cv_have_decl_passwdexpired" "#include <usersec.h>
7219"
7220if test "x$ac_cv_have_decl_passwdexpired" = xyes; then :
7221 ac_have_decl=1
7222else
7223 ac_have_decl=0
7224fi
7225
7226cat >>confdefs.h <<_ACEOF
7227#define HAVE_DECL_PASSWDEXPIRED $ac_have_decl
7228_ACEOF
7229ac_fn_c_check_decl "$LINENO" "setauthdb" "ac_cv_have_decl_setauthdb" "#include <usersec.h>
7230"
7231if test "x$ac_cv_have_decl_setauthdb" = xyes; then :
7232 ac_have_decl=1
7233else
7234 ac_have_decl=0
7235fi
7236
7237cat >>confdefs.h <<_ACEOF
7238#define HAVE_DECL_SETAUTHDB $ac_have_decl
7239_ACEOF
7240
7241 ac_fn_c_check_decl "$LINENO" "loginfailed" "ac_cv_have_decl_loginfailed" "#include <usersec.h>
7242
7243"
7244if test "x$ac_cv_have_decl_loginfailed" = xyes; then :
7245 ac_have_decl=1
7246else
7247 ac_have_decl=0
7248fi
7249
7250cat >>confdefs.h <<_ACEOF
7251#define HAVE_DECL_LOGINFAILED $ac_have_decl
7252_ACEOF
7253if test $ac_have_decl = 1; then :
7254 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if loginfailed takes 4 arguments" >&5
7255$as_echo_n "checking if loginfailed takes 4 arguments... " >&6; }
7256 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7257/* end confdefs.h. */
7258 #include <usersec.h>
7259int
7260main ()
7261{
7262 (void)loginfailed("user","host","tty",0);
7263 ;
7264 return 0;
7265}
7266_ACEOF
7267if ac_fn_c_try_compile "$LINENO"; then :
7268 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7269$as_echo "yes" >&6; }
7270
7271$as_echo "#define AIX_LOGINFAILED_4ARG 1" >>confdefs.h
7272
7273else
7274 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7275$as_echo "no" >&6; }
7276
7277fi
7278rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7279fi
7280
7281 for ac_func in getgrset setauthdb
7282do :
7283 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
7284ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
7285if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
7286 cat >>confdefs.h <<_ACEOF
7287#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
7288_ACEOF
7289
7290fi
7291done
7292
7293 ac_fn_c_check_decl "$LINENO" "F_CLOSEM" "ac_cv_have_decl_F_CLOSEM" " #include <limits.h>
7294 #include <fcntl.h>
7295
7296"
7297if test "x$ac_cv_have_decl_F_CLOSEM" = xyes; then :
7298
7299$as_echo "#define HAVE_FCNTL_CLOSEM 1" >>confdefs.h
7300
7301fi
7302
7303 check_for_aix_broken_getaddrinfo=1
7304
7305$as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7306
7307
7308$as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7309
7310
7311$as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7312
7313
7314$as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
7315
7316
7317$as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
7318
7319
7320$as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7321
7322
7323$as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h
7324
7325
7326$as_echo "#define PTY_ZEROREAD 1" >>confdefs.h
7327
7328
7329$as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h
7330
7331
7332$as_echo "#define BROKEN_STRNDUP 1" >>confdefs.h
7333
7334
7335$as_echo "#define BROKEN_STRNLEN 1" >>confdefs.h
7336
7337 ;;
7338*-*-android*)
7339
7340$as_echo "#define DISABLE_UTMP 1" >>confdefs.h
7341
7342
7343$as_echo "#define DISABLE_WTMP 1" >>confdefs.h
7344
7345 ;;
7346*-*-cygwin*)
7347 check_for_libcrypt_later=1
7348 LIBS="$LIBS /usr/lib/textreadmode.o"
7349
7350$as_echo "#define HAVE_CYGWIN 1" >>confdefs.h
7351
7352
7353$as_echo "#define USE_PIPES 1" >>confdefs.h
7354
7355
7356$as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h
7357
7358
7359$as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
7360
7361
7362$as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h
7363
7364
7365$as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
7366
7367
7368$as_echo "#define SSH_IOBUFSZ 65535" >>confdefs.h
7369
7370
7371$as_echo "#define FILESYSTEM_NO_BACKSLASH 1" >>confdefs.h
7372
7373 # Cygwin defines optargs, optargs as declspec(dllimport) for historical
7374 # reasons which cause compile warnings, so we disable those warnings.
7375 {
7376 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wno-attributes" >&5
7377$as_echo_n "checking if $CC supports compile flag -Wno-attributes... " >&6; }
7378 saved_CFLAGS="$CFLAGS"
7379 CFLAGS="$CFLAGS $WERROR -Wno-attributes"
7380 _define_flag=""
7381 test "x$_define_flag" = "x" && _define_flag="-Wno-attributes"
7382 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7383/* end confdefs.h. */
7384
7385#include <stdlib.h>
7386#include <stdio.h>
7387int main(int argc, char **argv) {
7388 /* Some math to catch -ftrapv problems in the toolchain */
7389 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
7390 float l = i * 2.1;
7391 double m = l / 0.5;
7392 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
7393 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
7394 exit(0);
7395}
7396
7397_ACEOF
7398if ac_fn_c_try_compile "$LINENO"; then :
7399
7400if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
7401then
7402 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7403$as_echo "no" >&6; }
7404 CFLAGS="$saved_CFLAGS"
7405else
7406 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7407$as_echo "yes" >&6; }
7408 CFLAGS="$saved_CFLAGS $_define_flag"
7409fi
7410else
7411 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7412$as_echo "no" >&6; }
7413 CFLAGS="$saved_CFLAGS"
7414
7415fi
7416rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7417}
7418 ;;
7419*-*-dgux*)
7420
7421$as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h
7422
7423 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7424
7425 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7426
7427 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7428
7429 ;;
7430*-*-darwin*)
7431 use_pie=auto
7432 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we have working getaddrinfo" >&5
7433$as_echo_n "checking if we have working getaddrinfo... " >&6; }
7434 if test "$cross_compiling" = yes; then :
7435 { $as_echo "$as_me:${as_lineno-$LINENO}: result: assume it is working" >&5
7436$as_echo "assume it is working" >&6; }
7437else
7438 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7439/* end confdefs.h. */
7440 #include <mach-o/dyld.h>
7441main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
7442 exit(0);
7443 else
7444 exit(1);
7445}
7446
7447_ACEOF
7448if ac_fn_c_try_run "$LINENO"; then :
7449 { $as_echo "$as_me:${as_lineno-$LINENO}: result: working" >&5
7450$as_echo "working" >&6; }
7451else
7452 { $as_echo "$as_me:${as_lineno-$LINENO}: result: buggy" >&5
7453$as_echo "buggy" >&6; }
7454
7455$as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
7456
7457
7458fi
7459rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
7460 conftest.$ac_objext conftest.beam conftest.$ac_ext
7461fi
7462
7463 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7464
7465 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7466
7467 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7468
7469
7470$as_echo "#define BROKEN_GLOB 1" >>confdefs.h
7471
7472
7473cat >>confdefs.h <<_ACEOF
7474#define BIND_8_COMPAT 1
7475_ACEOF
7476
7477
7478$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
7479
7480
7481$as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h
7482
7483
7484$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
7485
7486
7487 ac_fn_c_check_decl "$LINENO" "AU_IPv4" "ac_cv_have_decl_AU_IPv4" "$ac_includes_default"
7488if test "x$ac_cv_have_decl_AU_IPv4" = xyes; then :
7489
7490else
7491
7492$as_echo "#define AU_IPv4 0" >>confdefs.h
7493
7494 #include <bsm/audit.h>
7495
7496$as_echo "#define LASTLOG_WRITE_PUTUTXLINE 1" >>confdefs.h
7497
7498
7499fi
7500
7501
7502$as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7503
7504 for ac_func in sandbox_init
7505do :
7506 ac_fn_c_check_func "$LINENO" "sandbox_init" "ac_cv_func_sandbox_init"
7507if test "x$ac_cv_func_sandbox_init" = xyes; then :
7508 cat >>confdefs.h <<_ACEOF
7509#define HAVE_SANDBOX_INIT 1
7510_ACEOF
7511
7512fi
7513done
7514
7515 for ac_header in sandbox.h
7516do :
7517 ac_fn_c_check_header_mongrel "$LINENO" "sandbox.h" "ac_cv_header_sandbox_h" "$ac_includes_default"
7518if test "x$ac_cv_header_sandbox_h" = xyes; then :
7519 cat >>confdefs.h <<_ACEOF
7520#define HAVE_SANDBOX_H 1
7521_ACEOF
7522
7523fi
7524
7525done
7526
7527 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sandbox_apply in -lsandbox" >&5
7528$as_echo_n "checking for sandbox_apply in -lsandbox... " >&6; }
7529if ${ac_cv_lib_sandbox_sandbox_apply+:} false; then :
7530 $as_echo_n "(cached) " >&6
7531else
7532 ac_check_lib_save_LIBS=$LIBS
7533LIBS="-lsandbox $LIBS"
7534cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7535/* end confdefs.h. */
7536
7537/* Override any GCC internal prototype to avoid an error.
7538 Use char because int might match the return type of a GCC
7539 builtin and then its argument prototype would still apply. */
7540#ifdef __cplusplus
7541extern "C"
7542#endif
7543char sandbox_apply ();
7544int
7545main ()
7546{
7547return sandbox_apply ();
7548 ;
7549 return 0;
7550}
7551_ACEOF
7552if ac_fn_c_try_link "$LINENO"; then :
7553 ac_cv_lib_sandbox_sandbox_apply=yes
7554else
7555 ac_cv_lib_sandbox_sandbox_apply=no
7556fi
7557rm -f core conftest.err conftest.$ac_objext \
7558 conftest$ac_exeext conftest.$ac_ext
7559LIBS=$ac_check_lib_save_LIBS
7560fi
7561{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sandbox_sandbox_apply" >&5
7562$as_echo "$ac_cv_lib_sandbox_sandbox_apply" >&6; }
7563if test "x$ac_cv_lib_sandbox_sandbox_apply" = xyes; then :
7564
7565 SSHDLIBS="$SSHDLIBS -lsandbox"
7566
7567fi
7568
7569 # proc_pidinfo()-based closefrom() replacement.
7570 for ac_header in libproc.h
7571do :
7572 ac_fn_c_check_header_mongrel "$LINENO" "libproc.h" "ac_cv_header_libproc_h" "$ac_includes_default"
7573if test "x$ac_cv_header_libproc_h" = xyes; then :
7574 cat >>confdefs.h <<_ACEOF
7575#define HAVE_LIBPROC_H 1
7576_ACEOF
7577
7578fi
7579
7580done
7581
7582 for ac_func in proc_pidinfo
7583do :
7584 ac_fn_c_check_func "$LINENO" "proc_pidinfo" "ac_cv_func_proc_pidinfo"
7585if test "x$ac_cv_func_proc_pidinfo" = xyes; then :
7586 cat >>confdefs.h <<_ACEOF
7587#define HAVE_PROC_PIDINFO 1
7588_ACEOF
7589
7590fi
7591done
7592
7593 ;;
7594*-*-dragonfly*)
7595 SSHDLIBS="$SSHDLIBS -lcrypt"
7596 TEST_MALLOC_OPTIONS="AFGJPRX"
7597 ;;
7598*-*-haiku*)
7599 LIBS="$LIBS -lbsd "
7600 CFLAGS="$CFLAGS -D_BSD_SOURCE"
7601 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lnetwork" >&5
7602$as_echo_n "checking for socket in -lnetwork... " >&6; }
7603if ${ac_cv_lib_network_socket+:} false; then :
7604 $as_echo_n "(cached) " >&6
7605else
7606 ac_check_lib_save_LIBS=$LIBS
7607LIBS="-lnetwork $LIBS"
7608cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7609/* end confdefs.h. */
7610
7611/* Override any GCC internal prototype to avoid an error.
7612 Use char because int might match the return type of a GCC
7613 builtin and then its argument prototype would still apply. */
7614#ifdef __cplusplus
7615extern "C"
7616#endif
7617char socket ();
7618int
7619main ()
7620{
7621return socket ();
7622 ;
7623 return 0;
7624}
7625_ACEOF
7626if ac_fn_c_try_link "$LINENO"; then :
7627 ac_cv_lib_network_socket=yes
7628else
7629 ac_cv_lib_network_socket=no
7630fi
7631rm -f core conftest.err conftest.$ac_objext \
7632 conftest$ac_exeext conftest.$ac_ext
7633LIBS=$ac_check_lib_save_LIBS
7634fi
7635{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_network_socket" >&5
7636$as_echo "$ac_cv_lib_network_socket" >&6; }
7637if test "x$ac_cv_lib_network_socket" = xyes; then :
7638 cat >>confdefs.h <<_ACEOF
7639#define HAVE_LIBNETWORK 1
7640_ACEOF
7641
7642 LIBS="-lnetwork $LIBS"
7643
7644fi
7645
7646 $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
7647
7648
7649$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
7650
7651 MANTYPE=man
7652 ;;
7653*-*-hpux*)
7654 # first we define all of the options common to all HP-UX releases
7655 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
7656 IPADDR_IN_DISPLAY=yes
7657 $as_echo "#define USE_PIPES 1" >>confdefs.h
7658
7659 $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
7660
7661
7662$as_echo "#define LOCKED_PASSWD_STRING \"*\"" >>confdefs.h
7663
7664 $as_echo "#define SPT_TYPE SPT_PSTAT" >>confdefs.h
7665
7666
7667$as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h
7668
7669 maildir="/var/mail"
7670 LIBS="$LIBS -lsec"
7671 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for t_error in -lxnet" >&5
7672$as_echo_n "checking for t_error in -lxnet... " >&6; }
7673if ${ac_cv_lib_xnet_t_error+:} false; then :
7674 $as_echo_n "(cached) " >&6
7675else
7676 ac_check_lib_save_LIBS=$LIBS
7677LIBS="-lxnet $LIBS"
7678cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7679/* end confdefs.h. */
7680
7681/* Override any GCC internal prototype to avoid an error.
7682 Use char because int might match the return type of a GCC
7683 builtin and then its argument prototype would still apply. */
7684#ifdef __cplusplus
7685extern "C"
7686#endif
7687char t_error ();
7688int
7689main ()
7690{
7691return t_error ();
7692 ;
7693 return 0;
7694}
7695_ACEOF
7696if ac_fn_c_try_link "$LINENO"; then :
7697 ac_cv_lib_xnet_t_error=yes
7698else
7699 ac_cv_lib_xnet_t_error=no
7700fi
7701rm -f core conftest.err conftest.$ac_objext \
7702 conftest$ac_exeext conftest.$ac_ext
7703LIBS=$ac_check_lib_save_LIBS
7704fi
7705{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xnet_t_error" >&5
7706$as_echo "$ac_cv_lib_xnet_t_error" >&6; }
7707if test "x$ac_cv_lib_xnet_t_error" = xyes; then :
7708 cat >>confdefs.h <<_ACEOF
7709#define HAVE_LIBXNET 1
7710_ACEOF
7711
7712 LIBS="-lxnet $LIBS"
7713
7714else
7715 as_fn_error $? "*** -lxnet needed on HP-UX - check config.log ***" "$LINENO" 5
7716fi
7717
7718
7719 # next, we define all of the options specific to major releases
7720 case "$host" in
7721 *-*-hpux10*)
7722 if test -z "$GCC"; then
7723 CFLAGS="$CFLAGS -Ae"
7724 fi
7725 ;;
7726 *-*-hpux11*)
7727
7728$as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
7729
7730
7731$as_echo "#define DISABLE_UTMP 1" >>confdefs.h
7732
7733
7734$as_echo "#define USE_BTMP 1" >>confdefs.h
7735
7736 check_for_hpux_broken_getaddrinfo=1
7737 check_for_conflicting_getspnam=1
7738 ;;
7739 esac
7740
7741 # lastly, we define options specific to minor releases
7742 case "$host" in
7743 *-*-hpux10.26)
7744
7745$as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h
7746
7747 disable_ptmx_check=yes
7748 LIBS="$LIBS -lsecpw"
7749 ;;
7750 esac
7751 ;;
7752*-*-irix5*)
7753 PATH="$PATH:/usr/etc"
7754
7755$as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h
7756
7757 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7758
7759 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7760
7761 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7762
7763
7764$as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
7765
7766 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
7767
7768 ;;
7769*-*-irix6*)
7770 PATH="$PATH:/usr/etc"
7771
7772$as_echo "#define WITH_IRIX_ARRAY 1" >>confdefs.h
7773
7774
7775$as_echo "#define WITH_IRIX_PROJECT 1" >>confdefs.h
7776
7777
7778$as_echo "#define WITH_IRIX_AUDIT 1" >>confdefs.h
7779
7780 ac_fn_c_check_func "$LINENO" "jlimit_startjob" "ac_cv_func_jlimit_startjob"
7781if test "x$ac_cv_func_jlimit_startjob" = xyes; then :
7782
7783$as_echo "#define WITH_IRIX_JOBS 1" >>confdefs.h
7784
7785fi
7786
7787 $as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h
7788
7789 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7790
7791 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7792
7793 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7794
7795
7796$as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
7797
7798 $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
7799
7800 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
7801
7802 ;;
7803*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
7804 check_for_libcrypt_later=1
7805 $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
7806
7807 $as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h
7808
7809 $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7810
7811
7812$as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h
7813
7814
7815$as_echo "#define USE_BTMP 1" >>confdefs.h
7816
7817 ;;
7818*-*-linux*)
7819 no_dev_ptmx=1
7820 use_pie=auto
7821 check_for_libcrypt_later=1
7822 check_for_openpty_ctty_bug=1
7823 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE"
7824
7825$as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
7826
7827
7828$as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h
7829
7830 $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7831
7832
7833$as_echo "#define LINK_OPNOTSUPP_ERRNO EPERM" >>confdefs.h
7834
7835
7836$as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h
7837
7838 $as_echo "#define USE_BTMP 1" >>confdefs.h
7839
7840
7841$as_echo "#define LINUX_OOM_ADJUST 1" >>confdefs.h
7842
7843 inet6_default_4in6=yes
7844 case `uname -r` in
7845 1.*|2.0.*)
7846
7847$as_echo "#define BROKEN_CMSG_TYPE 1" >>confdefs.h
7848
7849 ;;
7850 esac
7851 # tun(4) forwarding compat code
7852 for ac_header in linux/if_tun.h
7853do :
7854 ac_fn_c_check_header_mongrel "$LINENO" "linux/if_tun.h" "ac_cv_header_linux_if_tun_h" "$ac_includes_default"
7855if test "x$ac_cv_header_linux_if_tun_h" = xyes; then :
7856 cat >>confdefs.h <<_ACEOF
7857#define HAVE_LINUX_IF_TUN_H 1
7858_ACEOF
7859
7860fi
7861
7862done
7863
7864 if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then
7865
7866$as_echo "#define SSH_TUN_LINUX 1" >>confdefs.h
7867
7868
7869$as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h
7870
7871
7872$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
7873
7874 fi
7875 ac_fn_c_check_header_compile "$LINENO" "linux/if.h" "ac_cv_header_linux_if_h" "
7876#ifdef HAVE_SYS_TYPES_H
7877# include <sys/types.h>
7878#endif
7879
7880"
7881if test "x$ac_cv_header_linux_if_h" = xyes; then :
7882
7883$as_echo "#define SYS_RDOMAIN_LINUX 1" >>confdefs.h
7884
7885fi
7886
7887
7888 for ac_header in linux/seccomp.h linux/filter.h linux/audit.h
7889do :
7890 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
7891ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <linux/types.h>
7892"
7893if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
7894 cat >>confdefs.h <<_ACEOF
7895#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
7896_ACEOF
7897
7898fi
7899
7900done
7901
7902 # Obtain MIPS ABI
7903 case "$host" in
7904 mips*)
7905 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7906/* end confdefs.h. */
7907
7908#if _MIPS_SIM != _ABIO32
7909#error
7910#endif
7911
7912int
7913main ()
7914{
7915
7916 ;
7917 return 0;
7918}
7919_ACEOF
7920if ac_fn_c_try_compile "$LINENO"; then :
7921 mips_abi="o32"
7922else
7923 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7924/* end confdefs.h. */
7925
7926#if _MIPS_SIM != _ABIN32
7927#error
7928#endif
7929
7930int
7931main ()
7932{
7933
7934 ;
7935 return 0;
7936}
7937_ACEOF
7938if ac_fn_c_try_compile "$LINENO"; then :
7939 mips_abi="n32"
7940else
7941 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7942/* end confdefs.h. */
7943
7944#if _MIPS_SIM != _ABI64
7945#error
7946#endif
7947
7948int
7949main ()
7950{
7951
7952 ;
7953 return 0;
7954}
7955_ACEOF
7956if ac_fn_c_try_compile "$LINENO"; then :
7957 mips_abi="n64"
7958else
7959 as_fn_error $? "unknown MIPS ABI" "$LINENO" 5
7960
7961fi
7962rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7963
7964fi
7965rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7966
7967fi
7968rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7969 ;;
7970 esac
7971 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for seccomp architecture" >&5
7972$as_echo_n "checking for seccomp architecture... " >&6; }
7973 seccomp_audit_arch=
7974 case "$host" in
7975 x86_64-*)
7976 seccomp_audit_arch=AUDIT_ARCH_X86_64
7977 ;;
7978 i*86-*)
7979 seccomp_audit_arch=AUDIT_ARCH_I386
7980 ;;
7981 arm*-*)
7982 seccomp_audit_arch=AUDIT_ARCH_ARM
7983 ;;
7984 aarch64*-*)
7985 seccomp_audit_arch=AUDIT_ARCH_AARCH64
7986 ;;
7987 s390x-*)
7988 seccomp_audit_arch=AUDIT_ARCH_S390X
7989 ;;
7990 s390-*)
7991 seccomp_audit_arch=AUDIT_ARCH_S390
7992 ;;
7993 powerpc64-*)
7994 seccomp_audit_arch=AUDIT_ARCH_PPC64
7995 ;;
7996 powerpc64le-*)
7997 seccomp_audit_arch=AUDIT_ARCH_PPC64LE
7998 ;;
7999 mips-*)
8000 seccomp_audit_arch=AUDIT_ARCH_MIPS
8001 ;;
8002 mipsel-*)
8003 seccomp_audit_arch=AUDIT_ARCH_MIPSEL
8004 ;;
8005 mips64-*)
8006 case "$mips_abi" in
8007 "n32")
8008 seccomp_audit_arch=AUDIT_ARCH_MIPS64N32
8009 ;;
8010 "n64")
8011 seccomp_audit_arch=AUDIT_ARCH_MIPS64
8012 ;;
8013 esac
8014 ;;
8015 mips64el-*)
8016 case "$mips_abi" in
8017 "n32")
8018 seccomp_audit_arch=AUDIT_ARCH_MIPSEL64N32
8019 ;;
8020 "n64")
8021 seccomp_audit_arch=AUDIT_ARCH_MIPSEL64
8022 ;;
8023 esac
8024 ;;
8025 esac
8026 if test "x$seccomp_audit_arch" != "x" ; then
8027 { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$seccomp_audit_arch\"" >&5
8028$as_echo "\"$seccomp_audit_arch\"" >&6; }
8029
8030cat >>confdefs.h <<_ACEOF
8031#define SECCOMP_AUDIT_ARCH $seccomp_audit_arch
8032_ACEOF
8033
8034 else
8035 { $as_echo "$as_me:${as_lineno-$LINENO}: result: architecture not supported" >&5
8036$as_echo "architecture not supported" >&6; }
8037 fi
8038 ;;
8039mips-sony-bsd|mips-sony-newsos4)
8040
8041$as_echo "#define NEED_SETPGRP 1" >>confdefs.h
8042
8043 SONY=1
8044 ;;
8045*-*-netbsd*)
8046 check_for_libcrypt_before=1
8047 if test "x$withval" != "xno" ; then
8048 rpath_opt="-R"
8049 fi
8050 CPPFLAGS="$CPPFLAGS -D_OPENBSD_SOURCE"
8051
8052$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
8053
8054 ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default"
8055if test "x$ac_cv_header_net_if_tap_h" = xyes; then :
8056
8057else
8058
8059$as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h
8060
8061fi
8062
8063
8064
8065$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
8066
8067 TEST_MALLOC_OPTIONS="AJRX"
8068
8069$as_echo "#define BROKEN_READ_COMPARISON 1" >>confdefs.h
8070
8071 ;;
8072*-*-freebsd*)
8073 check_for_libcrypt_later=1
8074
8075$as_echo "#define LOCKED_PASSWD_PREFIX \"*LOCKED*\"" >>confdefs.h
8076
8077
8078$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
8079
8080 ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default"
8081if test "x$ac_cv_header_net_if_tap_h" = xyes; then :
8082
8083else
8084
8085$as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h
8086
8087fi
8088
8089
8090
8091$as_echo "#define BROKEN_GLOB 1" >>confdefs.h
8092
8093 TEST_MALLOC_OPTIONS="AJRX"
8094 # Preauth crypto occasionally uses file descriptors for crypto offload
8095 # and will crash if they cannot be opened.
8096
8097$as_echo "#define SANDBOX_SKIP_RLIMIT_NOFILE 1" >>confdefs.h
8098
8099 ;;
8100*-*-bsdi*)
8101 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8102
8103 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8104
8105 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8106
8107 ;;
8108*-next-*)
8109 conf_lastlog_location="/usr/adm/lastlog"
8110 conf_utmp_location=/etc/utmp
8111 conf_wtmp_location=/usr/adm/wtmp
8112 maildir=/usr/spool/mail
8113
8114$as_echo "#define HAVE_NEXT 1" >>confdefs.h
8115
8116 $as_echo "#define USE_PIPES 1" >>confdefs.h
8117
8118
8119$as_echo "#define BROKEN_SAVED_UIDS 1" >>confdefs.h
8120
8121 ;;
8122*-*-openbsd*)
8123 use_pie=auto
8124
8125$as_echo "#define HAVE_ATTRIBUTE__SENTINEL__ 1" >>confdefs.h
8126
8127
8128$as_echo "#define HAVE_ATTRIBUTE__BOUNDED__ 1" >>confdefs.h
8129
8130
8131$as_echo "#define SSH_TUN_OPENBSD 1" >>confdefs.h
8132
8133
8134$as_echo "#define SYSLOG_R_SAFE_IN_SIGHAND 1" >>confdefs.h
8135
8136 TEST_MALLOC_OPTIONS="AFGJPRX"
8137 ;;
8138*-*-solaris*)
8139 if test "x$withval" != "xno" ; then
8140 rpath_opt="-R"
8141 fi
8142 $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
8143
8144 $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
8145
8146 $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
8147
8148
8149$as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h
8150
8151 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8152
8153 # Pushing STREAMS modules will cause sshd to acquire a controlling tty.
8154
8155$as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8156
8157
8158$as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8159
8160
8161$as_echo "#define BROKEN_TCGETATTR_ICANON 1" >>confdefs.h
8162
8163 external_path_file=/etc/default/login
8164 # hardwire lastlog location (can't detect it on some versions)
8165 conf_lastlog_location="/var/adm/lastlog"
8166 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obsolete utmp and wtmp in solaris2.x" >&5
8167$as_echo_n "checking for obsolete utmp and wtmp in solaris2.x... " >&6; }
8168 sol2ver=`echo "$host"| sed -e 's/.*[0-9]\.//'`
8169 if test "$sol2ver" -ge 8; then
8170 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8171$as_echo "yes" >&6; }
8172 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
8173
8174
8175$as_echo "#define DISABLE_WTMP 1" >>confdefs.h
8176
8177 else
8178 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8179$as_echo "no" >&6; }
8180 fi
8181 for ac_func in setpflags
8182do :
8183 ac_fn_c_check_func "$LINENO" "setpflags" "ac_cv_func_setpflags"
8184if test "x$ac_cv_func_setpflags" = xyes; then :
8185 cat >>confdefs.h <<_ACEOF
8186#define HAVE_SETPFLAGS 1
8187_ACEOF
8188
8189fi
8190done
8191
8192 for ac_func in setppriv
8193do :
8194 ac_fn_c_check_func "$LINENO" "setppriv" "ac_cv_func_setppriv"
8195if test "x$ac_cv_func_setppriv" = xyes; then :
8196 cat >>confdefs.h <<_ACEOF
8197#define HAVE_SETPPRIV 1
8198_ACEOF
8199
8200fi
8201done
8202
8203 for ac_func in priv_basicset
8204do :
8205 ac_fn_c_check_func "$LINENO" "priv_basicset" "ac_cv_func_priv_basicset"
8206if test "x$ac_cv_func_priv_basicset" = xyes; then :
8207 cat >>confdefs.h <<_ACEOF
8208#define HAVE_PRIV_BASICSET 1
8209_ACEOF
8210
8211fi
8212done
8213
8214 for ac_header in priv.h
8215do :
8216 ac_fn_c_check_header_mongrel "$LINENO" "priv.h" "ac_cv_header_priv_h" "$ac_includes_default"
8217if test "x$ac_cv_header_priv_h" = xyes; then :
8218 cat >>confdefs.h <<_ACEOF
8219#define HAVE_PRIV_H 1
8220_ACEOF
8221
8222fi
8223
8224done
8225
8226
8227# Check whether --with-solaris-contracts was given.
8228if test "${with_solaris_contracts+set}" = set; then :
8229 withval=$with_solaris_contracts;
8230 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ct_tmpl_activate in -lcontract" >&5
8231$as_echo_n "checking for ct_tmpl_activate in -lcontract... " >&6; }
8232if ${ac_cv_lib_contract_ct_tmpl_activate+:} false; then :
8233 $as_echo_n "(cached) " >&6
8234else
8235 ac_check_lib_save_LIBS=$LIBS
8236LIBS="-lcontract $LIBS"
8237cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8238/* end confdefs.h. */
8239
8240/* Override any GCC internal prototype to avoid an error.
8241 Use char because int might match the return type of a GCC
8242 builtin and then its argument prototype would still apply. */
8243#ifdef __cplusplus
8244extern "C"
8245#endif
8246char ct_tmpl_activate ();
8247int
8248main ()
8249{
8250return ct_tmpl_activate ();
8251 ;
8252 return 0;
8253}
8254_ACEOF
8255if ac_fn_c_try_link "$LINENO"; then :
8256 ac_cv_lib_contract_ct_tmpl_activate=yes
8257else
8258 ac_cv_lib_contract_ct_tmpl_activate=no
8259fi
8260rm -f core conftest.err conftest.$ac_objext \
8261 conftest$ac_exeext conftest.$ac_ext
8262LIBS=$ac_check_lib_save_LIBS
8263fi
8264{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_contract_ct_tmpl_activate" >&5
8265$as_echo "$ac_cv_lib_contract_ct_tmpl_activate" >&6; }
8266if test "x$ac_cv_lib_contract_ct_tmpl_activate" = xyes; then :
8267
8268$as_echo "#define USE_SOLARIS_PROCESS_CONTRACTS 1" >>confdefs.h
8269
8270 LIBS="$LIBS -lcontract"
8271 SPC_MSG="yes"
8272fi
8273
8274
8275fi
8276
8277
8278# Check whether --with-solaris-projects was given.
8279if test "${with_solaris_projects+set}" = set; then :
8280 withval=$with_solaris_projects;
8281 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproject in -lproject" >&5
8282$as_echo_n "checking for setproject in -lproject... " >&6; }
8283if ${ac_cv_lib_project_setproject+:} false; then :
8284 $as_echo_n "(cached) " >&6
8285else
8286 ac_check_lib_save_LIBS=$LIBS
8287LIBS="-lproject $LIBS"
8288cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8289/* end confdefs.h. */
8290
8291/* Override any GCC internal prototype to avoid an error.
8292 Use char because int might match the return type of a GCC
8293 builtin and then its argument prototype would still apply. */
8294#ifdef __cplusplus
8295extern "C"
8296#endif
8297char setproject ();
8298int
8299main ()
8300{
8301return setproject ();
8302 ;
8303 return 0;
8304}
8305_ACEOF
8306if ac_fn_c_try_link "$LINENO"; then :
8307 ac_cv_lib_project_setproject=yes
8308else
8309 ac_cv_lib_project_setproject=no
8310fi
8311rm -f core conftest.err conftest.$ac_objext \
8312 conftest$ac_exeext conftest.$ac_ext
8313LIBS=$ac_check_lib_save_LIBS
8314fi
8315{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_project_setproject" >&5
8316$as_echo "$ac_cv_lib_project_setproject" >&6; }
8317if test "x$ac_cv_lib_project_setproject" = xyes; then :
8318
8319$as_echo "#define USE_SOLARIS_PROJECTS 1" >>confdefs.h
8320
8321 LIBS="$LIBS -lproject"
8322 SP_MSG="yes"
8323fi
8324
8325
8326fi
8327
8328
8329# Check whether --with-solaris-privs was given.
8330if test "${with_solaris_privs+set}" = set; then :
8331 withval=$with_solaris_privs;
8332 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris/Illumos privilege support" >&5
8333$as_echo_n "checking for Solaris/Illumos privilege support... " >&6; }
8334 if test "x$ac_cv_func_setppriv" = "xyes" -a \
8335 "x$ac_cv_header_priv_h" = "xyes" ; then
8336 SOLARIS_PRIVS=yes
8337 { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
8338$as_echo "found" >&6; }
8339
8340$as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h
8341
8342
8343$as_echo "#define USE_SOLARIS_PRIVS 1" >>confdefs.h
8344
8345 SPP_MSG="yes"
8346 else
8347 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
8348$as_echo "not found" >&6; }
8349 as_fn_error $? "*** must have support for Solaris privileges to use --with-solaris-privs" "$LINENO" 5
8350 fi
8351
8352fi
8353
8354 TEST_SHELL=$SHELL # let configure find us a capable shell
8355 ;;
8356*-*-sunos4*)
8357 CPPFLAGS="$CPPFLAGS -DSUNOS4"
8358 for ac_func in getpwanam
8359do :
8360 ac_fn_c_check_func "$LINENO" "getpwanam" "ac_cv_func_getpwanam"
8361if test "x$ac_cv_func_getpwanam" = xyes; then :
8362 cat >>confdefs.h <<_ACEOF
8363#define HAVE_GETPWANAM 1
8364_ACEOF
8365
8366fi
8367done
8368
8369 $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
8370
8371 conf_utmp_location=/etc/utmp
8372 conf_wtmp_location=/var/adm/wtmp
8373 conf_lastlog_location=/var/adm/lastlog
8374 $as_echo "#define USE_PIPES 1" >>confdefs.h
8375
8376
8377$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
8378
8379 ;;
8380*-ncr-sysv*)
8381 LIBS="$LIBS -lc89"
8382 $as_echo "#define USE_PIPES 1" >>confdefs.h
8383
8384 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8385
8386 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8387
8388 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8389
8390 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8391
8392 ;;
8393*-sni-sysv*)
8394 # /usr/ucblib MUST NOT be searched on ReliantUNIX
8395 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
8396$as_echo_n "checking for dlsym in -ldl... " >&6; }
8397if ${ac_cv_lib_dl_dlsym+:} false; then :
8398 $as_echo_n "(cached) " >&6
8399else
8400 ac_check_lib_save_LIBS=$LIBS
8401LIBS="-ldl $LIBS"
8402cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8403/* end confdefs.h. */
8404
8405/* Override any GCC internal prototype to avoid an error.
8406 Use char because int might match the return type of a GCC
8407 builtin and then its argument prototype would still apply. */
8408#ifdef __cplusplus
8409extern "C"
8410#endif
8411char dlsym ();
8412int
8413main ()
8414{
8415return dlsym ();
8416 ;
8417 return 0;
8418}
8419_ACEOF
8420if ac_fn_c_try_link "$LINENO"; then :
8421 ac_cv_lib_dl_dlsym=yes
8422else
8423 ac_cv_lib_dl_dlsym=no
8424fi
8425rm -f core conftest.err conftest.$ac_objext \
8426 conftest$ac_exeext conftest.$ac_ext
8427LIBS=$ac_check_lib_save_LIBS
8428fi
8429{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
8430$as_echo "$ac_cv_lib_dl_dlsym" >&6; }
8431if test "x$ac_cv_lib_dl_dlsym" = xyes; then :
8432 cat >>confdefs.h <<_ACEOF
8433#define HAVE_LIBDL 1
8434_ACEOF
8435
8436 LIBS="-ldl $LIBS"
8437
8438fi
8439
8440 # -lresolv needs to be at the end of LIBS or DNS lookups break
8441 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5
8442$as_echo_n "checking for res_query in -lresolv... " >&6; }
8443if ${ac_cv_lib_resolv_res_query+:} false; then :
8444 $as_echo_n "(cached) " >&6
8445else
8446 ac_check_lib_save_LIBS=$LIBS
8447LIBS="-lresolv $LIBS"
8448cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8449/* end confdefs.h. */
8450
8451/* Override any GCC internal prototype to avoid an error.
8452 Use char because int might match the return type of a GCC
8453 builtin and then its argument prototype would still apply. */
8454#ifdef __cplusplus
8455extern "C"
8456#endif
8457char res_query ();
8458int
8459main ()
8460{
8461return res_query ();
8462 ;
8463 return 0;
8464}
8465_ACEOF
8466if ac_fn_c_try_link "$LINENO"; then :
8467 ac_cv_lib_resolv_res_query=yes
8468else
8469 ac_cv_lib_resolv_res_query=no
8470fi
8471rm -f core conftest.err conftest.$ac_objext \
8472 conftest$ac_exeext conftest.$ac_ext
8473LIBS=$ac_check_lib_save_LIBS
8474fi
8475{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_query" >&5
8476$as_echo "$ac_cv_lib_resolv_res_query" >&6; }
8477if test "x$ac_cv_lib_resolv_res_query" = xyes; then :
8478 LIBS="$LIBS -lresolv"
8479fi
8480
8481 IPADDR_IN_DISPLAY=yes
8482 $as_echo "#define USE_PIPES 1" >>confdefs.h
8483
8484 $as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h
8485
8486 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8487
8488 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8489
8490 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8491
8492 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8493
8494 external_path_file=/etc/default/login
8495 # /usr/ucblib/libucb.a no longer needed on ReliantUNIX
8496 # Attention: always take care to bind libsocket and libnsl before libc,
8497 # otherwise you will find lots of "SIOCGPGRP errno 22" on syslog
8498 ;;
8499# UnixWare 1.x, UnixWare 2.x, and others based on code from Univel.
8500*-*-sysv4.2*)
8501 $as_echo "#define USE_PIPES 1" >>confdefs.h
8502
8503 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8504
8505 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8506
8507 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8508
8509
8510$as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8511
8512 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8513
8514 TEST_SHELL=$SHELL # let configure find us a capable shell
8515 ;;
8516# UnixWare 7.x, OpenUNIX 8
8517*-*-sysv5*)
8518 CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf"
8519
8520$as_echo "#define UNIXWARE_LONG_PASSWORDS 1" >>confdefs.h
8521
8522 $as_echo "#define USE_PIPES 1" >>confdefs.h
8523
8524 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8525
8526 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8527
8528 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8529
8530 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8531
8532 $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8533
8534 $as_echo "#define BROKEN_TCGETATTR_ICANON 1" >>confdefs.h
8535
8536 TEST_SHELL=$SHELL # let configure find us a capable shell
8537 check_for_libcrypt_later=1
8538 case "$host" in
8539 *-*-sysv5SCO_SV*) # SCO OpenServer 6.x
8540 maildir=/var/spool/mail
8541 $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
8542
8543 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getluid in -lprot" >&5
8544$as_echo_n "checking for getluid in -lprot... " >&6; }
8545if ${ac_cv_lib_prot_getluid+:} false; then :
8546 $as_echo_n "(cached) " >&6
8547else
8548 ac_check_lib_save_LIBS=$LIBS
8549LIBS="-lprot $LIBS"
8550cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8551/* end confdefs.h. */
8552
8553/* Override any GCC internal prototype to avoid an error.
8554 Use char because int might match the return type of a GCC
8555 builtin and then its argument prototype would still apply. */
8556#ifdef __cplusplus
8557extern "C"
8558#endif
8559char getluid ();
8560int
8561main ()
8562{
8563return getluid ();
8564 ;
8565 return 0;
8566}
8567_ACEOF
8568if ac_fn_c_try_link "$LINENO"; then :
8569 ac_cv_lib_prot_getluid=yes
8570else
8571 ac_cv_lib_prot_getluid=no
8572fi
8573rm -f core conftest.err conftest.$ac_objext \
8574 conftest$ac_exeext conftest.$ac_ext
8575LIBS=$ac_check_lib_save_LIBS
8576fi
8577{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_prot_getluid" >&5
8578$as_echo "$ac_cv_lib_prot_getluid" >&6; }
8579if test "x$ac_cv_lib_prot_getluid" = xyes; then :
8580 LIBS="$LIBS -lprot"
8581 for ac_func in getluid setluid
8582do :
8583 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
8584ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
8585if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
8586 cat >>confdefs.h <<_ACEOF
8587#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
8588_ACEOF
8589
8590fi
8591done
8592
8593
8594fi
8595
8596 ;;
8597 *) $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8598
8599 ;;
8600 esac
8601 ;;
8602*-*-sysv*)
8603 ;;
8604# SCO UNIX and OEM versions of SCO UNIX
8605*-*-sco3.2v4*)
8606 as_fn_error $? "\"This Platform is no longer supported.\"" "$LINENO" 5
8607 ;;
8608# SCO OpenServer 5.x
8609*-*-sco3.2v5*)
8610 if test -z "$GCC"; then
8611 CFLAGS="$CFLAGS -belf"
8612 fi
8613 LIBS="$LIBS -lprot -lx -ltinfo -lm"
8614 no_dev_ptmx=1
8615 $as_echo "#define USE_PIPES 1" >>confdefs.h
8616
8617 $as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h
8618
8619 $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
8620
8621 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8622
8623 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8624
8625 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8626
8627 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8628
8629 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8630
8631 $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
8632
8633 $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
8634
8635 $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8636
8637 for ac_func in getluid setluid
8638do :
8639 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
8640ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
8641if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
8642 cat >>confdefs.h <<_ACEOF
8643#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
8644_ACEOF
8645
8646fi
8647done
8648
8649 MANTYPE=man
8650 TEST_SHELL=$SHELL # let configure find us a capable shell
8651 SKIP_DISABLE_LASTLOG_DEFINE=yes
8652 ;;
8653*-dec-osf*)
8654 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Digital Unix SIA" >&5
8655$as_echo_n "checking for Digital Unix SIA... " >&6; }
8656 no_osfsia=""
8657
8658# Check whether --with-osfsia was given.
8659if test "${with_osfsia+set}" = set; then :
8660 withval=$with_osfsia;
8661 if test "x$withval" = "xno" ; then
8662 { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
8663$as_echo "disabled" >&6; }
8664 no_osfsia=1
8665 fi
8666
8667fi
8668
8669 if test -z "$no_osfsia" ; then
8670 if test -f /etc/sia/matrix.conf; then
8671 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8672$as_echo "yes" >&6; }
8673
8674$as_echo "#define HAVE_OSF_SIA 1" >>confdefs.h
8675
8676
8677$as_echo "#define DISABLE_LOGIN 1" >>confdefs.h
8678
8679 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8680
8681 LIBS="$LIBS -lsecurity -ldb -lm -laud"
8682 SIA_MSG="yes"
8683 else
8684 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8685$as_echo "no" >&6; }
8686
8687$as_echo "#define LOCKED_PASSWD_SUBSTR \"Nologin\"" >>confdefs.h
8688
8689 fi
8690 fi
8691 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8692
8693 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8694
8695 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8696
8697 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8698
8699
8700$as_echo "#define BROKEN_READV_COMPARISON 1" >>confdefs.h
8701
8702 ;;
8703
8704*-*-nto-qnx*)
8705 $as_echo "#define USE_PIPES 1" >>confdefs.h
8706
8707 $as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h
8708
8709 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
8710
8711 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8712
8713
8714$as_echo "#define BROKEN_SHADOW_EXPIRE 1" >>confdefs.h
8715
8716 enable_etc_default_login=no # has incompatible /etc/default/login
8717 case "$host" in
8718 *-*-nto-qnx6*)
8719 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8720
8721 ;;
8722 esac
8723 ;;
8724
8725*-*-ultrix*)
8726
8727$as_echo "#define BROKEN_GETGROUPS 1" >>confdefs.h
8728
8729
8730$as_echo "#define NEED_SETPGRP 1" >>confdefs.h
8731
8732
8733$as_echo "#define HAVE_SYS_SYSLOG_H 1" >>confdefs.h
8734
8735
8736$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
8737
8738 # DISABLE_FD_PASSING so that we call setpgrp as root, otherwise we
8739 # don't get a controlling tty.
8740
8741$as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8742
8743 # On Ultrix some headers are not protected against multiple includes,
8744 # so we create wrappers and put it where the compiler will find it.
8745 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: creating compat wrappers for headers" >&5
8746$as_echo "$as_me: WARNING: creating compat wrappers for headers" >&2;}
8747 mkdir -p netinet
8748 for header in netinet/ip.h netdb.h resolv.h; do
8749 name=`echo $header | tr 'a-z/.' 'A-Z__'`
8750 cat >$header <<EOD
8751#ifndef _SSH_COMPAT_${name}
8752#define _SSH_COMPAT_${name}
8753#include "/usr/include/${header}"
8754#endif
8755EOD
8756 done
8757 ;;
8758
8759*-*-lynxos)
8760 CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"
8761
8762$as_echo "#define BROKEN_SETVBUF 1" >>confdefs.h
8763
8764 ;;
8765esac
8766
8767{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler and flags for sanity" >&5
8768$as_echo_n "checking compiler and flags for sanity... " >&6; }
8769if test "$cross_compiling" = yes; then :
8770 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking compiler sanity" >&5
8771$as_echo "$as_me: WARNING: cross compiling: not checking compiler sanity" >&2;}
8772
8773else
8774 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8775/* end confdefs.h. */
8776 #include <stdio.h>
8777int
8778main ()
8779{
8780 exit(0);
8781 ;
8782 return 0;
8783}
8784_ACEOF
8785if ac_fn_c_try_run "$LINENO"; then :
8786 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8787$as_echo "yes" >&6; }
8788else
8789
8790 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8791$as_echo "no" >&6; }
8792 as_fn_error $? "*** compiler cannot create working executables, check config.log ***" "$LINENO" 5
8793
8794fi
8795rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
8796 conftest.$ac_objext conftest.beam conftest.$ac_ext
8797fi
8798
8799
8800# Checks for libraries.
8801ac_fn_c_check_func "$LINENO" "setsockopt" "ac_cv_func_setsockopt"
8802if test "x$ac_cv_func_setsockopt" = xyes; then :
8803
8804else
8805 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setsockopt in -lsocket" >&5
8806$as_echo_n "checking for setsockopt in -lsocket... " >&6; }
8807if ${ac_cv_lib_socket_setsockopt+:} false; then :
8808 $as_echo_n "(cached) " >&6
8809else
8810 ac_check_lib_save_LIBS=$LIBS
8811LIBS="-lsocket $LIBS"
8812cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8813/* end confdefs.h. */
8814
8815/* Override any GCC internal prototype to avoid an error.
8816 Use char because int might match the return type of a GCC
8817 builtin and then its argument prototype would still apply. */
8818#ifdef __cplusplus
8819extern "C"
8820#endif
8821char setsockopt ();
8822int
8823main ()
8824{
8825return setsockopt ();
8826 ;
8827 return 0;
8828}
8829_ACEOF
8830if ac_fn_c_try_link "$LINENO"; then :
8831 ac_cv_lib_socket_setsockopt=yes
8832else
8833 ac_cv_lib_socket_setsockopt=no
8834fi
8835rm -f core conftest.err conftest.$ac_objext \
8836 conftest$ac_exeext conftest.$ac_ext
8837LIBS=$ac_check_lib_save_LIBS
8838fi
8839{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_setsockopt" >&5
8840$as_echo "$ac_cv_lib_socket_setsockopt" >&6; }
8841if test "x$ac_cv_lib_socket_setsockopt" = xyes; then :
8842 cat >>confdefs.h <<_ACEOF
8843#define HAVE_LIBSOCKET 1
8844_ACEOF
8845
8846 LIBS="-lsocket $LIBS"
8847
8848fi
8849
8850fi
8851
8852
8853for ac_func in dirname
8854do :
8855 ac_fn_c_check_func "$LINENO" "dirname" "ac_cv_func_dirname"
8856if test "x$ac_cv_func_dirname" = xyes; then :
8857 cat >>confdefs.h <<_ACEOF
8858#define HAVE_DIRNAME 1
8859_ACEOF
8860 for ac_header in libgen.h
8861do :
8862 ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
8863if test "x$ac_cv_header_libgen_h" = xyes; then :
8864 cat >>confdefs.h <<_ACEOF
8865#define HAVE_LIBGEN_H 1
8866_ACEOF
8867
8868fi
8869
8870done
8871
8872else
8873
8874 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dirname in -lgen" >&5
8875$as_echo_n "checking for dirname in -lgen... " >&6; }
8876if ${ac_cv_lib_gen_dirname+:} false; then :
8877 $as_echo_n "(cached) " >&6
8878else
8879 ac_check_lib_save_LIBS=$LIBS
8880LIBS="-lgen $LIBS"
8881cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8882/* end confdefs.h. */
8883
8884/* Override any GCC internal prototype to avoid an error.
8885 Use char because int might match the return type of a GCC
8886 builtin and then its argument prototype would still apply. */
8887#ifdef __cplusplus
8888extern "C"
8889#endif
8890char dirname ();
8891int
8892main ()
8893{
8894return dirname ();
8895 ;
8896 return 0;
8897}
8898_ACEOF
8899if ac_fn_c_try_link "$LINENO"; then :
8900 ac_cv_lib_gen_dirname=yes
8901else
8902 ac_cv_lib_gen_dirname=no
8903fi
8904rm -f core conftest.err conftest.$ac_objext \
8905 conftest$ac_exeext conftest.$ac_ext
8906LIBS=$ac_check_lib_save_LIBS
8907fi
8908{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_dirname" >&5
8909$as_echo "$ac_cv_lib_gen_dirname" >&6; }
8910if test "x$ac_cv_lib_gen_dirname" = xyes; then :
8911
8912 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken dirname" >&5
8913$as_echo_n "checking for broken dirname... " >&6; }
8914if ${ac_cv_have_broken_dirname+:} false; then :
8915 $as_echo_n "(cached) " >&6
8916else
8917
8918 save_LIBS="$LIBS"
8919 LIBS="$LIBS -lgen"
8920 if test "$cross_compiling" = yes; then :
8921 ac_cv_have_broken_dirname="no"
8922else
8923 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8924/* end confdefs.h. */
8925
8926#include <libgen.h>
8927#include <string.h>
8928
8929int main(int argc, char **argv) {
8930 char *s, buf[32];
8931
8932 strncpy(buf,"/etc", 32);
8933 s = dirname(buf);
8934 if (!s || strncmp(s, "/", 32) != 0) {
8935 exit(1);
8936 } else {
8937 exit(0);
8938 }
8939}
8940
8941_ACEOF
8942if ac_fn_c_try_run "$LINENO"; then :
8943 ac_cv_have_broken_dirname="no"
8944else
8945 ac_cv_have_broken_dirname="yes"
8946fi
8947rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
8948 conftest.$ac_objext conftest.beam conftest.$ac_ext
8949fi
8950
8951 LIBS="$save_LIBS"
8952
8953fi
8954{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_broken_dirname" >&5
8955$as_echo "$ac_cv_have_broken_dirname" >&6; }
8956 if test "x$ac_cv_have_broken_dirname" = "xno" ; then
8957 LIBS="$LIBS -lgen"
8958 $as_echo "#define HAVE_DIRNAME 1" >>confdefs.h
8959
8960 for ac_header in libgen.h
8961do :
8962 ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
8963if test "x$ac_cv_header_libgen_h" = xyes; then :
8964 cat >>confdefs.h <<_ACEOF
8965#define HAVE_LIBGEN_H 1
8966_ACEOF
8967
8968fi
8969
8970done
8971
8972 fi
8973
8974fi
8975
8976
8977fi
8978done
8979
8980
8981ac_fn_c_check_func "$LINENO" "getspnam" "ac_cv_func_getspnam"
8982if test "x$ac_cv_func_getspnam" = xyes; then :
8983
8984else
8985 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getspnam in -lgen" >&5
8986$as_echo_n "checking for getspnam in -lgen... " >&6; }
8987if ${ac_cv_lib_gen_getspnam+:} false; then :
8988 $as_echo_n "(cached) " >&6
8989else
8990 ac_check_lib_save_LIBS=$LIBS
8991LIBS="-lgen $LIBS"
8992cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8993/* end confdefs.h. */
8994
8995/* Override any GCC internal prototype to avoid an error.
8996 Use char because int might match the return type of a GCC
8997 builtin and then its argument prototype would still apply. */
8998#ifdef __cplusplus
8999extern "C"
9000#endif
9001char getspnam ();
9002int
9003main ()
9004{
9005return getspnam ();
9006 ;
9007 return 0;
9008}
9009_ACEOF
9010if ac_fn_c_try_link "$LINENO"; then :
9011 ac_cv_lib_gen_getspnam=yes
9012else
9013 ac_cv_lib_gen_getspnam=no
9014fi
9015rm -f core conftest.err conftest.$ac_objext \
9016 conftest$ac_exeext conftest.$ac_ext
9017LIBS=$ac_check_lib_save_LIBS
9018fi
9019{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_getspnam" >&5
9020$as_echo "$ac_cv_lib_gen_getspnam" >&6; }
9021if test "x$ac_cv_lib_gen_getspnam" = xyes; then :
9022 LIBS="$LIBS -lgen"
9023fi
9024
9025fi
9026
9027{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing basename" >&5
9028$as_echo_n "checking for library containing basename... " >&6; }
9029if ${ac_cv_search_basename+:} false; then :
9030 $as_echo_n "(cached) " >&6
9031else
9032 ac_func_search_save_LIBS=$LIBS
9033cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9034/* end confdefs.h. */
9035
9036/* Override any GCC internal prototype to avoid an error.
9037 Use char because int might match the return type of a GCC
9038 builtin and then its argument prototype would still apply. */
9039#ifdef __cplusplus
9040extern "C"
9041#endif
9042char basename ();
9043int
9044main ()
9045{
9046return basename ();
9047 ;
9048 return 0;
9049}
9050_ACEOF
9051for ac_lib in '' gen; do
9052 if test -z "$ac_lib"; then
9053 ac_res="none required"
9054 else
9055 ac_res=-l$ac_lib
9056 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9057 fi
9058 if ac_fn_c_try_link "$LINENO"; then :
9059 ac_cv_search_basename=$ac_res
9060fi
9061rm -f core conftest.err conftest.$ac_objext \
9062 conftest$ac_exeext
9063 if ${ac_cv_search_basename+:} false; then :
9064 break
9065fi
9066done
9067if ${ac_cv_search_basename+:} false; then :
9068
9069else
9070 ac_cv_search_basename=no
9071fi
9072rm conftest.$ac_ext
9073LIBS=$ac_func_search_save_LIBS
9074fi
9075{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_basename" >&5
9076$as_echo "$ac_cv_search_basename" >&6; }
9077ac_res=$ac_cv_search_basename
9078if test "$ac_res" != no; then :
9079 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9080
9081$as_echo "#define HAVE_BASENAME 1" >>confdefs.h
9082
9083fi
9084
9085
9086zlib=yes
9087
9088# Check whether --with-zlib was given.
9089if test "${with_zlib+set}" = set; then :
9090 withval=$with_zlib; if test "x$withval" = "xno" ; then
9091 zlib=no
9092 elif test "x$withval" != "xyes"; then
9093 if test -d "$withval/lib"; then
9094 if test -n "${rpath_opt}"; then
9095 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
9096 else
9097 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
9098 fi
9099 else
9100 if test -n "${rpath_opt}"; then
9101 LDFLAGS="-L${withval} ${rpath_opt}${withval} ${LDFLAGS}"
9102 else
9103 LDFLAGS="-L${withval} ${LDFLAGS}"
9104 fi
9105 fi
9106 if test -d "$withval/include"; then
9107 CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
9108 else
9109 CPPFLAGS="-I${withval} ${CPPFLAGS}"
9110 fi
9111 fi
9112
9113fi
9114
9115
9116{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib" >&5
9117$as_echo_n "checking for zlib... " >&6; }
9118if test "x${zlib}" = "xno"; then
9119 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
9120$as_echo "no" >&6; }
9121else
9122 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9123$as_echo "yes" >&6; }
9124
9125$as_echo "#define WITH_ZLIB 1" >>confdefs.h
9126
9127 ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
9128if test "x$ac_cv_header_zlib_h" = xyes; then :
9129
9130else
9131 as_fn_error $? "*** zlib.h missing - please install first or check config.log ***" "$LINENO" 5
9132fi
9133
9134
9135 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5
9136$as_echo_n "checking for deflate in -lz... " >&6; }
9137if ${ac_cv_lib_z_deflate+:} false; then :
9138 $as_echo_n "(cached) " >&6
9139else
9140 ac_check_lib_save_LIBS=$LIBS
9141LIBS="-lz $LIBS"
9142cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9143/* end confdefs.h. */
9144
9145/* Override any GCC internal prototype to avoid an error.
9146 Use char because int might match the return type of a GCC
9147 builtin and then its argument prototype would still apply. */
9148#ifdef __cplusplus
9149extern "C"
9150#endif
9151char deflate ();
9152int
9153main ()
9154{
9155return deflate ();
9156 ;
9157 return 0;
9158}
9159_ACEOF
9160if ac_fn_c_try_link "$LINENO"; then :
9161 ac_cv_lib_z_deflate=yes
9162else
9163 ac_cv_lib_z_deflate=no
9164fi
9165rm -f core conftest.err conftest.$ac_objext \
9166 conftest$ac_exeext conftest.$ac_ext
9167LIBS=$ac_check_lib_save_LIBS
9168fi
9169{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5
9170$as_echo "$ac_cv_lib_z_deflate" >&6; }
9171if test "x$ac_cv_lib_z_deflate" = xyes; then :
9172 cat >>confdefs.h <<_ACEOF
9173#define HAVE_LIBZ 1
9174_ACEOF
9175
9176 LIBS="-lz $LIBS"
9177
9178else
9179
9180 saved_CPPFLAGS="$CPPFLAGS"
9181 saved_LDFLAGS="$LDFLAGS"
9182 save_LIBS="$LIBS"
9183 if test -n "${rpath_opt}"; then
9184 LDFLAGS="-L/usr/local/lib ${rpath_opt}/usr/local/lib ${saved_LDFLAGS}"
9185 else
9186 LDFLAGS="-L/usr/local/lib ${saved_LDFLAGS}"
9187 fi
9188 CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}"
9189 LIBS="$LIBS -lz"
9190 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9191/* end confdefs.h. */
9192
9193/* Override any GCC internal prototype to avoid an error.
9194 Use char because int might match the return type of a GCC
9195 builtin and then its argument prototype would still apply. */
9196#ifdef __cplusplus
9197extern "C"
9198#endif
9199char deflate ();
9200int
9201main ()
9202{
9203return deflate ();
9204 ;
9205 return 0;
9206}
9207_ACEOF
9208if ac_fn_c_try_link "$LINENO"; then :
9209 $as_echo "#define HAVE_LIBZ 1" >>confdefs.h
9210
9211else
9212
9213 as_fn_error $? "*** zlib missing - please install first or check config.log ***" "$LINENO" 5
9214
9215
9216fi
9217rm -f core conftest.err conftest.$ac_objext \
9218 conftest$ac_exeext conftest.$ac_ext
9219
9220
9221fi
9222
9223
9224
9225# Check whether --with-zlib-version-check was given.
9226if test "${with_zlib_version_check+set}" = set; then :
9227 withval=$with_zlib_version_check; if test "x$withval" = "xno" ; then
9228 zlib_check_nonfatal=1
9229 fi
9230
9231
9232fi
9233
9234
9235 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for possibly buggy zlib" >&5
9236$as_echo_n "checking for possibly buggy zlib... " >&6; }
9237 if test "$cross_compiling" = yes; then :
9238 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking zlib version" >&5
9239$as_echo "$as_me: WARNING: cross compiling: not checking zlib version" >&2;}
9240
9241else
9242 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9243/* end confdefs.h. */
9244
9245#include <stdio.h>
9246#include <stdlib.h>
9247#include <zlib.h>
9248
9249int
9250main ()
9251{
9252
9253 int a=0, b=0, c=0, d=0, n, v;
9254 n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d);
9255 if (n != 3 && n != 4)
9256 exit(1);
9257 v = a*1000000 + b*10000 + c*100 + d;
9258 fprintf(stderr, "found zlib version %s (%d)\n", ZLIB_VERSION, v);
9259
9260 /* 1.1.4 is OK */
9261 if (a == 1 && b == 1 && c >= 4)
9262 exit(0);
9263
9264 /* 1.2.3 and up are OK */
9265 if (v >= 1020300)
9266 exit(0);
9267
9268 exit(2);
9269
9270 ;
9271 return 0;
9272}
9273_ACEOF
9274if ac_fn_c_try_run "$LINENO"; then :
9275 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
9276$as_echo "no" >&6; }
9277else
9278 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9279$as_echo "yes" >&6; }
9280 if test -z "$zlib_check_nonfatal" ; then
9281 as_fn_error $? "*** zlib too old - check config.log ***
9282Your reported zlib version has known security problems. It's possible your
9283vendor has fixed these problems without changing the version number. If you
9284are sure this is the case, you can disable the check by running
9285\"./configure --without-zlib-version-check\".
9286If you are in doubt, upgrade zlib to version 1.2.3 or greater.
9287See http://www.gzip.org/zlib/ for details." "$LINENO" 5
9288 else
9289 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: zlib version may have security problems" >&5
9290$as_echo "$as_me: WARNING: zlib version may have security problems" >&2;}
9291 fi
9292
9293fi
9294rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
9295 conftest.$ac_objext conftest.beam conftest.$ac_ext
9296fi
9297
9298fi
9299
9300ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
9301if test "x$ac_cv_func_strcasecmp" = xyes; then :
9302
9303else
9304 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strcasecmp in -lresolv" >&5
9305$as_echo_n "checking for strcasecmp in -lresolv... " >&6; }
9306if ${ac_cv_lib_resolv_strcasecmp+:} false; then :
9307 $as_echo_n "(cached) " >&6
9308else
9309 ac_check_lib_save_LIBS=$LIBS
9310LIBS="-lresolv $LIBS"
9311cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9312/* end confdefs.h. */
9313
9314/* Override any GCC internal prototype to avoid an error.
9315 Use char because int might match the return type of a GCC
9316 builtin and then its argument prototype would still apply. */
9317#ifdef __cplusplus
9318extern "C"
9319#endif
9320char strcasecmp ();
9321int
9322main ()
9323{
9324return strcasecmp ();
9325 ;
9326 return 0;
9327}
9328_ACEOF
9329if ac_fn_c_try_link "$LINENO"; then :
9330 ac_cv_lib_resolv_strcasecmp=yes
9331else
9332 ac_cv_lib_resolv_strcasecmp=no
9333fi
9334rm -f core conftest.err conftest.$ac_objext \
9335 conftest$ac_exeext conftest.$ac_ext
9336LIBS=$ac_check_lib_save_LIBS
9337fi
9338{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_strcasecmp" >&5
9339$as_echo "$ac_cv_lib_resolv_strcasecmp" >&6; }
9340if test "x$ac_cv_lib_resolv_strcasecmp" = xyes; then :
9341 LIBS="$LIBS -lresolv"
9342fi
9343
9344
9345fi
9346
9347for ac_func in utimes
9348do :
9349 ac_fn_c_check_func "$LINENO" "utimes" "ac_cv_func_utimes"
9350if test "x$ac_cv_func_utimes" = xyes; then :
9351 cat >>confdefs.h <<_ACEOF
9352#define HAVE_UTIMES 1
9353_ACEOF
9354
9355else
9356 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utimes in -lc89" >&5
9357$as_echo_n "checking for utimes in -lc89... " >&6; }
9358if ${ac_cv_lib_c89_utimes+:} false; then :
9359 $as_echo_n "(cached) " >&6
9360else
9361 ac_check_lib_save_LIBS=$LIBS
9362LIBS="-lc89 $LIBS"
9363cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9364/* end confdefs.h. */
9365
9366/* Override any GCC internal prototype to avoid an error.
9367 Use char because int might match the return type of a GCC
9368 builtin and then its argument prototype would still apply. */
9369#ifdef __cplusplus
9370extern "C"
9371#endif
9372char utimes ();
9373int
9374main ()
9375{
9376return utimes ();
9377 ;
9378 return 0;
9379}
9380_ACEOF
9381if ac_fn_c_try_link "$LINENO"; then :
9382 ac_cv_lib_c89_utimes=yes
9383else
9384 ac_cv_lib_c89_utimes=no
9385fi
9386rm -f core conftest.err conftest.$ac_objext \
9387 conftest$ac_exeext conftest.$ac_ext
9388LIBS=$ac_check_lib_save_LIBS
9389fi
9390{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c89_utimes" >&5
9391$as_echo "$ac_cv_lib_c89_utimes" >&6; }
9392if test "x$ac_cv_lib_c89_utimes" = xyes; then :
9393 $as_echo "#define HAVE_UTIMES 1" >>confdefs.h
9394
9395 LIBS="$LIBS -lc89"
9396fi
9397
9398
9399fi
9400done
9401
9402
9403for ac_header in bsd/libutil.h libutil.h
9404do :
9405 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
9406ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
9407if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
9408 cat >>confdefs.h <<_ACEOF
9409#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
9410_ACEOF
9411
9412fi
9413
9414done
9415
9416{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fmt_scaled" >&5
9417$as_echo_n "checking for library containing fmt_scaled... " >&6; }
9418if ${ac_cv_search_fmt_scaled+:} false; then :
9419 $as_echo_n "(cached) " >&6
9420else
9421 ac_func_search_save_LIBS=$LIBS
9422cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9423/* end confdefs.h. */
9424
9425/* Override any GCC internal prototype to avoid an error.
9426 Use char because int might match the return type of a GCC
9427 builtin and then its argument prototype would still apply. */
9428#ifdef __cplusplus
9429extern "C"
9430#endif
9431char fmt_scaled ();
9432int
9433main ()
9434{
9435return fmt_scaled ();
9436 ;
9437 return 0;
9438}
9439_ACEOF
9440for ac_lib in '' util bsd; do
9441 if test -z "$ac_lib"; then
9442 ac_res="none required"
9443 else
9444 ac_res=-l$ac_lib
9445 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9446 fi
9447 if ac_fn_c_try_link "$LINENO"; then :
9448 ac_cv_search_fmt_scaled=$ac_res
9449fi
9450rm -f core conftest.err conftest.$ac_objext \
9451 conftest$ac_exeext
9452 if ${ac_cv_search_fmt_scaled+:} false; then :
9453 break
9454fi
9455done
9456if ${ac_cv_search_fmt_scaled+:} false; then :
9457
9458else
9459 ac_cv_search_fmt_scaled=no
9460fi
9461rm conftest.$ac_ext
9462LIBS=$ac_func_search_save_LIBS
9463fi
9464{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fmt_scaled" >&5
9465$as_echo "$ac_cv_search_fmt_scaled" >&6; }
9466ac_res=$ac_cv_search_fmt_scaled
9467if test "$ac_res" != no; then :
9468 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9469
9470fi
9471
9472{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing scan_scaled" >&5
9473$as_echo_n "checking for library containing scan_scaled... " >&6; }
9474if ${ac_cv_search_scan_scaled+:} false; then :
9475 $as_echo_n "(cached) " >&6
9476else
9477 ac_func_search_save_LIBS=$LIBS
9478cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9479/* end confdefs.h. */
9480
9481/* Override any GCC internal prototype to avoid an error.
9482 Use char because int might match the return type of a GCC
9483 builtin and then its argument prototype would still apply. */
9484#ifdef __cplusplus
9485extern "C"
9486#endif
9487char scan_scaled ();
9488int
9489main ()
9490{
9491return scan_scaled ();
9492 ;
9493 return 0;
9494}
9495_ACEOF
9496for ac_lib in '' util bsd; do
9497 if test -z "$ac_lib"; then
9498 ac_res="none required"
9499 else
9500 ac_res=-l$ac_lib
9501 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9502 fi
9503 if ac_fn_c_try_link "$LINENO"; then :
9504 ac_cv_search_scan_scaled=$ac_res
9505fi
9506rm -f core conftest.err conftest.$ac_objext \
9507 conftest$ac_exeext
9508 if ${ac_cv_search_scan_scaled+:} false; then :
9509 break
9510fi
9511done
9512if ${ac_cv_search_scan_scaled+:} false; then :
9513
9514else
9515 ac_cv_search_scan_scaled=no
9516fi
9517rm conftest.$ac_ext
9518LIBS=$ac_func_search_save_LIBS
9519fi
9520{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_scan_scaled" >&5
9521$as_echo "$ac_cv_search_scan_scaled" >&6; }
9522ac_res=$ac_cv_search_scan_scaled
9523if test "$ac_res" != no; then :
9524 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9525
9526fi
9527
9528{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing login" >&5
9529$as_echo_n "checking for library containing login... " >&6; }
9530if ${ac_cv_search_login+:} false; then :
9531 $as_echo_n "(cached) " >&6
9532else
9533 ac_func_search_save_LIBS=$LIBS
9534cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9535/* end confdefs.h. */
9536
9537/* Override any GCC internal prototype to avoid an error.
9538 Use char because int might match the return type of a GCC
9539 builtin and then its argument prototype would still apply. */
9540#ifdef __cplusplus
9541extern "C"
9542#endif
9543char login ();
9544int
9545main ()
9546{
9547return login ();
9548 ;
9549 return 0;
9550}
9551_ACEOF
9552for ac_lib in '' util bsd; do
9553 if test -z "$ac_lib"; then
9554 ac_res="none required"
9555 else
9556 ac_res=-l$ac_lib
9557 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9558 fi
9559 if ac_fn_c_try_link "$LINENO"; then :
9560 ac_cv_search_login=$ac_res
9561fi
9562rm -f core conftest.err conftest.$ac_objext \
9563 conftest$ac_exeext
9564 if ${ac_cv_search_login+:} false; then :
9565 break
9566fi
9567done
9568if ${ac_cv_search_login+:} false; then :
9569
9570else
9571 ac_cv_search_login=no
9572fi
9573rm conftest.$ac_ext
9574LIBS=$ac_func_search_save_LIBS
9575fi
9576{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_login" >&5
9577$as_echo "$ac_cv_search_login" >&6; }
9578ac_res=$ac_cv_search_login
9579if test "$ac_res" != no; then :
9580 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9581
9582fi
9583
9584{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logout" >&5
9585$as_echo_n "checking for library containing logout... " >&6; }
9586if ${ac_cv_search_logout+:} false; then :
9587 $as_echo_n "(cached) " >&6
9588else
9589 ac_func_search_save_LIBS=$LIBS
9590cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9591/* end confdefs.h. */
9592
9593/* Override any GCC internal prototype to avoid an error.
9594 Use char because int might match the return type of a GCC
9595 builtin and then its argument prototype would still apply. */
9596#ifdef __cplusplus
9597extern "C"
9598#endif
9599char logout ();
9600int
9601main ()
9602{
9603return logout ();
9604 ;
9605 return 0;
9606}
9607_ACEOF
9608for ac_lib in '' util bsd; do
9609 if test -z "$ac_lib"; then
9610 ac_res="none required"
9611 else
9612 ac_res=-l$ac_lib
9613 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9614 fi
9615 if ac_fn_c_try_link "$LINENO"; then :
9616 ac_cv_search_logout=$ac_res
9617fi
9618rm -f core conftest.err conftest.$ac_objext \
9619 conftest$ac_exeext
9620 if ${ac_cv_search_logout+:} false; then :
9621 break
9622fi
9623done
9624if ${ac_cv_search_logout+:} false; then :
9625
9626else
9627 ac_cv_search_logout=no
9628fi
9629rm conftest.$ac_ext
9630LIBS=$ac_func_search_save_LIBS
9631fi
9632{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logout" >&5
9633$as_echo "$ac_cv_search_logout" >&6; }
9634ac_res=$ac_cv_search_logout
9635if test "$ac_res" != no; then :
9636 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9637
9638fi
9639
9640{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logwtmp" >&5
9641$as_echo_n "checking for library containing logwtmp... " >&6; }
9642if ${ac_cv_search_logwtmp+:} false; then :
9643 $as_echo_n "(cached) " >&6
9644else
9645 ac_func_search_save_LIBS=$LIBS
9646cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9647/* end confdefs.h. */
9648
9649/* Override any GCC internal prototype to avoid an error.
9650 Use char because int might match the return type of a GCC
9651 builtin and then its argument prototype would still apply. */
9652#ifdef __cplusplus
9653extern "C"
9654#endif
9655char logwtmp ();
9656int
9657main ()
9658{
9659return logwtmp ();
9660 ;
9661 return 0;
9662}
9663_ACEOF
9664for ac_lib in '' util bsd; do
9665 if test -z "$ac_lib"; then
9666 ac_res="none required"
9667 else
9668 ac_res=-l$ac_lib
9669 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9670 fi
9671 if ac_fn_c_try_link "$LINENO"; then :
9672 ac_cv_search_logwtmp=$ac_res
9673fi
9674rm -f core conftest.err conftest.$ac_objext \
9675 conftest$ac_exeext
9676 if ${ac_cv_search_logwtmp+:} false; then :
9677 break
9678fi
9679done
9680if ${ac_cv_search_logwtmp+:} false; then :
9681
9682else
9683 ac_cv_search_logwtmp=no
9684fi
9685rm conftest.$ac_ext
9686LIBS=$ac_func_search_save_LIBS
9687fi
9688{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logwtmp" >&5
9689$as_echo "$ac_cv_search_logwtmp" >&6; }
9690ac_res=$ac_cv_search_logwtmp
9691if test "$ac_res" != no; then :
9692 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9693
9694fi
9695
9696{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing openpty" >&5
9697$as_echo_n "checking for library containing openpty... " >&6; }
9698if ${ac_cv_search_openpty+:} false; then :
9699 $as_echo_n "(cached) " >&6
9700else
9701 ac_func_search_save_LIBS=$LIBS
9702cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9703/* end confdefs.h. */
9704
9705/* Override any GCC internal prototype to avoid an error.
9706 Use char because int might match the return type of a GCC
9707 builtin and then its argument prototype would still apply. */
9708#ifdef __cplusplus
9709extern "C"
9710#endif
9711char openpty ();
9712int
9713main ()
9714{
9715return openpty ();
9716 ;
9717 return 0;
9718}
9719_ACEOF
9720for ac_lib in '' util bsd; do
9721 if test -z "$ac_lib"; then
9722 ac_res="none required"
9723 else
9724 ac_res=-l$ac_lib
9725 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9726 fi
9727 if ac_fn_c_try_link "$LINENO"; then :
9728 ac_cv_search_openpty=$ac_res
9729fi
9730rm -f core conftest.err conftest.$ac_objext \
9731 conftest$ac_exeext
9732 if ${ac_cv_search_openpty+:} false; then :
9733 break
9734fi
9735done
9736if ${ac_cv_search_openpty+:} false; then :
9737
9738else
9739 ac_cv_search_openpty=no
9740fi
9741rm conftest.$ac_ext
9742LIBS=$ac_func_search_save_LIBS
9743fi
9744{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_openpty" >&5
9745$as_echo "$ac_cv_search_openpty" >&6; }
9746ac_res=$ac_cv_search_openpty
9747if test "$ac_res" != no; then :
9748 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9749
9750fi
9751
9752{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing updwtmp" >&5
9753$as_echo_n "checking for library containing updwtmp... " >&6; }
9754if ${ac_cv_search_updwtmp+:} false; then :
9755 $as_echo_n "(cached) " >&6
9756else
9757 ac_func_search_save_LIBS=$LIBS
9758cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9759/* end confdefs.h. */
9760
9761/* Override any GCC internal prototype to avoid an error.
9762 Use char because int might match the return type of a GCC
9763 builtin and then its argument prototype would still apply. */
9764#ifdef __cplusplus
9765extern "C"
9766#endif
9767char updwtmp ();
9768int
9769main ()
9770{
9771return updwtmp ();
9772 ;
9773 return 0;
9774}
9775_ACEOF
9776for ac_lib in '' util bsd; do
9777 if test -z "$ac_lib"; then
9778 ac_res="none required"
9779 else
9780 ac_res=-l$ac_lib
9781 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9782 fi
9783 if ac_fn_c_try_link "$LINENO"; then :
9784 ac_cv_search_updwtmp=$ac_res
9785fi
9786rm -f core conftest.err conftest.$ac_objext \
9787 conftest$ac_exeext
9788 if ${ac_cv_search_updwtmp+:} false; then :
9789 break
9790fi
9791done
9792if ${ac_cv_search_updwtmp+:} false; then :
9793
9794else
9795 ac_cv_search_updwtmp=no
9796fi
9797rm conftest.$ac_ext
9798LIBS=$ac_func_search_save_LIBS
9799fi
9800{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_updwtmp" >&5
9801$as_echo "$ac_cv_search_updwtmp" >&6; }
9802ac_res=$ac_cv_search_updwtmp
9803if test "$ac_res" != no; then :
9804 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9805
9806fi
9807
9808for ac_func in fmt_scaled scan_scaled login logout openpty updwtmp logwtmp
9809do :
9810 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
9811ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
9812if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
9813 cat >>confdefs.h <<_ACEOF
9814#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
9815_ACEOF
9816
9817fi
9818done
9819
9820
9821# On some platforms, inet_ntop and gethostbyname may be found in libresolv
9822# or libnsl.
9823{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5
9824$as_echo_n "checking for library containing inet_ntop... " >&6; }
9825if ${ac_cv_search_inet_ntop+:} false; then :
9826 $as_echo_n "(cached) " >&6
9827else
9828 ac_func_search_save_LIBS=$LIBS
9829cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9830/* end confdefs.h. */
9831
9832/* Override any GCC internal prototype to avoid an error.
9833 Use char because int might match the return type of a GCC
9834 builtin and then its argument prototype would still apply. */
9835#ifdef __cplusplus
9836extern "C"
9837#endif
9838char inet_ntop ();
9839int
9840main ()
9841{
9842return inet_ntop ();
9843 ;
9844 return 0;
9845}
9846_ACEOF
9847for ac_lib in '' resolv nsl; do
9848 if test -z "$ac_lib"; then
9849 ac_res="none required"
9850 else
9851 ac_res=-l$ac_lib
9852 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9853 fi
9854 if ac_fn_c_try_link "$LINENO"; then :
9855 ac_cv_search_inet_ntop=$ac_res
9856fi
9857rm -f core conftest.err conftest.$ac_objext \
9858 conftest$ac_exeext
9859 if ${ac_cv_search_inet_ntop+:} false; then :
9860 break
9861fi
9862done
9863if ${ac_cv_search_inet_ntop+:} false; then :
9864
9865else
9866 ac_cv_search_inet_ntop=no
9867fi
9868rm conftest.$ac_ext
9869LIBS=$ac_func_search_save_LIBS
9870fi
9871{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5
9872$as_echo "$ac_cv_search_inet_ntop" >&6; }
9873ac_res=$ac_cv_search_inet_ntop
9874if test "$ac_res" != no; then :
9875 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9876
9877fi
9878
9879{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
9880$as_echo_n "checking for library containing gethostbyname... " >&6; }
9881if ${ac_cv_search_gethostbyname+:} false; then :
9882 $as_echo_n "(cached) " >&6
9883else
9884 ac_func_search_save_LIBS=$LIBS
9885cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9886/* end confdefs.h. */
9887
9888/* Override any GCC internal prototype to avoid an error.
9889 Use char because int might match the return type of a GCC
9890 builtin and then its argument prototype would still apply. */
9891#ifdef __cplusplus
9892extern "C"
9893#endif
9894char gethostbyname ();
9895int
9896main ()
9897{
9898return gethostbyname ();
9899 ;
9900 return 0;
9901}
9902_ACEOF
9903for ac_lib in '' resolv nsl; do
9904 if test -z "$ac_lib"; then
9905 ac_res="none required"
9906 else
9907 ac_res=-l$ac_lib
9908 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9909 fi
9910 if ac_fn_c_try_link "$LINENO"; then :
9911 ac_cv_search_gethostbyname=$ac_res
9912fi
9913rm -f core conftest.err conftest.$ac_objext \
9914 conftest$ac_exeext
9915 if ${ac_cv_search_gethostbyname+:} false; then :
9916 break
9917fi
9918done
9919if ${ac_cv_search_gethostbyname+:} false; then :
9920
9921else
9922 ac_cv_search_gethostbyname=no
9923fi
9924rm conftest.$ac_ext
9925LIBS=$ac_func_search_save_LIBS
9926fi
9927{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
9928$as_echo "$ac_cv_search_gethostbyname" >&6; }
9929ac_res=$ac_cv_search_gethostbyname
9930if test "$ac_res" != no; then :
9931 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9932
9933fi
9934
9935
9936# "Particular Function Checks"
9937# see https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Functions.html
9938for ac_func in strftime
9939do :
9940 ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime"
9941if test "x$ac_cv_func_strftime" = xyes; then :
9942 cat >>confdefs.h <<_ACEOF
9943#define HAVE_STRFTIME 1
9944_ACEOF
9945
9946else
9947 # strftime is in -lintl on SCO UNIX.
9948{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5
9949$as_echo_n "checking for strftime in -lintl... " >&6; }
9950if ${ac_cv_lib_intl_strftime+:} false; then :
9951 $as_echo_n "(cached) " >&6
9952else
9953 ac_check_lib_save_LIBS=$LIBS
9954LIBS="-lintl $LIBS"
9955cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9956/* end confdefs.h. */
9957
9958/* Override any GCC internal prototype to avoid an error.
9959 Use char because int might match the return type of a GCC
9960 builtin and then its argument prototype would still apply. */
9961#ifdef __cplusplus
9962extern "C"
9963#endif
9964char strftime ();
9965int
9966main ()
9967{
9968return strftime ();
9969 ;
9970 return 0;
9971}
9972_ACEOF
9973if ac_fn_c_try_link "$LINENO"; then :
9974 ac_cv_lib_intl_strftime=yes
9975else
9976 ac_cv_lib_intl_strftime=no
9977fi
9978rm -f core conftest.err conftest.$ac_objext \
9979 conftest$ac_exeext conftest.$ac_ext
9980LIBS=$ac_check_lib_save_LIBS
9981fi
9982{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5
9983$as_echo "$ac_cv_lib_intl_strftime" >&6; }
9984if test "x$ac_cv_lib_intl_strftime" = xyes; then :
9985 $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h
9986
9987LIBS="-lintl $LIBS"
9988fi
9989
9990fi
9991done
9992
9993for ac_header in stdlib.h
9994do :
9995 ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
9996if test "x$ac_cv_header_stdlib_h" = xyes; then :
9997 cat >>confdefs.h <<_ACEOF
9998#define HAVE_STDLIB_H 1
9999_ACEOF
10000
10001fi
10002
10003done
10004
10005{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
10006$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
10007if ${ac_cv_func_malloc_0_nonnull+:} false; then :
10008 $as_echo_n "(cached) " >&6
10009else
10010 if test "$cross_compiling" = yes; then :
10011 ac_cv_func_malloc_0_nonnull=no
10012else
10013 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10014/* end confdefs.h. */
10015#if defined STDC_HEADERS || defined HAVE_STDLIB_H
10016# include <stdlib.h>
10017#else
10018char *malloc ();
10019#endif
10020
10021int
10022main ()
10023{
10024return ! malloc (0);
10025 ;
10026 return 0;
10027}
10028_ACEOF
10029if ac_fn_c_try_run "$LINENO"; then :
10030 ac_cv_func_malloc_0_nonnull=yes
10031else
10032 ac_cv_func_malloc_0_nonnull=no
10033fi
10034rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10035 conftest.$ac_objext conftest.beam conftest.$ac_ext
10036fi
10037
10038fi
10039{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
10040$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
10041if test $ac_cv_func_malloc_0_nonnull = yes; then :
10042
10043$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
10044
10045else
10046 $as_echo "#define HAVE_MALLOC 0" >>confdefs.h
10047
10048 case " $LIBOBJS " in
10049 *" malloc.$ac_objext "* ) ;;
10050 *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
10051 ;;
10052esac
10053
10054
10055$as_echo "#define malloc rpl_malloc" >>confdefs.h
10056
10057fi
10058
10059
10060for ac_header in stdlib.h
10061do :
10062 ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
10063if test "x$ac_cv_header_stdlib_h" = xyes; then :
10064 cat >>confdefs.h <<_ACEOF
10065#define HAVE_STDLIB_H 1
10066_ACEOF
10067
10068fi
10069
10070done
10071
10072{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5
10073$as_echo_n "checking for GNU libc compatible realloc... " >&6; }
10074if ${ac_cv_func_realloc_0_nonnull+:} false; then :
10075 $as_echo_n "(cached) " >&6
10076else
10077 if test "$cross_compiling" = yes; then :
10078 ac_cv_func_realloc_0_nonnull=no
10079else
10080 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10081/* end confdefs.h. */
10082#if defined STDC_HEADERS || defined HAVE_STDLIB_H
10083# include <stdlib.h>
10084#else
10085char *realloc ();
10086#endif
10087
10088int
10089main ()
10090{
10091return ! realloc (0, 0);
10092 ;
10093 return 0;
10094}
10095_ACEOF
10096if ac_fn_c_try_run "$LINENO"; then :
10097 ac_cv_func_realloc_0_nonnull=yes
10098else
10099 ac_cv_func_realloc_0_nonnull=no
10100fi
10101rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10102 conftest.$ac_objext conftest.beam conftest.$ac_ext
10103fi
10104
10105fi
10106{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5
10107$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; }
10108if test $ac_cv_func_realloc_0_nonnull = yes; then :
10109
10110$as_echo "#define HAVE_REALLOC 1" >>confdefs.h
10111
10112else
10113 $as_echo "#define HAVE_REALLOC 0" >>confdefs.h
10114
10115 case " $LIBOBJS " in
10116 *" realloc.$ac_objext "* ) ;;
10117 *) LIBOBJS="$LIBOBJS realloc.$ac_objext"
10118 ;;
10119esac
10120
10121
10122$as_echo "#define realloc rpl_realloc" >>confdefs.h
10123
10124fi
10125
10126
10127# autoconf doesn't have AC_FUNC_CALLOC so fake it if malloc returns NULL;
10128{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if calloc(0, N) returns non-null" >&5
10129$as_echo_n "checking if calloc(0, N) returns non-null... " >&6; }
10130if test "$cross_compiling" = yes; then :
10131 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming same as malloc" >&5
10132$as_echo "$as_me: WARNING: cross compiling: assuming same as malloc" >&2;}
10133 func_calloc_0_nonnull="$ac_cv_func_malloc_0_nonnull"
10134
10135else
10136 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10137/* end confdefs.h. */
10138 #include <stdlib.h>
10139int
10140main ()
10141{
10142 void *p = calloc(0, 1); exit(p == NULL);
10143
10144 ;
10145 return 0;
10146}
10147_ACEOF
10148if ac_fn_c_try_run "$LINENO"; then :
10149 func_calloc_0_nonnull=yes
10150else
10151 func_calloc_0_nonnull=no
10152fi
10153rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10154 conftest.$ac_objext conftest.beam conftest.$ac_ext
10155fi
10156
10157{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $func_calloc_0_nonnull" >&5
10158$as_echo "$func_calloc_0_nonnull" >&6; }
10159
10160if test "x$func_calloc_0_nonnull" = "xyes"; then
10161
10162$as_echo "#define HAVE_CALLOC 1" >>confdefs.h
10163
10164else
10165
10166$as_echo "#define HAVE_CALLOC 0" >>confdefs.h
10167
10168
10169$as_echo "#define calloc rpl_calloc" >>confdefs.h
10170
10171fi
10172
10173# Check for ALTDIRFUNC glob() extension
10174{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_ALTDIRFUNC support" >&5
10175$as_echo_n "checking for GLOB_ALTDIRFUNC support... " >&6; }
10176cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10177/* end confdefs.h. */
10178
10179 #include <glob.h>
10180 #ifdef GLOB_ALTDIRFUNC
10181 FOUNDIT
10182 #endif
10183
10184_ACEOF
10185if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
10186 $EGREP "FOUNDIT" >/dev/null 2>&1; then :
10187
10188
10189$as_echo "#define GLOB_HAS_ALTDIRFUNC 1" >>confdefs.h
10190
10191 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10192$as_echo "yes" >&6; }
10193
10194else
10195
10196 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10197$as_echo "no" >&6; }
10198
10199
10200fi
10201rm -f conftest*
10202
10203
10204# Check for g.gl_matchc glob() extension
10205{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_matchc field in glob_t" >&5
10206$as_echo_n "checking for gl_matchc field in glob_t... " >&6; }
10207cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10208/* end confdefs.h. */
10209 #include <glob.h>
10210int
10211main ()
10212{
10213 glob_t g; g.gl_matchc = 1;
10214 ;
10215 return 0;
10216}
10217_ACEOF
10218if ac_fn_c_try_compile "$LINENO"; then :
10219
10220
10221$as_echo "#define GLOB_HAS_GL_MATCHC 1" >>confdefs.h
10222
10223 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10224$as_echo "yes" >&6; }
10225
10226else
10227
10228 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10229$as_echo "no" >&6; }
10230
10231fi
10232rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10233
10234# Check for g.gl_statv glob() extension
10235{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_statv and GLOB_KEEPSTAT extensions for glob" >&5
10236$as_echo_n "checking for gl_statv and GLOB_KEEPSTAT extensions for glob... " >&6; }
10237cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10238/* end confdefs.h. */
10239 #include <glob.h>
10240int
10241main ()
10242{
10243
10244#ifndef GLOB_KEEPSTAT
10245#error "glob does not support GLOB_KEEPSTAT extension"
10246#endif
10247glob_t g;
10248g.gl_statv = NULL;
10249
10250 ;
10251 return 0;
10252}
10253_ACEOF
10254if ac_fn_c_try_compile "$LINENO"; then :
10255
10256
10257$as_echo "#define GLOB_HAS_GL_STATV 1" >>confdefs.h
10258
10259 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10260$as_echo "yes" >&6; }
10261
10262else
10263
10264 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10265$as_echo "no" >&6; }
10266
10267
10268fi
10269rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10270
10271ac_fn_c_check_decl "$LINENO" "GLOB_NOMATCH" "ac_cv_have_decl_GLOB_NOMATCH" "#include <glob.h>
10272"
10273if test "x$ac_cv_have_decl_GLOB_NOMATCH" = xyes; then :
10274 ac_have_decl=1
10275else
10276 ac_have_decl=0
10277fi
10278
10279cat >>confdefs.h <<_ACEOF
10280#define HAVE_DECL_GLOB_NOMATCH $ac_have_decl
10281_ACEOF
10282
10283
10284ac_fn_c_check_decl "$LINENO" "VIS_ALL" "ac_cv_have_decl_VIS_ALL" "#include <vis.h>
10285"
10286if test "x$ac_cv_have_decl_VIS_ALL" = xyes; then :
10287
10288else
10289
10290$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
10291
10292fi
10293
10294
10295{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct dirent allocates space for d_name" >&5
10296$as_echo_n "checking whether struct dirent allocates space for d_name... " >&6; }
10297if test "$cross_compiling" = yes; then :
10298
10299 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&5
10300$as_echo "$as_me: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&2;}
10301 $as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h
10302
10303
10304
10305else
10306 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10307/* end confdefs.h. */
10308
10309#include <sys/types.h>
10310#include <dirent.h>
10311int
10312main ()
10313{
10314
10315 struct dirent d;
10316 exit(sizeof(d.d_name)<=sizeof(char));
10317
10318 ;
10319 return 0;
10320}
10321_ACEOF
10322if ac_fn_c_try_run "$LINENO"; then :
10323 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10324$as_echo "yes" >&6; }
10325else
10326
10327 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10328$as_echo "no" >&6; }
10329
10330$as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h
10331
10332
10333fi
10334rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10335 conftest.$ac_objext conftest.beam conftest.$ac_ext
10336fi
10337
10338
10339{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /proc/pid/fd directory" >&5
10340$as_echo_n "checking for /proc/pid/fd directory... " >&6; }
10341if test -d "/proc/$$/fd" ; then
10342
10343$as_echo "#define HAVE_PROC_PID 1" >>confdefs.h
10344
10345 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10346$as_echo "yes" >&6; }
10347else
10348 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10349$as_echo "no" >&6; }
10350fi
10351
10352# Check whether user wants to use ldns
10353LDNS_MSG="no"
10354
10355# Check whether --with-ldns was given.
10356if test "${with_ldns+set}" = set; then :
10357 withval=$with_ldns;
10358 ldns=""
10359 if test "x$withval" = "xyes" ; then
10360 if test -n "$ac_tool_prefix"; then
10361 # Extract the first word of "${ac_tool_prefix}ldns-config", so it can be a program name with args.
10362set dummy ${ac_tool_prefix}ldns-config; ac_word=$2
10363{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10364$as_echo_n "checking for $ac_word... " >&6; }
10365if ${ac_cv_path_LDNSCONFIG+:} false; then :
10366 $as_echo_n "(cached) " >&6
10367else
10368 case $LDNSCONFIG in
10369 [\\/]* | ?:[\\/]*)
10370 ac_cv_path_LDNSCONFIG="$LDNSCONFIG" # Let the user override the test with a path.
10371 ;;
10372 *)
10373 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10374for as_dir in $PATH
10375do
10376 IFS=$as_save_IFS
10377 test -z "$as_dir" && as_dir=.
10378 for ac_exec_ext in '' $ac_executable_extensions; do
10379 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10380 ac_cv_path_LDNSCONFIG="$as_dir/$ac_word$ac_exec_ext"
10381 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10382 break 2
10383 fi
10384done
10385 done
10386IFS=$as_save_IFS
10387
10388 ;;
10389esac
10390fi
10391LDNSCONFIG=$ac_cv_path_LDNSCONFIG
10392if test -n "$LDNSCONFIG"; then
10393 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDNSCONFIG" >&5
10394$as_echo "$LDNSCONFIG" >&6; }
10395else
10396 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10397$as_echo "no" >&6; }
10398fi
10399
10400
10401fi
10402if test -z "$ac_cv_path_LDNSCONFIG"; then
10403 ac_pt_LDNSCONFIG=$LDNSCONFIG
10404 # Extract the first word of "ldns-config", so it can be a program name with args.
10405set dummy ldns-config; ac_word=$2
10406{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10407$as_echo_n "checking for $ac_word... " >&6; }
10408if ${ac_cv_path_ac_pt_LDNSCONFIG+:} false; then :
10409 $as_echo_n "(cached) " >&6
10410else
10411 case $ac_pt_LDNSCONFIG in
10412 [\\/]* | ?:[\\/]*)
10413 ac_cv_path_ac_pt_LDNSCONFIG="$ac_pt_LDNSCONFIG" # Let the user override the test with a path.
10414 ;;
10415 *)
10416 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10417for as_dir in $PATH
10418do
10419 IFS=$as_save_IFS
10420 test -z "$as_dir" && as_dir=.
10421 for ac_exec_ext in '' $ac_executable_extensions; do
10422 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10423 ac_cv_path_ac_pt_LDNSCONFIG="$as_dir/$ac_word$ac_exec_ext"
10424 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10425 break 2
10426 fi
10427done
10428 done
10429IFS=$as_save_IFS
10430
10431 ;;
10432esac
10433fi
10434ac_pt_LDNSCONFIG=$ac_cv_path_ac_pt_LDNSCONFIG
10435if test -n "$ac_pt_LDNSCONFIG"; then
10436 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_LDNSCONFIG" >&5
10437$as_echo "$ac_pt_LDNSCONFIG" >&6; }
10438else
10439 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10440$as_echo "no" >&6; }
10441fi
10442
10443 if test "x$ac_pt_LDNSCONFIG" = x; then
10444 LDNSCONFIG="no"
10445 else
10446 case $cross_compiling:$ac_tool_warned in
10447yes:)
10448{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10449$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10450ac_tool_warned=yes ;;
10451esac
10452 LDNSCONFIG=$ac_pt_LDNSCONFIG
10453 fi
10454else
10455 LDNSCONFIG="$ac_cv_path_LDNSCONFIG"
10456fi
10457
10458 if test "x$LDNSCONFIG" = "xno"; then
10459 LIBS="-lldns $LIBS"
10460 ldns=yes
10461 else
10462 LIBS="$LIBS `$LDNSCONFIG --libs`"
10463 CPPFLAGS="$CPPFLAGS `$LDNSCONFIG --cflags`"
10464 ldns=yes
10465 fi
10466 elif test "x$withval" != "xno" ; then
10467 CPPFLAGS="$CPPFLAGS -I${withval}/include"
10468 LDFLAGS="$LDFLAGS -L${withval}/lib"
10469 LIBS="-lldns $LIBS"
10470 ldns=yes
10471 fi
10472
10473 # Verify that it works.
10474 if test "x$ldns" = "xyes" ; then
10475
10476$as_echo "#define HAVE_LDNS 1" >>confdefs.h
10477
10478 LDNS_MSG="yes"
10479 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldns support" >&5
10480$as_echo_n "checking for ldns support... " >&6; }
10481 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10482/* end confdefs.h. */
10483
10484#include <stdio.h>
10485#include <stdlib.h>
10486#ifdef HAVE_STDINT_H
10487# include <stdint.h>
10488#endif
10489#include <ldns/ldns.h>
10490int main() { ldns_status status = ldns_verify_trusted(NULL, NULL, NULL, NULL); status=LDNS_STATUS_OK; exit(0); }
10491
10492
10493_ACEOF
10494if ac_fn_c_try_link "$LINENO"; then :
10495 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10496$as_echo "yes" >&6; }
10497else
10498
10499 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10500$as_echo "no" >&6; }
10501 as_fn_error $? "** Incomplete or missing ldns libraries." "$LINENO" 5
10502
10503fi
10504rm -f core conftest.err conftest.$ac_objext \
10505 conftest$ac_exeext conftest.$ac_ext
10506 fi
10507
10508fi
10509
10510
10511# Check whether user wants libedit support
10512LIBEDIT_MSG="no"
10513
10514# Check whether --with-libedit was given.
10515if test "${with_libedit+set}" = set; then :
10516 withval=$with_libedit; if test "x$withval" != "xno" ; then
10517 if test "x$withval" = "xyes" ; then
10518 if test -n "$ac_tool_prefix"; then
10519 # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
10520set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
10521{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10522$as_echo_n "checking for $ac_word... " >&6; }
10523if ${ac_cv_path_PKGCONFIG+:} false; then :
10524 $as_echo_n "(cached) " >&6
10525else
10526 case $PKGCONFIG in
10527 [\\/]* | ?:[\\/]*)
10528 ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
10529 ;;
10530 *)
10531 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10532for as_dir in $PATH
10533do
10534 IFS=$as_save_IFS
10535 test -z "$as_dir" && as_dir=.
10536 for ac_exec_ext in '' $ac_executable_extensions; do
10537 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10538 ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
10539 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10540 break 2
10541 fi
10542done
10543 done
10544IFS=$as_save_IFS
10545
10546 ;;
10547esac
10548fi
10549PKGCONFIG=$ac_cv_path_PKGCONFIG
10550if test -n "$PKGCONFIG"; then
10551 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
10552$as_echo "$PKGCONFIG" >&6; }
10553else
10554 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10555$as_echo "no" >&6; }
10556fi
10557
10558
10559fi
10560if test -z "$ac_cv_path_PKGCONFIG"; then
10561 ac_pt_PKGCONFIG=$PKGCONFIG
10562 # Extract the first word of "pkg-config", so it can be a program name with args.
10563set dummy pkg-config; ac_word=$2
10564{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10565$as_echo_n "checking for $ac_word... " >&6; }
10566if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
10567 $as_echo_n "(cached) " >&6
10568else
10569 case $ac_pt_PKGCONFIG in
10570 [\\/]* | ?:[\\/]*)
10571 ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
10572 ;;
10573 *)
10574 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10575for as_dir in $PATH
10576do
10577 IFS=$as_save_IFS
10578 test -z "$as_dir" && as_dir=.
10579 for ac_exec_ext in '' $ac_executable_extensions; do
10580 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10581 ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
10582 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10583 break 2
10584 fi
10585done
10586 done
10587IFS=$as_save_IFS
10588
10589 ;;
10590esac
10591fi
10592ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
10593if test -n "$ac_pt_PKGCONFIG"; then
10594 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
10595$as_echo "$ac_pt_PKGCONFIG" >&6; }
10596else
10597 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10598$as_echo "no" >&6; }
10599fi
10600
10601 if test "x$ac_pt_PKGCONFIG" = x; then
10602 PKGCONFIG="no"
10603 else
10604 case $cross_compiling:$ac_tool_warned in
10605yes:)
10606{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10607$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10608ac_tool_warned=yes ;;
10609esac
10610 PKGCONFIG=$ac_pt_PKGCONFIG
10611 fi
10612else
10613 PKGCONFIG="$ac_cv_path_PKGCONFIG"
10614fi
10615
10616 if test "x$PKGCONFIG" != "xno"; then
10617 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $PKGCONFIG knows about libedit" >&5
10618$as_echo_n "checking if $PKGCONFIG knows about libedit... " >&6; }
10619 if "$PKGCONFIG" libedit; then
10620 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10621$as_echo "yes" >&6; }
10622 use_pkgconfig_for_libedit=yes
10623 else
10624 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10625$as_echo "no" >&6; }
10626 fi
10627 fi
10628 else
10629 CPPFLAGS="$CPPFLAGS -I${withval}/include"
10630 if test -n "${rpath_opt}"; then
10631 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
10632 else
10633 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
10634 fi
10635 fi
10636 if test "x$use_pkgconfig_for_libedit" = "xyes"; then
10637 LIBEDIT=`$PKGCONFIG --libs libedit`
10638 CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags libedit`"
10639 else
10640 LIBEDIT="-ledit -lcurses"
10641 fi
10642 OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'`
10643 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for el_init in -ledit" >&5
10644$as_echo_n "checking for el_init in -ledit... " >&6; }
10645if ${ac_cv_lib_edit_el_init+:} false; then :
10646 $as_echo_n "(cached) " >&6
10647else
10648 ac_check_lib_save_LIBS=$LIBS
10649LIBS="-ledit $OTHERLIBS
10650 $LIBS"
10651cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10652/* end confdefs.h. */
10653
10654/* Override any GCC internal prototype to avoid an error.
10655 Use char because int might match the return type of a GCC
10656 builtin and then its argument prototype would still apply. */
10657#ifdef __cplusplus
10658extern "C"
10659#endif
10660char el_init ();
10661int
10662main ()
10663{
10664return el_init ();
10665 ;
10666 return 0;
10667}
10668_ACEOF
10669if ac_fn_c_try_link "$LINENO"; then :
10670 ac_cv_lib_edit_el_init=yes
10671else
10672 ac_cv_lib_edit_el_init=no
10673fi
10674rm -f core conftest.err conftest.$ac_objext \
10675 conftest$ac_exeext conftest.$ac_ext
10676LIBS=$ac_check_lib_save_LIBS
10677fi
10678{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_el_init" >&5
10679$as_echo "$ac_cv_lib_edit_el_init" >&6; }
10680if test "x$ac_cv_lib_edit_el_init" = xyes; then :
10681
10682$as_echo "#define USE_LIBEDIT 1" >>confdefs.h
10683
10684 LIBEDIT_MSG="yes"
10685
10686
10687else
10688 as_fn_error $? "libedit not found" "$LINENO" 5
10689fi
10690
10691 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libedit version is compatible" >&5
10692$as_echo_n "checking if libedit version is compatible... " >&6; }
10693 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10694/* end confdefs.h. */
10695 #include <histedit.h>
10696int
10697main ()
10698{
10699
10700 int i = H_SETSIZE;
10701 el_init("", NULL, NULL, NULL);
10702 exit(0);
10703
10704 ;
10705 return 0;
10706}
10707_ACEOF
10708if ac_fn_c_try_compile "$LINENO"; then :
10709 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10710$as_echo "yes" >&6; }
10711else
10712 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10713$as_echo "no" >&6; }
10714 as_fn_error $? "libedit version is not compatible" "$LINENO" 5
10715
10716fi
10717rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10718 fi
10719
10720fi
10721
10722
10723AUDIT_MODULE=none
10724
10725# Check whether --with-audit was given.
10726if test "${with_audit+set}" = set; then :
10727 withval=$with_audit;
10728 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported audit module" >&5
10729$as_echo_n "checking for supported audit module... " >&6; }
10730 case "$withval" in
10731 bsm)
10732 { $as_echo "$as_me:${as_lineno-$LINENO}: result: bsm" >&5
10733$as_echo "bsm" >&6; }
10734 AUDIT_MODULE=bsm
10735 for ac_header in bsm/audit.h
10736do :
10737 ac_fn_c_check_header_compile "$LINENO" "bsm/audit.h" "ac_cv_header_bsm_audit_h" "
10738#ifdef HAVE_TIME_H
10739# include <time.h>
10740#endif
10741
10742
10743"
10744if test "x$ac_cv_header_bsm_audit_h" = xyes; then :
10745 cat >>confdefs.h <<_ACEOF
10746#define HAVE_BSM_AUDIT_H 1
10747_ACEOF
10748
10749else
10750 as_fn_error $? "BSM enabled and bsm/audit.h not found" "$LINENO" 5
10751fi
10752
10753done
10754
10755 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaudit in -lbsm" >&5
10756$as_echo_n "checking for getaudit in -lbsm... " >&6; }
10757if ${ac_cv_lib_bsm_getaudit+:} false; then :
10758 $as_echo_n "(cached) " >&6
10759else
10760 ac_check_lib_save_LIBS=$LIBS
10761LIBS="-lbsm $LIBS"
10762cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10763/* end confdefs.h. */
10764
10765/* Override any GCC internal prototype to avoid an error.
10766 Use char because int might match the return type of a GCC
10767 builtin and then its argument prototype would still apply. */
10768#ifdef __cplusplus
10769extern "C"
10770#endif
10771char getaudit ();
10772int
10773main ()
10774{
10775return getaudit ();
10776 ;
10777 return 0;
10778}
10779_ACEOF
10780if ac_fn_c_try_link "$LINENO"; then :
10781 ac_cv_lib_bsm_getaudit=yes
10782else
10783 ac_cv_lib_bsm_getaudit=no
10784fi
10785rm -f core conftest.err conftest.$ac_objext \
10786 conftest$ac_exeext conftest.$ac_ext
10787LIBS=$ac_check_lib_save_LIBS
10788fi
10789{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsm_getaudit" >&5
10790$as_echo "$ac_cv_lib_bsm_getaudit" >&6; }
10791if test "x$ac_cv_lib_bsm_getaudit" = xyes; then :
10792 cat >>confdefs.h <<_ACEOF
10793#define HAVE_LIBBSM 1
10794_ACEOF
10795
10796 LIBS="-lbsm $LIBS"
10797
10798else
10799 as_fn_error $? "BSM enabled and required library not found" "$LINENO" 5
10800fi
10801
10802 for ac_func in getaudit
10803do :
10804 ac_fn_c_check_func "$LINENO" "getaudit" "ac_cv_func_getaudit"
10805if test "x$ac_cv_func_getaudit" = xyes; then :
10806 cat >>confdefs.h <<_ACEOF
10807#define HAVE_GETAUDIT 1
10808_ACEOF
10809
10810else
10811 as_fn_error $? "BSM enabled and required function not found" "$LINENO" 5
10812fi
10813done
10814
10815 # These are optional
10816 for ac_func in getaudit_addr aug_get_machine
10817do :
10818 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
10819ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
10820if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
10821 cat >>confdefs.h <<_ACEOF
10822#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
10823_ACEOF
10824
10825fi
10826done
10827
10828
10829$as_echo "#define USE_BSM_AUDIT 1" >>confdefs.h
10830
10831 if test "$sol2ver" -ge 11; then
10832 SSHDLIBS="$SSHDLIBS -lscf"
10833
10834$as_echo "#define BROKEN_BSM_API 1" >>confdefs.h
10835
10836 fi
10837 ;;
10838 linux)
10839 { $as_echo "$as_me:${as_lineno-$LINENO}: result: linux" >&5
10840$as_echo "linux" >&6; }
10841 AUDIT_MODULE=linux
10842 for ac_header in libaudit.h
10843do :
10844 ac_fn_c_check_header_mongrel "$LINENO" "libaudit.h" "ac_cv_header_libaudit_h" "$ac_includes_default"
10845if test "x$ac_cv_header_libaudit_h" = xyes; then :
10846 cat >>confdefs.h <<_ACEOF
10847#define HAVE_LIBAUDIT_H 1
10848_ACEOF
10849
10850fi
10851
10852done
10853
10854 SSHDLIBS="$SSHDLIBS -laudit"
10855
10856$as_echo "#define USE_LINUX_AUDIT 1" >>confdefs.h
10857
10858 ;;
10859 debug)
10860 AUDIT_MODULE=debug
10861 { $as_echo "$as_me:${as_lineno-$LINENO}: result: debug" >&5
10862$as_echo "debug" >&6; }
10863
10864$as_echo "#define SSH_AUDIT_EVENTS 1" >>confdefs.h
10865
10866 ;;
10867 no)
10868 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10869$as_echo "no" >&6; }
10870 ;;
10871 *)
10872 as_fn_error $? "Unknown audit module $withval" "$LINENO" 5
10873 ;;
10874 esac
10875
10876fi
10877
10878
10879
10880# Check whether --with-pie was given.
10881if test "${with_pie+set}" = set; then :
10882 withval=$with_pie;
10883 if test "x$withval" = "xno"; then
10884 use_pie=no
10885 fi
10886 if test "x$withval" = "xyes"; then
10887 use_pie=yes
10888 fi
10889
10890
10891fi
10892
10893if test "x$use_pie" = "x"; then
10894 use_pie=no
10895fi
10896if test "x$use_toolchain_hardening" != "x1" && test "x$use_pie" = "xauto"; then
10897 # Turn off automatic PIE when toolchain hardening is off.
10898 use_pie=no
10899fi
10900if test "x$use_pie" = "xauto"; then
10901 # Automatic PIE requires gcc >= 4.x
10902 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc >= 4.x" >&5
10903$as_echo_n "checking for gcc >= 4.x... " >&6; }
10904 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10905/* end confdefs.h. */
10906
10907#if !defined(__GNUC__) || __GNUC__ < 4
10908#error gcc is too old
10909#endif
10910
10911_ACEOF
10912if ac_fn_c_try_compile "$LINENO"; then :
10913 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10914$as_echo "yes" >&6; }
10915else
10916 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10917$as_echo "no" >&6; }
10918 use_pie=no
10919
10920fi
10921rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10922fi
10923if test "x$use_pie" != "xno"; then
10924 SAVED_CFLAGS="$CFLAGS"
10925 SAVED_LDFLAGS="$LDFLAGS"
10926 {
10927 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fPIE" >&5
10928$as_echo_n "checking if $CC supports compile flag -fPIE... " >&6; }
10929 saved_CFLAGS="$CFLAGS"
10930 CFLAGS="$CFLAGS $WERROR -fPIE"
10931 _define_flag=""
10932 test "x$_define_flag" = "x" && _define_flag="-fPIE"
10933 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10934/* end confdefs.h. */
10935
10936#include <stdlib.h>
10937#include <stdio.h>
10938int main(int argc, char **argv) {
10939 /* Some math to catch -ftrapv problems in the toolchain */
10940 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
10941 float l = i * 2.1;
10942 double m = l / 0.5;
10943 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
10944 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
10945 exit(0);
10946}
10947
10948_ACEOF
10949if ac_fn_c_try_compile "$LINENO"; then :
10950
10951if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
10952then
10953 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10954$as_echo "no" >&6; }
10955 CFLAGS="$saved_CFLAGS"
10956else
10957 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10958$as_echo "yes" >&6; }
10959 CFLAGS="$saved_CFLAGS $_define_flag"
10960fi
10961else
10962 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10963$as_echo "no" >&6; }
10964 CFLAGS="$saved_CFLAGS"
10965
10966fi
10967rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10968}
10969 {
10970 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -pie" >&5
10971$as_echo_n "checking if $LD supports link flag -pie... " >&6; }
10972 saved_LDFLAGS="$LDFLAGS"
10973 LDFLAGS="$LDFLAGS $WERROR -pie"
10974 _define_flag=""
10975 test "x$_define_flag" = "x" && _define_flag="-pie"
10976 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10977/* end confdefs.h. */
10978
10979#include <stdlib.h>
10980#include <stdio.h>
10981int main(int argc, char **argv) {
10982 /* Some math to catch -ftrapv problems in the toolchain */
10983 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
10984 float l = i * 2.1;
10985 double m = l / 0.5;
10986 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
10987 long long p = n * o;
10988 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
10989 exit(0);
10990}
10991
10992_ACEOF
10993if ac_fn_c_try_link "$LINENO"; then :
10994
10995if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
10996then
10997 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10998$as_echo "no" >&6; }
10999 LDFLAGS="$saved_LDFLAGS"
11000else
11001 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11002$as_echo "yes" >&6; }
11003 LDFLAGS="$saved_LDFLAGS $_define_flag"
11004fi
11005else
11006 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11007$as_echo "no" >&6; }
11008 LDFLAGS="$saved_LDFLAGS"
11009
11010fi
11011rm -f core conftest.err conftest.$ac_objext \
11012 conftest$ac_exeext conftest.$ac_ext
11013}
11014 # We use both -fPIE and -pie or neither.
11015 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether both -fPIE and -pie are supported" >&5
11016$as_echo_n "checking whether both -fPIE and -pie are supported... " >&6; }
11017 if echo "x $CFLAGS" | grep ' -fPIE' >/dev/null 2>&1 && \
11018 echo "x $LDFLAGS" | grep ' -pie' >/dev/null 2>&1 ; then
11019 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11020$as_echo "yes" >&6; }
11021 else
11022 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11023$as_echo "no" >&6; }
11024 CFLAGS="$SAVED_CFLAGS"
11025 LDFLAGS="$SAVED_LDFLAGS"
11026 fi
11027fi
11028
11029{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fPIC is accepted" >&5
11030$as_echo_n "checking whether -fPIC is accepted... " >&6; }
11031SAVED_CFLAGS="$CFLAGS"
11032CFLAGS="$CFLAGS -fPIC"
11033cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11034/* end confdefs.h. */
11035 #include <stdlib.h>
11036int
11037main ()
11038{
11039 exit(0);
11040 ;
11041 return 0;
11042}
11043_ACEOF
11044if ac_fn_c_try_compile "$LINENO"; then :
11045 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11046$as_echo "yes" >&6; }
11047 PICFLAG="-fPIC";
11048else
11049 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11050$as_echo "no" >&6; }
11051 PICFLAG="";
11052fi
11053rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
11054CFLAGS="$SAVED_CFLAGS"
11055
11056
11057for ac_func in \
11058 Blowfish_initstate \
11059 Blowfish_expandstate \
11060 Blowfish_expand0state \
11061 Blowfish_stream2word \
11062 SHA256Update \
11063 SHA384Update \
11064 SHA512Update \
11065 asprintf \
11066 b64_ntop \
11067 __b64_ntop \
11068 b64_pton \
11069 __b64_pton \
11070 bcopy \
11071 bcrypt_pbkdf \
11072 bindresvport_sa \
11073 blf_enc \
11074 bzero \
11075 cap_rights_limit \
11076 clock \
11077 closefrom \
11078 dirfd \
11079 endgrent \
11080 err \
11081 errx \
11082 explicit_bzero \
11083 fchmod \
11084 fchmodat \
11085 fchown \
11086 fchownat \
11087 flock \
11088 fnmatch \
11089 freeaddrinfo \
11090 freezero \
11091 fstatfs \
11092 fstatvfs \
11093 futimes \
11094 getaddrinfo \
11095 getcwd \
11096 getgrouplist \
11097 getline \
11098 getnameinfo \
11099 getopt \
11100 getpagesize \
11101 getpeereid \
11102 getpeerucred \
11103 getpgid \
11104 _getpty \
11105 getrlimit \
11106 getrandom \
11107 getsid \
11108 getttyent \
11109 glob \
11110 group_from_gid \
11111 inet_aton \
11112 inet_ntoa \
11113 inet_ntop \
11114 innetgr \
11115 llabs \
11116 localtime_r \
11117 login_getcapbool \
11118 md5_crypt \
11119 memmem \
11120 memmove \
11121 memset_s \
11122 mkdtemp \
11123 ngetaddrinfo \
11124 nsleep \
11125 ogetaddrinfo \
11126 openlog_r \
11127 pledge \
11128 poll \
11129 prctl \
11130 pstat \
11131 raise \
11132 readpassphrase \
11133 reallocarray \
11134 realpath \
11135 recvmsg \
11136 recallocarray \
11137 rresvport_af \
11138 sendmsg \
11139 setdtablesize \
11140 setegid \
11141 setenv \
11142 seteuid \
11143 setgroupent \
11144 setgroups \
11145 setlinebuf \
11146 setlogin \
11147 setpassent\
11148 setpcred \
11149 setproctitle \
11150 setregid \
11151 setreuid \
11152 setrlimit \
11153 setsid \
11154 setvbuf \
11155 sigaction \
11156 sigvec \
11157 snprintf \
11158 socketpair \
11159 statfs \
11160 statvfs \
11161 strcasestr \
11162 strdup \
11163 strerror \
11164 strlcat \
11165 strlcpy \
11166 strmode \
11167 strndup \
11168 strnlen \
11169 strnvis \
11170 strptime \
11171 strsignal \
11172 strtonum \
11173 strtoll \
11174 strtoul \
11175 strtoull \
11176 swap32 \
11177 sysconf \
11178 tcgetpgrp \
11179 timingsafe_bcmp \
11180 truncate \
11181 unsetenv \
11182 updwtmpx \
11183 utimensat \
11184 user_from_uid \
11185 usleep \
11186 vasprintf \
11187 vsnprintf \
11188 waitpid \
11189 warn \
11190
11191do :
11192 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11193ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11194if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11195 cat >>confdefs.h <<_ACEOF
11196#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11197_ACEOF
11198
11199fi
11200done
11201
11202
11203ac_fn_c_check_decl "$LINENO" "bzero" "ac_cv_have_decl_bzero" "$ac_includes_default"
11204if test "x$ac_cv_have_decl_bzero" = xyes; then :
11205 ac_have_decl=1
11206else
11207 ac_have_decl=0
11208fi
11209
11210cat >>confdefs.h <<_ACEOF
11211#define HAVE_DECL_BZERO $ac_have_decl
11212_ACEOF
11213ac_fn_c_check_decl "$LINENO" "memmem" "ac_cv_have_decl_memmem" "$ac_includes_default"
11214if test "x$ac_cv_have_decl_memmem" = xyes; then :
11215 ac_have_decl=1
11216else
11217 ac_have_decl=0
11218fi
11219
11220cat >>confdefs.h <<_ACEOF
11221#define HAVE_DECL_MEMMEM $ac_have_decl
11222_ACEOF
11223
11224
11225for ac_func in mblen mbtowc nl_langinfo wcwidth
11226do :
11227 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11228ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11229if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11230 cat >>confdefs.h <<_ACEOF
11231#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11232_ACEOF
11233
11234fi
11235done
11236
11237
11238TEST_SSH_UTF8=${TEST_SSH_UTF8:=yes}
11239{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for utf8 locale support" >&5
11240$as_echo_n "checking for utf8 locale support... " >&6; }
11241if test "$cross_compiling" = yes; then :
11242 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
11243$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
11244
11245else
11246 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11247/* end confdefs.h. */
11248
11249#include <locale.h>
11250#include <stdlib.h>
11251
11252int
11253main ()
11254{
11255
11256 char *loc = setlocale(LC_CTYPE, "en_US.UTF-8");
11257 if (loc != NULL)
11258 exit(0);
11259 exit(1);
11260
11261 ;
11262 return 0;
11263}
11264_ACEOF
11265if ac_fn_c_try_run "$LINENO"; then :
11266 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11267$as_echo "yes" >&6; }
11268else
11269 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11270$as_echo "no" >&6; }
11271 TEST_SSH_UTF8=no
11272fi
11273rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11274 conftest.$ac_objext conftest.beam conftest.$ac_ext
11275fi
11276
11277
11278cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11279/* end confdefs.h. */
11280 #include <ctype.h>
11281int
11282main ()
11283{
11284 return (isblank('a'));
11285 ;
11286 return 0;
11287}
11288_ACEOF
11289if ac_fn_c_try_link "$LINENO"; then :
11290
11291$as_echo "#define HAVE_ISBLANK 1" >>confdefs.h
11292
11293
11294fi
11295rm -f core conftest.err conftest.$ac_objext \
11296 conftest$ac_exeext conftest.$ac_ext
11297
11298disable_pkcs11=
11299# Check whether --enable-pkcs11 was given.
11300if test "${enable_pkcs11+set}" = set; then :
11301 enableval=$enable_pkcs11;
11302 if test "x$enableval" = "xno" ; then
11303 disable_pkcs11=1
11304 fi
11305
11306
11307fi
11308
11309
11310disable_sk=
11311# Check whether --enable-security-key was given.
11312if test "${enable_security_key+set}" = set; then :
11313 enableval=$enable_security_key;
11314 if test "x$enableval" = "xno" ; then
11315 disable_sk=1
11316 fi
11317
11318
11319fi
11320
11321enable_sk_internal=
11322
11323# Check whether --with-security-key-builtin was given.
11324if test "${with_security_key_builtin+set}" = set; then :
11325 withval=$with_security_key_builtin;
11326 if test "x$withval" != "xno" ; then
11327 enable_sk_internal=yes
11328 fi
11329
11330
11331fi
11332
11333test "x$disable_sk" != "x" && enable_sk_internal=""
11334
11335{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
11336$as_echo_n "checking for library containing dlopen... " >&6; }
11337if ${ac_cv_search_dlopen+:} false; then :
11338 $as_echo_n "(cached) " >&6
11339else
11340 ac_func_search_save_LIBS=$LIBS
11341cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11342/* end confdefs.h. */
11343
11344/* Override any GCC internal prototype to avoid an error.
11345 Use char because int might match the return type of a GCC
11346 builtin and then its argument prototype would still apply. */
11347#ifdef __cplusplus
11348extern "C"
11349#endif
11350char dlopen ();
11351int
11352main ()
11353{
11354return dlopen ();
11355 ;
11356 return 0;
11357}
11358_ACEOF
11359for ac_lib in '' dl; do
11360 if test -z "$ac_lib"; then
11361 ac_res="none required"
11362 else
11363 ac_res=-l$ac_lib
11364 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11365 fi
11366 if ac_fn_c_try_link "$LINENO"; then :
11367 ac_cv_search_dlopen=$ac_res
11368fi
11369rm -f core conftest.err conftest.$ac_objext \
11370 conftest$ac_exeext
11371 if ${ac_cv_search_dlopen+:} false; then :
11372 break
11373fi
11374done
11375if ${ac_cv_search_dlopen+:} false; then :
11376
11377else
11378 ac_cv_search_dlopen=no
11379fi
11380rm conftest.$ac_ext
11381LIBS=$ac_func_search_save_LIBS
11382fi
11383{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
11384$as_echo "$ac_cv_search_dlopen" >&6; }
11385ac_res=$ac_cv_search_dlopen
11386if test "$ac_res" != no; then :
11387 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11388
11389fi
11390
11391for ac_func in dlopen
11392do :
11393 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
11394if test "x$ac_cv_func_dlopen" = xyes; then :
11395 cat >>confdefs.h <<_ACEOF
11396#define HAVE_DLOPEN 1
11397_ACEOF
11398
11399fi
11400done
11401
11402ac_fn_c_check_decl "$LINENO" "RTLD_NOW" "ac_cv_have_decl_RTLD_NOW" "#include <dlfcn.h>
11403"
11404if test "x$ac_cv_have_decl_RTLD_NOW" = xyes; then :
11405
11406fi
11407
11408
11409# IRIX has a const char return value for gai_strerror()
11410for ac_func in gai_strerror
11411do :
11412 ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror"
11413if test "x$ac_cv_func_gai_strerror" = xyes; then :
11414 cat >>confdefs.h <<_ACEOF
11415#define HAVE_GAI_STRERROR 1
11416_ACEOF
11417
11418 $as_echo "#define HAVE_GAI_STRERROR 1" >>confdefs.h
11419
11420 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11421/* end confdefs.h. */
11422
11423#include <sys/types.h>
11424#include <sys/socket.h>
11425#include <netdb.h>
11426
11427const char *gai_strerror(int);
11428
11429int
11430main ()
11431{
11432
11433 char *str;
11434 str = gai_strerror(0);
11435
11436 ;
11437 return 0;
11438}
11439_ACEOF
11440if ac_fn_c_try_compile "$LINENO"; then :
11441
11442
11443$as_echo "#define HAVE_CONST_GAI_STRERROR_PROTO 1" >>confdefs.h
11444
11445fi
11446rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
11447fi
11448done
11449
11450
11451{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5
11452$as_echo_n "checking for library containing nanosleep... " >&6; }
11453if ${ac_cv_search_nanosleep+:} false; then :
11454 $as_echo_n "(cached) " >&6
11455else
11456 ac_func_search_save_LIBS=$LIBS
11457cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11458/* end confdefs.h. */
11459
11460/* Override any GCC internal prototype to avoid an error.
11461 Use char because int might match the return type of a GCC
11462 builtin and then its argument prototype would still apply. */
11463#ifdef __cplusplus
11464extern "C"
11465#endif
11466char nanosleep ();
11467int
11468main ()
11469{
11470return nanosleep ();
11471 ;
11472 return 0;
11473}
11474_ACEOF
11475for ac_lib in '' rt posix4; do
11476 if test -z "$ac_lib"; then
11477 ac_res="none required"
11478 else
11479 ac_res=-l$ac_lib
11480 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11481 fi
11482 if ac_fn_c_try_link "$LINENO"; then :
11483 ac_cv_search_nanosleep=$ac_res
11484fi
11485rm -f core conftest.err conftest.$ac_objext \
11486 conftest$ac_exeext
11487 if ${ac_cv_search_nanosleep+:} false; then :
11488 break
11489fi
11490done
11491if ${ac_cv_search_nanosleep+:} false; then :
11492
11493else
11494 ac_cv_search_nanosleep=no
11495fi
11496rm conftest.$ac_ext
11497LIBS=$ac_func_search_save_LIBS
11498fi
11499{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5
11500$as_echo "$ac_cv_search_nanosleep" >&6; }
11501ac_res=$ac_cv_search_nanosleep
11502if test "$ac_res" != no; then :
11503 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11504
11505$as_echo "#define HAVE_NANOSLEEP 1" >>confdefs.h
11506
11507fi
11508
11509
11510{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
11511$as_echo_n "checking for library containing clock_gettime... " >&6; }
11512if ${ac_cv_search_clock_gettime+:} false; then :
11513 $as_echo_n "(cached) " >&6
11514else
11515 ac_func_search_save_LIBS=$LIBS
11516cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11517/* end confdefs.h. */
11518
11519/* Override any GCC internal prototype to avoid an error.
11520 Use char because int might match the return type of a GCC
11521 builtin and then its argument prototype would still apply. */
11522#ifdef __cplusplus
11523extern "C"
11524#endif
11525char clock_gettime ();
11526int
11527main ()
11528{
11529return clock_gettime ();
11530 ;
11531 return 0;
11532}
11533_ACEOF
11534for ac_lib in '' rt; do
11535 if test -z "$ac_lib"; then
11536 ac_res="none required"
11537 else
11538 ac_res=-l$ac_lib
11539 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11540 fi
11541 if ac_fn_c_try_link "$LINENO"; then :
11542 ac_cv_search_clock_gettime=$ac_res
11543fi
11544rm -f core conftest.err conftest.$ac_objext \
11545 conftest$ac_exeext
11546 if ${ac_cv_search_clock_gettime+:} false; then :
11547 break
11548fi
11549done
11550if ${ac_cv_search_clock_gettime+:} false; then :
11551
11552else
11553 ac_cv_search_clock_gettime=no
11554fi
11555rm conftest.$ac_ext
11556LIBS=$ac_func_search_save_LIBS
11557fi
11558{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
11559$as_echo "$ac_cv_search_clock_gettime" >&6; }
11560ac_res=$ac_cv_search_clock_gettime
11561if test "$ac_res" != no; then :
11562 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11563
11564$as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
11565
11566fi
11567
11568
11569ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" " #include <time.h>
11570
11571"
11572if test "x$ac_cv_have_decl_localtime_r" = xyes; then :
11573
11574else
11575 saved_CPPFLAGS="$CFLAGS"
11576 CPPFLAGS="$CPPFLAGS -D_REENTRANT"
11577 unset ac_cv_have_decl_localtime_r
11578 ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" " #include <time.h>
11579
11580"
11581if test "x$ac_cv_have_decl_localtime_r" = xyes; then :
11582
11583else
11584 CPPFLAGS="$saved_CPPFLAGS"
11585fi
11586
11587
11588fi
11589
11590
11591ac_fn_c_check_decl "$LINENO" "strsep" "ac_cv_have_decl_strsep" "
11592#ifdef HAVE_STRING_H
11593# include <string.h>
11594#endif
11595
11596"
11597if test "x$ac_cv_have_decl_strsep" = xyes; then :
11598 for ac_func in strsep
11599do :
11600 ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep"
11601if test "x$ac_cv_func_strsep" = xyes; then :
11602 cat >>confdefs.h <<_ACEOF
11603#define HAVE_STRSEP 1
11604_ACEOF
11605
11606fi
11607done
11608
11609fi
11610
11611
11612ac_fn_c_check_decl "$LINENO" "tcsendbreak" "ac_cv_have_decl_tcsendbreak" "#include <termios.h>
11613
11614"
11615if test "x$ac_cv_have_decl_tcsendbreak" = xyes; then :
11616 $as_echo "#define HAVE_TCSENDBREAK 1" >>confdefs.h
11617
11618else
11619 for ac_func in tcsendbreak
11620do :
11621 ac_fn_c_check_func "$LINENO" "tcsendbreak" "ac_cv_func_tcsendbreak"
11622if test "x$ac_cv_func_tcsendbreak" = xyes; then :
11623 cat >>confdefs.h <<_ACEOF
11624#define HAVE_TCSENDBREAK 1
11625_ACEOF
11626
11627fi
11628done
11629
11630fi
11631
11632
11633ac_fn_c_check_decl "$LINENO" "h_errno" "ac_cv_have_decl_h_errno" "#include <netdb.h>
11634"
11635if test "x$ac_cv_have_decl_h_errno" = xyes; then :
11636 ac_have_decl=1
11637else
11638 ac_have_decl=0
11639fi
11640
11641cat >>confdefs.h <<_ACEOF
11642#define HAVE_DECL_H_ERRNO $ac_have_decl
11643_ACEOF
11644
11645
11646ac_fn_c_check_decl "$LINENO" "SHUT_RD" "ac_cv_have_decl_SHUT_RD" "
11647#include <sys/types.h>
11648#include <sys/socket.h>
11649#include <unistd.h>
11650
11651"
11652if test "x$ac_cv_have_decl_SHUT_RD" = xyes; then :
11653 ac_have_decl=1
11654else
11655 ac_have_decl=0
11656fi
11657
11658cat >>confdefs.h <<_ACEOF
11659#define HAVE_DECL_SHUT_RD $ac_have_decl
11660_ACEOF
11661ac_fn_c_check_decl "$LINENO" "getpeereid" "ac_cv_have_decl_getpeereid" "
11662#include <sys/types.h>
11663#include <sys/socket.h>
11664#include <unistd.h>
11665
11666"
11667if test "x$ac_cv_have_decl_getpeereid" = xyes; then :
11668 ac_have_decl=1
11669else
11670 ac_have_decl=0
11671fi
11672
11673cat >>confdefs.h <<_ACEOF
11674#define HAVE_DECL_GETPEEREID $ac_have_decl
11675_ACEOF
11676
11677
11678ac_fn_c_check_decl "$LINENO" "O_NONBLOCK" "ac_cv_have_decl_O_NONBLOCK" "
11679#include <sys/types.h>
11680#ifdef HAVE_SYS_STAT_H
11681# include <sys/stat.h>
11682#endif
11683#ifdef HAVE_FCNTL_H
11684# include <fcntl.h>
11685#endif
11686
11687"
11688if test "x$ac_cv_have_decl_O_NONBLOCK" = xyes; then :
11689 ac_have_decl=1
11690else
11691 ac_have_decl=0
11692fi
11693
11694cat >>confdefs.h <<_ACEOF
11695#define HAVE_DECL_O_NONBLOCK $ac_have_decl
11696_ACEOF
11697
11698
11699ac_fn_c_check_decl "$LINENO" "readv" "ac_cv_have_decl_readv" "
11700#include <sys/types.h>
11701#include <sys/uio.h>
11702#include <unistd.h>
11703
11704"
11705if test "x$ac_cv_have_decl_readv" = xyes; then :
11706 ac_have_decl=1
11707else
11708 ac_have_decl=0
11709fi
11710
11711cat >>confdefs.h <<_ACEOF
11712#define HAVE_DECL_READV $ac_have_decl
11713_ACEOF
11714ac_fn_c_check_decl "$LINENO" "writev" "ac_cv_have_decl_writev" "
11715#include <sys/types.h>
11716#include <sys/uio.h>
11717#include <unistd.h>
11718
11719"
11720if test "x$ac_cv_have_decl_writev" = xyes; then :
11721 ac_have_decl=1
11722else
11723 ac_have_decl=0
11724fi
11725
11726cat >>confdefs.h <<_ACEOF
11727#define HAVE_DECL_WRITEV $ac_have_decl
11728_ACEOF
11729
11730
11731ac_fn_c_check_decl "$LINENO" "MAXSYMLINKS" "ac_cv_have_decl_MAXSYMLINKS" "
11732#include <sys/param.h>
11733
11734"
11735if test "x$ac_cv_have_decl_MAXSYMLINKS" = xyes; then :
11736 ac_have_decl=1
11737else
11738 ac_have_decl=0
11739fi
11740
11741cat >>confdefs.h <<_ACEOF
11742#define HAVE_DECL_MAXSYMLINKS $ac_have_decl
11743_ACEOF
11744
11745
11746ac_fn_c_check_decl "$LINENO" "offsetof" "ac_cv_have_decl_offsetof" "
11747#include <stddef.h>
11748
11749"
11750if test "x$ac_cv_have_decl_offsetof" = xyes; then :
11751 ac_have_decl=1
11752else
11753 ac_have_decl=0
11754fi
11755
11756cat >>confdefs.h <<_ACEOF
11757#define HAVE_DECL_OFFSETOF $ac_have_decl
11758_ACEOF
11759
11760
11761# extra bits for select(2)
11762ac_fn_c_check_decl "$LINENO" "howmany" "ac_cv_have_decl_howmany" "
11763#include <sys/param.h>
11764#include <sys/types.h>
11765#ifdef HAVE_SYS_SYSMACROS_H
11766#include <sys/sysmacros.h>
11767#endif
11768#ifdef HAVE_SYS_SELECT_H
11769#include <sys/select.h>
11770#endif
11771#ifdef HAVE_SYS_TIME_H
11772#include <sys/time.h>
11773#endif
11774#ifdef HAVE_UNISTD_H
11775#include <unistd.h>
11776#endif
11777
11778"
11779if test "x$ac_cv_have_decl_howmany" = xyes; then :
11780 ac_have_decl=1
11781else
11782 ac_have_decl=0
11783fi
11784
11785cat >>confdefs.h <<_ACEOF
11786#define HAVE_DECL_HOWMANY $ac_have_decl
11787_ACEOF
11788ac_fn_c_check_decl "$LINENO" "NFDBITS" "ac_cv_have_decl_NFDBITS" "
11789#include <sys/param.h>
11790#include <sys/types.h>
11791#ifdef HAVE_SYS_SYSMACROS_H
11792#include <sys/sysmacros.h>
11793#endif
11794#ifdef HAVE_SYS_SELECT_H
11795#include <sys/select.h>
11796#endif
11797#ifdef HAVE_SYS_TIME_H
11798#include <sys/time.h>
11799#endif
11800#ifdef HAVE_UNISTD_H
11801#include <unistd.h>
11802#endif
11803
11804"
11805if test "x$ac_cv_have_decl_NFDBITS" = xyes; then :
11806 ac_have_decl=1
11807else
11808 ac_have_decl=0
11809fi
11810
11811cat >>confdefs.h <<_ACEOF
11812#define HAVE_DECL_NFDBITS $ac_have_decl
11813_ACEOF
11814
11815ac_fn_c_check_type "$LINENO" "fd_mask" "ac_cv_type_fd_mask" "
11816#include <sys/param.h>
11817#include <sys/types.h>
11818#ifdef HAVE_SYS_SELECT_H
11819#include <sys/select.h>
11820#endif
11821#ifdef HAVE_SYS_TIME_H
11822#include <sys/time.h>
11823#endif
11824#ifdef HAVE_UNISTD_H
11825#include <unistd.h>
11826#endif
11827
11828"
11829if test "x$ac_cv_type_fd_mask" = xyes; then :
11830
11831cat >>confdefs.h <<_ACEOF
11832#define HAVE_FD_MASK 1
11833_ACEOF
11834
11835
11836fi
11837
11838
11839for ac_func in setresuid
11840do :
11841 ac_fn_c_check_func "$LINENO" "setresuid" "ac_cv_func_setresuid"
11842if test "x$ac_cv_func_setresuid" = xyes; then :
11843 cat >>confdefs.h <<_ACEOF
11844#define HAVE_SETRESUID 1
11845_ACEOF
11846
11847 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresuid seems to work" >&5
11848$as_echo_n "checking if setresuid seems to work... " >&6; }
11849 if test "$cross_compiling" = yes; then :
11850 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5
11851$as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;}
11852
11853else
11854 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11855/* end confdefs.h. */
11856
11857#include <stdlib.h>
11858#include <errno.h>
11859
11860int
11861main ()
11862{
11863
11864 errno=0;
11865 setresuid(0,0,0);
11866 if (errno==ENOSYS)
11867 exit(1);
11868 else
11869 exit(0);
11870
11871 ;
11872 return 0;
11873}
11874_ACEOF
11875if ac_fn_c_try_run "$LINENO"; then :
11876 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11877$as_echo "yes" >&6; }
11878else
11879
11880$as_echo "#define BROKEN_SETRESUID 1" >>confdefs.h
11881
11882 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5
11883$as_echo "not implemented" >&6; }
11884fi
11885rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11886 conftest.$ac_objext conftest.beam conftest.$ac_ext
11887fi
11888
11889
11890fi
11891done
11892
11893
11894for ac_func in setresgid
11895do :
11896 ac_fn_c_check_func "$LINENO" "setresgid" "ac_cv_func_setresgid"
11897if test "x$ac_cv_func_setresgid" = xyes; then :
11898 cat >>confdefs.h <<_ACEOF
11899#define HAVE_SETRESGID 1
11900_ACEOF
11901
11902 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresgid seems to work" >&5
11903$as_echo_n "checking if setresgid seems to work... " >&6; }
11904 if test "$cross_compiling" = yes; then :
11905 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5
11906$as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;}
11907
11908else
11909 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11910/* end confdefs.h. */
11911
11912#include <stdlib.h>
11913#include <errno.h>
11914
11915int
11916main ()
11917{
11918
11919 errno=0;
11920 setresgid(0,0,0);
11921 if (errno==ENOSYS)
11922 exit(1);
11923 else
11924 exit(0);
11925
11926 ;
11927 return 0;
11928}
11929_ACEOF
11930if ac_fn_c_try_run "$LINENO"; then :
11931 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11932$as_echo "yes" >&6; }
11933else
11934
11935$as_echo "#define BROKEN_SETRESGID 1" >>confdefs.h
11936
11937 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5
11938$as_echo "not implemented" >&6; }
11939fi
11940rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11941 conftest.$ac_objext conftest.beam conftest.$ac_ext
11942fi
11943
11944
11945fi
11946done
11947
11948
11949{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fflush(NULL)" >&5
11950$as_echo_n "checking for working fflush(NULL)... " >&6; }
11951if test "$cross_compiling" = yes; then :
11952 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming working" >&5
11953$as_echo "$as_me: WARNING: cross compiling: assuming working" >&2;}
11954
11955else
11956 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11957/* end confdefs.h. */
11958#include <stdio.h>
11959int
11960main ()
11961{
11962fflush(NULL); exit(0);
11963 ;
11964 return 0;
11965}
11966_ACEOF
11967if ac_fn_c_try_run "$LINENO"; then :
11968 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11969$as_echo "yes" >&6; }
11970else
11971 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11972$as_echo "no" >&6; }
11973
11974$as_echo "#define FFLUSH_NULL_BUG 1" >>confdefs.h
11975
11976fi
11977rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11978 conftest.$ac_objext conftest.beam conftest.$ac_ext
11979fi
11980
11981
11982for ac_func in gettimeofday time
11983do :
11984 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11985ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11986if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11987 cat >>confdefs.h <<_ACEOF
11988#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11989_ACEOF
11990
11991fi
11992done
11993
11994for ac_func in endutent getutent getutid getutline pututline setutent
11995do :
11996 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11997ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11998if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11999 cat >>confdefs.h <<_ACEOF
12000#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12001_ACEOF
12002
12003fi
12004done
12005
12006for ac_func in utmpname
12007do :
12008 ac_fn_c_check_func "$LINENO" "utmpname" "ac_cv_func_utmpname"
12009if test "x$ac_cv_func_utmpname" = xyes; then :
12010 cat >>confdefs.h <<_ACEOF
12011#define HAVE_UTMPNAME 1
12012_ACEOF
12013
12014fi
12015done
12016
12017for ac_func in endutxent getutxent getutxid getutxline getutxuser pututxline
12018do :
12019 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12020ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12021if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12022 cat >>confdefs.h <<_ACEOF
12023#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12024_ACEOF
12025
12026fi
12027done
12028
12029for ac_func in setutxdb setutxent utmpxname
12030do :
12031 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12032ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12033if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12034 cat >>confdefs.h <<_ACEOF
12035#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12036_ACEOF
12037
12038fi
12039done
12040
12041for ac_func in getlastlogxbyname
12042do :
12043 ac_fn_c_check_func "$LINENO" "getlastlogxbyname" "ac_cv_func_getlastlogxbyname"
12044if test "x$ac_cv_func_getlastlogxbyname" = xyes; then :
12045 cat >>confdefs.h <<_ACEOF
12046#define HAVE_GETLASTLOGXBYNAME 1
12047_ACEOF
12048
12049fi
12050done
12051
12052
12053ac_fn_c_check_func "$LINENO" "daemon" "ac_cv_func_daemon"
12054if test "x$ac_cv_func_daemon" = xyes; then :
12055
12056$as_echo "#define HAVE_DAEMON 1" >>confdefs.h
12057
12058else
12059 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for daemon in -lbsd" >&5
12060$as_echo_n "checking for daemon in -lbsd... " >&6; }
12061if ${ac_cv_lib_bsd_daemon+:} false; then :
12062 $as_echo_n "(cached) " >&6
12063else
12064 ac_check_lib_save_LIBS=$LIBS
12065LIBS="-lbsd $LIBS"
12066cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12067/* end confdefs.h. */
12068
12069/* Override any GCC internal prototype to avoid an error.
12070 Use char because int might match the return type of a GCC
12071 builtin and then its argument prototype would still apply. */
12072#ifdef __cplusplus
12073extern "C"
12074#endif
12075char daemon ();
12076int
12077main ()
12078{
12079return daemon ();
12080 ;
12081 return 0;
12082}
12083_ACEOF
12084if ac_fn_c_try_link "$LINENO"; then :
12085 ac_cv_lib_bsd_daemon=yes
12086else
12087 ac_cv_lib_bsd_daemon=no
12088fi
12089rm -f core conftest.err conftest.$ac_objext \
12090 conftest$ac_exeext conftest.$ac_ext
12091LIBS=$ac_check_lib_save_LIBS
12092fi
12093{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_daemon" >&5
12094$as_echo "$ac_cv_lib_bsd_daemon" >&6; }
12095if test "x$ac_cv_lib_bsd_daemon" = xyes; then :
12096 LIBS="$LIBS -lbsd"; $as_echo "#define HAVE_DAEMON 1" >>confdefs.h
12097
12098fi
12099
12100
12101fi
12102
12103
12104ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
12105if test "x$ac_cv_func_getpagesize" = xyes; then :
12106
12107$as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h
12108
12109else
12110 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpagesize in -lucb" >&5
12111$as_echo_n "checking for getpagesize in -lucb... " >&6; }
12112if ${ac_cv_lib_ucb_getpagesize+:} false; then :
12113 $as_echo_n "(cached) " >&6
12114else
12115 ac_check_lib_save_LIBS=$LIBS
12116LIBS="-lucb $LIBS"
12117cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12118/* end confdefs.h. */
12119
12120/* Override any GCC internal prototype to avoid an error.
12121 Use char because int might match the return type of a GCC
12122 builtin and then its argument prototype would still apply. */
12123#ifdef __cplusplus
12124extern "C"
12125#endif
12126char getpagesize ();
12127int
12128main ()
12129{
12130return getpagesize ();
12131 ;
12132 return 0;
12133}
12134_ACEOF
12135if ac_fn_c_try_link "$LINENO"; then :
12136 ac_cv_lib_ucb_getpagesize=yes
12137else
12138 ac_cv_lib_ucb_getpagesize=no
12139fi
12140rm -f core conftest.err conftest.$ac_objext \
12141 conftest$ac_exeext conftest.$ac_ext
12142LIBS=$ac_check_lib_save_LIBS
12143fi
12144{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ucb_getpagesize" >&5
12145$as_echo "$ac_cv_lib_ucb_getpagesize" >&6; }
12146if test "x$ac_cv_lib_ucb_getpagesize" = xyes; then :
12147 LIBS="$LIBS -lucb"; $as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h
12148
12149fi
12150
12151
12152fi
12153
12154
12155# Check for broken snprintf
12156if test "x$ac_cv_func_snprintf" = "xyes" ; then
12157 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf correctly terminates long strings" >&5
12158$as_echo_n "checking whether snprintf correctly terminates long strings... " >&6; }
12159 if test "$cross_compiling" = yes; then :
12160 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
12161$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
12162
12163else
12164 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12165/* end confdefs.h. */
12166 #include <stdio.h>
12167int
12168main ()
12169{
12170
12171 char b[5];
12172 snprintf(b,5,"123456789");
12173 exit(b[4]!='\0');
12174
12175 ;
12176 return 0;
12177}
12178_ACEOF
12179if ac_fn_c_try_run "$LINENO"; then :
12180 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12181$as_echo "yes" >&6; }
12182else
12183
12184 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12185$as_echo "no" >&6; }
12186
12187$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12188
12189 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&5
12190$as_echo "$as_me: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&2;}
12191
12192fi
12193rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12194 conftest.$ac_objext conftest.beam conftest.$ac_ext
12195fi
12196
12197fi
12198
12199if test "x$ac_cv_func_snprintf" = "xyes" ; then
12200 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf understands %zu" >&5
12201$as_echo_n "checking whether snprintf understands %zu... " >&6; }
12202 if test "$cross_compiling" = yes; then :
12203 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
12204$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
12205
12206else
12207 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12208/* end confdefs.h. */
12209
12210#include <sys/types.h>
12211#include <stdio.h>
12212
12213int
12214main ()
12215{
12216
12217 size_t a = 1, b = 2;
12218 char z[128];
12219 snprintf(z, sizeof z, "%zu%zu", a, b);
12220 exit(strcmp(z, "12"));
12221
12222 ;
12223 return 0;
12224}
12225_ACEOF
12226if ac_fn_c_try_run "$LINENO"; then :
12227 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12228$as_echo "yes" >&6; }
12229else
12230
12231 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12232$as_echo "no" >&6; }
12233
12234$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12235
12236
12237fi
12238rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12239 conftest.$ac_objext conftest.beam conftest.$ac_ext
12240fi
12241
12242fi
12243
12244# We depend on vsnprintf returning the right thing on overflow: the
12245# number of characters it tried to create (as per SUSv3)
12246if test "x$ac_cv_func_vsnprintf" = "xyes" ; then
12247 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether vsnprintf returns correct values on overflow" >&5
12248$as_echo_n "checking whether vsnprintf returns correct values on overflow... " >&6; }
12249 if test "$cross_compiling" = yes; then :
12250 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working vsnprintf()" >&5
12251$as_echo "$as_me: WARNING: cross compiling: Assuming working vsnprintf()" >&2;}
12252
12253else
12254 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12255/* end confdefs.h. */
12256
12257#include <sys/types.h>
12258#include <stdio.h>
12259#include <stdarg.h>
12260
12261int x_snprintf(char *str, size_t count, const char *fmt, ...)
12262{
12263 size_t ret;
12264 va_list ap;
12265
12266 va_start(ap, fmt);
12267 ret = vsnprintf(str, count, fmt, ap);
12268 va_end(ap);
12269 return ret;
12270}
12271
12272int
12273main ()
12274{
12275
12276char x[1];
12277if (x_snprintf(x, 1, "%s %d", "hello", 12345) != 11)
12278 return 1;
12279if (x_snprintf(NULL, 0, "%s %d", "hello", 12345) != 11)
12280 return 1;
12281return 0;
12282
12283 ;
12284 return 0;
12285}
12286_ACEOF
12287if ac_fn_c_try_run "$LINENO"; then :
12288 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12289$as_echo "yes" >&6; }
12290else
12291
12292 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12293$as_echo "no" >&6; }
12294
12295$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12296
12297 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&5
12298$as_echo "$as_me: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&2;}
12299
12300fi
12301rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12302 conftest.$ac_objext conftest.beam conftest.$ac_ext
12303fi
12304
12305fi
12306
12307# On systems where [v]snprintf is broken, but is declared in stdio,
12308# check that the fmt argument is const char * or just char *.
12309# This is only useful for when BROKEN_SNPRINTF
12310{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf can declare const char *fmt" >&5
12311$as_echo_n "checking whether snprintf can declare const char *fmt... " >&6; }
12312cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12313/* end confdefs.h. */
12314
12315#include <stdio.h>
12316int snprintf(char *a, size_t b, const char *c, ...) { return 0; }
12317
12318int
12319main ()
12320{
12321
12322 snprintf(0, 0, 0);
12323
12324 ;
12325 return 0;
12326}
12327_ACEOF
12328if ac_fn_c_try_compile "$LINENO"; then :
12329 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12330$as_echo "yes" >&6; }
12331
12332$as_echo "#define SNPRINTF_CONST const" >>confdefs.h
12333
12334else
12335 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12336$as_echo "no" >&6; }
12337 $as_echo "#define SNPRINTF_CONST /* not const */" >>confdefs.h
12338
12339fi
12340rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12341
12342# Check for missing getpeereid (or equiv) support
12343NO_PEERCHECK=""
12344if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "xyes"; then
12345 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system supports SO_PEERCRED getsockopt" >&5
12346$as_echo_n "checking whether system supports SO_PEERCRED getsockopt... " >&6; }
12347 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12348/* end confdefs.h. */
12349
12350#include <sys/types.h>
12351#include <sys/socket.h>
12352int
12353main ()
12354{
12355int i = SO_PEERCRED;
12356 ;
12357 return 0;
12358}
12359_ACEOF
12360if ac_fn_c_try_compile "$LINENO"; then :
12361 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12362$as_echo "yes" >&6; }
12363
12364$as_echo "#define HAVE_SO_PEERCRED 1" >>confdefs.h
12365
12366
12367else
12368 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12369$as_echo "no" >&6; }
12370 NO_PEERCHECK=1
12371
12372fi
12373rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12374fi
12375
12376if test "x$ac_cv_func_mkdtemp" = "xyes" ; then
12377{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for (overly) strict mkstemp" >&5
12378$as_echo_n "checking for (overly) strict mkstemp... " >&6; }
12379if test "$cross_compiling" = yes; then :
12380
12381 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12382$as_echo "yes" >&6; }
12383 $as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h
12384
12385
12386
12387else
12388 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12389/* end confdefs.h. */
12390
12391#include <stdlib.h>
12392
12393int
12394main ()
12395{
12396
12397 char template[]="conftest.mkstemp-test";
12398 if (mkstemp(template) == -1)
12399 exit(1);
12400 unlink(template);
12401 exit(0);
12402
12403 ;
12404 return 0;
12405}
12406_ACEOF
12407if ac_fn_c_try_run "$LINENO"; then :
12408
12409 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12410$as_echo "no" >&6; }
12411
12412else
12413
12414 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12415$as_echo "yes" >&6; }
12416
12417$as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h
12418
12419
12420fi
12421rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12422 conftest.$ac_objext conftest.beam conftest.$ac_ext
12423fi
12424
12425fi
12426
12427if test ! -z "$check_for_openpty_ctty_bug"; then
12428 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if openpty correctly handles controlling tty" >&5
12429$as_echo_n "checking if openpty correctly handles controlling tty... " >&6; }
12430 if test "$cross_compiling" = yes; then :
12431
12432 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5
12433$as_echo "cross-compiling, assuming yes" >&6; }
12434
12435
12436else
12437 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12438/* end confdefs.h. */
12439
12440#include <stdio.h>
12441#include <sys/fcntl.h>
12442#include <sys/types.h>
12443#include <sys/wait.h>
12444
12445int
12446main ()
12447{
12448
12449 pid_t pid;
12450 int fd, ptyfd, ttyfd, status;
12451
12452 pid = fork();
12453 if (pid < 0) { /* failed */
12454 exit(1);
12455 } else if (pid > 0) { /* parent */
12456 waitpid(pid, &status, 0);
12457 if (WIFEXITED(status))
12458 exit(WEXITSTATUS(status));
12459 else
12460 exit(2);
12461 } else { /* child */
12462 close(0); close(1); close(2);
12463 setsid();
12464 openpty(&ptyfd, &ttyfd, NULL, NULL, NULL);
12465 fd = open("/dev/tty", O_RDWR | O_NOCTTY);
12466 if (fd >= 0)
12467 exit(3); /* Acquired ctty: broken */
12468 else
12469 exit(0); /* Did not acquire ctty: OK */
12470 }
12471
12472 ;
12473 return 0;
12474}
12475_ACEOF
12476if ac_fn_c_try_run "$LINENO"; then :
12477
12478 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12479$as_echo "yes" >&6; }
12480
12481else
12482
12483 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12484$as_echo "no" >&6; }
12485 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
12486
12487
12488fi
12489rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12490 conftest.$ac_objext conftest.beam conftest.$ac_ext
12491fi
12492
12493fi
12494
12495if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
12496 test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then
12497 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5
12498$as_echo_n "checking if getaddrinfo seems to work... " >&6; }
12499 if test "$cross_compiling" = yes; then :
12500
12501 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5
12502$as_echo "cross-compiling, assuming yes" >&6; }
12503
12504
12505else
12506 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12507/* end confdefs.h. */
12508
12509#include <stdio.h>
12510#include <sys/socket.h>
12511#include <netdb.h>
12512#include <errno.h>
12513#include <netinet/in.h>
12514
12515#define TEST_PORT "2222"
12516
12517int
12518main ()
12519{
12520
12521 int err, sock;
12522 struct addrinfo *gai_ai, *ai, hints;
12523 char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL;
12524
12525 memset(&hints, 0, sizeof(hints));
12526 hints.ai_family = PF_UNSPEC;
12527 hints.ai_socktype = SOCK_STREAM;
12528 hints.ai_flags = AI_PASSIVE;
12529
12530 err = getaddrinfo(name, TEST_PORT, &hints, &gai_ai);
12531 if (err != 0) {
12532 fprintf(stderr, "getaddrinfo failed (%s)", gai_strerror(err));
12533 exit(1);
12534 }
12535
12536 for (ai = gai_ai; ai != NULL; ai = ai->ai_next) {
12537 if (ai->ai_family != AF_INET6)
12538 continue;
12539
12540 err = getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop,
12541 sizeof(ntop), strport, sizeof(strport),
12542 NI_NUMERICHOST|NI_NUMERICSERV);
12543
12544 if (err != 0) {
12545 if (err == EAI_SYSTEM)
12546 perror("getnameinfo EAI_SYSTEM");
12547 else
12548 fprintf(stderr, "getnameinfo failed: %s\n",
12549 gai_strerror(err));
12550 exit(2);
12551 }
12552
12553 sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
12554 if (sock < 0)
12555 perror("socket");
12556 if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) {
12557 if (errno == EBADF)
12558 exit(3);
12559 }
12560 }
12561 exit(0);
12562
12563 ;
12564 return 0;
12565}
12566_ACEOF
12567if ac_fn_c_try_run "$LINENO"; then :
12568
12569 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12570$as_echo "yes" >&6; }
12571
12572else
12573
12574 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12575$as_echo "no" >&6; }
12576 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
12577
12578
12579fi
12580rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12581 conftest.$ac_objext conftest.beam conftest.$ac_ext
12582fi
12583
12584fi
12585
12586if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
12587 test "x$check_for_aix_broken_getaddrinfo" = "x1"; then
12588 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5
12589$as_echo_n "checking if getaddrinfo seems to work... " >&6; }
12590 if test "$cross_compiling" = yes; then :
12591
12592 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming no" >&5
12593$as_echo "cross-compiling, assuming no" >&6; }
12594
12595
12596else
12597 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12598/* end confdefs.h. */
12599
12600#include <stdio.h>
12601#include <sys/socket.h>
12602#include <netdb.h>
12603#include <errno.h>
12604#include <netinet/in.h>
12605
12606#define TEST_PORT "2222"
12607
12608int
12609main ()
12610{
12611
12612 int err, sock;
12613 struct addrinfo *gai_ai, *ai, hints;
12614 char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL;
12615
12616 memset(&hints, 0, sizeof(hints));
12617 hints.ai_family = PF_UNSPEC;
12618 hints.ai_socktype = SOCK_STREAM;
12619 hints.ai_flags = AI_PASSIVE;
12620
12621 err = getaddrinfo(name, TEST_PORT, &hints, &gai_ai);
12622 if (err != 0) {
12623 fprintf(stderr, "getaddrinfo failed (%s)", gai_strerror(err));
12624 exit(1);
12625 }
12626
12627 for (ai = gai_ai; ai != NULL; ai = ai->ai_next) {
12628 if (ai->ai_family != AF_INET && ai->ai_family != AF_INET6)
12629 continue;
12630
12631 err = getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop,
12632 sizeof(ntop), strport, sizeof(strport),
12633 NI_NUMERICHOST|NI_NUMERICSERV);
12634
12635 if (ai->ai_family == AF_INET && err != 0) {
12636 perror("getnameinfo");
12637 exit(2);
12638 }
12639 }
12640 exit(0);
12641
12642 ;
12643 return 0;
12644}
12645_ACEOF
12646if ac_fn_c_try_run "$LINENO"; then :
12647
12648 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12649$as_echo "yes" >&6; }
12650
12651$as_echo "#define AIX_GETNAMEINFO_HACK 1" >>confdefs.h
12652
12653
12654else
12655
12656 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12657$as_echo "no" >&6; }
12658 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
12659
12660
12661fi
12662rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12663 conftest.$ac_objext conftest.beam conftest.$ac_ext
12664fi
12665
12666fi
12667
12668if test "x$ac_cv_func_getaddrinfo" = "xyes"; then
12669 ac_fn_c_check_decl "$LINENO" "AI_NUMERICSERV" "ac_cv_have_decl_AI_NUMERICSERV" "#include <sys/types.h>
12670 #include <sys/socket.h>
12671 #include <netdb.h>
12672"
12673if test "x$ac_cv_have_decl_AI_NUMERICSERV" = xyes; then :
12674 ac_have_decl=1
12675else
12676 ac_have_decl=0
12677fi
12678
12679cat >>confdefs.h <<_ACEOF
12680#define HAVE_DECL_AI_NUMERICSERV $ac_have_decl
12681_ACEOF
12682
12683fi
12684
12685if test "x$check_for_conflicting_getspnam" = "x1"; then
12686 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for conflicting getspnam in shadow.h" >&5
12687$as_echo_n "checking for conflicting getspnam in shadow.h... " >&6; }
12688 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12689/* end confdefs.h. */
12690 #include <shadow.h>
12691int
12692main ()
12693{
12694 exit(0);
12695 ;
12696 return 0;
12697}
12698_ACEOF
12699if ac_fn_c_try_compile "$LINENO"; then :
12700
12701 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12702$as_echo "no" >&6; }
12703
12704else
12705
12706 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12707$as_echo "yes" >&6; }
12708
12709$as_echo "#define GETSPNAM_CONFLICTING_DEFS 1" >>confdefs.h
12710
12711
12712
12713fi
12714rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12715fi
12716
12717if test "x$ac_cv_func_strnvis" = "xyes"; then
12718 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnvis" >&5
12719$as_echo_n "checking for working strnvis... " >&6; }
12720 if test "$cross_compiling" = yes; then :
12721 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming broken" >&5
12722$as_echo "$as_me: WARNING: cross compiling: assuming broken" >&2;}
12723
12724$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
12725
12726
12727else
12728 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12729/* end confdefs.h. */
12730
12731#include <signal.h>
12732#include <stdlib.h>
12733#include <string.h>
12734#include <vis.h>
12735static void sighandler(int sig) { _exit(1); }
12736
12737int
12738main ()
12739{
12740
12741 char dst[16];
12742
12743 signal(SIGSEGV, sighandler);
12744 if (strnvis(dst, "src", 4, 0) && strcmp(dst, "src") == 0)
12745 exit(0);
12746 exit(1)
12747
12748 ;
12749 return 0;
12750}
12751_ACEOF
12752if ac_fn_c_try_run "$LINENO"; then :
12753 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12754$as_echo "yes" >&6; }
12755else
12756 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12757$as_echo "no" >&6; }
12758
12759$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
12760
12761fi
12762rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12763 conftest.$ac_objext conftest.beam conftest.$ac_ext
12764fi
12765
12766fi
12767
12768{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if SA_RESTARTed signals interrupt select()" >&5
12769$as_echo_n "checking if SA_RESTARTed signals interrupt select()... " >&6; }
12770if test "$cross_compiling" = yes; then :
12771 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
12772$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
12773
12774else
12775 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12776/* end confdefs.h. */
12777
12778#ifdef HAVE_SYS_SELECT
12779# include <sys/select.h>
12780#endif
12781#include <sys/types.h>
12782#include <sys/time.h>
12783#include <stdlib.h>
12784#include <signal.h>
12785static void sighandler(int sig) { }
12786
12787int
12788main ()
12789{
12790
12791 int r;
12792 pid_t pid;
12793 struct sigaction sa;
12794
12795 sa.sa_handler = sighandler;
12796 sa.sa_flags = SA_RESTART;
12797 (void)sigaction(SIGTERM, &sa, NULL);
12798 if ((pid = fork()) == 0) { /* child */
12799 pid = getppid();
12800 sleep(1);
12801 kill(pid, SIGTERM);
12802 sleep(1);
12803 if (getppid() == pid) /* if parent did not exit, shoot it */
12804 kill(pid, SIGKILL);
12805 exit(0);
12806 } else { /* parent */
12807 r = select(0, NULL, NULL, NULL, NULL);
12808 }
12809 exit(r == -1 ? 0 : 1);
12810
12811 ;
12812 return 0;
12813}
12814_ACEOF
12815if ac_fn_c_try_run "$LINENO"; then :
12816 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12817$as_echo "yes" >&6; }
12818else
12819 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12820$as_echo "no" >&6; }
12821
12822$as_echo "#define NO_SA_RESTART 1" >>confdefs.h
12823
12824fi
12825rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12826 conftest.$ac_objext conftest.beam conftest.$ac_ext
12827fi
12828
12829
12830for ac_func in getpgrp
12831do :
12832 ac_fn_c_check_func "$LINENO" "getpgrp" "ac_cv_func_getpgrp"
12833if test "x$ac_cv_func_getpgrp" = xyes; then :
12834 cat >>confdefs.h <<_ACEOF
12835#define HAVE_GETPGRP 1
12836_ACEOF
12837
12838 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getpgrp accepts zero args" >&5
12839$as_echo_n "checking if getpgrp accepts zero args... " >&6; }
12840 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12841/* end confdefs.h. */
12842$ac_includes_default
12843int
12844main ()
12845{
12846 getpgrp();
12847 ;
12848 return 0;
12849}
12850_ACEOF
12851if ac_fn_c_try_compile "$LINENO"; then :
12852 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12853$as_echo "yes" >&6; }
12854
12855$as_echo "#define GETPGRP_VOID 1" >>confdefs.h
12856
12857else
12858 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12859$as_echo "no" >&6; }
12860
12861$as_echo "#define GETPGRP_VOID 0" >>confdefs.h
12862
12863
12864fi
12865rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12866
12867fi
12868done
12869
12870
12871# Search for OpenSSL
12872saved_CPPFLAGS="$CPPFLAGS"
12873saved_LDFLAGS="$LDFLAGS"
12874
12875# Check whether --with-ssl-dir was given.
12876if test "${with_ssl_dir+set}" = set; then :
12877 withval=$with_ssl_dir;
12878 if test "x$openssl" = "xno" ; then
12879 as_fn_error $? "cannot use --with-ssl-dir when OpenSSL disabled" "$LINENO" 5
12880 fi
12881 if test "x$withval" != "xno" ; then
12882 case "$withval" in
12883 # Relative paths
12884 ./*|../*) withval="`pwd`/$withval"
12885 esac
12886 if test -d "$withval/lib"; then
12887 if test -n "${rpath_opt}"; then
12888 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
12889 else
12890 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
12891 fi
12892 elif test -d "$withval/lib64"; then
12893 if test -n "${rpath_opt}"; then
12894 LDFLAGS="-L${withval}/lib64 ${rpath_opt}${withval}/lib64 ${LDFLAGS}"
12895 else
12896 LDFLAGS="-L${withval}/lib64 ${LDFLAGS}"
12897 fi
12898 else
12899 if test -n "${rpath_opt}"; then
12900 LDFLAGS="-L${withval} ${rpath_opt}${withval} ${LDFLAGS}"
12901 else
12902 LDFLAGS="-L${withval} ${LDFLAGS}"
12903 fi
12904 fi
12905 if test -d "$withval/include"; then
12906 CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
12907 else
12908 CPPFLAGS="-I${withval} ${CPPFLAGS}"
12909 fi
12910 fi
12911
12912
12913fi
12914
12915
12916
12917# Check whether --with-openssl-header-check was given.
12918if test "${with_openssl_header_check+set}" = set; then :
12919 withval=$with_openssl_header_check;
12920 if test "x$withval" = "xno" ; then
12921 openssl_check_nonfatal=1
12922 fi
12923
12924
12925fi
12926
12927
12928openssl_engine=no
12929
12930# Check whether --with-ssl-engine was given.
12931if test "${with_ssl_engine+set}" = set; then :
12932 withval=$with_ssl_engine;
12933 if test "x$withval" != "xno" ; then
12934 if test "x$openssl" = "xno" ; then
12935 as_fn_error $? "cannot use --with-ssl-engine when OpenSSL disabled" "$LINENO" 5
12936 fi
12937 openssl_engine=yes
12938 fi
12939
12940
12941fi
12942
12943
12944if test "x$openssl" = "xyes" ; then
12945 LIBS="-lcrypto $LIBS"
12946 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12947/* end confdefs.h. */
12948
12949/* Override any GCC internal prototype to avoid an error.
12950 Use char because int might match the return type of a GCC
12951 builtin and then its argument prototype would still apply. */
12952#ifdef __cplusplus
12953extern "C"
12954#endif
12955char RAND_add ();
12956int
12957main ()
12958{
12959return RAND_add ();
12960 ;
12961 return 0;
12962}
12963_ACEOF
12964if ac_fn_c_try_link "$LINENO"; then :
12965
12966else
12967 as_fn_error $? "*** working libcrypto not found, check config.log" "$LINENO" 5
12968fi
12969rm -f core conftest.err conftest.$ac_objext \
12970 conftest$ac_exeext conftest.$ac_ext
12971 ac_fn_c_check_header_mongrel "$LINENO" "openssl/opensslv.h" "ac_cv_header_openssl_opensslv_h" "$ac_includes_default"
12972if test "x$ac_cv_header_openssl_opensslv_h" = xyes; then :
12973
12974else
12975 as_fn_error $? "*** OpenSSL headers missing - please install first or check config.log ***" "$LINENO" 5
12976fi
12977
12978
12979
12980 # Determine OpenSSL header version
12981 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL header version" >&5
12982$as_echo_n "checking OpenSSL header version... " >&6; }
12983 if test "$cross_compiling" = yes; then :
12984
12985 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
12986$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
12987
12988
12989else
12990 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12991/* end confdefs.h. */
12992
12993 #include <stdlib.h>
12994 #include <stdio.h>
12995 #include <string.h>
12996 #include <openssl/opensslv.h>
12997 #define DATA "conftest.sslincver"
12998
12999int
13000main ()
13001{
13002
13003 FILE *fd;
13004 int rc;
13005
13006 fd = fopen(DATA,"w");
13007 if(fd == NULL)
13008 exit(1);
13009
13010 if ((rc = fprintf(fd, "%08lx (%s)\n",
13011 (unsigned long)OPENSSL_VERSION_NUMBER,
13012 OPENSSL_VERSION_TEXT)) < 0)
13013 exit(1);
13014
13015 exit(0);
13016
13017 ;
13018 return 0;
13019}
13020_ACEOF
13021if ac_fn_c_try_run "$LINENO"; then :
13022
13023 ssl_header_ver=`cat conftest.sslincver`
13024 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_header_ver" >&5
13025$as_echo "$ssl_header_ver" >&6; }
13026
13027else
13028
13029 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
13030$as_echo "not found" >&6; }
13031 as_fn_error $? "OpenSSL version header not found." "$LINENO" 5
13032
13033fi
13034rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13035 conftest.$ac_objext conftest.beam conftest.$ac_ext
13036fi
13037
13038
13039 # Determining OpenSSL library version is version dependent.
13040 for ac_func in OpenSSL_version OpenSSL_version_num
13041do :
13042 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13043ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13044if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13045 cat >>confdefs.h <<_ACEOF
13046#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13047_ACEOF
13048
13049fi
13050done
13051
13052
13053 # Determine OpenSSL library version
13054 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL library version" >&5
13055$as_echo_n "checking OpenSSL library version... " >&6; }
13056 if test "$cross_compiling" = yes; then :
13057
13058 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
13059$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
13060
13061
13062else
13063 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13064/* end confdefs.h. */
13065
13066 #include <stdio.h>
13067 #include <string.h>
13068 #include <openssl/opensslv.h>
13069 #include <openssl/crypto.h>
13070 #define DATA "conftest.ssllibver"
13071
13072int
13073main ()
13074{
13075
13076 FILE *fd;
13077 int rc;
13078
13079 fd = fopen(DATA,"w");
13080 if(fd == NULL)
13081 exit(1);
13082#ifndef OPENSSL_VERSION
13083# define OPENSSL_VERSION SSLEAY_VERSION
13084#endif
13085#ifndef HAVE_OPENSSL_VERSION
13086# define OpenSSL_version SSLeay_version
13087#endif
13088#ifndef HAVE_OPENSSL_VERSION_NUM
13089# define OpenSSL_version_num SSLeay
13090#endif
13091 if ((rc = fprintf(fd, "%08lx (%s)\n",
13092 (unsigned long)OpenSSL_version_num(),
13093 OpenSSL_version(OPENSSL_VERSION))) < 0)
13094 exit(1);
13095
13096 exit(0);
13097
13098 ;
13099 return 0;
13100}
13101_ACEOF
13102if ac_fn_c_try_run "$LINENO"; then :
13103
13104 ssl_library_ver=`cat conftest.ssllibver`
13105 # Check version is supported.
13106 case "$ssl_library_ver" in
13107 10000*|0*)
13108 as_fn_error $? "OpenSSL >= 1.0.1 required (have \"$ssl_library_ver\")" "$LINENO" 5
13109 ;;
13110 100*) ;; # 1.0.x
13111 101000[0123456]*)
13112 # https://github.com/openssl/openssl/pull/4613
13113 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
13114 ;;
13115 101*) ;; # 1.1.x
13116 200*) ;; # LibreSSL
13117 300*) ;; # OpenSSL development branch.
13118 *)
13119 as_fn_error $? "Unknown/unsupported OpenSSL version (\"$ssl_library_ver\")" "$LINENO" 5
13120 ;;
13121 esac
13122 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_library_ver" >&5
13123$as_echo "$ssl_library_ver" >&6; }
13124
13125else
13126
13127 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
13128$as_echo "not found" >&6; }
13129 as_fn_error $? "OpenSSL library not found." "$LINENO" 5
13130
13131fi
13132rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13133 conftest.$ac_objext conftest.beam conftest.$ac_ext
13134fi
13135
13136
13137 # Sanity check OpenSSL headers
13138 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's headers match the library" >&5
13139$as_echo_n "checking whether OpenSSL's headers match the library... " >&6; }
13140 if test "$cross_compiling" = yes; then :
13141
13142 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
13143$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
13144
13145
13146else
13147 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13148/* end confdefs.h. */
13149
13150 #include <string.h>
13151 #include <openssl/opensslv.h>
13152 #include <openssl/crypto.h>
13153
13154int
13155main ()
13156{
13157
13158#ifndef HAVE_OPENSSL_VERSION_NUM
13159# define OpenSSL_version_num SSLeay
13160#endif
13161 exit(OpenSSL_version_num() == OPENSSL_VERSION_NUMBER ? 0 : 1);
13162
13163 ;
13164 return 0;
13165}
13166_ACEOF
13167if ac_fn_c_try_run "$LINENO"; then :
13168
13169 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13170$as_echo "yes" >&6; }
13171
13172else
13173
13174 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13175$as_echo "no" >&6; }
13176 if test "x$openssl_check_nonfatal" = "x"; then
13177 as_fn_error $? "Your OpenSSL headers do not match your
13178 library. Check config.log for details.
13179 If you are sure your installation is consistent, you can disable the check
13180 by running \"./configure --without-openssl-header-check\".
13181 Also see contrib/findssl.sh for help identifying header/library mismatches.
13182 " "$LINENO" 5
13183 else
13184 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your OpenSSL headers do not match your
13185 library. Check config.log for details.
13186 Also see contrib/findssl.sh for help identifying header/library mismatches." >&5
13187$as_echo "$as_me: WARNING: Your OpenSSL headers do not match your
13188 library. Check config.log for details.
13189 Also see contrib/findssl.sh for help identifying header/library mismatches." >&2;}
13190 fi
13191
13192fi
13193rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13194 conftest.$ac_objext conftest.beam conftest.$ac_ext
13195fi
13196
13197
13198 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL functions will link" >&5
13199$as_echo_n "checking if programs using OpenSSL functions will link... " >&6; }
13200 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13201/* end confdefs.h. */
13202 #include <openssl/err.h>
13203int
13204main ()
13205{
13206 ERR_load_crypto_strings();
13207 ;
13208 return 0;
13209}
13210_ACEOF
13211if ac_fn_c_try_link "$LINENO"; then :
13212
13213 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13214$as_echo "yes" >&6; }
13215
13216else
13217
13218 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13219$as_echo "no" >&6; }
13220 saved_LIBS="$LIBS"
13221 LIBS="$LIBS -ldl"
13222 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL need -ldl" >&5
13223$as_echo_n "checking if programs using OpenSSL need -ldl... " >&6; }
13224 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13225/* end confdefs.h. */
13226 #include <openssl/err.h>
13227int
13228main ()
13229{
13230 ERR_load_crypto_strings();
13231 ;
13232 return 0;
13233}
13234_ACEOF
13235if ac_fn_c_try_link "$LINENO"; then :
13236
13237 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13238$as_echo "yes" >&6; }
13239
13240else
13241
13242 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13243$as_echo "no" >&6; }
13244 LIBS="$saved_LIBS"
13245
13246
13247fi
13248rm -f core conftest.err conftest.$ac_objext \
13249 conftest$ac_exeext conftest.$ac_ext
13250
13251
13252fi
13253rm -f core conftest.err conftest.$ac_objext \
13254 conftest$ac_exeext conftest.$ac_ext
13255
13256 for ac_func in \
13257 BN_is_prime_ex \
13258 DSA_generate_parameters_ex \
13259 EVP_CIPHER_CTX_ctrl \
13260 EVP_DigestFinal_ex \
13261 EVP_DigestInit_ex \
13262 EVP_MD_CTX_cleanup \
13263 EVP_MD_CTX_copy_ex \
13264 EVP_MD_CTX_init \
13265 HMAC_CTX_init \
13266 RSA_generate_key_ex \
13267 RSA_get_default_method \
13268
13269do :
13270 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13271ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13272if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13273 cat >>confdefs.h <<_ACEOF
13274#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13275_ACEOF
13276
13277fi
13278done
13279
13280
13281 # OpenSSL_add_all_algorithms may be a macro.
13282 ac_fn_c_check_func "$LINENO" "OpenSSL_add_all_algorithms" "ac_cv_func_OpenSSL_add_all_algorithms"
13283if test "x$ac_cv_func_OpenSSL_add_all_algorithms" = xyes; then :
13284
13285$as_echo "#define HAVE_OPENSSL_ADD_ALL_ALGORITHMS 1" >>confdefs.h
13286
13287else
13288 ac_fn_c_check_decl "$LINENO" "OpenSSL_add_all_algorithms" "ac_cv_have_decl_OpenSSL_add_all_algorithms" "#include <openssl/evp.h>
13289
13290"
13291if test "x$ac_cv_have_decl_OpenSSL_add_all_algorithms" = xyes; then :
13292
13293$as_echo "#define HAVE_OPENSSL_ADD_ALL_ALGORITHMS 1" >>confdefs.h
13294
13295fi
13296
13297
13298fi
13299
13300
13301 # LibreSSL/OpenSSL 1.1x API
13302 for ac_func in \
13303 OPENSSL_init_crypto \
13304 DH_get0_key \
13305 DH_get0_pqg \
13306 DH_set0_key \
13307 DH_set_length \
13308 DH_set0_pqg \
13309 DSA_get0_key \
13310 DSA_get0_pqg \
13311 DSA_set0_key \
13312 DSA_set0_pqg \
13313 DSA_SIG_get0 \
13314 DSA_SIG_set0 \
13315 ECDSA_SIG_get0 \
13316 ECDSA_SIG_set0 \
13317 EVP_CIPHER_CTX_iv \
13318 EVP_CIPHER_CTX_iv_noconst \
13319 EVP_CIPHER_CTX_get_iv \
13320 EVP_CIPHER_CTX_set_iv \
13321 RSA_get0_crt_params \
13322 RSA_get0_factors \
13323 RSA_get0_key \
13324 RSA_set0_crt_params \
13325 RSA_set0_factors \
13326 RSA_set0_key \
13327 RSA_meth_free \
13328 RSA_meth_dup \
13329 RSA_meth_set1_name \
13330 RSA_meth_get_finish \
13331 RSA_meth_set_priv_enc \
13332 RSA_meth_set_priv_dec \
13333 RSA_meth_set_finish \
13334 EVP_PKEY_get0_RSA \
13335 EVP_MD_CTX_new \
13336 EVP_MD_CTX_free \
13337 EVP_chacha20 \
13338
13339do :
13340 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13341ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13342if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13343 cat >>confdefs.h <<_ACEOF
13344#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13345_ACEOF
13346
13347fi
13348done
13349
13350
13351 if test "x$openssl_engine" = "xyes" ; then
13352 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL ENGINE support" >&5
13353$as_echo_n "checking for OpenSSL ENGINE support... " >&6; }
13354 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13355/* end confdefs.h. */
13356
13357 #include <openssl/engine.h>
13358
13359int
13360main ()
13361{
13362
13363 ENGINE_load_builtin_engines();
13364 ENGINE_register_all_complete();
13365
13366 ;
13367 return 0;
13368}
13369_ACEOF
13370if ac_fn_c_try_compile "$LINENO"; then :
13371 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13372$as_echo "yes" >&6; }
13373
13374$as_echo "#define USE_OPENSSL_ENGINE 1" >>confdefs.h
13375
13376
13377else
13378 as_fn_error $? "OpenSSL ENGINE support not found" "$LINENO" 5
13379
13380fi
13381rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
13382 fi
13383
13384 # Check for OpenSSL without EVP_aes_{192,256}_cbc
13385 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has crippled AES support" >&5
13386$as_echo_n "checking whether OpenSSL has crippled AES support... " >&6; }
13387 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13388/* end confdefs.h. */
13389
13390 #include <string.h>
13391 #include <openssl/evp.h>
13392
13393int
13394main ()
13395{
13396
13397 exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL);
13398
13399 ;
13400 return 0;
13401}
13402_ACEOF
13403if ac_fn_c_try_link "$LINENO"; then :
13404
13405 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13406$as_echo "no" >&6; }
13407
13408else
13409
13410 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13411$as_echo "yes" >&6; }
13412
13413$as_echo "#define OPENSSL_LOBOTOMISED_AES 1" >>confdefs.h
13414
13415
13416
13417fi
13418rm -f core conftest.err conftest.$ac_objext \
13419 conftest$ac_exeext conftest.$ac_ext
13420
13421 # Check for OpenSSL with EVP_aes_*ctr
13422 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES CTR via EVP" >&5
13423$as_echo_n "checking whether OpenSSL has AES CTR via EVP... " >&6; }
13424 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13425/* end confdefs.h. */
13426
13427 #include <string.h>
13428 #include <openssl/evp.h>
13429
13430int
13431main ()
13432{
13433
13434 exit(EVP_aes_128_ctr() == NULL ||
13435 EVP_aes_192_cbc() == NULL ||
13436 EVP_aes_256_cbc() == NULL);
13437
13438 ;
13439 return 0;
13440}
13441_ACEOF
13442if ac_fn_c_try_link "$LINENO"; then :
13443
13444 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13445$as_echo "yes" >&6; }
13446
13447$as_echo "#define OPENSSL_HAVE_EVPCTR 1" >>confdefs.h
13448
13449
13450else
13451
13452 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13453$as_echo "no" >&6; }
13454
13455
13456fi
13457rm -f core conftest.err conftest.$ac_objext \
13458 conftest$ac_exeext conftest.$ac_ext
13459
13460 # Check for OpenSSL with EVP_aes_*gcm
13461 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES GCM via EVP" >&5
13462$as_echo_n "checking whether OpenSSL has AES GCM via EVP... " >&6; }
13463 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13464/* end confdefs.h. */
13465
13466 #include <string.h>
13467 #include <openssl/evp.h>
13468
13469int
13470main ()
13471{
13472
13473 exit(EVP_aes_128_gcm() == NULL ||
13474 EVP_aes_256_gcm() == NULL ||
13475 EVP_CTRL_GCM_SET_IV_FIXED == 0 ||
13476 EVP_CTRL_GCM_IV_GEN == 0 ||
13477 EVP_CTRL_GCM_SET_TAG == 0 ||
13478 EVP_CTRL_GCM_GET_TAG == 0 ||
13479 EVP_CIPHER_CTX_ctrl(NULL, 0, 0, NULL) == 0);
13480
13481 ;
13482 return 0;
13483}
13484_ACEOF
13485if ac_fn_c_try_link "$LINENO"; then :
13486
13487 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13488$as_echo "yes" >&6; }
13489
13490$as_echo "#define OPENSSL_HAVE_EVPGCM 1" >>confdefs.h
13491
13492
13493else
13494
13495 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13496$as_echo "no" >&6; }
13497 unsupported_algorithms="$unsupported_cipers \
13498 aes128-gcm@openssh.com \
13499 aes256-gcm@openssh.com"
13500
13501
13502fi
13503rm -f core conftest.err conftest.$ac_objext \
13504 conftest$ac_exeext conftest.$ac_ext
13505
13506 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if EVP_DigestUpdate returns an int" >&5
13507$as_echo_n "checking if EVP_DigestUpdate returns an int... " >&6; }
13508 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13509/* end confdefs.h. */
13510
13511 #include <string.h>
13512 #include <openssl/evp.h>
13513
13514int
13515main ()
13516{
13517
13518 if(EVP_DigestUpdate(NULL, NULL,0))
13519 exit(0);
13520
13521 ;
13522 return 0;
13523}
13524_ACEOF
13525if ac_fn_c_try_link "$LINENO"; then :
13526
13527 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13528$as_echo "yes" >&6; }
13529
13530else
13531
13532 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13533$as_echo "no" >&6; }
13534
13535$as_echo "#define OPENSSL_EVP_DIGESTUPDATE_VOID 1" >>confdefs.h
13536
13537
13538
13539fi
13540rm -f core conftest.err conftest.$ac_objext \
13541 conftest$ac_exeext conftest.$ac_ext
13542
13543 # Some systems want crypt() from libcrypt, *not* the version in OpenSSL,
13544 # because the system crypt() is more featureful.
13545 if test "x$check_for_libcrypt_before" = "x1"; then
13546 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13547$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13548if ${ac_cv_lib_crypt_crypt+:} false; then :
13549 $as_echo_n "(cached) " >&6
13550else
13551 ac_check_lib_save_LIBS=$LIBS
13552LIBS="-lcrypt $LIBS"
13553cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13554/* end confdefs.h. */
13555
13556/* Override any GCC internal prototype to avoid an error.
13557 Use char because int might match the return type of a GCC
13558 builtin and then its argument prototype would still apply. */
13559#ifdef __cplusplus
13560extern "C"
13561#endif
13562char crypt ();
13563int
13564main ()
13565{
13566return crypt ();
13567 ;
13568 return 0;
13569}
13570_ACEOF
13571if ac_fn_c_try_link "$LINENO"; then :
13572 ac_cv_lib_crypt_crypt=yes
13573else
13574 ac_cv_lib_crypt_crypt=no
13575fi
13576rm -f core conftest.err conftest.$ac_objext \
13577 conftest$ac_exeext conftest.$ac_ext
13578LIBS=$ac_check_lib_save_LIBS
13579fi
13580{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13581$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13582if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13583 cat >>confdefs.h <<_ACEOF
13584#define HAVE_LIBCRYPT 1
13585_ACEOF
13586
13587 LIBS="-lcrypt $LIBS"
13588
13589fi
13590
13591 fi
13592
13593 # Some Linux systems (Slackware) need crypt() from libcrypt, *not* the
13594 # version in OpenSSL.
13595 if test "x$check_for_libcrypt_later" = "x1"; then
13596 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13597$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13598if ${ac_cv_lib_crypt_crypt+:} false; then :
13599 $as_echo_n "(cached) " >&6
13600else
13601 ac_check_lib_save_LIBS=$LIBS
13602LIBS="-lcrypt $LIBS"
13603cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13604/* end confdefs.h. */
13605
13606/* Override any GCC internal prototype to avoid an error.
13607 Use char because int might match the return type of a GCC
13608 builtin and then its argument prototype would still apply. */
13609#ifdef __cplusplus
13610extern "C"
13611#endif
13612char crypt ();
13613int
13614main ()
13615{
13616return crypt ();
13617 ;
13618 return 0;
13619}
13620_ACEOF
13621if ac_fn_c_try_link "$LINENO"; then :
13622 ac_cv_lib_crypt_crypt=yes
13623else
13624 ac_cv_lib_crypt_crypt=no
13625fi
13626rm -f core conftest.err conftest.$ac_objext \
13627 conftest$ac_exeext conftest.$ac_ext
13628LIBS=$ac_check_lib_save_LIBS
13629fi
13630{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13631$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13632if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13633 LIBS="$LIBS -lcrypt"
13634fi
13635
13636 fi
13637 for ac_func in crypt DES_crypt
13638do :
13639 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13640ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13641if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13642 cat >>confdefs.h <<_ACEOF
13643#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13644_ACEOF
13645
13646fi
13647done
13648
13649
13650 # Check for SHA256, SHA384 and SHA512 support in OpenSSL
13651 for ac_func in EVP_sha256 EVP_sha384 EVP_sha512
13652do :
13653 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13654ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13655if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13656 cat >>confdefs.h <<_ACEOF
13657#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13658_ACEOF
13659
13660fi
13661done
13662
13663
13664 # Check complete ECC support in OpenSSL
13665 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_X9_62_prime256v1" >&5
13666$as_echo_n "checking whether OpenSSL has NID_X9_62_prime256v1... " >&6; }
13667 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13668/* end confdefs.h. */
13669
13670 #include <openssl/ec.h>
13671 #include <openssl/ecdh.h>
13672 #include <openssl/ecdsa.h>
13673 #include <openssl/evp.h>
13674 #include <openssl/objects.h>
13675 #include <openssl/opensslv.h>
13676
13677int
13678main ()
13679{
13680
13681 EC_KEY *e = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
13682 const EVP_MD *m = EVP_sha256(); /* We need this too */
13683
13684 ;
13685 return 0;
13686}
13687_ACEOF
13688if ac_fn_c_try_link "$LINENO"; then :
13689 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13690$as_echo "yes" >&6; }
13691 enable_nistp256=1
13692else
13693 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13694$as_echo "no" >&6; }
13695
13696fi
13697rm -f core conftest.err conftest.$ac_objext \
13698 conftest$ac_exeext conftest.$ac_ext
13699
13700 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp384r1" >&5
13701$as_echo_n "checking whether OpenSSL has NID_secp384r1... " >&6; }
13702 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13703/* end confdefs.h. */
13704
13705 #include <openssl/ec.h>
13706 #include <openssl/ecdh.h>
13707 #include <openssl/ecdsa.h>
13708 #include <openssl/evp.h>
13709 #include <openssl/objects.h>
13710 #include <openssl/opensslv.h>
13711
13712int
13713main ()
13714{
13715
13716 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp384r1);
13717 const EVP_MD *m = EVP_sha384(); /* We need this too */
13718
13719 ;
13720 return 0;
13721}
13722_ACEOF
13723if ac_fn_c_try_link "$LINENO"; then :
13724 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13725$as_echo "yes" >&6; }
13726 enable_nistp384=1
13727else
13728 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13729$as_echo "no" >&6; }
13730
13731fi
13732rm -f core conftest.err conftest.$ac_objext \
13733 conftest$ac_exeext conftest.$ac_ext
13734
13735 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp521r1" >&5
13736$as_echo_n "checking whether OpenSSL has NID_secp521r1... " >&6; }
13737 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13738/* end confdefs.h. */
13739
13740 #include <openssl/ec.h>
13741 #include <openssl/ecdh.h>
13742 #include <openssl/ecdsa.h>
13743 #include <openssl/evp.h>
13744 #include <openssl/objects.h>
13745 #include <openssl/opensslv.h>
13746
13747int
13748main ()
13749{
13750
13751 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1);
13752 const EVP_MD *m = EVP_sha512(); /* We need this too */
13753
13754 ;
13755 return 0;
13756}
13757_ACEOF
13758if ac_fn_c_try_link "$LINENO"; then :
13759 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13760$as_echo "yes" >&6; }
13761 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if OpenSSL's NID_secp521r1 is functional" >&5
13762$as_echo_n "checking if OpenSSL's NID_secp521r1 is functional... " >&6; }
13763 if test "$cross_compiling" = yes; then :
13764 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross-compiling: assuming yes" >&5
13765$as_echo "$as_me: WARNING: cross-compiling: assuming yes" >&2;}
13766 enable_nistp521=1
13767
13768else
13769 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13770/* end confdefs.h. */
13771
13772 #include <openssl/ec.h>
13773 #include <openssl/ecdh.h>
13774 #include <openssl/ecdsa.h>
13775 #include <openssl/evp.h>
13776 #include <openssl/objects.h>
13777 #include <openssl/opensslv.h>
13778
13779int
13780main ()
13781{
13782
13783 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1);
13784 const EVP_MD *m = EVP_sha512(); /* We need this too */
13785 exit(e == NULL || m == NULL);
13786
13787 ;
13788 return 0;
13789}
13790_ACEOF
13791if ac_fn_c_try_run "$LINENO"; then :
13792 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13793$as_echo "yes" >&6; }
13794 enable_nistp521=1
13795else
13796 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13797$as_echo "no" >&6; }
13798fi
13799rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13800 conftest.$ac_objext conftest.beam conftest.$ac_ext
13801fi
13802
13803else
13804 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13805$as_echo "no" >&6; }
13806
13807fi
13808rm -f core conftest.err conftest.$ac_objext \
13809 conftest$ac_exeext conftest.$ac_ext
13810
13811 COMMENT_OUT_ECC="#no ecc#"
13812 TEST_SSH_ECC=no
13813
13814 if test x$enable_nistp256 = x1 || test x$enable_nistp384 = x1 || \
13815 test x$enable_nistp521 = x1; then
13816
13817$as_echo "#define OPENSSL_HAS_ECC 1" >>confdefs.h
13818
13819 for ac_func in EC_KEY_METHOD_new
13820do :
13821 ac_fn_c_check_func "$LINENO" "EC_KEY_METHOD_new" "ac_cv_func_EC_KEY_METHOD_new"
13822if test "x$ac_cv_func_EC_KEY_METHOD_new" = xyes; then :
13823 cat >>confdefs.h <<_ACEOF
13824#define HAVE_EC_KEY_METHOD_NEW 1
13825_ACEOF
13826
13827fi
13828done
13829
13830 openssl_ecc=yes
13831 else
13832 openssl_ecc=no
13833 fi
13834 if test x$enable_nistp256 = x1; then
13835
13836$as_echo "#define OPENSSL_HAS_NISTP256 1" >>confdefs.h
13837
13838 TEST_SSH_ECC=yes
13839 COMMENT_OUT_ECC=""
13840 else
13841 unsupported_algorithms="$unsupported_algorithms \
13842 ecdsa-sha2-nistp256 \
13843 ecdh-sha2-nistp256 \
13844 ecdsa-sha2-nistp256-cert-v01@openssh.com"
13845 fi
13846 if test x$enable_nistp384 = x1; then
13847
13848$as_echo "#define OPENSSL_HAS_NISTP384 1" >>confdefs.h
13849
13850 TEST_SSH_ECC=yes
13851 COMMENT_OUT_ECC=""
13852 else
13853 unsupported_algorithms="$unsupported_algorithms \
13854 ecdsa-sha2-nistp384 \
13855 ecdh-sha2-nistp384 \
13856 ecdsa-sha2-nistp384-cert-v01@openssh.com"
13857 fi
13858 if test x$enable_nistp521 = x1; then
13859
13860$as_echo "#define OPENSSL_HAS_NISTP521 1" >>confdefs.h
13861
13862 TEST_SSH_ECC=yes
13863 COMMENT_OUT_ECC=""
13864 else
13865 unsupported_algorithms="$unsupported_algorithms \
13866 ecdh-sha2-nistp521 \
13867 ecdsa-sha2-nistp521 \
13868 ecdsa-sha2-nistp521-cert-v01@openssh.com"
13869 fi
13870
13871
13872
13873else
13874 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13875$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13876if ${ac_cv_lib_crypt_crypt+:} false; then :
13877 $as_echo_n "(cached) " >&6
13878else
13879 ac_check_lib_save_LIBS=$LIBS
13880LIBS="-lcrypt $LIBS"
13881cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13882/* end confdefs.h. */
13883
13884/* Override any GCC internal prototype to avoid an error.
13885 Use char because int might match the return type of a GCC
13886 builtin and then its argument prototype would still apply. */
13887#ifdef __cplusplus
13888extern "C"
13889#endif
13890char crypt ();
13891int
13892main ()
13893{
13894return crypt ();
13895 ;
13896 return 0;
13897}
13898_ACEOF
13899if ac_fn_c_try_link "$LINENO"; then :
13900 ac_cv_lib_crypt_crypt=yes
13901else
13902 ac_cv_lib_crypt_crypt=no
13903fi
13904rm -f core conftest.err conftest.$ac_objext \
13905 conftest$ac_exeext conftest.$ac_ext
13906LIBS=$ac_check_lib_save_LIBS
13907fi
13908{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13909$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13910if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13911 LIBS="$LIBS -lcrypt"
13912fi
13913
13914 for ac_func in crypt
13915do :
13916 ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt"
13917if test "x$ac_cv_func_crypt" = xyes; then :
13918 cat >>confdefs.h <<_ACEOF
13919#define HAVE_CRYPT 1
13920_ACEOF
13921
13922fi
13923done
13924
13925fi
13926
13927# PKCS11/U2F depend on OpenSSL and dlopen().
13928enable_pkcs11=yes
13929enable_sk=yes
13930if test "x$openssl" != "xyes" ; then
13931 enable_pkcs11="disabled; missing libcrypto"
13932 enable_sk="disabled; missing libcrypto"
13933fi
13934if test "x$openssl_ecc" != "xyes" ; then
13935 enable_sk="disabled; OpenSSL has no ECC support"
13936fi
13937if test "x$ac_cv_func_dlopen" != "xyes" ; then
13938 enable_pkcs11="disabled; missing dlopen(3)"
13939 enable_sk="disabled; missing dlopen(3)"
13940fi
13941if test "x$ac_cv_have_decl_RTLD_NOW" != "xyes" ; then
13942 enable_pkcs11="disabled; missing RTLD_NOW"
13943 enable_sk="disabled; missing RTLD_NOW"
13944fi
13945if test ! -z "$disable_pkcs11" ; then
13946 enable_pkcs11="disabled by user"
13947fi
13948if test ! -z "$disable_sk" ; then
13949 enable_sk="disabled by user"
13950fi
13951
13952{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable PKCS11" >&5
13953$as_echo_n "checking whether to enable PKCS11... " >&6; }
13954if test "x$enable_pkcs11" = "xyes" ; then
13955
13956$as_echo "#define ENABLE_PKCS11 /**/" >>confdefs.h
13957
13958fi
13959{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_pkcs11" >&5
13960$as_echo "$enable_pkcs11" >&6; }
13961
13962{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable U2F" >&5
13963$as_echo_n "checking whether to enable U2F... " >&6; }
13964if test "x$enable_sk" = "xyes" ; then
13965
13966$as_echo "#define ENABLE_SK /**/" >>confdefs.h
13967
13968 SK_DUMMY_LIBRARY=regress/misc/sk-dummy/sk-dummy.so
13969
13970else
13971 # Do not try to build sk-dummy library.
13972 SK_DUMMY_LIBRARY=""
13973
13974fi
13975{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_sk" >&5
13976$as_echo "$enable_sk" >&6; }
13977
13978# Now check for built-in security key support.
13979if test "x$enable_sk" = "xyes" -a "x$enable_sk_internal" = "xyes" ; then
13980 if test -n "$ac_tool_prefix"; then
13981 # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
13982set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
13983{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
13984$as_echo_n "checking for $ac_word... " >&6; }
13985if ${ac_cv_path_PKGCONFIG+:} false; then :
13986 $as_echo_n "(cached) " >&6
13987else
13988 case $PKGCONFIG in
13989 [\\/]* | ?:[\\/]*)
13990 ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
13991 ;;
13992 *)
13993 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
13994for as_dir in $PATH
13995do
13996 IFS=$as_save_IFS
13997 test -z "$as_dir" && as_dir=.
13998 for ac_exec_ext in '' $ac_executable_extensions; do
13999 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
14000 ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
14001 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14002 break 2
14003 fi
14004done
14005 done
14006IFS=$as_save_IFS
14007
14008 ;;
14009esac
14010fi
14011PKGCONFIG=$ac_cv_path_PKGCONFIG
14012if test -n "$PKGCONFIG"; then
14013 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
14014$as_echo "$PKGCONFIG" >&6; }
14015else
14016 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14017$as_echo "no" >&6; }
14018fi
14019
14020
14021fi
14022if test -z "$ac_cv_path_PKGCONFIG"; then
14023 ac_pt_PKGCONFIG=$PKGCONFIG
14024 # Extract the first word of "pkg-config", so it can be a program name with args.
14025set dummy pkg-config; ac_word=$2
14026{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14027$as_echo_n "checking for $ac_word... " >&6; }
14028if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
14029 $as_echo_n "(cached) " >&6
14030else
14031 case $ac_pt_PKGCONFIG in
14032 [\\/]* | ?:[\\/]*)
14033 ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
14034 ;;
14035 *)
14036 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14037for as_dir in $PATH
14038do
14039 IFS=$as_save_IFS
14040 test -z "$as_dir" && as_dir=.
14041 for ac_exec_ext in '' $ac_executable_extensions; do
14042 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
14043 ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
14044 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14045 break 2
14046 fi
14047done
14048 done
14049IFS=$as_save_IFS
14050
14051 ;;
14052esac
14053fi
14054ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
14055if test -n "$ac_pt_PKGCONFIG"; then
14056 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
14057$as_echo "$ac_pt_PKGCONFIG" >&6; }
14058else
14059 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14060$as_echo "no" >&6; }
14061fi
14062
14063 if test "x$ac_pt_PKGCONFIG" = x; then
14064 PKGCONFIG="no"
14065 else
14066 case $cross_compiling:$ac_tool_warned in
14067yes:)
14068{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
14069$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
14070ac_tool_warned=yes ;;
14071esac
14072 PKGCONFIG=$ac_pt_PKGCONFIG
14073 fi
14074else
14075 PKGCONFIG="$ac_cv_path_PKGCONFIG"
14076fi
14077
14078 use_pkgconfig_for_libfido2=
14079 if test "x$PKGCONFIG" != "xno"; then
14080 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $PKGCONFIG knows about libfido2" >&5
14081$as_echo_n "checking if $PKGCONFIG knows about libfido2... " >&6; }
14082 if "$PKGCONFIG" libfido2; then
14083 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14084$as_echo "yes" >&6; }
14085 use_pkgconfig_for_libfido2=yes
14086 else
14087 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14088$as_echo "no" >&6; }
14089 fi
14090 fi
14091 if test "x$use_pkgconfig_for_libfido2" = "xyes"; then
14092 LIBFIDO2=`$PKGCONFIG --libs libfido2`
14093 CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags libfido2`"
14094 else
14095 LIBFIDO2="-lfido2 -lcbor"
14096 fi
14097 OTHERLIBS=`echo $LIBFIDO2 | sed 's/-lfido2//'`
14098 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fido_init in -lfido2" >&5
14099$as_echo_n "checking for fido_init in -lfido2... " >&6; }
14100if ${ac_cv_lib_fido2_fido_init+:} false; then :
14101 $as_echo_n "(cached) " >&6
14102else
14103 ac_check_lib_save_LIBS=$LIBS
14104LIBS="-lfido2 $OTHERLIBS
14105 $LIBS"
14106cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14107/* end confdefs.h. */
14108
14109/* Override any GCC internal prototype to avoid an error.
14110 Use char because int might match the return type of a GCC
14111 builtin and then its argument prototype would still apply. */
14112#ifdef __cplusplus
14113extern "C"
14114#endif
14115char fido_init ();
14116int
14117main ()
14118{
14119return fido_init ();
14120 ;
14121 return 0;
14122}
14123_ACEOF
14124if ac_fn_c_try_link "$LINENO"; then :
14125 ac_cv_lib_fido2_fido_init=yes
14126else
14127 ac_cv_lib_fido2_fido_init=no
14128fi
14129rm -f core conftest.err conftest.$ac_objext \
14130 conftest$ac_exeext conftest.$ac_ext
14131LIBS=$ac_check_lib_save_LIBS
14132fi
14133{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fido2_fido_init" >&5
14134$as_echo "$ac_cv_lib_fido2_fido_init" >&6; }
14135if test "x$ac_cv_lib_fido2_fido_init" = xyes; then :
14136
14137
14138
14139$as_echo "#define ENABLE_SK_INTERNAL /**/" >>confdefs.h
14140
14141 enable_sk="built-in"
14142
14143else
14144 as_fn_error $? "no usable libfido2 found" "$LINENO" 5
14145fi
14146
14147 ac_fn_c_check_header_mongrel "$LINENO" "fido.h" "ac_cv_header_fido_h" "$ac_includes_default"
14148if test "x$ac_cv_header_fido_h" = xyes; then :
14149
14150else
14151 as_fn_error $? "missing fido.h from libfido2" "$LINENO" 5
14152fi
14153
14154
14155 ac_fn_c_check_header_compile "$LINENO" "fido/credman.h" "ac_cv_header_fido_credman_h" "#include <fido.h>
14156
14157"
14158if test "x$ac_cv_header_fido_credman_h" = xyes; then :
14159
14160else
14161 as_fn_error $? "missing fido/credman.h from libfido2" "$LINENO" 5
14162fi
14163
14164
14165fi
14166
14167for ac_func in \
14168 arc4random \
14169 arc4random_buf \
14170 arc4random_stir \
14171 arc4random_uniform \
14172
14173do :
14174 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
14175ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
14176if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
14177 cat >>confdefs.h <<_ACEOF
14178#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
14179_ACEOF
14180
14181fi
14182done
14183
14184
14185saved_LIBS="$LIBS"
14186{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ia_openinfo in -liaf" >&5
14187$as_echo_n "checking for ia_openinfo in -liaf... " >&6; }
14188if ${ac_cv_lib_iaf_ia_openinfo+:} false; then :
14189 $as_echo_n "(cached) " >&6
14190else
14191 ac_check_lib_save_LIBS=$LIBS
14192LIBS="-liaf $LIBS"
14193cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14194/* end confdefs.h. */
14195
14196/* Override any GCC internal prototype to avoid an error.
14197 Use char because int might match the return type of a GCC
14198 builtin and then its argument prototype would still apply. */
14199#ifdef __cplusplus
14200extern "C"
14201#endif
14202char ia_openinfo ();
14203int
14204main ()
14205{
14206return ia_openinfo ();
14207 ;
14208 return 0;
14209}
14210_ACEOF
14211if ac_fn_c_try_link "$LINENO"; then :
14212 ac_cv_lib_iaf_ia_openinfo=yes
14213else
14214 ac_cv_lib_iaf_ia_openinfo=no
14215fi
14216rm -f core conftest.err conftest.$ac_objext \
14217 conftest$ac_exeext conftest.$ac_ext
14218LIBS=$ac_check_lib_save_LIBS
14219fi
14220{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iaf_ia_openinfo" >&5
14221$as_echo "$ac_cv_lib_iaf_ia_openinfo" >&6; }
14222if test "x$ac_cv_lib_iaf_ia_openinfo" = xyes; then :
14223
14224 LIBS="$LIBS -liaf"
14225 for ac_func in set_id
14226do :
14227 ac_fn_c_check_func "$LINENO" "set_id" "ac_cv_func_set_id"
14228if test "x$ac_cv_func_set_id" = xyes; then :
14229 cat >>confdefs.h <<_ACEOF
14230#define HAVE_SET_ID 1
14231_ACEOF
14232 SSHDLIBS="$SSHDLIBS -liaf"
14233
14234$as_echo "#define HAVE_LIBIAF 1" >>confdefs.h
14235
14236
14237fi
14238done
14239
14240
14241fi
14242
14243LIBS="$saved_LIBS"
14244
14245### Configure cryptographic random number support
14246
14247# Check whether OpenSSL seeds itself
14248if test "x$openssl" = "xyes" ; then
14249 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's PRNG is internally seeded" >&5
14250$as_echo_n "checking whether OpenSSL's PRNG is internally seeded... " >&6; }
14251 if test "$cross_compiling" = yes; then :
14252
14253 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14254$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14255 # This is safe, since we will fatal() at runtime if
14256 # OpenSSL is not seeded correctly.
14257 OPENSSL_SEEDS_ITSELF=yes
14258
14259
14260else
14261 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14262/* end confdefs.h. */
14263
14264 #include <string.h>
14265 #include <openssl/rand.h>
14266
14267int
14268main ()
14269{
14270
14271 exit(RAND_status() == 1 ? 0 : 1);
14272
14273 ;
14274 return 0;
14275}
14276_ACEOF
14277if ac_fn_c_try_run "$LINENO"; then :
14278
14279 OPENSSL_SEEDS_ITSELF=yes
14280 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14281$as_echo "yes" >&6; }
14282
14283else
14284
14285 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14286$as_echo "no" >&6; }
14287
14288fi
14289rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14290 conftest.$ac_objext conftest.beam conftest.$ac_ext
14291fi
14292
14293fi
14294
14295# PRNGD TCP socket
14296
14297# Check whether --with-prngd-port was given.
14298if test "${with_prngd_port+set}" = set; then :
14299 withval=$with_prngd_port;
14300 case "$withval" in
14301 no)
14302 withval=""
14303 ;;
14304 [0-9]*)
14305 ;;
14306 *)
14307 as_fn_error $? "You must specify a numeric port number for --with-prngd-port" "$LINENO" 5
14308 ;;
14309 esac
14310 if test ! -z "$withval" ; then
14311 PRNGD_PORT="$withval"
14312
14313cat >>confdefs.h <<_ACEOF
14314#define PRNGD_PORT $PRNGD_PORT
14315_ACEOF
14316
14317 fi
14318
14319
14320fi
14321
14322
14323# PRNGD Unix domain socket
14324
14325# Check whether --with-prngd-socket was given.
14326if test "${with_prngd_socket+set}" = set; then :
14327 withval=$with_prngd_socket;
14328 case "$withval" in
14329 yes)
14330 withval="/var/run/egd-pool"
14331 ;;
14332 no)
14333 withval=""
14334 ;;
14335 /*)
14336 ;;
14337 *)
14338 as_fn_error $? "You must specify an absolute path to the entropy socket" "$LINENO" 5
14339 ;;
14340 esac
14341
14342 if test ! -z "$withval" ; then
14343 if test ! -z "$PRNGD_PORT" ; then
14344 as_fn_error $? "You may not specify both a PRNGD/EGD port and socket" "$LINENO" 5
14345 fi
14346 if test ! -r "$withval" ; then
14347 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Entropy socket is not readable" >&5
14348$as_echo "$as_me: WARNING: Entropy socket is not readable" >&2;}
14349 fi
14350 PRNGD_SOCKET="$withval"
14351
14352cat >>confdefs.h <<_ACEOF
14353#define PRNGD_SOCKET "$PRNGD_SOCKET"
14354_ACEOF
14355
14356 fi
14357
14358else
14359
14360 # Check for existing socket only if we don't have a random device already
14361 if test "x$OPENSSL_SEEDS_ITSELF" != "xyes" ; then
14362 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PRNGD/EGD socket" >&5
14363$as_echo_n "checking for PRNGD/EGD socket... " >&6; }
14364 # Insert other locations here
14365 for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do
14366 if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then
14367 PRNGD_SOCKET="$sock"
14368 cat >>confdefs.h <<_ACEOF
14369#define PRNGD_SOCKET "$PRNGD_SOCKET"
14370_ACEOF
14371
14372 break;
14373 fi
14374 done
14375 if test ! -z "$PRNGD_SOCKET" ; then
14376 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRNGD_SOCKET" >&5
14377$as_echo "$PRNGD_SOCKET" >&6; }
14378 else
14379 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
14380$as_echo "not found" >&6; }
14381 fi
14382 fi
14383
14384
14385fi
14386
14387
14388# Which randomness source do we use?
14389if test ! -z "$PRNGD_PORT" ; then
14390 RAND_MSG="PRNGd port $PRNGD_PORT"
14391elif test ! -z "$PRNGD_SOCKET" ; then
14392 RAND_MSG="PRNGd socket $PRNGD_SOCKET"
14393elif test ! -z "$OPENSSL_SEEDS_ITSELF" ; then
14394
14395$as_echo "#define OPENSSL_PRNG_ONLY 1" >>confdefs.h
14396
14397 RAND_MSG="OpenSSL internal ONLY"
14398elif test "x$openssl" = "xno" ; then
14399 { $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
14400$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;}
14401else
14402 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
14403fi
14404
14405# Check for PAM libs
14406PAM_MSG="no"
14407
14408# Check whether --with-pam was given.
14409if test "${with_pam+set}" = set; then :
14410 withval=$with_pam;
14411 if test "x$withval" != "xno" ; then
14412 if test "x$ac_cv_header_security_pam_appl_h" != "xyes" && \
14413 test "x$ac_cv_header_pam_pam_appl_h" != "xyes" ; then
14414 as_fn_error $? "PAM headers not found" "$LINENO" 5
14415 fi
14416
14417 saved_LIBS="$LIBS"
14418 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
14419$as_echo_n "checking for dlopen in -ldl... " >&6; }
14420if ${ac_cv_lib_dl_dlopen+:} false; then :
14421 $as_echo_n "(cached) " >&6
14422else
14423 ac_check_lib_save_LIBS=$LIBS
14424LIBS="-ldl $LIBS"
14425cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14426/* end confdefs.h. */
14427
14428/* Override any GCC internal prototype to avoid an error.
14429 Use char because int might match the return type of a GCC
14430 builtin and then its argument prototype would still apply. */
14431#ifdef __cplusplus
14432extern "C"
14433#endif
14434char dlopen ();
14435int
14436main ()
14437{
14438return dlopen ();
14439 ;
14440 return 0;
14441}
14442_ACEOF
14443if ac_fn_c_try_link "$LINENO"; then :
14444 ac_cv_lib_dl_dlopen=yes
14445else
14446 ac_cv_lib_dl_dlopen=no
14447fi
14448rm -f core conftest.err conftest.$ac_objext \
14449 conftest$ac_exeext conftest.$ac_ext
14450LIBS=$ac_check_lib_save_LIBS
14451fi
14452{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
14453$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
14454if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
14455 cat >>confdefs.h <<_ACEOF
14456#define HAVE_LIBDL 1
14457_ACEOF
14458
14459 LIBS="-ldl $LIBS"
14460
14461fi
14462
14463 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_set_item in -lpam" >&5
14464$as_echo_n "checking for pam_set_item in -lpam... " >&6; }
14465if ${ac_cv_lib_pam_pam_set_item+:} false; then :
14466 $as_echo_n "(cached) " >&6
14467else
14468 ac_check_lib_save_LIBS=$LIBS
14469LIBS="-lpam $LIBS"
14470cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14471/* end confdefs.h. */
14472
14473/* Override any GCC internal prototype to avoid an error.
14474 Use char because int might match the return type of a GCC
14475 builtin and then its argument prototype would still apply. */
14476#ifdef __cplusplus
14477extern "C"
14478#endif
14479char pam_set_item ();
14480int
14481main ()
14482{
14483return pam_set_item ();
14484 ;
14485 return 0;
14486}
14487_ACEOF
14488if ac_fn_c_try_link "$LINENO"; then :
14489 ac_cv_lib_pam_pam_set_item=yes
14490else
14491 ac_cv_lib_pam_pam_set_item=no
14492fi
14493rm -f core conftest.err conftest.$ac_objext \
14494 conftest$ac_exeext conftest.$ac_ext
14495LIBS=$ac_check_lib_save_LIBS
14496fi
14497{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_set_item" >&5
14498$as_echo "$ac_cv_lib_pam_pam_set_item" >&6; }
14499if test "x$ac_cv_lib_pam_pam_set_item" = xyes; then :
14500 cat >>confdefs.h <<_ACEOF
14501#define HAVE_LIBPAM 1
14502_ACEOF
14503
14504 LIBS="-lpam $LIBS"
14505
14506else
14507 as_fn_error $? "*** libpam missing" "$LINENO" 5
14508fi
14509
14510 for ac_func in pam_getenvlist
14511do :
14512 ac_fn_c_check_func "$LINENO" "pam_getenvlist" "ac_cv_func_pam_getenvlist"
14513if test "x$ac_cv_func_pam_getenvlist" = xyes; then :
14514 cat >>confdefs.h <<_ACEOF
14515#define HAVE_PAM_GETENVLIST 1
14516_ACEOF
14517
14518fi
14519done
14520
14521 for ac_func in pam_putenv
14522do :
14523 ac_fn_c_check_func "$LINENO" "pam_putenv" "ac_cv_func_pam_putenv"
14524if test "x$ac_cv_func_pam_putenv" = xyes; then :
14525 cat >>confdefs.h <<_ACEOF
14526#define HAVE_PAM_PUTENV 1
14527_ACEOF
14528
14529fi
14530done
14531
14532 LIBS="$saved_LIBS"
14533
14534 PAM_MSG="yes"
14535
14536 SSHDLIBS="$SSHDLIBS -lpam"
14537
14538$as_echo "#define USE_PAM 1" >>confdefs.h
14539
14540
14541 if test $ac_cv_lib_dl_dlopen = yes; then
14542 case "$LIBS" in
14543 *-ldl*)
14544 # libdl already in LIBS
14545 ;;
14546 *)
14547 SSHDLIBS="$SSHDLIBS -ldl"
14548 ;;
14549 esac
14550 fi
14551 fi
14552
14553
14554fi
14555
14556
14557
14558# Check whether --with-pam-service was given.
14559if test "${with_pam_service+set}" = set; then :
14560 withval=$with_pam_service;
14561 if test "x$withval" != "xno" && \
14562 test "x$withval" != "xyes" ; then
14563
14564cat >>confdefs.h <<_ACEOF
14565#define SSHD_PAM_SERVICE "$withval"
14566_ACEOF
14567
14568 fi
14569
14570
14571fi
14572
14573
14574# Check for older PAM
14575if test "x$PAM_MSG" = "xyes" ; then
14576 # Check PAM strerror arguments (old PAM)
14577 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pam_strerror takes only one argument" >&5
14578$as_echo_n "checking whether pam_strerror takes only one argument... " >&6; }
14579 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14580/* end confdefs.h. */
14581
14582#include <stdlib.h>
14583#if defined(HAVE_SECURITY_PAM_APPL_H)
14584#include <security/pam_appl.h>
14585#elif defined (HAVE_PAM_PAM_APPL_H)
14586#include <pam/pam_appl.h>
14587#endif
14588
14589int
14590main ()
14591{
14592
14593(void)pam_strerror((pam_handle_t *)NULL, -1);
14594
14595 ;
14596 return 0;
14597}
14598_ACEOF
14599if ac_fn_c_try_compile "$LINENO"; then :
14600 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14601$as_echo "no" >&6; }
14602else
14603
14604
14605$as_echo "#define HAVE_OLD_PAM 1" >>confdefs.h
14606
14607 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14608$as_echo "yes" >&6; }
14609 PAM_MSG="yes (old library)"
14610
14611
14612fi
14613rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14614fi
14615
14616case "$host" in
14617*-*-cygwin*)
14618 SSH_PRIVSEP_USER=CYGWIN_SSH_PRIVSEP_USER
14619 ;;
14620*)
14621 SSH_PRIVSEP_USER=sshd
14622 ;;
14623esac
14624
14625# Check whether --with-privsep-user was given.
14626if test "${with_privsep_user+set}" = set; then :
14627 withval=$with_privsep_user;
14628 if test -n "$withval" && test "x$withval" != "xno" && \
14629 test "x${withval}" != "xyes"; then
14630 SSH_PRIVSEP_USER=$withval
14631 fi
14632
14633
14634fi
14635
14636if test "x$SSH_PRIVSEP_USER" = "xCYGWIN_SSH_PRIVSEP_USER" ; then
14637
14638cat >>confdefs.h <<_ACEOF
14639#define SSH_PRIVSEP_USER CYGWIN_SSH_PRIVSEP_USER
14640_ACEOF
14641
14642else
14643
14644cat >>confdefs.h <<_ACEOF
14645#define SSH_PRIVSEP_USER "$SSH_PRIVSEP_USER"
14646_ACEOF
14647
14648fi
14649
14650
14651if test "x$have_linux_no_new_privs" = "x1" ; then
14652ac_fn_c_check_decl "$LINENO" "SECCOMP_MODE_FILTER" "ac_cv_have_decl_SECCOMP_MODE_FILTER" "
14653 #include <sys/types.h>
14654 #include <linux/seccomp.h>
14655
14656"
14657if test "x$ac_cv_have_decl_SECCOMP_MODE_FILTER" = xyes; then :
14658 have_seccomp_filter=1
14659fi
14660
14661fi
14662if test "x$have_seccomp_filter" = "x1" ; then
14663{ $as_echo "$as_me:${as_lineno-$LINENO}: checking kernel for seccomp_filter support" >&5
14664$as_echo_n "checking kernel for seccomp_filter support... " >&6; }
14665cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14666/* end confdefs.h. */
14667
14668 #include <errno.h>
14669 #include <elf.h>
14670 #include <linux/audit.h>
14671 #include <linux/seccomp.h>
14672 #include <stdlib.h>
14673 #include <sys/prctl.h>
14674
14675int
14676main ()
14677{
14678 int i = $seccomp_audit_arch;
14679 errno = 0;
14680 prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, NULL, 0, 0);
14681 exit(errno == EFAULT ? 0 : 1);
14682 ;
14683 return 0;
14684}
14685_ACEOF
14686if ac_fn_c_try_link "$LINENO"; then :
14687 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14688$as_echo "yes" >&6; }
14689else
14690
14691 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14692$as_echo "no" >&6; }
14693 # Disable seccomp filter as a target
14694 have_seccomp_filter=0
14695
14696
14697fi
14698rm -f core conftest.err conftest.$ac_objext \
14699 conftest$ac_exeext conftest.$ac_ext
14700fi
14701
14702# Decide which sandbox style to use
14703sandbox_arg=""
14704
14705# Check whether --with-sandbox was given.
14706if test "${with_sandbox+set}" = set; then :
14707 withval=$with_sandbox;
14708 if test "x$withval" = "xyes" ; then
14709 sandbox_arg=""
14710 else
14711 sandbox_arg="$withval"
14712 fi
14713
14714
14715fi
14716
14717
14718# Some platforms (seems to be the ones that have a kernel poll(2)-type
14719# function with which they implement select(2)) use an extra file descriptor
14720# when calling select(2), which means we can't use the rlimit sandbox.
14721{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if select works with descriptor rlimit" >&5
14722$as_echo_n "checking if select works with descriptor rlimit... " >&6; }
14723if test "$cross_compiling" = yes; then :
14724 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14725$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14726 select_works_with_rlimit=yes
14727
14728else
14729 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14730/* end confdefs.h. */
14731
14732#include <sys/types.h>
14733#ifdef HAVE_SYS_TIME_H
14734# include <sys/time.h>
14735#endif
14736#include <sys/resource.h>
14737#ifdef HAVE_SYS_SELECT_H
14738# include <sys/select.h>
14739#endif
14740#include <errno.h>
14741#include <fcntl.h>
14742#include <stdlib.h>
14743
14744int
14745main ()
14746{
14747
14748 struct rlimit rl_zero;
14749 int fd, r;
14750 fd_set fds;
14751 struct timeval tv;
14752
14753 fd = open("/dev/null", O_RDONLY);
14754 FD_ZERO(&fds);
14755 FD_SET(fd, &fds);
14756 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
14757 setrlimit(RLIMIT_FSIZE, &rl_zero);
14758 setrlimit(RLIMIT_NOFILE, &rl_zero);
14759 tv.tv_sec = 1;
14760 tv.tv_usec = 0;
14761 r = select(fd+1, &fds, NULL, NULL, &tv);
14762 exit (r == -1 ? 1 : 0);
14763
14764 ;
14765 return 0;
14766}
14767_ACEOF
14768if ac_fn_c_try_run "$LINENO"; then :
14769 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14770$as_echo "yes" >&6; }
14771 select_works_with_rlimit=yes
14772else
14773 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14774$as_echo "no" >&6; }
14775 select_works_with_rlimit=no
14776fi
14777rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14778 conftest.$ac_objext conftest.beam conftest.$ac_ext
14779fi
14780
14781
14782{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit(RLIMIT_NOFILE,{0,0}) works" >&5
14783$as_echo_n "checking if setrlimit(RLIMIT_NOFILE,{0,0}) works... " >&6; }
14784if test "$cross_compiling" = yes; then :
14785 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14786$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14787 rlimit_nofile_zero_works=yes
14788
14789else
14790 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14791/* end confdefs.h. */
14792
14793#include <sys/types.h>
14794#ifdef HAVE_SYS_TIME_H
14795# include <sys/time.h>
14796#endif
14797#include <sys/resource.h>
14798#include <errno.h>
14799#include <stdlib.h>
14800
14801int
14802main ()
14803{
14804
14805 struct rlimit rl_zero;
14806 int r;
14807
14808 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
14809 r = setrlimit(RLIMIT_NOFILE, &rl_zero);
14810 exit (r == -1 ? 1 : 0);
14811
14812 ;
14813 return 0;
14814}
14815_ACEOF
14816if ac_fn_c_try_run "$LINENO"; then :
14817 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14818$as_echo "yes" >&6; }
14819 rlimit_nofile_zero_works=yes
14820else
14821 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14822$as_echo "no" >&6; }
14823 rlimit_nofile_zero_works=no
14824fi
14825rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14826 conftest.$ac_objext conftest.beam conftest.$ac_ext
14827fi
14828
14829
14830{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit RLIMIT_FSIZE works" >&5
14831$as_echo_n "checking if setrlimit RLIMIT_FSIZE works... " >&6; }
14832if test "$cross_compiling" = yes; then :
14833 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14834$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14835
14836else
14837 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14838/* end confdefs.h. */
14839
14840#include <sys/types.h>
14841#include <sys/resource.h>
14842#include <stdlib.h>
14843
14844int
14845main ()
14846{
14847
14848 struct rlimit rl_zero;
14849
14850 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
14851 exit(setrlimit(RLIMIT_FSIZE, &rl_zero) != 0);
14852
14853 ;
14854 return 0;
14855}
14856_ACEOF
14857if ac_fn_c_try_run "$LINENO"; then :
14858 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14859$as_echo "yes" >&6; }
14860else
14861 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14862$as_echo "no" >&6; }
14863
14864$as_echo "#define SANDBOX_SKIP_RLIMIT_FSIZE 1" >>confdefs.h
14865
14866fi
14867rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14868 conftest.$ac_objext conftest.beam conftest.$ac_ext
14869fi
14870
14871
14872if test "x$sandbox_arg" = "xpledge" || \
14873 ( test -z "$sandbox_arg" && test "x$ac_cv_func_pledge" = "xyes" ) ; then
14874 test "x$ac_cv_func_pledge" != "xyes" && \
14875 as_fn_error $? "pledge sandbox requires pledge(2) support" "$LINENO" 5
14876 SANDBOX_STYLE="pledge"
14877
14878$as_echo "#define SANDBOX_PLEDGE 1" >>confdefs.h
14879
14880elif test "x$sandbox_arg" = "xsystrace" || \
14881 ( test -z "$sandbox_arg" && test "x$have_systr_policy_kill" = "x1" ) ; then
14882 test "x$have_systr_policy_kill" != "x1" && \
14883 as_fn_error $? "systrace sandbox requires systrace headers and SYSTR_POLICY_KILL support" "$LINENO" 5
14884 SANDBOX_STYLE="systrace"
14885
14886$as_echo "#define SANDBOX_SYSTRACE 1" >>confdefs.h
14887
14888elif test "x$sandbox_arg" = "xdarwin" || \
14889 ( test -z "$sandbox_arg" && test "x$ac_cv_func_sandbox_init" = "xyes" && \
14890 test "x$ac_cv_header_sandbox_h" = "xyes") ; then
14891 test "x$ac_cv_func_sandbox_init" != "xyes" -o \
14892 "x$ac_cv_header_sandbox_h" != "xyes" && \
14893 as_fn_error $? "Darwin seatbelt sandbox requires sandbox.h and sandbox_init function" "$LINENO" 5
14894 SANDBOX_STYLE="darwin"
14895
14896$as_echo "#define SANDBOX_DARWIN 1" >>confdefs.h
14897
14898elif test "x$sandbox_arg" = "xseccomp_filter" || \
14899 ( test -z "$sandbox_arg" && \
14900 test "x$have_seccomp_filter" = "x1" && \
14901 test "x$ac_cv_header_elf_h" = "xyes" && \
14902 test "x$ac_cv_header_linux_audit_h" = "xyes" && \
14903 test "x$ac_cv_header_linux_filter_h" = "xyes" && \
14904 test "x$seccomp_audit_arch" != "x" && \
14905 test "x$have_linux_no_new_privs" = "x1" && \
14906 test "x$ac_cv_func_prctl" = "xyes" ) ; then
14907 test "x$seccomp_audit_arch" = "x" && \
14908 as_fn_error $? "seccomp_filter sandbox not supported on $host" "$LINENO" 5
14909 test "x$have_linux_no_new_privs" != "x1" && \
14910 as_fn_error $? "seccomp_filter sandbox requires PR_SET_NO_NEW_PRIVS" "$LINENO" 5
14911 test "x$have_seccomp_filter" != "x1" && \
14912 as_fn_error $? "seccomp_filter sandbox requires seccomp headers" "$LINENO" 5
14913 test "x$ac_cv_func_prctl" != "xyes" && \
14914 as_fn_error $? "seccomp_filter sandbox requires prctl function" "$LINENO" 5
14915 SANDBOX_STYLE="seccomp_filter"
14916
14917$as_echo "#define SANDBOX_SECCOMP_FILTER 1" >>confdefs.h
14918
14919elif test "x$sandbox_arg" = "xcapsicum" || \
14920 ( test -z "$sandbox_arg" && \
14921 test "x$ac_cv_header_sys_capsicum_h" = "xyes" && \
14922 test "x$ac_cv_func_cap_rights_limit" = "xyes") ; then
14923 test "x$ac_cv_header_sys_capsicum_h" != "xyes" && \
14924 as_fn_error $? "capsicum sandbox requires sys/capsicum.h header" "$LINENO" 5
14925 test "x$ac_cv_func_cap_rights_limit" != "xyes" && \
14926 as_fn_error $? "capsicum sandbox requires cap_rights_limit function" "$LINENO" 5
14927 SANDBOX_STYLE="capsicum"
14928
14929$as_echo "#define SANDBOX_CAPSICUM 1" >>confdefs.h
14930
14931elif test "x$sandbox_arg" = "xrlimit" || \
14932 ( test -z "$sandbox_arg" && test "x$ac_cv_func_setrlimit" = "xyes" && \
14933 test "x$select_works_with_rlimit" = "xyes" && \
14934 test "x$rlimit_nofile_zero_works" = "xyes" ) ; then
14935 test "x$ac_cv_func_setrlimit" != "xyes" && \
14936 as_fn_error $? "rlimit sandbox requires setrlimit function" "$LINENO" 5
14937 test "x$select_works_with_rlimit" != "xyes" && \
14938 as_fn_error $? "rlimit sandbox requires select to work with rlimit" "$LINENO" 5
14939 SANDBOX_STYLE="rlimit"
14940
14941$as_echo "#define SANDBOX_RLIMIT 1" >>confdefs.h
14942
14943elif test "x$sandbox_arg" = "xsolaris" || \
14944 ( test -z "$sandbox_arg" && test "x$SOLARIS_PRIVS" = "xyes" ) ; then
14945 SANDBOX_STYLE="solaris"
14946
14947$as_echo "#define SANDBOX_SOLARIS 1" >>confdefs.h
14948
14949elif test -z "$sandbox_arg" || test "x$sandbox_arg" = "xno" || \
14950 test "x$sandbox_arg" = "xnone" || test "x$sandbox_arg" = "xnull" ; then
14951 SANDBOX_STYLE="none"
14952
14953$as_echo "#define SANDBOX_NULL 1" >>confdefs.h
14954
14955else
14956 as_fn_error $? "unsupported --with-sandbox" "$LINENO" 5
14957fi
14958
14959# Cheap hack to ensure NEWS-OS libraries are arranged right.
14960if test ! -z "$SONY" ; then
14961 LIBS="$LIBS -liberty";
14962fi
14963
14964# Check for long long datatypes
14965ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
14966if test "x$ac_cv_type_long_long" = xyes; then :
14967
14968cat >>confdefs.h <<_ACEOF
14969#define HAVE_LONG_LONG 1
14970_ACEOF
14971
14972
14973fi
14974ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default"
14975if test "x$ac_cv_type_unsigned_long_long" = xyes; then :
14976
14977cat >>confdefs.h <<_ACEOF
14978#define HAVE_UNSIGNED_LONG_LONG 1
14979_ACEOF
14980
14981
14982fi
14983ac_fn_c_check_type "$LINENO" "long double" "ac_cv_type_long_double" "$ac_includes_default"
14984if test "x$ac_cv_type_long_double" = xyes; then :
14985
14986cat >>confdefs.h <<_ACEOF
14987#define HAVE_LONG_DOUBLE 1
14988_ACEOF
14989
14990
14991fi
14992
14993
14994# Check datatype sizes
14995# The cast to long int works around a bug in the HP C Compiler
14996# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
14997# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
14998# This bug is HP SR number 8606223364.
14999{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short int" >&5
15000$as_echo_n "checking size of short int... " >&6; }
15001if ${ac_cv_sizeof_short_int+:} false; then :
15002 $as_echo_n "(cached) " >&6
15003else
15004 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short int))" "ac_cv_sizeof_short_int" "$ac_includes_default"; then :
15005
15006else
15007 if test "$ac_cv_type_short_int" = yes; then
15008 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15009$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15010as_fn_error 77 "cannot compute sizeof (short int)
15011See \`config.log' for more details" "$LINENO" 5; }
15012 else
15013 ac_cv_sizeof_short_int=0
15014 fi
15015fi
15016
15017fi
15018{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short_int" >&5
15019$as_echo "$ac_cv_sizeof_short_int" >&6; }
15020
15021
15022
15023cat >>confdefs.h <<_ACEOF
15024#define SIZEOF_SHORT_INT $ac_cv_sizeof_short_int
15025_ACEOF
15026
15027
15028# The cast to long int works around a bug in the HP C Compiler
15029# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
15030# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
15031# This bug is HP SR number 8606223364.
15032{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
15033$as_echo_n "checking size of int... " >&6; }
15034if ${ac_cv_sizeof_int+:} false; then :
15035 $as_echo_n "(cached) " >&6
15036else
15037 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
15038
15039else
15040 if test "$ac_cv_type_int" = yes; then
15041 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15042$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15043as_fn_error 77 "cannot compute sizeof (int)
15044See \`config.log' for more details" "$LINENO" 5; }
15045 else
15046 ac_cv_sizeof_int=0
15047 fi
15048fi
15049
15050fi
15051{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
15052$as_echo "$ac_cv_sizeof_int" >&6; }
15053
15054
15055
15056cat >>confdefs.h <<_ACEOF
15057#define SIZEOF_INT $ac_cv_sizeof_int
15058_ACEOF
15059
15060
15061# The cast to long int works around a bug in the HP C Compiler
15062# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
15063# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
15064# This bug is HP SR number 8606223364.
15065{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long int" >&5
15066$as_echo_n "checking size of long int... " >&6; }
15067if ${ac_cv_sizeof_long_int+:} false; then :
15068 $as_echo_n "(cached) " >&6
15069else
15070 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then :
15071
15072else
15073 if test "$ac_cv_type_long_int" = yes; then
15074 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15075$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15076as_fn_error 77 "cannot compute sizeof (long int)
15077See \`config.log' for more details" "$LINENO" 5; }
15078 else
15079 ac_cv_sizeof_long_int=0
15080 fi
15081fi
15082
15083fi
15084{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_int" >&5
15085$as_echo "$ac_cv_sizeof_long_int" >&6; }
15086
15087
15088
15089cat >>confdefs.h <<_ACEOF
15090#define SIZEOF_LONG_INT $ac_cv_sizeof_long_int
15091_ACEOF
15092
15093
15094# The cast to long int works around a bug in the HP C Compiler
15095# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
15096# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
15097# This bug is HP SR number 8606223364.
15098{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long int" >&5
15099$as_echo_n "checking size of long long int... " >&6; }
15100if ${ac_cv_sizeof_long_long_int+:} false; then :
15101 $as_echo_n "(cached) " >&6
15102else
15103 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long int))" "ac_cv_sizeof_long_long_int" "$ac_includes_default"; then :
15104
15105else
15106 if test "$ac_cv_type_long_long_int" = yes; then
15107 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15108$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15109as_fn_error 77 "cannot compute sizeof (long long int)
15110See \`config.log' for more details" "$LINENO" 5; }
15111 else
15112 ac_cv_sizeof_long_long_int=0
15113 fi
15114fi
15115
15116fi
15117{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long_int" >&5
15118$as_echo "$ac_cv_sizeof_long_long_int" >&6; }
15119
15120
15121
15122cat >>confdefs.h <<_ACEOF
15123#define SIZEOF_LONG_LONG_INT $ac_cv_sizeof_long_long_int
15124_ACEOF
15125
15126
15127
15128# Sanity check long long for some platforms (AIX)
15129if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
15130 ac_cv_sizeof_long_long_int=0
15131fi
15132
15133# compute LLONG_MIN and LLONG_MAX if we don't know them.
15134if test -z "$have_llong_max" && test -z "$have_long_long_max"; then
15135 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for max value of long long" >&5
15136$as_echo_n "checking for max value of long long... " >&6; }
15137 if test "$cross_compiling" = yes; then :
15138
15139 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
15140$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
15141
15142
15143else
15144 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15145/* end confdefs.h. */
15146
15147#include <stdio.h>
15148/* Why is this so damn hard? */
15149#ifdef __GNUC__
15150# undef __GNUC__
15151#endif
15152#define __USE_ISOC99
15153#include <limits.h>
15154#define DATA "conftest.llminmax"
15155#define my_abs(a) ((a) < 0 ? ((a) * -1) : (a))
15156
15157/*
15158 * printf in libc on some platforms (eg old Tru64) does not understand %lld so
15159 * we do this the hard way.
15160 */
15161static int
15162fprint_ll(FILE *f, long long n)
15163{
15164 unsigned int i;
15165 int l[sizeof(long long) * 8];
15166
15167 if (n < 0)
15168 if (fprintf(f, "-") < 0)
15169 return -1;
15170 for (i = 0; n != 0; i++) {
15171 l[i] = my_abs(n % 10);
15172 n /= 10;
15173 }
15174 do {
15175 if (fprintf(f, "%d", l[--i]) < 0)
15176 return -1;
15177 } while (i != 0);
15178 if (fprintf(f, " ") < 0)
15179 return -1;
15180 return 0;
15181}
15182
15183int
15184main ()
15185{
15186
15187 FILE *f;
15188 long long i, llmin, llmax = 0;
15189
15190 if((f = fopen(DATA,"w")) == NULL)
15191 exit(1);
15192
15193#if defined(LLONG_MIN) && defined(LLONG_MAX)
15194 fprintf(stderr, "Using system header for LLONG_MIN and LLONG_MAX\n");
15195 llmin = LLONG_MIN;
15196 llmax = LLONG_MAX;
15197#else
15198 fprintf(stderr, "Calculating LLONG_MIN and LLONG_MAX\n");
15199 /* This will work on one's complement and two's complement */
15200 for (i = 1; i > llmax; i <<= 1, i++)
15201 llmax = i;
15202 llmin = llmax + 1LL; /* wrap */
15203#endif
15204
15205 /* Sanity check */
15206 if (llmin + 1 < llmin || llmin - 1 < llmin || llmax + 1 > llmax
15207 || llmax - 1 > llmax || llmin == llmax || llmin == 0
15208 || llmax == 0 || llmax < LONG_MAX || llmin > LONG_MIN) {
15209 fprintf(f, "unknown unknown\n");
15210 exit(2);
15211 }
15212
15213 if (fprint_ll(f, llmin) < 0)
15214 exit(3);
15215 if (fprint_ll(f, llmax) < 0)
15216 exit(4);
15217 if (fclose(f) < 0)
15218 exit(5);
15219 exit(0);
15220
15221 ;
15222 return 0;
15223}
15224_ACEOF
15225if ac_fn_c_try_run "$LINENO"; then :
15226
15227 llong_min=`$AWK '{print $1}' conftest.llminmax`
15228 llong_max=`$AWK '{print $2}' conftest.llminmax`
15229
15230 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_max" >&5
15231$as_echo "$llong_max" >&6; }
15232
15233cat >>confdefs.h <<_ACEOF
15234#define LLONG_MAX ${llong_max}LL
15235_ACEOF
15236
15237 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for min value of long long" >&5
15238$as_echo_n "checking for min value of long long... " >&6; }
15239 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_min" >&5
15240$as_echo "$llong_min" >&6; }
15241
15242cat >>confdefs.h <<_ACEOF
15243#define LLONG_MIN ${llong_min}LL
15244_ACEOF
15245
15246
15247else
15248
15249 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
15250$as_echo "not found" >&6; }
15251
15252fi
15253rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
15254 conftest.$ac_objext conftest.beam conftest.$ac_ext
15255fi
15256
15257fi
15258
15259ac_fn_c_check_decl "$LINENO" "UINT32_MAX" "ac_cv_have_decl_UINT32_MAX" "
15260#ifdef HAVE_SYS_LIMITS_H
15261# include <sys/limits.h>
15262#endif
15263#ifdef HAVE_LIMITS_H
15264# include <limits.h>
15265#endif
15266#ifdef HAVE_STDINT_H
15267# include <stdint.h>
15268#endif
15269
15270"
15271if test "x$ac_cv_have_decl_UINT32_MAX" = xyes; then :
15272 ac_have_decl=1
15273else
15274 ac_have_decl=0
15275fi
15276
15277cat >>confdefs.h <<_ACEOF
15278#define HAVE_DECL_UINT32_MAX $ac_have_decl
15279_ACEOF
15280
15281
15282# More checks for data types
15283{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int type" >&5
15284$as_echo_n "checking for u_int type... " >&6; }
15285if ${ac_cv_have_u_int+:} false; then :
15286 $as_echo_n "(cached) " >&6
15287else
15288
15289 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15290/* end confdefs.h. */
15291 #include <sys/types.h>
15292int
15293main ()
15294{
15295 u_int a; a = 1;
15296 ;
15297 return 0;
15298}
15299_ACEOF
15300if ac_fn_c_try_compile "$LINENO"; then :
15301 ac_cv_have_u_int="yes"
15302else
15303 ac_cv_have_u_int="no"
15304
15305fi
15306rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15307
15308fi
15309{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int" >&5
15310$as_echo "$ac_cv_have_u_int" >&6; }
15311if test "x$ac_cv_have_u_int" = "xyes" ; then
15312
15313$as_echo "#define HAVE_U_INT 1" >>confdefs.h
15314
15315 have_u_int=1
15316fi
15317
15318{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types" >&5
15319$as_echo_n "checking for intXX_t types... " >&6; }
15320if ${ac_cv_have_intxx_t+:} false; then :
15321 $as_echo_n "(cached) " >&6
15322else
15323
15324 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15325/* end confdefs.h. */
15326 #include <sys/types.h>
15327int
15328main ()
15329{
15330 int8_t a; int16_t b; int32_t c; a = b = c = 1;
15331 ;
15332 return 0;
15333}
15334_ACEOF
15335if ac_fn_c_try_compile "$LINENO"; then :
15336 ac_cv_have_intxx_t="yes"
15337else
15338 ac_cv_have_intxx_t="no"
15339
15340fi
15341rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15342
15343fi
15344{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_intxx_t" >&5
15345$as_echo "$ac_cv_have_intxx_t" >&6; }
15346if test "x$ac_cv_have_intxx_t" = "xyes" ; then
15347
15348$as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
15349
15350 have_intxx_t=1
15351fi
15352
15353if (test -z "$have_intxx_t" && \
15354 test "x$ac_cv_header_stdint_h" = "xyes")
15355then
15356 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types in stdint.h" >&5
15357$as_echo_n "checking for intXX_t types in stdint.h... " >&6; }
15358 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15359/* end confdefs.h. */
15360 #include <stdint.h>
15361int
15362main ()
15363{
15364 int8_t a; int16_t b; int32_t c; a = b = c = 1;
15365 ;
15366 return 0;
15367}
15368_ACEOF
15369if ac_fn_c_try_compile "$LINENO"; then :
15370
15371 $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
15372
15373 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15374$as_echo "yes" >&6; }
15375
15376else
15377 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15378$as_echo "no" >&6; }
15379
15380fi
15381rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15382fi
15383
15384{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for int64_t type" >&5
15385$as_echo_n "checking for int64_t type... " >&6; }
15386if ${ac_cv_have_int64_t+:} false; then :
15387 $as_echo_n "(cached) " >&6
15388else
15389
15390 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15391/* end confdefs.h. */
15392
15393#include <sys/types.h>
15394#ifdef HAVE_STDINT_H
15395# include <stdint.h>
15396#endif
15397#include <sys/socket.h>
15398#ifdef HAVE_SYS_BITYPES_H
15399# include <sys/bitypes.h>
15400#endif
15401
15402int
15403main ()
15404{
15405
15406int64_t a; a = 1;
15407
15408 ;
15409 return 0;
15410}
15411_ACEOF
15412if ac_fn_c_try_compile "$LINENO"; then :
15413 ac_cv_have_int64_t="yes"
15414else
15415 ac_cv_have_int64_t="no"
15416
15417fi
15418rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15419
15420fi
15421{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_int64_t" >&5
15422$as_echo "$ac_cv_have_int64_t" >&6; }
15423if test "x$ac_cv_have_int64_t" = "xyes" ; then
15424
15425$as_echo "#define HAVE_INT64_T 1" >>confdefs.h
15426
15427fi
15428
15429{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types" >&5
15430$as_echo_n "checking for u_intXX_t types... " >&6; }
15431if ${ac_cv_have_u_intxx_t+:} false; then :
15432 $as_echo_n "(cached) " >&6
15433else
15434
15435 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15436/* end confdefs.h. */
15437 #include <sys/types.h>
15438int
15439main ()
15440{
15441 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
15442 ;
15443 return 0;
15444}
15445_ACEOF
15446if ac_fn_c_try_compile "$LINENO"; then :
15447 ac_cv_have_u_intxx_t="yes"
15448else
15449 ac_cv_have_u_intxx_t="no"
15450
15451fi
15452rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15453
15454fi
15455{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_intxx_t" >&5
15456$as_echo "$ac_cv_have_u_intxx_t" >&6; }
15457if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
15458
15459$as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
15460
15461 have_u_intxx_t=1
15462fi
15463
15464if test -z "$have_u_intxx_t" ; then
15465 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types in sys/socket.h" >&5
15466$as_echo_n "checking for u_intXX_t types in sys/socket.h... " >&6; }
15467 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15468/* end confdefs.h. */
15469 #include <sys/socket.h>
15470int
15471main ()
15472{
15473 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
15474 ;
15475 return 0;
15476}
15477_ACEOF
15478if ac_fn_c_try_compile "$LINENO"; then :
15479
15480 $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
15481
15482 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15483$as_echo "yes" >&6; }
15484
15485else
15486 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15487$as_echo "no" >&6; }
15488
15489fi
15490rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15491fi
15492
15493{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t types" >&5
15494$as_echo_n "checking for u_int64_t types... " >&6; }
15495if ${ac_cv_have_u_int64_t+:} false; then :
15496 $as_echo_n "(cached) " >&6
15497else
15498
15499 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15500/* end confdefs.h. */
15501 #include <sys/types.h>
15502int
15503main ()
15504{
15505 u_int64_t a; a = 1;
15506 ;
15507 return 0;
15508}
15509_ACEOF
15510if ac_fn_c_try_compile "$LINENO"; then :
15511 ac_cv_have_u_int64_t="yes"
15512else
15513 ac_cv_have_u_int64_t="no"
15514
15515fi
15516rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15517
15518fi
15519{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int64_t" >&5
15520$as_echo "$ac_cv_have_u_int64_t" >&6; }
15521if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
15522
15523$as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
15524
15525 have_u_int64_t=1
15526fi
15527
15528if (test -z "$have_u_int64_t" && \
15529 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
15530then
15531 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t type in sys/bitypes.h" >&5
15532$as_echo_n "checking for u_int64_t type in sys/bitypes.h... " >&6; }
15533 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15534/* end confdefs.h. */
15535 #include <sys/bitypes.h>
15536int
15537main ()
15538{
15539 u_int64_t a; a = 1
15540 ;
15541 return 0;
15542}
15543_ACEOF
15544if ac_fn_c_try_compile "$LINENO"; then :
15545
15546 $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
15547
15548 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15549$as_echo "yes" >&6; }
15550
15551else
15552 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15553$as_echo "no" >&6; }
15554
15555fi
15556rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15557fi
15558
15559if test -z "$have_u_intxx_t" ; then
15560 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types" >&5
15561$as_echo_n "checking for uintXX_t types... " >&6; }
15562if ${ac_cv_have_uintxx_t+:} false; then :
15563 $as_echo_n "(cached) " >&6
15564else
15565
15566 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15567/* end confdefs.h. */
15568
15569#include <sys/types.h>
15570
15571int
15572main ()
15573{
15574
15575 uint8_t a;
15576 uint16_t b;
15577 uint32_t c;
15578 a = b = c = 1;
15579
15580 ;
15581 return 0;
15582}
15583_ACEOF
15584if ac_fn_c_try_compile "$LINENO"; then :
15585 ac_cv_have_uintxx_t="yes"
15586else
15587 ac_cv_have_uintxx_t="no"
15588
15589fi
15590rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15591
15592fi
15593{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_uintxx_t" >&5
15594$as_echo "$ac_cv_have_uintxx_t" >&6; }
15595 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
15596
15597$as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15598
15599 fi
15600fi
15601
15602if (test -z "$have_uintxx_t" && \
15603 test "x$ac_cv_header_stdint_h" = "xyes")
15604then
15605 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in stdint.h" >&5
15606$as_echo_n "checking for uintXX_t types in stdint.h... " >&6; }
15607 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15608/* end confdefs.h. */
15609 #include <stdint.h>
15610int
15611main ()
15612{
15613 uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;
15614 ;
15615 return 0;
15616}
15617_ACEOF
15618if ac_fn_c_try_compile "$LINENO"; then :
15619
15620 $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15621
15622 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15623$as_echo "yes" >&6; }
15624
15625else
15626 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15627$as_echo "no" >&6; }
15628
15629fi
15630rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15631fi
15632
15633if (test -z "$have_uintxx_t" && \
15634 test "x$ac_cv_header_inttypes_h" = "xyes")
15635then
15636 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in inttypes.h" >&5
15637$as_echo_n "checking for uintXX_t types in inttypes.h... " >&6; }
15638 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15639/* end confdefs.h. */
15640 #include <inttypes.h>
15641int
15642main ()
15643{
15644 uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;
15645 ;
15646 return 0;
15647}
15648_ACEOF
15649if ac_fn_c_try_compile "$LINENO"; then :
15650
15651 $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15652
15653 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15654$as_echo "yes" >&6; }
15655
15656else
15657 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15658$as_echo "no" >&6; }
15659
15660fi
15661rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15662fi
15663
15664if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
15665 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
15666then
15667 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t and u_intXX_t types in sys/bitypes.h" >&5
15668$as_echo_n "checking for intXX_t and u_intXX_t types in sys/bitypes.h... " >&6; }
15669 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15670/* end confdefs.h. */
15671
15672#include <sys/bitypes.h>
15673
15674int
15675main ()
15676{
15677
15678 int8_t a; int16_t b; int32_t c;
15679 u_int8_t e; u_int16_t f; u_int32_t g;
15680 a = b = c = e = f = g = 1;
15681
15682 ;
15683 return 0;
15684}
15685_ACEOF
15686if ac_fn_c_try_compile "$LINENO"; then :
15687
15688 $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
15689
15690 $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
15691
15692 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15693$as_echo "yes" >&6; }
15694
15695else
15696 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15697$as_echo "no" >&6; }
15698
15699fi
15700rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15701fi
15702
15703
15704{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_char" >&5
15705$as_echo_n "checking for u_char... " >&6; }
15706if ${ac_cv_have_u_char+:} false; then :
15707 $as_echo_n "(cached) " >&6
15708else
15709
15710 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15711/* end confdefs.h. */
15712 #include <sys/types.h>
15713int
15714main ()
15715{
15716 u_char foo; foo = 125;
15717 ;
15718 return 0;
15719}
15720_ACEOF
15721if ac_fn_c_try_compile "$LINENO"; then :
15722 ac_cv_have_u_char="yes"
15723else
15724 ac_cv_have_u_char="no"
15725
15726fi
15727rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15728
15729fi
15730{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_char" >&5
15731$as_echo "$ac_cv_have_u_char" >&6; }
15732if test "x$ac_cv_have_u_char" = "xyes" ; then
15733
15734$as_echo "#define HAVE_U_CHAR 1" >>confdefs.h
15735
15736fi
15737
15738ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "
15739#include <sys/types.h>
15740#ifdef HAVE_STDINT_H
15741# include <stdint.h>
15742#endif
15743
15744"
15745if test "x$ac_cv_type_intmax_t" = xyes; then :
15746
15747cat >>confdefs.h <<_ACEOF
15748#define HAVE_INTMAX_T 1
15749_ACEOF
15750
15751
15752fi
15753ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "
15754#include <sys/types.h>
15755#ifdef HAVE_STDINT_H
15756# include <stdint.h>
15757#endif
15758
15759"
15760if test "x$ac_cv_type_uintmax_t" = xyes; then :
15761
15762cat >>confdefs.h <<_ACEOF
15763#define HAVE_UINTMAX_T 1
15764_ACEOF
15765
15766
15767fi
15768
15769
15770
15771 ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h>
15772#include <sys/socket.h>
15773"
15774if test "x$ac_cv_type_socklen_t" = xyes; then :
15775
15776else
15777
15778 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5
15779$as_echo_n "checking for socklen_t equivalent... " >&6; }
15780 if ${curl_cv_socklen_t_equiv+:} false; then :
15781 $as_echo_n "(cached) " >&6
15782else
15783
15784 # Systems have either "struct sockaddr *" or
15785 # "void *" as the second argument to getpeername
15786 curl_cv_socklen_t_equiv=
15787 for arg2 in "struct sockaddr" void; do
15788 for t in int size_t unsigned long "unsigned long"; do
15789 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15790/* end confdefs.h. */
15791
15792 #include <sys/types.h>
15793 #include <sys/socket.h>
15794
15795 int getpeername (int, $arg2 *, $t *);
15796
15797int
15798main ()
15799{
15800
15801 $t len;
15802 getpeername(0,0,&len);
15803
15804 ;
15805 return 0;
15806}
15807_ACEOF
15808if ac_fn_c_try_compile "$LINENO"; then :
15809
15810 curl_cv_socklen_t_equiv="$t"
15811 break
15812
15813fi
15814rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15815 done
15816 done
15817
15818 if test "x$curl_cv_socklen_t_equiv" = x; then
15819 as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5
15820 fi
15821
15822fi
15823
15824 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $curl_cv_socklen_t_equiv" >&5
15825$as_echo "$curl_cv_socklen_t_equiv" >&6; }
15826
15827cat >>confdefs.h <<_ACEOF
15828#define socklen_t $curl_cv_socklen_t_equiv
15829_ACEOF
15830
15831fi
15832
15833
15834
15835ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "#include <signal.h>
15836"
15837if test "x$ac_cv_type_sig_atomic_t" = xyes; then :
15838
15839cat >>confdefs.h <<_ACEOF
15840#define HAVE_SIG_ATOMIC_T 1
15841_ACEOF
15842
15843
15844fi
15845
15846ac_fn_c_check_type "$LINENO" "fsblkcnt_t" "ac_cv_type_fsblkcnt_t" "
15847#include <sys/types.h>
15848#ifdef HAVE_SYS_BITYPES_H
15849#include <sys/bitypes.h>
15850#endif
15851#ifdef HAVE_SYS_STATFS_H
15852#include <sys/statfs.h>
15853#endif
15854#ifdef HAVE_SYS_STATVFS_H
15855#include <sys/statvfs.h>
15856#endif
15857
15858"
15859if test "x$ac_cv_type_fsblkcnt_t" = xyes; then :
15860
15861cat >>confdefs.h <<_ACEOF
15862#define HAVE_FSBLKCNT_T 1
15863_ACEOF
15864
15865
15866fi
15867ac_fn_c_check_type "$LINENO" "fsfilcnt_t" "ac_cv_type_fsfilcnt_t" "
15868#include <sys/types.h>
15869#ifdef HAVE_SYS_BITYPES_H
15870#include <sys/bitypes.h>
15871#endif
15872#ifdef HAVE_SYS_STATFS_H
15873#include <sys/statfs.h>
15874#endif
15875#ifdef HAVE_SYS_STATVFS_H
15876#include <sys/statvfs.h>
15877#endif
15878
15879"
15880if test "x$ac_cv_type_fsfilcnt_t" = xyes; then :
15881
15882cat >>confdefs.h <<_ACEOF
15883#define HAVE_FSFILCNT_T 1
15884_ACEOF
15885
15886
15887fi
15888
15889
15890ac_fn_c_check_member "$LINENO" "struct statfs" "f_files" "ac_cv_member_struct_statfs_f_files" "
15891#include <sys/param.h>
15892#include <sys/types.h>
15893#ifdef HAVE_SYS_BITYPES_H
15894#include <sys/bitypes.h>
15895#endif
15896#ifdef HAVE_SYS_STATFS_H
15897#include <sys/statfs.h>
15898#endif
15899#ifdef HAVE_SYS_STATVFS_H
15900#include <sys/statvfs.h>
15901#endif
15902#ifdef HAVE_SYS_VFS_H
15903#include <sys/vfs.h>
15904#endif
15905#ifdef HAVE_SYS_MOUNT_H
15906#include <sys/mount.h>
15907#endif
15908
15909"
15910if test "x$ac_cv_member_struct_statfs_f_files" = xyes; then :
15911
15912cat >>confdefs.h <<_ACEOF
15913#define HAVE_STRUCT_STATFS_F_FILES 1
15914_ACEOF
15915
15916
15917fi
15918ac_fn_c_check_member "$LINENO" "struct statfs" "f_flags" "ac_cv_member_struct_statfs_f_flags" "
15919#include <sys/param.h>
15920#include <sys/types.h>
15921#ifdef HAVE_SYS_BITYPES_H
15922#include <sys/bitypes.h>
15923#endif
15924#ifdef HAVE_SYS_STATFS_H
15925#include <sys/statfs.h>
15926#endif
15927#ifdef HAVE_SYS_STATVFS_H
15928#include <sys/statvfs.h>
15929#endif
15930#ifdef HAVE_SYS_VFS_H
15931#include <sys/vfs.h>
15932#endif
15933#ifdef HAVE_SYS_MOUNT_H
15934#include <sys/mount.h>
15935#endif
15936
15937"
15938if test "x$ac_cv_member_struct_statfs_f_flags" = xyes; then :
15939
15940cat >>confdefs.h <<_ACEOF
15941#define HAVE_STRUCT_STATFS_F_FLAGS 1
15942_ACEOF
15943
15944
15945fi
15946
15947
15948
15949ac_fn_c_check_type "$LINENO" "in_addr_t" "ac_cv_type_in_addr_t" "#include <sys/types.h>
15950#include <netinet/in.h>
15951"
15952if test "x$ac_cv_type_in_addr_t" = xyes; then :
15953
15954cat >>confdefs.h <<_ACEOF
15955#define HAVE_IN_ADDR_T 1
15956_ACEOF
15957
15958
15959fi
15960ac_fn_c_check_type "$LINENO" "in_port_t" "ac_cv_type_in_port_t" "#include <sys/types.h>
15961#include <netinet/in.h>
15962"
15963if test "x$ac_cv_type_in_port_t" = xyes; then :
15964
15965cat >>confdefs.h <<_ACEOF
15966#define HAVE_IN_PORT_T 1
15967_ACEOF
15968
15969
15970fi
15971
15972
15973{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for size_t" >&5
15974$as_echo_n "checking for size_t... " >&6; }
15975if ${ac_cv_have_size_t+:} false; then :
15976 $as_echo_n "(cached) " >&6
15977else
15978
15979 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15980/* end confdefs.h. */
15981 #include <sys/types.h>
15982int
15983main ()
15984{
15985 size_t foo; foo = 1235;
15986 ;
15987 return 0;
15988}
15989_ACEOF
15990if ac_fn_c_try_compile "$LINENO"; then :
15991 ac_cv_have_size_t="yes"
15992else
15993 ac_cv_have_size_t="no"
15994
15995fi
15996rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15997
15998fi
15999{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_size_t" >&5
16000$as_echo "$ac_cv_have_size_t" >&6; }
16001if test "x$ac_cv_have_size_t" = "xyes" ; then
16002
16003$as_echo "#define HAVE_SIZE_T 1" >>confdefs.h
16004
16005fi
16006
16007{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
16008$as_echo_n "checking for ssize_t... " >&6; }
16009if ${ac_cv_have_ssize_t+:} false; then :
16010 $as_echo_n "(cached) " >&6
16011else
16012
16013 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16014/* end confdefs.h. */
16015 #include <sys/types.h>
16016int
16017main ()
16018{
16019 ssize_t foo; foo = 1235;
16020 ;
16021 return 0;
16022}
16023_ACEOF
16024if ac_fn_c_try_compile "$LINENO"; then :
16025 ac_cv_have_ssize_t="yes"
16026else
16027 ac_cv_have_ssize_t="no"
16028
16029fi
16030rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16031
16032fi
16033{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ssize_t" >&5
16034$as_echo "$ac_cv_have_ssize_t" >&6; }
16035if test "x$ac_cv_have_ssize_t" = "xyes" ; then
16036
16037$as_echo "#define HAVE_SSIZE_T 1" >>confdefs.h
16038
16039fi
16040
16041{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_t" >&5
16042$as_echo_n "checking for clock_t... " >&6; }
16043if ${ac_cv_have_clock_t+:} false; then :
16044 $as_echo_n "(cached) " >&6
16045else
16046
16047 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16048/* end confdefs.h. */
16049 #include <time.h>
16050int
16051main ()
16052{
16053 clock_t foo; foo = 1235;
16054 ;
16055 return 0;
16056}
16057_ACEOF
16058if ac_fn_c_try_compile "$LINENO"; then :
16059 ac_cv_have_clock_t="yes"
16060else
16061 ac_cv_have_clock_t="no"
16062
16063fi
16064rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16065
16066fi
16067{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_clock_t" >&5
16068$as_echo "$ac_cv_have_clock_t" >&6; }
16069if test "x$ac_cv_have_clock_t" = "xyes" ; then
16070
16071$as_echo "#define HAVE_CLOCK_T 1" >>confdefs.h
16072
16073fi
16074
16075{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sa_family_t" >&5
16076$as_echo_n "checking for sa_family_t... " >&6; }
16077if ${ac_cv_have_sa_family_t+:} false; then :
16078 $as_echo_n "(cached) " >&6
16079else
16080
16081 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16082/* end confdefs.h. */
16083
16084#include <sys/types.h>
16085#include <sys/socket.h>
16086
16087int
16088main ()
16089{
16090 sa_family_t foo; foo = 1235;
16091 ;
16092 return 0;
16093}
16094_ACEOF
16095if ac_fn_c_try_compile "$LINENO"; then :
16096 ac_cv_have_sa_family_t="yes"
16097else
16098 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16099/* end confdefs.h. */
16100
16101#include <sys/types.h>
16102#include <sys/socket.h>
16103#include <netinet/in.h>
16104
16105int
16106main ()
16107{
16108 sa_family_t foo; foo = 1235;
16109 ;
16110 return 0;
16111}
16112_ACEOF
16113if ac_fn_c_try_compile "$LINENO"; then :
16114 ac_cv_have_sa_family_t="yes"
16115else
16116 ac_cv_have_sa_family_t="no"
16117
16118fi
16119rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16120
16121fi
16122rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16123
16124fi
16125{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_sa_family_t" >&5
16126$as_echo "$ac_cv_have_sa_family_t" >&6; }
16127if test "x$ac_cv_have_sa_family_t" = "xyes" ; then
16128
16129$as_echo "#define HAVE_SA_FAMILY_T 1" >>confdefs.h
16130
16131fi
16132
16133{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pid_t" >&5
16134$as_echo_n "checking for pid_t... " >&6; }
16135if ${ac_cv_have_pid_t+:} false; then :
16136 $as_echo_n "(cached) " >&6
16137else
16138
16139 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16140/* end confdefs.h. */
16141 #include <sys/types.h>
16142int
16143main ()
16144{
16145 pid_t foo; foo = 1235;
16146 ;
16147 return 0;
16148}
16149_ACEOF
16150if ac_fn_c_try_compile "$LINENO"; then :
16151 ac_cv_have_pid_t="yes"
16152else
16153 ac_cv_have_pid_t="no"
16154
16155fi
16156rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16157
16158fi
16159{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_pid_t" >&5
16160$as_echo "$ac_cv_have_pid_t" >&6; }
16161if test "x$ac_cv_have_pid_t" = "xyes" ; then
16162
16163$as_echo "#define HAVE_PID_T 1" >>confdefs.h
16164
16165fi
16166
16167{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mode_t" >&5
16168$as_echo_n "checking for mode_t... " >&6; }
16169if ${ac_cv_have_mode_t+:} false; then :
16170 $as_echo_n "(cached) " >&6
16171else
16172
16173 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16174/* end confdefs.h. */
16175 #include <sys/types.h>
16176int
16177main ()
16178{
16179 mode_t foo; foo = 1235;
16180 ;
16181 return 0;
16182}
16183_ACEOF
16184if ac_fn_c_try_compile "$LINENO"; then :
16185 ac_cv_have_mode_t="yes"
16186else
16187 ac_cv_have_mode_t="no"
16188
16189fi
16190rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16191
16192fi
16193{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_mode_t" >&5
16194$as_echo "$ac_cv_have_mode_t" >&6; }
16195if test "x$ac_cv_have_mode_t" = "xyes" ; then
16196
16197$as_echo "#define HAVE_MODE_T 1" >>confdefs.h
16198
16199fi
16200
16201
16202{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_storage" >&5
16203$as_echo_n "checking for struct sockaddr_storage... " >&6; }
16204if ${ac_cv_have_struct_sockaddr_storage+:} false; then :
16205 $as_echo_n "(cached) " >&6
16206else
16207
16208 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16209/* end confdefs.h. */
16210
16211#include <sys/types.h>
16212#include <sys/socket.h>
16213
16214int
16215main ()
16216{
16217 struct sockaddr_storage s;
16218 ;
16219 return 0;
16220}
16221_ACEOF
16222if ac_fn_c_try_compile "$LINENO"; then :
16223 ac_cv_have_struct_sockaddr_storage="yes"
16224else
16225 ac_cv_have_struct_sockaddr_storage="no"
16226
16227fi
16228rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16229
16230fi
16231{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_storage" >&5
16232$as_echo "$ac_cv_have_struct_sockaddr_storage" >&6; }
16233if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then
16234
16235$as_echo "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h
16236
16237fi
16238
16239{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_in6" >&5
16240$as_echo_n "checking for struct sockaddr_in6... " >&6; }
16241if ${ac_cv_have_struct_sockaddr_in6+:} false; then :
16242 $as_echo_n "(cached) " >&6
16243else
16244
16245 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16246/* end confdefs.h. */
16247
16248#include <sys/types.h>
16249#include <netinet/in.h>
16250
16251int
16252main ()
16253{
16254 struct sockaddr_in6 s; s.sin6_family = 0;
16255 ;
16256 return 0;
16257}
16258_ACEOF
16259if ac_fn_c_try_compile "$LINENO"; then :
16260 ac_cv_have_struct_sockaddr_in6="yes"
16261else
16262 ac_cv_have_struct_sockaddr_in6="no"
16263
16264fi
16265rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16266
16267fi
16268{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_in6" >&5
16269$as_echo "$ac_cv_have_struct_sockaddr_in6" >&6; }
16270if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then
16271
16272$as_echo "#define HAVE_STRUCT_SOCKADDR_IN6 1" >>confdefs.h
16273
16274fi
16275
16276{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct in6_addr" >&5
16277$as_echo_n "checking for struct in6_addr... " >&6; }
16278if ${ac_cv_have_struct_in6_addr+:} false; then :
16279 $as_echo_n "(cached) " >&6
16280else
16281
16282 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16283/* end confdefs.h. */
16284
16285#include <sys/types.h>
16286#include <netinet/in.h>
16287
16288int
16289main ()
16290{
16291 struct in6_addr s; s.s6_addr[0] = 0;
16292 ;
16293 return 0;
16294}
16295_ACEOF
16296if ac_fn_c_try_compile "$LINENO"; then :
16297 ac_cv_have_struct_in6_addr="yes"
16298else
16299 ac_cv_have_struct_in6_addr="no"
16300
16301fi
16302rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16303
16304fi
16305{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_in6_addr" >&5
16306$as_echo "$ac_cv_have_struct_in6_addr" >&6; }
16307if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then
16308
16309$as_echo "#define HAVE_STRUCT_IN6_ADDR 1" >>confdefs.h
16310
16311
16312 ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_scope_id" "ac_cv_member_struct_sockaddr_in6_sin6_scope_id" "
16313#ifdef HAVE_SYS_TYPES_H
16314#include <sys/types.h>
16315#endif
16316#include <netinet/in.h>
16317
16318"
16319if test "x$ac_cv_member_struct_sockaddr_in6_sin6_scope_id" = xyes; then :
16320
16321cat >>confdefs.h <<_ACEOF
16322#define HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1
16323_ACEOF
16324
16325
16326fi
16327
16328fi
16329
16330{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct addrinfo" >&5
16331$as_echo_n "checking for struct addrinfo... " >&6; }
16332if ${ac_cv_have_struct_addrinfo+:} false; then :
16333 $as_echo_n "(cached) " >&6
16334else
16335
16336 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16337/* end confdefs.h. */
16338
16339#include <sys/types.h>
16340#include <sys/socket.h>
16341#include <netdb.h>
16342
16343int
16344main ()
16345{
16346 struct addrinfo s; s.ai_flags = AI_PASSIVE;
16347 ;
16348 return 0;
16349}
16350_ACEOF
16351if ac_fn_c_try_compile "$LINENO"; then :
16352 ac_cv_have_struct_addrinfo="yes"
16353else
16354 ac_cv_have_struct_addrinfo="no"
16355
16356fi
16357rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16358
16359fi
16360{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_addrinfo" >&5
16361$as_echo "$ac_cv_have_struct_addrinfo" >&6; }
16362if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then
16363
16364$as_echo "#define HAVE_STRUCT_ADDRINFO 1" >>confdefs.h
16365
16366fi
16367
16368{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
16369$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
16370if ${ac_cv_header_time+:} false; then :
16371 $as_echo_n "(cached) " >&6
16372else
16373 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16374/* end confdefs.h. */
16375#include <sys/types.h>
16376#include <sys/time.h>
16377#include <time.h>
16378
16379int
16380main ()
16381{
16382if ((struct tm *) 0)
16383return 0;
16384 ;
16385 return 0;
16386}
16387_ACEOF
16388if ac_fn_c_try_compile "$LINENO"; then :
16389 ac_cv_header_time=yes
16390else
16391 ac_cv_header_time=no
16392fi
16393rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16394fi
16395{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
16396$as_echo "$ac_cv_header_time" >&6; }
16397if test $ac_cv_header_time = yes; then
16398
16399$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
16400
16401fi
16402
16403
16404{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5
16405$as_echo_n "checking for struct timeval... " >&6; }
16406if ${ac_cv_have_struct_timeval+:} false; then :
16407 $as_echo_n "(cached) " >&6
16408else
16409
16410 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16411/* end confdefs.h. */
16412 #include <sys/time.h>
16413int
16414main ()
16415{
16416 struct timeval tv; tv.tv_sec = 1;
16417 ;
16418 return 0;
16419}
16420_ACEOF
16421if ac_fn_c_try_compile "$LINENO"; then :
16422 ac_cv_have_struct_timeval="yes"
16423else
16424 ac_cv_have_struct_timeval="no"
16425
16426fi
16427rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16428
16429fi
16430{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_timeval" >&5
16431$as_echo "$ac_cv_have_struct_timeval" >&6; }
16432if test "x$ac_cv_have_struct_timeval" = "xyes" ; then
16433
16434$as_echo "#define HAVE_STRUCT_TIMEVAL 1" >>confdefs.h
16435
16436 have_struct_timeval=1
16437fi
16438
16439{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec" >&5
16440$as_echo_n "checking for struct timespec... " >&6; }
16441if ${ac_cv_have_struct_timespec+:} false; then :
16442 $as_echo_n "(cached) " >&6
16443else
16444
16445 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16446/* end confdefs.h. */
16447
16448 #ifdef TIME_WITH_SYS_TIME
16449 # include <sys/time.h>
16450 # include <time.h>
16451 #else
16452 # ifdef HAVE_SYS_TIME_H
16453 # include <sys/time.h>
16454 # else
16455 # include <time.h>
16456 # endif
16457 #endif
16458
16459int
16460main ()
16461{
16462 struct timespec ts; ts.tv_sec = 1;
16463 ;
16464 return 0;
16465}
16466_ACEOF
16467if ac_fn_c_try_compile "$LINENO"; then :
16468 ac_cv_have_struct_timespec="yes"
16469else
16470 ac_cv_have_struct_timespec="no"
16471
16472fi
16473rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16474
16475fi
16476{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_timespec" >&5
16477$as_echo "$ac_cv_have_struct_timespec" >&6; }
16478if test "x$ac_cv_have_struct_timespec" = "xyes" ; then
16479
16480$as_echo "#define HAVE_STRUCT_TIMESPEC 1" >>confdefs.h
16481
16482 have_struct_timespec=1
16483fi
16484
16485# We need int64_t or else certain parts of the compile will fail.
16486if test "x$ac_cv_have_int64_t" = "xno" && \
16487 test "x$ac_cv_sizeof_long_int" != "x8" && \
16488 test "x$ac_cv_sizeof_long_long_int" = "x0" ; then
16489 echo "OpenSSH requires int64_t support. Contact your vendor or install"
16490 echo "an alternative compiler (I.E., GCC) before continuing."
16491 echo ""
16492 exit 1;
16493else
16494 if test "$cross_compiling" = yes; then :
16495 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
16496$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
16497
16498else
16499 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16500/* end confdefs.h. */
16501
16502#include <stdio.h>
16503#include <string.h>
16504#ifdef HAVE_SNPRINTF
16505main()
16506{
16507 char buf[50];
16508 char expected_out[50];
16509 int mazsize = 50 ;
16510#if (SIZEOF_LONG_INT == 8)
16511 long int num = 0x7fffffffffffffff;
16512#else
16513 long long num = 0x7fffffffffffffffll;
16514#endif
16515 strcpy(expected_out, "9223372036854775807");
16516 snprintf(buf, mazsize, "%lld", num);
16517 if(strcmp(buf, expected_out) != 0)
16518 exit(1);
16519 exit(0);
16520}
16521#else
16522main() { exit(0); }
16523#endif
16524
16525_ACEOF
16526if ac_fn_c_try_run "$LINENO"; then :
16527 true
16528else
16529 $as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
16530
16531fi
16532rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
16533 conftest.$ac_objext conftest.beam conftest.$ac_ext
16534fi
16535
16536fi
16537
16538
16539# look for field 'ut_host' in header 'utmp.h'
16540 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16541 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host
16542 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmp.h" >&5
16543$as_echo_n "checking for ut_host field in utmp.h... " >&6; }
16544 if eval \${$ossh_varname+:} false; then :
16545 $as_echo_n "(cached) " >&6
16546else
16547
16548 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16549/* end confdefs.h. */
16550#include <utmp.h>
16551
16552_ACEOF
16553if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16554 $EGREP "ut_host" >/dev/null 2>&1; then :
16555 eval "$ossh_varname=yes"
16556else
16557 eval "$ossh_varname=no"
16558fi
16559rm -f conftest*
16560
16561fi
16562
16563 ossh_result=`eval 'echo $'"$ossh_varname"`
16564 if test -n "`echo $ossh_varname`"; then
16565 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16566$as_echo "$ossh_result" >&6; }
16567 if test "x$ossh_result" = "xyes"; then
16568
16569$as_echo "#define HAVE_HOST_IN_UTMP 1" >>confdefs.h
16570
16571 fi
16572 else
16573 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16574$as_echo "no" >&6; }
16575 fi
16576
16577
16578# look for field 'ut_host' in header 'utmpx.h'
16579 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16580 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host
16581 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmpx.h" >&5
16582$as_echo_n "checking for ut_host field in utmpx.h... " >&6; }
16583 if eval \${$ossh_varname+:} false; then :
16584 $as_echo_n "(cached) " >&6
16585else
16586
16587 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16588/* end confdefs.h. */
16589#include <utmpx.h>
16590
16591_ACEOF
16592if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16593 $EGREP "ut_host" >/dev/null 2>&1; then :
16594 eval "$ossh_varname=yes"
16595else
16596 eval "$ossh_varname=no"
16597fi
16598rm -f conftest*
16599
16600fi
16601
16602 ossh_result=`eval 'echo $'"$ossh_varname"`
16603 if test -n "`echo $ossh_varname`"; then
16604 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16605$as_echo "$ossh_result" >&6; }
16606 if test "x$ossh_result" = "xyes"; then
16607
16608$as_echo "#define HAVE_HOST_IN_UTMPX 1" >>confdefs.h
16609
16610 fi
16611 else
16612 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16613$as_echo "no" >&6; }
16614 fi
16615
16616
16617# look for field 'syslen' in header 'utmpx.h'
16618 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16619 ossh_varname="ossh_cv_$ossh_safe""_has_"syslen
16620 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslen field in utmpx.h" >&5
16621$as_echo_n "checking for syslen field in utmpx.h... " >&6; }
16622 if eval \${$ossh_varname+:} false; then :
16623 $as_echo_n "(cached) " >&6
16624else
16625
16626 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16627/* end confdefs.h. */
16628#include <utmpx.h>
16629
16630_ACEOF
16631if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16632 $EGREP "syslen" >/dev/null 2>&1; then :
16633 eval "$ossh_varname=yes"
16634else
16635 eval "$ossh_varname=no"
16636fi
16637rm -f conftest*
16638
16639fi
16640
16641 ossh_result=`eval 'echo $'"$ossh_varname"`
16642 if test -n "`echo $ossh_varname`"; then
16643 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16644$as_echo "$ossh_result" >&6; }
16645 if test "x$ossh_result" = "xyes"; then
16646
16647$as_echo "#define HAVE_SYSLEN_IN_UTMPX 1" >>confdefs.h
16648
16649 fi
16650 else
16651 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16652$as_echo "no" >&6; }
16653 fi
16654
16655
16656# look for field 'ut_pid' in header 'utmp.h'
16657 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16658 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_pid
16659 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_pid field in utmp.h" >&5
16660$as_echo_n "checking for ut_pid field in utmp.h... " >&6; }
16661 if eval \${$ossh_varname+:} false; then :
16662 $as_echo_n "(cached) " >&6
16663else
16664
16665 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16666/* end confdefs.h. */
16667#include <utmp.h>
16668
16669_ACEOF
16670if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16671 $EGREP "ut_pid" >/dev/null 2>&1; then :
16672 eval "$ossh_varname=yes"
16673else
16674 eval "$ossh_varname=no"
16675fi
16676rm -f conftest*
16677
16678fi
16679
16680 ossh_result=`eval 'echo $'"$ossh_varname"`
16681 if test -n "`echo $ossh_varname`"; then
16682 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16683$as_echo "$ossh_result" >&6; }
16684 if test "x$ossh_result" = "xyes"; then
16685
16686$as_echo "#define HAVE_PID_IN_UTMP 1" >>confdefs.h
16687
16688 fi
16689 else
16690 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16691$as_echo "no" >&6; }
16692 fi
16693
16694
16695# look for field 'ut_type' in header 'utmp.h'
16696 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16697 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type
16698 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmp.h" >&5
16699$as_echo_n "checking for ut_type field in utmp.h... " >&6; }
16700 if eval \${$ossh_varname+:} false; then :
16701 $as_echo_n "(cached) " >&6
16702else
16703
16704 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16705/* end confdefs.h. */
16706#include <utmp.h>
16707
16708_ACEOF
16709if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16710 $EGREP "ut_type" >/dev/null 2>&1; then :
16711 eval "$ossh_varname=yes"
16712else
16713 eval "$ossh_varname=no"
16714fi
16715rm -f conftest*
16716
16717fi
16718
16719 ossh_result=`eval 'echo $'"$ossh_varname"`
16720 if test -n "`echo $ossh_varname`"; then
16721 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16722$as_echo "$ossh_result" >&6; }
16723 if test "x$ossh_result" = "xyes"; then
16724
16725$as_echo "#define HAVE_TYPE_IN_UTMP 1" >>confdefs.h
16726
16727 fi
16728 else
16729 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16730$as_echo "no" >&6; }
16731 fi
16732
16733
16734# look for field 'ut_type' in header 'utmpx.h'
16735 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16736 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type
16737 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmpx.h" >&5
16738$as_echo_n "checking for ut_type field in utmpx.h... " >&6; }
16739 if eval \${$ossh_varname+:} false; then :
16740 $as_echo_n "(cached) " >&6
16741else
16742
16743 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16744/* end confdefs.h. */
16745#include <utmpx.h>
16746
16747_ACEOF
16748if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16749 $EGREP "ut_type" >/dev/null 2>&1; then :
16750 eval "$ossh_varname=yes"
16751else
16752 eval "$ossh_varname=no"
16753fi
16754rm -f conftest*
16755
16756fi
16757
16758 ossh_result=`eval 'echo $'"$ossh_varname"`
16759 if test -n "`echo $ossh_varname`"; then
16760 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16761$as_echo "$ossh_result" >&6; }
16762 if test "x$ossh_result" = "xyes"; then
16763
16764$as_echo "#define HAVE_TYPE_IN_UTMPX 1" >>confdefs.h
16765
16766 fi
16767 else
16768 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16769$as_echo "no" >&6; }
16770 fi
16771
16772
16773# look for field 'ut_tv' in header 'utmp.h'
16774 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16775 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv
16776 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmp.h" >&5
16777$as_echo_n "checking for ut_tv field in utmp.h... " >&6; }
16778 if eval \${$ossh_varname+:} false; then :
16779 $as_echo_n "(cached) " >&6
16780else
16781
16782 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16783/* end confdefs.h. */
16784#include <utmp.h>
16785
16786_ACEOF
16787if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16788 $EGREP "ut_tv" >/dev/null 2>&1; then :
16789 eval "$ossh_varname=yes"
16790else
16791 eval "$ossh_varname=no"
16792fi
16793rm -f conftest*
16794
16795fi
16796
16797 ossh_result=`eval 'echo $'"$ossh_varname"`
16798 if test -n "`echo $ossh_varname`"; then
16799 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16800$as_echo "$ossh_result" >&6; }
16801 if test "x$ossh_result" = "xyes"; then
16802
16803$as_echo "#define HAVE_TV_IN_UTMP 1" >>confdefs.h
16804
16805 fi
16806 else
16807 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16808$as_echo "no" >&6; }
16809 fi
16810
16811
16812# look for field 'ut_id' in header 'utmp.h'
16813 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16814 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id
16815 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmp.h" >&5
16816$as_echo_n "checking for ut_id field in utmp.h... " >&6; }
16817 if eval \${$ossh_varname+:} false; then :
16818 $as_echo_n "(cached) " >&6
16819else
16820
16821 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16822/* end confdefs.h. */
16823#include <utmp.h>
16824
16825_ACEOF
16826if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16827 $EGREP "ut_id" >/dev/null 2>&1; then :
16828 eval "$ossh_varname=yes"
16829else
16830 eval "$ossh_varname=no"
16831fi
16832rm -f conftest*
16833
16834fi
16835
16836 ossh_result=`eval 'echo $'"$ossh_varname"`
16837 if test -n "`echo $ossh_varname`"; then
16838 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16839$as_echo "$ossh_result" >&6; }
16840 if test "x$ossh_result" = "xyes"; then
16841
16842$as_echo "#define HAVE_ID_IN_UTMP 1" >>confdefs.h
16843
16844 fi
16845 else
16846 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16847$as_echo "no" >&6; }
16848 fi
16849
16850
16851# look for field 'ut_id' in header 'utmpx.h'
16852 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16853 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id
16854 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmpx.h" >&5
16855$as_echo_n "checking for ut_id field in utmpx.h... " >&6; }
16856 if eval \${$ossh_varname+:} false; then :
16857 $as_echo_n "(cached) " >&6
16858else
16859
16860 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16861/* end confdefs.h. */
16862#include <utmpx.h>
16863
16864_ACEOF
16865if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16866 $EGREP "ut_id" >/dev/null 2>&1; then :
16867 eval "$ossh_varname=yes"
16868else
16869 eval "$ossh_varname=no"
16870fi
16871rm -f conftest*
16872
16873fi
16874
16875 ossh_result=`eval 'echo $'"$ossh_varname"`
16876 if test -n "`echo $ossh_varname`"; then
16877 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16878$as_echo "$ossh_result" >&6; }
16879 if test "x$ossh_result" = "xyes"; then
16880
16881$as_echo "#define HAVE_ID_IN_UTMPX 1" >>confdefs.h
16882
16883 fi
16884 else
16885 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16886$as_echo "no" >&6; }
16887 fi
16888
16889
16890# look for field 'ut_addr' in header 'utmp.h'
16891 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16892 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr
16893 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmp.h" >&5
16894$as_echo_n "checking for ut_addr field in utmp.h... " >&6; }
16895 if eval \${$ossh_varname+:} false; then :
16896 $as_echo_n "(cached) " >&6
16897else
16898
16899 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16900/* end confdefs.h. */
16901#include <utmp.h>
16902
16903_ACEOF
16904if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16905 $EGREP "ut_addr" >/dev/null 2>&1; then :
16906 eval "$ossh_varname=yes"
16907else
16908 eval "$ossh_varname=no"
16909fi
16910rm -f conftest*
16911
16912fi
16913
16914 ossh_result=`eval 'echo $'"$ossh_varname"`
16915 if test -n "`echo $ossh_varname`"; then
16916 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16917$as_echo "$ossh_result" >&6; }
16918 if test "x$ossh_result" = "xyes"; then
16919
16920$as_echo "#define HAVE_ADDR_IN_UTMP 1" >>confdefs.h
16921
16922 fi
16923 else
16924 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16925$as_echo "no" >&6; }
16926 fi
16927
16928
16929# look for field 'ut_addr' in header 'utmpx.h'
16930 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16931 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr
16932 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmpx.h" >&5
16933$as_echo_n "checking for ut_addr field in utmpx.h... " >&6; }
16934 if eval \${$ossh_varname+:} false; then :
16935 $as_echo_n "(cached) " >&6
16936else
16937
16938 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16939/* end confdefs.h. */
16940#include <utmpx.h>
16941
16942_ACEOF
16943if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16944 $EGREP "ut_addr" >/dev/null 2>&1; then :
16945 eval "$ossh_varname=yes"
16946else
16947 eval "$ossh_varname=no"
16948fi
16949rm -f conftest*
16950
16951fi
16952
16953 ossh_result=`eval 'echo $'"$ossh_varname"`
16954 if test -n "`echo $ossh_varname`"; then
16955 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16956$as_echo "$ossh_result" >&6; }
16957 if test "x$ossh_result" = "xyes"; then
16958
16959$as_echo "#define HAVE_ADDR_IN_UTMPX 1" >>confdefs.h
16960
16961 fi
16962 else
16963 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16964$as_echo "no" >&6; }
16965 fi
16966
16967
16968# look for field 'ut_addr_v6' in header 'utmp.h'
16969 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16970 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6
16971 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmp.h" >&5
16972$as_echo_n "checking for ut_addr_v6 field in utmp.h... " >&6; }
16973 if eval \${$ossh_varname+:} false; then :
16974 $as_echo_n "(cached) " >&6
16975else
16976
16977 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16978/* end confdefs.h. */
16979#include <utmp.h>
16980
16981_ACEOF
16982if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16983 $EGREP "ut_addr_v6" >/dev/null 2>&1; then :
16984 eval "$ossh_varname=yes"
16985else
16986 eval "$ossh_varname=no"
16987fi
16988rm -f conftest*
16989
16990fi
16991
16992 ossh_result=`eval 'echo $'"$ossh_varname"`
16993 if test -n "`echo $ossh_varname`"; then
16994 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16995$as_echo "$ossh_result" >&6; }
16996 if test "x$ossh_result" = "xyes"; then
16997
16998$as_echo "#define HAVE_ADDR_V6_IN_UTMP 1" >>confdefs.h
16999
17000 fi
17001 else
17002 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17003$as_echo "no" >&6; }
17004 fi
17005
17006
17007# look for field 'ut_addr_v6' in header 'utmpx.h'
17008 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17009 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6
17010 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmpx.h" >&5
17011$as_echo_n "checking for ut_addr_v6 field in utmpx.h... " >&6; }
17012 if eval \${$ossh_varname+:} false; then :
17013 $as_echo_n "(cached) " >&6
17014else
17015
17016 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17017/* end confdefs.h. */
17018#include <utmpx.h>
17019
17020_ACEOF
17021if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17022 $EGREP "ut_addr_v6" >/dev/null 2>&1; then :
17023 eval "$ossh_varname=yes"
17024else
17025 eval "$ossh_varname=no"
17026fi
17027rm -f conftest*
17028
17029fi
17030
17031 ossh_result=`eval 'echo $'"$ossh_varname"`
17032 if test -n "`echo $ossh_varname`"; then
17033 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17034$as_echo "$ossh_result" >&6; }
17035 if test "x$ossh_result" = "xyes"; then
17036
17037$as_echo "#define HAVE_ADDR_V6_IN_UTMPX 1" >>confdefs.h
17038
17039 fi
17040 else
17041 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17042$as_echo "no" >&6; }
17043 fi
17044
17045
17046# look for field 'ut_exit' in header 'utmp.h'
17047 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
17048 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_exit
17049 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_exit field in utmp.h" >&5
17050$as_echo_n "checking for ut_exit field in utmp.h... " >&6; }
17051 if eval \${$ossh_varname+:} false; then :
17052 $as_echo_n "(cached) " >&6
17053else
17054
17055 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17056/* end confdefs.h. */
17057#include <utmp.h>
17058
17059_ACEOF
17060if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17061 $EGREP "ut_exit" >/dev/null 2>&1; then :
17062 eval "$ossh_varname=yes"
17063else
17064 eval "$ossh_varname=no"
17065fi
17066rm -f conftest*
17067
17068fi
17069
17070 ossh_result=`eval 'echo $'"$ossh_varname"`
17071 if test -n "`echo $ossh_varname`"; then
17072 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17073$as_echo "$ossh_result" >&6; }
17074 if test "x$ossh_result" = "xyes"; then
17075
17076$as_echo "#define HAVE_EXIT_IN_UTMP 1" >>confdefs.h
17077
17078 fi
17079 else
17080 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17081$as_echo "no" >&6; }
17082 fi
17083
17084
17085# look for field 'ut_time' in header 'utmp.h'
17086 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
17087 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time
17088 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmp.h" >&5
17089$as_echo_n "checking for ut_time field in utmp.h... " >&6; }
17090 if eval \${$ossh_varname+:} false; then :
17091 $as_echo_n "(cached) " >&6
17092else
17093
17094 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17095/* end confdefs.h. */
17096#include <utmp.h>
17097
17098_ACEOF
17099if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17100 $EGREP "ut_time" >/dev/null 2>&1; then :
17101 eval "$ossh_varname=yes"
17102else
17103 eval "$ossh_varname=no"
17104fi
17105rm -f conftest*
17106
17107fi
17108
17109 ossh_result=`eval 'echo $'"$ossh_varname"`
17110 if test -n "`echo $ossh_varname`"; then
17111 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17112$as_echo "$ossh_result" >&6; }
17113 if test "x$ossh_result" = "xyes"; then
17114
17115$as_echo "#define HAVE_TIME_IN_UTMP 1" >>confdefs.h
17116
17117 fi
17118 else
17119 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17120$as_echo "no" >&6; }
17121 fi
17122
17123
17124# look for field 'ut_time' in header 'utmpx.h'
17125 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17126 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time
17127 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmpx.h" >&5
17128$as_echo_n "checking for ut_time field in utmpx.h... " >&6; }
17129 if eval \${$ossh_varname+:} false; then :
17130 $as_echo_n "(cached) " >&6
17131else
17132
17133 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17134/* end confdefs.h. */
17135#include <utmpx.h>
17136
17137_ACEOF
17138if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17139 $EGREP "ut_time" >/dev/null 2>&1; then :
17140 eval "$ossh_varname=yes"
17141else
17142 eval "$ossh_varname=no"
17143fi
17144rm -f conftest*
17145
17146fi
17147
17148 ossh_result=`eval 'echo $'"$ossh_varname"`
17149 if test -n "`echo $ossh_varname`"; then
17150 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17151$as_echo "$ossh_result" >&6; }
17152 if test "x$ossh_result" = "xyes"; then
17153
17154$as_echo "#define HAVE_TIME_IN_UTMPX 1" >>confdefs.h
17155
17156 fi
17157 else
17158 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17159$as_echo "no" >&6; }
17160 fi
17161
17162
17163# look for field 'ut_tv' in header 'utmpx.h'
17164 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17165 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv
17166 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmpx.h" >&5
17167$as_echo_n "checking for ut_tv field in utmpx.h... " >&6; }
17168 if eval \${$ossh_varname+:} false; then :
17169 $as_echo_n "(cached) " >&6
17170else
17171
17172 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17173/* end confdefs.h. */
17174#include <utmpx.h>
17175
17176_ACEOF
17177if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17178 $EGREP "ut_tv" >/dev/null 2>&1; then :
17179 eval "$ossh_varname=yes"
17180else
17181 eval "$ossh_varname=no"
17182fi
17183rm -f conftest*
17184
17185fi
17186
17187 ossh_result=`eval 'echo $'"$ossh_varname"`
17188 if test -n "`echo $ossh_varname`"; then
17189 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17190$as_echo "$ossh_result" >&6; }
17191 if test "x$ossh_result" = "xyes"; then
17192
17193$as_echo "#define HAVE_TV_IN_UTMPX 1" >>confdefs.h
17194
17195 fi
17196 else
17197 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17198$as_echo "no" >&6; }
17199 fi
17200
17201
17202ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default"
17203if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
17204
17205cat >>confdefs.h <<_ACEOF
17206#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
17207_ACEOF
17208
17209
17210fi
17211
17212ac_fn_c_check_member "$LINENO" "struct stat" "st_mtim" "ac_cv_member_struct_stat_st_mtim" "$ac_includes_default"
17213if test "x$ac_cv_member_struct_stat_st_mtim" = xyes; then :
17214
17215cat >>confdefs.h <<_ACEOF
17216#define HAVE_STRUCT_STAT_ST_MTIM 1
17217_ACEOF
17218
17219
17220fi
17221
17222ac_fn_c_check_member "$LINENO" "struct stat" "st_mtime" "ac_cv_member_struct_stat_st_mtime" "$ac_includes_default"
17223if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
17224
17225cat >>confdefs.h <<_ACEOF
17226#define HAVE_STRUCT_STAT_ST_MTIME 1
17227_ACEOF
17228
17229
17230fi
17231
17232ac_fn_c_check_member "$LINENO" "struct passwd" "pw_gecos" "ac_cv_member_struct_passwd_pw_gecos" "
17233#include <sys/types.h>
17234#include <pwd.h>
17235
17236"
17237if test "x$ac_cv_member_struct_passwd_pw_gecos" = xyes; then :
17238
17239cat >>confdefs.h <<_ACEOF
17240#define HAVE_STRUCT_PASSWD_PW_GECOS 1
17241_ACEOF
17242
17243
17244fi
17245ac_fn_c_check_member "$LINENO" "struct passwd" "pw_class" "ac_cv_member_struct_passwd_pw_class" "
17246#include <sys/types.h>
17247#include <pwd.h>
17248
17249"
17250if test "x$ac_cv_member_struct_passwd_pw_class" = xyes; then :
17251
17252cat >>confdefs.h <<_ACEOF
17253#define HAVE_STRUCT_PASSWD_PW_CLASS 1
17254_ACEOF
17255
17256
17257fi
17258ac_fn_c_check_member "$LINENO" "struct passwd" "pw_change" "ac_cv_member_struct_passwd_pw_change" "
17259#include <sys/types.h>
17260#include <pwd.h>
17261
17262"
17263if test "x$ac_cv_member_struct_passwd_pw_change" = xyes; then :
17264
17265cat >>confdefs.h <<_ACEOF
17266#define HAVE_STRUCT_PASSWD_PW_CHANGE 1
17267_ACEOF
17268
17269
17270fi
17271ac_fn_c_check_member "$LINENO" "struct passwd" "pw_expire" "ac_cv_member_struct_passwd_pw_expire" "
17272#include <sys/types.h>
17273#include <pwd.h>
17274
17275"
17276if test "x$ac_cv_member_struct_passwd_pw_expire" = xyes; then :
17277
17278cat >>confdefs.h <<_ACEOF
17279#define HAVE_STRUCT_PASSWD_PW_EXPIRE 1
17280_ACEOF
17281
17282
17283fi
17284
17285
17286ac_fn_c_check_member "$LINENO" "struct __res_state" "retrans" "ac_cv_member_struct___res_state_retrans" "
17287#include <stdio.h>
17288#if HAVE_SYS_TYPES_H
17289# include <sys/types.h>
17290#endif
17291#include <netinet/in.h>
17292#include <arpa/nameser.h>
17293#include <resolv.h>
17294
17295"
17296if test "x$ac_cv_member_struct___res_state_retrans" = xyes; then :
17297
17298else
17299
17300$as_echo "#define __res_state state" >>confdefs.h
17301
17302fi
17303
17304
17305{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ss_family field in struct sockaddr_storage" >&5
17306$as_echo_n "checking for ss_family field in struct sockaddr_storage... " >&6; }
17307if ${ac_cv_have_ss_family_in_struct_ss+:} false; then :
17308 $as_echo_n "(cached) " >&6
17309else
17310
17311 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17312/* end confdefs.h. */
17313
17314#include <sys/types.h>
17315#include <sys/socket.h>
17316
17317int
17318main ()
17319{
17320 struct sockaddr_storage s; s.ss_family = 1;
17321 ;
17322 return 0;
17323}
17324_ACEOF
17325if ac_fn_c_try_compile "$LINENO"; then :
17326 ac_cv_have_ss_family_in_struct_ss="yes"
17327else
17328 ac_cv_have_ss_family_in_struct_ss="no"
17329fi
17330rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17331
17332fi
17333{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ss_family_in_struct_ss" >&5
17334$as_echo "$ac_cv_have_ss_family_in_struct_ss" >&6; }
17335if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then
17336
17337$as_echo "#define HAVE_SS_FAMILY_IN_SS 1" >>confdefs.h
17338
17339fi
17340
17341{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __ss_family field in struct sockaddr_storage" >&5
17342$as_echo_n "checking for __ss_family field in struct sockaddr_storage... " >&6; }
17343if ${ac_cv_have___ss_family_in_struct_ss+:} false; then :
17344 $as_echo_n "(cached) " >&6
17345else
17346
17347 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17348/* end confdefs.h. */
17349
17350#include <sys/types.h>
17351#include <sys/socket.h>
17352
17353int
17354main ()
17355{
17356 struct sockaddr_storage s; s.__ss_family = 1;
17357 ;
17358 return 0;
17359}
17360_ACEOF
17361if ac_fn_c_try_compile "$LINENO"; then :
17362 ac_cv_have___ss_family_in_struct_ss="yes"
17363else
17364 ac_cv_have___ss_family_in_struct_ss="no"
17365
17366fi
17367rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17368
17369fi
17370{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___ss_family_in_struct_ss" >&5
17371$as_echo "$ac_cv_have___ss_family_in_struct_ss" >&6; }
17372if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then
17373
17374$as_echo "#define HAVE___SS_FAMILY_IN_SS 1" >>confdefs.h
17375
17376fi
17377
17378{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_accrights field in struct msghdr" >&5
17379$as_echo_n "checking for msg_accrights field in struct msghdr... " >&6; }
17380if ${ac_cv_have_accrights_in_msghdr+:} false; then :
17381 $as_echo_n "(cached) " >&6
17382else
17383
17384 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17385/* end confdefs.h. */
17386
17387#include <sys/types.h>
17388#include <sys/socket.h>
17389#include <sys/uio.h>
17390
17391int
17392main ()
17393{
17394
17395#ifdef msg_accrights
17396#error "msg_accrights is a macro"
17397exit(1);
17398#endif
17399struct msghdr m;
17400m.msg_accrights = 0;
17401exit(0);
17402
17403 ;
17404 return 0;
17405}
17406_ACEOF
17407if ac_fn_c_try_compile "$LINENO"; then :
17408 ac_cv_have_accrights_in_msghdr="yes"
17409else
17410 ac_cv_have_accrights_in_msghdr="no"
17411
17412fi
17413rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17414
17415fi
17416{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_accrights_in_msghdr" >&5
17417$as_echo "$ac_cv_have_accrights_in_msghdr" >&6; }
17418if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then
17419
17420$as_echo "#define HAVE_ACCRIGHTS_IN_MSGHDR 1" >>confdefs.h
17421
17422fi
17423
17424{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct statvfs.f_fsid is integral type" >&5
17425$as_echo_n "checking if struct statvfs.f_fsid is integral type... " >&6; }
17426cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17427/* end confdefs.h. */
17428
17429#include <sys/param.h>
17430#include <sys/stat.h>
17431#ifdef HAVE_SYS_TIME_H
17432# include <sys/time.h>
17433#endif
17434#ifdef HAVE_SYS_MOUNT_H
17435#include <sys/mount.h>
17436#endif
17437#ifdef HAVE_SYS_STATVFS_H
17438#include <sys/statvfs.h>
17439#endif
17440
17441int
17442main ()
17443{
17444 struct statvfs s; s.f_fsid = 0;
17445 ;
17446 return 0;
17447}
17448_ACEOF
17449if ac_fn_c_try_compile "$LINENO"; then :
17450 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17451$as_echo "yes" >&6; }
17452else
17453 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17454$as_echo "no" >&6; }
17455
17456 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fsid_t has member val" >&5
17457$as_echo_n "checking if fsid_t has member val... " >&6; }
17458 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17459/* end confdefs.h. */
17460
17461#include <sys/types.h>
17462#include <sys/statvfs.h>
17463
17464int
17465main ()
17466{
17467 fsid_t t; t.val[0] = 0;
17468 ;
17469 return 0;
17470}
17471_ACEOF
17472if ac_fn_c_try_compile "$LINENO"; then :
17473 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17474$as_echo "yes" >&6; }
17475
17476$as_echo "#define FSID_HAS_VAL 1" >>confdefs.h
17477
17478else
17479 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17480$as_echo "no" >&6; }
17481fi
17482rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17483
17484 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if f_fsid has member __val" >&5
17485$as_echo_n "checking if f_fsid has member __val... " >&6; }
17486 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17487/* end confdefs.h. */
17488
17489#include <sys/types.h>
17490#include <sys/statvfs.h>
17491
17492int
17493main ()
17494{
17495 fsid_t t; t.__val[0] = 0;
17496 ;
17497 return 0;
17498}
17499_ACEOF
17500if ac_fn_c_try_compile "$LINENO"; then :
17501 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17502$as_echo "yes" >&6; }
17503
17504$as_echo "#define FSID_HAS___VAL 1" >>confdefs.h
17505
17506else
17507 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17508$as_echo "no" >&6; }
17509fi
17510rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17511
17512fi
17513rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17514
17515{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_control field in struct msghdr" >&5
17516$as_echo_n "checking for msg_control field in struct msghdr... " >&6; }
17517if ${ac_cv_have_control_in_msghdr+:} false; then :
17518 $as_echo_n "(cached) " >&6
17519else
17520
17521 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17522/* end confdefs.h. */
17523
17524#include <sys/types.h>
17525#include <sys/socket.h>
17526#include <sys/uio.h>
17527
17528int
17529main ()
17530{
17531
17532#ifdef msg_control
17533#error "msg_control is a macro"
17534exit(1);
17535#endif
17536struct msghdr m;
17537m.msg_control = 0;
17538exit(0);
17539
17540 ;
17541 return 0;
17542}
17543_ACEOF
17544if ac_fn_c_try_compile "$LINENO"; then :
17545 ac_cv_have_control_in_msghdr="yes"
17546else
17547 ac_cv_have_control_in_msghdr="no"
17548
17549fi
17550rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17551
17552fi
17553{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_control_in_msghdr" >&5
17554$as_echo "$ac_cv_have_control_in_msghdr" >&6; }
17555if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then
17556
17557$as_echo "#define HAVE_CONTROL_IN_MSGHDR 1" >>confdefs.h
17558
17559fi
17560
17561{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines __progname" >&5
17562$as_echo_n "checking if libc defines __progname... " >&6; }
17563if ${ac_cv_libc_defines___progname+:} false; then :
17564 $as_echo_n "(cached) " >&6
17565else
17566
17567 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17568/* end confdefs.h. */
17569
17570int
17571main ()
17572{
17573 extern char *__progname; printf("%s", __progname);
17574 ;
17575 return 0;
17576}
17577_ACEOF
17578if ac_fn_c_try_link "$LINENO"; then :
17579 ac_cv_libc_defines___progname="yes"
17580else
17581 ac_cv_libc_defines___progname="no"
17582
17583fi
17584rm -f core conftest.err conftest.$ac_objext \
17585 conftest$ac_exeext conftest.$ac_ext
17586
17587fi
17588{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines___progname" >&5
17589$as_echo "$ac_cv_libc_defines___progname" >&6; }
17590if test "x$ac_cv_libc_defines___progname" = "xyes" ; then
17591
17592$as_echo "#define HAVE___PROGNAME 1" >>confdefs.h
17593
17594fi
17595
17596{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __FUNCTION__" >&5
17597$as_echo_n "checking whether $CC implements __FUNCTION__... " >&6; }
17598if ${ac_cv_cc_implements___FUNCTION__+:} false; then :
17599 $as_echo_n "(cached) " >&6
17600else
17601
17602 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17603/* end confdefs.h. */
17604 #include <stdio.h>
17605int
17606main ()
17607{
17608 printf("%s", __FUNCTION__);
17609 ;
17610 return 0;
17611}
17612_ACEOF
17613if ac_fn_c_try_link "$LINENO"; then :
17614 ac_cv_cc_implements___FUNCTION__="yes"
17615else
17616 ac_cv_cc_implements___FUNCTION__="no"
17617
17618fi
17619rm -f core conftest.err conftest.$ac_objext \
17620 conftest$ac_exeext conftest.$ac_ext
17621
17622fi
17623{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___FUNCTION__" >&5
17624$as_echo "$ac_cv_cc_implements___FUNCTION__" >&6; }
17625if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then
17626
17627$as_echo "#define HAVE___FUNCTION__ 1" >>confdefs.h
17628
17629fi
17630
17631{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __func__" >&5
17632$as_echo_n "checking whether $CC implements __func__... " >&6; }
17633if ${ac_cv_cc_implements___func__+:} false; then :
17634 $as_echo_n "(cached) " >&6
17635else
17636
17637 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17638/* end confdefs.h. */
17639 #include <stdio.h>
17640int
17641main ()
17642{
17643 printf("%s", __func__);
17644 ;
17645 return 0;
17646}
17647_ACEOF
17648if ac_fn_c_try_link "$LINENO"; then :
17649 ac_cv_cc_implements___func__="yes"
17650else
17651 ac_cv_cc_implements___func__="no"
17652
17653fi
17654rm -f core conftest.err conftest.$ac_objext \
17655 conftest$ac_exeext conftest.$ac_ext
17656
17657fi
17658{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___func__" >&5
17659$as_echo "$ac_cv_cc_implements___func__" >&6; }
17660if test "x$ac_cv_cc_implements___func__" = "xyes" ; then
17661
17662$as_echo "#define HAVE___func__ 1" >>confdefs.h
17663
17664fi
17665
17666{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether va_copy exists" >&5
17667$as_echo_n "checking whether va_copy exists... " >&6; }
17668if ${ac_cv_have_va_copy+:} false; then :
17669 $as_echo_n "(cached) " >&6
17670else
17671
17672 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17673/* end confdefs.h. */
17674
17675#include <stdarg.h>
17676va_list x,y;
17677
17678int
17679main ()
17680{
17681 va_copy(x,y);
17682 ;
17683 return 0;
17684}
17685_ACEOF
17686if ac_fn_c_try_link "$LINENO"; then :
17687 ac_cv_have_va_copy="yes"
17688else
17689 ac_cv_have_va_copy="no"
17690
17691fi
17692rm -f core conftest.err conftest.$ac_objext \
17693 conftest$ac_exeext conftest.$ac_ext
17694
17695fi
17696{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_va_copy" >&5
17697$as_echo "$ac_cv_have_va_copy" >&6; }
17698if test "x$ac_cv_have_va_copy" = "xyes" ; then
17699
17700$as_echo "#define HAVE_VA_COPY 1" >>confdefs.h
17701
17702fi
17703
17704{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __va_copy exists" >&5
17705$as_echo_n "checking whether __va_copy exists... " >&6; }
17706if ${ac_cv_have___va_copy+:} false; then :
17707 $as_echo_n "(cached) " >&6
17708else
17709
17710 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17711/* end confdefs.h. */
17712
17713#include <stdarg.h>
17714va_list x,y;
17715
17716int
17717main ()
17718{
17719 __va_copy(x,y);
17720 ;
17721 return 0;
17722}
17723_ACEOF
17724if ac_fn_c_try_link "$LINENO"; then :
17725 ac_cv_have___va_copy="yes"
17726else
17727 ac_cv_have___va_copy="no"
17728
17729fi
17730rm -f core conftest.err conftest.$ac_objext \
17731 conftest$ac_exeext conftest.$ac_ext
17732
17733fi
17734{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___va_copy" >&5
17735$as_echo "$ac_cv_have___va_copy" >&6; }
17736if test "x$ac_cv_have___va_copy" = "xyes" ; then
17737
17738$as_echo "#define HAVE___VA_COPY 1" >>confdefs.h
17739
17740fi
17741
17742{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt has optreset support" >&5
17743$as_echo_n "checking whether getopt has optreset support... " >&6; }
17744if ${ac_cv_have_getopt_optreset+:} false; then :
17745 $as_echo_n "(cached) " >&6
17746else
17747
17748 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17749/* end confdefs.h. */
17750 #include <getopt.h>
17751int
17752main ()
17753{
17754 extern int optreset; optreset = 0;
17755 ;
17756 return 0;
17757}
17758_ACEOF
17759if ac_fn_c_try_link "$LINENO"; then :
17760 ac_cv_have_getopt_optreset="yes"
17761else
17762 ac_cv_have_getopt_optreset="no"
17763
17764fi
17765rm -f core conftest.err conftest.$ac_objext \
17766 conftest$ac_exeext conftest.$ac_ext
17767
17768fi
17769{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_getopt_optreset" >&5
17770$as_echo "$ac_cv_have_getopt_optreset" >&6; }
17771if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then
17772
17773$as_echo "#define HAVE_GETOPT_OPTRESET 1" >>confdefs.h
17774
17775fi
17776
17777{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_errlist" >&5
17778$as_echo_n "checking if libc defines sys_errlist... " >&6; }
17779if ${ac_cv_libc_defines_sys_errlist+:} false; then :
17780 $as_echo_n "(cached) " >&6
17781else
17782
17783 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17784/* end confdefs.h. */
17785
17786int
17787main ()
17788{
17789 extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);
17790 ;
17791 return 0;
17792}
17793_ACEOF
17794if ac_fn_c_try_link "$LINENO"; then :
17795 ac_cv_libc_defines_sys_errlist="yes"
17796else
17797 ac_cv_libc_defines_sys_errlist="no"
17798
17799fi
17800rm -f core conftest.err conftest.$ac_objext \
17801 conftest$ac_exeext conftest.$ac_ext
17802
17803fi
17804{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_errlist" >&5
17805$as_echo "$ac_cv_libc_defines_sys_errlist" >&6; }
17806if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then
17807
17808$as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h
17809
17810fi
17811
17812
17813{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_nerr" >&5
17814$as_echo_n "checking if libc defines sys_nerr... " >&6; }
17815if ${ac_cv_libc_defines_sys_nerr+:} false; then :
17816 $as_echo_n "(cached) " >&6
17817else
17818
17819 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17820/* end confdefs.h. */
17821
17822int
17823main ()
17824{
17825 extern int sys_nerr; printf("%i", sys_nerr);
17826 ;
17827 return 0;
17828}
17829_ACEOF
17830if ac_fn_c_try_link "$LINENO"; then :
17831 ac_cv_libc_defines_sys_nerr="yes"
17832else
17833 ac_cv_libc_defines_sys_nerr="no"
17834
17835fi
17836rm -f core conftest.err conftest.$ac_objext \
17837 conftest$ac_exeext conftest.$ac_ext
17838
17839fi
17840{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_nerr" >&5
17841$as_echo "$ac_cv_libc_defines_sys_nerr" >&6; }
17842if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then
17843
17844$as_echo "#define HAVE_SYS_NERR 1" >>confdefs.h
17845
17846fi
17847
17848# Check libraries needed by DNS fingerprint support
17849{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getrrsetbyname" >&5
17850$as_echo_n "checking for library containing getrrsetbyname... " >&6; }
17851if ${ac_cv_search_getrrsetbyname+:} false; then :
17852 $as_echo_n "(cached) " >&6
17853else
17854 ac_func_search_save_LIBS=$LIBS
17855cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17856/* end confdefs.h. */
17857
17858/* Override any GCC internal prototype to avoid an error.
17859 Use char because int might match the return type of a GCC
17860 builtin and then its argument prototype would still apply. */
17861#ifdef __cplusplus
17862extern "C"
17863#endif
17864char getrrsetbyname ();
17865int
17866main ()
17867{
17868return getrrsetbyname ();
17869 ;
17870 return 0;
17871}
17872_ACEOF
17873for ac_lib in '' resolv; do
17874 if test -z "$ac_lib"; then
17875 ac_res="none required"
17876 else
17877 ac_res=-l$ac_lib
17878 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17879 fi
17880 if ac_fn_c_try_link "$LINENO"; then :
17881 ac_cv_search_getrrsetbyname=$ac_res
17882fi
17883rm -f core conftest.err conftest.$ac_objext \
17884 conftest$ac_exeext
17885 if ${ac_cv_search_getrrsetbyname+:} false; then :
17886 break
17887fi
17888done
17889if ${ac_cv_search_getrrsetbyname+:} false; then :
17890
17891else
17892 ac_cv_search_getrrsetbyname=no
17893fi
17894rm conftest.$ac_ext
17895LIBS=$ac_func_search_save_LIBS
17896fi
17897{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getrrsetbyname" >&5
17898$as_echo "$ac_cv_search_getrrsetbyname" >&6; }
17899ac_res=$ac_cv_search_getrrsetbyname
17900if test "$ac_res" != no; then :
17901 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
17902
17903$as_echo "#define HAVE_GETRRSETBYNAME 1" >>confdefs.h
17904
17905else
17906
17907 # Needed by our getrrsetbyname()
17908 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_query" >&5
17909$as_echo_n "checking for library containing res_query... " >&6; }
17910if ${ac_cv_search_res_query+:} false; then :
17911 $as_echo_n "(cached) " >&6
17912else
17913 ac_func_search_save_LIBS=$LIBS
17914cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17915/* end confdefs.h. */
17916
17917/* Override any GCC internal prototype to avoid an error.
17918 Use char because int might match the return type of a GCC
17919 builtin and then its argument prototype would still apply. */
17920#ifdef __cplusplus
17921extern "C"
17922#endif
17923char res_query ();
17924int
17925main ()
17926{
17927return res_query ();
17928 ;
17929 return 0;
17930}
17931_ACEOF
17932for ac_lib in '' resolv; do
17933 if test -z "$ac_lib"; then
17934 ac_res="none required"
17935 else
17936 ac_res=-l$ac_lib
17937 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17938 fi
17939 if ac_fn_c_try_link "$LINENO"; then :
17940 ac_cv_search_res_query=$ac_res
17941fi
17942rm -f core conftest.err conftest.$ac_objext \
17943 conftest$ac_exeext
17944 if ${ac_cv_search_res_query+:} false; then :
17945 break
17946fi
17947done
17948if ${ac_cv_search_res_query+:} false; then :
17949
17950else
17951 ac_cv_search_res_query=no
17952fi
17953rm conftest.$ac_ext
17954LIBS=$ac_func_search_save_LIBS
17955fi
17956{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_res_query" >&5
17957$as_echo "$ac_cv_search_res_query" >&6; }
17958ac_res=$ac_cv_search_res_query
17959if test "$ac_res" != no; then :
17960 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
17961
17962fi
17963
17964 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
17965$as_echo_n "checking for library containing dn_expand... " >&6; }
17966if ${ac_cv_search_dn_expand+:} false; then :
17967 $as_echo_n "(cached) " >&6
17968else
17969 ac_func_search_save_LIBS=$LIBS
17970cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17971/* end confdefs.h. */
17972
17973/* Override any GCC internal prototype to avoid an error.
17974 Use char because int might match the return type of a GCC
17975 builtin and then its argument prototype would still apply. */
17976#ifdef __cplusplus
17977extern "C"
17978#endif
17979char dn_expand ();
17980int
17981main ()
17982{
17983return dn_expand ();
17984 ;
17985 return 0;
17986}
17987_ACEOF
17988for ac_lib in '' resolv; do
17989 if test -z "$ac_lib"; then
17990 ac_res="none required"
17991 else
17992 ac_res=-l$ac_lib
17993 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17994 fi
17995 if ac_fn_c_try_link "$LINENO"; then :
17996 ac_cv_search_dn_expand=$ac_res
17997fi
17998rm -f core conftest.err conftest.$ac_objext \
17999 conftest$ac_exeext
18000 if ${ac_cv_search_dn_expand+:} false; then :
18001 break
18002fi
18003done
18004if ${ac_cv_search_dn_expand+:} false; then :
18005
18006else
18007 ac_cv_search_dn_expand=no
18008fi
18009rm conftest.$ac_ext
18010LIBS=$ac_func_search_save_LIBS
18011fi
18012{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5
18013$as_echo "$ac_cv_search_dn_expand" >&6; }
18014ac_res=$ac_cv_search_dn_expand
18015if test "$ac_res" != no; then :
18016 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18017
18018fi
18019
18020 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if res_query will link" >&5
18021$as_echo_n "checking if res_query will link... " >&6; }
18022 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18023/* end confdefs.h. */
18024
18025#include <sys/types.h>
18026#include <netinet/in.h>
18027#include <arpa/nameser.h>
18028#include <netdb.h>
18029#include <resolv.h>
18030
18031int
18032main ()
18033{
18034
18035 res_query (0, 0, 0, 0, 0);
18036
18037 ;
18038 return 0;
18039}
18040_ACEOF
18041if ac_fn_c_try_link "$LINENO"; then :
18042 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18043$as_echo "yes" >&6; }
18044else
18045 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18046$as_echo "no" >&6; }
18047 saved_LIBS="$LIBS"
18048 LIBS="$LIBS -lresolv"
18049 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5
18050$as_echo_n "checking for res_query in -lresolv... " >&6; }
18051 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18052/* end confdefs.h. */
18053
18054#include <sys/types.h>
18055#include <netinet/in.h>
18056#include <arpa/nameser.h>
18057#include <netdb.h>
18058#include <resolv.h>
18059
18060int
18061main ()
18062{
18063
18064 res_query (0, 0, 0, 0, 0);
18065
18066 ;
18067 return 0;
18068}
18069_ACEOF
18070if ac_fn_c_try_link "$LINENO"; then :
18071 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18072$as_echo "yes" >&6; }
18073else
18074 LIBS="$saved_LIBS"
18075 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18076$as_echo "no" >&6; }
18077fi
18078rm -f core conftest.err conftest.$ac_objext \
18079 conftest$ac_exeext conftest.$ac_ext
18080
18081fi
18082rm -f core conftest.err conftest.$ac_objext \
18083 conftest$ac_exeext conftest.$ac_ext
18084 for ac_func in _getshort _getlong
18085do :
18086 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
18087ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
18088if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
18089 cat >>confdefs.h <<_ACEOF
18090#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
18091_ACEOF
18092
18093fi
18094done
18095
18096 ac_fn_c_check_decl "$LINENO" "_getshort" "ac_cv_have_decl__getshort" "#include <sys/types.h>
18097 #include <arpa/nameser.h>
18098"
18099if test "x$ac_cv_have_decl__getshort" = xyes; then :
18100 ac_have_decl=1
18101else
18102 ac_have_decl=0
18103fi
18104
18105cat >>confdefs.h <<_ACEOF
18106#define HAVE_DECL__GETSHORT $ac_have_decl
18107_ACEOF
18108ac_fn_c_check_decl "$LINENO" "_getlong" "ac_cv_have_decl__getlong" "#include <sys/types.h>
18109 #include <arpa/nameser.h>
18110"
18111if test "x$ac_cv_have_decl__getlong" = xyes; then :
18112 ac_have_decl=1
18113else
18114 ac_have_decl=0
18115fi
18116
18117cat >>confdefs.h <<_ACEOF
18118#define HAVE_DECL__GETLONG $ac_have_decl
18119_ACEOF
18120
18121 ac_fn_c_check_member "$LINENO" "HEADER" "ad" "ac_cv_member_HEADER_ad" "#include <arpa/nameser.h>
18122"
18123if test "x$ac_cv_member_HEADER_ad" = xyes; then :
18124
18125$as_echo "#define HAVE_HEADER_AD 1" >>confdefs.h
18126
18127fi
18128
18129
18130fi
18131
18132
18133{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct __res_state _res is an extern" >&5
18134$as_echo_n "checking if struct __res_state _res is an extern... " >&6; }
18135cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18136/* end confdefs.h. */
18137
18138#include <stdio.h>
18139#if HAVE_SYS_TYPES_H
18140# include <sys/types.h>
18141#endif
18142#include <netinet/in.h>
18143#include <arpa/nameser.h>
18144#include <resolv.h>
18145extern struct __res_state _res;
18146
18147int
18148main ()
18149{
18150
18151struct __res_state *volatile p = &_res; /* force resolution of _res */
18152return 0;
18153
18154 ;
18155 return 0;
18156}
18157_ACEOF
18158if ac_fn_c_try_link "$LINENO"; then :
18159 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18160$as_echo "yes" >&6; }
18161
18162$as_echo "#define HAVE__RES_EXTERN 1" >>confdefs.h
18163
18164
18165else
18166 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18167$as_echo "no" >&6; }
18168
18169fi
18170rm -f core conftest.err conftest.$ac_objext \
18171 conftest$ac_exeext conftest.$ac_ext
18172
18173# Check whether user wants SELinux support
18174SELINUX_MSG="no"
18175LIBSELINUX=""
18176
18177# Check whether --with-selinux was given.
18178if test "${with_selinux+set}" = set; then :
18179 withval=$with_selinux; if test "x$withval" != "xno" ; then
18180 save_LIBS="$LIBS"
18181
18182$as_echo "#define WITH_SELINUX 1" >>confdefs.h
18183
18184 SELINUX_MSG="yes"
18185 ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
18186if test "x$ac_cv_header_selinux_selinux_h" = xyes; then :
18187
18188else
18189 as_fn_error $? "SELinux support requires selinux.h header" "$LINENO" 5
18190fi
18191
18192
18193 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setexeccon in -lselinux" >&5
18194$as_echo_n "checking for setexeccon in -lselinux... " >&6; }
18195if ${ac_cv_lib_selinux_setexeccon+:} false; then :
18196 $as_echo_n "(cached) " >&6
18197else
18198 ac_check_lib_save_LIBS=$LIBS
18199LIBS="-lselinux $LIBS"
18200cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18201/* end confdefs.h. */
18202
18203/* Override any GCC internal prototype to avoid an error.
18204 Use char because int might match the return type of a GCC
18205 builtin and then its argument prototype would still apply. */
18206#ifdef __cplusplus
18207extern "C"
18208#endif
18209char setexeccon ();
18210int
18211main ()
18212{
18213return setexeccon ();
18214 ;
18215 return 0;
18216}
18217_ACEOF
18218if ac_fn_c_try_link "$LINENO"; then :
18219 ac_cv_lib_selinux_setexeccon=yes
18220else
18221 ac_cv_lib_selinux_setexeccon=no
18222fi
18223rm -f core conftest.err conftest.$ac_objext \
18224 conftest$ac_exeext conftest.$ac_ext
18225LIBS=$ac_check_lib_save_LIBS
18226fi
18227{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_setexeccon" >&5
18228$as_echo "$ac_cv_lib_selinux_setexeccon" >&6; }
18229if test "x$ac_cv_lib_selinux_setexeccon" = xyes; then :
18230 LIBSELINUX="-lselinux"
18231 LIBS="$LIBS -lselinux"
18232
18233else
18234 as_fn_error $? "SELinux support requires libselinux library" "$LINENO" 5
18235fi
18236
18237 SSHLIBS="$SSHLIBS $LIBSELINUX"
18238 SSHDLIBS="$SSHDLIBS $LIBSELINUX"
18239 for ac_func in getseuserbyname get_default_context_with_level
18240do :
18241 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
18242ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
18243if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
18244 cat >>confdefs.h <<_ACEOF
18245#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
18246_ACEOF
18247
18248fi
18249done
18250
18251 LIBS="$save_LIBS"
18252 fi
18253
18254fi
18255
18256
18257
18258
18259# Check whether user wants Kerberos 5 support
18260KRB5_MSG="no"
18261
18262# Check whether --with-kerberos5 was given.
18263if test "${with_kerberos5+set}" = set; then :
18264 withval=$with_kerberos5; if test "x$withval" != "xno" ; then
18265 if test "x$withval" = "xyes" ; then
18266 KRB5ROOT="/usr/local"
18267 else
18268 KRB5ROOT=${withval}
18269 fi
18270
18271
18272$as_echo "#define KRB5 1" >>confdefs.h
18273
18274 KRB5_MSG="yes"
18275
18276 if test -n "$ac_tool_prefix"; then
18277 # Extract the first word of "${ac_tool_prefix}krb5-config", so it can be a program name with args.
18278set dummy ${ac_tool_prefix}krb5-config; ac_word=$2
18279{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18280$as_echo_n "checking for $ac_word... " >&6; }
18281if ${ac_cv_path_KRB5CONF+:} false; then :
18282 $as_echo_n "(cached) " >&6
18283else
18284 case $KRB5CONF in
18285 [\\/]* | ?:[\\/]*)
18286 ac_cv_path_KRB5CONF="$KRB5CONF" # Let the user override the test with a path.
18287 ;;
18288 *)
18289 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18290as_dummy="$KRB5ROOT/bin:$PATH"
18291for as_dir in $as_dummy
18292do
18293 IFS=$as_save_IFS
18294 test -z "$as_dir" && as_dir=.
18295 for ac_exec_ext in '' $ac_executable_extensions; do
18296 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18297 ac_cv_path_KRB5CONF="$as_dir/$ac_word$ac_exec_ext"
18298 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18299 break 2
18300 fi
18301done
18302 done
18303IFS=$as_save_IFS
18304
18305 ;;
18306esac
18307fi
18308KRB5CONF=$ac_cv_path_KRB5CONF
18309if test -n "$KRB5CONF"; then
18310 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KRB5CONF" >&5
18311$as_echo "$KRB5CONF" >&6; }
18312else
18313 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18314$as_echo "no" >&6; }
18315fi
18316
18317
18318fi
18319if test -z "$ac_cv_path_KRB5CONF"; then
18320 ac_pt_KRB5CONF=$KRB5CONF
18321 # Extract the first word of "krb5-config", so it can be a program name with args.
18322set dummy krb5-config; ac_word=$2
18323{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18324$as_echo_n "checking for $ac_word... " >&6; }
18325if ${ac_cv_path_ac_pt_KRB5CONF+:} false; then :
18326 $as_echo_n "(cached) " >&6
18327else
18328 case $ac_pt_KRB5CONF in
18329 [\\/]* | ?:[\\/]*)
18330 ac_cv_path_ac_pt_KRB5CONF="$ac_pt_KRB5CONF" # Let the user override the test with a path.
18331 ;;
18332 *)
18333 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18334as_dummy="$KRB5ROOT/bin:$PATH"
18335for as_dir in $as_dummy
18336do
18337 IFS=$as_save_IFS
18338 test -z "$as_dir" && as_dir=.
18339 for ac_exec_ext in '' $ac_executable_extensions; do
18340 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18341 ac_cv_path_ac_pt_KRB5CONF="$as_dir/$ac_word$ac_exec_ext"
18342 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18343 break 2
18344 fi
18345done
18346 done
18347IFS=$as_save_IFS
18348
18349 ;;
18350esac
18351fi
18352ac_pt_KRB5CONF=$ac_cv_path_ac_pt_KRB5CONF
18353if test -n "$ac_pt_KRB5CONF"; then
18354 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_KRB5CONF" >&5
18355$as_echo "$ac_pt_KRB5CONF" >&6; }
18356else
18357 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18358$as_echo "no" >&6; }
18359fi
18360
18361 if test "x$ac_pt_KRB5CONF" = x; then
18362 KRB5CONF="$KRB5ROOT/bin/krb5-config"
18363 else
18364 case $cross_compiling:$ac_tool_warned in
18365yes:)
18366{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
18367$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
18368ac_tool_warned=yes ;;
18369esac
18370 KRB5CONF=$ac_pt_KRB5CONF
18371 fi
18372else
18373 KRB5CONF="$ac_cv_path_KRB5CONF"
18374fi
18375
18376 if test -x $KRB5CONF ; then
18377 K5CFLAGS="`$KRB5CONF --cflags`"
18378 K5LIBS="`$KRB5CONF --libs`"
18379 CPPFLAGS="$CPPFLAGS $K5CFLAGS"
18380
18381 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gssapi support" >&5
18382$as_echo_n "checking for gssapi support... " >&6; }
18383 if $KRB5CONF | grep gssapi >/dev/null ; then
18384 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18385$as_echo "yes" >&6; }
18386
18387$as_echo "#define GSSAPI 1" >>confdefs.h
18388
18389 GSSCFLAGS="`$KRB5CONF --cflags gssapi`"
18390 GSSLIBS="`$KRB5CONF --libs gssapi`"
18391 CPPFLAGS="$CPPFLAGS $GSSCFLAGS"
18392 else
18393 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18394$as_echo "no" >&6; }
18395 fi
18396 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
18397$as_echo_n "checking whether we are using Heimdal... " >&6; }
18398 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18399/* end confdefs.h. */
18400 #include <krb5.h>
18401
18402int
18403main ()
18404{
18405 char *tmp = heimdal_version;
18406 ;
18407 return 0;
18408}
18409_ACEOF
18410if ac_fn_c_try_compile "$LINENO"; then :
18411 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18412$as_echo "yes" >&6; }
18413
18414$as_echo "#define HEIMDAL 1" >>confdefs.h
18415
18416else
18417 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18418$as_echo "no" >&6; }
18419
18420fi
18421rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
18422 else
18423 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include"
18424 LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib"
18425 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
18426$as_echo_n "checking whether we are using Heimdal... " >&6; }
18427 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18428/* end confdefs.h. */
18429 #include <krb5.h>
18430
18431int
18432main ()
18433{
18434 char *tmp = heimdal_version;
18435 ;
18436 return 0;
18437}
18438_ACEOF
18439if ac_fn_c_try_compile "$LINENO"; then :
18440 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18441$as_echo "yes" >&6; }
18442 $as_echo "#define HEIMDAL 1" >>confdefs.h
18443
18444 K5LIBS="-lkrb5"
18445 K5LIBS="$K5LIBS -lcom_err -lasn1"
18446 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for net_write in -lroken" >&5
18447$as_echo_n "checking for net_write in -lroken... " >&6; }
18448if ${ac_cv_lib_roken_net_write+:} false; then :
18449 $as_echo_n "(cached) " >&6
18450else
18451 ac_check_lib_save_LIBS=$LIBS
18452LIBS="-lroken $LIBS"
18453cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18454/* end confdefs.h. */
18455
18456/* Override any GCC internal prototype to avoid an error.
18457 Use char because int might match the return type of a GCC
18458 builtin and then its argument prototype would still apply. */
18459#ifdef __cplusplus
18460extern "C"
18461#endif
18462char net_write ();
18463int
18464main ()
18465{
18466return net_write ();
18467 ;
18468 return 0;
18469}
18470_ACEOF
18471if ac_fn_c_try_link "$LINENO"; then :
18472 ac_cv_lib_roken_net_write=yes
18473else
18474 ac_cv_lib_roken_net_write=no
18475fi
18476rm -f core conftest.err conftest.$ac_objext \
18477 conftest$ac_exeext conftest.$ac_ext
18478LIBS=$ac_check_lib_save_LIBS
18479fi
18480{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_roken_net_write" >&5
18481$as_echo "$ac_cv_lib_roken_net_write" >&6; }
18482if test "x$ac_cv_lib_roken_net_write" = xyes; then :
18483 K5LIBS="$K5LIBS -lroken"
18484fi
18485
18486 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5
18487$as_echo_n "checking for des_cbc_encrypt in -ldes... " >&6; }
18488if ${ac_cv_lib_des_des_cbc_encrypt+:} false; then :
18489 $as_echo_n "(cached) " >&6
18490else
18491 ac_check_lib_save_LIBS=$LIBS
18492LIBS="-ldes $LIBS"
18493cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18494/* end confdefs.h. */
18495
18496/* Override any GCC internal prototype to avoid an error.
18497 Use char because int might match the return type of a GCC
18498 builtin and then its argument prototype would still apply. */
18499#ifdef __cplusplus
18500extern "C"
18501#endif
18502char des_cbc_encrypt ();
18503int
18504main ()
18505{
18506return des_cbc_encrypt ();
18507 ;
18508 return 0;
18509}
18510_ACEOF
18511if ac_fn_c_try_link "$LINENO"; then :
18512 ac_cv_lib_des_des_cbc_encrypt=yes
18513else
18514 ac_cv_lib_des_des_cbc_encrypt=no
18515fi
18516rm -f core conftest.err conftest.$ac_objext \
18517 conftest$ac_exeext conftest.$ac_ext
18518LIBS=$ac_check_lib_save_LIBS
18519fi
18520{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_cbc_encrypt" >&5
18521$as_echo "$ac_cv_lib_des_des_cbc_encrypt" >&6; }
18522if test "x$ac_cv_lib_des_des_cbc_encrypt" = xyes; then :
18523 K5LIBS="$K5LIBS -ldes"
18524fi
18525
18526
18527else
18528 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18529$as_echo "no" >&6; }
18530 K5LIBS="-lkrb5 -lk5crypto -lcom_err"
18531
18532fi
18533rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
18534 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
18535$as_echo_n "checking for library containing dn_expand... " >&6; }
18536if ${ac_cv_search_dn_expand+:} false; then :
18537 $as_echo_n "(cached) " >&6
18538else
18539 ac_func_search_save_LIBS=$LIBS
18540cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18541/* end confdefs.h. */
18542
18543/* Override any GCC internal prototype to avoid an error.
18544 Use char because int might match the return type of a GCC
18545 builtin and then its argument prototype would still apply. */
18546#ifdef __cplusplus
18547extern "C"
18548#endif
18549char dn_expand ();
18550int
18551main ()
18552{
18553return dn_expand ();
18554 ;
18555 return 0;
18556}
18557_ACEOF
18558for ac_lib in '' resolv; do
18559 if test -z "$ac_lib"; then
18560 ac_res="none required"
18561 else
18562 ac_res=-l$ac_lib
18563 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
18564 fi
18565 if ac_fn_c_try_link "$LINENO"; then :
18566 ac_cv_search_dn_expand=$ac_res
18567fi
18568rm -f core conftest.err conftest.$ac_objext \
18569 conftest$ac_exeext
18570 if ${ac_cv_search_dn_expand+:} false; then :
18571 break
18572fi
18573done
18574if ${ac_cv_search_dn_expand+:} false; then :
18575
18576else
18577 ac_cv_search_dn_expand=no
18578fi
18579rm conftest.$ac_ext
18580LIBS=$ac_func_search_save_LIBS
18581fi
18582{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5
18583$as_echo "$ac_cv_search_dn_expand" >&6; }
18584ac_res=$ac_cv_search_dn_expand
18585if test "$ac_res" != no; then :
18586 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18587
18588fi
18589
18590
18591 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi_krb5" >&5
18592$as_echo_n "checking for gss_init_sec_context in -lgssapi_krb5... " >&6; }
18593if ${ac_cv_lib_gssapi_krb5_gss_init_sec_context+:} false; then :
18594 $as_echo_n "(cached) " >&6
18595else
18596 ac_check_lib_save_LIBS=$LIBS
18597LIBS="-lgssapi_krb5 $LIBS"
18598cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18599/* end confdefs.h. */
18600
18601/* Override any GCC internal prototype to avoid an error.
18602 Use char because int might match the return type of a GCC
18603 builtin and then its argument prototype would still apply. */
18604#ifdef __cplusplus
18605extern "C"
18606#endif
18607char gss_init_sec_context ();
18608int
18609main ()
18610{
18611return gss_init_sec_context ();
18612 ;
18613 return 0;
18614}
18615_ACEOF
18616if ac_fn_c_try_link "$LINENO"; then :
18617 ac_cv_lib_gssapi_krb5_gss_init_sec_context=yes
18618else
18619 ac_cv_lib_gssapi_krb5_gss_init_sec_context=no
18620fi
18621rm -f core conftest.err conftest.$ac_objext \
18622 conftest$ac_exeext conftest.$ac_ext
18623LIBS=$ac_check_lib_save_LIBS
18624fi
18625{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&5
18626$as_echo "$ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&6; }
18627if test "x$ac_cv_lib_gssapi_krb5_gss_init_sec_context" = xyes; then :
18628 $as_echo "#define GSSAPI 1" >>confdefs.h
18629
18630 GSSLIBS="-lgssapi_krb5"
18631else
18632 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi" >&5
18633$as_echo_n "checking for gss_init_sec_context in -lgssapi... " >&6; }
18634if ${ac_cv_lib_gssapi_gss_init_sec_context+:} false; then :
18635 $as_echo_n "(cached) " >&6
18636else
18637 ac_check_lib_save_LIBS=$LIBS
18638LIBS="-lgssapi $LIBS"
18639cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18640/* end confdefs.h. */
18641
18642/* Override any GCC internal prototype to avoid an error.
18643 Use char because int might match the return type of a GCC
18644 builtin and then its argument prototype would still apply. */
18645#ifdef __cplusplus
18646extern "C"
18647#endif
18648char gss_init_sec_context ();
18649int
18650main ()
18651{
18652return gss_init_sec_context ();
18653 ;
18654 return 0;
18655}
18656_ACEOF
18657if ac_fn_c_try_link "$LINENO"; then :
18658 ac_cv_lib_gssapi_gss_init_sec_context=yes
18659else
18660 ac_cv_lib_gssapi_gss_init_sec_context=no
18661fi
18662rm -f core conftest.err conftest.$ac_objext \
18663 conftest$ac_exeext conftest.$ac_ext
18664LIBS=$ac_check_lib_save_LIBS
18665fi
18666{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_gss_init_sec_context" >&5
18667$as_echo "$ac_cv_lib_gssapi_gss_init_sec_context" >&6; }
18668if test "x$ac_cv_lib_gssapi_gss_init_sec_context" = xyes; then :
18669 $as_echo "#define GSSAPI 1" >>confdefs.h
18670
18671 GSSLIBS="-lgssapi"
18672else
18673 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgss" >&5
18674$as_echo_n "checking for gss_init_sec_context in -lgss... " >&6; }
18675if ${ac_cv_lib_gss_gss_init_sec_context+:} false; then :
18676 $as_echo_n "(cached) " >&6
18677else
18678 ac_check_lib_save_LIBS=$LIBS
18679LIBS="-lgss $LIBS"
18680cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18681/* end confdefs.h. */
18682
18683/* Override any GCC internal prototype to avoid an error.
18684 Use char because int might match the return type of a GCC
18685 builtin and then its argument prototype would still apply. */
18686#ifdef __cplusplus
18687extern "C"
18688#endif
18689char gss_init_sec_context ();
18690int
18691main ()
18692{
18693return gss_init_sec_context ();
18694 ;
18695 return 0;
18696}
18697_ACEOF
18698if ac_fn_c_try_link "$LINENO"; then :
18699 ac_cv_lib_gss_gss_init_sec_context=yes
18700else
18701 ac_cv_lib_gss_gss_init_sec_context=no
18702fi
18703rm -f core conftest.err conftest.$ac_objext \
18704 conftest$ac_exeext conftest.$ac_ext
18705LIBS=$ac_check_lib_save_LIBS
18706fi
18707{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_gss_init_sec_context" >&5
18708$as_echo "$ac_cv_lib_gss_gss_init_sec_context" >&6; }
18709if test "x$ac_cv_lib_gss_gss_init_sec_context" = xyes; then :
18710 $as_echo "#define GSSAPI 1" >>confdefs.h
18711
18712 GSSLIBS="-lgss"
18713else
18714 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api library - build may fail" >&5
18715$as_echo "$as_me: WARNING: Cannot find any suitable gss-api library - build may fail" >&2;}
18716fi
18717
18718
18719fi
18720
18721
18722fi
18723
18724
18725 ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
18726if test "x$ac_cv_header_gssapi_h" = xyes; then :
18727
18728else
18729 unset ac_cv_header_gssapi_h
18730 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
18731 for ac_header in gssapi.h
18732do :
18733 ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
18734if test "x$ac_cv_header_gssapi_h" = xyes; then :
18735 cat >>confdefs.h <<_ACEOF
18736#define HAVE_GSSAPI_H 1
18737_ACEOF
18738
18739else
18740 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api header - build may fail" >&5
18741$as_echo "$as_me: WARNING: Cannot find any suitable gss-api header - build may fail" >&2;}
18742
18743fi
18744
18745done
18746
18747
18748
18749fi
18750
18751
18752
18753 oldCPP="$CPPFLAGS"
18754 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
18755 ac_fn_c_check_header_mongrel "$LINENO" "gssapi_krb5.h" "ac_cv_header_gssapi_krb5_h" "$ac_includes_default"
18756if test "x$ac_cv_header_gssapi_krb5_h" = xyes; then :
18757
18758else
18759 CPPFLAGS="$oldCPP"
18760fi
18761
18762
18763
18764 fi
18765 if test -n "${rpath_opt}" ; then
18766 LDFLAGS="$LDFLAGS ${rpath_opt}${KRB5ROOT}/lib"
18767 fi
18768 if test ! -z "$blibpath" ; then
18769 blibpath="$blibpath:${KRB5ROOT}/lib"
18770 fi
18771
18772 for ac_header in gssapi.h gssapi/gssapi.h
18773do :
18774 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
18775ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
18776if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
18777 cat >>confdefs.h <<_ACEOF
18778#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
18779_ACEOF
18780
18781fi
18782
18783done
18784
18785 for ac_header in gssapi_krb5.h gssapi/gssapi_krb5.h
18786do :
18787 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
18788ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
18789if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
18790 cat >>confdefs.h <<_ACEOF
18791#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
18792_ACEOF
18793
18794fi
18795
18796done
18797
18798 for ac_header in gssapi_generic.h gssapi/gssapi_generic.h
18799do :
18800 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
18801ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
18802if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
18803 cat >>confdefs.h <<_ACEOF
18804#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
18805_ACEOF
18806
18807fi
18808
18809done
18810
18811
18812 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing k_hasafs" >&5
18813$as_echo_n "checking for library containing k_hasafs... " >&6; }
18814if ${ac_cv_search_k_hasafs+:} false; then :
18815 $as_echo_n "(cached) " >&6
18816else
18817 ac_func_search_save_LIBS=$LIBS
18818cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18819/* end confdefs.h. */
18820
18821/* Override any GCC internal prototype to avoid an error.
18822 Use char because int might match the return type of a GCC
18823 builtin and then its argument prototype would still apply. */
18824#ifdef __cplusplus
18825extern "C"
18826#endif
18827char k_hasafs ();
18828int
18829main ()
18830{
18831return k_hasafs ();
18832 ;
18833 return 0;
18834}
18835_ACEOF
18836for ac_lib in '' kafs; do
18837 if test -z "$ac_lib"; then
18838 ac_res="none required"
18839 else
18840 ac_res=-l$ac_lib
18841 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
18842 fi
18843 if ac_fn_c_try_link "$LINENO"; then :
18844 ac_cv_search_k_hasafs=$ac_res
18845fi
18846rm -f core conftest.err conftest.$ac_objext \
18847 conftest$ac_exeext
18848 if ${ac_cv_search_k_hasafs+:} false; then :
18849 break
18850fi
18851done
18852if ${ac_cv_search_k_hasafs+:} false; then :
18853
18854else
18855 ac_cv_search_k_hasafs=no
18856fi
18857rm conftest.$ac_ext
18858LIBS=$ac_func_search_save_LIBS
18859fi
18860{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_k_hasafs" >&5
18861$as_echo "$ac_cv_search_k_hasafs" >&6; }
18862ac_res=$ac_cv_search_k_hasafs
18863if test "$ac_res" != no; then :
18864 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18865
18866$as_echo "#define USE_AFS 1" >>confdefs.h
18867
18868fi
18869
18870
18871 ac_fn_c_check_decl "$LINENO" "GSS_C_NT_HOSTBASED_SERVICE" "ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" "
18872#ifdef HAVE_GSSAPI_H
18873# include <gssapi.h>
18874#elif defined(HAVE_GSSAPI_GSSAPI_H)
18875# include <gssapi/gssapi.h>
18876#endif
18877
18878#ifdef HAVE_GSSAPI_GENERIC_H
18879# include <gssapi_generic.h>
18880#elif defined(HAVE_GSSAPI_GSSAPI_GENERIC_H)
18881# include <gssapi/gssapi_generic.h>
18882#endif
18883
18884"
18885if test "x$ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" = xyes; then :
18886 ac_have_decl=1
18887else
18888 ac_have_decl=0
18889fi
18890
18891cat >>confdefs.h <<_ACEOF
18892#define HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE $ac_have_decl
18893_ACEOF
18894
18895 saved_LIBS="$LIBS"
18896 LIBS="$LIBS $K5LIBS"
18897 for ac_func in krb5_cc_new_unique krb5_get_error_message krb5_free_error_message
18898do :
18899 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
18900ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
18901if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
18902 cat >>confdefs.h <<_ACEOF
18903#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
18904_ACEOF
18905
18906fi
18907done
18908
18909 LIBS="$saved_LIBS"
18910
18911 fi
18912
18913
18914fi
18915
18916
18917
18918
18919# Looking for programs, paths and files
18920
18921PRIVSEP_PATH=/var/empty
18922
18923# Check whether --with-privsep-path was given.
18924if test "${with_privsep_path+set}" = set; then :
18925 withval=$with_privsep_path;
18926 if test -n "$withval" && test "x$withval" != "xno" && \
18927 test "x${withval}" != "xyes"; then
18928 PRIVSEP_PATH=$withval
18929 fi
18930
18931
18932fi
18933
18934
18935
18936
18937# Check whether --with-xauth was given.
18938if test "${with_xauth+set}" = set; then :
18939 withval=$with_xauth;
18940 if test -n "$withval" && test "x$withval" != "xno" && \
18941 test "x${withval}" != "xyes"; then
18942 xauth_path=$withval
18943 fi
18944
18945else
18946
18947 TestPath="$PATH"
18948 TestPath="${TestPath}${PATH_SEPARATOR}/usr/X/bin"
18949 TestPath="${TestPath}${PATH_SEPARATOR}/usr/bin/X11"
18950 TestPath="${TestPath}${PATH_SEPARATOR}/usr/X11R6/bin"
18951 TestPath="${TestPath}${PATH_SEPARATOR}/usr/openwin/bin"
18952 # Extract the first word of "xauth", so it can be a program name with args.
18953set dummy xauth; ac_word=$2
18954{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18955$as_echo_n "checking for $ac_word... " >&6; }
18956if ${ac_cv_path_xauth_path+:} false; then :
18957 $as_echo_n "(cached) " >&6
18958else
18959 case $xauth_path in
18960 [\\/]* | ?:[\\/]*)
18961 ac_cv_path_xauth_path="$xauth_path" # Let the user override the test with a path.
18962 ;;
18963 *)
18964 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18965for as_dir in $TestPath
18966do
18967 IFS=$as_save_IFS
18968 test -z "$as_dir" && as_dir=.
18969 for ac_exec_ext in '' $ac_executable_extensions; do
18970 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18971 ac_cv_path_xauth_path="$as_dir/$ac_word$ac_exec_ext"
18972 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18973 break 2
18974 fi
18975done
18976 done
18977IFS=$as_save_IFS
18978
18979 ;;
18980esac
18981fi
18982xauth_path=$ac_cv_path_xauth_path
18983if test -n "$xauth_path"; then
18984 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xauth_path" >&5
18985$as_echo "$xauth_path" >&6; }
18986else
18987 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18988$as_echo "no" >&6; }
18989fi
18990
18991
18992 if (test ! -z "$xauth_path" && test -x "/usr/openwin/bin/xauth") ; then
18993 xauth_path="/usr/openwin/bin/xauth"
18994 fi
18995
18996
18997fi
18998
18999
19000STRIP_OPT=-s
19001# Check whether --enable-strip was given.
19002if test "${enable_strip+set}" = set; then :
19003 enableval=$enable_strip;
19004 if test "x$enableval" = "xno" ; then
19005 STRIP_OPT=
19006 fi
19007
19008
19009fi
19010
19011
19012
19013if test -z "$xauth_path" ; then
19014 XAUTH_PATH="undefined"
19015
19016else
19017
19018cat >>confdefs.h <<_ACEOF
19019#define XAUTH_PATH "$xauth_path"
19020_ACEOF
19021
19022 XAUTH_PATH=$xauth_path
19023
19024fi
19025
19026# Check for mail directory
19027
19028# Check whether --with-maildir was given.
19029if test "${with_maildir+set}" = set; then :
19030 withval=$with_maildir;
19031 if test "X$withval" != X && test "x$withval" != xno && \
19032 test "x${withval}" != xyes; then
19033
19034cat >>confdefs.h <<_ACEOF
19035#define MAIL_DIRECTORY "$withval"
19036_ACEOF
19037
19038 fi
19039
19040else
19041
19042 if test "X$maildir" != "X"; then
19043 cat >>confdefs.h <<_ACEOF
19044#define MAIL_DIRECTORY "$maildir"
19045_ACEOF
19046
19047 else
19048 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Discovering system mail directory" >&5
19049$as_echo_n "checking Discovering system mail directory... " >&6; }
19050 if test "$cross_compiling" = yes; then :
19051
19052 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&5
19053$as_echo "$as_me: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&2;}
19054
19055
19056else
19057 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19058/* end confdefs.h. */
19059
19060#include <stdio.h>
19061#include <string.h>
19062#ifdef HAVE_PATHS_H
19063#include <paths.h>
19064#endif
19065#ifdef HAVE_MAILLOCK_H
19066#include <maillock.h>
19067#endif
19068#define DATA "conftest.maildir"
19069
19070int
19071main ()
19072{
19073
19074 FILE *fd;
19075 int rc;
19076
19077 fd = fopen(DATA,"w");
19078 if(fd == NULL)
19079 exit(1);
19080
19081#if defined (_PATH_MAILDIR)
19082 if ((rc = fprintf(fd ,"_PATH_MAILDIR:%s\n", _PATH_MAILDIR)) <0)
19083 exit(1);
19084#elif defined (MAILDIR)
19085 if ((rc = fprintf(fd ,"MAILDIR:%s\n", MAILDIR)) <0)
19086 exit(1);
19087#elif defined (_PATH_MAIL)
19088 if ((rc = fprintf(fd ,"_PATH_MAIL:%s\n", _PATH_MAIL)) <0)
19089 exit(1);
19090#else
19091 exit (2);
19092#endif
19093
19094 exit(0);
19095
19096 ;
19097 return 0;
19098}
19099_ACEOF
19100if ac_fn_c_try_run "$LINENO"; then :
19101
19102 maildir_what=`awk -F: '{print $1}' conftest.maildir`
19103 maildir=`awk -F: '{print $2}' conftest.maildir \
19104 | sed 's|/$||'`
19105 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: $maildir from $maildir_what" >&5
19106$as_echo "Using: $maildir from $maildir_what" >&6; }
19107 if test "x$maildir_what" != "x_PATH_MAILDIR"; then
19108 cat >>confdefs.h <<_ACEOF
19109#define MAIL_DIRECTORY "$maildir"
19110_ACEOF
19111
19112 fi
19113
19114else
19115
19116 if test "X$ac_status" = "X2";then
19117# our test program didn't find it. Default to /var/spool/mail
19118 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: default value of /var/spool/mail" >&5
19119$as_echo "Using: default value of /var/spool/mail" >&6; }
19120 cat >>confdefs.h <<_ACEOF
19121#define MAIL_DIRECTORY "/var/spool/mail"
19122_ACEOF
19123
19124 else
19125 { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** not found ***" >&5
19126$as_echo "*** not found ***" >&6; }
19127 fi
19128
19129fi
19130rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
19131 conftest.$ac_objext conftest.beam conftest.$ac_ext
19132fi
19133
19134 fi
19135
19136
19137fi
19138 # maildir
19139
19140if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then
19141 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptmx test" >&5
19142$as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptmx test" >&2;}
19143 disable_ptmx_check=yes
19144fi
19145if test -z "$no_dev_ptmx" ; then
19146 if test "x$disable_ptmx_check" != "xyes" ; then
19147 as_ac_File=`$as_echo "ac_cv_file_"/dev/ptmx"" | $as_tr_sh`
19148{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptmx\"" >&5
19149$as_echo_n "checking for \"/dev/ptmx\"... " >&6; }
19150if eval \${$as_ac_File+:} false; then :
19151 $as_echo_n "(cached) " >&6
19152else
19153 test "$cross_compiling" = yes &&
19154 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
19155if test -r ""/dev/ptmx""; then
19156 eval "$as_ac_File=yes"
19157else
19158 eval "$as_ac_File=no"
19159fi
19160fi
19161eval ac_res=\$$as_ac_File
19162 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19163$as_echo "$ac_res" >&6; }
19164if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
19165
19166
19167cat >>confdefs.h <<_ACEOF
19168#define HAVE_DEV_PTMX 1
19169_ACEOF
19170
19171 have_dev_ptmx=1
19172
19173
19174fi
19175
19176 fi
19177fi
19178
19179if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then
19180 as_ac_File=`$as_echo "ac_cv_file_"/dev/ptc"" | $as_tr_sh`
19181{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptc\"" >&5
19182$as_echo_n "checking for \"/dev/ptc\"... " >&6; }
19183if eval \${$as_ac_File+:} false; then :
19184 $as_echo_n "(cached) " >&6
19185else
19186 test "$cross_compiling" = yes &&
19187 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
19188if test -r ""/dev/ptc""; then
19189 eval "$as_ac_File=yes"
19190else
19191 eval "$as_ac_File=no"
19192fi
19193fi
19194eval ac_res=\$$as_ac_File
19195 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19196$as_echo "$ac_res" >&6; }
19197if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
19198
19199
19200cat >>confdefs.h <<_ACEOF
19201#define HAVE_DEV_PTS_AND_PTC 1
19202_ACEOF
19203
19204 have_dev_ptc=1
19205
19206
19207fi
19208
19209else
19210 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptc test" >&5
19211$as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptc test" >&2;}
19212fi
19213
19214# Options from here on. Some of these are preset by platform above
19215
19216# Check whether --with-mantype was given.
19217if test "${with_mantype+set}" = set; then :
19218 withval=$with_mantype;
19219 case "$withval" in
19220 man|cat|doc)
19221 MANTYPE=$withval
19222 ;;
19223 *)
19224 as_fn_error $? "invalid man type: $withval" "$LINENO" 5
19225 ;;
19226 esac
19227
19228
19229fi
19230
19231if test -z "$MANTYPE"; then
19232 if ${MANDOC} ${srcdir}/ssh.1 >/dev/null 2>&1; then
19233 MANTYPE=doc
19234 elif ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then
19235 MANTYPE=doc
19236 elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then
19237 MANTYPE=man
19238 else
19239 MANTYPE=cat
19240 fi
19241fi
19242
19243if test "$MANTYPE" = "doc"; then
19244 mansubdir=man;
19245else
19246 mansubdir=$MANTYPE;
19247fi
19248
19249
19250# Check whether to enable MD5 passwords
19251MD5_MSG="no"
19252
19253# Check whether --with-md5-passwords was given.
19254if test "${with_md5_passwords+set}" = set; then :
19255 withval=$with_md5_passwords;
19256 if test "x$withval" != "xno" ; then
19257
19258$as_echo "#define HAVE_MD5_PASSWORDS 1" >>confdefs.h
19259
19260 MD5_MSG="yes"
19261 fi
19262
19263
19264fi
19265
19266
19267# Whether to disable shadow password support
19268
19269# Check whether --with-shadow was given.
19270if test "${with_shadow+set}" = set; then :
19271 withval=$with_shadow;
19272 if test "x$withval" = "xno" ; then
19273 $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
19274
19275 disable_shadow=yes
19276 fi
19277
19278
19279fi
19280
19281
19282if test -z "$disable_shadow" ; then
19283 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the systems has expire shadow information" >&5
19284$as_echo_n "checking if the systems has expire shadow information... " >&6; }
19285 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19286/* end confdefs.h. */
19287
19288#include <sys/types.h>
19289#include <shadow.h>
19290struct spwd sp;
19291
19292int
19293main ()
19294{
19295 sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0;
19296 ;
19297 return 0;
19298}
19299_ACEOF
19300if ac_fn_c_try_compile "$LINENO"; then :
19301 sp_expire_available=yes
19302fi
19303rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19304
19305 if test "x$sp_expire_available" = "xyes" ; then
19306 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19307$as_echo "yes" >&6; }
19308
19309$as_echo "#define HAS_SHADOW_EXPIRE 1" >>confdefs.h
19310
19311 else
19312 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19313$as_echo "no" >&6; }
19314 fi
19315fi
19316
19317# Use ip address instead of hostname in $DISPLAY
19318if test ! -z "$IPADDR_IN_DISPLAY" ; then
19319 DISPLAY_HACK_MSG="yes"
19320
19321$as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h
19322
19323else
19324 DISPLAY_HACK_MSG="no"
19325
19326# Check whether --with-ipaddr-display was given.
19327if test "${with_ipaddr_display+set}" = set; then :
19328 withval=$with_ipaddr_display;
19329 if test "x$withval" != "xno" ; then
19330 $as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h
19331
19332 DISPLAY_HACK_MSG="yes"
19333 fi
19334
19335
19336fi
19337
19338fi
19339
19340# check for /etc/default/login and use it if present.
19341# Check whether --enable-etc-default-login was given.
19342if test "${enable_etc_default_login+set}" = set; then :
19343 enableval=$enable_etc_default_login; if test "x$enableval" = "xno"; then
19344 { $as_echo "$as_me:${as_lineno-$LINENO}: /etc/default/login handling disabled" >&5
19345$as_echo "$as_me: /etc/default/login handling disabled" >&6;}
19346 etc_default_login=no
19347 else
19348 etc_default_login=yes
19349 fi
19350else
19351 if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes";
19352 then
19353 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking /etc/default/login" >&5
19354$as_echo "$as_me: WARNING: cross compiling: not checking /etc/default/login" >&2;}
19355 etc_default_login=no
19356 else
19357 etc_default_login=yes
19358 fi
19359
19360fi
19361
19362
19363if test "x$etc_default_login" != "xno"; then
19364 as_ac_File=`$as_echo "ac_cv_file_"/etc/default/login"" | $as_tr_sh`
19365{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/etc/default/login\"" >&5
19366$as_echo_n "checking for \"/etc/default/login\"... " >&6; }
19367if eval \${$as_ac_File+:} false; then :
19368 $as_echo_n "(cached) " >&6
19369else
19370 test "$cross_compiling" = yes &&
19371 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
19372if test -r ""/etc/default/login""; then
19373 eval "$as_ac_File=yes"
19374else
19375 eval "$as_ac_File=no"
19376fi
19377fi
19378eval ac_res=\$$as_ac_File
19379 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19380$as_echo "$ac_res" >&6; }
19381if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
19382 external_path_file=/etc/default/login
19383fi
19384
19385 if test "x$external_path_file" = "x/etc/default/login"; then
19386
19387$as_echo "#define HAVE_ETC_DEFAULT_LOGIN 1" >>confdefs.h
19388
19389 fi
19390fi
19391
19392if test $ac_cv_func_login_getcapbool = "yes" && \
19393 test $ac_cv_header_login_cap_h = "yes" ; then
19394 external_path_file=/etc/login.conf
19395fi
19396
19397# Whether to mess with the default path
19398SERVER_PATH_MSG="(default)"
19399
19400# Check whether --with-default-path was given.
19401if test "${with_default_path+set}" = set; then :
19402 withval=$with_default_path;
19403 if test "x$external_path_file" = "x/etc/login.conf" ; then
19404 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
19405--with-default-path=PATH has no effect on this system.
19406Edit /etc/login.conf instead." >&5
19407$as_echo "$as_me: WARNING:
19408--with-default-path=PATH has no effect on this system.
19409Edit /etc/login.conf instead." >&2;}
19410 elif test "x$withval" != "xno" ; then
19411 if test ! -z "$external_path_file" ; then
19412 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
19413--with-default-path=PATH will only be used if PATH is not defined in
19414$external_path_file ." >&5
19415$as_echo "$as_me: WARNING:
19416--with-default-path=PATH will only be used if PATH is not defined in
19417$external_path_file ." >&2;}
19418 fi
19419 user_path="$withval"
19420 SERVER_PATH_MSG="$withval"
19421 fi
19422
19423else
19424 if test "x$external_path_file" = "x/etc/login.conf" ; then
19425 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Make sure the path to scp is in /etc/login.conf" >&5
19426$as_echo "$as_me: WARNING: Make sure the path to scp is in /etc/login.conf" >&2;}
19427 else
19428 if test ! -z "$external_path_file" ; then
19429 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
19430If PATH is defined in $external_path_file, ensure the path to scp is included,
19431otherwise scp will not work." >&5
19432$as_echo "$as_me: WARNING:
19433If PATH is defined in $external_path_file, ensure the path to scp is included,
19434otherwise scp will not work." >&2;}
19435 fi
19436 if test "$cross_compiling" = yes; then :
19437 user_path="/usr/bin:/bin:/usr/sbin:/sbin"
19438
19439else
19440 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19441/* end confdefs.h. */
19442
19443/* find out what STDPATH is */
19444#include <stdio.h>
19445#ifdef HAVE_PATHS_H
19446# include <paths.h>
19447#endif
19448#ifndef _PATH_STDPATH
19449# ifdef _PATH_USERPATH /* Irix */
19450# define _PATH_STDPATH _PATH_USERPATH
19451# else
19452# define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin"
19453# endif
19454#endif
19455#include <sys/types.h>
19456#include <sys/stat.h>
19457#include <fcntl.h>
19458#define DATA "conftest.stdpath"
19459
19460int
19461main ()
19462{
19463
19464 FILE *fd;
19465 int rc;
19466
19467 fd = fopen(DATA,"w");
19468 if(fd == NULL)
19469 exit(1);
19470
19471 if ((rc = fprintf(fd,"%s", _PATH_STDPATH)) < 0)
19472 exit(1);
19473
19474 exit(0);
19475
19476 ;
19477 return 0;
19478}
19479_ACEOF
19480if ac_fn_c_try_run "$LINENO"; then :
19481 user_path=`cat conftest.stdpath`
19482else
19483 user_path="/usr/bin:/bin:/usr/sbin:/sbin"
19484fi
19485rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
19486 conftest.$ac_objext conftest.beam conftest.$ac_ext
19487fi
19488
19489# make sure $bindir is in USER_PATH so scp will work
19490 t_bindir="${bindir}"
19491 while echo "${t_bindir}" | egrep '\$\{|NONE/' >/dev/null 2>&1; do
19492 t_bindir=`eval echo ${t_bindir}`
19493 case $t_bindir in
19494 NONE/*) t_bindir=`echo $t_bindir | sed "s~NONE~$prefix~"` ;;
19495 esac
19496 case $t_bindir in
19497 NONE/*) t_bindir=`echo $t_bindir | sed "s~NONE~$ac_default_prefix~"` ;;
19498 esac
19499 done
19500 echo $user_path | grep ":$t_bindir" > /dev/null 2>&1
19501 if test $? -ne 0 ; then
19502 echo $user_path | grep "^$t_bindir" > /dev/null 2>&1
19503 if test $? -ne 0 ; then
19504 user_path=$user_path:$t_bindir
19505 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Adding $t_bindir to USER_PATH so scp will work" >&5
19506$as_echo "Adding $t_bindir to USER_PATH so scp will work" >&6; }
19507 fi
19508 fi
19509 fi
19510
19511fi
19512
19513if test "x$external_path_file" != "x/etc/login.conf" ; then
19514
19515cat >>confdefs.h <<_ACEOF
19516#define USER_PATH "$user_path"
19517_ACEOF
19518
19519
19520fi
19521
19522# Set superuser path separately to user path
19523
19524# Check whether --with-superuser-path was given.
19525if test "${with_superuser_path+set}" = set; then :
19526 withval=$with_superuser_path;
19527 if test -n "$withval" && test "x$withval" != "xno" && \
19528 test "x${withval}" != "xyes"; then
19529
19530cat >>confdefs.h <<_ACEOF
19531#define SUPERUSER_PATH "$withval"
19532_ACEOF
19533
19534 superuser_path=$withval
19535 fi
19536
19537
19538fi
19539
19540
19541
19542{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to convert IPv4 in IPv6-mapped addresses" >&5
19543$as_echo_n "checking if we need to convert IPv4 in IPv6-mapped addresses... " >&6; }
19544IPV4_IN6_HACK_MSG="no"
19545
19546# Check whether --with-4in6 was given.
19547if test "${with_4in6+set}" = set; then :
19548 withval=$with_4in6;
19549 if test "x$withval" != "xno" ; then
19550 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19551$as_echo "yes" >&6; }
19552
19553$as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h
19554
19555 IPV4_IN6_HACK_MSG="yes"
19556 else
19557 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19558$as_echo "no" >&6; }
19559 fi
19560
19561else
19562
19563 if test "x$inet6_default_4in6" = "xyes"; then
19564 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (default)" >&5
19565$as_echo "yes (default)" >&6; }
19566 $as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h
19567
19568 IPV4_IN6_HACK_MSG="yes"
19569 else
19570 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (default)" >&5
19571$as_echo "no (default)" >&6; }
19572 fi
19573
19574
19575fi
19576
19577
19578# Whether to enable BSD auth support
19579BSD_AUTH_MSG=no
19580
19581# Check whether --with-bsd-auth was given.
19582if test "${with_bsd_auth+set}" = set; then :
19583 withval=$with_bsd_auth;
19584 if test "x$withval" != "xno" ; then
19585
19586$as_echo "#define BSD_AUTH 1" >>confdefs.h
19587
19588 BSD_AUTH_MSG=yes
19589 fi
19590
19591
19592fi
19593
19594
19595# Where to place sshd.pid
19596piddir=/var/run
19597# make sure the directory exists
19598if test ! -d $piddir ; then
19599 piddir=`eval echo ${sysconfdir}`
19600 case $piddir in
19601 NONE/*) piddir=`echo $piddir | sed "s~NONE~$ac_default_prefix~"` ;;
19602 esac
19603fi
19604
19605
19606# Check whether --with-pid-dir was given.
19607if test "${with_pid_dir+set}" = set; then :
19608 withval=$with_pid_dir;
19609 if test -n "$withval" && test "x$withval" != "xno" && \
19610 test "x${withval}" != "xyes"; then
19611 piddir=$withval
19612 if test ! -d $piddir ; then
19613 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** no $piddir directory on this system **" >&5
19614$as_echo "$as_me: WARNING: ** no $piddir directory on this system **" >&2;}
19615 fi
19616 fi
19617
19618
19619fi
19620
19621
19622
19623cat >>confdefs.h <<_ACEOF
19624#define _PATH_SSH_PIDDIR "$piddir"
19625_ACEOF
19626
19627
19628
19629# Check whether --enable-lastlog was given.
19630if test "${enable_lastlog+set}" = set; then :
19631 enableval=$enable_lastlog;
19632 if test "x$enableval" = "xno" ; then
19633 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
19634
19635 fi
19636
19637
19638fi
19639
19640# Check whether --enable-utmp was given.
19641if test "${enable_utmp+set}" = set; then :
19642 enableval=$enable_utmp;
19643 if test "x$enableval" = "xno" ; then
19644 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
19645
19646 fi
19647
19648
19649fi
19650
19651# Check whether --enable-utmpx was given.
19652if test "${enable_utmpx+set}" = set; then :
19653 enableval=$enable_utmpx;
19654 if test "x$enableval" = "xno" ; then
19655
19656$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
19657
19658 fi
19659
19660
19661fi
19662
19663# Check whether --enable-wtmp was given.
19664if test "${enable_wtmp+set}" = set; then :
19665 enableval=$enable_wtmp;
19666 if test "x$enableval" = "xno" ; then
19667 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
19668
19669 fi
19670
19671
19672fi
19673
19674# Check whether --enable-wtmpx was given.
19675if test "${enable_wtmpx+set}" = set; then :
19676 enableval=$enable_wtmpx;
19677 if test "x$enableval" = "xno" ; then
19678
19679$as_echo "#define DISABLE_WTMPX 1" >>confdefs.h
19680
19681 fi
19682
19683
19684fi
19685
19686# Check whether --enable-libutil was given.
19687if test "${enable_libutil+set}" = set; then :
19688 enableval=$enable_libutil;
19689 if test "x$enableval" = "xno" ; then
19690 $as_echo "#define DISABLE_LOGIN 1" >>confdefs.h
19691
19692 fi
19693
19694
19695fi
19696
19697# Check whether --enable-pututline was given.
19698if test "${enable_pututline+set}" = set; then :
19699 enableval=$enable_pututline;
19700 if test "x$enableval" = "xno" ; then
19701
19702$as_echo "#define DISABLE_PUTUTLINE 1" >>confdefs.h
19703
19704 fi
19705
19706
19707fi
19708
19709# Check whether --enable-pututxline was given.
19710if test "${enable_pututxline+set}" = set; then :
19711 enableval=$enable_pututxline;
19712 if test "x$enableval" = "xno" ; then
19713
19714$as_echo "#define DISABLE_PUTUTXLINE 1" >>confdefs.h
19715
19716 fi
19717
19718
19719fi
19720
19721
19722# Check whether --with-lastlog was given.
19723if test "${with_lastlog+set}" = set; then :
19724 withval=$with_lastlog;
19725 if test "x$withval" = "xno" ; then
19726 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
19727
19728 elif test -n "$withval" && test "x${withval}" != "xyes"; then
19729 conf_lastlog_location=$withval
19730 fi
19731
19732
19733fi
19734
19735
19736
19737{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines LASTLOG_FILE" >&5
19738$as_echo_n "checking if your system defines LASTLOG_FILE... " >&6; }
19739cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19740/* end confdefs.h. */
19741
19742#include <sys/types.h>
19743#include <utmp.h>
19744#ifdef HAVE_LASTLOG_H
19745# include <lastlog.h>
19746#endif
19747#ifdef HAVE_PATHS_H
19748# include <paths.h>
19749#endif
19750#ifdef HAVE_LOGIN_H
19751# include <login.h>
19752#endif
19753
19754int
19755main ()
19756{
19757 char *lastlog = LASTLOG_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
19767 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19768$as_echo "no" >&6; }
19769 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines _PATH_LASTLOG" >&5
19770$as_echo_n "checking if your system defines _PATH_LASTLOG... " >&6; }
19771 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19772/* end confdefs.h. */
19773
19774#include <sys/types.h>
19775#include <utmp.h>
19776#ifdef HAVE_LASTLOG_H
19777# include <lastlog.h>
19778#endif
19779#ifdef HAVE_PATHS_H
19780# include <paths.h>
19781#endif
19782
19783int
19784main ()
19785{
19786 char *lastlog = _PATH_LASTLOG;
19787 ;
19788 return 0;
19789}
19790_ACEOF
19791if ac_fn_c_try_compile "$LINENO"; then :
19792 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19793$as_echo "yes" >&6; }
19794else
19795
19796 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19797$as_echo "no" >&6; }
19798 system_lastlog_path=no
19799
19800fi
19801rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19802
19803fi
19804rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19805
19806if test -z "$conf_lastlog_location"; then
19807 if test x"$system_lastlog_path" = x"no" ; then
19808 for f in /var/log/lastlog /usr/adm/lastlog /var/adm/lastlog /etc/security/lastlog ; do
19809 if (test -d "$f" || test -f "$f") ; then
19810 conf_lastlog_location=$f
19811 fi
19812 done
19813 if test -z "$conf_lastlog_location"; then
19814 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** Cannot find lastlog **" >&5
19815$as_echo "$as_me: WARNING: ** Cannot find lastlog **" >&2;}
19816 fi
19817 fi
19818fi
19819
19820if test -n "$conf_lastlog_location"; then
19821
19822cat >>confdefs.h <<_ACEOF
19823#define CONF_LASTLOG_FILE "$conf_lastlog_location"
19824_ACEOF
19825
19826fi
19827
19828{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines UTMP_FILE" >&5
19829$as_echo_n "checking if your system defines UTMP_FILE... " >&6; }
19830cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19831/* end confdefs.h. */
19832
19833#include <sys/types.h>
19834#include <utmp.h>
19835#ifdef HAVE_PATHS_H
19836# include <paths.h>
19837#endif
19838
19839int
19840main ()
19841{
19842 char *utmp = UTMP_FILE;
19843 ;
19844 return 0;
19845}
19846_ACEOF
19847if ac_fn_c_try_compile "$LINENO"; then :
19848 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19849$as_echo "yes" >&6; }
19850else
19851 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19852$as_echo "no" >&6; }
19853 system_utmp_path=no
19854
19855fi
19856rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19857if test -z "$conf_utmp_location"; then
19858 if test x"$system_utmp_path" = x"no" ; then
19859 for f in /etc/utmp /usr/adm/utmp /var/run/utmp; do
19860 if test -f $f ; then
19861 conf_utmp_location=$f
19862 fi
19863 done
19864 if test -z "$conf_utmp_location"; then
19865 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
19866
19867 fi
19868 fi
19869fi
19870if test -n "$conf_utmp_location"; then
19871
19872cat >>confdefs.h <<_ACEOF
19873#define CONF_UTMP_FILE "$conf_utmp_location"
19874_ACEOF
19875
19876fi
19877
19878{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMP_FILE" >&5
19879$as_echo_n "checking if your system defines WTMP_FILE... " >&6; }
19880cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19881/* end confdefs.h. */
19882
19883#include <sys/types.h>
19884#include <utmp.h>
19885#ifdef HAVE_PATHS_H
19886# include <paths.h>
19887#endif
19888
19889int
19890main ()
19891{
19892 char *wtmp = WTMP_FILE;
19893 ;
19894 return 0;
19895}
19896_ACEOF
19897if ac_fn_c_try_compile "$LINENO"; then :
19898 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19899$as_echo "yes" >&6; }
19900else
19901 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19902$as_echo "no" >&6; }
19903 system_wtmp_path=no
19904
19905fi
19906rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19907if test -z "$conf_wtmp_location"; then
19908 if test x"$system_wtmp_path" = x"no" ; then
19909 for f in /usr/adm/wtmp /var/log/wtmp; do
19910 if test -f $f ; then
19911 conf_wtmp_location=$f
19912 fi
19913 done
19914 if test -z "$conf_wtmp_location"; then
19915 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
19916
19917 fi
19918 fi
19919fi
19920if test -n "$conf_wtmp_location"; then
19921
19922cat >>confdefs.h <<_ACEOF
19923#define CONF_WTMP_FILE "$conf_wtmp_location"
19924_ACEOF
19925
19926fi
19927
19928{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMPX_FILE" >&5
19929$as_echo_n "checking if your system defines WTMPX_FILE... " >&6; }
19930cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19931/* end confdefs.h. */
19932
19933#include <sys/types.h>
19934#include <utmp.h>
19935#ifdef HAVE_UTMPX_H
19936#include <utmpx.h>
19937#endif
19938#ifdef HAVE_PATHS_H
19939# include <paths.h>
19940#endif
19941
19942int
19943main ()
19944{
19945 char *wtmpx = WTMPX_FILE;
19946 ;
19947 return 0;
19948}
19949_ACEOF
19950if ac_fn_c_try_compile "$LINENO"; then :
19951 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19952$as_echo "yes" >&6; }
19953else
19954 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19955$as_echo "no" >&6; }
19956 system_wtmpx_path=no
19957
19958fi
19959rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19960if test -z "$conf_wtmpx_location"; then
19961 if test x"$system_wtmpx_path" = x"no" ; then
19962 $as_echo "#define DISABLE_WTMPX 1" >>confdefs.h
19963
19964 fi
19965else
19966
19967cat >>confdefs.h <<_ACEOF
19968#define CONF_WTMPX_FILE "$conf_wtmpx_location"
19969_ACEOF
19970
19971fi
19972
19973
19974if test ! -z "$blibpath" ; then
19975 LDFLAGS="$LDFLAGS $blibflags$blibpath"
19976 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&5
19977$as_echo "$as_me: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&2;}
19978fi
19979
19980ac_fn_c_check_member "$LINENO" "struct lastlog" "ll_line" "ac_cv_member_struct_lastlog_ll_line" "
19981#ifdef HAVE_SYS_TYPES_H
19982#include <sys/types.h>
19983#endif
19984#ifdef HAVE_UTMP_H
19985#include <utmp.h>
19986#endif
19987#ifdef HAVE_UTMPX_H
19988#include <utmpx.h>
19989#endif
19990#ifdef HAVE_LASTLOG_H
19991#include <lastlog.h>
19992#endif
19993
19994"
19995if test "x$ac_cv_member_struct_lastlog_ll_line" = xyes; then :
19996
19997else
19998
19999 if test x$SKIP_DISABLE_LASTLOG_DEFINE != "xyes" ; then
20000 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
20001
20002 fi
20003
20004fi
20005
20006
20007ac_fn_c_check_member "$LINENO" "struct utmp" "ut_line" "ac_cv_member_struct_utmp_ut_line" "
20008#ifdef HAVE_SYS_TYPES_H
20009#include <sys/types.h>
20010#endif
20011#ifdef HAVE_UTMP_H
20012#include <utmp.h>
20013#endif
20014#ifdef HAVE_UTMPX_H
20015#include <utmpx.h>
20016#endif
20017#ifdef HAVE_LASTLOG_H
20018#include <lastlog.h>
20019#endif
20020
20021"
20022if test "x$ac_cv_member_struct_utmp_ut_line" = xyes; then :
20023
20024else
20025
20026 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
20027
20028 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
20029
20030
20031fi
20032
20033
20034CFLAGS="$CFLAGS $werror_flags"
20035
20036if test "x$ac_cv_func_getaddrinfo" != "xyes" ; then
20037 TEST_SSH_IPV6=no
20038else
20039 TEST_SSH_IPV6=yes
20040fi
20041ac_fn_c_check_decl "$LINENO" "BROKEN_GETADDRINFO" "ac_cv_have_decl_BROKEN_GETADDRINFO" "$ac_includes_default"
20042if test "x$ac_cv_have_decl_BROKEN_GETADDRINFO" = xyes; then :
20043 TEST_SSH_IPV6=no
20044fi
20045
20046TEST_SSH_IPV6=$TEST_SSH_IPV6
20047
20048TEST_SSH_UTF8=$TEST_SSH_UTF8
20049
20050TEST_MALLOC_OPTIONS=$TEST_MALLOC_OPTIONS
20051
20052UNSUPPORTED_ALGORITHMS=$unsupported_algorithms
20053
20054DEPEND=$(cat $srcdir/.depend)
20055
20056
20057CFLAGS="${CFLAGS} ${CFLAGS_AFTER}"
20058LDFLAGS="${LDFLAGS} ${LDFLAGS_AFTER}"
20059
20060# Make a copy of CFLAGS/LDFLAGS without PIE options.
20061LDFLAGS_NOPIE=`echo "$LDFLAGS" | sed 's/ -pie//'`
20062CFLAGS_NOPIE=`echo "$CFLAGS" | sed 's/ -fPIE//'`
20063
20064
20065
20066
20067ac_config_files="$ac_config_files Makefile buildpkg.sh opensshd.init openssh.xml openbsd-compat/Makefile openbsd-compat/regress/Makefile survey.sh"
20068
20069cat >confcache <<\_ACEOF
20070# This file is a shell script that caches the results of configure
20071# tests run on this system so they can be shared between configure
20072# scripts and configure runs, see configure's option --config-cache.
20073# It is not useful on other systems. If it contains results you don't
20074# want to keep, you may remove or edit it.
20075#
20076# config.status only pays attention to the cache file if you give it
20077# the --recheck option to rerun configure.
20078#
20079# `ac_cv_env_foo' variables (set or unset) will be overridden when
20080# loading this file, other *unset* `ac_cv_foo' will be assigned the
20081# following values.
20082
20083_ACEOF
20084
20085# The following way of writing the cache mishandles newlines in values,
20086# but we know of no workaround that is simple, portable, and efficient.
20087# So, we kill variables containing newlines.
20088# Ultrix sh set writes to stderr and can't be redirected directly,
20089# and sets the high bit in the cache file unless we assign to the vars.
20090(
20091 for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
20092 eval ac_val=\$$ac_var
20093 case $ac_val in #(
20094 *${as_nl}*)
20095 case $ac_var in #(
20096 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
20097$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
20098 esac
20099 case $ac_var in #(
20100 _ | IFS | as_nl) ;; #(
20101 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
20102 *) { eval $ac_var=; unset $ac_var;} ;;
20103 esac ;;
20104 esac
20105 done
20106
20107 (set) 2>&1 |
20108 case $as_nl`(ac_space=' '; set) 2>&1` in #(
20109 *${as_nl}ac_space=\ *)
20110 # `set' does not quote correctly, so add quotes: double-quote
20111 # substitution turns \\\\ into \\, and sed turns \\ into \.
20112 sed -n \
20113 "s/'/'\\\\''/g;
20114 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
20115 ;; #(
20116 *)
20117 # `set' quotes correctly as required by POSIX, so do not add quotes.
20118 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
20119 ;;
20120 esac |
20121 sort
20122) |
20123 sed '
20124 /^ac_cv_env_/b end
20125 t clear
20126 :clear
20127 s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
20128 t end
20129 s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
20130 :end' >>confcache
20131if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
20132 if test -w "$cache_file"; then
20133 if test "x$cache_file" != "x/dev/null"; then
20134 { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
20135$as_echo "$as_me: updating cache $cache_file" >&6;}
20136 if test ! -f "$cache_file" || test -h "$cache_file"; then
20137 cat confcache >"$cache_file"
20138 else
20139 case $cache_file in #(
20140 */* | ?:*)
20141 mv -f confcache "$cache_file"$$ &&
20142 mv -f "$cache_file"$$ "$cache_file" ;; #(
20143 *)
20144 mv -f confcache "$cache_file" ;;
20145 esac
20146 fi
20147 fi
20148 else
20149 { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
20150$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
20151 fi
20152fi
20153rm -f confcache
20154
20155test "x$prefix" = xNONE && prefix=$ac_default_prefix
20156# Let make expand exec_prefix.
20157test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
20158
20159DEFS=-DHAVE_CONFIG_H
20160
20161ac_libobjs=
20162ac_ltlibobjs=
20163U=
20164for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
20165 # 1. Remove the extension, and $U if already installed.
20166 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
20167 ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
20168 # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
20169 # will be set to the directory where LIBOBJS objects are built.
20170 as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
20171 as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
20172done
20173LIBOBJS=$ac_libobjs
20174
20175LTLIBOBJS=$ac_ltlibobjs
20176
20177
20178
20179
20180: "${CONFIG_STATUS=./config.status}"
20181ac_write_fail=0
20182ac_clean_files_save=$ac_clean_files
20183ac_clean_files="$ac_clean_files $CONFIG_STATUS"
20184{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
20185$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
20186as_write_fail=0
20187cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
20188#! $SHELL
20189# Generated by $as_me.
20190# Run this file to recreate the current configuration.
20191# Compiler output produced by configure, useful for debugging
20192# configure, is in config.log if it exists.
20193
20194debug=false
20195ac_cs_recheck=false
20196ac_cs_silent=false
20197
20198SHELL=\${CONFIG_SHELL-$SHELL}
20199export SHELL
20200_ASEOF
20201cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
20202## -------------------- ##
20203## M4sh Initialization. ##
20204## -------------------- ##
20205
20206# Be more Bourne compatible
20207DUALCASE=1; export DUALCASE # for MKS sh
20208if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
20209 emulate sh
20210 NULLCMD=:
20211 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
20212 # is contrary to our usage. Disable this feature.
20213 alias -g '${1+"$@"}'='"$@"'
20214 setopt NO_GLOB_SUBST
20215else
20216 case `(set -o) 2>/dev/null` in #(
20217 *posix*) :
20218 set -o posix ;; #(
20219 *) :
20220 ;;
20221esac
20222fi
20223
20224
20225as_nl='
20226'
20227export as_nl
20228# Printing a long string crashes Solaris 7 /usr/bin/printf.
20229as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
20230as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
20231as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
20232# Prefer a ksh shell builtin over an external printf program on Solaris,
20233# but without wasting forks for bash or zsh.
20234if test -z "$BASH_VERSION$ZSH_VERSION" \
20235 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
20236 as_echo='print -r --'
20237 as_echo_n='print -rn --'
20238elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
20239 as_echo='printf %s\n'
20240 as_echo_n='printf %s'
20241else
20242 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
20243 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
20244 as_echo_n='/usr/ucb/echo -n'
20245 else
20246 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
20247 as_echo_n_body='eval
20248 arg=$1;
20249 case $arg in #(
20250 *"$as_nl"*)
20251 expr "X$arg" : "X\\(.*\\)$as_nl";
20252 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
20253 esac;
20254 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
20255 '
20256 export as_echo_n_body
20257 as_echo_n='sh -c $as_echo_n_body as_echo'
20258 fi
20259 export as_echo_body
20260 as_echo='sh -c $as_echo_body as_echo'
20261fi
20262
20263# The user is always right.
20264if test "${PATH_SEPARATOR+set}" != set; then
20265 PATH_SEPARATOR=:
20266 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
20267 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
20268 PATH_SEPARATOR=';'
20269 }
20270fi
20271
20272
20273# IFS
20274# We need space, tab and new line, in precisely that order. Quoting is
20275# there to prevent editors from complaining about space-tab.
20276# (If _AS_PATH_WALK were called with IFS unset, it would disable word
20277# splitting by setting IFS to empty value.)
20278IFS=" "" $as_nl"
20279
20280# Find who we are. Look in the path if we contain no directory separator.
20281as_myself=
20282case $0 in #((
20283 *[\\/]* ) as_myself=$0 ;;
20284 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20285for as_dir in $PATH
20286do
20287 IFS=$as_save_IFS
20288 test -z "$as_dir" && as_dir=.
20289 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
20290 done
20291IFS=$as_save_IFS
20292
20293 ;;
20294esac
20295# We did not find ourselves, most probably we were run as `sh COMMAND'
20296# in which case we are not to be found in the path.
20297if test "x$as_myself" = x; then
20298 as_myself=$0
20299fi
20300if test ! -f "$as_myself"; then
20301 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
20302 exit 1
20303fi
20304
20305# Unset variables that we do not need and which cause bugs (e.g. in
20306# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
20307# suppresses any "Segmentation fault" message there. '((' could
20308# trigger a bug in pdksh 5.2.14.
20309for as_var in BASH_ENV ENV MAIL MAILPATH
20310do eval test x\${$as_var+set} = xset \
20311 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
20312done
20313PS1='$ '
20314PS2='> '
20315PS4='+ '
20316
20317# NLS nuisances.
20318LC_ALL=C
20319export LC_ALL
20320LANGUAGE=C
20321export LANGUAGE
20322
20323# CDPATH.
20324(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
20325
20326
20327# as_fn_error STATUS ERROR [LINENO LOG_FD]
20328# ----------------------------------------
20329# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
20330# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
20331# script with STATUS, using 1 if that was 0.
20332as_fn_error ()
20333{
20334 as_status=$1; test $as_status -eq 0 && as_status=1
20335 if test "$4"; then
20336 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
20337 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
20338 fi
20339 $as_echo "$as_me: error: $2" >&2
20340 as_fn_exit $as_status
20341} # as_fn_error
20342
20343
20344# as_fn_set_status STATUS
20345# -----------------------
20346# Set $? to STATUS, without forking.
20347as_fn_set_status ()
20348{
20349 return $1
20350} # as_fn_set_status
20351
20352# as_fn_exit STATUS
20353# -----------------
20354# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
20355as_fn_exit ()
20356{
20357 set +e
20358 as_fn_set_status $1
20359 exit $1
20360} # as_fn_exit
20361
20362# as_fn_unset VAR
20363# ---------------
20364# Portably unset VAR.
20365as_fn_unset ()
20366{
20367 { eval $1=; unset $1;}
20368}
20369as_unset=as_fn_unset
20370# as_fn_append VAR VALUE
20371# ----------------------
20372# Append the text in VALUE to the end of the definition contained in VAR. Take
20373# advantage of any shell optimizations that allow amortized linear growth over
20374# repeated appends, instead of the typical quadratic growth present in naive
20375# implementations.
20376if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
20377 eval 'as_fn_append ()
20378 {
20379 eval $1+=\$2
20380 }'
20381else
20382 as_fn_append ()
20383 {
20384 eval $1=\$$1\$2
20385 }
20386fi # as_fn_append
20387
20388# as_fn_arith ARG...
20389# ------------------
20390# Perform arithmetic evaluation on the ARGs, and store the result in the
20391# global $as_val. Take advantage of shells that can avoid forks. The arguments
20392# must be portable across $(()) and expr.
20393if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
20394 eval 'as_fn_arith ()
20395 {
20396 as_val=$(( $* ))
20397 }'
20398else
20399 as_fn_arith ()
20400 {
20401 as_val=`expr "$@" || test $? -eq 1`
20402 }
20403fi # as_fn_arith
20404
20405
20406if expr a : '\(a\)' >/dev/null 2>&1 &&
20407 test "X`expr 00001 : '.*\(...\)'`" = X001; then
20408 as_expr=expr
20409else
20410 as_expr=false
20411fi
20412
20413if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
20414 as_basename=basename
20415else
20416 as_basename=false
20417fi
20418
20419if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
20420 as_dirname=dirname
20421else
20422 as_dirname=false
20423fi
20424
20425as_me=`$as_basename -- "$0" ||
20426$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
20427 X"$0" : 'X\(//\)$' \| \
20428 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
20429$as_echo X/"$0" |
20430 sed '/^.*\/\([^/][^/]*\)\/*$/{
20431 s//\1/
20432 q
20433 }
20434 /^X\/\(\/\/\)$/{
20435 s//\1/
20436 q
20437 }
20438 /^X\/\(\/\).*/{
20439 s//\1/
20440 q
20441 }
20442 s/.*/./; q'`
20443
20444# Avoid depending upon Character Ranges.
20445as_cr_letters='abcdefghijklmnopqrstuvwxyz'
20446as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
20447as_cr_Letters=$as_cr_letters$as_cr_LETTERS
20448as_cr_digits='0123456789'
20449as_cr_alnum=$as_cr_Letters$as_cr_digits
20450
20451ECHO_C= ECHO_N= ECHO_T=
20452case `echo -n x` in #(((((
20453-n*)
20454 case `echo 'xy\c'` in
20455 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
20456 xy) ECHO_C='\c';;
20457 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
20458 ECHO_T=' ';;
20459 esac;;
20460*)
20461 ECHO_N='-n';;
20462esac
20463
20464rm -f conf$$ conf$$.exe conf$$.file
20465if test -d conf$$.dir; then
20466 rm -f conf$$.dir/conf$$.file
20467else
20468 rm -f conf$$.dir
20469 mkdir conf$$.dir 2>/dev/null
20470fi
20471if (echo >conf$$.file) 2>/dev/null; then
20472 if ln -s conf$$.file conf$$ 2>/dev/null; then
20473 as_ln_s='ln -s'
20474 # ... but there are two gotchas:
20475 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
20476 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
20477 # In both cases, we have to default to `cp -pR'.
20478 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
20479 as_ln_s='cp -pR'
20480 elif ln conf$$.file conf$$ 2>/dev/null; then
20481 as_ln_s=ln
20482 else
20483 as_ln_s='cp -pR'
20484 fi
20485else
20486 as_ln_s='cp -pR'
20487fi
20488rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
20489rmdir conf$$.dir 2>/dev/null
20490
20491
20492# as_fn_mkdir_p
20493# -------------
20494# Create "$as_dir" as a directory, including parents if necessary.
20495as_fn_mkdir_p ()
20496{
20497
20498 case $as_dir in #(
20499 -*) as_dir=./$as_dir;;
20500 esac
20501 test -d "$as_dir" || eval $as_mkdir_p || {
20502 as_dirs=
20503 while :; do
20504 case $as_dir in #(
20505 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
20506 *) as_qdir=$as_dir;;
20507 esac
20508 as_dirs="'$as_qdir' $as_dirs"
20509 as_dir=`$as_dirname -- "$as_dir" ||
20510$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
20511 X"$as_dir" : 'X\(//\)[^/]' \| \
20512 X"$as_dir" : 'X\(//\)$' \| \
20513 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
20514$as_echo X"$as_dir" |
20515 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
20516 s//\1/
20517 q
20518 }
20519 /^X\(\/\/\)[^/].*/{
20520 s//\1/
20521 q
20522 }
20523 /^X\(\/\/\)$/{
20524 s//\1/
20525 q
20526 }
20527 /^X\(\/\).*/{
20528 s//\1/
20529 q
20530 }
20531 s/.*/./; q'`
20532 test -d "$as_dir" && break
20533 done
20534 test -z "$as_dirs" || eval "mkdir $as_dirs"
20535 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
20536
20537
20538} # as_fn_mkdir_p
20539if mkdir -p . 2>/dev/null; then
20540 as_mkdir_p='mkdir -p "$as_dir"'
20541else
20542 test -d ./-p && rmdir ./-p
20543 as_mkdir_p=false
20544fi
20545
20546
20547# as_fn_executable_p FILE
20548# -----------------------
20549# Test if FILE is an executable regular file.
20550as_fn_executable_p ()
20551{
20552 test -f "$1" && test -x "$1"
20553} # as_fn_executable_p
20554as_test_x='test -x'
20555as_executable_p=as_fn_executable_p
20556
20557# Sed expression to map a string onto a valid CPP name.
20558as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
20559
20560# Sed expression to map a string onto a valid variable name.
20561as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
20562
20563
20564exec 6>&1
20565## ----------------------------------- ##
20566## Main body of $CONFIG_STATUS script. ##
20567## ----------------------------------- ##
20568_ASEOF
20569test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
20570
20571cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20572# Save the log message, to keep $0 and so on meaningful, and to
20573# report actual input values of CONFIG_FILES etc. instead of their
20574# values after options handling.
20575ac_log="
20576This file was extended by OpenSSH $as_me Portable, which was
20577generated by GNU Autoconf 2.69. Invocation command line was
20578
20579 CONFIG_FILES = $CONFIG_FILES
20580 CONFIG_HEADERS = $CONFIG_HEADERS
20581 CONFIG_LINKS = $CONFIG_LINKS
20582 CONFIG_COMMANDS = $CONFIG_COMMANDS
20583 $ $0 $@
20584
20585on `(hostname || uname -n) 2>/dev/null | sed 1q`
20586"
20587
20588_ACEOF
20589
20590case $ac_config_files in *"
20591"*) set x $ac_config_files; shift; ac_config_files=$*;;
20592esac
20593
20594case $ac_config_headers in *"
20595"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
20596esac
20597
20598
20599cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20600# Files that config.status was made for.
20601config_files="$ac_config_files"
20602config_headers="$ac_config_headers"
20603
20604_ACEOF
20605
20606cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20607ac_cs_usage="\
20608\`$as_me' instantiates files and other configuration actions
20609from templates according to the current configuration. Unless the files
20610and actions are specified as TAGs, all are instantiated by default.
20611
20612Usage: $0 [OPTION]... [TAG]...
20613
20614 -h, --help print this help, then exit
20615 -V, --version print version number and configuration settings, then exit
20616 --config print configuration, then exit
20617 -q, --quiet, --silent
20618 do not print progress messages
20619 -d, --debug don't remove temporary files
20620 --recheck update $as_me by reconfiguring in the same conditions
20621 --file=FILE[:TEMPLATE]
20622 instantiate the configuration file FILE
20623 --header=FILE[:TEMPLATE]
20624 instantiate the configuration header FILE
20625
20626Configuration files:
20627$config_files
20628
20629Configuration headers:
20630$config_headers
20631
20632Report bugs to <openssh-unix-dev@mindrot.org>."
20633
20634_ACEOF
20635cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20636ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
20637ac_cs_version="\\
20638OpenSSH config.status Portable
20639configured by $0, generated by GNU Autoconf 2.69,
20640 with options \\"\$ac_cs_config\\"
20641
20642Copyright (C) 2012 Free Software Foundation, Inc.
20643This config.status script is free software; the Free Software Foundation
20644gives unlimited permission to copy, distribute and modify it."
20645
20646ac_pwd='$ac_pwd'
20647srcdir='$srcdir'
20648INSTALL='$INSTALL'
20649MKDIR_P='$MKDIR_P'
20650AWK='$AWK'
20651test -n "\$AWK" || AWK=awk
20652_ACEOF
20653
20654cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20655# The default lists apply if the user does not specify any file.
20656ac_need_defaults=:
20657while test $# != 0
20658do
20659 case $1 in
20660 --*=?*)
20661 ac_option=`expr "X$1" : 'X\([^=]*\)='`
20662 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
20663 ac_shift=:
20664 ;;
20665 --*=)
20666 ac_option=`expr "X$1" : 'X\([^=]*\)='`
20667 ac_optarg=
20668 ac_shift=:
20669 ;;
20670 *)
20671 ac_option=$1
20672 ac_optarg=$2
20673 ac_shift=shift
20674 ;;
20675 esac
20676
20677 case $ac_option in
20678 # Handling of the options.
20679 -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
20680 ac_cs_recheck=: ;;
20681 --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
20682 $as_echo "$ac_cs_version"; exit ;;
20683 --config | --confi | --conf | --con | --co | --c )
20684 $as_echo "$ac_cs_config"; exit ;;
20685 --debug | --debu | --deb | --de | --d | -d )
20686 debug=: ;;
20687 --file | --fil | --fi | --f )
20688 $ac_shift
20689 case $ac_optarg in
20690 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
20691 '') as_fn_error $? "missing file argument" ;;
20692 esac
20693 as_fn_append CONFIG_FILES " '$ac_optarg'"
20694 ac_need_defaults=false;;
20695 --header | --heade | --head | --hea )
20696 $ac_shift
20697 case $ac_optarg in
20698 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
20699 esac
20700 as_fn_append CONFIG_HEADERS " '$ac_optarg'"
20701 ac_need_defaults=false;;
20702 --he | --h)
20703 # Conflict between --help and --header
20704 as_fn_error $? "ambiguous option: \`$1'
20705Try \`$0 --help' for more information.";;
20706 --help | --hel | -h )
20707 $as_echo "$ac_cs_usage"; exit ;;
20708 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
20709 | -silent | --silent | --silen | --sile | --sil | --si | --s)
20710 ac_cs_silent=: ;;
20711
20712 # This is an error.
20713 -*) as_fn_error $? "unrecognized option: \`$1'
20714Try \`$0 --help' for more information." ;;
20715
20716 *) as_fn_append ac_config_targets " $1"
20717 ac_need_defaults=false ;;
20718
20719 esac
20720 shift
20721done
20722
20723ac_configure_extra_args=
20724
20725if $ac_cs_silent; then
20726 exec 6>/dev/null
20727 ac_configure_extra_args="$ac_configure_extra_args --silent"
20728fi
20729
20730_ACEOF
20731cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20732if \$ac_cs_recheck; then
20733 set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
20734 shift
20735 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
20736 CONFIG_SHELL='$SHELL'
20737 export CONFIG_SHELL
20738 exec "\$@"
20739fi
20740
20741_ACEOF
20742cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20743exec 5>>config.log
20744{
20745 echo
20746 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
20747## Running $as_me. ##
20748_ASBOX
20749 $as_echo "$ac_log"
20750} >&5
20751
20752_ACEOF
20753cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20754_ACEOF
20755
20756cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20757
20758# Handling of arguments.
20759for ac_config_target in $ac_config_targets
20760do
20761 case $ac_config_target in
20762 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
20763 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
20764 "buildpkg.sh") CONFIG_FILES="$CONFIG_FILES buildpkg.sh" ;;
20765 "opensshd.init") CONFIG_FILES="$CONFIG_FILES opensshd.init" ;;
20766 "openssh.xml") CONFIG_FILES="$CONFIG_FILES openssh.xml" ;;
20767 "openbsd-compat/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/Makefile" ;;
20768 "openbsd-compat/regress/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/regress/Makefile" ;;
20769 "survey.sh") CONFIG_FILES="$CONFIG_FILES survey.sh" ;;
20770
20771 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
20772 esac
20773done
20774
20775
20776# If the user did not use the arguments to specify the items to instantiate,
20777# then the envvar interface is used. Set only those that are not.
20778# We use the long form for the default assignment because of an extremely
20779# bizarre bug on SunOS 4.1.3.
20780if $ac_need_defaults; then
20781 test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
20782 test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
20783fi
20784
20785# Have a temporary directory for convenience. Make it in the build tree
20786# simply because there is no reason against having it here, and in addition,
20787# creating and moving files from /tmp can sometimes cause problems.
20788# Hook for its removal unless debugging.
20789# Note that there is a small window in which the directory will not be cleaned:
20790# after its creation but before its name has been assigned to `$tmp'.
20791$debug ||
20792{
20793 tmp= ac_tmp=
20794 trap 'exit_status=$?
20795 : "${ac_tmp:=$tmp}"
20796 { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
20797' 0
20798 trap 'as_fn_exit 1' 1 2 13 15
20799}
20800# Create a (secure) tmp directory for tmp files.
20801
20802{
20803 tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
20804 test -d "$tmp"
20805} ||
20806{
20807 tmp=./conf$$-$RANDOM
20808 (umask 077 && mkdir "$tmp")
20809} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
20810ac_tmp=$tmp
20811
20812# Set up the scripts for CONFIG_FILES section.
20813# No need to generate them if there are no CONFIG_FILES.
20814# This happens for instance with `./config.status config.h'.
20815if test -n "$CONFIG_FILES"; then
20816
20817
20818ac_cr=`echo X | tr X '\015'`
20819# On cygwin, bash can eat \r inside `` if the user requested igncr.
20820# But we know of no other shell where ac_cr would be empty at this
20821# point, so we can use a bashism as a fallback.
20822if test "x$ac_cr" = x; then
20823 eval ac_cr=\$\'\\r\'
20824fi
20825ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
20826if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
20827 ac_cs_awk_cr='\\r'
20828else
20829 ac_cs_awk_cr=$ac_cr
20830fi
20831
20832echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
20833_ACEOF
20834
20835
20836{
20837 echo "cat >conf$$subs.awk <<_ACEOF" &&
20838 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
20839 echo "_ACEOF"
20840} >conf$$subs.sh ||
20841 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
20842ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
20843ac_delim='%!_!# '
20844for ac_last_try in false false false false false :; do
20845 . ./conf$$subs.sh ||
20846 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
20847
20848 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
20849 if test $ac_delim_n = $ac_delim_num; then
20850 break
20851 elif $ac_last_try; then
20852 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
20853 else
20854 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
20855 fi
20856done
20857rm -f conf$$subs.sh
20858
20859cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20860cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
20861_ACEOF
20862sed -n '
20863h
20864s/^/S["/; s/!.*/"]=/
20865p
20866g
20867s/^[^!]*!//
20868:repl
20869t repl
20870s/'"$ac_delim"'$//
20871t delim
20872:nl
20873h
20874s/\(.\{148\}\)..*/\1/
20875t more1
20876s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
20877p
20878n
20879b repl
20880:more1
20881s/["\\]/\\&/g; s/^/"/; s/$/"\\/
20882p
20883g
20884s/.\{148\}//
20885t nl
20886:delim
20887h
20888s/\(.\{148\}\)..*/\1/
20889t more2
20890s/["\\]/\\&/g; s/^/"/; s/$/"/
20891p
20892b
20893:more2
20894s/["\\]/\\&/g; s/^/"/; s/$/"\\/
20895p
20896g
20897s/.\{148\}//
20898t delim
20899' <conf$$subs.awk | sed '
20900/^[^""]/{
20901 N
20902 s/\n//
20903}
20904' >>$CONFIG_STATUS || ac_write_fail=1
20905rm -f conf$$subs.awk
20906cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20907_ACAWK
20908cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
20909 for (key in S) S_is_set[key] = 1
20910 FS = ""
20911
20912}
20913{
20914 line = $ 0
20915 nfields = split(line, field, "@")
20916 substed = 0
20917 len = length(field[1])
20918 for (i = 2; i < nfields; i++) {
20919 key = field[i]
20920 keylen = length(key)
20921 if (S_is_set[key]) {
20922 value = S[key]
20923 line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
20924 len += length(value) + length(field[++i])
20925 substed = 1
20926 } else
20927 len += 1 + keylen
20928 }
20929
20930 print line
20931}
20932
20933_ACAWK
20934_ACEOF
20935cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20936if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
20937 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
20938else
20939 cat
20940fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
20941 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
20942_ACEOF
20943
20944# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
20945# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
20946# trailing colons and then remove the whole line if VPATH becomes empty
20947# (actually we leave an empty line to preserve line numbers).
20948if test "x$srcdir" = x.; then
20949 ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
20950h
20951s///
20952s/^/:/
20953s/[ ]*$/:/
20954s/:\$(srcdir):/:/g
20955s/:\${srcdir}:/:/g
20956s/:@srcdir@:/:/g
20957s/^:*//
20958s/:*$//
20959x
20960s/\(=[ ]*\).*/\1/
20961G
20962s/\n//
20963s/^[^=]*=[ ]*$//
20964}'
20965fi
20966
20967cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20968fi # test -n "$CONFIG_FILES"
20969
20970# Set up the scripts for CONFIG_HEADERS section.
20971# No need to generate them if there are no CONFIG_HEADERS.
20972# This happens for instance with `./config.status Makefile'.
20973if test -n "$CONFIG_HEADERS"; then
20974cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
20975BEGIN {
20976_ACEOF
20977
20978# Transform confdefs.h into an awk script `defines.awk', embedded as
20979# here-document in config.status, that substitutes the proper values into
20980# config.h.in to produce config.h.
20981
20982# Create a delimiter string that does not exist in confdefs.h, to ease
20983# handling of long lines.
20984ac_delim='%!_!# '
20985for ac_last_try in false false :; do
20986 ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
20987 if test -z "$ac_tt"; then
20988 break
20989 elif $ac_last_try; then
20990 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
20991 else
20992 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
20993 fi
20994done
20995
20996# For the awk script, D is an array of macro values keyed by name,
20997# likewise P contains macro parameters if any. Preserve backslash
20998# newline sequences.
20999
21000ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
21001sed -n '
21002s/.\{148\}/&'"$ac_delim"'/g
21003t rset
21004:rset
21005s/^[ ]*#[ ]*define[ ][ ]*/ /
21006t def
21007d
21008:def
21009s/\\$//
21010t bsnl
21011s/["\\]/\\&/g
21012s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
21013D["\1"]=" \3"/p
21014s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
21015d
21016:bsnl
21017s/["\\]/\\&/g
21018s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
21019D["\1"]=" \3\\\\\\n"\\/p
21020t cont
21021s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
21022t cont
21023d
21024:cont
21025n
21026s/.\{148\}/&'"$ac_delim"'/g
21027t clear
21028:clear
21029s/\\$//
21030t bsnlc
21031s/["\\]/\\&/g; s/^/"/; s/$/"/p
21032d
21033:bsnlc
21034s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
21035b cont
21036' <confdefs.h | sed '
21037s/'"$ac_delim"'/"\\\
21038"/g' >>$CONFIG_STATUS || ac_write_fail=1
21039
21040cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21041 for (key in D) D_is_set[key] = 1
21042 FS = ""
21043}
21044/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
21045 line = \$ 0
21046 split(line, arg, " ")
21047 if (arg[1] == "#") {
21048 defundef = arg[2]
21049 mac1 = arg[3]
21050 } else {
21051 defundef = substr(arg[1], 2)
21052 mac1 = arg[2]
21053 }
21054 split(mac1, mac2, "(") #)
21055 macro = mac2[1]
21056 prefix = substr(line, 1, index(line, defundef) - 1)
21057 if (D_is_set[macro]) {
21058 # Preserve the white space surrounding the "#".
21059 print prefix "define", macro P[macro] D[macro]
21060 next
21061 } else {
21062 # Replace #undef with comments. This is necessary, for example,
21063 # in the case of _POSIX_SOURCE, which is predefined and required
21064 # on some systems where configure will not decide to define it.
21065 if (defundef == "undef") {
21066 print "/*", prefix defundef, macro, "*/"
21067 next
21068 }
21069 }
21070}
21071{ print }
21072_ACAWK
21073_ACEOF
21074cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21075 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
21076fi # test -n "$CONFIG_HEADERS"
21077
21078
21079eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
21080shift
21081for ac_tag
21082do
21083 case $ac_tag in
21084 :[FHLC]) ac_mode=$ac_tag; continue;;
21085 esac
21086 case $ac_mode$ac_tag in
21087 :[FHL]*:*);;
21088 :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
21089 :[FH]-) ac_tag=-:-;;
21090 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
21091 esac
21092 ac_save_IFS=$IFS
21093 IFS=:
21094 set x $ac_tag
21095 IFS=$ac_save_IFS
21096 shift
21097 ac_file=$1
21098 shift
21099
21100 case $ac_mode in
21101 :L) ac_source=$1;;
21102 :[FH])
21103 ac_file_inputs=
21104 for ac_f
21105 do
21106 case $ac_f in
21107 -) ac_f="$ac_tmp/stdin";;
21108 *) # Look for the file first in the build tree, then in the source tree
21109 # (if the path is not absolute). The absolute path cannot be DOS-style,
21110 # because $ac_f cannot contain `:'.
21111 test -f "$ac_f" ||
21112 case $ac_f in
21113 [\\/$]*) false;;
21114 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
21115 esac ||
21116 as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
21117 esac
21118 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
21119 as_fn_append ac_file_inputs " '$ac_f'"
21120 done
21121
21122 # Let's still pretend it is `configure' which instantiates (i.e., don't
21123 # use $as_me), people would be surprised to read:
21124 # /* config.h. Generated by config.status. */
21125 configure_input='Generated from '`
21126 $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
21127 `' by configure.'
21128 if test x"$ac_file" != x-; then
21129 configure_input="$ac_file. $configure_input"
21130 { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
21131$as_echo "$as_me: creating $ac_file" >&6;}
21132 fi
21133 # Neutralize special characters interpreted by sed in replacement strings.
21134 case $configure_input in #(
21135 *\&* | *\|* | *\\* )
21136 ac_sed_conf_input=`$as_echo "$configure_input" |
21137 sed 's/[\\\\&|]/\\\\&/g'`;; #(
21138 *) ac_sed_conf_input=$configure_input;;
21139 esac
21140
21141 case $ac_tag in
21142 *:-:* | *:-) cat >"$ac_tmp/stdin" \
21143 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
21144 esac
21145 ;;
21146 esac
21147
21148 ac_dir=`$as_dirname -- "$ac_file" ||
21149$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
21150 X"$ac_file" : 'X\(//\)[^/]' \| \
21151 X"$ac_file" : 'X\(//\)$' \| \
21152 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
21153$as_echo X"$ac_file" |
21154 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
21155 s//\1/
21156 q
21157 }
21158 /^X\(\/\/\)[^/].*/{
21159 s//\1/
21160 q
21161 }
21162 /^X\(\/\/\)$/{
21163 s//\1/
21164 q
21165 }
21166 /^X\(\/\).*/{
21167 s//\1/
21168 q
21169 }
21170 s/.*/./; q'`
21171 as_dir="$ac_dir"; as_fn_mkdir_p
21172 ac_builddir=.
21173
21174case "$ac_dir" in
21175.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
21176*)
21177 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
21178 # A ".." for each directory in $ac_dir_suffix.
21179 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
21180 case $ac_top_builddir_sub in
21181 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
21182 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
21183 esac ;;
21184esac
21185ac_abs_top_builddir=$ac_pwd
21186ac_abs_builddir=$ac_pwd$ac_dir_suffix
21187# for backward compatibility:
21188ac_top_builddir=$ac_top_build_prefix
21189
21190case $srcdir in
21191 .) # We are building in place.
21192 ac_srcdir=.
21193 ac_top_srcdir=$ac_top_builddir_sub
21194 ac_abs_top_srcdir=$ac_pwd ;;
21195 [\\/]* | ?:[\\/]* ) # Absolute name.
21196 ac_srcdir=$srcdir$ac_dir_suffix;
21197 ac_top_srcdir=$srcdir
21198 ac_abs_top_srcdir=$srcdir ;;
21199 *) # Relative name.
21200 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
21201 ac_top_srcdir=$ac_top_build_prefix$srcdir
21202 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
21203esac
21204ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
21205
21206
21207 case $ac_mode in
21208 :F)
21209 #
21210 # CONFIG_FILE
21211 #
21212
21213 case $INSTALL in
21214 [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
21215 *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
21216 esac
21217 ac_MKDIR_P=$MKDIR_P
21218 case $MKDIR_P in
21219 [\\/$]* | ?:[\\/]* ) ;;
21220 */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
21221 esac
21222_ACEOF
21223
21224cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21225# If the template does not know about datarootdir, expand it.
21226# FIXME: This hack should be removed a few years after 2.60.
21227ac_datarootdir_hack=; ac_datarootdir_seen=
21228ac_sed_dataroot='
21229/datarootdir/ {
21230 p
21231 q
21232}
21233/@datadir@/p
21234/@docdir@/p
21235/@infodir@/p
21236/@localedir@/p
21237/@mandir@/p'
21238case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
21239*datarootdir*) ac_datarootdir_seen=yes;;
21240*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
21241 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
21242$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
21243_ACEOF
21244cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21245 ac_datarootdir_hack='
21246 s&@datadir@&$datadir&g
21247 s&@docdir@&$docdir&g
21248 s&@infodir@&$infodir&g
21249 s&@localedir@&$localedir&g
21250 s&@mandir@&$mandir&g
21251 s&\\\${datarootdir}&$datarootdir&g' ;;
21252esac
21253_ACEOF
21254
21255# Neutralize VPATH when `$srcdir' = `.'.
21256# Shell code in configure.ac might set extrasub.
21257# FIXME: do we really want to maintain this feature?
21258cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21259ac_sed_extra="$ac_vpsub
21260$extrasub
21261_ACEOF
21262cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21263:t
21264/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
21265s|@configure_input@|$ac_sed_conf_input|;t t
21266s&@top_builddir@&$ac_top_builddir_sub&;t t
21267s&@top_build_prefix@&$ac_top_build_prefix&;t t
21268s&@srcdir@&$ac_srcdir&;t t
21269s&@abs_srcdir@&$ac_abs_srcdir&;t t
21270s&@top_srcdir@&$ac_top_srcdir&;t t
21271s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
21272s&@builddir@&$ac_builddir&;t t
21273s&@abs_builddir@&$ac_abs_builddir&;t t
21274s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
21275s&@INSTALL@&$ac_INSTALL&;t t
21276s&@MKDIR_P@&$ac_MKDIR_P&;t t
21277$ac_datarootdir_hack
21278"
21279eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
21280 >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21281
21282test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
21283 { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
21284 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
21285 "$ac_tmp/out"`; test -z "$ac_out"; } &&
21286 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
21287which seems to be undefined. Please make sure it is defined" >&5
21288$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
21289which seems to be undefined. Please make sure it is defined" >&2;}
21290
21291 rm -f "$ac_tmp/stdin"
21292 case $ac_file in
21293 -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
21294 *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
21295 esac \
21296 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21297 ;;
21298 :H)
21299 #
21300 # CONFIG_HEADER
21301 #
21302 if test x"$ac_file" != x-; then
21303 {
21304 $as_echo "/* $configure_input */" \
21305 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
21306 } >"$ac_tmp/config.h" \
21307 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21308 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
21309 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
21310$as_echo "$as_me: $ac_file is unchanged" >&6;}
21311 else
21312 rm -f "$ac_file"
21313 mv "$ac_tmp/config.h" "$ac_file" \
21314 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21315 fi
21316 else
21317 $as_echo "/* $configure_input */" \
21318 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
21319 || as_fn_error $? "could not create -" "$LINENO" 5
21320 fi
21321 ;;
21322
21323
21324 esac
21325
21326done # for ac_tag
21327
21328
21329as_fn_exit 0
21330_ACEOF
21331ac_clean_files=$ac_clean_files_save
21332
21333test $ac_write_fail = 0 ||
21334 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
21335
21336
21337# configure is writing to config.log, and then calls config.status.
21338# config.status does its own redirection, appending to config.log.
21339# Unfortunately, on DOS this fails, as config.log is still kept open
21340# by configure, so config.status won't be able to write to it; its
21341# output is simply discarded. So we exec the FD to /dev/null,
21342# effectively closing config.log, so it can be properly (re)opened and
21343# appended to by config.status. When coming back to configure, we
21344# need to make the FD available again.
21345if test "$no_create" != yes; then
21346 ac_cs_success=:
21347 ac_config_status_args=
21348 test "$silent" = yes &&
21349 ac_config_status_args="$ac_config_status_args --quiet"
21350 exec 5>/dev/null
21351 $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
21352 exec 5>>config.log
21353 # Use ||, not &&, to avoid exiting from the if with $? = 1, which
21354 # would make configure fail if this is the last instruction.
21355 $ac_cs_success || as_fn_exit 1
21356fi
21357if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
21358 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
21359$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
21360fi
21361
21362
21363# Print summary of options
21364
21365# Someone please show me a better way :)
21366A=`eval echo ${prefix}` ; A=`eval echo ${A}`
21367B=`eval echo ${bindir}` ; B=`eval echo ${B}`
21368C=`eval echo ${sbindir}` ; C=`eval echo ${C}`
21369D=`eval echo ${sysconfdir}` ; D=`eval echo ${D}`
21370E=`eval echo ${libexecdir}/ssh-askpass` ; E=`eval echo ${E}`
21371F=`eval echo ${mandir}/${mansubdir}X` ; F=`eval echo ${F}`
21372G=`eval echo ${piddir}` ; G=`eval echo ${G}`
21373H=`eval echo ${PRIVSEP_PATH}` ; H=`eval echo ${H}`
21374I=`eval echo ${user_path}` ; I=`eval echo ${I}`
21375J=`eval echo ${superuser_path}` ; J=`eval echo ${J}`
21376
21377echo ""
21378echo "OpenSSH has been configured with the following options:"
21379echo " User binaries: $B"
21380echo " System binaries: $C"
21381echo " Configuration files: $D"
21382echo " Askpass program: $E"
21383echo " Manual pages: $F"
21384echo " PID file: $G"
21385echo " Privilege separation chroot path: $H"
21386if test "x$external_path_file" = "x/etc/login.conf" ; then
21387echo " At runtime, sshd will use the path defined in $external_path_file"
21388echo " Make sure the path to scp is present, otherwise scp will not work"
21389else
21390echo " sshd default user PATH: $I"
21391 if test ! -z "$external_path_file"; then
21392echo " (If PATH is set in $external_path_file it will be used instead. If"
21393echo " used, ensure the path to scp is present, otherwise scp will not work.)"
21394 fi
21395fi
21396if test ! -z "$superuser_path" ; then
21397echo " sshd superuser user PATH: $J"
21398fi
21399echo " Manpage format: $MANTYPE"
21400echo " PAM support: $PAM_MSG"
21401echo " OSF SIA support: $SIA_MSG"
21402echo " KerberosV support: $KRB5_MSG"
21403echo " SELinux support: $SELINUX_MSG"
21404echo " MD5 password support: $MD5_MSG"
21405echo " libedit support: $LIBEDIT_MSG"
21406echo " libldns support: $LDNS_MSG"
21407echo " Solaris process contract support: $SPC_MSG"
21408echo " Solaris project support: $SP_MSG"
21409echo " Solaris privilege support: $SPP_MSG"
21410echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG"
21411echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
21412echo " BSD Auth support: $BSD_AUTH_MSG"
21413echo " Random number source: $RAND_MSG"
21414echo " Privsep sandbox style: $SANDBOX_STYLE"
21415echo " PKCS#11 support: $enable_pkcs11"
21416echo " U2F/FIDO support: $enable_sk"
21417
21418echo ""
21419
21420echo " Host: ${host}"
21421echo " Compiler: ${CC}"
21422echo " Compiler flags: ${CFLAGS}"
21423echo "Preprocessor flags: ${CPPFLAGS}"
21424echo " Linker flags: ${LDFLAGS}"
21425echo " Libraries: ${LIBS}"
21426if test ! -z "${SSHDLIBS}"; then
21427echo " +for sshd: ${SSHDLIBS}"
21428fi
21429if test ! -z "${SSHLIBS}"; then
21430echo " +for ssh: ${SSHLIBS}"
21431fi
21432
21433echo ""
21434
21435if test "x$MAKE_PACKAGE_SUPPORTED" = "xyes" ; then
21436 echo "SVR4 style packages are supported with \"make package\""
21437 echo ""
21438fi
21439
21440if test "x$PAM_MSG" = "xyes" ; then
21441 echo "PAM is enabled. You may need to install a PAM control file "
21442 echo "for sshd, otherwise password authentication may fail. "
21443 echo "Example PAM control files can be found in the contrib/ "
21444 echo "subdirectory"
21445 echo ""
21446fi
21447
21448if test ! -z "$NO_PEERCHECK" ; then
21449 echo "WARNING: the operating system that you are using does not"
21450 echo "appear to support getpeereid(), getpeerucred() or the"
21451 echo "SO_PEERCRED getsockopt() option. These facilities are used to"
21452 echo "enforce security checks to prevent unauthorised connections to"
21453 echo "ssh-agent. Their absence increases the risk that a malicious"
21454 echo "user can connect to your agent."
21455 echo ""
21456fi
21457
21458if test "$AUDIT_MODULE" = "bsm" ; then
21459 echo "WARNING: BSM audit support is currently considered EXPERIMENTAL."
21460 echo "See the Solaris section in README.platform for details."
21461fi
diff --git a/moduli.0 b/moduli.0
new file mode 100644
index 000000000..d17ae428d
--- /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.7 September 26, 2012 OpenBSD 6.7
diff --git a/scp.0 b/scp.0
new file mode 100644
index 000000000..03e6c65e7
--- /dev/null
+++ b/scp.0
@@ -0,0 +1,183 @@
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 and selects batch mode for the second host, since
32 scp cannot ask for passwords or passphrases for both hosts.
33
34 -4 Forces scp to use IPv4 addresses only.
35
36 -6 Forces scp to use IPv6 addresses only.
37
38 -B Selects batch mode (prevents asking for passwords or
39 passphrases).
40
41 -C Compression enable. Passes the -C flag to ssh(1) to enable
42 compression.
43
44 -c cipher
45 Selects the cipher to use for encrypting the data transfer. This
46 option is directly passed to ssh(1).
47
48 -F ssh_config
49 Specifies an alternative per-user configuration file for ssh.
50 This option is directly passed to ssh(1).
51
52 -i identity_file
53 Selects the file from which the identity (private key) for public
54 key authentication is read. This option is directly passed to
55 ssh(1).
56
57 -J destination
58 Connect to the target host by first making an scp connection to
59 the jump host described by destination and then establishing a
60 TCP forwarding to the ultimate destination from there. Multiple
61 jump hops may be specified separated by comma characters. This
62 is a shortcut to specify a ProxyJump configuration directive.
63 This option is directly passed to ssh(1).
64
65 -l limit
66 Limits the used bandwidth, specified in Kbit/s.
67
68 -o ssh_option
69 Can be used to pass options to ssh in the format used in
70 ssh_config(5). This is useful for specifying options for which
71 there is no separate scp command-line flag. For full details of
72 the options listed below, and their possible values, see
73 ssh_config(5).
74
75 AddressFamily
76 BatchMode
77 BindAddress
78 BindInterface
79 CanonicalDomains
80 CanonicalizeFallbackLocal
81 CanonicalizeHostname
82 CanonicalizeMaxDots
83 CanonicalizePermittedCNAMEs
84 CASignatureAlgorithms
85 CertificateFile
86 ChallengeResponseAuthentication
87 CheckHostIP
88 Ciphers
89 Compression
90 ConnectionAttempts
91 ConnectTimeout
92 ControlMaster
93 ControlPath
94 ControlPersist
95 GlobalKnownHostsFile
96 GSSAPIAuthentication
97 GSSAPIDelegateCredentials
98 HashKnownHosts
99 Host
100 HostbasedAuthentication
101 HostbasedKeyTypes
102 HostKeyAlgorithms
103 HostKeyAlias
104 Hostname
105 IdentitiesOnly
106 IdentityAgent
107 IdentityFile
108 IPQoS
109 KbdInteractiveAuthentication
110 KbdInteractiveDevices
111 KexAlgorithms
112 LogLevel
113 MACs
114 NoHostAuthenticationForLocalhost
115 NumberOfPasswordPrompts
116 PasswordAuthentication
117 PKCS11Provider
118 Port
119 PreferredAuthentications
120 ProxyCommand
121 ProxyJump
122 PubkeyAcceptedKeyTypes
123 PubkeyAuthentication
124 RekeyLimit
125 SendEnv
126 ServerAliveInterval
127 ServerAliveCountMax
128 SetEnv
129 StrictHostKeyChecking
130 TCPKeepAlive
131 UpdateHostKeys
132 User
133 UserKnownHostsFile
134 VerifyHostKeyDNS
135
136 -P port
137 Specifies the port to connect to on the remote host. Note that
138 this option is written with a capital M-bM-^@M-^XPM-bM-^@M-^Y, because -p is already
139 reserved for preserving the times and modes of the file.
140
141 -p Preserves modification times, access times, and modes from the
142 original file.
143
144 -q Quiet mode: disables the progress meter as well as warning and
145 diagnostic messages from ssh(1).
146
147 -r Recursively copy entire directories. Note that scp follows
148 symbolic links encountered in the tree traversal.
149
150 -S program
151 Name of program to use for the encrypted connection. The program
152 must understand ssh(1) options.
153
154 -T Disable strict filename checking. By default when copying files
155 from a remote host to a local directory scp checks that the
156 received filenames match those requested on the command-line to
157 prevent the remote end from sending unexpected or unwanted files.
158 Because of differences in how various operating systems and
159 shells interpret filename wildcards, these checks may cause
160 wanted files to be rejected. This option disables these checks
161 at the expense of fully trusting that the server will not send
162 unexpected filenames.
163
164 -v Verbose mode. Causes scp and ssh(1) to print debugging messages
165 about their progress. This is helpful in debugging connection,
166 authentication, and configuration problems.
167
168EXIT STATUS
169 The scp utility exitsM-BM- 0 on success, andM-BM- >0 if an error occurs.
170
171SEE ALSO
172 sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5),
173 sshd(8)
174
175HISTORY
176 scp is based on the rcp program in BSD source code from the Regents of
177 the University of California.
178
179AUTHORS
180 Timo Rinne <tri@iki.fi>
181 Tatu Ylonen <ylo@cs.hut.fi>
182
183OpenBSD 6.7 April 30, 2020 OpenBSD 6.7
diff --git a/sftp-server.0 b/sftp-server.0
new file mode 100644
index 000000000..4c5fbbb72
--- /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.7 November 30, 2019 OpenBSD 6.7
diff --git a/sftp.0 b/sftp.0
new file mode 100644
index 000000000..2823313cb
--- /dev/null
+++ b/sftp.0
@@ -0,0 +1,399 @@
1SFTP(1) General Commands Manual SFTP(1)
2
3NAME
4 sftp M-bM-^@M-^S OpenSSH secure file transfer
5
6SYNOPSIS
7 sftp [-46aCfNpqrv] [-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 -N Disables quiet mode, e.g. to override the implicit quiet mode set
104 by the -b flag.
105
106 -o ssh_option
107 Can be used to pass options to ssh in the format used in
108 ssh_config(5). This is useful for specifying options for which
109 there is no separate sftp command-line flag. For example, to
110 specify an alternate port use: sftp -oPort=24. For full details
111 of the options listed below, and their possible values, see
112 ssh_config(5).
113
114 AddressFamily
115 BatchMode
116 BindAddress
117 BindInterface
118 CanonicalDomains
119 CanonicalizeFallbackLocal
120 CanonicalizeHostname
121 CanonicalizeMaxDots
122 CanonicalizePermittedCNAMEs
123 CASignatureAlgorithms
124 CertificateFile
125 ChallengeResponseAuthentication
126 CheckHostIP
127 Ciphers
128 Compression
129 ConnectionAttempts
130 ConnectTimeout
131 ControlMaster
132 ControlPath
133 ControlPersist
134 GlobalKnownHostsFile
135 GSSAPIAuthentication
136 GSSAPIDelegateCredentials
137 HashKnownHosts
138 Host
139 HostbasedAuthentication
140 HostbasedKeyTypes
141 HostKeyAlgorithms
142 HostKeyAlias
143 Hostname
144 IdentitiesOnly
145 IdentityAgent
146 IdentityFile
147 IPQoS
148 KbdInteractiveAuthentication
149 KbdInteractiveDevices
150 KexAlgorithms
151 LogLevel
152 MACs
153 NoHostAuthenticationForLocalhost
154 NumberOfPasswordPrompts
155 PasswordAuthentication
156 PKCS11Provider
157 Port
158 PreferredAuthentications
159 ProxyCommand
160 ProxyJump
161 PubkeyAcceptedKeyTypes
162 PubkeyAuthentication
163 RekeyLimit
164 SendEnv
165 ServerAliveInterval
166 ServerAliveCountMax
167 SetEnv
168 StrictHostKeyChecking
169 TCPKeepAlive
170 UpdateHostKeys
171 User
172 UserKnownHostsFile
173 VerifyHostKeyDNS
174
175 -P port
176 Specifies the port to connect to on the remote host.
177
178 -p Preserves modification times, access times, and modes from the
179 original files transferred.
180
181 -q Quiet mode: disables the progress meter as well as warning and
182 diagnostic messages from ssh(1).
183
184 -R num_requests
185 Specify how many requests may be outstanding at any one time.
186 Increasing this may slightly improve file transfer speed but will
187 increase memory usage. The default is 64 outstanding requests.
188
189 -r Recursively copy entire directories when uploading and
190 downloading. Note that sftp does not follow symbolic links
191 encountered in the tree traversal.
192
193 -S program
194 Name of the program to use for the encrypted connection. The
195 program must understand ssh(1) options.
196
197 -s subsystem | sftp_server
198 Specifies the SSH2 subsystem or the path for an sftp server on
199 the remote host. A path is useful when the remote sshd(8) does
200 not have an sftp subsystem configured.
201
202 -v Raise logging level. This option is also passed to ssh.
203
204INTERACTIVE COMMANDS
205 Once in interactive mode, sftp understands a set of commands similar to
206 those of ftp(1). Commands are case insensitive. Pathnames that contain
207 spaces must be enclosed in quotes. Any special characters contained
208 within pathnames that are recognized by glob(3) must be escaped with
209 backslashes (M-bM-^@M-^X\M-bM-^@M-^Y).
210
211 bye Quit sftp.
212
213 cd [path]
214 Change remote directory to path. If path is not specified, then
215 change directory to the one the session started in.
216
217 chgrp [-h] grp path
218 Change group of file path to grp. If the -h flag is specified,
219 then symlinks will not be followed. path may contain glob(7)
220 characters and may match multiple files. grp must be a numeric
221 GID.
222
223 chmod [-h] mode path
224 Change permissions of file path to mode. If the -h flag is
225 specified, then symlinks will not be followed. path may contain
226 glob(7) characters and may match multiple files.
227
228 chown [-h] own path
229 Change owner of file path to own. If the -h flag is specified,
230 then symlinks will not be followed. path may contain glob(7)
231 characters and may match multiple files. own must be a numeric
232 UID.
233
234 df [-hi] [path]
235 Display usage information for the filesystem holding the current
236 directory (or path if specified). If the -h flag is specified,
237 the capacity information will be displayed using "human-readable"
238 suffixes. The -i flag requests display of inode information in
239 addition to capacity information. This command is only supported
240 on servers that implement the M-bM-^@M-^\statvfs@openssh.comM-bM-^@M-^] extension.
241
242 exit Quit sftp.
243
244 get [-afpR] remote-path [local-path]
245 Retrieve the remote-path and store it on the local machine. If
246 the local path name is not specified, it is given the same name
247 it has on the remote machine. remote-path may contain glob(7)
248 characters and may match multiple files. If it does and
249 local-path is specified, then local-path must specify a
250 directory.
251
252 If the -a flag is specified, then attempt to resume partial
253 transfers of existing files. Note that resumption assumes that
254 any partial copy of the local file matches the remote copy. If
255 the remote file contents differ from the partial local copy then
256 the resultant file is likely to be corrupt.
257
258 If the -f flag is specified, then fsync(2) will be called after
259 the file transfer has completed to flush the file to disk.
260
261 If the -p flag is specified, then full file permissions and
262 access times are copied too.
263
264 If the -R flag is specified then directories will be copied
265 recursively. Note that sftp does not follow symbolic links when
266 performing recursive transfers.
267
268 help Display help text.
269
270 lcd [path]
271 Change local directory to path. If path is not specified, then
272 change directory to the local user's home directory.
273
274 lls [ls-options [path]]
275 Display local directory listing of either path or current
276 directory if path is not specified. ls-options may contain any
277 flags supported by the local system's ls(1) command. path may
278 contain glob(7) characters and may match multiple files.
279
280 lmkdir path
281 Create local directory specified by path.
282
283 ln [-s] oldpath newpath
284 Create a link from oldpath to newpath. If the -s flag is
285 specified the created link is a symbolic link, otherwise it is a
286 hard link.
287
288 lpwd Print local working directory.
289
290 ls [-1afhlnrSt] [path]
291 Display a remote directory listing of either path or the current
292 directory if path is not specified. path may contain glob(7)
293 characters and may match multiple files.
294
295 The following flags are recognized and alter the behaviour of ls
296 accordingly:
297
298 -1 Produce single columnar output.
299
300 -a List files beginning with a dot (M-bM-^@M-^X.M-bM-^@M-^Y).
301
302 -f Do not sort the listing. The default sort order is
303 lexicographical.
304
305 -h When used with a long format option, use unit suffixes:
306 Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte,
307 and Exabyte in order to reduce the number of digits to
308 four or fewer using powers of 2 for sizes (K=1024,
309 M=1048576, etc.).
310
311 -l Display additional details including permissions and
312 ownership information.
313
314 -n Produce a long listing with user and group information
315 presented numerically.
316
317 -r Reverse the sort order of the listing.
318
319 -S Sort the listing by file size.
320
321 -t Sort the listing by last modification time.
322
323 lumask umask
324 Set local umask to umask.
325
326 mkdir path
327 Create remote directory specified by path.
328
329 progress
330 Toggle display of progress meter.
331
332 put [-afpR] local-path [remote-path]
333 Upload local-path and store it on the remote machine. If the
334 remote path name is not specified, it is given the same name it
335 has on the local machine. local-path may contain glob(7)
336 characters and may match multiple files. If it does and
337 remote-path is specified, then remote-path must specify a
338 directory.
339
340 If the -a flag is specified, then attempt to resume partial
341 transfers of existing files. Note that resumption assumes that
342 any partial copy of the remote file matches the local copy. If
343 the local file contents differ from the remote local copy then
344 the resultant file is likely to be corrupt.
345
346 If the -f flag is specified, then a request will be sent to the
347 server to call fsync(2) after the file has been transferred.
348 Note that this is only supported by servers that implement the
349 "fsync@openssh.com" extension.
350
351 If the -p flag is specified, then full file permissions and
352 access times are copied too.
353
354 If the -R flag is specified then directories will be copied
355 recursively. Note that sftp does not follow symbolic links when
356 performing recursive transfers.
357
358 pwd Display remote working directory.
359
360 quit Quit sftp.
361
362 reget [-fpR] remote-path [local-path]
363 Resume download of remote-path. Equivalent to get with the -a
364 flag set.
365
366 reput [-fpR] local-path [remote-path]
367 Resume upload of local-path. Equivalent to put with the -a flag
368 set.
369
370 rename oldpath newpath
371 Rename remote file from oldpath to newpath.
372
373 rm path
374 Delete remote file specified by path.
375
376 rmdir path
377 Remove remote directory specified by path.
378
379 symlink oldpath newpath
380 Create a symbolic link from oldpath to newpath.
381
382 version
383 Display the sftp protocol version.
384
385 !command
386 Execute command in local shell.
387
388 ! Escape to local shell.
389
390 ? Synonym for help.
391
392SEE ALSO
393 ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5),
394 glob(7), sftp-server(8), sshd(8)
395
396 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
397 filexfer-00.txt, January 2001, work in progress material.
398
399OpenBSD 6.7 April 23, 2020 OpenBSD 6.7
diff --git a/ssh-add.0 b/ssh-add.0
new file mode 100644
index 000000000..698f1b891
--- /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.7 February 7, 2020 OpenBSD 6.7
diff --git a/ssh-agent.0 b/ssh-agent.0
new file mode 100644
index 000000000..df4f0cc6c
--- /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.7 December 21, 2019 OpenBSD 6.7
diff --git a/ssh-keygen.0 b/ssh-keygen.0
new file mode 100644
index 000000000..c388cdf7a
--- /dev/null
+++ b/ssh-keygen.0
@@ -0,0 +1,790 @@
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 [-l] -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. If the -l option
305 is also specified then the contents of the KRL will be printed.
306
307 -q Silence ssh-keygen.
308
309 -R hostname | [hostname]:port
310 Removes all keys belonging to the specified hostname (with
311 optional port number) from a known_hosts file. This option is
312 useful to delete hashed hosts (see the -H option above).
313
314 -r hostname
315 Print the SSHFP fingerprint resource record named hostname for
316 the specified public key file.
317
318 -s ca_key
319 Certify (sign) a public key using the specified CA key. Please
320 see the CERTIFICATES section for details.
321
322 When generating a KRL, -s specifies a path to a CA public key
323 file used to revoke certificates directly by key ID or serial
324 number. See the KEY REVOCATION LISTS section for details.
325
326 -t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa
327 Specifies the type of key to create. The possible values are
328 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-^].
329
330 This flag may also be used to specify the desired signature type
331 when signing certificates using an RSA CA key. The available RSA
332 signature variants are M-bM-^@M-^\ssh-rsaM-bM-^@M-^] (SHA1 signatures, not
333 recommended), M-bM-^@M-^\rsa-sha2-256M-bM-^@M-^], and M-bM-^@M-^\rsa-sha2-512M-bM-^@M-^] (the default).
334
335 -U When used in combination with -s, this option indicates that a CA
336 key resides in a ssh-agent(1). See the CERTIFICATES section for
337 more information.
338
339 -u Update a KRL. When specified with -k, keys listed via the
340 command line are added to the existing KRL rather than a new KRL
341 being created.
342
343 -V validity_interval
344 Specify a validity interval when signing a certificate. A
345 validity interval may consist of a single time, indicating that
346 the certificate is valid beginning now and expiring at that time,
347 or may consist of two times separated by a colon to indicate an
348 explicit time interval.
349
350 The start time may be specified as the string M-bM-^@M-^\alwaysM-bM-^@M-^] to
351 indicate the certificate has no specified start time, a date in
352 YYYYMMDD format, a time in YYYYMMDDHHMM[SS] format, a relative
353 time (to the current time) consisting of a minus sign followed by
354 an interval in the format described in the TIME FORMATS section
355 of sshd_config(5).
356
357 The end time may be specified as a YYYYMMDD date, a
358 YYYYMMDDHHMM[SS] time, a relative time starting with a plus
359 character or the string M-bM-^@M-^\foreverM-bM-^@M-^] to indicate that the
360 certificate has no expiry date.
361
362 For example: M-bM-^@M-^\+52w1dM-bM-^@M-^] (valid from now to 52 weeks and one day
363 from now), M-bM-^@M-^\-4w:+4wM-bM-^@M-^] (valid from four weeks ago to four weeks
364 from now), M-bM-^@M-^\20100101123000:20110101123000M-bM-^@M-^] (valid from 12:30 PM,
365 January 1st, 2010 to 12:30 PM, January 1st, 2011), M-bM-^@M-^\-1d:20110101M-bM-^@M-^]
366 (valid from yesterday to midnight, January 1st, 2011).
367 M-bM-^@M-^\-1m:foreverM-bM-^@M-^] (valid from one minute ago and never expiring).
368
369 -v Verbose mode. Causes ssh-keygen to print debugging messages
370 about its progress. This is helpful for debugging moduli
371 generation. Multiple -v options increase the verbosity. The
372 maximum is 3.
373
374 -w provider
375 Specifies a path to a library that will be used when creating
376 FIDO authenticator-hosted keys, overriding the default of using
377 the internal USB HID support.
378
379 -Y find-principals
380 Find the principal(s) associated with the public key of a
381 signature, provided using the -s flag in an authorized signers
382 file provided using the -f flag. The format of the allowed
383 signers file is documented in the ALLOWED SIGNERS section below.
384 If one or more matching principals are found, they are returned
385 on standard output.
386
387 -Y check-novalidate
388 Checks that a signature generated using ssh-keygen -Y sign has a
389 valid structure. This does not validate if a signature comes
390 from an authorized signer. When testing a signature, ssh-keygen
391 accepts a message on standard input and a signature namespace
392 using -n. A file containing the corresponding signature must
393 also be supplied using the -s flag. Successful testing of the
394 signature is signalled by ssh-keygen returning a zero exit
395 status.
396
397 -Y sign
398 Cryptographically sign a file or some data using a SSH key. When
399 signing, ssh-keygen accepts zero or more files to sign on the
400 command-line - if no files are specified then ssh-keygen will
401 sign data presented on standard input. Signatures are written to
402 the path of the input file with M-bM-^@M-^\.sigM-bM-^@M-^] appended, or to standard
403 output if the message to be signed was read from standard input.
404
405 The key used for signing is specified using the -f option and may
406 refer to either a private key, or a public key with the private
407 half available via ssh-agent(1). An additional signature
408 namespace, used to prevent signature confusion across different
409 domains of use (e.g. file signing vs email signing) must be
410 provided via the -n flag. Namespaces are arbitrary strings, and
411 may include: M-bM-^@M-^\fileM-bM-^@M-^] for file signing, M-bM-^@M-^\emailM-bM-^@M-^] for email signing.
412 For custom uses, it is recommended to use names following a
413 NAMESPACE@YOUR.DOMAIN pattern to generate unambiguous namespaces.
414
415 -Y verify
416 Request to verify a signature generated using ssh-keygen -Y sign
417 as described above. When verifying a signature, ssh-keygen
418 accepts a message on standard input and a signature namespace
419 using -n. A file containing the corresponding signature must
420 also be supplied using the -s flag, along with the identity of
421 the signer using -I and a list of allowed signers via the -f
422 flag. The format of the allowed signers file is documented in
423 the ALLOWED SIGNERS section below. A file containing revoked
424 keys can be passed using the -r flag. The revocation file may be
425 a KRL or a one-per-line list of public keys. Successful
426 verification by an authorized signer is signalled by ssh-keygen
427 returning a zero exit status.
428
429 -y This option will read a private OpenSSH format file and print an
430 OpenSSH public key to stdout.
431
432 -z serial_number
433 Specifies a serial number to be embedded in the certificate to
434 distinguish this certificate from others from the same CA. If
435 the serial_number is prefixed with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the
436 serial number will be incremented for each certificate signed on
437 a single command-line. The default serial number is zero.
438
439 When generating a KRL, the -z flag is used to specify a KRL
440 version number.
441
442MODULI GENERATION
443 ssh-keygen may be used to generate groups for the Diffie-Hellman Group
444 Exchange (DH-GEX) protocol. Generating these groups is a two-step
445 process: first, candidate primes are generated using a fast, but memory
446 intensive process. These candidate primes are then tested for
447 suitability (a CPU-intensive process).
448
449 Generation of primes is performed using the -M generate option. The
450 desired length of the primes may be specified by the -O bits option. For
451 example:
452
453 # ssh-keygen -M generate -O bits=2048 moduli-2048.candidates
454
455 By default, the search for primes begins at a random point in the desired
456 length range. This may be overridden using the -O start option, which
457 specifies a different start point (in hex).
458
459 Once a set of candidates have been generated, they must be screened for
460 suitability. This may be performed using the -M screen option. In this
461 mode ssh-keygen will read candidates from standard input (or a file
462 specified using the -f option). For example:
463
464 # ssh-keygen -M screen -f moduli-2048.candidates moduli-2048
465
466 By default, each candidate will be subjected to 100 primality tests.
467 This may be overridden using the -O prime-tests option. The DH generator
468 value will be chosen automatically for the prime under consideration. If
469 a specific generator is desired, it may be requested using the -O
470 generator option. Valid generator values are 2, 3, and 5.
471
472 Screened DH groups may be installed in /etc/moduli. It is important that
473 this file contains moduli of a range of bit lengths and that both ends of
474 a connection share common moduli.
475
476 A number of options are available for moduli generation and screening via
477 the -O flag:
478
479 lines=number
480 Exit after screening the specified number of lines while
481 performing DH candidate screening.
482
483 start-line=line-number
484 Start screening at the specified line number while performing DH
485 candidate screening.
486
487 checkpoint=filename
488 Write the last line processed to the specified file while
489 performing DH candidate screening. This will be used to skip
490 lines in the input file that have already been processed if the
491 job is restarted.
492
493 memory=mbytes
494 Specify the amount of memory to use (in megabytes) when
495 generating candidate moduli for DH-GEX.
496
497 start=hex-value
498 Specify start point (in hex) when generating candidate moduli for
499 DH-GEX.
500
501 generator=value
502 Specify desired generator (in decimal) when testing candidate
503 moduli for DH-GEX.
504
505CERTIFICATES
506 ssh-keygen supports signing of keys to produce certificates that may be
507 used for user or host authentication. Certificates consist of a public
508 key, some identity information, zero or more principal (user or host)
509 names and a set of options that are signed by a Certification Authority
510 (CA) key. Clients or servers may then trust only the CA key and verify
511 its signature on a certificate rather than trusting many user/host keys.
512 Note that OpenSSH certificates are a different, and much simpler, format
513 to the X.509 certificates used in ssl(8).
514
515 ssh-keygen supports two types of certificates: user and host. User
516 certificates authenticate users to servers, whereas host certificates
517 authenticate server hosts to users. To generate a user certificate:
518
519 $ ssh-keygen -s /path/to/ca_key -I key_id /path/to/user_key.pub
520
521 The resultant certificate will be placed in /path/to/user_key-cert.pub.
522 A host certificate requires the -h option:
523
524 $ ssh-keygen -s /path/to/ca_key -I key_id -h /path/to/host_key.pub
525
526 The host certificate will be output to /path/to/host_key-cert.pub.
527
528 It is possible to sign using a CA key stored in a PKCS#11 token by
529 providing the token library using -D and identifying the CA key by
530 providing its public half as an argument to -s:
531
532 $ ssh-keygen -s ca_key.pub -D libpkcs11.so -I key_id user_key.pub
533
534 Similarly, it is possible for the CA key to be hosted in a ssh-agent(1).
535 This is indicated by the -U flag and, again, the CA key must be
536 identified by its public half.
537
538 $ ssh-keygen -Us ca_key.pub -I key_id user_key.pub
539
540 In all cases, key_id is a "key identifier" that is logged by the server
541 when the certificate is used for authentication.
542
543 Certificates may be limited to be valid for a set of principal
544 (user/host) names. By default, generated certificates are valid for all
545 users or hosts. To generate a certificate for a specified set of
546 principals:
547
548 $ ssh-keygen -s ca_key -I key_id -n user1,user2 user_key.pub
549 $ ssh-keygen -s ca_key -I key_id -h -n host.domain host_key.pub
550
551 Additional limitations on the validity and use of user certificates may
552 be specified through certificate options. A certificate option may
553 disable features of the SSH session, may be valid only when presented
554 from particular source addresses or may force the use of a specific
555 command.
556
557 The options that are valid for user certificates are:
558
559 clear Clear all enabled permissions. This is useful for clearing the
560 default set of permissions so permissions may be added
561 individually.
562
563 critical:name[=contents]
564 extension:name[=contents]
565 Includes an arbitrary certificate critical option or extension.
566 The specified name should include a domain suffix, e.g.
567 M-bM-^@M-^\name@example.comM-bM-^@M-^]. If contents is specified then it is included
568 as the contents of the extension/option encoded as a string,
569 otherwise the extension/option is created with no contents
570 (usually indicating a flag). Extensions may be ignored by a
571 client or server that does not recognise them, whereas unknown
572 critical options will cause the certificate to be refused.
573
574 force-command=command
575 Forces the execution of command instead of any shell or command
576 specified by the user when the certificate is used for
577 authentication.
578
579 no-agent-forwarding
580 Disable ssh-agent(1) forwarding (permitted by default).
581
582 no-port-forwarding
583 Disable port forwarding (permitted by default).
584
585 no-pty Disable PTY allocation (permitted by default).
586
587 no-user-rc
588 Disable execution of ~/.ssh/rc by sshd(8) (permitted by default).
589
590 no-x11-forwarding
591 Disable X11 forwarding (permitted by default).
592
593 permit-agent-forwarding
594 Allows ssh-agent(1) forwarding.
595
596 permit-port-forwarding
597 Allows port forwarding.
598
599 permit-pty
600 Allows PTY allocation.
601
602 permit-user-rc
603 Allows execution of ~/.ssh/rc by sshd(8).
604
605 permit-X11-forwarding
606 Allows X11 forwarding.
607
608 no-touch-required
609 Do not require signatures made using this key require
610 demonstration of user presence (e.g. by having the user touch the
611 authenticator). This option only makes sense for the FIDO
612 authenticator algorithms ecdsa-sk and ed25519-sk.
613
614 source-address=address_list
615 Restrict the source addresses from which the certificate is
616 considered valid. The address_list is a comma-separated list of
617 one or more address/netmask pairs in CIDR format.
618
619 At present, no standard options are valid for host keys.
620
621 Finally, certificates may be defined with a validity lifetime. The -V
622 option allows specification of certificate start and end times. A
623 certificate that is presented at a time outside this range will not be
624 considered valid. By default, certificates are valid from UNIX Epoch to
625 the distant future.
626
627 For certificates to be used for user or host authentication, the CA
628 public key must be trusted by sshd(8) or ssh(1). Please refer to those
629 manual pages for details.
630
631KEY REVOCATION LISTS
632 ssh-keygen is able to manage OpenSSH format Key Revocation Lists (KRLs).
633 These binary files specify keys or certificates to be revoked using a
634 compact format, taking as little as one bit per certificate if they are
635 being revoked by serial number.
636
637 KRLs may be generated using the -k flag. This option reads one or more
638 files from the command line and generates a new KRL. The files may
639 either contain a KRL specification (see below) or public keys, listed one
640 per line. Plain public keys are revoked by listing their hash or
641 contents in the KRL and certificates revoked by serial number or key ID
642 (if the serial is zero or not available).
643
644 Revoking keys using a KRL specification offers explicit control over the
645 types of record used to revoke keys and may be used to directly revoke
646 certificates by serial number or key ID without having the complete
647 original certificate on hand. A KRL specification consists of lines
648 containing one of the following directives followed by a colon and some
649 directive-specific information.
650
651 serial: serial_number[-serial_number]
652 Revokes a certificate with the specified serial number. Serial
653 numbers are 64-bit values, not including zero and may be
654 expressed in decimal, hex or octal. If two serial numbers are
655 specified separated by a hyphen, then the range of serial numbers
656 including and between each is revoked. The CA key must have been
657 specified on the ssh-keygen command line using the -s option.
658
659 id: key_id
660 Revokes a certificate with the specified key ID string. The CA
661 key must have been specified on the ssh-keygen command line using
662 the -s option.
663
664 key: public_key
665 Revokes the specified key. If a certificate is listed, then it
666 is revoked as a plain public key.
667
668 sha1: public_key
669 Revokes the specified key by including its SHA1 hash in the KRL.
670
671 sha256: public_key
672 Revokes the specified key by including its SHA256 hash in the
673 KRL. KRLs that revoke keys by SHA256 hash are not supported by
674 OpenSSH versions prior to 7.9.
675
676 hash: fingerprint
677 Revokes a key using a fingerprint hash, as obtained from a
678 sshd(8) authentication log message or the ssh-keygen -l flag.
679 Only SHA256 fingerprints are supported here and resultant KRLs
680 are not supported by OpenSSH versions prior to 7.9.
681
682 KRLs may be updated using the -u flag in addition to -k. When this
683 option is specified, keys listed via the command line are merged into the
684 KRL, adding to those already there.
685
686 It is also possible, given a KRL, to test whether it revokes a particular
687 key (or keys). The -Q flag will query an existing KRL, testing each key
688 specified on the command line. If any key listed on the command line has
689 been revoked (or an error encountered) then ssh-keygen will exit with a
690 non-zero exit status. A zero exit status will only be returned if no key
691 was revoked.
692
693ALLOWED SIGNERS
694 When verifying signatures, ssh-keygen uses a simple list of identities
695 and keys to determine whether a signature comes from an authorized
696 source. This "allowed signers" file uses a format patterned after the
697 AUTHORIZED_KEYS FILE FORMAT described in sshd(8). Each line of the file
698 contains the following space-separated fields: principals, options,
699 keytype, base64-encoded key. Empty lines and lines starting with a M-bM-^@M-^X#M-bM-^@M-^Y
700 are ignored as comments.
701
702 The principals field is a pattern-list (See PATTERNS in ssh_config(5))
703 consisting of one or more comma-separated USER@DOMAIN identity patterns
704 that are accepted for signing. When verifying, the identity presented
705 via the -I option must match a principals pattern in order for the
706 corresponding key to be considered acceptable for verification.
707
708 The options (if present) consist of comma-separated option
709 specifications. No spaces are permitted, except within double quotes.
710 The following option specifications are supported (note that option
711 keywords are case-insensitive):
712
713 cert-authority
714 Indicates that this key is accepted as a certificate authority
715 (CA) and that certificates signed by this CA may be accepted for
716 verification.
717
718 namespaces="namespace-list"
719 Specifies a pattern-list of namespaces that are accepted for this
720 key. If this option is present, the signature namespace embedded
721 in the signature object and presented on the verification
722 command-line must match the specified list before the key will be
723 considered acceptable.
724
725 When verifying signatures made by certificates, the expected principal
726 name must match both the principals pattern in the allowed signers file
727 and the principals embedded in the certificate itself.
728
729 An example allowed signers file:
730
731 # Comments allowed at start of line
732 user1@example.com,user2@example.com ssh-rsa AAAAX1...
733 # A certificate authority, trusted for all principals in a domain.
734 *@example.com cert-authority ssh-ed25519 AAAB4...
735 # A key that is accepted only for file signing.
736 user2@example.com namespaces="file" ssh-ed25519 AAA41...
737
738ENVIRONMENT
739 SSH_SK_PROVIDER
740 Specifies a path to a library that will be used when loading any
741 FIDO authenticator-hosted keys, overriding the default of using
742 the built-in USB HID support.
743
744FILES
745 ~/.ssh/id_dsa
746 ~/.ssh/id_ecdsa
747 ~/.ssh/id_ecdsa_sk
748 ~/.ssh/id_ed25519
749 ~/.ssh/id_ed25519_sk
750 ~/.ssh/id_rsa
751 Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519,
752 authenticator-hosted Ed25519 or RSA authentication identity of
753 the user. This file should not be readable by anyone but the
754 user. It is possible to specify a passphrase when generating the
755 key; that passphrase will be used to encrypt the private part of
756 this file using 128-bit AES. This file is not automatically
757 accessed by ssh-keygen but it is offered as the default file for
758 the private key. ssh(1) will read this file when a login attempt
759 is made.
760
761 ~/.ssh/id_dsa.pub
762 ~/.ssh/id_ecdsa.pub
763 ~/.ssh/id_ecdsa_sk.pub
764 ~/.ssh/id_ed25519.pub
765 ~/.ssh/id_ed25519_sk.pub
766 ~/.ssh/id_rsa.pub
767 Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519,
768 authenticator-hosted Ed25519 or RSA public key for
769 authentication. The contents of this file should be added to
770 ~/.ssh/authorized_keys on all machines where the user wishes to
771 log in using public key authentication. There is no need to keep
772 the contents of this file secret.
773
774 /etc/moduli
775 Contains Diffie-Hellman groups used for DH-GEX. The file format
776 is described in moduli(5).
777
778SEE ALSO
779 ssh(1), ssh-add(1), ssh-agent(1), moduli(5), sshd(8)
780
781 The Secure Shell (SSH) Public Key File Format, RFC 4716, 2006.
782
783AUTHORS
784 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
785 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
786 de Raadt and Dug Song removed many bugs, re-added newer features and
787 created OpenSSH. Markus Friedl contributed the support for SSH protocol
788 versions 1.5 and 2.0.
789
790OpenBSD 6.7 April 3, 2020 OpenBSD 6.7
diff --git a/ssh-keyscan.0 b/ssh-keyscan.0
new file mode 100644
index 000000000..3bf9fa3aa
--- /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.7 November 30, 2019 OpenBSD 6.7
diff --git a/ssh-keysign.0 b/ssh-keysign.0
new file mode 100644
index 000000000..c2a5dfdb1
--- /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.7 November 30, 2019 OpenBSD 6.7
diff --git a/ssh-pkcs11-helper.0 b/ssh-pkcs11-helper.0
new file mode 100644
index 000000000..c6698046d
--- /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.7 November 30, 2019 OpenBSD 6.7
diff --git a/ssh-sk-helper.0 b/ssh-sk-helper.0
new file mode 100644
index 000000000..2766848e3
--- /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.7 December 21, 2019 OpenBSD 6.7
diff --git a/ssh.0 b/ssh.0
new file mode 100644
index 000000000..474bb1e2e
--- /dev/null
+++ b/ssh.0
@@ -0,0 +1,992 @@
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. If
113 set to M-bM-^@M-^\noneM-bM-^@M-^], no configuration files will be read.
114
115 -f Requests ssh to go to background just before command execution.
116 This is useful if ssh is going to ask for passwords or
117 passphrases, but the user wants it in the background. This
118 implies -n. The recommended way to start X11 programs at a
119 remote site is with something like ssh -f host xterm.
120
121 If the ExitOnForwardFailure configuration option is set to M-bM-^@M-^\yesM-bM-^@M-^],
122 then a client started with -f will wait for all remote port
123 forwards to be successfully established before placing itself in
124 the background.
125
126 -G Causes ssh to print its configuration after evaluating Host and
127 Match blocks and exit.
128
129 -g Allows remote hosts to connect to local forwarded ports. If used
130 on a multiplexed connection, then this option must be specified
131 on the master process.
132
133 -I pkcs11
134 Specify the PKCS#11 shared library ssh should use to communicate
135 with a PKCS#11 token providing keys for user authentication.
136
137 -i identity_file
138 Selects a file from which the identity (private key) for public
139 key authentication is read. The default is ~/.ssh/id_dsa,
140 ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519,
141 ~/.ssh/id_ed25519_sk and ~/.ssh/id_rsa. Identity files may also
142 be specified on a per-host basis in the configuration file. It
143 is possible to have multiple -i options (and multiple identities
144 specified in configuration files). If no certificates have been
145 explicitly specified by the CertificateFile directive, ssh will
146 also try to load certificate information from the filename
147 obtained by appending -cert.pub to identity filenames.
148
149 -J destination
150 Connect to the target host by first making a ssh connection to
151 the jump host described by destination and then establishing a
152 TCP forwarding to the ultimate destination from there. Multiple
153 jump hops may be specified separated by comma characters. This
154 is a shortcut to specify a ProxyJump configuration directive.
155 Note that configuration directives supplied on the command-line
156 generally apply to the destination host and not any specified
157 jump hosts. Use ~/.ssh/config to specify configuration for jump
158 hosts.
159
160 -K Enables GSSAPI-based authentication and forwarding (delegation)
161 of GSSAPI credentials to the server.
162
163 -k Disables forwarding (delegation) of GSSAPI credentials to the
164 server.
165
166 -L [bind_address:]port:host:hostport
167 -L [bind_address:]port:remote_socket
168 -L local_socket:host:hostport
169 -L local_socket:remote_socket
170 Specifies that connections to the given TCP port or Unix socket
171 on the local (client) host are to be forwarded to the given host
172 and port, or Unix socket, on the remote side. This works by
173 allocating a socket to listen to either a TCP port on the local
174 side, optionally bound to the specified bind_address, or to a
175 Unix socket. Whenever a connection is made to the local port or
176 socket, the connection is forwarded over the secure channel, and
177 a connection is made to either host port hostport, or the Unix
178 socket remote_socket, from the remote machine.
179
180 Port forwardings can also be specified in the configuration file.
181 Only the superuser can forward privileged ports. IPv6 addresses
182 can be specified by enclosing the address in square brackets.
183
184 By default, the local port is bound in accordance with the
185 GatewayPorts setting. However, an explicit bind_address may be
186 used to bind the connection to a specific address. The
187 bind_address of M-bM-^@M-^\localhostM-bM-^@M-^] indicates that the listening port be
188 bound for local use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates
189 that the port should be available from all interfaces.
190
191 -l login_name
192 Specifies the user to log in as on the remote machine. This also
193 may be specified on a per-host basis in the configuration file.
194
195 -M Places the ssh client into M-bM-^@M-^\masterM-bM-^@M-^] mode for connection sharing.
196 Multiple -M options places ssh into M-bM-^@M-^\masterM-bM-^@M-^] mode but with
197 confirmation required using ssh-askpass(1) before each operation
198 that changes the multiplexing state (e.g. opening a new session).
199 Refer to the description of ControlMaster in ssh_config(5) for
200 details.
201
202 -m mac_spec
203 A comma-separated list of MAC (message authentication code)
204 algorithms, specified in order of preference. See the MACs
205 keyword for more information.
206
207 -N Do not execute a remote command. This is useful for just
208 forwarding ports.
209
210 -n Redirects stdin from /dev/null (actually, prevents reading from
211 stdin). This must be used when ssh is run in the background. A
212 common trick is to use this to run X11 programs on a remote
213 machine. For example, ssh -n shadows.cs.hut.fi emacs & will
214 start an emacs on shadows.cs.hut.fi, and the X11 connection will
215 be automatically forwarded over an encrypted channel. The ssh
216 program will be put in the background. (This does not work if
217 ssh needs to ask for a password or passphrase; see also the -f
218 option.)
219
220 -O ctl_cmd
221 Control an active connection multiplexing master process. When
222 the -O option is specified, the ctl_cmd argument is interpreted
223 and passed to the master process. Valid commands are: M-bM-^@M-^\checkM-bM-^@M-^]
224 (check that the master process is running), M-bM-^@M-^\forwardM-bM-^@M-^] (request
225 forwardings without command execution), M-bM-^@M-^\cancelM-bM-^@M-^] (cancel
226 forwardings), M-bM-^@M-^\exitM-bM-^@M-^] (request the master to exit), and M-bM-^@M-^\stopM-bM-^@M-^]
227 (request the master to stop accepting further multiplexing
228 requests).
229
230 -o option
231 Can be used to give options in the format used in the
232 configuration file. This is useful for specifying options for
233 which there is no separate command-line flag. For full details
234 of the options listed below, and their possible values, see
235 ssh_config(5).
236
237 AddKeysToAgent
238 AddressFamily
239 BatchMode
240 BindAddress
241 CanonicalDomains
242 CanonicalizeFallbackLocal
243 CanonicalizeHostname
244 CanonicalizeMaxDots
245 CanonicalizePermittedCNAMEs
246 CASignatureAlgorithms
247 CertificateFile
248 ChallengeResponseAuthentication
249 CheckHostIP
250 Ciphers
251 ClearAllForwardings
252 Compression
253 ConnectionAttempts
254 ConnectTimeout
255 ControlMaster
256 ControlPath
257 ControlPersist
258 DynamicForward
259 EscapeChar
260 ExitOnForwardFailure
261 FingerprintHash
262 ForwardAgent
263 ForwardX11
264 ForwardX11Timeout
265 ForwardX11Trusted
266 GatewayPorts
267 GlobalKnownHostsFile
268 GSSAPIAuthentication
269 GSSAPIDelegateCredentials
270 HashKnownHosts
271 Host
272 HostbasedAuthentication
273 HostbasedKeyTypes
274 HostKeyAlgorithms
275 HostKeyAlias
276 Hostname
277 IdentitiesOnly
278 IdentityAgent
279 IdentityFile
280 IPQoS
281 KbdInteractiveAuthentication
282 KbdInteractiveDevices
283 KexAlgorithms
284 LocalCommand
285 LocalForward
286 LogLevel
287 MACs
288 Match
289 NoHostAuthenticationForLocalhost
290 NumberOfPasswordPrompts
291 PasswordAuthentication
292 PermitLocalCommand
293 PKCS11Provider
294 Port
295 PreferredAuthentications
296 ProxyCommand
297 ProxyJump
298 ProxyUseFdpass
299 PubkeyAcceptedKeyTypes
300 PubkeyAuthentication
301 RekeyLimit
302 RemoteCommand
303 RemoteForward
304 RequestTTY
305 SendEnv
306 ServerAliveInterval
307 ServerAliveCountMax
308 SetEnv
309 StreamLocalBindMask
310 StreamLocalBindUnlink
311 StrictHostKeyChecking
312 TCPKeepAlive
313 Tunnel
314 TunnelDevice
315 UpdateHostKeys
316 User
317 UserKnownHostsFile
318 VerifyHostKeyDNS
319 VisualHostKey
320 XAuthLocation
321
322 -p port
323 Port to connect to on the remote host. This can be specified on
324 a per-host basis in the configuration file.
325
326 -Q query_option
327 Queries ssh for the algorithms supported for the specified
328 version 2. The available features are: cipher (supported
329 symmetric ciphers), cipher-auth (supported symmetric ciphers that
330 support authenticated encryption), help (supported query terms
331 for use with the -Q flag), mac (supported message integrity
332 codes), kex (key exchange algorithms), key (key types), key-cert
333 (certificate key types), key-plain (non-certificate key types),
334 key-sig (all key types and signature algorithms),
335 protocol-version (supported SSH protocol versions), and sig
336 (supported signature algorithms). Alternatively, any keyword
337 from ssh_config(5) or sshd_config(5) that takes an algorithm list
338 may be used as an alias for the corresponding query_option.
339
340 -q Quiet mode. Causes most warning and diagnostic messages to be
341 suppressed.
342
343 -R [bind_address:]port:host:hostport
344 -R [bind_address:]port:local_socket
345 -R remote_socket:host:hostport
346 -R remote_socket:local_socket
347 -R [bind_address:]port
348 Specifies that connections to the given TCP port or Unix socket
349 on the remote (server) host are to be forwarded to the local
350 side.
351
352 This works by allocating a socket to listen to either a TCP port
353 or to a Unix socket on the remote side. Whenever a connection is
354 made to this port or Unix socket, the connection is forwarded
355 over the secure channel, and a connection is made from the local
356 machine to either an explicit destination specified by host port
357 hostport, or local_socket, or, if no explicit destination was
358 specified, ssh will act as a SOCKS 4/5 proxy and forward
359 connections to the destinations requested by the remote SOCKS
360 client.
361
362 Port forwardings can also be specified in the configuration file.
363 Privileged ports can be forwarded only when logging in as root on
364 the remote machine. IPv6 addresses can be specified by enclosing
365 the address in square brackets.
366
367 By default, TCP listening sockets on the server will be bound to
368 the loopback interface only. This may be overridden by
369 specifying a bind_address. An empty bind_address, or the address
370 M-bM-^@M-^X*M-bM-^@M-^Y, indicates that the remote socket should listen on all
371 interfaces. Specifying a remote bind_address will only succeed
372 if the server's GatewayPorts option is enabled (see
373 sshd_config(5)).
374
375 If the port argument is M-bM-^@M-^X0M-bM-^@M-^Y, the listen port will be dynamically
376 allocated on the server and reported to the client at run time.
377 When used together with -O forward the allocated port will be
378 printed to the standard output.
379
380 -S ctl_path
381 Specifies the location of a control socket for connection
382 sharing, or the string M-bM-^@M-^\noneM-bM-^@M-^] to disable connection sharing.
383 Refer to the description of ControlPath and ControlMaster in
384 ssh_config(5) for details.
385
386 -s May be used to request invocation of a subsystem on the remote
387 system. Subsystems facilitate the use of SSH as a secure
388 transport for other applications (e.g. sftp(1)). The subsystem
389 is specified as the remote command.
390
391 -T Disable pseudo-terminal allocation.
392
393 -t Force pseudo-terminal allocation. This can be used to execute
394 arbitrary screen-based programs on a remote machine, which can be
395 very useful, e.g. when implementing menu services. Multiple -t
396 options force tty allocation, even if ssh has no local tty.
397
398 -V Display the version number and exit.
399
400 -v Verbose mode. Causes ssh to print debugging messages about its
401 progress. This is helpful in debugging connection,
402 authentication, and configuration problems. Multiple -v options
403 increase the verbosity. The maximum is 3.
404
405 -W host:port
406 Requests that standard input and output on the client be
407 forwarded to host on port over the secure channel. Implies -N,
408 -T, ExitOnForwardFailure and ClearAllForwardings, though these
409 can be overridden in the configuration file or using -o command
410 line options.
411
412 -w local_tun[:remote_tun]
413 Requests tunnel device forwarding with the specified tun(4)
414 devices between the client (local_tun) and the server
415 (remote_tun).
416
417 The devices may be specified by numerical ID or the keyword
418 M-bM-^@M-^\anyM-bM-^@M-^], which uses the next available tunnel device. If
419 remote_tun is not specified, it defaults to M-bM-^@M-^\anyM-bM-^@M-^]. See also the
420 Tunnel and TunnelDevice directives in ssh_config(5).
421
422 If the Tunnel directive is unset, it will be set to the default
423 tunnel mode, which is M-bM-^@M-^\point-to-pointM-bM-^@M-^]. If a different Tunnel
424 forwarding mode it desired, then it should be specified before
425 -w.
426
427 -X Enables X11 forwarding. This can also be specified on a per-host
428 basis in a configuration file.
429
430 X11 forwarding should be enabled with caution. Users with the
431 ability to bypass file permissions on the remote host (for the
432 user's X authorization database) can access the local X11 display
433 through the forwarded connection. An attacker may then be able
434 to perform activities such as keystroke monitoring.
435
436 For this reason, X11 forwarding is subjected to X11 SECURITY
437 extension restrictions by default. Please refer to the ssh -Y
438 option and the ForwardX11Trusted directive in ssh_config(5) for
439 more information.
440
441 -x Disables X11 forwarding.
442
443 -Y Enables trusted X11 forwarding. Trusted X11 forwardings are not
444 subjected to the X11 SECURITY extension controls.
445
446 -y Send log information using the syslog(3) system module. By
447 default this information is sent to stderr.
448
449 ssh may additionally obtain configuration data from a per-user
450 configuration file and a system-wide configuration file. The file format
451 and configuration options are described in ssh_config(5).
452
453AUTHENTICATION
454 The OpenSSH SSH client supports SSH protocol 2.
455
456 The methods available for authentication are: GSSAPI-based
457 authentication, host-based authentication, public key authentication,
458 challenge-response authentication, and password authentication.
459 Authentication methods are tried in the order specified above, though
460 PreferredAuthentications can be used to change the default order.
461
462 Host-based authentication works as follows: If the machine the user logs
463 in from is listed in /etc/hosts.equiv or /etc/shosts.equiv on the remote
464 machine, the user is non-root and the user names are the same on both
465 sides, or if the files ~/.rhosts or ~/.shosts exist in the user's home
466 directory on the remote machine and contain a line containing the name of
467 the client machine and the name of the user on that machine, the user is
468 considered for login. Additionally, the server must be able to verify
469 the client's host key (see the description of /etc/ssh/ssh_known_hosts
470 and ~/.ssh/known_hosts, below) for login to be permitted. This
471 authentication method closes security holes due to IP spoofing, DNS
472 spoofing, and routing spoofing. [Note to the administrator:
473 /etc/hosts.equiv, ~/.rhosts, and the rlogin/rsh protocol in general, are
474 inherently insecure and should be disabled if security is desired.]
475
476 Public key authentication works as follows: The scheme is based on
477 public-key cryptography, using cryptosystems where encryption and
478 decryption are done using separate keys, and it is unfeasible to derive
479 the decryption key from the encryption key. The idea is that each user
480 creates a public/private key pair for authentication purposes. The
481 server knows the public key, and only the user knows the private key.
482 ssh implements public key authentication protocol automatically, using
483 one of the DSA, ECDSA, Ed25519 or RSA algorithms. The HISTORY section of
484 ssl(8) contains a brief discussion of the DSA and RSA algorithms.
485
486 The file ~/.ssh/authorized_keys lists the public keys that are permitted
487 for logging in. When the user logs in, the ssh program tells the server
488 which key pair it would like to use for authentication. The client
489 proves that it has access to the private key and the server checks that
490 the corresponding public key is authorized to accept the account.
491
492 The server may inform the client of errors that prevented public key
493 authentication from succeeding after authentication completes using a
494 different method. These may be viewed by increasing the LogLevel to
495 DEBUG or higher (e.g. by using the -v flag).
496
497 The user creates his/her key pair by running ssh-keygen(1). This stores
498 the private key in ~/.ssh/id_dsa (DSA), ~/.ssh/id_ecdsa (ECDSA),
499 ~/.ssh/id_ecdsa_sk (authenticator-hosted ECDSA), ~/.ssh/id_ed25519
500 (Ed25519), ~/.ssh/id_ed25519_sk (authenticator-hosted Ed25519), or
501 ~/.ssh/id_rsa (RSA) and stores the public key in ~/.ssh/id_dsa.pub (DSA),
502 ~/.ssh/id_ecdsa.pub (ECDSA), ~/.ssh/id_ecdsa_sk.pub (authenticator-hosted
503 ECDSA), ~/.ssh/id_ed25519.pub (Ed25519), ~/.ssh/id_ed25519_sk.pub
504 (authenticator-hosted Ed25519), or ~/.ssh/id_rsa.pub (RSA) in the user's
505 home directory. The user should then copy the public key to
506 ~/.ssh/authorized_keys in his/her home directory on the remote machine.
507 The authorized_keys file corresponds to the conventional ~/.rhosts file,
508 and has one key per line, though the lines can be very long. After this,
509 the user can log in without giving the password.
510
511 A variation on public key authentication is available in the form of
512 certificate authentication: instead of a set of public/private keys,
513 signed certificates are used. This has the advantage that a single
514 trusted certification authority can be used in place of many
515 public/private keys. See the CERTIFICATES section of ssh-keygen(1) for
516 more information.
517
518 The most convenient way to use public key or certificate authentication
519 may be with an authentication agent. See ssh-agent(1) and (optionally)
520 the AddKeysToAgent directive in ssh_config(5) for more information.
521
522 Challenge-response authentication works as follows: The server sends an
523 arbitrary "challenge" text, and prompts for a response. Examples of
524 challenge-response authentication include BSD Authentication (see
525 login.conf(5)) and PAM (some non-OpenBSD systems).
526
527 Finally, if other authentication methods fail, ssh prompts the user for a
528 password. The password is sent to the remote host for checking; however,
529 since all communications are encrypted, the password cannot be seen by
530 someone listening on the network.
531
532 ssh automatically maintains and checks a database containing
533 identification for all hosts it has ever been used with. Host keys are
534 stored in ~/.ssh/known_hosts in the user's home directory. Additionally,
535 the file /etc/ssh/ssh_known_hosts is automatically checked for known
536 hosts. Any new hosts are automatically added to the user's file. If a
537 host's identification ever changes, ssh warns about this and disables
538 password authentication to prevent server spoofing or man-in-the-middle
539 attacks, which could otherwise be used to circumvent the encryption. The
540 StrictHostKeyChecking option can be used to control logins to machines
541 whose host key is not known or has changed.
542
543 When the user's identity has been accepted by the server, the server
544 either executes the given command in a non-interactive session or, if no
545 command has been specified, logs into the machine and gives the user a
546 normal shell as an interactive session. All communication with the
547 remote command or shell will be automatically encrypted.
548
549 If an interactive session is requested ssh by default will only request a
550 pseudo-terminal (pty) for interactive sessions when the client has one.
551 The flags -T and -t can be used to override this behaviour.
552
553 If a pseudo-terminal has been allocated the user may use the escape
554 characters noted below.
555
556 If no pseudo-terminal has been allocated, the session is transparent and
557 can be used to reliably transfer binary data. On most systems, setting
558 the escape character to M-bM-^@M-^\noneM-bM-^@M-^] will also make the session transparent
559 even if a tty is used.
560
561 The session terminates when the command or shell on the remote machine
562 exits and all X11 and TCP connections have been closed.
563
564ESCAPE CHARACTERS
565 When a pseudo-terminal has been requested, ssh supports a number of
566 functions through the use of an escape character.
567
568 A single tilde character can be sent as ~~ or by following the tilde by a
569 character other than those described below. The escape character must
570 always follow a newline to be interpreted as special. The escape
571 character can be changed in configuration files using the EscapeChar
572 configuration directive or on the command line by the -e option.
573
574 The supported escapes (assuming the default M-bM-^@M-^X~M-bM-^@M-^Y) are:
575
576 ~. Disconnect.
577
578 ~^Z Background ssh.
579
580 ~# List forwarded connections.
581
582 ~& Background ssh at logout when waiting for forwarded connection /
583 X11 sessions to terminate.
584
585 ~? Display a list of escape characters.
586
587 ~B Send a BREAK to the remote system (only useful if the peer
588 supports it).
589
590 ~C Open command line. Currently this allows the addition of port
591 forwardings using the -L, -R and -D options (see above). It also
592 allows the cancellation of existing port-forwardings with
593 -KL[bind_address:]port for local, -KR[bind_address:]port for
594 remote and -KD[bind_address:]port for dynamic port-forwardings.
595 !command allows the user to execute a local command if the
596 PermitLocalCommand option is enabled in ssh_config(5). Basic
597 help is available, using the -h option.
598
599 ~R Request rekeying of the connection (only useful if the peer
600 supports it).
601
602 ~V Decrease the verbosity (LogLevel) when errors are being written
603 to stderr.
604
605 ~v Increase the verbosity (LogLevel) when errors are being written
606 to stderr.
607
608TCP FORWARDING
609 Forwarding of arbitrary TCP connections over a secure channel can be
610 specified either on the command line or in a configuration file. One
611 possible application of TCP forwarding is a secure connection to a mail
612 server; another is going through firewalls.
613
614 In the example below, we look at encrypting communication for an IRC
615 client, even though the IRC server it connects to does not directly
616 support encrypted communication. This works as follows: the user
617 connects to the remote host using ssh, specifying the ports to be used to
618 forward the connection. After that it is possible to start the program
619 locally, and ssh will encrypt and forward the connection to the remote
620 server.
621
622 The following example tunnels an IRC session from the client to an IRC
623 server at M-bM-^@M-^\server.example.comM-bM-^@M-^], joining channel M-bM-^@M-^\#usersM-bM-^@M-^], nickname
624 M-bM-^@M-^\pinkyM-bM-^@M-^], using the standard IRC port, 6667:
625
626 $ ssh -f -L 6667:localhost:6667 server.example.com sleep 10
627 $ irc -c '#users' pinky IRC/127.0.0.1
628
629 The -f option backgrounds ssh and the remote command M-bM-^@M-^\sleep 10M-bM-^@M-^] is
630 specified to allow an amount of time (10 seconds, in the example) to
631 start the program which is going to use the tunnel. If no connections
632 are made within the time specified, ssh will exit.
633
634X11 FORWARDING
635 If the ForwardX11 variable is set to M-bM-^@M-^\yesM-bM-^@M-^] (or see the description of the
636 -X, -x, and -Y options above) and the user is using X11 (the DISPLAY
637 environment variable is set), the connection to the X11 display is
638 automatically forwarded to the remote side in such a way that any X11
639 programs started from the shell (or command) will go through the
640 encrypted channel, and the connection to the real X server will be made
641 from the local machine. The user should not manually set DISPLAY.
642 Forwarding of X11 connections can be configured on the command line or in
643 configuration files.
644
645 The DISPLAY value set by ssh will point to the server machine, but with a
646 display number greater than zero. This is normal, and happens because
647 ssh creates a M-bM-^@M-^\proxyM-bM-^@M-^] X server on the server machine for forwarding the
648 connections over the encrypted channel.
649
650 ssh will also automatically set up Xauthority data on the server machine.
651 For this purpose, it will generate a random authorization cookie, store
652 it in Xauthority on the server, and verify that any forwarded connections
653 carry this cookie and replace it by the real cookie when the connection
654 is opened. The real authentication cookie is never sent to the server
655 machine (and no cookies are sent in the plain).
656
657 If the ForwardAgent variable is set to M-bM-^@M-^\yesM-bM-^@M-^] (or see the description of
658 the -A and -a options above) and the user is using an authentication
659 agent, the connection to the agent is automatically forwarded to the
660 remote side.
661
662VERIFYING HOST KEYS
663 When connecting to a server for the first time, a fingerprint of the
664 server's public key is presented to the user (unless the option
665 StrictHostKeyChecking has been disabled). Fingerprints can be determined
666 using ssh-keygen(1):
667
668 $ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
669
670 If the fingerprint is already known, it can be matched and the key can be
671 accepted or rejected. If only legacy (MD5) fingerprints for the server
672 are available, the ssh-keygen(1) -E option may be used to downgrade the
673 fingerprint algorithm to match.
674
675 Because of the difficulty of comparing host keys just by looking at
676 fingerprint strings, there is also support to compare host keys visually,
677 using random art. By setting the VisualHostKey option to M-bM-^@M-^\yesM-bM-^@M-^], a small
678 ASCII graphic gets displayed on every login to a server, no matter if the
679 session itself is interactive or not. By learning the pattern a known
680 server produces, a user can easily find out that the host key has changed
681 when a completely different pattern is displayed. Because these patterns
682 are not unambiguous however, a pattern that looks similar to the pattern
683 remembered only gives a good probability that the host key is the same,
684 not guaranteed proof.
685
686 To get a listing of the fingerprints along with their random art for all
687 known hosts, the following command line can be used:
688
689 $ ssh-keygen -lv -f ~/.ssh/known_hosts
690
691 If the fingerprint is unknown, an alternative method of verification is
692 available: SSH fingerprints verified by DNS. An additional resource
693 record (RR), SSHFP, is added to a zonefile and the connecting client is
694 able to match the fingerprint with that of the key presented.
695
696 In this example, we are connecting a client to a server,
697 M-bM-^@M-^\host.example.comM-bM-^@M-^]. The SSHFP resource records should first be added to
698 the zonefile for host.example.com:
699
700 $ ssh-keygen -r host.example.com.
701
702 The output lines will have to be added to the zonefile. To check that
703 the zone is answering fingerprint queries:
704
705 $ dig -t SSHFP host.example.com
706
707 Finally the client connects:
708
709 $ ssh -o "VerifyHostKeyDNS ask" host.example.com
710 [...]
711 Matching host key fingerprint found in DNS.
712 Are you sure you want to continue connecting (yes/no)?
713
714 See the VerifyHostKeyDNS option in ssh_config(5) for more information.
715
716SSH-BASED VIRTUAL PRIVATE NETWORKS
717 ssh contains support for Virtual Private Network (VPN) tunnelling using
718 the tun(4) network pseudo-device, allowing two networks to be joined
719 securely. The sshd_config(5) configuration option PermitTunnel controls
720 whether the server supports this, and at what level (layer 2 or 3
721 traffic).
722
723 The following example would connect client network 10.0.50.0/24 with
724 remote network 10.0.99.0/24 using a point-to-point connection from
725 10.1.1.1 to 10.1.1.2, provided that the SSH server running on the gateway
726 to the remote network, at 192.168.1.15, allows it.
727
728 On the client:
729
730 # ssh -f -w 0:1 192.168.1.15 true
731 # ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252
732 # route add 10.0.99.0/24 10.1.1.2
733
734 On the server:
735
736 # ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252
737 # route add 10.0.50.0/24 10.1.1.1
738
739 Client access may be more finely tuned via the /root/.ssh/authorized_keys
740 file (see below) and the PermitRootLogin server option. The following
741 entry would permit connections on tun(4) device 1 from user M-bM-^@M-^\janeM-bM-^@M-^] and on
742 tun device 2 from user M-bM-^@M-^\johnM-bM-^@M-^], if PermitRootLogin is set to
743 M-bM-^@M-^\forced-commands-onlyM-bM-^@M-^]:
744
745 tunnel="1",command="sh /etc/netstart tun1" ssh-rsa ... jane
746 tunnel="2",command="sh /etc/netstart tun2" ssh-rsa ... john
747
748 Since an SSH-based setup entails a fair amount of overhead, it may be
749 more suited to temporary setups, such as for wireless VPNs. More
750 permanent VPNs are better provided by tools such as ipsecctl(8) and
751 isakmpd(8).
752
753ENVIRONMENT
754 ssh will normally set the following environment variables:
755
756 DISPLAY The DISPLAY variable indicates the location of the
757 X11 server. It is automatically set by ssh to
758 point to a value of the form M-bM-^@M-^\hostname:nM-bM-^@M-^], where
759 M-bM-^@M-^\hostnameM-bM-^@M-^] indicates the host where the shell runs,
760 and M-bM-^@M-^XnM-bM-^@M-^Y is an integer M-bM-^IM-% 1. ssh uses this special
761 value to forward X11 connections over the secure
762 channel. The user should normally not set DISPLAY
763 explicitly, as that will render the X11 connection
764 insecure (and will require the user to manually
765 copy any required authorization cookies).
766
767 HOME Set to the path of the user's home directory.
768
769 LOGNAME Synonym for USER; set for compatibility with
770 systems that use this variable.
771
772 MAIL Set to the path of the user's mailbox.
773
774 PATH Set to the default PATH, as specified when
775 compiling ssh.
776
777 SSH_ASKPASS If ssh needs a passphrase, it will read the
778 passphrase from the current terminal if it was run
779 from a terminal. If ssh does not have a terminal
780 associated with it but DISPLAY and SSH_ASKPASS are
781 set, it will execute the program specified by
782 SSH_ASKPASS and open an X11 window to read the
783 passphrase. This is particularly useful when
784 calling ssh from a .xsession or related script.
785 (Note that on some machines it may be necessary to
786 redirect the input from /dev/null to make this
787 work.)
788
789 SSH_AUTH_SOCK Identifies the path of a UNIX-domain socket used to
790 communicate with the agent.
791
792 SSH_CONNECTION Identifies the client and server ends of the
793 connection. The variable contains four space-
794 separated values: client IP address, client port
795 number, server IP address, and server port number.
796
797 SSH_ORIGINAL_COMMAND This variable contains the original command line if
798 a forced command is executed. It can be used to
799 extract the original arguments.
800
801 SSH_TTY This is set to the name of the tty (path to the
802 device) associated with the current shell or
803 command. If the current session has no tty, this
804 variable is not set.
805
806 SSH_TUNNEL Optionally set by sshd(8) to contain the interface
807 names assigned if tunnel forwarding was requested
808 by the client.
809
810 SSH_USER_AUTH Optionally set by sshd(8), this variable may
811 contain a pathname to a file that lists the
812 authentication methods successfully used when the
813 session was established, including any public keys
814 that were used.
815
816 TZ This variable is set to indicate the present time
817 zone if it was set when the daemon was started
818 (i.e. the daemon passes the value on to new
819 connections).
820
821 USER Set to the name of the user logging in.
822
823 Additionally, ssh reads ~/.ssh/environment, and adds lines of the format
824 M-bM-^@M-^\VARNAME=valueM-bM-^@M-^] to the environment if the file exists and users are
825 allowed to change their environment. For more information, see the
826 PermitUserEnvironment option in sshd_config(5).
827
828FILES
829 ~/.rhosts
830 This file is used for host-based authentication (see above). On
831 some machines this file may need to be world-readable if the
832 user's home directory is on an NFS partition, because sshd(8)
833 reads it as root. Additionally, this file must be owned by the
834 user, and must not have write permissions for anyone else. The
835 recommended permission for most machines is read/write for the
836 user, and not accessible by others.
837
838 ~/.shosts
839 This file is used in exactly the same way as .rhosts, but allows
840 host-based authentication without permitting login with
841 rlogin/rsh.
842
843 ~/.ssh/
844 This directory is the default location for all user-specific
845 configuration and authentication information. There is no
846 general requirement to keep the entire contents of this directory
847 secret, but the recommended permissions are read/write/execute
848 for the user, and not accessible by others.
849
850 ~/.ssh/authorized_keys
851 Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
852 for logging in as this user. The format of this file is
853 described in the sshd(8) manual page. This file is not highly
854 sensitive, but the recommended permissions are read/write for the
855 user, and not accessible by others.
856
857 ~/.ssh/config
858 This is the per-user configuration file. The file format and
859 configuration options are described in ssh_config(5). Because of
860 the potential for abuse, this file must have strict permissions:
861 read/write for the user, and not writable by others.
862
863 ~/.ssh/environment
864 Contains additional definitions for environment variables; see
865 ENVIRONMENT, above.
866
867 ~/.ssh/id_dsa
868 ~/.ssh/id_ecdsa
869 ~/.ssh/id_ecdsa_sk
870 ~/.ssh/id_ed25519
871 ~/.ssh/id_ed25519_sk
872 ~/.ssh/id_rsa
873 Contains the private key for authentication. These files contain
874 sensitive data and should be readable by the user but not
875 accessible by others (read/write/execute). ssh will simply
876 ignore a private key file if it is accessible by others. It is
877 possible to specify a passphrase when generating the key which
878 will be used to encrypt the sensitive part of this file using
879 AES-128.
880
881 ~/.ssh/id_dsa.pub
882 ~/.ssh/id_ecdsa.pub
883 ~/.ssh/id_ecdsa_sk.pub
884 ~/.ssh/id_ed25519.pub
885 ~/.ssh/id_ed25519_sk.pub
886 ~/.ssh/id_rsa.pub
887 Contains the public key for authentication. These files are not
888 sensitive and can (but need not) be readable by anyone.
889
890 ~/.ssh/known_hosts
891 Contains a list of host keys for all hosts the user has logged
892 into that are not already in the systemwide list of known host
893 keys. See sshd(8) for further details of the format of this
894 file.
895
896 ~/.ssh/rc
897 Commands in this file are executed by ssh when the user logs in,
898 just before the user's shell (or command) is started. See the
899 sshd(8) manual page for more information.
900
901 /etc/hosts.equiv
902 This file is for host-based authentication (see above). It
903 should only be writable by root.
904
905 /etc/shosts.equiv
906 This file is used in exactly the same way as hosts.equiv, but
907 allows host-based authentication without permitting login with
908 rlogin/rsh.
909
910 /etc/ssh/ssh_config
911 Systemwide configuration file. The file format and configuration
912 options are described in ssh_config(5).
913
914 /etc/ssh/ssh_host_key
915 /etc/ssh/ssh_host_dsa_key
916 /etc/ssh/ssh_host_ecdsa_key
917 /etc/ssh/ssh_host_ed25519_key
918 /etc/ssh/ssh_host_rsa_key
919 These files contain the private parts of the host keys and are
920 used for host-based authentication.
921
922 /etc/ssh/ssh_known_hosts
923 Systemwide list of known host keys. This file should be prepared
924 by the system administrator to contain the public host keys of
925 all machines in the organization. It should be world-readable.
926 See sshd(8) for further details of the format of this file.
927
928 /etc/ssh/sshrc
929 Commands in this file are executed by ssh when the user logs in,
930 just before the user's shell (or command) is started. See the
931 sshd(8) manual page for more information.
932
933EXIT STATUS
934 ssh exits with the exit status of the remote command or with 255 if an
935 error occurred.
936
937SEE ALSO
938 scp(1), sftp(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh-keyscan(1),
939 tun(4), ssh_config(5), ssh-keysign(8), sshd(8)
940
941STANDARDS
942 S. Lehtinen and C. Lonvick, The Secure Shell (SSH) Protocol Assigned
943 Numbers, RFC 4250, January 2006.
944
945 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Protocol Architecture,
946 RFC 4251, January 2006.
947
948 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Authentication Protocol,
949 RFC 4252, January 2006.
950
951 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Transport Layer
952 Protocol, RFC 4253, January 2006.
953
954 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Connection Protocol, RFC
955 4254, January 2006.
956
957 J. Schlyter and W. Griffin, Using DNS to Securely Publish Secure Shell
958 (SSH) Key Fingerprints, RFC 4255, January 2006.
959
960 F. Cusack and M. Forssen, Generic Message Exchange Authentication for the
961 Secure Shell Protocol (SSH), RFC 4256, January 2006.
962
963 J. Galbraith and P. Remaker, The Secure Shell (SSH) Session Channel Break
964 Extension, RFC 4335, January 2006.
965
966 M. Bellare, T. Kohno, and C. Namprempre, The Secure Shell (SSH) Transport
967 Layer Encryption Modes, RFC 4344, January 2006.
968
969 B. Harris, Improved Arcfour Modes for the Secure Shell (SSH) Transport
970 Layer Protocol, RFC 4345, January 2006.
971
972 M. Friedl, N. Provos, and W. Simpson, Diffie-Hellman Group Exchange for
973 the Secure Shell (SSH) Transport Layer Protocol, RFC 4419, March 2006.
974
975 J. Galbraith and R. Thayer, The Secure Shell (SSH) Public Key File
976 Format, RFC 4716, November 2006.
977
978 D. Stebila and J. Green, Elliptic Curve Algorithm Integration in the
979 Secure Shell Transport Layer, RFC 5656, December 2009.
980
981 A. Perrig and D. Song, Hash Visualization: a New Technique to improve
982 Real-World Security, 1999, International Workshop on Cryptographic
983 Techniques and E-Commerce (CrypTEC '99).
984
985AUTHORS
986 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
987 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
988 de Raadt and Dug Song removed many bugs, re-added newer features and
989 created OpenSSH. Markus Friedl contributed the support for SSH protocol
990 versions 1.5 and 2.0.
991
992OpenBSD 6.7 April 17, 2020 OpenBSD 6.7
diff --git a/ssh_config.0 b/ssh_config.0
new file mode 100644
index 000000000..316b2e1ef
--- /dev/null
+++ b/ssh_config.0
@@ -0,0 +1,1167 @@
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 specifies the listener and may be
663 [bind_address:]port or a Unix domain socket path. The second
664 argument is the destination and may be host:hostport or a Unix
665 domain socket path if the remote host supports it.
666
667 IPv6 addresses can be specified by enclosing addresses in square
668 brackets. Multiple forwardings may be specified, and additional
669 forwardings can be given on the command line. Only the superuser
670 can forward privileged ports. By default, the local port is
671 bound in accordance with the GatewayPorts setting. However, an
672 explicit bind_address may be used to bind the connection to a
673 specific address. The bind_address of localhost indicates that
674 the listening port be bound for local use only, while an empty
675 address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from
676 all interfaces. Unix domain socket paths accept the tokens
677 described in the TOKENS section.
678
679 LogLevel
680 Gives the verbosity level that is used when logging messages from
681 ssh(1). The possible values are: QUIET, FATAL, ERROR, INFO,
682 VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
683 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
684 higher levels of verbose output.
685
686 MACs Specifies the MAC (message authentication code) algorithms in
687 order of preference. The MAC algorithm is used for data
688 integrity protection. Multiple algorithms must be comma-
689 separated. If the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
690 then the specified algorithms will be appended to the default set
691 instead of replacing them. If the specified list begins with a
692 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified algorithms (including
693 wildcards) will be removed from the default set instead of
694 replacing them. If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y
695 character, then the specified algorithms will be placed at the
696 head of the default set.
697
698 The algorithms that contain "-etm" calculate the MAC after
699 encryption (encrypt-then-mac). These are considered safer and
700 their use recommended.
701
702 The default is:
703
704 umac-64-etm@openssh.com,umac-128-etm@openssh.com,
705 hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
706 hmac-sha1-etm@openssh.com,
707 umac-64@openssh.com,umac-128@openssh.com,
708 hmac-sha2-256,hmac-sha2-512,hmac-sha1
709
710 The list of available MAC algorithms may also be obtained using
711 "ssh -Q mac".
712
713 NoHostAuthenticationForLocalhost
714 Disable host authentication for localhost (loopback addresses).
715 The argument to this keyword must be yes or no (the default).
716
717 NumberOfPasswordPrompts
718 Specifies the number of password prompts before giving up. The
719 argument to this keyword must be an integer. The default is 3.
720
721 PasswordAuthentication
722 Specifies whether to use password authentication. The argument
723 to this keyword must be yes (the default) or no.
724
725 PermitLocalCommand
726 Allow local command execution via the LocalCommand option or
727 using the !command escape sequence in ssh(1). The argument must
728 be yes or no (the default).
729
730 PKCS11Provider
731 Specifies which PKCS#11 provider to use or none to indicate that
732 no provider should be used (the default). The argument to this
733 keyword is a path to the PKCS#11 shared library ssh(1) should use
734 to communicate with a PKCS#11 token providing keys for user
735 authentication.
736
737 Port Specifies the port number to connect on the remote host. The
738 default is 22.
739
740 PreferredAuthentications
741 Specifies the order in which the client should try authentication
742 methods. This allows a client to prefer one method (e.g.
743 keyboard-interactive) over another method (e.g. password). The
744 default is:
745
746 gssapi-with-mic,hostbased,publickey,
747 keyboard-interactive,password
748
749 ProxyCommand
750 Specifies the command to use to connect to the server. The
751 command string extends to the end of the line, and is executed
752 using the user's shell M-bM-^@M-^XexecM-bM-^@M-^Y directive to avoid a lingering
753 shell process.
754
755 Arguments to ProxyCommand accept the tokens described in the
756 TOKENS section. The command can be basically anything, and
757 should read from its standard input and write to its standard
758 output. It should eventually connect an sshd(8) server running
759 on some machine, or execute sshd -i somewhere. Host key
760 management will be done using the Hostname of the host being
761 connected (defaulting to the name typed by the user). Setting
762 the command to none disables this option entirely. Note that
763 CheckHostIP is not available for connects with a proxy command.
764
765 This directive is useful in conjunction with nc(1) and its proxy
766 support. For example, the following directive would connect via
767 an HTTP proxy at 192.0.2.0:
768
769 ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
770
771 ProxyJump
772 Specifies one or more jump proxies as either [user@]host[:port]
773 or an ssh URI. Multiple proxies may be separated by comma
774 characters and will be visited sequentially. Setting this option
775 will cause ssh(1) to connect to the target host by first making a
776 ssh(1) connection to the specified ProxyJump host and then
777 establishing a TCP forwarding to the ultimate target from there.
778
779 Note that this option will compete with the ProxyCommand option -
780 whichever is specified first will prevent later instances of the
781 other from taking effect.
782
783 Note also that the configuration for the destination host (either
784 supplied via the command-line or the configuration file) is not
785 generally applied to jump hosts. ~/.ssh/config should be used if
786 specific configuration is required for jump hosts.
787
788 ProxyUseFdpass
789 Specifies that ProxyCommand will pass a connected file descriptor
790 back to ssh(1) instead of continuing to execute and pass data.
791 The default is no.
792
793 PubkeyAcceptedKeyTypes
794 Specifies the key types that will be used for public key
795 authentication as a comma-separated list of patterns. If the
796 specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the key types
797 after it will be appended to the default instead of replacing it.
798 If the specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the
799 specified key types (including wildcards) will be removed from
800 the default set instead of replacing them. If the specified list
801 begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified key types will be
802 placed at the head of the default set. The default for this
803 option is:
804
805 ecdsa-sha2-nistp256-cert-v01@openssh.com,
806 ecdsa-sha2-nistp384-cert-v01@openssh.com,
807 ecdsa-sha2-nistp521-cert-v01@openssh.com,
808 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
809 ssh-ed25519-cert-v01@openssh.com,
810 sk-ssh-ed25519-cert-v01@openssh.com,
811 rsa-sha2-512-cert-v01@openssh.com,
812 rsa-sha2-256-cert-v01@openssh.com,
813 ssh-rsa-cert-v01@openssh.com,
814 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
815 sk-ecdsa-sha2-nistp256@openssh.com,
816 ssh-ed25519,sk-ssh-ed25519@openssh.com,
817 rsa-sha2-512,rsa-sha2-256,ssh-rsa
818
819 The list of available key types may also be obtained using "ssh
820 -Q PubkeyAcceptedKeyTypes".
821
822 PubkeyAuthentication
823 Specifies whether to try public key authentication. The argument
824 to this keyword must be yes (the default) or no.
825
826 RekeyLimit
827 Specifies the maximum amount of data that may be transmitted
828 before the session key is renegotiated, optionally followed a
829 maximum amount of time that may pass before the session key is
830 renegotiated. The first argument is specified in bytes and may
831 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,
832 Megabytes, or Gigabytes, respectively. The default is between
833 M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second
834 value is specified in seconds and may use any of the units
835 documented in the TIME FORMATS section of sshd_config(5). The
836 default value for RekeyLimit is default none, which means that
837 rekeying is performed after the cipher's default amount of data
838 has been sent or received and no time based rekeying is done.
839
840 RemoteCommand
841 Specifies a command to execute on the remote machine after
842 successfully connecting to the server. The command string
843 extends to the end of the line, and is executed with the user's
844 shell. Arguments to RemoteCommand accept the tokens described in
845 the TOKENS section.
846
847 RemoteForward
848 Specifies that a TCP port on the remote machine be forwarded over
849 the secure channel. The remote port may either be forwarded to a
850 specified host and port from the local machine, or may act as a
851 SOCKS 4/5 proxy that allows a remote client to connect to
852 arbitrary destinations from the local machine. The first
853 argument is the listening specification and may be
854 [bind_address:]port or, if the remote host supports it, a Unix
855 domain socket path. If forwarding to a specific destination then
856 the second argument must be host:hostport or a Unix domain socket
857 path, otherwise if no destination argument is specified then the
858 remote forwarding will be established as a SOCKS proxy.
859
860 IPv6 addresses can be specified by enclosing addresses in square
861 brackets. Multiple forwardings may be specified, and additional
862 forwardings can be given on the command line. Privileged ports
863 can be forwarded only when logging in as root on the remote
864 machine. Unix domain socket paths accept the tokens described in
865 the TOKENS section.
866
867 If the port argument is 0, the listen port will be dynamically
868 allocated on the server and reported to the client at run time.
869
870 If the bind_address is not specified, the default is to only bind
871 to loopback addresses. If the bind_address is M-bM-^@M-^X*M-bM-^@M-^Y or an empty
872 string, then the forwarding is requested to listen on all
873 interfaces. Specifying a remote bind_address will only succeed
874 if the server's GatewayPorts option is enabled (see
875 sshd_config(5)).
876
877 RequestTTY
878 Specifies whether to request a pseudo-tty for the session. The
879 argument may be one of: no (never request a TTY), yes (always
880 request a TTY when standard input is a TTY), force (always
881 request a TTY) or auto (request a TTY when opening a login
882 session). This option mirrors the -t and -T flags for ssh(1).
883
884 RevokedHostKeys
885 Specifies revoked host public keys. Keys listed in this file
886 will be refused for host authentication. Note that if this file
887 does not exist or is not readable, then host authentication will
888 be refused for all hosts. Keys may be specified as a text file,
889 listing one public key per line, or as an OpenSSH Key Revocation
890 List (KRL) as generated by ssh-keygen(1). For more information
891 on KRLs, see the KEY REVOCATION LISTS section in ssh-keygen(1).
892
893 SecurityKeyProvider
894 Specifies a path to a library that will be used when loading any
895 FIDO authenticator-hosted keys, overriding the default of using
896 the built-in USB HID support.
897
898 If the specified value begins with a M-bM-^@M-^X$M-bM-^@M-^Y character, then it will
899 be treated as an environment variable containing the path to the
900 library.
901
902 SendEnv
903 Specifies what variables from the local environ(7) should be sent
904 to the server. The server must also support it, and the server
905 must be configured to accept these environment variables. Note
906 that the TERM environment variable is always sent whenever a
907 pseudo-terminal is requested as it is required by the protocol.
908 Refer to AcceptEnv in sshd_config(5) for how to configure the
909 server. Variables are specified by name, which may contain
910 wildcard characters. Multiple environment variables may be
911 separated by whitespace or spread across multiple SendEnv
912 directives.
913
914 See PATTERNS for more information on patterns.
915
916 It is possible to clear previously set SendEnv variable names by
917 prefixing patterns with -. The default is not to send any
918 environment variables.
919
920 ServerAliveCountMax
921 Sets the number of server alive messages (see below) which may be
922 sent without ssh(1) receiving any messages back from the server.
923 If this threshold is reached while server alive messages are
924 being sent, ssh will disconnect from the server, terminating the
925 session. It is important to note that the use of server alive
926 messages is very different from TCPKeepAlive (below). The server
927 alive messages are sent through the encrypted channel and
928 therefore will not be spoofable. The TCP keepalive option
929 enabled by TCPKeepAlive is spoofable. The server alive mechanism
930 is valuable when the client or server depend on knowing when a
931 connection has become unresponsive.
932
933 The default value is 3. If, for example, ServerAliveInterval
934 (see below) is set to 15 and ServerAliveCountMax is left at the
935 default, if the server becomes unresponsive, ssh will disconnect
936 after approximately 45 seconds.
937
938 ServerAliveInterval
939 Sets a timeout interval in seconds after which if no data has
940 been received from the server, ssh(1) will send a message through
941 the encrypted channel to request a response from the server. The
942 default is 0, indicating that these messages will not be sent to
943 the server.
944
945 SetEnv Directly specify one or more environment variables and their
946 contents to be sent to the server. Similarly to SendEnv, the
947 server must be prepared to accept the environment variable.
948
949 StreamLocalBindMask
950 Sets the octal file creation mode mask (umask) used when creating
951 a Unix-domain socket file for local or remote port forwarding.
952 This option is only used for port forwarding to a Unix-domain
953 socket file.
954
955 The default value is 0177, which creates a Unix-domain socket
956 file that is readable and writable only by the owner. Note that
957 not all operating systems honor the file mode on Unix-domain
958 socket files.
959
960 StreamLocalBindUnlink
961 Specifies whether to remove an existing Unix-domain socket file
962 for local or remote port forwarding before creating a new one.
963 If the socket file already exists and StreamLocalBindUnlink is
964 not enabled, ssh will be unable to forward the port to the Unix-
965 domain socket file. This option is only used for port forwarding
966 to a Unix-domain socket file.
967
968 The argument must be yes or no (the default).
969
970 StrictHostKeyChecking
971 If this flag is set to yes, ssh(1) will never automatically add
972 host keys to the ~/.ssh/known_hosts file, and refuses to connect
973 to hosts whose host key has changed. This provides maximum
974 protection against man-in-the-middle (MITM) attacks, though it
975 can be annoying when the /etc/ssh/ssh_known_hosts file is poorly
976 maintained or when connections to new hosts are frequently made.
977 This option forces the user to manually add all new hosts.
978
979 If this flag is set to M-bM-^@M-^\accept-newM-bM-^@M-^] then ssh will automatically
980 add new host keys to the user known hosts files, but will not
981 permit connections to hosts with changed host keys. If this flag
982 is set to M-bM-^@M-^\noM-bM-^@M-^] or M-bM-^@M-^\offM-bM-^@M-^], ssh will automatically add new host keys
983 to the user known hosts files and allow connections to hosts with
984 changed hostkeys to proceed, subject to some restrictions. If
985 this flag is set to ask (the default), new host keys will be
986 added to the user known host files only after the user has
987 confirmed that is what they really want to do, and ssh will
988 refuse to connect to hosts whose host key has changed. The host
989 keys of known hosts will be verified automatically in all cases.
990
991 SyslogFacility
992 Gives the facility code that is used when logging messages from
993 ssh(1). The possible values are: DAEMON, USER, AUTH, LOCAL0,
994 LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The
995 default is USER.
996
997 TCPKeepAlive
998 Specifies whether the system should send TCP keepalive messages
999 to the other side. If they are sent, death of the connection or
1000 crash of one of the machines will be properly noticed. However,
1001 this means that connections will die if the route is down
1002 temporarily, and some people find it annoying.
1003
1004 The default is yes (to send TCP keepalive messages), and the
1005 client will notice if the network goes down or the remote host
1006 dies. This is important in scripts, and many users want it too.
1007
1008 To disable TCP keepalive messages, the value should be set to no.
1009 See also ServerAliveInterval for protocol-level keepalives.
1010
1011 Tunnel Request tun(4) device forwarding between the client and the
1012 server. The argument must be yes, point-to-point (layer 3),
1013 ethernet (layer 2), or no (the default). Specifying yes requests
1014 the default tunnel mode, which is point-to-point.
1015
1016 TunnelDevice
1017 Specifies the tun(4) devices to open on the client (local_tun)
1018 and the server (remote_tun).
1019
1020 The argument must be local_tun[:remote_tun]. The devices may be
1021 specified by numerical ID or the keyword any, which uses the next
1022 available tunnel device. If remote_tun is not specified, it
1023 defaults to any. The default is any:any.
1024
1025 UpdateHostKeys
1026 Specifies whether ssh(1) should accept notifications of
1027 additional hostkeys from the server sent after authentication has
1028 completed and add them to UserKnownHostsFile. The argument must
1029 be yes, no or ask. This option allows learning alternate
1030 hostkeys for a server and supports graceful key rotation by
1031 allowing a server to send replacement public keys before old ones
1032 are removed. Additional hostkeys are only accepted if the key
1033 used to authenticate the host was already trusted or explicitly
1034 accepted by the user.
1035
1036 UpdateHostKeys is enabled by default if the user has not
1037 overridden the default UserKnownHostsFile setting, otherwise
1038 UpdateHostKeys will be set to ask.
1039
1040 If UpdateHostKeys is set to ask, then the user is asked to
1041 confirm the modifications to the known_hosts file. Confirmation
1042 is currently incompatible with ControlPersist, and will be
1043 disabled if it is enabled.
1044
1045 Presently, only sshd(8) from OpenSSH 6.8 and greater support the
1046 "hostkeys@openssh.com" protocol extension used to inform the
1047 client of all the server's hostkeys.
1048
1049 User Specifies the user to log in as. This can be useful when a
1050 different user name is used on different machines. This saves
1051 the trouble of having to remember to give the user name on the
1052 command line.
1053
1054 UserKnownHostsFile
1055 Specifies one or more files to use for the user host key
1056 database, separated by whitespace. The default is
1057 ~/.ssh/known_hosts, ~/.ssh/known_hosts2.
1058
1059 VerifyHostKeyDNS
1060 Specifies whether to verify the remote key using DNS and SSHFP
1061 resource records. If this option is set to yes, the client will
1062 implicitly trust keys that match a secure fingerprint from DNS.
1063 Insecure fingerprints will be handled as if this option was set
1064 to ask. If this option is set to ask, information on fingerprint
1065 match will be displayed, but the user will still need to confirm
1066 new host keys according to the StrictHostKeyChecking option. The
1067 default is no.
1068
1069 See also VERIFYING HOST KEYS in ssh(1).
1070
1071 VisualHostKey
1072 If this flag is set to yes, an ASCII art representation of the
1073 remote host key fingerprint is printed in addition to the
1074 fingerprint string at login and for unknown host keys. If this
1075 flag is set to no (the default), no fingerprint strings are
1076 printed at login and only the fingerprint string will be printed
1077 for unknown host keys.
1078
1079 XAuthLocation
1080 Specifies the full pathname of the xauth(1) program. The default
1081 is /usr/X11R6/bin/xauth.
1082
1083PATTERNS
1084 A pattern consists of zero or more non-whitespace characters, M-bM-^@M-^X*M-bM-^@M-^Y (a
1085 wildcard that matches zero or more characters), or M-bM-^@M-^X?M-bM-^@M-^Y (a wildcard that
1086 matches exactly one character). For example, to specify a set of
1087 declarations for any host in the ".co.uk" set of domains, the following
1088 pattern could be used:
1089
1090 Host *.co.uk
1091
1092 The following pattern would match any host in the 192.168.0.[0-9] network
1093 range:
1094
1095 Host 192.168.0.?
1096
1097 A pattern-list is a comma-separated list of patterns. Patterns within
1098 pattern-lists may be negated by preceding them with an exclamation mark
1099 (M-bM-^@M-^X!M-bM-^@M-^Y). For example, to allow a key to be used from anywhere within an
1100 organization except from the "dialup" pool, the following entry (in
1101 authorized_keys) could be used:
1102
1103 from="!*.dialup.example.com,*.example.com"
1104
1105 Note that a negated match will never produce a positive result by itself.
1106 For example, attempting to match "host3" against the following pattern-
1107 list will fail:
1108
1109 from="!host1,!host2"
1110
1111 The solution here is to include a term that will yield a positive match,
1112 such as a wildcard:
1113
1114 from="!host1,!host2,*"
1115
1116TOKENS
1117 Arguments to some keywords can make use of tokens, which are expanded at
1118 runtime:
1119
1120 %% A literal M-bM-^@M-^X%M-bM-^@M-^Y.
1121 %C Hash of %l%h%p%r.
1122 %d Local user's home directory.
1123 %h The remote hostname.
1124 %i The local user ID.
1125 %L The local hostname.
1126 %l The local hostname, including the domain name.
1127 %n The original remote hostname, as given on the command line.
1128 %p The remote port.
1129 %r The remote username.
1130 %T The local tun(4) or tap(4) network interface assigned if
1131 tunnel forwarding was requested, or "NONE" otherwise.
1132 %u The local username.
1133
1134 CertificateFile, ControlPath, IdentityAgent, IdentityFile, LocalForward,
1135 Match exec, RemoteCommand, and RemoteForward accept the tokens %%, %C,
1136 %d, %h, %i, %L, %l, %n, %p, %r, and %u.
1137
1138 Hostname accepts the tokens %% and %h.
1139
1140 LocalCommand accepts all tokens.
1141
1142 ProxyCommand accepts the tokens %%, %h, %n, %p, and %r.
1143
1144FILES
1145 ~/.ssh/config
1146 This is the per-user configuration file. The format of this file
1147 is described above. This file is used by the SSH client.
1148 Because of the potential for abuse, this file must have strict
1149 permissions: read/write for the user, and not writable by others.
1150
1151 /etc/ssh/ssh_config
1152 Systemwide configuration file. This file provides defaults for
1153 those values that are not specified in the user's configuration
1154 file, and for those users who do not have a configuration file.
1155 This file must be world-readable.
1156
1157SEE ALSO
1158 ssh(1)
1159
1160AUTHORS
1161 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1162 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1163 de Raadt and Dug Song removed many bugs, re-added newer features and
1164 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1165 versions 1.5 and 2.0.
1166
1167OpenBSD 6.7 April 11, 2020 OpenBSD 6.7
diff --git a/sshd.0 b/sshd.0
new file mode 100644
index 000000000..5f9aadd66
--- /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.7 January 25, 2020 OpenBSD 6.7
diff --git a/sshd_config.0 b/sshd_config.0
new file mode 100644
index 000000000..e75ed1b32
--- /dev/null
+++ b/sshd_config.0
@@ -0,0 +1,1146 @@
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)).
134 AuthorizedKeysCommand is tried after the usual AuthorizedKeysFile
135 files and will not be executed if a matching key is found there.
136 By default, no AuthorizedKeysCommand is run.
137
138 AuthorizedKeysCommandUser
139 Specifies the user under whose account the AuthorizedKeysCommand
140 is run. It is recommended to use a dedicated user that has no
141 other role on the host than running authorized keys commands. If
142 AuthorizedKeysCommand is specified but AuthorizedKeysCommandUser
143 is not, then sshd(8) will refuse to start.
144
145 AuthorizedKeysFile
146 Specifies the file that contains the public keys used for user
147 authentication. The format is described in the AUTHORIZED_KEYS
148 FILE FORMAT section of sshd(8). Arguments to AuthorizedKeysFile
149 accept the tokens described in the TOKENS section. After
150 expansion, AuthorizedKeysFile is taken to be an absolute path or
151 one relative to the user's home directory. Multiple files may be
152 listed, separated by whitespace. Alternately this option may be
153 set to none to skip checking for user keys in files. The default
154 is ".ssh/authorized_keys .ssh/authorized_keys2".
155
156 AuthorizedPrincipalsCommand
157 Specifies a program to be used to generate the list of allowed
158 certificate principals as per AuthorizedPrincipalsFile. The
159 program must be owned by root, not writable by group or others
160 and specified by an absolute path. Arguments to
161 AuthorizedPrincipalsCommand accept the tokens described in the
162 TOKENS section. If no arguments are specified then the username
163 of the target user is used.
164
165 The program should produce on standard output zero or more lines
166 of AuthorizedPrincipalsFile output. If either
167 AuthorizedPrincipalsCommand or AuthorizedPrincipalsFile is
168 specified, then certificates offered by the client for
169 authentication must contain a principal that is listed. By
170 default, no AuthorizedPrincipalsCommand is run.
171
172 AuthorizedPrincipalsCommandUser
173 Specifies the user under whose account the
174 AuthorizedPrincipalsCommand is run. It is recommended to use a
175 dedicated user that has no other role on the host than running
176 authorized principals commands. If AuthorizedPrincipalsCommand
177 is specified but AuthorizedPrincipalsCommandUser is not, then
178 sshd(8) will refuse to start.
179
180 AuthorizedPrincipalsFile
181 Specifies a file that lists principal names that are accepted for
182 certificate authentication. When using certificates signed by a
183 key listed in TrustedUserCAKeys, this file lists names, one of
184 which must appear in the certificate for it to be accepted for
185 authentication. Names are listed one per line preceded by key
186 options (as described in AUTHORIZED_KEYS FILE FORMAT in sshd(8)).
187 Empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are ignored.
188
189 Arguments to AuthorizedPrincipalsFile accept the tokens described
190 in the TOKENS section. After expansion, AuthorizedPrincipalsFile
191 is taken to be an absolute path or one relative to the user's
192 home directory. The default is none, i.e. not to use a
193 principals file M-bM-^@M-^S in this case, the username of the user must
194 appear in a certificate's principals list for it to be accepted.
195
196 Note that AuthorizedPrincipalsFile is only used when
197 authentication proceeds using a CA listed in TrustedUserCAKeys
198 and is not consulted for certification authorities trusted via
199 ~/.ssh/authorized_keys, though the principals= key option offers
200 a similar facility (see sshd(8) for details).
201
202 Banner The contents of the specified file are sent to the remote user
203 before authentication is allowed. If the argument is none then
204 no banner is displayed. By default, no banner is displayed.
205
206 CASignatureAlgorithms
207 Specifies which algorithms are allowed for signing of
208 certificates by certificate authorities (CAs). The default is:
209
210 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
211 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
212
213 Certificates signed using other algorithms will not be accepted
214 for public key or host-based authentication.
215
216 ChallengeResponseAuthentication
217 Specifies whether challenge-response authentication is allowed
218 (e.g. via PAM or through authentication styles supported in
219 login.conf(5)) The default is yes.
220
221 ChrootDirectory
222 Specifies the pathname of a directory to chroot(2) to after
223 authentication. At session startup sshd(8) checks that all
224 components of the pathname are root-owned directories which are
225 not writable by any other user or group. After the chroot,
226 sshd(8) changes the working directory to the user's home
227 directory. Arguments to ChrootDirectory accept the tokens
228 described in the TOKENS section.
229
230 The ChrootDirectory must contain the necessary files and
231 directories to support the user's session. For an interactive
232 session this requires at least a shell, typically sh(1), and
233 basic /dev nodes such as null(4), zero(4), stdin(4), stdout(4),
234 stderr(4), and tty(4) devices. For file transfer sessions using
235 SFTP no additional configuration of the environment is necessary
236 if the in-process sftp-server is used, though sessions which use
237 logging may require /dev/log inside the chroot directory on some
238 operating systems (see sftp-server(8) for details).
239
240 For safety, it is very important that the directory hierarchy be
241 prevented from modification by other processes on the system
242 (especially those outside the jail). Misconfiguration can lead
243 to unsafe environments which sshd(8) cannot detect.
244
245 The default is none, indicating not to chroot(2).
246
247 Ciphers
248 Specifies the ciphers allowed. Multiple ciphers must be comma-
249 separated. If the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
250 then the specified ciphers will be appended to the default set
251 instead of replacing them. If the specified list begins with a
252 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified ciphers (including wildcards)
253 will be removed from the default set instead of replacing them.
254 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
255 specified ciphers will be placed at the head of the default set.
256
257 The supported ciphers are:
258
259 3des-cbc
260 aes128-cbc
261 aes192-cbc
262 aes256-cbc
263 aes128-ctr
264 aes192-ctr
265 aes256-ctr
266 aes128-gcm@openssh.com
267 aes256-gcm@openssh.com
268 chacha20-poly1305@openssh.com
269
270 The default is:
271
272 chacha20-poly1305@openssh.com,
273 aes128-ctr,aes192-ctr,aes256-ctr,
274 aes128-gcm@openssh.com,aes256-gcm@openssh.com
275
276 The list of available ciphers may also be obtained using "ssh -Q
277 cipher".
278
279 ClientAliveCountMax
280 Sets the number of client alive messages which may be sent
281 without sshd(8) receiving any messages back from the client. If
282 this threshold is reached while client alive messages are being
283 sent, sshd will disconnect the client, terminating the session.
284 It is important to note that the use of client alive messages is
285 very different from TCPKeepAlive. The client alive messages are
286 sent through the encrypted channel and therefore will not be
287 spoofable. The TCP keepalive option enabled by TCPKeepAlive is
288 spoofable. The client alive mechanism is valuable when the
289 client or server depend on knowing when a connection has become
290 unresponsive.
291
292 The default value is 3. If ClientAliveInterval is set to 15, and
293 ClientAliveCountMax is left at the default, unresponsive SSH
294 clients will be disconnected after approximately 45 seconds.
295 Setting a zero ClientAliveCountMax disables connection
296 termination.
297
298 ClientAliveInterval
299 Sets a timeout interval in seconds after which if no data has
300 been received from the client, sshd(8) will send a message
301 through the encrypted channel to request a response from the
302 client. The default is 0, indicating that these messages will
303 not be sent to the client.
304
305 Compression
306 Specifies whether compression is enabled after the user has
307 authenticated successfully. The argument must be yes, delayed (a
308 legacy synonym for yes) or no. The default is yes.
309
310 DenyGroups
311 This keyword can be followed by a list of group name patterns,
312 separated by spaces. Login is disallowed for users whose primary
313 group or supplementary group list matches one of the patterns.
314 Only group names are valid; a numerical group ID is not
315 recognized. By default, login is allowed for all groups. The
316 allow/deny groups directives are processed in the following
317 order: DenyGroups, AllowGroups.
318
319 See PATTERNS in ssh_config(5) for more information on patterns.
320
321 DenyUsers
322 This keyword can be followed by a list of user name patterns,
323 separated by spaces. Login is disallowed for user names that
324 match one of the patterns. Only user names are valid; a
325 numerical user ID is not recognized. By default, login is
326 allowed for all users. If the pattern takes the form USER@HOST
327 then USER and HOST are separately checked, restricting logins to
328 particular users from particular hosts. HOST criteria may
329 additionally contain addresses to match in CIDR address/masklen
330 format. The allow/deny users directives are processed in the
331 following order: DenyUsers, AllowUsers.
332
333 See PATTERNS in ssh_config(5) for more information on patterns.
334
335 DisableForwarding
336 Disables all forwarding features, including X11, ssh-agent(1),
337 TCP and StreamLocal. This option overrides all other forwarding-
338 related options and may simplify restricted configurations.
339
340 ExposeAuthInfo
341 Writes a temporary file containing a list of authentication
342 methods and public credentials (e.g. keys) used to authenticate
343 the user. The location of the file is exposed to the user
344 session through the SSH_USER_AUTH environment variable. The
345 default is no.
346
347 FingerprintHash
348 Specifies the hash algorithm used when logging key fingerprints.
349 Valid options are: md5 and sha256. The default is sha256.
350
351 ForceCommand
352 Forces the execution of the command specified by ForceCommand,
353 ignoring any command supplied by the client and ~/.ssh/rc if
354 present. The command is invoked by using the user's login shell
355 with the -c option. This applies to shell, command, or subsystem
356 execution. It is most useful inside a Match block. The command
357 originally supplied by the client is available in the
358 SSH_ORIGINAL_COMMAND environment variable. Specifying a command
359 of internal-sftp will force the use of an in-process SFTP server
360 that requires no support files when used with ChrootDirectory.
361 The default is none.
362
363 GatewayPorts
364 Specifies whether remote hosts are allowed to connect to ports
365 forwarded for the client. By default, sshd(8) binds remote port
366 forwardings to the loopback address. This prevents other remote
367 hosts from connecting to forwarded ports. GatewayPorts can be
368 used to specify that sshd should allow remote port forwardings to
369 bind to non-loopback addresses, thus allowing other hosts to
370 connect. The argument may be no to force remote port forwardings
371 to be available to the local host only, yes to force remote port
372 forwardings to bind to the wildcard address, or clientspecified
373 to allow the client to select the address to which the forwarding
374 is bound. The default is no.
375
376 GSSAPIAuthentication
377 Specifies whether user authentication based on GSSAPI is allowed.
378 The default is no.
379
380 GSSAPICleanupCredentials
381 Specifies whether to automatically destroy the user's credentials
382 cache on logout. The default is yes.
383
384 GSSAPIStrictAcceptorCheck
385 Determines whether to be strict about the identity of the GSSAPI
386 acceptor a client authenticates against. If set to yes then the
387 client must authenticate against the host service on the current
388 hostname. If set to no then the client may authenticate against
389 any service key stored in the machine's default store. This
390 facility is provided to assist with operation on multi homed
391 machines. The default is yes.
392
393 HostbasedAcceptedKeyTypes
394 Specifies the key types that will be accepted for hostbased
395 authentication as a list of comma-separated patterns.
396 Alternately if the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
397 then the specified key types will be appended to the default set
398 instead of replacing them. If the specified list begins with a
399 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
400 will be removed from the default set instead of replacing them.
401 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
402 specified key types will be placed at the head of the default
403 set. The default for this option is:
404
405 ecdsa-sha2-nistp256-cert-v01@openssh.com,
406 ecdsa-sha2-nistp384-cert-v01@openssh.com,
407 ecdsa-sha2-nistp521-cert-v01@openssh.com,
408 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
409 ssh-ed25519-cert-v01@openssh.com,
410 sk-ssh-ed25519-cert-v01@openssh.com,
411 rsa-sha2-512-cert-v01@openssh.com,
412 rsa-sha2-256-cert-v01@openssh.com,
413 ssh-rsa-cert-v01@openssh.com,
414 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
415 sk-ecdsa-sha2-nistp256@openssh.com,
416 ssh-ed25519,sk-ssh-ed25519@openssh.com,
417 rsa-sha2-512,rsa-sha2-256,ssh-rsa
418
419 The list of available key types may also be obtained using "ssh
420 -Q HostbasedAcceptedKeyTypes".
421
422 HostbasedAuthentication
423 Specifies whether rhosts or /etc/hosts.equiv authentication
424 together with successful public key client host authentication is
425 allowed (host-based authentication). The default is no.
426
427 HostbasedUsesNameFromPacketOnly
428 Specifies whether or not the server will attempt to perform a
429 reverse name lookup when matching the name in the ~/.shosts,
430 ~/.rhosts, and /etc/hosts.equiv files during
431 HostbasedAuthentication. A setting of yes means that sshd(8)
432 uses the name supplied by the client rather than attempting to
433 resolve the name from the TCP connection itself. The default is
434 no.
435
436 HostCertificate
437 Specifies a file containing a public host certificate. The
438 certificate's public key must match a private host key already
439 specified by HostKey. The default behaviour of sshd(8) is not to
440 load any certificates.
441
442 HostKey
443 Specifies a file containing a private host key used by SSH. The
444 defaults are /etc/ssh/ssh_host_ecdsa_key,
445 /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key.
446
447 Note that sshd(8) will refuse to use a file if it is group/world-
448 accessible and that the HostKeyAlgorithms option restricts which
449 of the keys are actually used by sshd(8).
450
451 It is possible to have multiple host key files. It is also
452 possible to specify public host key files instead. In this case
453 operations on the private key will be delegated to an
454 ssh-agent(1).
455
456 HostKeyAgent
457 Identifies the UNIX-domain socket used to communicate with an
458 agent that has access to the private host keys. If the string
459 "SSH_AUTH_SOCK" is specified, the location of the socket will be
460 read from the SSH_AUTH_SOCK environment variable.
461
462 HostKeyAlgorithms
463 Specifies the host key algorithms that the server offers. The
464 default for this option is:
465
466 ecdsa-sha2-nistp256-cert-v01@openssh.com,
467 ecdsa-sha2-nistp384-cert-v01@openssh.com,
468 ecdsa-sha2-nistp521-cert-v01@openssh.com,
469 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
470 ssh-ed25519-cert-v01@openssh.com,
471 sk-ssh-ed25519-cert-v01@openssh.com,
472 rsa-sha2-512-cert-v01@openssh.com,
473 rsa-sha2-256-cert-v01@openssh.com,
474 ssh-rsa-cert-v01@openssh.com,
475 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
476 sk-ecdsa-sha2-nistp256@openssh.com,
477 ssh-ed25519,sk-ssh-ed25519@openssh.com,
478 rsa-sha2-512,rsa-sha2-256,ssh-rsa
479
480 The list of available key types may also be obtained using "ssh
481 -Q HostKeyAlgorithms".
482
483 IgnoreRhosts
484 Specifies whether to ignore per-user .rhosts and .shosts files
485 during HostbasedAuthentication. The system-wide /etc/hosts.equiv
486 and /etc/shosts.equiv are still used regardless of this setting.
487
488 Accepted values are yes (the default) to ignore all per-user
489 files, shosts-only to allow the use of .shosts but to ignore
490 .rhosts or no to allow both .shosts and rhosts.
491
492 IgnoreUserKnownHosts
493 Specifies whether sshd(8) should ignore the user's
494 ~/.ssh/known_hosts during HostbasedAuthentication and use only
495 the system-wide known hosts file /etc/ssh/known_hosts. The
496 default is M-bM-^@M-^\noM-bM-^@M-^].
497
498 Include
499 Include the specified configuration file(s). Multiple pathnames
500 may be specified and each pathname may contain glob(7) wildcards.
501 Files without absolute paths are assumed to be in /etc/ssh. An
502 Include directive may appear inside a Match block to perform
503 conditional inclusion.
504
505 IPQoS Specifies the IPv4 type-of-service or DSCP class for the
506 connection. Accepted values are af11, af12, af13, af21, af22,
507 af23, af31, af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3,
508 cs4, cs5, cs6, cs7, ef, le, lowdelay, throughput, reliability, a
509 numeric value, or none to use the operating system default. This
510 option may take one or two arguments, separated by whitespace.
511 If one argument is specified, it is used as the packet class
512 unconditionally. If two values are specified, the first is
513 automatically selected for interactive sessions and the second
514 for non-interactive sessions. The default is af21 (Low-Latency
515 Data) for interactive sessions and cs1 (Lower Effort) for non-
516 interactive sessions.
517
518 KbdInteractiveAuthentication
519 Specifies whether to allow keyboard-interactive authentication.
520 The argument to this keyword must be yes or no. The default is
521 to use whatever value ChallengeResponseAuthentication is set to
522 (by default yes).
523
524 KerberosAuthentication
525 Specifies whether the password provided by the user for
526 PasswordAuthentication will be validated through the Kerberos
527 KDC. To use this option, the server needs a Kerberos servtab
528 which allows the verification of the KDC's identity. The default
529 is no.
530
531 KerberosGetAFSToken
532 If AFS is active and the user has a Kerberos 5 TGT, attempt to
533 acquire an AFS token before accessing the user's home directory.
534 The default is no.
535
536 KerberosOrLocalPasswd
537 If password authentication through Kerberos fails then the
538 password will be validated via any additional local mechanism
539 such as /etc/passwd. The default is yes.
540
541 KerberosTicketCleanup
542 Specifies whether to automatically destroy the user's ticket
543 cache file on logout. The default is yes.
544
545 KexAlgorithms
546 Specifies the available KEX (Key Exchange) algorithms. Multiple
547 algorithms must be comma-separated. Alternately if the specified
548 list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified methods will
549 be appended to the default set instead of replacing them. If the
550 specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified
551 methods (including wildcards) will be removed from the default
552 set instead of replacing them. If the specified list begins with
553 a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified methods will be placed at the
554 head of the default set. The supported algorithms are:
555
556 curve25519-sha256
557 curve25519-sha256@libssh.org
558 diffie-hellman-group1-sha1
559 diffie-hellman-group14-sha1
560 diffie-hellman-group14-sha256
561 diffie-hellman-group16-sha512
562 diffie-hellman-group18-sha512
563 diffie-hellman-group-exchange-sha1
564 diffie-hellman-group-exchange-sha256
565 ecdh-sha2-nistp256
566 ecdh-sha2-nistp384
567 ecdh-sha2-nistp521
568 sntrup4591761x25519-sha512@tinyssh.org
569
570 The default is:
571
572 curve25519-sha256,curve25519-sha256@libssh.org,
573 ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
574 diffie-hellman-group-exchange-sha256,
575 diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,
576 diffie-hellman-group14-sha256
577
578 The list of available key exchange algorithms may also be
579 obtained using "ssh -Q KexAlgorithms".
580
581 ListenAddress
582 Specifies the local addresses sshd(8) should listen on. The
583 following forms may be used:
584
585 ListenAddress hostname|address [rdomain domain]
586 ListenAddress hostname:port [rdomain domain]
587 ListenAddress IPv4_address:port [rdomain domain]
588 ListenAddress [hostname|address]:port [rdomain domain]
589
590 The optional rdomain qualifier requests sshd(8) listen in an
591 explicit routing domain. If port is not specified, sshd will
592 listen on the address and all Port options specified. The
593 default is to listen on all local addresses on the current
594 default routing domain. Multiple ListenAddress options are
595 permitted. For more information on routing domains, see
596 rdomain(4).
597
598 LoginGraceTime
599 The server disconnects after this time if the user has not
600 successfully logged in. If the value is 0, there is no time
601 limit. The default is 120 seconds.
602
603 LogLevel
604 Gives the verbosity level that is used when logging messages from
605 sshd(8). The possible values are: QUIET, FATAL, ERROR, INFO,
606 VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
607 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
608 higher levels of debugging output. Logging with a DEBUG level
609 violates the privacy of users and is not recommended.
610
611 MACs Specifies the available MAC (message authentication code)
612 algorithms. The MAC algorithm is used for data integrity
613 protection. Multiple algorithms must be comma-separated. If the
614 specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified
615 algorithms will be appended to the default set instead of
616 replacing them. If the specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y
617 character, then the specified algorithms (including wildcards)
618 will be removed from the default set instead of replacing them.
619 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
620 specified algorithms will be placed at the head of the default
621 set.
622
623 The algorithms that contain "-etm" calculate the MAC after
624 encryption (encrypt-then-mac). These are considered safer and
625 their use recommended. The supported MACs are:
626
627 hmac-md5
628 hmac-md5-96
629 hmac-sha1
630 hmac-sha1-96
631 hmac-sha2-256
632 hmac-sha2-512
633 umac-64@openssh.com
634 umac-128@openssh.com
635 hmac-md5-etm@openssh.com
636 hmac-md5-96-etm@openssh.com
637 hmac-sha1-etm@openssh.com
638 hmac-sha1-96-etm@openssh.com
639 hmac-sha2-256-etm@openssh.com
640 hmac-sha2-512-etm@openssh.com
641 umac-64-etm@openssh.com
642 umac-128-etm@openssh.com
643
644 The default is:
645
646 umac-64-etm@openssh.com,umac-128-etm@openssh.com,
647 hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
648 hmac-sha1-etm@openssh.com,
649 umac-64@openssh.com,umac-128@openssh.com,
650 hmac-sha2-256,hmac-sha2-512,hmac-sha1
651
652 The list of available MAC algorithms may also be obtained using
653 "ssh -Q mac".
654
655 Match Introduces a conditional block. If all of the criteria on the
656 Match line are satisfied, the keywords on the following lines
657 override those set in the global section of the config file,
658 until either another Match line or the end of the file. If a
659 keyword appears in multiple Match blocks that are satisfied, only
660 the first instance of the keyword is applied.
661
662 The arguments to Match are one or more criteria-pattern pairs or
663 the single token All which matches all criteria. The available
664 criteria are User, Group, Host, LocalAddress, LocalPort, RDomain,
665 and Address (with RDomain representing the rdomain(4) on which
666 the connection was received).
667
668 The match patterns may consist of single entries or comma-
669 separated lists and may use the wildcard and negation operators
670 described in the PATTERNS section of ssh_config(5).
671
672 The patterns in an Address criteria may additionally contain
673 addresses to match in CIDR address/masklen format, such as
674 192.0.2.0/24 or 2001:db8::/32. Note that the mask length
675 provided must be consistent with the address - it is an error to
676 specify a mask length that is too long for the address or one
677 with bits set in this host portion of the address. For example,
678 192.0.2.0/33 and 192.0.2.0/8, respectively.
679
680 Only a subset of keywords may be used on the lines following a
681 Match keyword. Available keywords are AcceptEnv,
682 AllowAgentForwarding, AllowGroups, AllowStreamLocalForwarding,
683 AllowTcpForwarding, AllowUsers, AuthenticationMethods,
684 AuthorizedKeysCommand, AuthorizedKeysCommandUser,
685 AuthorizedKeysFile, AuthorizedPrincipalsCommand,
686 AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile,
687 Banner, ChrootDirectory, ClientAliveCountMax,
688 ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand,
689 GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes,
690 HostbasedAuthentication, HostbasedUsesNameFromPacketOnly,
691 IgnoreRhosts, Include, IPQoS, KbdInteractiveAuthentication,
692 KerberosAuthentication, LogLevel, MaxAuthTries, MaxSessions,
693 PasswordAuthentication, PermitEmptyPasswords, PermitListen,
694 PermitOpen, PermitRootLogin, PermitTTY, PermitTunnel,
695 PermitUserRC, PubkeyAcceptedKeyTypes, PubkeyAuthentication,
696 RekeyLimit, RevokedKeys, RDomain, SetEnv, StreamLocalBindMask,
697 StreamLocalBindUnlink, TrustedUserCAKeys, X11DisplayOffset,
698 X11Forwarding and X11UseLocalhost.
699
700 MaxAuthTries
701 Specifies the maximum number of authentication attempts permitted
702 per connection. Once the number of failures reaches half this
703 value, additional failures are logged. The default is 6.
704
705 MaxSessions
706 Specifies the maximum number of open shell, login or subsystem
707 (e.g. sftp) sessions permitted per network connection. Multiple
708 sessions may be established by clients that support connection
709 multiplexing. Setting MaxSessions to 1 will effectively disable
710 session multiplexing, whereas setting it to 0 will prevent all
711 shell, login and subsystem sessions while still permitting
712 forwarding. The default is 10.
713
714 MaxStartups
715 Specifies the maximum number of concurrent unauthenticated
716 connections to the SSH daemon. Additional connections will be
717 dropped until authentication succeeds or the LoginGraceTime
718 expires for a connection. The default is 10:30:100.
719
720 Alternatively, random early drop can be enabled by specifying the
721 three colon separated values start:rate:full (e.g. "10:30:60").
722 sshd(8) will refuse connection attempts with a probability of
723 rate/100 (30%) if there are currently start (10) unauthenticated
724 connections. The probability increases linearly and all
725 connection attempts are refused if the number of unauthenticated
726 connections reaches full (60).
727
728 PasswordAuthentication
729 Specifies whether password authentication is allowed. The
730 default is yes.
731
732 PermitEmptyPasswords
733 When password authentication is allowed, it specifies whether the
734 server allows login to accounts with empty password strings. The
735 default is no.
736
737 PermitListen
738 Specifies the addresses/ports on which a remote TCP port
739 forwarding may listen. The listen specification must be one of
740 the following forms:
741
742 PermitListen port
743 PermitListen host:port
744
745 Multiple permissions may be specified by separating them with
746 whitespace. An argument of any can be used to remove all
747 restrictions and permit any listen requests. An argument of none
748 can be used to prohibit all listen requests. The host name may
749 contain wildcards as described in the PATTERNS section in
750 ssh_config(5). The wildcard M-bM-^@M-^X*M-bM-^@M-^Y can also be used in place of a
751 port number to allow all ports. By default all port forwarding
752 listen requests are permitted. Note that the GatewayPorts option
753 may further restrict which addresses may be listened on. Note
754 also that ssh(1) will request a listen host of M-bM-^@M-^\localhostM-bM-^@M-^] if no
755 listen host was specifically requested, and this name is treated
756 differently to explicit localhost addresses of M-bM-^@M-^\127.0.0.1M-bM-^@M-^] and
757 M-bM-^@M-^\::1M-bM-^@M-^].
758
759 PermitOpen
760 Specifies the destinations to which TCP port forwarding is
761 permitted. The forwarding specification must be one of the
762 following forms:
763
764 PermitOpen host:port
765 PermitOpen IPv4_addr:port
766 PermitOpen [IPv6_addr]:port
767
768 Multiple forwards may be specified by separating them with
769 whitespace. An argument of any can be used to remove all
770 restrictions and permit any forwarding requests. An argument of
771 none can be used to prohibit all forwarding requests. The
772 wildcard M-bM-^@M-^X*M-bM-^@M-^Y can be used for host or port to allow all hosts or
773 ports respectively. Otherwise, no pattern matching or address
774 lookups are performed on supplied names. By default all port
775 forwarding requests are permitted.
776
777 PermitRootLogin
778 Specifies whether root can log in using ssh(1). The argument
779 must be yes, prohibit-password, forced-commands-only, or no. The
780 default is prohibit-password.
781
782 If this option is set to prohibit-password (or its deprecated
783 alias, without-password), password and keyboard-interactive
784 authentication are disabled for root.
785
786 If this option is set to forced-commands-only, root login with
787 public key authentication will be allowed, but only if the
788 command option has been specified (which may be useful for taking
789 remote backups even if root login is normally not allowed). All
790 other authentication methods are disabled for root.
791
792 If this option is set to no, root is not allowed to log in.
793
794 PermitTTY
795 Specifies whether pty(4) allocation is permitted. The default is
796 yes.
797
798 PermitTunnel
799 Specifies whether tun(4) device forwarding is allowed. The
800 argument must be yes, point-to-point (layer 3), ethernet (layer
801 2), or no. Specifying yes permits both point-to-point and
802 ethernet. The default is no.
803
804 Independent of this setting, the permissions of the selected
805 tun(4) device must allow access to the user.
806
807 PermitUserEnvironment
808 Specifies whether ~/.ssh/environment and environment= options in
809 ~/.ssh/authorized_keys are processed by sshd(8). Valid options
810 are yes, no or a pattern-list specifying which environment
811 variable names to accept (for example "LANG,LC_*"). The default
812 is no. Enabling environment processing may enable users to
813 bypass access restrictions in some configurations using
814 mechanisms such as LD_PRELOAD.
815
816 PermitUserRC
817 Specifies whether any ~/.ssh/rc file is executed. The default is
818 yes.
819
820 PidFile
821 Specifies the file that contains the process ID of the SSH
822 daemon, or none to not write one. The default is
823 /var/run/sshd.pid.
824
825 Port Specifies the port number that sshd(8) listens on. The default
826 is 22. Multiple options of this type are permitted. See also
827 ListenAddress.
828
829 PrintLastLog
830 Specifies whether sshd(8) should print the date and time of the
831 last user login when a user logs in interactively. The default
832 is yes.
833
834 PrintMotd
835 Specifies whether sshd(8) should print /etc/motd when a user logs
836 in interactively. (On some systems it is also printed by the
837 shell, /etc/profile, or equivalent.) The default is yes.
838
839 PubkeyAcceptedKeyTypes
840 Specifies the key types that will be accepted for public key
841 authentication as a list of comma-separated patterns.
842 Alternately if the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
843 then the specified key types will be appended to the default set
844 instead of replacing them. If the specified list begins with a
845 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
846 will be removed from the default set instead of replacing them.
847 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
848 specified key types will be placed at the head of the default
849 set. The default for this option is:
850
851 ecdsa-sha2-nistp256-cert-v01@openssh.com,
852 ecdsa-sha2-nistp384-cert-v01@openssh.com,
853 ecdsa-sha2-nistp521-cert-v01@openssh.com,
854 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
855 ssh-ed25519-cert-v01@openssh.com,
856 sk-ssh-ed25519-cert-v01@openssh.com,
857 rsa-sha2-512-cert-v01@openssh.com,
858 rsa-sha2-256-cert-v01@openssh.com,
859 ssh-rsa-cert-v01@openssh.com,
860 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
861 sk-ecdsa-sha2-nistp256@openssh.com,
862 ssh-ed25519,sk-ssh-ed25519@openssh.com,
863 rsa-sha2-512,rsa-sha2-256,ssh-rsa
864
865 The list of available key types may also be obtained using "ssh
866 -Q PubkeyAcceptedKeyTypes".
867
868 PubkeyAuthOptions
869 Sets one or more public key authentication options. Two option
870 keywords are currently supported: none (the default; indicating
871 no additional options are enabled) and touch-required.
872
873 The touch-required option causes public key authentication using
874 a FIDO authenticator algorithm (i.e. ecdsa-sk or ed25519-sk) to
875 always require the signature to attest that a physically present
876 user explicitly confirmed the authentication (usually by touching
877 the authenticator). By default, sshd(8) requires user presence
878 unless overridden with an authorized_keys option. The
879 touch-required flag disables this override. This option has no
880 effect for other, non-authenticator public key types.
881
882 PubkeyAuthentication
883 Specifies whether public key authentication is allowed. The
884 default is yes.
885
886 RekeyLimit
887 Specifies the maximum amount of data that may be transmitted
888 before the session key is renegotiated, optionally followed a
889 maximum amount of time that may pass before the session key is
890 renegotiated. The first argument is specified in bytes and may
891 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,
892 Megabytes, or Gigabytes, respectively. The default is between
893 M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second
894 value is specified in seconds and may use any of the units
895 documented in the TIME FORMATS section. The default value for
896 RekeyLimit is default none, which means that rekeying is
897 performed after the cipher's default amount of data has been sent
898 or received and no time based rekeying is done.
899
900 RevokedKeys
901 Specifies revoked public keys file, or none to not use one. Keys
902 listed in this file will be refused for public key
903 authentication. Note that if this file is not readable, then
904 public key authentication will be refused for all users. Keys
905 may be specified as a text file, listing one public key per line,
906 or as an OpenSSH Key Revocation List (KRL) as generated by
907 ssh-keygen(1). For more information on KRLs, see the KEY
908 REVOCATION LISTS section in ssh-keygen(1).
909
910 RDomain
911 Specifies an explicit routing domain that is applied after
912 authentication has completed. The user session, as well and any
913 forwarded or listening IP sockets, will be bound to this
914 rdomain(4). If the routing domain is set to %D, then the domain
915 in which the incoming connection was received will be applied.
916
917 SecurityKeyProvider
918 Specifies a path to a library that will be used when loading FIDO
919 authenticator-hosted keys, overriding the default of using the
920 built-in USB HID support.
921
922 SetEnv Specifies one or more environment variables to set in child
923 sessions started by sshd(8) as M-bM-^@M-^\NAME=VALUEM-bM-^@M-^]. The environment
924 value may be quoted (e.g. if it contains whitespace characters).
925 Environment variables set by SetEnv override the default
926 environment and any variables specified by the user via AcceptEnv
927 or PermitUserEnvironment.
928
929 StreamLocalBindMask
930 Sets the octal file creation mode mask (umask) used when creating
931 a Unix-domain socket file for local or remote port forwarding.
932 This option is only used for port forwarding to a Unix-domain
933 socket file.
934
935 The default value is 0177, which creates a Unix-domain socket
936 file that is readable and writable only by the owner. Note that
937 not all operating systems honor the file mode on Unix-domain
938 socket files.
939
940 StreamLocalBindUnlink
941 Specifies whether to remove an existing Unix-domain socket file
942 for local or remote port forwarding before creating a new one.
943 If the socket file already exists and StreamLocalBindUnlink is
944 not enabled, sshd will be unable to forward the port to the Unix-
945 domain socket file. This option is only used for port forwarding
946 to a Unix-domain socket file.
947
948 The argument must be yes or no. The default is no.
949
950 StrictModes
951 Specifies whether sshd(8) should check file modes and ownership
952 of the user's files and home directory before accepting login.
953 This is normally desirable because novices sometimes accidentally
954 leave their directory or files world-writable. The default is
955 yes. Note that this does not apply to ChrootDirectory, whose
956 permissions and ownership are checked unconditionally.
957
958 Subsystem
959 Configures an external subsystem (e.g. file transfer daemon).
960 Arguments should be a subsystem name and a command (with optional
961 arguments) to execute upon subsystem request.
962
963 The command sftp-server implements the SFTP file transfer
964 subsystem.
965
966 Alternately the name internal-sftp implements an in-process SFTP
967 server. This may simplify configurations using ChrootDirectory
968 to force a different filesystem root on clients.
969
970 By default no subsystems are defined.
971
972 SyslogFacility
973 Gives the facility code that is used when logging messages from
974 sshd(8). The possible values are: DAEMON, USER, AUTH, LOCAL0,
975 LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The
976 default is AUTH.
977
978 TCPKeepAlive
979 Specifies whether the system should send TCP keepalive messages
980 to the other side. If they are sent, death of the connection or
981 crash of one of the machines will be properly noticed. However,
982 this means that connections will die if the route is down
983 temporarily, and some people find it annoying. On the other
984 hand, if TCP keepalives are not sent, sessions may hang
985 indefinitely on the server, leaving "ghost" users and consuming
986 server resources.
987
988 The default is yes (to send TCP keepalive messages), and the
989 server will notice if the network goes down or the client host
990 crashes. This avoids infinitely hanging sessions.
991
992 To disable TCP keepalive messages, the value should be set to no.
993
994 TrustedUserCAKeys
995 Specifies a file containing public keys of certificate
996 authorities that are trusted to sign user certificates for
997 authentication, or none to not use one. Keys are listed one per
998 line; empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are allowed. If
999 a certificate is presented for authentication and has its signing
1000 CA key listed in this file, then it may be used for
1001 authentication for any user listed in the certificate's
1002 principals list. Note that certificates that lack a list of
1003 principals will not be permitted for authentication using
1004 TrustedUserCAKeys. For more details on certificates, see the
1005 CERTIFICATES section in ssh-keygen(1).
1006
1007 UseDNS Specifies whether sshd(8) should look up the remote host name,
1008 and to check that the resolved host name for the remote IP
1009 address maps back to the very same IP address.
1010
1011 If this option is set to no (the default) then only addresses and
1012 not host names may be used in ~/.ssh/authorized_keys from and
1013 sshd_config Match Host directives.
1014
1015 UsePAM Enables the Pluggable Authentication Module interface. If set to
1016 yes this will enable PAM authentication using
1017 ChallengeResponseAuthentication and PasswordAuthentication in
1018 addition to PAM account and session module processing for all
1019 authentication types.
1020
1021 Because PAM challenge-response authentication usually serves an
1022 equivalent role to password authentication, you should disable
1023 either PasswordAuthentication or ChallengeResponseAuthentication.
1024
1025 If UsePAM is enabled, you will not be able to run sshd(8) as a
1026 non-root user. The default is no.
1027
1028 VersionAddendum
1029 Optionally specifies additional text to append to the SSH
1030 protocol banner sent by the server upon connection. The default
1031 is none.
1032
1033 X11DisplayOffset
1034 Specifies the first display number available for sshd(8)'s X11
1035 forwarding. This prevents sshd from interfering with real X11
1036 servers. The default is 10.
1037
1038 X11Forwarding
1039 Specifies whether X11 forwarding is permitted. The argument must
1040 be yes or no. The default is no.
1041
1042 When X11 forwarding is enabled, there may be additional exposure
1043 to the server and to client displays if the sshd(8) proxy display
1044 is configured to listen on the wildcard address (see
1045 X11UseLocalhost), though this is not the default. Additionally,
1046 the authentication spoofing and authentication data verification
1047 and substitution occur on the client side. The security risk of
1048 using X11 forwarding is that the client's X11 display server may
1049 be exposed to attack when the SSH client requests forwarding (see
1050 the warnings for ForwardX11 in ssh_config(5)). A system
1051 administrator may have a stance in which they want to protect
1052 clients that may expose themselves to attack by unwittingly
1053 requesting X11 forwarding, which can warrant a no setting.
1054
1055 Note that disabling X11 forwarding does not prevent users from
1056 forwarding X11 traffic, as users can always install their own
1057 forwarders.
1058
1059 X11UseLocalhost
1060 Specifies whether sshd(8) should bind the X11 forwarding server
1061 to the loopback address or to the wildcard address. By default,
1062 sshd binds the forwarding server to the loopback address and sets
1063 the hostname part of the DISPLAY environment variable to
1064 localhost. This prevents remote hosts from connecting to the
1065 proxy display. However, some older X11 clients may not function
1066 with this configuration. X11UseLocalhost may be set to no to
1067 specify that the forwarding server should be bound to the
1068 wildcard address. The argument must be yes or no. The default
1069 is yes.
1070
1071 XAuthLocation
1072 Specifies the full pathname of the xauth(1) program, or none to
1073 not use one. The default is /usr/X11R6/bin/xauth.
1074
1075TIME FORMATS
1076 sshd(8) command-line arguments and configuration file options that
1077 specify time may be expressed using a sequence of the form:
1078 time[qualifier], where time is a positive integer value and qualifier is
1079 one of the following:
1080
1081 M-bM-^_M-(noneM-bM-^_M-) seconds
1082 s | S seconds
1083 m | M minutes
1084 h | H hours
1085 d | D days
1086 w | W weeks
1087
1088 Each member of the sequence is added together to calculate the total time
1089 value.
1090
1091 Time format examples:
1092
1093 600 600 seconds (10 minutes)
1094 10m 10 minutes
1095 1h30m 1 hour 30 minutes (90 minutes)
1096
1097TOKENS
1098 Arguments to some keywords can make use of tokens, which are expanded at
1099 runtime:
1100
1101 %% A literal M-bM-^@M-^X%M-bM-^@M-^Y.
1102 %D The routing domain in which the incoming connection was
1103 received.
1104 %F The fingerprint of the CA key.
1105 %f The fingerprint of the key or certificate.
1106 %h The home directory of the user.
1107 %i The key ID in the certificate.
1108 %K The base64-encoded CA key.
1109 %k The base64-encoded key or certificate for authentication.
1110 %s The serial number of the certificate.
1111 %T The type of the CA key.
1112 %t The key or certificate type.
1113 %U The numeric user ID of the target user.
1114 %u The username.
1115
1116 AuthorizedKeysCommand accepts the tokens %%, %f, %h, %k, %t, %U, and %u.
1117
1118 AuthorizedKeysFile accepts the tokens %%, %h, %U, and %u.
1119
1120 AuthorizedPrincipalsCommand accepts the tokens %%, %F, %f, %h, %i, %K,
1121 %k, %s, %T, %t, %U, and %u.
1122
1123 AuthorizedPrincipalsFile accepts the tokens %%, %h, %U, and %u.
1124
1125 ChrootDirectory accepts the tokens %%, %h, %U, and %u.
1126
1127 RoutingDomain accepts the token %D.
1128
1129FILES
1130 /etc/ssh/sshd_config
1131 Contains configuration data for sshd(8). This file should be
1132 writable by root only, but it is recommended (though not
1133 necessary) that it be world-readable.
1134
1135SEE ALSO
1136 sftp-server(8), sshd(8)
1137
1138AUTHORS
1139 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1140 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1141 de Raadt and Dug Song removed many bugs, re-added newer features and
1142 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1143 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
1144 for privilege separation.
1145
1146OpenBSD 6.7 April 17, 2020 OpenBSD 6.7