summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12492
-rw-r--r--aclocal.m415
-rw-r--r--config.h.in2059
-rwxr-xr-xconfigure21833
-rw-r--r--moduli.074
-rw-r--r--scp.0186
-rw-r--r--sftp-server.098
-rw-r--r--sftp.0402
-rw-r--r--ssh-add.0152
-rw-r--r--ssh-agent.0119
-rw-r--r--ssh-keygen.0809
-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.01002
-rw-r--r--ssh_config.01194
-rw-r--r--sshd.0672
-rw-r--r--sshd_config.01153
19 files changed, 42477 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000000000..bcaa38f94
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,12492 @@
1commit 279261e1ea8150c7c64ab5fe7cb4a4ea17acbb29
2Author: Damien Miller <djm@mindrot.org>
3Date: Sun Sep 27 17:25:01 2020 +1000
4
5 update version numbers
6
7commit 58ca6ab6ff035ed12b5078e3e9c7199fe72c8587
8Author: djm@openbsd.org <djm@openbsd.org>
9Date: Sun Sep 27 07:22:05 2020 +0000
10
11 upstream: openssh 8.4
12
13 OpenBSD-Commit-ID: a29e5b372d2c00e297da8a35a3b87c9beb3b4a58
14
15commit 9bb8a303ce05ff13fb421de991b495930be103c3
16Author: Damien Miller <djm@mindrot.org>
17Date: Tue Sep 22 10:07:43 2020 +1000
18
19 sync with upstream ssh-copy-id rev f0da1a1b7
20
21commit 0a4a5571ada76b1b012bec9cf6ad1203fc19ec8d
22Author: djm@openbsd.org <djm@openbsd.org>
23Date: Mon Sep 21 07:29:09 2020 +0000
24
25 upstream: close stdin when forking after authentication too; ok markus
26
27 OpenBSD-Commit-ID: 43db17e4abc3e6b4a7b033aa8cdab326a7cb6c24
28
29commit d14fe25e6c3b89f8af17e2894046164ac3b45688
30Author: djm@openbsd.org <djm@openbsd.org>
31Date: Sun Sep 20 23:31:46 2020 +0000
32
33 upstream: close stdout/stderr after "ssh -f ..." forking
34
35 bz#3137, ok markus
36
37 OpenBSD-Commit-ID: e2d83cc4dea1665651a7aa924ad1ed6bcaaab3e2
38
39commit 53a33a0d745179c02108589e1722457ca8ae4372
40Author: Damien Miller <djm@mindrot.org>
41Date: Sun Sep 20 15:57:09 2020 +1000
42
43 .depend
44
45commit 107eb3eeafcd390e1fa7cc7672a05e994d14013e
46Author: djm@openbsd.org <djm@openbsd.org>
47Date: Sun Sep 20 05:47:25 2020 +0000
48
49 upstream: cap channel input buffer size at 16MB; avoids high memory use
50
51 when peer advertises a large window but is slow to consume the data we send
52 (e.g. because of a slow network)
53
54 reported by Pierre-Yves David
55
56 fix with & ok markus@
57
58 OpenBSD-Commit-ID: 1452771f5e5e768876d3bfe2544e3866d6ade216
59
60commit acfe2ac5fe033e227ad3a56624fbbe4af8b5da04
61Author: Damien Miller <djm@mindrot.org>
62Date: Fri Sep 18 22:02:53 2020 +1000
63
64 libfido2 1.5.0 is recommended
65
66commit 52a03e9fca2d74eef953ddd4709250f365ca3975
67Author: djm@openbsd.org <djm@openbsd.org>
68Date: Fri Sep 18 08:16:38 2020 +0000
69
70 upstream: handle multiple messages in a single read()
71
72 PR#183 by Dennis Kaarsemaker; feedback and ok markus@
73
74 OpenBSD-Commit-ID: 8570bb4d02d00cf70b98590716ea6a7d1cce68d1
75
76commit dc098405b2939146e17567a25b08fc6122893cdf
77Author: pedro martelletto <pedro@ambientworks.net>
78Date: Fri Sep 18 08:57:29 2020 +0200
79
80 configure.ac: add missing includes
81
82 when testing, make sure to include the relevant header files that
83 declare the types of the functions used by the test:
84
85 - stdio.h for printf();
86 - stdlib.h for exit();
87 - string.h for strcmp();
88 - unistd.h for unlink(), _exit(), fork(), getppid(), sleep().
89
90commit b3855ff053f5078ec3d3c653cdaedefaa5fc362d
91Author: djm@openbsd.org <djm@openbsd.org>
92Date: Fri Sep 18 05:23:03 2020 +0000
93
94 upstream: tweak the client hostkey preference ordering algorithm to
95
96 prefer the default ordering if the user has a key that matches the
97 best-preference default algorithm.
98
99 feedback and ok markus@
100
101 OpenBSD-Commit-ID: a92dd7d7520ddd95c0a16786a7519e6d0167d35f
102
103commit f93b187ab900c7d12875952cc63350fe4de8a0a8
104Author: Damien Miller <djm@mindrot.org>
105Date: Fri Sep 18 14:55:48 2020 +1000
106
107 control over the colours in gnome-ssh-askpass[23]
108
109 Optionally set the textarea colours via $GNOME_SSH_ASKPASS_FG_COLOR and
110 $GNOME_SSH_ASKPASS_BG_COLOR. These accept the usual three or six digit
111 hex colours.
112
113commit 9d3d36bdb10b66abd1af42e8655502487b6ba1fa
114Author: Damien Miller <djm@mindrot.org>
115Date: Fri Sep 18 14:50:38 2020 +1000
116
117 focus improvement for gnome-ssh-askpass[23]
118
119 When serving a SSH_ASKPASS_PROMPT=none information dialog, ensure
120 then <enter> doesn't immediately close the dialog. Instead, require an
121 explicit <tab> to reach the close button, or <esc>.
122
123commit d6f507f37e6c75a899db0ef8224e72797c5563b6
124Author: dtucker@openbsd.org <dtucker@openbsd.org>
125Date: Wed Sep 16 03:07:31 2020 +0000
126
127 upstream: Remove unused buf, last user was removed when switching
128
129 to the sshbuf API. Patch from Sebastian Andrzej Siewior.
130
131 OpenBSD-Commit-ID: 250fa17f0cec01039cc4abd95917d9746e24c889
132
133commit c3c786c3a0973331ee0922b2c51832a3b8d7f20f
134Author: djm@openbsd.org <djm@openbsd.org>
135Date: Wed Sep 9 21:57:27 2020 +0000
136
137 upstream: For the hostkey confirmation message:
138
139 > Are you sure you want to continue connecting (yes/no/[fingerprint])?
140
141 compare the fingerprint case sensitively; spotted Patrik Lundin
142 ok dtucker
143
144 OpenBSD-Commit-ID: 73097afee1b3a5929324e345ba4a4a42347409f2
145
146commit f2950baf0bafe6aa20dfe2e8d1ca4b23528df617
147Author: Darren Tucker <dtucker@dtucker.net>
148Date: Fri Sep 11 14:45:23 2020 +1000
149
150 New config-build-time dependency on automake.
151
152commit 600c1c27abd496372bd0cf83d21a1c119dfdf9a5
153Author: Darren Tucker <dtucker@dtucker.net>
154Date: Sun Sep 6 21:56:36 2020 +1000
155
156 Add aclocal.m4 and config.h.in~ to .gitignore.
157
158 aclocal.m4 is now generated by autoreconf.
159
160commit 4bf7e1d00b1dcd3a6b3239f77465c019e61c6715
161Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
162Date: Sat Sep 5 17:50:03 2020 +0200
163
164 Quote the definition of OSSH_CHECK_HEADER_FOR_FIELD
165
166 autoreconf complains about underquoted definition of
167 OSSH_CHECK_HEADER_FOR_FIELD after aclocal.m4 has been and now is beeing
168 recreated.
169
170 Quote OSSH_CHECK_HEADER_FOR_FIELD as suggested.
171
172 Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
173
174commit a2f3ae386b5f7938ed3c565ad71f30c4f7f010f1
175Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
176Date: Sat Sep 5 17:50:02 2020 +0200
177
178 Move the local m4 macros
179
180 The `aclocal' step is skipped during `autoreconf' because aclocal.m4 is
181 present.
182 Move the current aclocal.m4 which contains local macros into the m4/
183 folder. With this change the aclocal.m4 will be re-created during
184 changes to the m4/ macro.
185 This is needed so the `aclocal' can fetch m4 macros from the system if
186 they are references in the configure script. This is a prerequisite to
187 use PKG_CHECK_MODULES.
188
189 Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
190
191commit 8372bff3a895b84fd78a81dc39da10928b662f5a
192Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
193Date: Sat Sep 5 17:50:01 2020 +0200
194
195 Remove HAVE_MMAP and BROKEN_MMAP
196
197 BROKEN_MMAP is no longer defined since commit
198 1cfd5c06efb12 ("Remove portability support for mmap")
199
200 this commit also removed other HAVE_MMAP user. I didn't find anything
201 that defines HAVE_MMAP. The check does not trigger because compression
202 on server side is by default COMP_DELAYED (2) so it never triggers.
203
204 Remove remaining HAVE_MMAP and BROKEN_MMAP bits.
205
206 Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
207
208commit bbf20ac8065905f9cb9aeb8f1df57fcab52ee2fb
209Author: djm@openbsd.org <djm@openbsd.org>
210Date: Wed Sep 9 03:10:21 2020 +0000
211
212 upstream: adapt to SSH_SK_VERSION_MAJOR crank
213
214 OpenBSD-Regress-ID: 0f3e76bdc8f9dbd9d22707c7bdd86051d5112ab8
215
216commit 9afe2a150893b20bdf9eab764978d817b9a7b783
217Author: dtucker@openbsd.org <dtucker@openbsd.org>
218Date: Fri Aug 28 03:17:13 2020 +0000
219
220 upstream: Ensure that address/mask mismatches are flagged at
221
222 config-check time. ok djm@
223
224 OpenBSD-Regress-ID: 8f5f4c2c0bf00e6ceae7a1755a444666de0ea5c2
225
226commit c76773524179cb654ff838dd43ba1ddb155bafaa
227Author: djm@openbsd.org <djm@openbsd.org>
228Date: Wed Sep 9 03:08:01 2020 +0000
229
230 upstream: when writing an attestation blob for a FIDO key, record all
231
232 the data needed to verify the attestation. Previously we were missing the
233 "authenticator data" that is included in the signature.
234
235 spotted by Ian Haken
236 feedback Pedro Martelletto and Ian Haken; ok markus@
237
238 OpenBSD-Commit-ID: 8439896e63792b2db99c6065dd9a45eabbdb7e0a
239
240commit c1c44eeecddf093a7983bd91e70b446de789b363
241Author: pedro martelletto <pedro@ambientworks.net>
242Date: Tue Sep 1 17:01:55 2020 +0200
243
244 configure.ac: fix libfido2 back-compat
245
246 - HAVE_FIDO_CRED_PROD -> HAVE_FIDO_CRED_PROT;
247 - check for fido_dev_get_touch_begin(), so that
248 HAVE_FIDO_DEV_GET_TOUCH_BEGIN gets defined.
249
250commit 785f0f315bf7ac5909e988bb1ac3e019fb5e1594
251Author: djm@openbsd.org <djm@openbsd.org>
252Date: Mon Aug 31 04:33:17 2020 +0000
253
254 upstream: refuse to add verify-required (PINful) FIDO keys to
255
256 ssh-agent until the agent supports them properly
257
258 OpenBSD-Commit-ID: 125bd55a8df32c87c3ec33c6ebe437673a3d037e
259
260commit 39e88aeff9c7cb6862b37ad1a87a03ebbb38c233
261Author: djm@openbsd.org <djm@openbsd.org>
262Date: Mon Aug 31 00:17:41 2020 +0000
263
264 upstream: Add RCS IDs to the few files that are missing them; from
265
266 Pedro Martelletto
267
268 OpenBSD-Commit-ID: 39aa37a43d0c75ec87f1659f573d3b5867e4a3b3
269
270commit 72730249b38a676da94a1366b54a6e96e6928bcb
271Author: dtucker@openbsd.org <dtucker@openbsd.org>
272Date: Fri Aug 28 03:15:52 2020 +0000
273
274 upstream: Check that the addresses supplied to Match Address and
275
276 Match LocalAddress are valid when parsing in config-test mode. This will
277 catch address/mask mismatches before they cause problems at runtime. Found by
278 Daniel Stocker, ok djm@
279
280 OpenBSD-Commit-ID: 2d0b10c69fad5d8fda4c703e7c6804935289378b
281
282commit 2a3a9822311a565a9df48ed3b6a3c972f462bd7d
283Author: jmc@openbsd.org <jmc@openbsd.org>
284Date: Thu Aug 27 12:34:00 2020 +0000
285
286 upstream: sentence fix; from pedro martelletto
287
288 OpenBSD-Commit-ID: f95b84a1e94e9913173229f3787448eea2f8a575
289
290commit ce178be0d954b210c958bc2b9e998cd6a7aa73a9
291Author: Damien Miller <djm@mindrot.org>
292Date: Thu Aug 27 20:01:52 2020 +1000
293
294 tweak back-compat for older libfido2
295
296commit d6f45cdde031acdf434bbb27235a1055621915f4
297Author: djm@openbsd.org <djm@openbsd.org>
298Date: Thu Aug 27 09:46:04 2020 +0000
299
300 upstream: debug()-print a little info about FIDO-specific key
301
302 fields via "ssh-keygen -vyf /path/key"
303
304 OpenBSD-Commit-ID: cf315c4fe77db43947d111b00155165cb6b577cf
305
306commit b969072cc3d62d05cb41bc6d6f3c22c764ed932f
307Author: djm@openbsd.org <djm@openbsd.org>
308Date: Thu Aug 27 09:43:28 2020 +0000
309
310 upstream: skip a bit more FIDO token selection logic when only a
311
312 single token is attached.
313
314 with Pedro Martelletto
315
316 OpenBSD-Commit-ID: e4a324bd9814227ec1faa8cb619580e661cca9ac
317
318commit 744df42a129d7d7db26947b7561be32edac89f88
319Author: jmc@openbsd.org <jmc@openbsd.org>
320Date: Thu Aug 27 06:15:22 2020 +0000
321
322 upstream: tweak previous;
323
324 OpenBSD-Commit-ID: 92714b6531e244e4da401b2defaa376374e24be7
325
326commit e32479645ce649b444ba5c6e7151304306a09654
327Author: djm@openbsd.org <djm@openbsd.org>
328Date: Thu Aug 27 03:55:22 2020 +0000
329
330 upstream: adapt to API changes
331
332 OpenBSD-Regress-ID: 5f147990cb67094fe554333782ab268a572bb2dd
333
334commit bbcc858ded3fbc46abfa7760e40389e3ca93884c
335Author: Damien Miller <djm@mindrot.org>
336Date: Thu Aug 27 12:37:12 2020 +1000
337
338 degrade semi-gracefully when libfido2 is too old
339
340commit 9cbbdc12cb6a2ab1e9ffe9974cca91d213c185c2
341Author: djm@openbsd.org <djm@openbsd.org>
342Date: Thu Aug 27 01:15:36 2020 +0000
343
344 upstream: dummy firmware needs to match API version numner crank (for
345
346 verify-required resident keys) even though it doesn't implement this feature
347
348 OpenBSD-Regress-ID: 86579ea2891e18e822e204413d011b2ae0e59657
349
350commit c1e76c64956b424ba260fd4eec9970e5b5859039
351Author: djm@openbsd.org <djm@openbsd.org>
352Date: Thu Aug 27 02:11:09 2020 +0000
353
354 upstream: remove unreachable code I forgot to delete in r1.334
355
356 OpenBSD-Commit-ID: 9ed6078251a0959ee8deda443b9ae42484fd8b18
357
358commit 0caff05350bd5fc635674c9e051a0322faba5ae3
359Author: djm@openbsd.org <djm@openbsd.org>
360Date: Thu Aug 27 01:08:45 2020 +0000
361
362 upstream: Request PIN ahead of time for certain FIDO actions
363
364 When we know that a particular action will require a PIN, such as
365 downloading resident keys or generating a verify-required key, request
366 the PIN before attempting it.
367
368 joint work with Pedro Martelletto; ok markus@
369
370 OpenBSD-Commit-ID: 863182d38ef075bad1f7d20ca485752a05edb727
371
372commit b649b3daa6d4b8ebe1bd6de69b3db5d2c03c9af0
373Author: djm@openbsd.org <djm@openbsd.org>
374Date: Thu Aug 27 01:08:19 2020 +0000
375
376 upstream: preserve verify-required for resident FIDO keys
377
378 When downloading a resident, verify-required key from a FIDO token,
379 preserve the verify-required in the private key that is written to
380 disk. Previously we weren't doing that because of lack of support
381 in the middleware API.
382
383 from Pedro Martelletto; ok markus@ and myself
384
385 OpenBSD-Commit-ID: 201c46ccdd227cddba3d64e1bdbd082afa956517
386
387commit 642e06d0df983fa2af85126cf4b23440bb2985bf
388Author: djm@openbsd.org <djm@openbsd.org>
389Date: Thu Aug 27 01:07:51 2020 +0000
390
391 upstream: major rework of FIDO token selection logic
392
393 When PINs are in use and multiple FIDO tokens are attached to a host, we
394 cannot just blast requests at all attached tokens with the PIN specified
395 as this will cause the per-token PIN failure counter to increment. If
396 this retry counter hits the token's limit (usually 3 attempts), then the
397 token will lock itself and render all (web and SSH) of its keys invalid.
398 We don't want this.
399
400 So this reworks the key selection logic for the specific case of
401 multiple keys being attached. When multiple keys are attached and the
402 operation requires a PIN, then the user must touch the key that they
403 wish to use first in order to identify it.
404
405 This may require multiple touches, but only if there are multiple keys
406 attached AND (usually) the operation requires a PIN. The usual case of a
407 single key attached should be unaffected.
408
409 Work by Pedro Martelletto; ok myself and markus@
410
411 OpenBSD-Commit-ID: 637d3049ced61b7a9ee796914bbc4843d999a864
412
413commit 801c9f095e6d8b7b91aefd98f5001c652ea13488
414Author: djm@openbsd.org <djm@openbsd.org>
415Date: Thu Aug 27 01:07:09 2020 +0000
416
417 upstream: support for requiring user verified FIDO keys in sshd
418
419 This adds a "verify-required" authorized_keys flag and a corresponding
420 sshd_config option that tells sshd to require that FIDO keys verify the
421 user identity before completing the signing/authentication attempt.
422 Whether or not user verification was performed is already baked into the
423 signature made on the FIDO token, so this is just plumbing that flag
424 through and adding ways to require it.
425
426 feedback and ok markus@
427
428 OpenBSD-Commit-ID: 3a2313aae153e043d57763d766bb6d55c4e276e6
429
430commit 9b8ad93824c682ce841f53f3b5762cef4e7cc4dc
431Author: djm@openbsd.org <djm@openbsd.org>
432Date: Thu Aug 27 01:06:18 2020 +0000
433
434 upstream: support for user-verified FIDO keys
435
436 FIDO2 supports a notion of "user verification" where the user is
437 required to demonstrate their identity to the token before particular
438 operations (e.g. signing). Typically this is done by authenticating
439 themselves using a PIN that has been set on the token.
440
441 This adds support for generating and using user verified keys where
442 the verification happens via PIN (other options might be added in the
443 future, but none are in common use now). Practically, this adds
444 another key generation option "verify-required" that yields a key that
445 requires a PIN before each authentication.
446
447 feedback markus@ and Pedro Martelletto; ok markus@
448
449 OpenBSD-Commit-ID: 57fd461e4366f87c47502c5614ec08573e6d6a15
450
451commit 1196d7f49d4fbc90f37e550de3056561613b0960
452Author: cheloha@openbsd.org <cheloha@openbsd.org>
453Date: Wed Aug 12 01:23:45 2020 +0000
454
455 upstream: ssh-keyscan(1): simplify conloop() with timercmp(3),
456
457 timersub(3); ok djm@
458
459 OpenBSD-Commit-ID: a102acb544f840d33ad73d40088adab4a687fa27
460
461commit d0a195c89e26766d3eb8f3e4e2a00ebc98b57795
462Author: djm@openbsd.org <djm@openbsd.org>
463Date: Tue Aug 11 09:49:57 2020 +0000
464
465 upstream: let ssh_config(5)'s AddKeysToAgent keyword accept a time
466
467 limit for keys in addition to its current flag options. Time-limited keys
468 will automatically be removed from ssh-agent after their expiry time has
469 passed; ok markus@
470
471 OpenBSD-Commit-ID: 792e71cacbbc25faab5424cf80bee4a006119f94
472
473commit e9c2002891a7b8e66f4140557a982978f372e5a3
474Author: djm@openbsd.org <djm@openbsd.org>
475Date: Tue Aug 11 09:45:54 2020 +0000
476
477 upstream: let the "Confirm user presence for key ..." ssh-askpass
478
479 notification respect $SSH_ASKPASS_REQUIRE; ok markus@
480
481 OpenBSD-Commit-ID: 7c1a616b348779bda3b9ad46bf592741f8e206c1
482
483commit eaf8672b1b52db2815a229745f4e4b08681bed6d
484Author: Darren Tucker <dtucker@dtucker.net>
485Date: Fri Aug 21 00:04:13 2020 +1000
486
487 Remove check for 'ent' command.
488
489 It was added in 8d1fd57a9 for measuring entropy of ssh_prng_cmds which
490 has long since been removed and there are no other references to it.
491
492commit 05c215de8d224e094a872d97d45f37f60c06206b
493Author: Darren Tucker <dtucker@dtucker.net>
494Date: Mon Aug 17 21:34:32 2020 +1000
495
496 Wrap stdint.h include in ifdef HAVE_STDINT_H.
497
498commit eaf2765efe8bc74feba85c34295d067637fc6635
499Author: Damien Miller <djm@mindrot.org>
500Date: Mon Aug 10 13:24:09 2020 +1000
501
502 sync memmem.c with OpenBSD
503
504commit ed6bef77f5bb5b8f9ca2914478949e29f2f0a780
505Author: Darren Tucker <dtucker@dtucker.net>
506Date: Fri Aug 7 17:12:16 2020 +1000
507
508 Always send any PAM account messages.
509
510 If the PAM account stack reaturns any messages, send them to the user
511 not just if the check succeeds. bz#2049, ok djm@
512
513commit a09e98dcae1e26f026029b7142b0e0d10130056f
514Author: Darren Tucker <dtucker@dtucker.net>
515Date: Fri Aug 7 15:37:37 2020 +1000
516
517 Output test debug logs on failure.
518
519commit eb122b1eebe58b29a83a507ee814cbcf8aeded1b
520Author: Darren Tucker <dtucker@dtucker.net>
521Date: Fri Aug 7 15:11:42 2020 +1000
522
523 Add ability to specify exact test target.
524
525commit c2ec7a07f8caabb4d8e00c66e7cd46bf2cd1e922
526Author: Darren Tucker <dtucker@dtucker.net>
527Date: Fri Aug 7 14:21:15 2020 +1000
528
529 Document --without-openssl and --without-zlib.
530
531commit 651bb3a31949bbdc3a78b2ede95a77bce0c72984
532Author: Darren Tucker <dtucker@dtucker.net>
533Date: Fri Aug 7 14:15:11 2020 +1000
534
535 Add without-openssl without-zlib test target.
536
537commit 9499f2bb01dc1032ae155999b2d7764b9491341f
538Author: Stefan Schindler <dns2utf8@estada.ch>
539Date: Wed Aug 5 19:00:52 2020 +0200
540
541 Add CI with prepare script
542
543 * Only use heimdal kerberos implementation
544 * Fetch yubico/libfido2 (see: https://github.com/Yubico/libfido2)
545 * Add one target for
546 * all features
547 * each feature alone
548 * no features
549
550commit ea1f649046546a860f68b97ddc3015b7e44346ca
551Author: Damien Miller <djm@mindrot.org>
552Date: Wed Aug 5 08:58:57 2020 +1000
553
554 support NetBSD's utmpx.ut_ss address field
555
556 bz#960, ok dtucker
557
558commit 32c63e75a70a0ed9d6887a55fcb0e4531a6ad617
559Author: Damien Miller <djm@mindrot.org>
560Date: Tue Aug 4 14:59:21 2020 +1000
561
562 wrap a declaration in the same ifdefs as its use
563
564 avoids warnings on NetBSD
565
566commit c9e3be9f4b41fda32a2a0138d54c7a6b563bc94d
567Author: Damien Miller <djm@mindrot.org>
568Date: Tue Aug 4 14:58:46 2020 +1000
569
570 undef TAILQ_CONCAT and friends
571
572 Needed for NetBSD. etc that supply these macros
573
574commit 2d8a3b7e8b0408dfeb933ac5cfd3a58f5bac49af
575Author: djm@openbsd.org <djm@openbsd.org>
576Date: Mon Aug 3 02:53:51 2020 +0000
577
578 upstream: ensure that certificate extensions are lexically sorted.
579
580 Previously if the user specified a custom extension then the everything would
581 be in order except the custom ones. bz3198 ok dtucker markus
582
583 OpenBSD-Commit-ID: d97deb90587b06cb227c66ffebb2d9667bf886f0
584
585commit a8732d74cb8e72f0c6366015687f1e649f60be87
586Author: djm@openbsd.org <djm@openbsd.org>
587Date: Mon Aug 3 02:43:41 2020 +0000
588
589 upstream: allow -A to explicitly enable agent forwarding in scp and
590
591 sftp. The default remains to not forward an agent, even when ssh_config
592 enables it. ok jmc dtucker markus
593
594 OpenBSD-Commit-ID: 36cc526aa3b0f94e4704b8d7b969dd63e8576822
595
596commit ab9105470a83ed5d8197959a1b1f367399958ba1
597Author: deraadt@openbsd.org <deraadt@openbsd.org>
598Date: Mon Aug 3 02:42:49 2020 +0000
599
600 upstream: clang -Wimplicit-fallthrough does not recognise /*
601
602 FALLTHROUGH */ comments, which is the style we currently use, and gives too
603 many boring warnings. ok djm
604
605 OpenBSD-Commit-ID: 07b5031e9f49f2b69ac5e85b8da4fc9e393992a0
606
607commit ced327b9fb78c94d143879ef4b2a02cbc5d38690
608Author: dtucker@openbsd.org <dtucker@openbsd.org>
609Date: Fri Jul 31 04:19:37 2020 +0000
610
611 upstream: Also compare username when checking for JumpHost loops.
612
613 bz#3057, ok djm@
614
615 OpenBSD-Commit-ID: 9bbc1d138adb34c54f3c03a15a91f75dbf418782
616
617commit ae7527010c44b3376b85d036a498f136597b2099
618Author: Darren Tucker <dtucker@dtucker.net>
619Date: Fri Jul 31 15:19:04 2020 +1000
620
621 Remove AC_REVISION.
622
623 It hasn't been useful since we switched to git in 2014. ok djm@
624
625commit 89fc3f414be0ce4e8008332a9739a7d721269e50
626Author: Darren Tucker <dtucker@dtucker.net>
627Date: Tue Jul 28 19:40:30 2020 +1000
628
629 Use argv in OSSH_CHECK_CFLAG_COMPILE test.
630
631 configure.ac is not detecting -Wextra in compilers that implement the
632 option. The problem is that -Wextra implies -Wunused-parameter, and the
633 C excerpt used by aclocal.m4 does not use argv. Patch from pedro at
634 ambientworks.net, ok djm@
635
636commit 62c81ef531b0cc7ff655455dd34f5f0c94f48e82
637Author: Darren Tucker <dtucker@dtucker.net>
638Date: Mon Jul 20 22:12:07 2020 +1000
639
640 Skip ECDSA-SK webauthn test when built w/out ECC
641
642commit 3ec9a6d7317236a9994887d8bd5d246af403a00d
643Author: Damien Miller <djm@mindrot.org>
644Date: Mon Jul 20 13:09:25 2020 +1000
645
646 Add ssh-sk-helper and manpage to RPM spec file
647
648 Based on patch from Fabio Pedretti
649
650commit a2855c048b3f4b17d8787bd3f24232ec0cd79abe
651Author: dtucker@openbsd.org <dtucker@openbsd.org>
652Date: Fri Jul 17 07:09:24 2020 +0000
653
654 upstream: Add %k to the TOKENs for Match Exec for consistency with
655
656 the other keywords that recently got %k.
657
658 OpenBSD-Commit-ID: 1857d1c40f270cbc254fca91e66110641dddcfdb
659
660commit 69860769fa9f4529d8612ec055ae11912f7344cf
661Author: jmc@openbsd.org <jmc@openbsd.org>
662Date: Fri Jul 17 05:59:05 2020 +0000
663
664 upstream: fix macro slip in previous;
665
666 OpenBSD-Commit-ID: 624e47ab209450ad9ad5c69f54fa69244de5ed9a
667
668commit 40649bd0822883b684183854b16d0b8461d5697b
669Author: dtucker@openbsd.org <dtucker@openbsd.org>
670Date: Fri Jul 17 07:10:24 2020 +0000
671
672 upstream: Add test for '%k' (HostKeyAlias) TOKEN.
673
674 OpenBSD-Regress-ID: 8ed1ba1a811790031aad3fcea860a34ad7910456
675
676commit 6736fe680704a3518cb4f3f8f6723b00433bd3dd
677Author: dtucker@openbsd.org <dtucker@openbsd.org>
678Date: Fri Jul 17 03:26:58 2020 +0000
679
680 upstream: Add tests for expansions on UserKnownHostsFile.
681
682 OpenBSD-Regress-ID: bccf8060306c841bbcceb1392644f906a4d6ca51
683
684commit 287dc6396e0f9cb2393f901816dbd7f2a7dfbb5f
685Author: djm@openbsd.org <djm@openbsd.org>
686Date: Fri Jul 17 03:51:32 2020 +0000
687
688 upstream: log error message for process_write() write failures
689
690 OpenBSD-Commit-ID: f733d7b3b05e3c68967dc18dfe39b9e8fad29851
691
692commit 8df5774a42d2eaffe057bd7f293fc6a4b1aa411c
693Author: dtucker@openbsd.org <dtucker@openbsd.org>
694Date: Fri Jul 17 03:43:42 2020 +0000
695
696 upstream: Add a '%k' TOKEN that expands to the effective HostKey of
697
698 the destination. This allows, eg, keeping host keys in individual files
699 using "UserKnownHostsFile ~/.ssh/known_hosts.d/%k". bz#1654, ok djm@, jmc@
700 (man page bits)
701
702 OpenBSD-Commit-ID: 7084d723c9cc987a5c47194219efd099af5beadc
703
704commit c4f239944a4351810fd317edf408bdcd5c0102d9
705Author: dtucker@openbsd.org <dtucker@openbsd.org>
706Date: Fri Jul 17 03:23:10 2020 +0000
707
708 upstream: Add %-TOKEN, environment variable and tilde expansion to
709
710 UserKnownHostsFile, allowing the file to be automagically split up in the
711 configuration (eg bz#1654). ok djm@, man page parts jmc@
712
713 OpenBSD-Commit-ID: 7e1b406caf147638bb51558836a72d6cc0bd1b18
714
715commit dbaaa01daedb423c38124a72c471982fb08a16fb
716Author: solene@openbsd.org <solene@openbsd.org>
717Date: Wed Jul 15 07:50:46 2020 +0000
718
719 upstream: - Add [-a rounds] in ssh-keygen man page and usage() -
720
721 Reorder parameters list in the first usage() case - Sentence rewording
722
723 ok dtucker@
724 jmc@ noticed usage() missed -a flag too
725
726 OpenBSD-Commit-ID: f06b9afe91cc96f260b929a56e9930caecbde246
727
728commit 69924a92c3af7b99a7541aa544a2334ec0fb092c
729Author: jmc@openbsd.org <jmc@openbsd.org>
730Date: Wed Jul 15 05:40:05 2020 +0000
731
732 upstream: start sentence with capital letter;
733
734 OpenBSD-Commit-ID: ab06581d51b2b4cc1b4aab781f7f3cfa56cad973
735
736commit 5b56bd0affea7b02b540bdbc4d1d271b0e4fc885
737Author: Damien Miller <djm@mindrot.org>
738Date: Fri Jul 17 13:15:50 2020 +1000
739
740 detect Linux/X32 systems
741
742 This is a frankenstein monster of AMD64 instructions/calling conventions
743 but with a 4GB address space. Allegedly deprecated but people still run
744 into it causing weird sandbox failures, e.g. bz#3085
745
746commit 9c9ddc1391d6af8d09580a2424ab467d0a5df3c7
747Author: dtucker@openbsd.org <dtucker@openbsd.org>
748Date: Wed Jul 15 06:43:16 2020 +0000
749
750 upstream: Fix previous by calling the correct function.
751
752 OpenBSD-Regress-ID: 821cdd1dff9c502cceff4518b6afcb81767cad5a
753
754commit f1a4798941b4372bfe5e46f1c0f8672fe692d9e4
755Author: dtucker@openbsd.org <dtucker@openbsd.org>
756Date: Wed Jul 15 05:36:50 2020 +0000
757
758 upstream: Update test to match recent change in match.c
759
760 OpenBSD-Regress-ID: 965bda1f95f09a765050707340c73ad755f41167
761
762commit d7e71be4fd57b7c7e620d733cdf2333b27bfa924
763Author: Darren Tucker <dtucker@dtucker.net>
764Date: Wed Jul 15 15:30:43 2020 +1000
765
766 Adjust portable code to match changes in 939d787d,
767
768commit fec89f32a84fd0aa1afc81deec80a460cbaf451a
769Author: dtucker@openbsd.org <dtucker@openbsd.org>
770Date: Wed Jul 15 04:27:34 2020 +0000
771
772 upstream: Add default for number of rounds (-a). ok djm@
773
774 OpenBSD-Commit-ID: cb7e9aa04ace01a98e63e4bd77f34a42ab169b15
775
776commit aaa8b609a7b332be836cd9a3b782422254972777
777Author: djm@openbsd.org <djm@openbsd.org>
778Date: Tue Jul 14 23:57:01 2020 +0000
779
780 upstream: allow some additional control over the use of ssh-askpass
781
782 via $SSH_ASKPASS_REQUIRE, including force-enable/disable. bz#69 ok markus@
783
784 OpenBSD-Commit-ID: 3a1e6cbbf6241ddc4405c4246caa2c249f149eb2
785
786commit 6368022cd4dd508671c4999a59ec5826df098530
787Author: deraadt@openbsd.org <deraadt@openbsd.org>
788Date: Tue Jul 7 02:47:21 2020 +0000
789
790 upstream: correct recently broken comments
791
792 OpenBSD-Commit-ID: 964d9a88f7de1d0eedd3f8070b43fb6e426351f1
793
794commit 6d755706a0059eb9e2d63517f288b75cbc3b4701
795Author: djm@openbsd.org <djm@openbsd.org>
796Date: Sun Jul 5 23:59:45 2020 +0000
797
798 upstream: some language improvements; ok markus
799
800 OpenBSD-Commit-ID: 939d787d571b4d5da50b3b721fd0b2ac236acaa8
801
802commit b0c1e8384d5e136ebdf895d1434aea7dd8661a1c
803Author: markus@openbsd.org <markus@openbsd.org>
804Date: Fri Jul 3 10:12:26 2020 +0000
805
806 upstream: update setproctitle after re-exec; ok djm
807
808 OpenBSD-Commit-ID: bc92d122f9184ec2a9471ade754b80edd034ce8b
809
810commit cd119a5ec2bf0ed5df4daff3bd14f8f7566dafd3
811Author: markus@openbsd.org <markus@openbsd.org>
812Date: Fri Jul 3 10:11:33 2020 +0000
813
814 upstream: keep ignoring HUP after fork+exec; ok djm
815
816 OpenBSD-Commit-ID: 7679985a84ee5ceb09839905bb6f3ddd568749a2
817
818commit 8af4a743693ccbea3e15fc9e93edbeb610fa94f4
819Author: markus@openbsd.org <markus@openbsd.org>
820Date: Fri Jul 3 10:10:17 2020 +0000
821
822 upstream: don't exit the listener on send_rexec_state errors; ok
823
824 djm
825
826 OpenBSD-Commit-ID: 57cbd757d130d3f45b7d41310b3a15eeec137d5c
827
828commit 03da4c2b70468f04ed1c08518ea0a70e67232739
829Author: dtucker@openbsd.org <dtucker@openbsd.org>
830Date: Wed Jul 15 04:55:47 2020 +0000
831
832 upstream: Use $OBJ to find key files. Fixes test when run on an obj
833
834 directory (on OpenBSD) or out of tree (in Portable).
835
836 OpenBSD-Regress-ID: 938fa8ac86adaa527d64a305bd2135cfbb1c0a17
837
838commit 73f20f195ad18f1cf633eb7d8be95dc1b6111eea
839Author: Darren Tucker <dtucker@dtucker.net>
840Date: Sat Jul 4 23:11:23 2020 +1000
841
842 Wrap stdint.h in ifdef HAVE_STDINT_H.
843
844commit aa6fa4bf3023fa0e5761cd8f4b2cd015d2de74dd
845Author: djm@openbsd.org <djm@openbsd.org>
846Date: Fri Jul 3 07:25:18 2020 +0000
847
848 upstream: put back the mux_ctx memleak fix, but only for channels of
849
850 type SSH_CHANNEL_MUX_LISTENER; Specifically SSH_CHANNEL_MUX_PROXY channels
851 should not have this structure freed.
852
853 OpenBSD-Commit-ID: f3b213ae60405f77439e2b06262f054760c9d325
854
855commit d8195914eb43b20b13381f4e5a74f9f8a14f0ded
856Author: djm@openbsd.org <djm@openbsd.org>
857Date: Fri Jul 3 07:17:35 2020 +0000
858
859 upstream: revert r1.399 - the lifetime of c->mux_ctx is more complex;
860
861 simply freeing it here causes other problems
862
863 OpenBSD-Commit-ID: c6fee8ca94e2485faa783839541962be2834c5ed
864
865commit 20b5fab9f773b3d3c7f06cb15b8f69a2c081ee80
866Author: djm@openbsd.org <djm@openbsd.org>
867Date: Fri Jul 3 07:02:37 2020 +0000
868
869 upstream: avoid tilde_expand_filename() in expanding ~/.ssh/rc - if
870
871 sshd is in chroot mode, the likely absence of a password database will cause
872 tilde_expand_filename() to fatal; ok dtucker@
873
874 OpenBSD-Commit-ID: e20aee6159e8b79190d18dba1513fc1b7c8b7ee1
875
876commit c8935081db35d73ee6355999142fa0776a2af912
877Author: djm@openbsd.org <djm@openbsd.org>
878Date: Fri Jul 3 06:46:41 2020 +0000
879
880 upstream: when redirecting sshd's log output to a file, undo this
881
882 redirection after the session child process is forked(); ok dtucker@
883
884 OpenBSD-Commit-ID: 6df86dd653c91f5bc8ac1916e7680d9d24690865
885
886commit 183c4aaef944af3a1a909ffa01058c65bac55748
887Author: djm@openbsd.org <djm@openbsd.org>
888Date: Fri Jul 3 06:29:57 2020 +0000
889
890 upstream: start ClientAliveInterval bookkeeping before first pass
891
892 through select() loop; fixed theoretical case where busy sshd may ignore
893 timeouts from client; inspired by and ok dtucker
894
895 OpenBSD-Commit-ID: 96bfc4b1f86c7da313882a84755b2b47eb31957f
896
897commit 6fcfd303d67f16695198cf23d109a988e40eefb6
898Author: Damien Miller <djm@mindrot.org>
899Date: Fri Jul 3 15:28:27 2020 +1000
900
901 add check for fido_cred_set_prot() to configure
902
903commit f11b23346309e4d5138e733a49321aedd6eeaa2f
904Author: dtucker@openbsd.org <dtucker@openbsd.org>
905Date: Fri Jul 3 05:09:06 2020 +0000
906
907 upstream: Only reset the serveralive check when we receive traffic from
908
909 the server and ignore traffic from a port forwarding client, preventing a
910 client from keeping a connection alive when it should be terminated. Based
911 on a patch from jxraynor at gmail.com via openssh-unix-dev and bz#2265, ok
912 djm@
913
914 OpenBSD-Commit-ID: a941a575a5cbc244c0ef5d7abd0422bbf02c2dcd
915
916commit adfdbf1211914b631c038f0867a447db7b519937
917Author: Damien Miller <djm@mindrot.org>
918Date: Fri Jul 3 15:15:15 2020 +1000
919
920 sync sys-queue.h with OpenBSD upstream
921
922 needed for TAILQ_CONCAT
923
924commit 1b90ddde49e2ff377204082b6eb130a096411dc1
925Author: djm@openbsd.org <djm@openbsd.org>
926Date: Fri Jul 3 05:08:41 2020 +0000
927
928 upstream: fix memory leak of mux_ctx; patch from Sergiy Lozovsky
929
930 via bz3189 ok dtucker
931
932 OpenBSD-Commit-ID: db249bd4526fd42d0f4f43f72f7b8b7705253bde
933
934commit 55ef3e9cbd5b336bd0f89205716924886fcf86de
935Author: markus@openbsd.org <markus@openbsd.org>
936Date: Wed Jul 1 16:28:31 2020 +0000
937
938 upstream: free kex in ssh_packet_close; ok djm semarie
939
940 OpenBSD-Commit-ID: dbc181e90d3d32fd97b10d75e68e374270e070a2
941
942commit e1c401109b61f7dbc199b5099933d579e7fc5dc9
943Author: bket@openbsd.org <bket@openbsd.org>
944Date: Sat Jun 27 13:39:09 2020 +0000
945
946 upstream: Replace TAILQ concatenation loops with TAILQ_CONCAT
947
948 OK djm@
949
950 OpenBSD-Commit-ID: 454b40e09a117ddb833794358970a65b14c431ef
951
952commit 14beca57ac92d62830c42444c26ba861812dc837
953Author: semarie@openbsd.org <semarie@openbsd.org>
954Date: Fri Jun 26 11:26:01 2020 +0000
955
956 upstream: backout 1.293 fix kex mem-leak in ssh_packet_close at markus
957
958 request
959
960 the change introduced a NULL deref in sshpkt_vfatal() (uses of ssh->kex after
961 calling ssh_packet_clear_keys())
962
963 OpenBSD-Commit-ID: 9c9a6721411461b0b1c28dc00930d7251a798484
964
965commit 598c3a5e3885080ced0d7c40fde00f1d5cdbb32b
966Author: Damien Miller <djm@mindrot.org>
967Date: Fri Jun 26 16:07:12 2020 +1000
968
969 document a PAM spec problem in a frustrated comment
970
971commit 976c4f86286d52a0cb2aadf4a095d379c0da752e
972Author: djm@openbsd.org <djm@openbsd.org>
973Date: Fri Jun 26 05:42:16 2020 +0000
974
975 upstream: avoid spurious error message when ssh-keygen creates files
976
977 outside ~/.ssh; with dtucker@
978
979 OpenBSD-Commit-ID: ac0c662d44607e00ec78c266ee60752beb1c7e08
980
981commit 32b2502a9dfdfded1ccdc1fd6dc2b3fe41bfc205
982Author: Damien Miller <djm@mindrot.org>
983Date: Fri Jun 26 15:30:06 2020 +1000
984
985 missing ifdef SELINUX; spotted by dtucker
986
987commit e073106f370cdd2679e41f6f55a37b491f0e82fe
988Author: djm@openbsd.org <djm@openbsd.org>
989Date: Fri Jun 26 05:12:21 2020 +0000
990
991 upstream: regress test for ssh-add -d; ok dtucker@
992
993 OpenBSD-Regress-ID: 3a2e044be616afc7dd4f56c100179e83b33d8abf
994
995commit c809daaa1bad6b1c305b0e0b5440360f32546c84
996Author: markus@openbsd.org <markus@openbsd.org>
997Date: Wed Jun 24 15:16:23 2020 +0000
998
999 upstream: add test for mux w/-Oproxy; ok djm
1000
1001 OpenBSD-Regress-ID: 764d5c696e2a259f1316a056e225e50023abb027
1002
1003commit 3d06ff4bbd3dca8054c238d2a94c0da563ef7eee
1004Author: djm@openbsd.org <djm@openbsd.org>
1005Date: Fri Jun 26 05:16:38 2020 +0000
1006
1007 upstream: handle EINTR in waitfd() and timeout_connect() helpers;
1008
1009 bz#3071; ok dtucker@
1010
1011 OpenBSD-Commit-ID: 08fa87be50070bd8b754d9b1ebb1138d7bc9d8ee
1012
1013commit fe2ec0b9c19adeab0cd9f04b8152dc17f31c31e5
1014Author: djm@openbsd.org <djm@openbsd.org>
1015Date: Fri Jun 26 05:04:07 2020 +0000
1016
1017 upstream: allow "ssh-add -d -" to read keys to be deleted from
1018
1019 stdin bz#3180; ok dtucker@
1020
1021 OpenBSD-Commit-ID: 15c7f10289511eb19fce7905c9cae8954e3857ff
1022
1023commit a3e0c376ffc11862fa3568b28188bd12965973e1
1024Author: djm@openbsd.org <djm@openbsd.org>
1025Date: Fri Jun 26 05:03:36 2020 +0000
1026
1027 upstream: constify a few things; ok dtucker (as part of another
1028
1029 diff)
1030
1031 OpenBSD-Commit-ID: 7c17fc987085994d752304bd20b1ae267a9bcdf6
1032
1033commit 74344c3ca42c3f53b00b025daf09ae7f6aa38076
1034Author: dtucker@openbsd.org <dtucker@openbsd.org>
1035Date: Fri Jun 26 05:02:03 2020 +0000
1036
1037 upstream: Defer creation of ~/.ssh by ssh(1) until we attempt to
1038
1039 write to it so we don't leave an empty .ssh directory when it's not needed.
1040 Use the same function to replace the code in ssh-keygen that does the same
1041 thing. bz#3156, ok djm@
1042
1043 OpenBSD-Commit-ID: 59c073b569be1a60f4de36f491a4339bc4ae870f
1044
1045commit c9e24daac6324fcbdba171392c325bf9ccc3c768
1046Author: dtucker@openbsd.org <dtucker@openbsd.org>
1047Date: Fri Jun 26 04:45:11 2020 +0000
1048
1049 upstream: Expand path to ~/.ssh/rc rather than relying on it
1050
1051 being relative to the current directory, so that it'll still be found if the
1052 shell startup changes its directory. Since the path is potentially longer,
1053 make the cmd buffer that uses it dynamically sized. bz#3185, with & ok djm@
1054
1055 OpenBSD-Commit-ID: 36e33ff01497af3dc8226d0c4c1526fc3a1e46bf
1056
1057commit 07f5f369a25e228a7357ef6c57205f191f073d99
1058Author: markus@openbsd.org <markus@openbsd.org>
1059Date: Wed Jun 24 15:12:09 2020 +0000
1060
1061 upstream: fix kex mem-leak in ssh_packet_close; ok djm
1062
1063 OpenBSD-Commit-ID: e2e9533f393620383afd0b68ef435de8d5e8abe4
1064
1065commit e35995088cd6691a712bfd586bae8084a3a922ba
1066Author: markus@openbsd.org <markus@openbsd.org>
1067Date: Wed Jun 24 15:10:38 2020 +0000
1068
1069 upstream: fix ssh -O proxy w/mux which got broken by no longer
1070
1071 making ssh->kex optional in packet.c revision 1.278 ok djm@
1072
1073 OpenBSD-Commit-ID: 2b65df04a064c2c6277359921d2320c90ab7d917
1074
1075commit 250246fef22b87a54a63211c60a2def9be431fbd
1076Author: markus@openbsd.org <markus@openbsd.org>
1077Date: Wed Jun 24 15:09:53 2020 +0000
1078
1079 upstream: support loading big sshd_config files w/o realloc; ok
1080
1081 djm
1082
1083 OpenBSD-Commit-ID: ba9238e810074ac907f0cf8cee1737ac04983171
1084
1085commit 89b54900ac61986760452f132bbe3fb7249cfdac
1086Author: markus@openbsd.org <markus@openbsd.org>
1087Date: Wed Jun 24 15:08:53 2020 +0000
1088
1089 upstream: allow sshd_config longer than 256k; ok djm
1090
1091 OpenBSD-Commit-ID: 83f40dd5457a64c1d3928eb4364461b22766beb3
1092
1093commit e3fa6249e6d9ceb57c14b04dd4c0cfab12fa7cd5
1094Author: markus@openbsd.org <markus@openbsd.org>
1095Date: Wed Jun 24 15:07:33 2020 +0000
1096
1097 upstream: only call sshkey_xmss_init() once for KEY_XMSS_CERT; ok
1098
1099 djm
1100
1101 OpenBSD-Commit-ID: d0002ffb7f20f538b014d1d0735facd5a81ff096
1102
1103commit 37f2da069c0619f2947fb92785051d82882876d7
1104Author: djm@openbsd.org <djm@openbsd.org>
1105Date: Mon Jun 22 23:44:27 2020 +0000
1106
1107 upstream: some clarifying comments
1108
1109 OpenBSD-Commit-ID: 5268479000fd97bfa30ab819f3517139daa054a2
1110
1111commit b659319a5bc9e8adf3c4facc51f37b670d2a7426
1112Author: jmc@openbsd.org <jmc@openbsd.org>
1113Date: Mon Jun 22 06:37:38 2020 +0000
1114
1115 upstream: updated argument name for -P in first synopsis was
1116
1117 missed in previous;
1118
1119 OpenBSD-Commit-ID: 8d84dc3050469884ea91e29ee06a371713f2d0b7
1120
1121commit 02a9222cbce7131d639984c2f6c71d1551fc3333
1122Author: jmc@openbsd.org <jmc@openbsd.org>
1123Date: Mon Jun 22 06:36:40 2020 +0000
1124
1125 upstream: supply word missing in previous;
1126
1127 OpenBSD-Commit-ID: 16a38b049f216108f66c8b699aa046063381bd23
1128
1129commit 5098b3b6230852a80ac6cef5d53a785c789a5a56
1130Author: Damien Miller <djm@mindrot.org>
1131Date: Mon Jun 22 16:54:02 2020 +1000
1132
1133 missing files for webauthn/sshsig unit test
1134
1135commit 354535ff79380237924ac8fdc98f8cdf83e67da6
1136Author: djm@openbsd.org <djm@openbsd.org>
1137Date: Mon Jun 22 06:00:06 2020 +0000
1138
1139 upstream: add support for verification of webauthn sshsig signature,
1140
1141 and example HTML/JS to generate webauthn signatures in SSH formats (also used
1142 to generate the testdata/* for the test).
1143
1144 OpenBSD-Regress-ID: dc575be5bb1796fdf4b8aaee0ef52a6671a0f6fb
1145
1146commit bb52e70fa5330070ec9a23069c311d9e277bbd6f
1147Author: djm@openbsd.org <djm@openbsd.org>
1148Date: Mon Jun 22 05:58:35 2020 +0000
1149
1150 upstream: Add support for FIDO webauthn (verification only).
1151
1152 webauthn is a standard for using FIDO keys in web browsers. webauthn
1153 signatures are a slightly different format to plain FIDO signatures - this
1154 support allows verification of these. Feedback and ok markus@
1155
1156 OpenBSD-Commit-ID: ab7e3a9fb5782d99d574f408614d833379e564ad
1157
1158commit 64bc121097f377142f1387ffb2df7592c49935af
1159Author: djm@openbsd.org <djm@openbsd.org>
1160Date: Mon Jun 22 05:56:23 2020 +0000
1161
1162 upstream: refactor ECDSA-SK verification a little ahead of adding
1163
1164 support for FIDO webauthn signature verification support; ok markus@
1165
1166 OpenBSD-Commit-ID: c9f478fd8e0c1bd17e511ce8694f010d8e32043e
1167
1168commit 12848191f8fe725af4485d3600e0842d92f8637f
1169Author: djm@openbsd.org <djm@openbsd.org>
1170Date: Mon Jun 22 05:54:10 2020 +0000
1171
1172 upstream: support for RFC4648 base64url encoding; ok markus
1173
1174 OpenBSD-Commit-ID: 0ef22c55e772dda05c112c88412c0797fec66eb4
1175
1176commit 473b4af43db12127137c7fc1a10928313f5a16d2
1177Author: djm@openbsd.org <djm@openbsd.org>
1178Date: Mon Jun 22 05:53:26 2020 +0000
1179
1180 upstream: better terminology for permissions; feedback & ok markus@
1181
1182 OpenBSD-Commit-ID: ff2a71803b5ea57b83cc3fa9b3be42b70e462fb9
1183
1184commit fc270baf264248c3ee3050b13a6c8c0919e6559f
1185Author: djm@openbsd.org <djm@openbsd.org>
1186Date: Mon Jun 22 05:52:05 2020 +0000
1187
1188 upstream: better terminology for permissions; feedback & ok markus@
1189
1190 OpenBSD-Commit-ID: ffb220b435610741dcb4de0e7fc68cbbdc876d2c
1191
1192commit 00531bb42f1af17ddabea59c3d9c4b0629000d27
1193Author: dtucker@openbsd.org <dtucker@openbsd.org>
1194Date: Fri Jun 19 07:21:42 2020 +0000
1195
1196 upstream: Correct synopsis and usage for the options accepted when
1197
1198 passing a command to ssh-agent. ok jmc@
1199
1200 OpenBSD-Commit-ID: b36f0679cb0cac0e33b361051b3406ade82ea846
1201
1202commit b4556c8ad7177e379f0b60305a0cd70f12180e7c
1203Author: Darren Tucker <dtucker@dtucker.net>
1204Date: Fri Jun 19 19:22:00 2020 +1000
1205
1206 Add OPENBSD ORIGINAL marker to bcrypt_pbkdf.
1207
1208commit 1babb8bb14c423011ca34c2f563bb1c51c8fbf1d
1209Author: Darren Tucker <dtucker@dtucker.net>
1210Date: Fri Jun 19 19:10:47 2020 +1000
1211
1212 Extra brackets around sizeof() in bcrypt.
1213
1214 Prevents following warning from clang 10:
1215 bcrypt_pbkdf.c:94:40: error: expression does not compute the number of
1216 elements in this array; element type is ´uint32_tÂ[...]
1217 place parentheses around the ´sizeof(uint64_t)´ expression to
1218 silence this warning
1219
1220commit 9e065729592633290e5ddb6852792913b2286545
1221Author: Darren Tucker <dtucker@dtucker.net>
1222Date: Fri Jun 19 18:47:56 2020 +1000
1223
1224 Add includes.h to new test.
1225
1226 Fixes warnings eg "´bounded´ attribute directive ignor" from gcc.
1227
1228commit e684b1ea365e070433f282a3c1dabc3e2311ce49
1229Author: Darren Tucker <dtucker@dtucker.net>
1230Date: Fri Jun 19 18:38:39 2020 +1000
1231
1232 Skip OpenSSL specific tests w/out OpenSSL.
1233
1234 Allows unit tests to pass when configure'ed --without-openssl.
1235
1236commit 80610e97a76407ca982e62fd051c9be03622fe7b
1237Author: Darren Tucker <dtucker@dtucker.net>
1238Date: Fri Jun 19 17:15:27 2020 +1000
1239
1240 Hook sshsig tests up to Portable Makefiles.
1241
1242commit 5dba1fcabacaab46693338ec829b42a1293d1f52
1243Author: dtucker@openbsd.org <dtucker@openbsd.org>
1244Date: Fri Jun 19 05:07:09 2020 +0000
1245
1246 upstream: Test that ssh-agent exits when running as as subprocess
1247
1248 of a specified command (ie "ssh-agent command"). Would have caught bz#3181.
1249
1250 OpenBSD-Regress-ID: 895b4765ba5153eefaea3160a7fe08ac0b6db8b3
1251
1252commit 68e8294f6b04f9590ea227e63d3e129398a49e27
1253Author: djm@openbsd.org <djm@openbsd.org>
1254Date: Fri Jun 19 04:34:21 2020 +0000
1255
1256 upstream: run sshsig unit tests
1257
1258 OpenBSD-Regress-ID: 706ef17e2b545b64873626e0e35553da7c06052a
1259
1260commit 5edfa1690e9a75048971fd8775f7c16d153779db
1261Author: djm@openbsd.org <djm@openbsd.org>
1262Date: Fri Jun 19 04:32:09 2020 +0000
1263
1264 upstream: basic unit test for sshsig.[ch], including FIDO keys
1265
1266 verification only so far
1267
1268 OpenBSD-Regress-ID: fb1f946c8fc59206bc6a6666e577b5d5d7e45896
1269
1270commit e95c0a0e964827722d29b4bc00d5c0ff4afe0ed2
1271Author: djm@openbsd.org <djm@openbsd.org>
1272Date: Fri Jun 19 03:48:49 2020 +0000
1273
1274 upstream: basic unit test for FIDO kep parsing
1275
1276 OpenBSD-Regress-ID: 8089b88393dd916d7c95422b442a6fd4cfe00c82
1277
1278commit 7775819c6de3e9547ac57b87c7dd2bfd28cefcc5
1279Author: djm@openbsd.org <djm@openbsd.org>
1280Date: Thu Jun 18 23:34:19 2020 +0000
1281
1282 upstream: check public host key matches private; ok markus@ (as
1283
1284 part of previous diff)
1285
1286 OpenBSD-Commit-ID: 65a4f66436028748b59fb88b264cb8c94ce2ba63
1287
1288commit c514f3c0522855b4d548286eaa113e209051a6d2
1289Author: djm@openbsd.org <djm@openbsd.org>
1290Date: Thu Jun 18 23:33:38 2020 +0000
1291
1292 upstream: avoid spurious "Unable to load host key" message when
1293
1294 sshd can load a private key but no public counterpart; with & ok markus@
1295
1296 OpenBSD-Commit-ID: 0713cbdf9aa1ff8ac7b1f78b09ac911af510f81b
1297
1298commit 7fafaeb5da365f4a408fec355dac04a774f27193
1299Author: djm@openbsd.org <djm@openbsd.org>
1300Date: Fri Jun 12 05:26:37 2020 +0000
1301
1302 upstream: correct RFC number; from HARUYAMA Seigo via GH PR191
1303
1304 OpenBSD-Commit-ID: 8d03b6c96ca98bfbc23d3754c3c33e1fe0852e10
1305
1306commit 3a7f654d5bcb20df24a134b6581b0d235da4564a
1307Author: djm@openbsd.org <djm@openbsd.org>
1308Date: Fri Jun 5 06:18:07 2020 +0000
1309
1310 upstream: unbreak "sshd -ddd" - close of config passing fd happened too
1311
1312 early. ok markus@
1313
1314 OpenBSD-Commit-ID: 49346e945c6447aca3e904e65fc400128d2f8ed0
1315
1316commit 3de02be39e5c0c2208d9682a3844991651620fcc
1317Author: Andreas Schwab <schwab@suse.de>
1318Date: Mon May 25 11:10:44 2020 +0200
1319
1320 Add support for AUDIT_ARCH_RISCV64
1321
1322commit ea547eb0329c2f8da77a4ac05f6c330bd49bdaab
1323Author: djm@openbsd.org <djm@openbsd.org>
1324Date: Fri Jun 5 03:25:35 2020 +0000
1325
1326 upstream: make sshbuf_putb(b, NULL) a no-op
1327
1328 OpenBSD-Commit-ID: 976fdc99b500e347023d430df372f31c1dd128f7
1329
1330commit 69796297c812640415c6cea074ea61afc899cbaa
1331Author: djm@openbsd.org <djm@openbsd.org>
1332Date: Fri Jun 5 03:24:36 2020 +0000
1333
1334 upstream: make sshbuf_dump() args const
1335
1336 OpenBSD-Commit-ID: b4a5accae750875d665b862504169769bcf663bd
1337
1338commit 670428895739d1f79894bdb2457891c3afa60a59
1339Author: djm@openbsd.org <djm@openbsd.org>
1340Date: Fri Jun 5 03:24:16 2020 +0000
1341
1342 upstream: wrap long line
1343
1344 OpenBSD-Commit-ID: ed405a12bd27bdc9c52e169bc5ff3529b4ebbbb2
1345
1346commit 2f648cf222882719040906722b3593b01df4ad1a
1347Author: dtucker@openbsd.org <dtucker@openbsd.org>
1348Date: Fri Jun 5 03:15:26 2020 +0000
1349
1350 upstream: Correct historical comment: provos@ modified OpenSSH to
1351
1352 work with SSLeay (very quickly replaced by OpenSSL) not SSL in general. ok
1353 deraadt, historical context markus@
1354
1355 OpenBSD-Commit-ID: 7209e07a2984b50411ed8ca5a4932da5030d2b90
1356
1357commit 56548e4efcc3e3e8093c2eba30c75b23e561b172
1358Author: dtucker@openbsd.org <dtucker@openbsd.org>
1359Date: Wed Jun 3 08:23:18 2020 +0000
1360
1361 upstream: Import regenerated moduli file.
1362
1363 OpenBSD-Commit-ID: 52ff0e3205036147b2499889353ac082e505ea54
1364
1365commit 8da801f585dd9c534c0cbe487a3b1648036bf2fb
1366Author: Darren Tucker <dtucker@dtucker.net>
1367Date: Fri Jun 5 13:20:10 2020 +1000
1368
1369 Test fallthrough in OSSH_CHECK_CFLAG_COMPILE.
1370
1371 clang 10's -Wimplicit-fallthrough does not understand /* FALLTHROUGH */
1372 comments and we don't use the __attribute__((fallthrough)) that it's
1373 looking for. This has the effect of turning off -Wimplicit-fallthrough
1374 where it does not currently help (particularly with -Werror). ok djm@
1375
1376commit 049297de975b92adcc2db77e3fb7046c0e3c695d
1377Author: dtucker@openbsd.org <dtucker@openbsd.org>
1378Date: Wed Jun 3 08:23:18 2020 +0000
1379
1380 upstream: Import regenerated moduli file.
1381
1382 OpenBSD-Commit-ID: 52ff0e3205036147b2499889353ac082e505ea54
1383
1384commit b458423a38a3140ac022ffcffcb332609faccfe3
1385Author: dtucker@openbsd.org <dtucker@openbsd.org>
1386Date: Mon Jun 1 07:11:38 2020 +0000
1387
1388 upstream: Remove now-unused proto_spec and associated definitions.
1389
1390 ok djm@
1391
1392 OpenBSD-Commit-ID: 2e2b18e3aa6ee22a7b69c39f2d3bd679ec35c362
1393
1394commit 5ad3c3a33ef038b55a14ebd31faeeec46073db2c
1395Author: millert@openbsd.org <millert@openbsd.org>
1396Date: Fri May 29 21:22:02 2020 +0000
1397
1398 upstream: Fix error message on close(2) and add printf format
1399
1400 attributes. From Christos Zoulas, OK markus@
1401
1402 OpenBSD-Commit-ID: 41523c999a9e3561fcc7082fd38ea2e0629ee07e
1403
1404commit 712ac1efb687a945a89db6aa3e998c1a17b38653
1405Author: dtucker@openbsd.org <dtucker@openbsd.org>
1406Date: Fri May 29 11:17:56 2020 +0000
1407
1408 upstream: Make dollar_expand variadic and pass a real va_list to
1409
1410 vdollar_percent_expand. Fixes build error on arm64 spotted by otto@.
1411
1412 OpenBSD-Commit-ID: 181910d7ae489f40ad609b4cf4a20f3d068a7279
1413
1414commit 837ffa9699a9cba47ae7921d2876afaccc027133
1415Author: Darren Tucker <dtucker@dtucker.net>
1416Date: Fri May 29 20:39:00 2020 +1000
1417
1418 Omit ToS setting if we don't have IPV6_TCLASS too.
1419
1420 Fixes tests on old BSDs.
1421
1422commit f85b118d2150847cc333895296bc230e367be6b5
1423Author: dtucker@openbsd.org <dtucker@openbsd.org>
1424Date: Fri May 29 09:02:44 2020 +0000
1425
1426 upstream: Pass a NULL instead of zeroed out va_list from
1427
1428 dollar_expand. The original intent was in case there's some platform where
1429 va_list is not a pointer equivalent, but on i386 this chokes on the memset.
1430 This unbreaks that build, but will require further consideration.
1431
1432 OpenBSD-Commit-ID: 7b90afcd8e1137a1d863204060052aef415baaf7
1433
1434commit ec1d50b01c84ff667240ed525f669454c4ebc8e9
1435Author: jmc@openbsd.org <jmc@openbsd.org>
1436Date: Fri May 29 05:48:39 2020 +0000
1437
1438 upstream: remove a stray .El;
1439
1440 OpenBSD-Commit-ID: 58ddfe6f8a15fe10209db6664ecbe7896f1d167c
1441
1442commit 058674a62ffe33f01d871d46e624bc2a2c22d91f
1443Author: dtucker@openbsd.org <dtucker@openbsd.org>
1444Date: Fri May 29 04:32:26 2020 +0000
1445
1446 upstream: Add regression and unit tests for ${ENV} style
1447
1448 environment variable expansion in various keywords (bz#3140). ok djm@
1449
1450 OpenBSD-Regress-ID: 4d9ceb95d89365b7b674bc26cf064c15a5bbb197
1451
1452commit 0b15892fc47d6840eba1291a6be9be1a70bc8972
1453Author: dtucker@openbsd.org <dtucker@openbsd.org>
1454Date: Fri May 29 01:21:35 2020 +0000
1455
1456 upstream: Unit test for convtime. ok djm@
1457
1458 OpenBSD-Regress-ID: cec4239efa2fc4c7062064f07a847e1cbdbcd5dd
1459
1460commit 188e332d1c8f9f24e5b6659e9680bf083f837df9
1461Author: djm@openbsd.org <djm@openbsd.org>
1462Date: Fri May 29 05:37:03 2020 +0000
1463
1464 upstream: mention that wildcards are processed in lexical order;
1465
1466 bz#3165
1467
1468 OpenBSD-Commit-ID: 8856f3d1612bd42e9ee606d89386cae456dd165c
1469
1470commit 4a1b46e6d032608b7ec00ae51c4e25b82f460b05
1471Author: dtucker@openbsd.org <dtucker@openbsd.org>
1472Date: Fri May 29 04:25:40 2020 +0000
1473
1474 upstream: Allow some keywords to expand shell-style ${ENV}
1475
1476 environment variables on the client side. The supported keywords are
1477 CertificateFile, ControlPath, IdentityAgent and IdentityFile, plus
1478 LocalForward and RemoteForward when used for Unix domain socket paths. This
1479 would for example allow forwarding of Unix domain socket paths that change at
1480 runtime. bz#3140, ok djm@
1481
1482 OpenBSD-Commit-ID: a4a2e801fc2d4df2fe0e58f50d9c81b03822dffa
1483
1484commit c9bab1d3a9e183cef3a3412f57880a0374cc8cb2
1485Author: Damien Miller <djm@mindrot.org>
1486Date: Fri May 29 14:49:16 2020 +1000
1487
1488 depend
1489
1490commit 0b0d219313bf9239ca043f20b1a095db0245588f
1491Author: sobrado <sobrado@openbsd.org>
1492Date: Thu Sep 3 23:06:28 2015 +0000
1493
1494 partial sync of regress/netcat.c with upstream
1495
1496 synchronize synopsis and usage.
1497
1498commit 0f04c8467f589f85a523e19fd684c4f6c4ed9482
1499Author: chl <chl@openbsd.org>
1500Date: Sun Jul 26 19:12:28 2015 +0000
1501
1502 partial sync of regress/netcat.c with upstream
1503
1504 remove unused variable
1505
1506 ok tedu@
1507
1508commit d6a81050ace2630b06c3c6dd39bb4eef5d1043f8
1509Author: tobias <tobias@openbsd.org>
1510Date: Thu Mar 26 21:22:50 2015 +0000
1511
1512 partial sync of regress/netcat.c with upstream
1513
1514 The code in socks.c writes multiple times in a row to a socket. If the socket becomes invalid between these calls (e.g. connection closed), write will throw SIGPIPE. With this patch, SIGPIPE is ignored so we can handle write's -1 return value (errno will be EPIPE). Ultimately, it leads to program exit, too -- but with nicer error message. :)
1515
1516 with input by and ok djm
1517
1518commit bf3893dddd35e16def04bf48ed2ee1ad695b8f82
1519Author: tobias <tobias@openbsd.org>
1520Date: Thu Mar 26 10:36:03 2015 +0000
1521
1522 partial sync of regress/netcat.c with upstream
1523
1524 Check for short writes in fdpass(). Clean up while at it.
1525
1526 ok djm
1527
1528commit e18435fec124b4c08eb6bbbbee9693dc04f4befb
1529Author: jca <jca@openbsd.org>
1530Date: Sat Feb 14 22:40:22 2015 +0000
1531
1532 partial sync of regress/netcat.c with upstream
1533
1534 Support for nc -T on IPv6 addresses.
1535
1536 ok sthen@
1537
1538commit 4c607244054a036ad3b2449a6cb4c15feb846a76
1539Author: djm@openbsd.org <djm@openbsd.org>
1540Date: Fri May 29 03:14:02 2020 +0000
1541
1542 upstream: fix compilation on !HAVE_DLOPEN platforms; stub function
1543
1544 was not updated to match API change. From Dale Rahn via beck@ ok markus@
1545
1546 OpenBSD-Commit-ID: 2b8d054afe34c9ac85e417dae702ef981917b836
1547
1548commit 224418cf55611869a4ace1b8b07bba0dff77a9c3
1549Author: djm@openbsd.org <djm@openbsd.org>
1550Date: Fri May 29 03:11:54 2020 +0000
1551
1552 upstream: fix exit status for downloading of FIDO resident keys;
1553
1554 from Pedro Martelletto, ok markus@
1555
1556 OpenBSD-Commit-ID: 0da77dc24a1084798eedd83c39a002a9d231faef
1557
1558commit 1001dd148ed7c57bccf56afb40cb77482ea343a6
1559Author: dtucker@openbsd.org <dtucker@openbsd.org>
1560Date: Fri May 29 01:20:46 2020 +0000
1561
1562 upstream: Fix multiplier in convtime when handling seconds after
1563
1564 other units. bz#3171, spotted by ronf at timeheart.net, ok djm@.
1565
1566 OpenBSD-Commit-ID: 95b7a848e1083974a65fbb6ccb381d438e1dd5be
1567
1568commit 7af1e92cd289b7eaa9a683e9a6f2fddd98f37a01
1569Author: djm@openbsd.org <djm@openbsd.org>
1570Date: Wed May 27 22:37:53 2020 +0000
1571
1572 upstream: fix Include before Match in sshd_config; bz#3122 patch
1573
1574 from Jakub Jelen
1575
1576 OpenBSD-Commit-ID: 1b0aaf135fe6732b5d326946042665dd3beba5f4
1577
1578commit 0a9a611619b0a1fecd0195ec86a9885f5d681c84
1579Author: djm@openbsd.org <djm@openbsd.org>
1580Date: Wed May 27 21:59:11 2020 +0000
1581
1582 upstream: Do not call process_queued_listen_addrs() for every
1583
1584 included file from sshd_config; patch from Jakub Jelen
1585
1586 OpenBSD-Commit-ID: 0ff603d6f06a7fab4881f12503b53024799d0a49
1587
1588commit 16ea1fdbe736648f79a827219134331f8d9844fb
1589Author: djm@openbsd.org <djm@openbsd.org>
1590Date: Wed May 27 21:25:18 2020 +0000
1591
1592 upstream: fix crash in recallocarray when deleting SendEnv
1593
1594 variables; spotted by & ok sthen@
1595
1596 OpenBSD-Commit-ID: b881e8e849edeec5082b5c0a87d8d7cff091a8fd
1597
1598commit 47adfdc07f4f8ea0064a1495500244de08d311ed
1599Author: djm@openbsd.org <djm@openbsd.org>
1600Date: Wed May 27 22:35:19 2020 +0000
1601
1602 upstream: two new tests for Include in sshd_config, checking whether
1603
1604 Port directives are processed correctly and handling of Include directives
1605 that appear before Match. Both tests currently fail. bz#3122 and bz#3169 -
1606 patch from Jakub Jelen
1607
1608 OpenBSD-Regress-ID: 8ad5a4a385a63f0a1c59c59c763ff029b45715df
1609
1610commit 47faad8f794516c33864d866aa1b55d88416f94c
1611Author: Darren Tucker <dtucker@dtucker.net>
1612Date: Wed May 27 23:26:23 2020 +1000
1613
1614 Document that libfido2 >= 1.4.0 is needed.
1615
1616commit 4be563994c0cbe9856e7dd3078909f41beae4a9c
1617Author: djm@openbsd.org <djm@openbsd.org>
1618Date: Tue May 26 01:59:46 2020 +0000
1619
1620 upstream: fix memleak of signature; from Pedro Martelletto
1621
1622 OpenBSD-Commit-ID: d0a6eb07e77c001427d738b220dd024ddc64b2bb
1623
1624commit 0c111eb84efba7c2a38b2cc3278901a0123161b9
1625Author: djm@openbsd.org <djm@openbsd.org>
1626Date: Tue May 26 01:26:58 2020 +0000
1627
1628 upstream: Restrict ssh-agent from signing web challenges for FIDO
1629
1630 keys.
1631
1632 When signing messages in ssh-agent using a FIDO key that has an
1633 application string that does not start with "ssh:", ensure that the
1634 message being signed is one of the forms expected for the SSH protocol
1635 (currently pubkey authentication and sshsig signatures).
1636
1637 This prevents ssh-agent forwarding on a host that has FIDO keys
1638 attached granting the ability for the remote side to sign challenges
1639 for web authentication using those keys too.
1640
1641 Note that the converse case of web browsers signing SSH challenges is
1642 already precluded because no web RP can have the "ssh:" prefix in the
1643 application string that we require.
1644
1645 ok markus@
1646
1647 OpenBSD-Commit-ID: 9ab6012574ed0352d2f097d307f4a988222d1b19
1648
1649commit 9c5f64b6cb3a68b99915202d318b842c6c76cf14
1650Author: djm@openbsd.org <djm@openbsd.org>
1651Date: Tue May 26 01:09:05 2020 +0000
1652
1653 upstream: improve logging for MaxStartups connection throttling:
1654
1655 have sshd log when it starts and stops throttling and periodically while in
1656 this state. bz#3055 ok markus@
1657
1658 OpenBSD-Commit-ID: 2e07a09a62ab45d790d3d2d714f8cc09a9ac7ab9
1659
1660commit 756c6f66aee83a5862a6f936a316f761532f3320
1661Author: djm@openbsd.org <djm@openbsd.org>
1662Date: Tue May 26 01:06:52 2020 +0000
1663
1664 upstream: add fmt_timeframe() (from bgpd) to format a time
1665
1666 interval in a human- friendly format. Switch copyright for this file from BSD
1667 to MIT to make it easier to add Henning's copyright for this function. ok
1668 markus@
1669
1670 OpenBSD-Commit-ID: 414a831c662df7e68893e5233e86f2cac081ccf9
1671
1672commit 2a63ce5cd6d0e782783bf721462239b03757dd49
1673Author: djm@openbsd.org <djm@openbsd.org>
1674Date: Mon May 18 04:29:35 2020 +0000
1675
1676 upstream: avoid possible NULL deref; from Pedro Martelletto
1677
1678 OpenBSD-Commit-ID: e6099c3fbb70aa67eb106e84d8b43f1fa919b721
1679
1680commit 4b307faf2fb0e63e51a550b37652f7f972df9676
1681Author: markus@openbsd.org <markus@openbsd.org>
1682Date: Fri May 15 08:34:03 2020 +0000
1683
1684 upstream: sshd listener must not block if reexecd sshd exits
1685
1686 in write(2) on config_s[0] if the forked child exits early before finishing
1687 recv_rexec_state (e.g. with fatal()) because config_s[1] stays open in the
1688 parent. this prevents the parent from accepting new connections. ok djm,
1689 deraadt
1690
1691 OpenBSD-Commit-ID: 92ccfeb939ccd55bda914dc3fe84582158c4a9ef
1692
1693commit af8b16fb2cce880341c0ee570ceb0d84104bdcc0
1694Author: djm@openbsd.org <djm@openbsd.org>
1695Date: Fri May 15 03:57:33 2020 +0000
1696
1697 upstream: fix off-by-one error that caused sftp downloads to make
1698
1699 one more concurrent request that desired. This prevented using sftp(1) in
1700 unpipelined request/response mode, which is useful when debugging. Patch from
1701 Stephen Goetze in bz#3054
1702
1703 OpenBSD-Commit-ID: 41b394ebe57037dbc43bdd0eef21ff0511191f28
1704
1705commit d7d753e2979f2d3c904b03a08d30856cd2a6e892
1706Author: deraadt@openbsd.org <deraadt@openbsd.org>
1707Date: Wed May 13 22:38:41 2020 +0000
1708
1709 upstream: we are still aiming for pre-C99 ...
1710
1711 OpenBSD-Commit-ID: a240fc9cbe60bc4e6c3d24d022eb4ab01fe1cb38
1712
1713commit 2ad7b7e46408dbebf2a4efc4efd75a9544197d57
1714Author: djm@openbsd.org <djm@openbsd.org>
1715Date: Wed May 13 10:08:02 2020 +0000
1716
1717 upstream: Enable credProtect extension when generating a resident
1718
1719 key.
1720
1721 The FIDO 2.1 Client to Authenticator Protocol introduced a "credProtect"
1722 feature to better protect resident keys. This option allows (amone other
1723 possibilities) requiring a PIN prior to all operations that may retrieve
1724 the key handle.
1725
1726 Patch by Pedro Martelletto; ok djm and markus
1727
1728 OpenBSD-Commit-ID: 013bc06a577dcaa66be3913b7f183eb8cad87e73
1729
1730commit 1e70dc3285fc9b4f6454975acb81e8702c23dd89
1731Author: djm@openbsd.org <djm@openbsd.org>
1732Date: Wed May 13 09:57:17 2020 +0000
1733
1734 upstream: always call fido_init(); previous behaviour only called
1735
1736 fido_init() when SK_DEBUG was defined. Harmless with current libfido2, but
1737 this isn't guaranteed in the future.
1738
1739 OpenBSD-Commit-ID: c7ea20ff2bcd98dd12015d748d3672d4f01f0864
1740
1741commit f2d84f1b3fa68d77c99238d4c645d0266fae2a74
1742Author: djm@openbsd.org <djm@openbsd.org>
1743Date: Wed May 13 09:55:57 2020 +0000
1744
1745 upstream: preserve group/world read permission on known_hosts
1746
1747 file across runs of "ssh-keygen -Rf /path". The old behaviour was to remove
1748 all rights for group/other. bz#3146 ok dtucker@
1749
1750 OpenBSD-Commit-ID: dc369d0e0b5dd826430c63fd5f4b269953448a8a
1751
1752commit 05a651400da6fbe12296c34e3d3bcf09f034fbbf
1753Author: djm@openbsd.org <djm@openbsd.org>
1754Date: Wed May 13 09:52:41 2020 +0000
1755
1756 upstream: when ordering the hostkey algorithms to request from a
1757
1758 server, prefer certificate types if the known_hosts files contain a key
1759 marked as a @cert-authority; bz#3157 ok markus@
1760
1761 OpenBSD-Commit-ID: 8f194573e5bb7c01b69bbfaabc68f27c9fa5e0db
1762
1763commit 829451815ec207e14bd54ff5cf7e22046816f042
1764Author: djm@openbsd.org <djm@openbsd.org>
1765Date: Tue May 12 01:41:32 2020 +0000
1766
1767 upstream: fix non-ASCII quote that snuck in; spotted by Gabriel
1768
1769 Kihlman
1770
1771 OpenBSD-Commit-ID: 04bcde311de2325d9e45730c744c8de079b49800
1772
1773commit 5a442cec92c0efd6fffb4af84bf99c70af248ef3
1774Author: djm@openbsd.org <djm@openbsd.org>
1775Date: Mon May 11 02:11:29 2020 +0000
1776
1777 upstream: clarify role of FIDO tokens in multi-factor
1778
1779 authentictation; mostly from Pedro Martelletto
1780
1781 OpenBSD-Commit-ID: fbe05685a1f99c74b1baca7130c5a03c2df7c0ac
1782
1783commit ecb2c02d994b3e21994f31a70ff911667c262f1f
1784Author: djm@openbsd.org <djm@openbsd.org>
1785Date: Fri May 8 05:13:14 2020 +0000
1786
1787 upstream: fix compilation with DEBUG_KEXDH; bz#3160 ok dtucker@
1788
1789 OpenBSD-Commit-ID: 832e771948fb45f2270e8b8895aac36d176ba17a
1790
1791commit 3ab6fccc3935e9b778ff52f9c8d40f215d58e01d
1792Author: Damien Miller <djm@mindrot.org>
1793Date: Thu May 14 12:22:09 2020 +1000
1794
1795 prefer ln to cp for temporary copy of sshd
1796
1797 I saw failures on the reexec fallback test on Darwin 19.4 where
1798 fork()ed children of a process that had it's executable removed
1799 would instantly fail. Using ln to preserve the inode avoids this.
1800
1801commit f700d316c6b15a9cfbe87230d2dca81a5d916279
1802Author: Darren Tucker <dtucker@dtucker.net>
1803Date: Wed May 13 15:24:51 2020 +1000
1804
1805 Actually skip pty tests when needed.
1806
1807commit 08ce6b2210f46f795e7db747809f8e587429dfd2
1808Author: Darren Tucker <dtucker@dtucker.net>
1809Date: Wed May 13 13:56:45 2020 +1000
1810
1811 Skip building sk-dummy library if no SK support.
1812
1813commit 102d106bc2e50347d0e545fad6ff5ce408d67247
1814Author: Damien Miller <djm@mindrot.org>
1815Date: Wed May 13 12:08:34 2020 +1000
1816
1817 explicitly manage .depend and .depend.bak
1818
1819 Bring back removal of .depend to give the file a known state before
1820 running makedepend, but manually move aside the current .depend file
1821 and restore it as .depend.bak afterwards so the stale .depend check
1822 works as expected.
1823
1824commit 83a6dc6ba1e03b3fa39d12a8522b8b0e68dd6390
1825Author: Damien Miller <djm@mindrot.org>
1826Date: Wed May 13 12:03:42 2020 +1000
1827
1828 make depend
1829
1830commit 7c0bbed967abed6301a63e0267cc64144357a99a
1831Author: Damien Miller <djm@mindrot.org>
1832Date: Wed May 13 12:01:10 2020 +1000
1833
1834 revert removal of .depend before makedepend
1835
1836 Commit 83657eac4 started removing .depend before running makedepend
1837 to reset the contents of .depend to a known state. Unfortunately
1838 this broke the depend-check step as now .depend.bak would only ever
1839 be created as an empty file.
1840
1841 ok dtucker
1842
1843commit 58ad004acdcabf3b9f40bc3aaa206b25d998db8c
1844Author: Damien Miller <djm@mindrot.org>
1845Date: Tue May 12 12:58:46 2020 +1000
1846
1847 prepare for 8.3 release
1848
1849commit 4fa9e048c2af26beb7dc2ee9479ff3323e92a7b5
1850Author: Darren Tucker <dtucker@dtucker.net>
1851Date: Fri May 8 21:50:43 2020 +1000
1852
1853 Ensure SA_SIGNAL test only signals itself.
1854
1855 When the test's child signals its parent and it exits the result of
1856 getppid changes. On Ubuntu 20.04 this results in the ppid being that
1857 of the GDM session, causing it to exit. Analysis and testing from pedro
1858 at ambientworks.net
1859
1860commit dc2da29aae76e170d22f38bb36f1f5d1edd5ec2b
1861Author: Damien Miller <djm@mindrot.org>
1862Date: Fri May 8 13:31:53 2020 +1000
1863
1864 sync config.guess/config.sub with latest versions
1865
1866 ok dtucker@
1867
1868commit a8265bd64c14881fc7f4fa592f46dfc66b911f17
1869Author: djm@openbsd.org <djm@openbsd.org>
1870Date: Wed May 6 20:58:01 2020 +0000
1871
1872 upstream: openssh-8.3; ok deraadt@
1873
1874 OpenBSD-Commit-ID: c8831ec88b9c750f5816aed9051031fb535d22c1
1875
1876commit 955854cafca88e0cdcd3d09ca1ad4ada465364a1
1877Author: djm@openbsd.org <djm@openbsd.org>
1878Date: Wed May 6 20:57:38 2020 +0000
1879
1880 upstream: another case where a utimes() failure could make scp send
1881
1882 a desynchronising error; reminded by Aymeric Vincent ok deraadt markus
1883
1884 OpenBSD-Commit-ID: 2ea611d34d8ff6d703a7a8bf858aa5dbfbfa7381
1885
1886commit 59d531553fd90196946743da391f3a27cf472f4e
1887Author: Darren Tucker <dtucker@dtucker.net>
1888Date: Thu May 7 15:34:12 2020 +1000
1889
1890 Check if -D_REENTRANT is needed for localtime_r.
1891
1892 On at least HP-UX 11.11, the localtime_r declararation is behind
1893 ifdef _REENTRANT. Check for and add if needed.
1894
1895commit c13403e55de8cdbb9da628ed95017b1d4c0f205f
1896Author: Darren Tucker <dtucker@dtucker.net>
1897Date: Tue May 5 11:32:43 2020 +1000
1898
1899 Skip security key tests if ENABLE_SK not set.
1900
1901commit 4da393f87cd52d788c84112ee3f2191c9bcaaf30
1902Author: djm@openbsd.org <djm@openbsd.org>
1903Date: Fri May 1 04:03:14 2020 +0000
1904
1905 upstream: sure enough, some of the test data that we though were in
1906
1907 new format were actually in the old format; fix from Michael Forney
1908
1909 OpenBSD-Regress-ID: a41a5c43a61b0f0b1691994dbf16dfb88e8af933
1910
1911commit 15bfafc1db4c8792265ada9623a96f387990f732
1912Author: djm@openbsd.org <djm@openbsd.org>
1913Date: Fri May 1 04:00:29 2020 +0000
1914
1915 upstream: make mktestdata.sh generate old/new format keys that we
1916
1917 expect. This script was written before OpenSSH switched to new-format private
1918 keys by default and was never updated to the change (until now) From Michael
1919 Forney
1920
1921 OpenBSD-Regress-ID: 38cf354715c96852e5b71c2393fb6e7ad28b7ca7
1922
1923commit 7882d2eda6ad3eb82220a85294de545d20ef82db
1924Author: djm@openbsd.org <djm@openbsd.org>
1925Date: Fri May 1 03:58:02 2020 +0000
1926
1927 upstream: portability fix for sed that always emil a newline even
1928
1929 if the input does not contain one; from Michael Forney
1930
1931 OpenBSD-Regress-ID: 9190c3ddf0d2562ccc02c4a95fce0e392196bfc7
1932
1933commit 8074f9499e454df0acdacea33598858a1453a357
1934Author: djm@openbsd.org <djm@openbsd.org>
1935Date: Fri May 1 03:36:25 2020 +0000
1936
1937 upstream: remove obsolete RSA1 test keys; spotted by Michael Forney
1938
1939 OpenBSD-Regress-ID: 6384ba889594e217d166908ed8253718ab0866da
1940
1941commit c697e46c314aa94574af0d393d80f23e0ebc9748
1942Author: Darren Tucker <dtucker@dtucker.net>
1943Date: Sat May 2 18:34:47 2020 +1000
1944
1945 Update .depend.
1946
1947commit 83657eac42941f270c4b02b2c46d9a21f616ef99
1948Author: Darren Tucker <dtucker@dtucker.net>
1949Date: Sat May 2 18:29:40 2020 +1000
1950
1951 Remove use of tail for 'make depend'.
1952
1953 Not every tail supports +N and we can do with out it so just remove it.
1954 Prompted by mforney at mforney.org.
1955
1956commit d25d630d24c5a1c64d4e646510e79dc22d6d7b88
1957Author: djm@openbsd.org <djm@openbsd.org>
1958Date: Sat May 2 07:19:43 2020 +0000
1959
1960 upstream: we have a sshkey_save_public() function to save public keys;
1961
1962 use it and save a bunch of redundant code.
1963
1964 Patch from loic AT venez.fr; ok markus@ djm@
1965
1966 OpenBSD-Commit-ID: f93e030a0ebcd0fd9054ab30db501ec63454ea5f
1967
1968commit e9dc9863723e111ae05e353d69df857f0169544a
1969Author: Darren Tucker <dtucker@dtucker.net>
1970Date: Fri May 1 18:32:25 2020 +1000
1971
1972 Use LONG_LONG_MAX and friends if available.
1973
1974 If we don't have LLONG_{MIN,MAX} but do have LONG_LONG_{MIN,MAX}
1975 then use those instead. We do calculate these values in configure,
1976 but it turns out that at least one compiler (old HP ANSI C) can't
1977 parse "-9223372036854775808LL" without mangling it. (It can parse
1978 "-9223372036854775807LL" which is presumably why its limits.h defines
1979 LONG_LONG_MIN as the latter minus 1.)
1980
1981 Fixes rekey test when compiled with the aforementioned compiler.
1982
1983commit aad87b88fc2536b1ea023213729aaf4eaabe1894
1984Author: djm@openbsd.org <djm@openbsd.org>
1985Date: Fri May 1 06:31:42 2020 +0000
1986
1987 upstream: when receving a file in sink(), be careful to send at
1988
1989 most a single error response after the file has been opened. Otherwise the
1990 source() and sink() can become desyncronised. Reported by Daniel Goujot,
1991 Georges-Axel Jaloyan, Ryan Lahfa, and David Naccache.
1992
1993 ok deraadt@ markus@
1994
1995 OpenBSD-Commit-ID: 6c14d233c97349cb811a8f7921ded3ae7d9e0035
1996
1997commit 31909696c4620c431dd55f6cd15db65c4e9b98da
1998Author: djm@openbsd.org <djm@openbsd.org>
1999Date: Fri May 1 06:28:52 2020 +0000
2000
2001 upstream: expose vasnmprintf(); ok (as part of other commit) markus
2002
2003 deraadt
2004
2005 OpenBSD-Commit-ID: 2e80cea441c599631a870fd40307d2ade5a7f9b5
2006
2007commit 99ce9cefbe532ae979744c6d956b49f4b02aff82
2008Author: djm@openbsd.org <djm@openbsd.org>
2009Date: Fri May 1 04:23:11 2020 +0000
2010
2011 upstream: avoid NULL dereference when attempting to convert invalid
2012
2013 ssh.com private keys using "ssh-keygen -i"; spotted by Michael Forney
2014
2015 OpenBSD-Commit-ID: 2e56e6d26973967d11d13f56ea67145f435bf298
2016
2017commit 6c6072ba8b079e6f5caa38b011a6f4570c14ed38
2018Author: Darren Tucker <dtucker@dtucker.net>
2019Date: Fri May 1 15:09:26 2020 +1000
2020
2021 See if SA_RESTART signals will interrupt select().
2022
2023 On some platforms (at least older HP-UXes such as 11.11, possibly others)
2024 setting SA_RESTART on signal handers will cause it to not interrupt
2025 select(), at least for calls that do not specify a timeout. Try to
2026 detect this and if found, don't use SA_RESTART.
2027
2028 POSIX says "If SA_RESTART has been set for the interrupting signal, it
2029 is implementation-dependent whether select() restarts or returns with
2030 [EINTR]" so this behaviour is within spec.
2031
2032commit 90a0b434ed41f9c505662dba8782591818599cb3
2033Author: Damien Miller <djm@mindrot.org>
2034Date: Fri May 1 13:55:03 2020 +1000
2035
2036 fix reversed test
2037
2038commit c0dfd18dd1c2107c73d18f70cd164f7ebd434b08
2039Author: Damien Miller <djm@mindrot.org>
2040Date: Fri May 1 13:29:16 2020 +1000
2041
2042 wrap sha2.h inclusion in #ifdef HAVE_SHA2_H
2043
2044commit a01817a9f63dbcbbc6293aacc4019993a4cdc7e3
2045Author: djm@openbsd.org <djm@openbsd.org>
2046Date: Tue Apr 28 04:59:29 2020 +0000
2047
2048 upstream: adapt dummy FIDO middleware to API change; ok markus@
2049
2050 OpenBSD-Regress-ID: 8bb84ee500c2eaa5616044314dd0247709a1790f
2051
2052commit 261571ddf02ea38fdb5e4a97c69ee53f847ca5b7
2053Author: jmc@openbsd.org <jmc@openbsd.org>
2054Date: Thu Apr 30 18:28:37 2020 +0000
2055
2056 upstream: tweak previous; ok markus
2057
2058 OpenBSD-Commit-ID: 41895450ce2294ec44a5713134491cc31f0c09fd
2059
2060commit 5de21c82e1d806d3e401b5338371e354b2e0a66f
2061Author: markus@openbsd.org <markus@openbsd.org>
2062Date: Thu Apr 30 17:12:20 2020 +0000
2063
2064 upstream: bring back debug() removed in rev 1.74; noted by pradeep
2065
2066 kumar
2067
2068 OpenBSD-Commit-ID: 8d134d22ab25979078a3b48d058557d49c402e65
2069
2070commit ea14103ce9a5e13492e805f7e9277516ff5a4273
2071Author: markus@openbsd.org <markus@openbsd.org>
2072Date: Thu Apr 30 17:07:10 2020 +0000
2073
2074 upstream: run the 2nd ssh with BatchMode for scp -3
2075
2076 OpenBSD-Commit-ID: 77994fc8c7ca02d88e6d0d06d0f0fe842a935748
2077
2078commit 59d2de956ed29aa5565ed5e5947a7abdb27ac013
2079Author: djm@openbsd.org <djm@openbsd.org>
2080Date: Tue Apr 28 04:02:29 2020 +0000
2081
2082 upstream: when signing a challenge using a FIDO toke, perform the
2083
2084 hashing in the middleware layer rather than in ssh code. This allows
2085 middlewares that call APIs that perform the hashing implicitly (including
2086 Microsoft's AFAIK). ok markus@
2087
2088 OpenBSD-Commit-ID: c9fc8630aba26c75d5016884932f08a5a237f37d
2089
2090commit c9d10dbc0ccfb1c7568bbb784f7aeb7a0b5ded12
2091Author: dtucker@openbsd.org <dtucker@openbsd.org>
2092Date: Sun Apr 26 09:38:14 2020 +0000
2093
2094 upstream: Fix comment typo. Patch from mforney at mforney.org.
2095
2096 OpenBSD-Commit-ID: 3565f056003707a5e678e60e03f7a3efd0464a2b
2097
2098commit 4d2c87b4d1bde019cdd0f00552fcf97dd8b39940
2099Author: dtucker@openbsd.org <dtucker@openbsd.org>
2100Date: Sat Apr 25 06:59:36 2020 +0000
2101
2102 upstream: We've standardized on memset over bzero, replace a couple
2103
2104 that had slipped in. ok deraadt markus djm.
2105
2106 OpenBSD-Commit-ID: f5be055554ee93e6cc66b0053b590bef3728dbd6
2107
2108commit 7f23f42123d64272a7b00754afa6b0841d676691
2109Author: Darren Tucker <dtucker@dtucker.net>
2110Date: Fri May 1 12:21:58 2020 +1000
2111
2112 Include sys/byteorder.h for htons and friends.
2113
2114 These are usually in netinet/in.h but on HP-UX they are not defined if
2115 _XOPEN_SOURCE_EXTENDED is set. Only needed for netcat in the regression
2116 tests.
2117
2118commit d27cba58c972d101a5de976777e518f34ac779cb
2119Author: Darren Tucker <dtucker@dtucker.net>
2120Date: Fri May 1 09:21:52 2020 +1000
2121
2122 Fix conditional for openssl-based chacha20.
2123
2124 Fixes warnings or link errors when building against older OpenSSLs.
2125 ok djm
2126
2127commit 20819b962dc1467cd6fad5486a7020c850efdbee
2128Author: Darren Tucker <dtucker@dtucker.net>
2129Date: Fri Apr 24 15:07:55 2020 +1000
2130
2131 Error out if given RDomain if unsupported.
2132
2133 If the config contained 'RDomain %D' on a platform that did not support
2134 it, the error would not be detected until runtime resulting in a broken
2135 sshd. Detect this earlier and error out if found. bz#3126, based on a
2136 patch from jjelen at redhat.com, tweaks and ok djm@
2137
2138commit 2c1690115a585c624eed2435075a93a463a894e2
2139Author: dtucker@openbsd.org <dtucker@openbsd.org>
2140Date: Fri Apr 24 03:33:21 2020 +0000
2141
2142 upstream: Fix incorrect error message for "too many known hosts files."
2143
2144 bz#3149, patch from jjelen at redhat.com.
2145
2146 OpenBSD-Commit-ID: e0fcb07ed5cf7fd54ce340471a747c24454235e5
2147
2148commit 3beb7276e7a8aedd3d4a49f9c03b97f643448c92
2149Author: dtucker@openbsd.org <dtucker@openbsd.org>
2150Date: Fri Apr 24 02:19:40 2020 +0000
2151
2152 upstream: Remove leave_non_blocking() which is now dead code
2153
2154 because nothing sets in_non_blocking_mode any more. Patch from
2155 michaael.meeks at collabora.com, ok djm@
2156
2157 OpenBSD-Commit-ID: c403cefe97a5a99eca816e19cc849cdf926bd09c
2158
2159commit 8654e3561772f0656e7663a0bd6a1a8cb6d43300
2160Author: jmc@openbsd.org <jmc@openbsd.org>
2161Date: Thu Apr 23 21:28:09 2020 +0000
2162
2163 upstream: ce examples of "Ar arg Ar arg" with "Ar arg arg" and
2164
2165 stop the spread;
2166
2167 OpenBSD-Commit-ID: af0e952ea0f5e2019c2ce953ed1796eca47f0705
2168
2169commit 67697e4a8246dd8423e44b8785f3ee31fee72d07
2170Author: Darren Tucker <dtucker@dtucker.net>
2171Date: Fri Apr 24 11:10:18 2020 +1000
2172
2173 Update .depend.
2174
2175commit d6cc76176216fe3fac16cd20d148d75cb9c50876
2176Author: Darren Tucker <dtucker@dtucker.net>
2177Date: Wed Apr 22 14:07:00 2020 +1000
2178
2179 Mailing list is now closed to non-subscribers.
2180
2181 While there, add a reference to the bugzilla. ok djm@
2182
2183commit cecde6a41689d0ae585ec903b190755613a6de79
2184Author: Darren Tucker <dtucker@dtucker.net>
2185Date: Wed Apr 22 12:09:40 2020 +1000
2186
2187 Put the values from env vars back.
2188
2189 This merges the values from the recently removed environment into make's
2190 command line arguments since we actually need those.
2191
2192commit 300c4322b92e98d3346efa0aec1c094c94d0f964
2193Author: Darren Tucker <dtucker@dtucker.net>
2194Date: Wed Apr 22 11:33:15 2020 +1000
2195
2196 Pass configure's egrep through to test-exec.sh.
2197
2198 Use it to create a wrapper function to call it from tests. Fixes the
2199 keygen-comment test on platforms with impoverished default egrep (eg
2200 Solaris).
2201
2202commit c8d9796cfe046f00eb8b2096d2b7028d6a523a84
2203Author: Darren Tucker <dtucker@dtucker.net>
2204Date: Wed Apr 22 10:56:44 2020 +1000
2205
2206 Remove unneeded env vars from t-exec invocation.
2207
2208commit 01d4cdcd4514e99a4b6eb9523cd832bbf008d1d7
2209Author: dtucker@openbsd.org <dtucker@openbsd.org>
2210Date: Tue Apr 21 23:14:58 2020 +0000
2211
2212 upstream: Backslash '$' at then end of string. Prevents warning on
2213
2214 some shells.
2215
2216 OpenBSD-Regress-ID: 5dc27ab624c09d34078fd326b10e38c1ce9c741f
2217
2218commit 8854724ccefc1fa16f10b37eda2e759c98148caa
2219Author: Darren Tucker <dtucker@dtucker.net>
2220Date: Tue Apr 21 18:27:23 2020 +1000
2221
2222 Sync rev 1.49.
2223
2224 Prevent infinite for loop since i went from ssize_t to size_t. Patch from
2225 eagleoflqj via OpenSSH github PR#178, ok djm@, feedback & ok millert@
2226
2227commit d00d07b6744d3b4bb7aca46c734ecd670148da23
2228Author: djm@openbsd.org <djm@openbsd.org>
2229Date: Mon Apr 20 04:44:47 2020 +0000
2230
2231 upstream: regression test for printing of private key fingerprints and
2232
2233 key comments, mostly by loic AT venez.fr (slightly tweaked for portability)
2234 ok dtucker@
2235
2236 OpenBSD-Regress-ID: 8dc6c4feaf4fe58b6d634cd89afac9a13fd19004
2237
2238commit a98d5ba31e5e7e01317352f85fa63b846a960f8c
2239Author: djm@openbsd.org <djm@openbsd.org>
2240Date: Mon Apr 20 04:43:57 2020 +0000
2241
2242 upstream: fix a bug I introduced in r1.406: when printing private key
2243
2244 fingerprint of old-format key, key comments were not being displayed. Spotted
2245 by loic AT venez.fr, ok dtucker
2246
2247 OpenBSD-Commit-ID: 2d98e4f9eb168eea733d17e141e1ead9fe26e533
2248
2249commit 32f2d0aad42c15e19bd3b07496076ca891573a58
2250Author: djm@openbsd.org <djm@openbsd.org>
2251Date: Fri Apr 17 07:16:07 2020 +0000
2252
2253 upstream: repair private key fingerprint printing to also print
2254
2255 comment after regression caused by my recent pubkey loading refactor.
2256 Reported by loic AT venez.fr, ok dtucker@
2257
2258 OpenBSD-Commit-ID: f8db49acbee6a6ccb2a4259135693b3cceedb89e
2259
2260commit 094dd513f4b42e6a3cebefd18d1837eb709b4d99
2261Author: djm@openbsd.org <djm@openbsd.org>
2262Date: Fri Apr 17 07:15:11 2020 +0000
2263
2264 upstream: refactor out some duplicate private key loading code;
2265
2266 based on patch from loic AT venez.fr, ok dtucker@
2267
2268 OpenBSD-Commit-ID: 5eff2476b0d8d0614924c55e350fb7bb9c84f45e
2269
2270commit 4e04f46f248f1708e39b900b76c9693c820eff68
2271Author: jmc@openbsd.org <jmc@openbsd.org>
2272Date: Fri Apr 17 06:12:41 2020 +0000
2273
2274 upstream: add space beteen macro arg and punctuation;
2275
2276 OpenBSD-Commit-ID: c93a6cbb4bf9468fc4c13e64bc1fd4efee201a44
2277
2278commit 44ae009a0112081d0d541aeaa90088bedb6f21ce
2279Author: djm@openbsd.org <djm@openbsd.org>
2280Date: Fri Apr 17 04:27:03 2020 +0000
2281
2282 upstream: auth2-pubkey r1.89 changed the order of operations to
2283
2284 checking AuthorizedKeysFile first and falling back to AuthorizedKeysCommand
2285 if no key was found in a file. Document this order here; bz3134
2286
2287 OpenBSD-Commit-ID: afce0872cbfcfc1d4910ad7722e50f792a1dce12
2288
2289commit f96f17f920f38ceea6f3c5cb0b075c46b8929fdc
2290Author: Damien Miller <djm@mindrot.org>
2291Date: Fri Apr 17 14:07:15 2020 +1000
2292
2293 sys/sysctl.h is only used on OpenBSD
2294
2295 so change the preprocessor test used to include it to check
2296 __OpenBSD__, matching the code that uses the symbols it declares.
2297
2298commit 54688e937a69c7aebef8a3d50cbd4c6345bab2ca
2299Author: djm@openbsd.org <djm@openbsd.org>
2300Date: Fri Apr 17 03:38:47 2020 +0000
2301
2302 upstream: fix reversed test that caused IdentitiesOnly=yes to not
2303
2304 apply to keys loaded from a PKCS11Provider; bz3141, ok dtucker@
2305
2306 OpenBSD-Commit-ID: e3dd6424b94685671fe84c9b9dbe352fb659f677
2307
2308commit 267cbc87b5b6e78973ac4d3c7a6f807ed226928c
2309Author: djm@openbsd.org <djm@openbsd.org>
2310Date: Fri Apr 17 03:34:42 2020 +0000
2311
2312 upstream: mention that /etc/hosts.equiv and /etc/shosts.equiv are
2313
2314 not considered for HostbasedAuthentication when the target user is root;
2315 bz3148
2316
2317 OpenBSD-Commit-ID: fe4c1256929e53f23af17068fbef47852f4bd752
2318
2319commit c90f72d29e84b4a2709078bf5546a72c29a65177
2320Author: djm@openbsd.org <djm@openbsd.org>
2321Date: Fri Apr 17 03:30:05 2020 +0000
2322
2323 upstream: make IgnoreRhosts a tri-state option: "yes" ignore
2324
2325 rhosts/shosts, "no" allow rhosts/shosts or (new) "shosts-only" to allow
2326 .shosts files but not .rhosts. ok dtucker@
2327
2328 OpenBSD-Commit-ID: d08d6930ed06377a80cf53923c1955e9589342e9
2329
2330commit 321c7147079270f3a154f91b59e66219aac3d514
2331Author: djm@openbsd.org <djm@openbsd.org>
2332Date: Fri Apr 17 03:23:13 2020 +0000
2333
2334 upstream: allow the IgnoreRhosts directive to appear anywhere in a
2335
2336 sshd_config, not just before any Match blocks; bz3148, ok dtucker@
2337
2338 OpenBSD-Commit-ID: e042467d703bce640b1f42c5d1a62bf3825736e8
2339
2340commit ca5403b085a735055ec7b7cdcd5b91f2662df94c
2341Author: jmc@openbsd.org <jmc@openbsd.org>
2342Date: Sat Apr 11 20:20:09 2020 +0000
2343
2344 upstream: add space between macro arg and punctuation;
2345
2346 OpenBSD-Commit-ID: e579e4d95eef13059c30931ea1f09ed8296b819c
2347
2348commit 8af0244d7b4a65eed2e62f9c89141c7c8e63f09d
2349Author: Darren Tucker <dtucker@dtucker.net>
2350Date: Wed Apr 15 10:58:02 2020 +1000
2351
2352 Add sys/syscall.h for syscall numbers.
2353
2354 In some architecture/libc configurations we need to explicitly include
2355 sys/syscall.h for the syscall number (__NR_xxx) definitions. bz#3085,
2356 patch from blowfist at xroutine.net.
2357
2358commit 3779b50ee952078018a5d9e1df20977f4355df17
2359Author: djm@openbsd.org <djm@openbsd.org>
2360Date: Sat Apr 11 10:16:11 2020 +0000
2361
2362 upstream: Refactor private key parsing. Eliminates a fair bit of
2363
2364 duplicated code and fixes oss-fuzz#20074 (NULL deref) caused by a missing key
2365 type check in the ECDSA_CERT parsing path.
2366
2367 feedback and ok markus@
2368
2369 OpenBSD-Commit-ID: 4711981d88afb7196d228f7baad9be1d3b20f9c9
2370
2371commit b6a4013647db67ec622c144a9e05dd768f1966b3
2372Author: dtucker@openbsd.org <dtucker@openbsd.org>
2373Date: Fri Apr 10 00:54:03 2020 +0000
2374
2375 upstream: Add tests for TOKEN expansion of LocalForward and
2376
2377 RemoteForward.
2378
2379 OpenBSD-Regress-ID: 90fcbc60d510eb114a2b6eaf4a06ff87ecd80a89
2380
2381commit abc3e0a5179c13c0469a1b11fe17d832abc39999
2382Author: dtucker@openbsd.org <dtucker@openbsd.org>
2383Date: Mon Apr 6 09:43:55 2020 +0000
2384
2385 upstream: Add utf8.c for asmprintf used by krl.c
2386
2387 OpenBSD-Regress-ID: 433708d11165afdb189fe635151d21659dd37a37
2388
2389commit 990687a0336098566c3a854d23cce74a31ec6fe2
2390Author: dtucker@openbsd.org <dtucker@openbsd.org>
2391Date: Fri Apr 10 00:52:07 2020 +0000
2392
2393 upstream: Add TOKEN percent expansion to LocalFoward and RemoteForward
2394
2395 when used for Unix domain socket forwarding. Factor out the code for the
2396 config keywords that use the most common subset of TOKENS into its own
2397 function. bz#3014, ok jmc@ (man page bits) djm@
2398
2399 OpenBSD-Commit-ID: bffc9f7e7b5cf420309a057408bef55171fd0b97
2400
2401commit 2b13d3934d5803703c04803ca3a93078ecb5b715
2402Author: djm@openbsd.org <djm@openbsd.org>
2403Date: Wed Apr 8 00:10:37 2020 +0000
2404
2405 upstream: let sshkey_try_load_public() load public keys from the
2406
2407 unencrypted envelope of private key files if not sidecar public key file is
2408 present.
2409
2410 ok markus@
2411
2412 OpenBSD-Commit-ID: 252a0a580e10b9a6311632530d63b5ac76592040
2413
2414commit d01f39304eaab0352793b490a25e1ab5f59a5366
2415Author: djm@openbsd.org <djm@openbsd.org>
2416Date: Wed Apr 8 00:09:24 2020 +0000
2417
2418 upstream: simplify sshkey_try_load_public()
2419
2420 ok markus@
2421
2422 OpenBSD-Commit-ID: 05a5d46562aafcd70736c792208b1856064f40ad
2423
2424commit f290ab0833e44355fc006e4e67b92446c14673ef
2425Author: djm@openbsd.org <djm@openbsd.org>
2426Date: Wed Apr 8 00:08:46 2020 +0000
2427
2428 upstream: add sshkey_parse_pubkey_from_private_fileblob_type()
2429
2430 Extracts a public key from the unencrypted envelope of a new-style
2431 OpenSSH private key.
2432
2433 ok markus@
2434
2435 OpenBSD-Commit-ID: 44d7ab446e5e8c686aee96d5897b26b3939939aa
2436
2437commit 8d514eea4ae089626a55e11c7bc1745c8d9683e4
2438Author: djm@openbsd.org <djm@openbsd.org>
2439Date: Wed Apr 8 00:07:19 2020 +0000
2440
2441 upstream: simplify sshkey_parse_private_fileblob_type()
2442
2443 Try new format parser for all key types first, fall back to PEM
2444 parser only for invalid format errors.
2445
2446 ok markus@
2447
2448 OpenBSD-Commit-ID: 0173bbb3a5cface77b0679d4dca0e15eb5600b77
2449
2450commit 421169d0e758351b105eabfcebf42378ebf17217
2451Author: djm@openbsd.org <djm@openbsd.org>
2452Date: Wed Apr 8 00:05:59 2020 +0000
2453
2454 upstream: check private key type against requested key type in
2455
2456 new-style private decoding; ok markus@
2457
2458 OpenBSD-Commit-ID: 04d44b3a34ce12ce5187fb6f6e441a88c8c51662
2459
2460commit 6aabfb6d22b36d07f584cba97f4cdc4363a829da
2461Author: djm@openbsd.org <djm@openbsd.org>
2462Date: Wed Apr 8 00:04:32 2020 +0000
2463
2464 upstream: check that pubkey in private key envelope matches actual
2465
2466 private key
2467
2468 (this public key is currently unusued)
2469
2470 ok markus@
2471
2472 OpenBSD-Commit-ID: 634a60b5e135d75f48249ccdf042f3555112049c
2473
2474commit c0f5b2294796451001fd328c44f0d00f1114eddf
2475Author: djm@openbsd.org <djm@openbsd.org>
2476Date: Wed Apr 8 00:01:52 2020 +0000
2477
2478 upstream: refactor private key parsing a little
2479
2480 Split out the base64 decoding and private section decryption steps in
2481 to separate functions. This will make the decryption step easier to fuzz
2482 as well as making it easier to write a "load public key from new-format
2483 private key" function.
2484
2485 ok markus@
2486
2487 OpenBSD-Commit-ID: 7de31d80fb9062aa01901ddf040c286b64ff904e
2488
2489commit 8461a5b3db34ed0b5a4a18d82f64fd5ac8693ea8
2490Author: Darren Tucker <dtucker@dtucker.net>
2491Date: Mon Apr 6 20:54:34 2020 +1000
2492
2493 Include openssl-compat.h before checking ifdefs.
2494
2495 Fixes problem where unsuitable chacha20 code in libressl would be used
2496 unintentionally.
2497
2498commit 931c50c5883a9910ea1ae9a371e4e815ec56b035
2499Author: Damien Miller <djm@mindrot.org>
2500Date: Mon Apr 6 10:04:56 2020 +1000
2501
2502 fix inverted test for LibreSSL version
2503
2504commit d1d5f728511e2338b7c994968d301d8723012264
2505Author: dtucker@openbsd.org <dtucker@openbsd.org>
2506Date: Sat Apr 4 23:04:41 2020 +0000
2507
2508 upstream: Indicate if we're using a cached key in trace output.
2509
2510 OpenBSD-Regress-ID: 409a7b0e59d1272890fda507651c0c3d2d3c0d89
2511
2512commit a398251a4627367c78bc483c70c2ec973223f82c
2513Author: Darren Tucker <dtucker@dtucker.net>
2514Date: Sun Apr 5 08:43:57 2020 +1000
2515
2516 Use /usr/bin/xp4g/id if necessary.
2517
2518 Solaris' native "id" doesn't support the options we use but the one
2519 in /usr/bin/xp4g does, so use that instead.
2520
2521commit db0fdd48335b5b01114f78c1a73a195235910f81
2522Author: dtucker@openbsd.org <dtucker@openbsd.org>
2523Date: Sat Apr 4 22:14:26 2020 +0000
2524
2525 upstream: Some platforms don't have "hostname -s", so use cut to trim
2526
2527 short hostname instead.
2528
2529 OpenBSD-Regress-ID: ebcf36a6fdf287c9336b0d4f6fc9f793c05307a7
2530
2531commit e7e59a9cc8eb7fd5944ded28f4d7e3ae0a5fdecd
2532Author: dtucker@openbsd.org <dtucker@openbsd.org>
2533Date: Fri Apr 3 07:53:10 2020 +0000
2534
2535 upstream: Compute hash locally and re-enable %C tests.
2536
2537 OpenBSD-Regress-ID: 94d1366e8105274858b88a1f9ad2e62801e49770
2538
2539commit abe2b245b3ac6c4801e99bc0f13289cd28211e22
2540Author: Damien Miller <djm@mindrot.org>
2541Date: Fri Apr 3 17:25:46 2020 +1100
2542
2543 prefer libcrypto chacha20-poly1305 where possible
2544
2545commit bc5c5d01ad668981f9e554e62195383bc12e8528
2546Author: dtucker@openbsd.org <dtucker@openbsd.org>
2547Date: Fri Apr 3 05:43:11 2020 +0000
2548
2549 upstream: Temporarily remove tests for '%C' since the hash contains the
2550
2551 local hostname and it doesn't work on any machine except mine... spotted by
2552 djm@
2553
2554 OpenBSD-Regress-ID: 2d4c3585b9fcbbff14f4a5a5fde51dbd0d690401
2555
2556commit 81624026989654955a657ebf2a1fe8b9994f3c87
2557Author: djm@openbsd.org <djm@openbsd.org>
2558Date: Fri Apr 3 06:07:57 2020 +0000
2559
2560 upstream: r1.522 deleted one too many lines; repair
2561
2562 OpenBSD-Commit-ID: 1af8851fd7a99e4a887b19aa8f4c41a6b3d25477
2563
2564commit 668cb3585ce829bd6e34d4a962c489bda1d16370
2565Author: jmc@openbsd.org <jmc@openbsd.org>
2566Date: Fri Apr 3 05:53:52 2020 +0000
2567
2568 upstream: sort -N and add it to usage();
2569
2570 OpenBSD-Commit-ID: 5b00e8db37c2b0a54c7831fed9e5f4db53ada332
2571
2572commit 338ccee1e7fefa47f3d128c2541e94c5270abe0c
2573Author: djm@openbsd.org <djm@openbsd.org>
2574Date: Fri Apr 3 05:48:57 2020 +0000
2575
2576 upstream: avoid another compiler warning spotted in -portable
2577
2578 OpenBSD-Commit-ID: 1d29c51ac844b287c4c8bcaf04c63c7d9ba3b8c7
2579
2580commit 9f8a42340bd9af86a99cf554dc39ecdf89287544
2581Author: djm@openbsd.org <djm@openbsd.org>
2582Date: Fri Apr 3 04:07:48 2020 +0000
2583
2584 upstream: this needs utf8.c too
2585
2586 OpenBSD-Regress-ID: 445040036cec714d28069a20da25553a04a28451
2587
2588commit 92115ea7c3a834374720c350841fc729e7d5c8b2
2589Author: dtucker@openbsd.org <dtucker@openbsd.org>
2590Date: Fri Apr 3 03:14:03 2020 +0000
2591
2592 upstream: Add percent_expand test for 'Match Exec'.
2593
2594 OpenBSD-Regress-ID: a41c14fd6a0b54d66aa1e9eebfb9ec962b41232f
2595
2596commit de34a440276ae855c38deb20f926d46752c62c9d
2597Author: djm@openbsd.org <djm@openbsd.org>
2598Date: Fri Apr 3 04:43:24 2020 +0000
2599
2600 upstream: fix format string (use %llu for uint64, not %lld). spotted by
2601
2602 Darren and his tinderbox tests
2603
2604 OpenBSD-Commit-ID: 3b4587c3d9d46a7be9bdf028704201943fba96c2
2605
2606commit 9cd40b829a5295cc81fbea8c7d632b2478db6274
2607Author: djm@openbsd.org <djm@openbsd.org>
2608Date: Fri Apr 3 04:34:15 2020 +0000
2609
2610 upstream: Add a flag to re-enable verbose output when in batch
2611
2612 mode; requested in bz3135; ok dtucker
2613
2614 OpenBSD-Commit-ID: 5ad2ed0e6440562ba9c84b666a5bbddc1afe2e2b
2615
2616commit 6ce51a5da5d333a44e7c74c027f3571f70c39b24
2617Author: djm@openbsd.org <djm@openbsd.org>
2618Date: Fri Apr 3 04:32:21 2020 +0000
2619
2620 upstream: chacha20-poly1305 AEAD using libcrypto EVP_chacha20
2621
2622 Based on patch from Yuriy M. Kaminskiy. ok + lots of assistance along the
2623 way at a2k20 tb@
2624
2625 OpenBSD-Commit-ID: 5e08754c13d31258bae6c5e318cc96219d6b10f0
2626
2627commit eba523f0a130f1cce829e6aecdcefa841f526a1a
2628Author: djm@openbsd.org <djm@openbsd.org>
2629Date: Fri Apr 3 04:27:03 2020 +0000
2630
2631 upstream: make Chacha20-POLY1305 context struct opaque; ok tb@ as
2632
2633 part of a larger diff at a2k20
2634
2635 OpenBSD-Commit-ID: a4609b7263284f95c9417ef60ed7cdbb7bf52cfd
2636
2637commit ebd29e90129cf18fedfcfe1de86e324228669295
2638Author: djm@openbsd.org <djm@openbsd.org>
2639Date: Fri Apr 3 04:06:26 2020 +0000
2640
2641 upstream: fix debug statement
2642
2643 OpenBSD-Commit-ID: 42c6edeeda5ce88b51a20d88c93be3729ce6b916
2644
2645commit 7b4d8999f2e1a0cb7b065e3efa83e6edccfc7d82
2646Author: djm@openbsd.org <djm@openbsd.org>
2647Date: Fri Apr 3 04:03:51 2020 +0000
2648
2649 upstream: the tunnel-forwarding vs ExitOnForwardFailure fix that I
2650
2651 committed earlier had an off-by-one. Fix this and add some debugging that
2652 would have made it apparent sooner.
2653
2654 OpenBSD-Commit-ID: 082f8f72b1423bd81bbdad750925b906e5ac6910
2655
2656commit eece243666d44ceb710d004624c5c7bdc05454bc
2657Author: dtucker@openbsd.org <dtucker@openbsd.org>
2658Date: Fri Apr 3 03:12:11 2020 +0000
2659
2660 upstream: %C expansion just added to Match Exec should include
2661
2662 remote user not local user.
2663
2664 OpenBSD-Commit-ID: 80f1d976938f2a55ee350c11d8b796836c8397e2
2665
2666commit d5318a784d016478fc8da90a38d9062c51c10432
2667Author: dtucker@openbsd.org <dtucker@openbsd.org>
2668Date: Fri Apr 3 02:33:31 2020 +0000
2669
2670 upstream: Add regression test for percent expansions where possible.
2671
2672 OpenBSD-Regress-ID: 7283be8b2733ac1cbefea3048a23d02594485288
2673
2674commit 663e84bb53de2a60e56a44d538d25b8152b5c1cc
2675Author: djm@openbsd.org <djm@openbsd.org>
2676Date: Fri Apr 3 02:40:32 2020 +0000
2677
2678 upstream: make failures when establishing "Tunnel" forwarding terminate
2679
2680 the connection when ExitOnForwardFailure is enabled; bz3116; ok dtucker
2681
2682 OpenBSD-Commit-ID: ef4b4808de0a419c17579b1081da768625c1d735
2683
2684commit ed833da176611a39d3376d62154eb88eb440d31c
2685Author: dtucker@openbsd.org <dtucker@openbsd.org>
2686Date: Fri Apr 3 02:27:12 2020 +0000
2687
2688 upstream: Make with config keywords support which
2689
2690 percent_expansions more consistent. - %C is moved into its own function and
2691 added to Match Exec. - move the common (global) options into a macro. This
2692 is ugly but it's the least-ugly way I could come up with. - move
2693 IdentityAgent and ForwardAgent percent expansion to before the config dump
2694 to make it regression-testable. - document all of the above
2695
2696 ok jmc@ for man page bits, "makes things less terrible" djm@ for the rest.
2697
2698 OpenBSD-Commit-ID: 4b65664bd6d8ae2a9afaf1a2438ddd1b614b1d75
2699
2700commit 6ec7457171468da2bbd908b8cd63d298b0e049ea
2701Author: djm@openbsd.org <djm@openbsd.org>
2702Date: Fri Apr 3 02:26:56 2020 +0000
2703
2704 upstream: give ssh-keygen the ability to dump the contents of a
2705
2706 binary key revocation list: ssh-keygen -lQf /path bz#3132; ok dtucker
2707
2708 OpenBSD-Commit-ID: b76afc4e3b74ab735dbde4e5f0cfa1f02356033b
2709
2710commit af628b8a6c3ef403644d83d205c80ff188c97f0c
2711Author: djm@openbsd.org <djm@openbsd.org>
2712Date: Fri Apr 3 02:25:21 2020 +0000
2713
2714 upstream: add allocating variant of the safe utf8 printer; ok
2715
2716 dtucker as part of a larger diff
2717
2718 OpenBSD-Commit-ID: 037e2965bd50eacc2ffb49889ecae41552744fa0
2719
2720commit d8ac9af645f5519ac5211e9e1e4dc1ed00e9cced
2721Author: dtucker@openbsd.org <dtucker@openbsd.org>
2722Date: Mon Mar 16 02:17:02 2020 +0000
2723
2724 upstream: Cast lifetime to u_long for comparison to prevent unsigned
2725
2726 comparison warning on 32bit arches. Spotted by deraadt, ok djm.
2727
2728 OpenBSD-Commit-ID: 7a75b2540bff5ab4fa00b4d595db1df13bb0515a
2729
2730commit 0eaca933ae08b0a515edfccd5cc4a6b667034813
2731Author: Darren Tucker <dtucker@dtucker.net>
2732Date: Sat Mar 14 20:58:46 2020 +1100
2733
2734 Include fido.h when checking for fido/credman.h.
2735
2736 It's required for fido_dev_t, otherwise configure fails with
2737 when given --with-security-key-builtin.
2738
2739commit c7c099060f82ffe6a36d8785ecf6052e12fd92f0
2740Author: djm@openbsd.org <djm@openbsd.org>
2741Date: Fri Mar 13 03:18:45 2020 +0000
2742
2743 upstream: some more speeling mistakes from
2744
2745 OpenBSD-Regress-ID: 02471c079805471c546b7a69d9ab1d34e9a57443
2746
2747commit 1d89232a4aa97fe935cd60b8d24d75c2f70d56c5
2748Author: djm@openbsd.org <djm@openbsd.org>
2749Date: Fri Mar 13 04:16:27 2020 +0000
2750
2751 upstream: improve error messages for some common PKCS#11 C_Login
2752
2753 failure cases; based on patch from Jacob Hoffman-Andrews in bz3130; ok
2754 dtucker
2755
2756 OpenBSD-Commit-ID: b8b849621b4a98e468942efd0a1c519c12ce089e
2757
2758commit 5becbec023f2037394987f85ed7f74b9a28699e0
2759Author: djm@openbsd.org <djm@openbsd.org>
2760Date: Fri Mar 13 04:01:56 2020 +0000
2761
2762 upstream: use sshpkt_fatal() for kex_exchange_identification()
2763
2764 errors. This ensures that the logged errors are consistent with other
2765 transport- layer errors and that the relevant IP addresses are logged. bz3129
2766 ok dtucker@
2767
2768 OpenBSD-Commit-ID: 2c22891f0b9e1a6cd46771cedbb26ac96ec2e6ab
2769
2770commit eef88418f9e5e51910af3c5b23b5606ebc17af55
2771Author: dtucker@openbsd.org <dtucker@openbsd.org>
2772Date: Fri Mar 13 03:24:49 2020 +0000
2773
2774 upstream: Don't clear alarm timers in listening sshd. Previously
2775
2776 these timers were used for regenerating the SSH1 ephemeral host keys but
2777 those are now gone so there's no need to clear the timers either. ok
2778 deraadt@
2779
2780 OpenBSD-Commit-ID: 280d2b885e4a1ce404632e8cc38fcb17be7dafc0
2781
2782commit d081f017c20a3564255873ed99fd7d024cac540f
2783Author: djm@openbsd.org <djm@openbsd.org>
2784Date: Fri Mar 13 03:17:07 2020 +0000
2785
2786 upstream: spelling errors in comments; no code change from
2787
2788 OpenBSD-Commit-ID: 166ea64f6d84f7bac5636dbd38968592cb5eb924
2789
2790commit c084a2d040f160bc2b83f13297e3e3ca3f5dbac6
2791Author: djm@openbsd.org <djm@openbsd.org>
2792Date: Fri Mar 13 03:12:17 2020 +0000
2793
2794 upstream: when downloading FIDO2 resident keys from a token, don't
2795
2796 prompt for a PIN until the token has told us that it needs one. Avoids
2797 double-prompting on devices that implement on-device authentication (e.g. a
2798 touchscreen PIN pad on the Trezor Model T). ok dtucker@
2799
2800 OpenBSD-Commit-ID: 38b78903dd4422d7d3204095a31692fb69130817
2801
2802commit 955c4cf4c6a1417c28d4e1040702c4d9bf63645b
2803Author: Damien Miller <djm@mindrot.org>
2804Date: Fri Mar 13 14:30:16 2020 +1100
2805
2806 sync fnmatch.c with upstream to fix another typo
2807
2808commit 397f217e8640e75bb719a8e87111b4bd848fb3df
2809Author: Damien Miller <djm@mindrot.org>
2810Date: Fri Mar 13 14:24:23 2020 +1100
2811
2812 another spelling error in comment
2813
2814commit def31bc5427579ec3f7f2ce99f2da1338fdc0c9f
2815Author: Damien Miller <djm@mindrot.org>
2816Date: Fri Mar 13 14:23:07 2020 +1100
2817
2818 spelling mistakes
2819
2820 from https://fossies.org/linux/misc/openssh-8.2p1.tar.gz/codespell.html
2821
2822commit 8bdc3bb7cf4c82c3344cfcb82495a43406e87e83
2823Author: markus@openbsd.org <markus@openbsd.org>
2824Date: Fri Mar 6 18:29:54 2020 +0000
2825
2826 upstream: fix relative includes in sshd_config; ok djm
2827
2828 OpenBSD-Commit-ID: fa29b0da3c93cbc3a1d4c6bcd58af43c00ffeb5b
2829
2830commit e32ef97a56ae03febfe307688858badae3a70e5a
2831Author: markus@openbsd.org <markus@openbsd.org>
2832Date: Fri Mar 6 18:29:14 2020 +0000
2833
2834 upstream: fix use-after-free in do_download_sk; ok djm
2835
2836 OpenBSD-Commit-ID: 96b49623d297797d4fc069f1f09e13c8811f8863
2837
2838commit 5732d58020309364bf31fa125354e399361006db
2839Author: markus@openbsd.org <markus@openbsd.org>
2840Date: Fri Mar 6 18:28:50 2020 +0000
2841
2842 upstream: do not leak oprincipals; ok djm
2843
2844 OpenBSD-Commit-ID: 4691d9387eab36f8fda48f5d8009756ed13a7c4c
2845
2846commit 8fae395f34c2c52cdaf9919aa261d1848b4bb00b
2847Author: markus@openbsd.org <markus@openbsd.org>
2848Date: Fri Mar 6 18:28:27 2020 +0000
2849
2850 upstream: initialize seconds for debug message; ok djm
2851
2852 OpenBSD-Commit-ID: 293fbefe6d00b4812a180ba02e26170e4c855b81
2853
2854commit 46e5c4c8ffcd1569bcd5d04803abaa2ecf3e4cff
2855Author: markus@openbsd.org <markus@openbsd.org>
2856Date: Fri Mar 6 18:27:50 2020 +0000
2857
2858 upstream: correct return code; ok djm
2859
2860 OpenBSD-Commit-ID: 319d09e3b7f4b2bc920c67244d9ff6426b744810
2861
2862commit 31c39e7840893f1bfdcbe4f813b20d1d7e69ec3e
2863Author: markus@openbsd.org <markus@openbsd.org>
2864Date: Fri Mar 6 18:27:15 2020 +0000
2865
2866 upstream: principalsp is optional, pubkey required; ok djm
2867
2868 OpenBSD-Commit-ID: 2cc3ea5018c28ed97edaccd7f17d2cc796f01024
2869
2870commit e26a31757c5df2f58687cb9a4853d1418f39728e
2871Author: markus@openbsd.org <markus@openbsd.org>
2872Date: Fri Mar 6 18:26:21 2020 +0000
2873
2874 upstream: remove unused variables in ssh-pkcs11-helper; ok djm
2875
2876 OpenBSD-Commit-ID: 13e572846d0d1b28f1251ddd2165e9cf18135ae1
2877
2878commit 1b378c0d982d6ab522eda634b0e88cf1fca5e352
2879Author: markus@openbsd.org <markus@openbsd.org>
2880Date: Fri Mar 6 18:25:48 2020 +0000
2881
2882 upstream: return correct error in sshsk_ed25519_sig; ok djm
2883
2884 OpenBSD-Commit-ID: 52bf733df220303c260fee4f165ec64b4a977625
2885
2886commit fbff605e637b068061ab6784ff03e3874890c092
2887Author: markus@openbsd.org <markus@openbsd.org>
2888Date: Fri Mar 6 18:25:12 2020 +0000
2889
2890 upstream: fix possible null-deref in check_key_not_revoked; ok
2891
2892 djm
2893
2894 OpenBSD-Commit-ID: 80855e9d7af42bb6fcc16c074ba69876bfe5e3bf
2895
2896commit bc30b446841fc16e50ed6e75c56ccfbd37b9f281
2897Author: markus@openbsd.org <markus@openbsd.org>
2898Date: Fri Mar 6 18:24:39 2020 +0000
2899
2900 upstream: ssh_fetch_identitylist() returns the return value from
2901
2902 ssh_request_reply() so we should also check against != 0 ok djm
2903
2904 OpenBSD-Commit-ID: 28d0028769d03e665688c61bb5fd943e18614952
2905
2906commit 7b4f70ddeb59f35283d77d8d9c834ca58f8cf436
2907Author: markus@openbsd.org <markus@openbsd.org>
2908Date: Fri Mar 6 18:23:17 2020 +0000
2909
2910 upstream: sshkey_cert_check_authority requires reason to be set;
2911
2912 ok djm
2913
2914 OpenBSD-Commit-ID: 6f7a6f19540ed5749763c2f9530c0897c94aa552
2915
2916commit 05efe270df1e925db0af56a806d18b5063db4b6d
2917Author: markus@openbsd.org <markus@openbsd.org>
2918Date: Fri Mar 6 18:21:28 2020 +0000
2919
2920 upstream: passphrase depends on kdfname, not ciphername (possible
2921
2922 null-deref); ok djm
2923
2924 OpenBSD-Commit-ID: 0d39668edf5e790b5837df4926ee1141cec5471c
2925
2926commit 1ddf5682f3992bdacd29164891abb71a19c2cf61
2927Author: markus@openbsd.org <markus@openbsd.org>
2928Date: Fri Mar 6 18:20:44 2020 +0000
2929
2930 upstream: consistently check packet_timeout_ms against 0; ok djm
2931
2932 OpenBSD-Commit-ID: e8fb8cb2c96c980f075069302534eaf830929928
2933
2934commit 31f1ee54968ad84eb32375e4412e0318766b586b
2935Author: markus@openbsd.org <markus@openbsd.org>
2936Date: Fri Mar 6 18:20:02 2020 +0000
2937
2938 upstream: initialize cname in case ai_canonname is NULL or too
2939
2940 long; ok djm
2941
2942 OpenBSD-Commit-ID: c27984636fdb1035d1642283664193e91aab6e37
2943
2944commit a6134b02b5264b2611c8beae98bb392329452bba
2945Author: markus@openbsd.org <markus@openbsd.org>
2946Date: Fri Mar 6 18:19:21 2020 +0000
2947
2948 upstream: fix uninitialized pointers for forward_cancel; ok djm
2949
2950 OpenBSD-Commit-ID: 612778e6d87ee865d0ba97d0a335f141cee1aa37
2951
2952commit 16d4f9961c75680aab374dee762a5baa0ad507af
2953Author: markus@openbsd.org <markus@openbsd.org>
2954Date: Fri Mar 6 18:16:21 2020 +0000
2955
2956 upstream: exit on parse failures in input_service_request; ok djm
2957
2958 OpenBSD-Commit-ID: 6a7e1bfded26051d5aa893c030229b1ee6a0d5d2
2959
2960commit 5f25afe5216ba7f8921e04f79aa4ca0624eca820
2961Author: markus@openbsd.org <markus@openbsd.org>
2962Date: Fri Mar 6 18:15:38 2020 +0000
2963
2964 upstream: fix null-deref on calloc failure; ok djm
2965
2966 OpenBSD-Commit-ID: a313519579b392076b7831ec022dfdefbec8724a
2967
2968commit ff2acca039aef16a15fce409163df404858f7aa5
2969Author: markus@openbsd.org <markus@openbsd.org>
2970Date: Fri Mar 6 18:15:04 2020 +0000
2971
2972 upstream: exit if ssh_krl_revoke_key_sha256 fails; ok djm
2973
2974 OpenBSD-Commit-ID: 0864ad4fe8bf28ab21fd1df766e0365c11bbc0dc
2975
2976commit 31c860a0212af2d5b6a129e3e8fcead51392ee1d
2977Author: markus@openbsd.org <markus@openbsd.org>
2978Date: Fri Mar 6 18:14:13 2020 +0000
2979
2980 upstream: pkcs11_register_provider: return < 0 on error; ok djm
2981
2982 OpenBSD-Commit-ID: cfc8321315b787e4d40da4bdb2cbabd4154b0d97
2983
2984commit 15be29e1e3318737b0768ca37d5b4a3fbe868ef0
2985Author: markus@openbsd.org <markus@openbsd.org>
2986Date: Fri Mar 6 18:13:29 2020 +0000
2987
2988 upstream: sshsig: return correct error, fix null-deref; ok djm
2989
2990 OpenBSD-Commit-ID: 1d1af7cd538b8b23e621cf7ab84f11e7a923edcd
2991
2992commit 6fb6f186cb62a6370fba476b6a03478a1e95c30d
2993Author: markus@openbsd.org <markus@openbsd.org>
2994Date: Fri Mar 6 18:12:55 2020 +0000
2995
2996 upstream: vasnmprintf allocates str and returns -1; ok djm
2997
2998 OpenBSD-Commit-ID: dae4c9e83d88471bf3b3f89e3da7a107b44df11c
2999
3000commit 714e1cbca17daa13f4f98978cf9e0695d4b2e0a4
3001Author: markus@openbsd.org <markus@openbsd.org>
3002Date: Fri Mar 6 18:11:10 2020 +0000
3003
3004 upstream: sshpkt_fatal() does not return; ok djm
3005
3006 OpenBSD-Commit-ID: 7dfe847e28bd78208eb227b37f29f4a2a0929929
3007
3008commit 9b47bd7b09d191991ad9e0506bb66b74bbc93d34
3009Author: djm@openbsd.org <djm@openbsd.org>
3010Date: Fri Feb 28 01:07:28 2020 +0000
3011
3012 upstream: no-touch-required certificate option should be an
3013
3014 extension, not a critical option.
3015
3016 OpenBSD-Commit-ID: 626b22c5feb7be8a645e4b9a9bef89893b88600d
3017
3018commit dd992520bed35387fc010239abe1bdc0c2665e38
3019Author: djm@openbsd.org <djm@openbsd.org>
3020Date: Fri Feb 28 01:06:05 2020 +0000
3021
3022 upstream: better error message when trying to use a FIDO key
3023
3024 function and SecurityKeyProvider is empty
3025
3026 OpenBSD-Commit-ID: e56602c2ee8c82f835d30e4dc8ee2e4a7896be24
3027
3028commit b81e66dbe0345aef4717911abcb4f589fff33a0a
3029Author: dtucker@openbsd.org <dtucker@openbsd.org>
3030Date: Thu Feb 27 02:32:37 2020 +0000
3031
3032 upstream: Drop leading space from line count that was confusing
3033
3034 ssh-keygen's screen mode.
3035
3036 OpenBSD-Commit-ID: 3bcae7a754db3fc5ad3cab63dd46774edb35b8ae
3037
3038commit d5ba1c03278eb079438bb038266d80d7477d49cb
3039Author: jsg@openbsd.org <jsg@openbsd.org>
3040Date: Wed Feb 26 13:40:09 2020 +0000
3041
3042 upstream: change explicit_bzero();free() to freezero()
3043
3044 While freezero() returns early if the pointer is NULL the tests for
3045 NULL in callers are left to avoid warnings about passing an
3046 uninitialised size argument across a function boundry.
3047
3048 ok deraadt@ djm@
3049
3050 OpenBSD-Commit-ID: 2660fa334fcc7cd05ec74dd99cb036f9ade6384a
3051
3052commit 9e3220b585c5be19a7431ea4ff8884c137b3a81c
3053Author: dtucker@openbsd.org <dtucker@openbsd.org>
3054Date: Wed Feb 26 11:46:51 2020 +0000
3055
3056 upstream: Have sftp reject "-1" in the same way as ssh(1) and
3057
3058 scp(1) do instead of accepting and silently ignoring it since protocol 1
3059 support has been removed. Spotted by shivakumar2696 at gmail.com, ok
3060 deraadt@
3061
3062 OpenBSD-Commit-ID: b79f95559a1c993214f4ec9ae3c34caa87e9d5de
3063
3064commit ade8e67bb0f07b12e5e47e7baeafbdc898de639f
3065Author: dtucker@openbsd.org <dtucker@openbsd.org>
3066Date: Wed Feb 26 01:31:47 2020 +0000
3067
3068 upstream: Remove obsolete XXX comment. ok deraadt@
3069
3070 OpenBSD-Commit-ID: bc462cc843947feea26a2e21c750b3a7469ff01b
3071
3072commit 7eb903f51eba051d7f65790bab92a28970ac1ccc
3073Author: dtucker@openbsd.org <dtucker@openbsd.org>
3074Date: Mon Feb 24 04:27:58 2020 +0000
3075
3076 upstream: Fix typo. Patch from itoama at live.jp via github PR#173.
3077
3078 OpenBSD-Commit-ID: 5cdaafab38bbdea0d07e24777d00bfe6f972568a
3079
3080commit b2491c289dd1b557a18a2aca04eeff5c157fc5ef
3081Author: Nico Kadel-Garcia <nkadel@gmail.com>
3082Date: Sat Oct 12 17:51:01 2019 -0400
3083
3084 Switch %define to %global for redhat/openssh.spec
3085
3086commit b18dcf6cca7c7aba1cc22e668e04492090ef0255
3087Author: mkontani <itoama@live.jp>
3088Date: Fri Feb 21 00:54:49 2020 +0900
3089
3090 fix some typos and sentence
3091
3092commit 0001576a096f788d40c2c0a39121cff51bf961ad
3093Author: dtucker@openbsd.org <dtucker@openbsd.org>
3094Date: Fri Feb 21 00:04:43 2020 +0000
3095
3096 upstream: Fix some typos and an incorrect word in docs. Patch from
3097
3098 itoama at live.jp via github PR#172.
3099
3100 OpenBSD-Commit-ID: 166ee8f93a7201fef431b9001725ab8b269d5874
3101
3102commit 99ff8fefe4b2763a53778d06b5f74443c8701615
3103Author: dtucker@openbsd.org <dtucker@openbsd.org>
3104Date: Thu Feb 20 05:58:08 2020 +0000
3105
3106 upstream: Update moduli generation script to new ssh-keygen
3107
3108 generation and screening command line flags.
3109
3110 OpenBSD-Commit-ID: 5010ff08f7ad92082e87dde098b20f5c24921a8f
3111
3112commit 700d16f5e534d6de5a3b7105a74a7a6f4487b681
3113Author: dtucker@openbsd.org <dtucker@openbsd.org>
3114Date: Thu Feb 20 05:41:51 2020 +0000
3115
3116 upstream: Import regenerated moduli.
3117
3118 OpenBSD-Commit-ID: 7b7b619c1452a459310b0cf4391c5757c6bdbc0f
3119
3120commit 4753b74ba0f09e4aacdaab5e184cd540352004d5
3121Author: Darren Tucker <dtucker@dtucker.net>
3122Date: Thu Feb 20 16:42:50 2020 +1100
3123
3124 Import regenerated moduli.
3125
3126commit 11d427162778c18fa42917893a75d178679a2389
3127Author: HARUYAMA Seigo <haruyama@unixuser.org>
3128Date: Fri Feb 14 16:14:23 2020 +0900
3129
3130 Fix typos in INSTALL: s/avilable/available/ s/suppports/supports/
3131
3132commit 264a966216137c9f4f8220fd9142242d784ba059
3133Author: dtucker@openbsd.org <dtucker@openbsd.org>
3134Date: Tue Feb 18 08:58:33 2020 +0000
3135
3136 upstream: Ensure that the key lifetime provided fits within the
3137
3138 values allowed by the wire format (u32). Prevents integer wraparound of the
3139 timeout values. bz#3119, ok markus@ djm@
3140
3141 OpenBSD-Commit-ID: 8afe6038b5cdfcf63360788f012a7ad81acc46a2
3142
3143commit de1f3564cd85915b3002859873a37cb8d31ac9ce
3144Author: dtucker@openbsd.org <dtucker@openbsd.org>
3145Date: Tue Feb 18 08:49:49 2020 +0000
3146
3147 upstream: Detect and prevent simple configuration loops when using
3148
3149 ProxyJump. bz#3057, ok djm@
3150
3151 OpenBSD-Commit-ID: 077d21c564c886c98309d871ed6f8ef267b9f037
3152
3153commit 30144865bfa06b12239cfabc37c45e5ddc369d97
3154Author: naddy@openbsd.org <naddy@openbsd.org>
3155Date: Sun Feb 16 21:15:43 2020 +0000
3156
3157 upstream: document -F none; with jmc@
3158
3159 OpenBSD-Commit-ID: 0eb93b75473d2267aae9200e02588e57778c84f2
3160
3161commit 011052de73f3dbc53f50927ccf677266a9ade4f6
3162Author: Darren Tucker <dtucker@dtucker.net>
3163Date: Mon Feb 17 22:55:51 2020 +1100
3164
3165 Remove unused variable warning.
3166
3167commit 31c9348c5e4e94e9913ec64b3ca6e15f68ba19e5
3168Author: Darren Tucker <dtucker@dtucker.net>
3169Date: Mon Feb 17 22:53:24 2020 +1100
3170
3171 Constify aix_krb5_get_principal_name.
3172
3173 Prevents warning about discarding type qualifiers on AIX.
3174
3175commit 290c994336a2cfe03c5496bebb6580863f94b232
3176Author: Darren Tucker <dtucker@dtucker.net>
3177Date: Mon Feb 17 22:51:36 2020 +1100
3178
3179 Check if TILDE is already defined and undef.
3180
3181 Prevents redefinition warning on AIX.
3182
3183commit 41a2e64ae480eda73ee0e809bbe743d203890938
3184Author: Darren Tucker <dtucker@dtucker.net>
3185Date: Mon Feb 17 22:51:00 2020 +1100
3186
3187 Prevent unused variable warning.
3188
3189commit d4860ec4efd25ba194337082736797fce0bda016
3190Author: Darren Tucker <dtucker@dtucker.net>
3191Date: Mon Feb 17 22:48:50 2020 +1100
3192
3193 Check if getpeereid is actually declared.
3194
3195 Check in sys/socket.h (AIX) and unistd.h (FreeBSD, DragonFLy and OS X).
3196 Prevents undeclared function warning on at least some versions of AIX.
3197
3198commit 8aa3455b16fddea4c0144a7c4a1edb10ec67dcc8
3199Author: djm@openbsd.org <djm@openbsd.org>
3200Date: Fri Feb 14 00:39:20 2020 +0000
3201
3202 upstream: openssh-8.2
3203
3204 OpenBSD-Commit-ID: 0a1340ff65fad0d84b997ac58dd1b393dec7c19b
3205
3206commit 72f0ce33f0d5a37f31bad5800d1eb2fbdb732de6
3207Author: Damien Miller <djm@mindrot.org>
3208Date: Wed Feb 12 09:28:35 2020 +1100
3209
3210 crank version numbers
3211
3212commit b763ed05bd1f1f15ae1727c86a4498546bc36ca8
3213Author: Darren Tucker <dtucker@dtucker.net>
3214Date: Tue Feb 11 12:51:24 2020 +1100
3215
3216 Minor documentation update:
3217
3218 - remove duplication of dependency information (it's all in INSTALL).
3219 - SSHFP is now an RFC.
3220
3221commit 14ccfdb7248e33b1dc8bbac1425ace4598e094cb
3222Author: Darren Tucker <dtucker@dtucker.net>
3223Date: Sun Feb 9 11:23:35 2020 +1100
3224
3225 Check if UINT32_MAX is defined before redefining.
3226
3227commit be075110c735a451fd9d79a864e01e2e0d9f19d2
3228Author: Damien Miller <djm@mindrot.org>
3229Date: Fri Feb 7 15:07:27 2020 +1100
3230
3231 typo; reported by Phil Pennock
3232
3233commit 963d71851e727ffdd2a97fe0898fad61d4a70ba1
3234Author: djm@openbsd.org <djm@openbsd.org>
3235Date: Fri Feb 7 03:57:31 2020 +0000
3236
3237 upstream: sync the description of the $SSH_SK_PROVIDER environment
3238
3239 variable with that of the SecurityKeyProvider ssh/sshd_config(5) directive,
3240 as the latter was more descriptive.
3241
3242 OpenBSD-Commit-ID: 0488f09530524a7e53afca6b6e1780598022552f
3243
3244commit d4d9e1d40514e2746f9e05335d646512ea1020c6
3245Author: dtucker@openbsd.org <dtucker@openbsd.org>
3246Date: Fri Feb 7 03:54:44 2020 +0000
3247
3248 upstream: Add ssh -Q key-sig for all key and signature types.
3249
3250 Teach ssh -Q to accept ssh_config(5) and sshd_config(5) algorithm keywords as
3251 an alias for the corresponding query. Man page help jmc@, ok djm@.
3252
3253 OpenBSD-Commit-ID: 1e110aee3db2fc4bc5bee2d893b7128fd622e0f8
3254
3255commit fd68dc27864b099b552a6d9d507ca4b83afd6a76
3256Author: djm@openbsd.org <djm@openbsd.org>
3257Date: Fri Feb 7 03:27:54 2020 +0000
3258
3259 upstream: fix two PIN entry bugs on FIDO keygen: 1) it would allow more
3260
3261 than the intended number of prompts (3) and 2) it would SEGV too many
3262 incorrect PINs were entered; based on patch by Gabriel Kihlman
3263
3264 OpenBSD-Commit-ID: 9c0011f28ba8bd8adf2014424b64960333da1718
3265
3266commit 96bd895a0a0b3a36f81c14db8c91513578fc5563
3267Author: djm@openbsd.org <djm@openbsd.org>
3268Date: Thu Feb 6 22:48:23 2020 +0000
3269
3270 upstream: When using HostkeyAlgorithms to merely append or remove
3271
3272 algorithms from the default set (i.e. HostkeyAlgorithms=+/-...), retain the
3273 default behaviour of preferring those algorithms that have existing keys in
3274 known_hosts; ok markus
3275
3276 OpenBSD-Commit-ID: 040e7fcc38ea00146b5d224ce31ce7a1795ee6ed
3277
3278commit c7288486731734a864b58d024b1395029b55bbc5
3279Author: djm@openbsd.org <djm@openbsd.org>
3280Date: Thu Feb 6 22:46:31 2020 +0000
3281
3282 upstream: expand HostkeyAlgorithms prior to config dump, matching
3283
3284 other algorithm lists; ok markus@
3285
3286 OpenBSD-Commit-ID: a66f0fca8cc5ce30405a2867bc115fff600671d0
3287
3288commit a6ac5d36efc072b15690c65039754f8e44247bdf
3289Author: naddy@openbsd.org <naddy@openbsd.org>
3290Date: Thu Feb 6 22:34:58 2020 +0000
3291
3292 upstream: Add Include to the list of permitted keywords after a
3293
3294 Match keyword. ok markus@
3295
3296 OpenBSD-Commit-ID: 342e940538b13dd41e0fa167dc9ab192b9f6e2eb
3297
3298commit a47f6a6c0e06628eed0c2a08dc31a8923bcc37ba
3299Author: naddy@openbsd.org <naddy@openbsd.org>
3300Date: Thu Feb 6 22:30:54 2020 +0000
3301
3302 upstream: Replace "security key" with "authenticator" in program
3303
3304 messages.
3305
3306 This replaces "security key" in error/usage/verbose messages and
3307 distinguishes between "authenticator" and "authenticator-hosted key".
3308
3309 ok djm@
3310
3311 OpenBSD-Commit-ID: 7c63800e9c340c59440a054cde9790a78f18592e
3312
3313commit 849a9b87144f8a5b1771de6c85e44bfeb86be9a9
3314Author: Darren Tucker <dtucker@dtucker.net>
3315Date: Thu Feb 6 11:28:14 2020 +1100
3316
3317 Don't look for UINT32_MAX in inttypes.h
3318
3319 ... unless we are actually going to use it. Fixes build on HP-UX
3320 without the potential impact to other platforms of a header change
3321 shortly before release.
3322
3323commit a2437f8ed0c3be54ddd21630a93c68ebd168286f
3324Author: Damien Miller <djm@mindrot.org>
3325Date: Thu Feb 6 12:02:22 2020 +1100
3326
3327 depend
3328
3329commit 9716e8c4956acdd7b223d1642bfa376e07e7503d
3330Author: Michael Forney <mforney@mforney.org>
3331Date: Wed Nov 27 19:17:26 2019 -0800
3332
3333 Fix sha2 MAKE_CLONE no-op definition
3334
3335 The point of the dummy declaration is so that MAKE_CLONE(...) can have
3336 a trailing semicolon without introducing an empty declaration. So,
3337 the macro replacement text should *not* have a trailing semicolon,
3338 just like DEF_WEAK.
3339
3340commit d596b1d30dc158915a3979fa409d21ff2465b6ee
3341Author: djm@openbsd.org <djm@openbsd.org>
3342Date: Tue Feb 4 09:58:04 2020 +0000
3343
3344 upstream: require FIDO application strings to start with "ssh:"; ok
3345
3346 markus@
3347
3348 OpenBSD-Commit-ID: 94e9c1c066d42b76f035a3d58250a32b14000afb
3349
3350commit 501f3582438cb2cb1cb92be0f17be490ae96fb23
3351Author: djm@openbsd.org <djm@openbsd.org>
3352Date: Mon Feb 3 23:47:57 2020 +0000
3353
3354 upstream: revert enabling UpdateHostKeys by default - there are still
3355
3356 corner cases we need to address; ok markus
3357
3358 OpenBSD-Commit-ID: ff7ad941bfdc49fb1d8baa95fd0717a61adcad57
3359
3360commit 072f3b832d2a4db8d9880effcb6c4d0dad676504
3361Author: jmc@openbsd.org <jmc@openbsd.org>
3362Date: Mon Feb 3 08:15:37 2020 +0000
3363
3364 upstream: use better markup for challenge and write-attestation, and
3365
3366 rejig the challenge text a little;
3367
3368 ok djm
3369
3370 OpenBSD-Commit-ID: 9f351e6da9edfdc907d5c3fdaf2e9ff3ab0a7a6f
3371
3372commit 262eb05a22cb1fabc3bc1746c220566490b80229
3373Author: Damien Miller <djm@mindrot.org>
3374Date: Mon Feb 3 21:22:15 2020 +1100
3375
3376 mention libfido2 in dependencies section
3377
3378commit ccd3b247d59d3bde16c3bef0ea888213fbd6da86
3379Author: Damien Miller <djm@mindrot.org>
3380Date: Mon Feb 3 19:40:12 2020 +1100
3381
3382 add clock_gettime64(2) to sandbox allowed syscalls
3383
3384 bz3093
3385
3386commit adffbe1c645ad2887ba0b6d24c194aa7a40c5735
3387Author: dtucker@openbsd.org <dtucker@openbsd.org>
3388Date: Sun Feb 2 09:45:34 2020 +0000
3389
3390 upstream: Output (none) in debug in the case in the CheckHostIP=no case
3391
3392 as suggested by markus@
3393
3394 OpenBSD-Commit-ID: 4ab9117ee5261cbbd1868717fcc3142eea6385cf
3395
3396commit 58c819096a2167983e55ae686486ce317b69b2d1
3397Author: dtucker@openbsd.org <dtucker@openbsd.org>
3398Date: Sun Feb 2 09:22:22 2020 +0000
3399
3400 upstream: Prevent possible null pointer deref of ip_str in debug.
3401
3402 OpenBSD-Commit-ID: 37b252e2e6f690efed6682437ef75734dbc8addf
3403
3404commit 0facae7bc8d3f8f9d02d0f6bed3d163ff7f39806
3405Author: jmc@openbsd.org <jmc@openbsd.org>
3406Date: Sun Feb 2 07:36:50 2020 +0000
3407
3408 upstream: shuffle the challenge keyword to keep the -O list sorted;
3409
3410 OpenBSD-Commit-ID: 08efad608b790949a9a048d65578fae9ed5845fe
3411
3412commit 6fb3dd0ccda1c26b06223b87bcd1cab9ec8ec3cc
3413Author: jmc@openbsd.org <jmc@openbsd.org>
3414Date: Sat Feb 1 06:53:12 2020 +0000
3415
3416 upstream: tweak previous;
3417
3418 OpenBSD-Commit-ID: 0c42851cdc88583402b4ab2b110a6348563626d3
3419
3420commit 92725d4d3fde675acc0ca040b48f3d0c7be73b7f
3421Author: Darren Tucker <dtucker@dtucker.net>
3422Date: Sat Feb 1 17:25:09 2020 +1100
3423
3424 Use sys-queue.h from compat library.
3425
3426 Fixes build on platforms that don't have sys/queue.h (eg MUSL).
3427
3428commit 677d0ece67634262b3b96c3cd6410b19f3a603b7
3429Author: djm@openbsd.org <djm@openbsd.org>
3430Date: Fri Jan 31 23:25:08 2020 +0000
3431
3432 upstream: regress test for sshd_config Include directive; from Jakub
3433
3434 Jelen
3435
3436 OpenBSD-Regress-ID: 0d9224de3297c7a5f51ba68d6e3725a2a9345fa4
3437
3438commit d4f4cdd681ab6408a98419f398b75a55497ed324
3439Author: djm@openbsd.org <djm@openbsd.org>
3440Date: Fri Jan 31 23:13:04 2020 +0000
3441
3442 upstream: whitespace
3443
3444 OpenBSD-Commit-ID: 564cf7a5407ecf5da2d94ec15474e07427986772
3445
3446commit 245399dfb3ecebc6abfc2ef4ee2e650fa9f6942b
3447Author: djm@openbsd.org <djm@openbsd.org>
3448Date: Fri Jan 31 23:11:25 2020 +0000
3449
3450 upstream: force early logging to stderr if debug_flag (-d) is set;
3451
3452 avoids missing messages from re-exec config passing
3453
3454 OpenBSD-Commit-ID: 02484b8241c1f49010e7a543a7098e6910a8c9ff
3455
3456commit 7365f28a66d1c443723fbe6f4a2612ea6002901e
3457Author: djm@openbsd.org <djm@openbsd.org>
3458Date: Fri Jan 31 23:08:08 2020 +0000
3459
3460 upstream: mistake in previous: filling the incorrect buffer
3461
3462 OpenBSD-Commit-ID: 862ee84bd4b97b529f64aec5d800c3dcde952e3a
3463
3464commit c2bd7f74b0e0f3a3ee9d19ac549e6ba89013abaf
3465Author: djm@openbsd.org <djm@openbsd.org>
3466Date: Fri Jan 31 22:42:45 2020 +0000
3467
3468 upstream: Add a sshd_config "Include" directive to allow inclusion
3469
3470 of files. This has sensible semantics wrt Match blocks and accepts glob(3)
3471 patterns to specify the included files. Based on patch by Jakub Jelen in
3472 bz2468; feedback and ok markus@
3473
3474 OpenBSD-Commit-ID: 36ed0e845b872e33f03355b936a4fff02d5794ff
3475
3476commit ba261a1dd33266168ead4f8f40446dcece4d1600
3477Author: jmc@openbsd.org <jmc@openbsd.org>
3478Date: Fri Jan 31 22:25:59 2020 +0000
3479
3480 upstream: spelling fix;
3481
3482 OpenBSD-Commit-ID: 3c079523c4b161725a4b15dd06348186da912402
3483
3484commit 771891a044f763be0711493eca14b6b0082e030f
3485Author: djm@openbsd.org <djm@openbsd.org>
3486Date: Thu Jan 30 22:25:34 2020 +0000
3487
3488 upstream: document changed default for UpdateHostKeys
3489
3490 OpenBSD-Commit-ID: 25c390b21d142f78ac0106241d13441c4265fd2c
3491
3492commit d53a518536c552672c00e8892e2aea28f664148c
3493Author: djm@openbsd.org <djm@openbsd.org>
3494Date: Thu Jan 30 22:19:32 2020 +0000
3495
3496 upstream: enable UpdateKnownHosts=yes if the configuration
3497
3498 specifies only the default known_hosts files, otherwise select
3499 UpdateKnownHosts=ask; ok markus@
3500
3501 OpenBSD-Commit-ID: ab401a5ec4a33d2e1a9449eae6202e4b6d427df7
3502
3503commit bb63ff844e818d188da4fed3c016e0a4eecbbf25
3504Author: Darren Tucker <dtucker@dtucker.net>
3505Date: Thu Jan 30 18:54:42 2020 +1100
3506
3507 Look in inttypes.h for UINT32_MAX.
3508
3509 Should prevent warnings on at least some AIX versions.
3510
3511commit afeb6a960da23f0a5cbc4b80cca107c7504e932a
3512Author: djm@openbsd.org <djm@openbsd.org>
3513Date: Thu Jan 30 07:21:38 2020 +0000
3514
3515 upstream: use sshpkt_fatal() instead of plain fatal() for
3516
3517 ssh_packet_write_poll() failures here too as the former yields better error
3518 messages; ok dtucker@
3519
3520 OpenBSD-Commit-ID: 1f7a6ca95bc2b716c2e948fc1370753be772d8e3
3521
3522commit 65d6fd0a8a6f31c3ddf0c1192429a176575cf701
3523Author: djm@openbsd.org <djm@openbsd.org>
3524Date: Thu Jan 30 07:20:57 2020 +0000
3525
3526 upstream: check the return value of ssh_packet_write_poll() and
3527
3528 call sshpkt_fatal() if it fails; avoid potential busy-loop under some
3529 circumstances. Based on patch by Mike Frysinger; ok dtucker@
3530
3531 OpenBSD-Commit-ID: c79fe5cf4f0cd8074cb6db257c1394d5139408ec
3532
3533commit dce74eab0c0f9010dc84c62500a17771d0131ff3
3534Author: djm@openbsd.org <djm@openbsd.org>
3535Date: Thu Jan 30 07:20:05 2020 +0000
3536
3537 upstream: have sshpkt_fatal() save/restore errno before we
3538
3539 potentially call strerror() (via ssh_err()); ok dtucker
3540
3541 OpenBSD-Commit-ID: 5590df31d21405498c848245b85c24acb84ad787
3542
3543commit 14ef4efe2bf4180e085ea6738fdbebc199458b0c
3544Author: djm@openbsd.org <djm@openbsd.org>
3545Date: Wed Jan 29 08:17:49 2020 +0000
3546
3547 upstream: markus suggests a simplification to previous
3548
3549 OpenBSD-Commit-ID: 10bbfb6607ebbb9a018dcd163f0964941adf58de
3550
3551commit 101ebc3a8cfa78d2e615afffbef9861bbbabf1ff
3552Author: djm@openbsd.org <djm@openbsd.org>
3553Date: Wed Jan 29 07:51:30 2020 +0000
3554
3555 upstream: give more context to UpdateHostKeys messages, mentioning
3556
3557 that the changes are validated by the existing trusted host key. Prompted by
3558 espie@ feedback and ok markus@
3559
3560 OpenBSD-Commit-ID: b3d95f4a45f2692f4143b9e77bb241184dbb8dc5
3561
3562commit 24c0f752adf9021277a7b0a84931bb5fe48ea379
3563Author: djm@openbsd.org <djm@openbsd.org>
3564Date: Tue Jan 28 08:01:34 2020 +0000
3565
3566 upstream: changes to support FIDO attestation
3567
3568 Allow writing to disk the attestation certificate that is generated by
3569 the FIDO token at key enrollment time. These certificates may be used
3570 by an out-of-band workflow to prove that a particular key is held in
3571 trustworthy hardware.
3572
3573 Allow passing in a challenge that will be sent to the card during
3574 key enrollment. These are needed to build an attestation workflow
3575 that resists replay attacks.
3576
3577 ok markus@
3578
3579 OpenBSD-Commit-ID: 457dc3c3d689ba39eed328f0817ed9b91a5f78f6
3580
3581commit 156bef36f93a48212383235bb8e3d71eaf2b2777
3582Author: djm@openbsd.org <djm@openbsd.org>
3583Date: Tue Jan 28 07:24:15 2020 +0000
3584
3585 upstream: disable UpdateHostKeys=ask when in quiet mode; "work for
3586
3587 me" matthieu@
3588
3589 OpenBSD-Commit-ID: 60d7b5eb91accf935ed9852650a826d86db2ddc7
3590
3591commit ec8a759b4045e54d6b38e690ffee4cbffc53c7b7
3592Author: Damien Miller <djm@mindrot.org>
3593Date: Tue Jan 28 12:57:25 2020 +1100
3594
3595 compat for missing IPTOS_DSCP_LE in system headers
3596
3597commit 4594c7627680c4f41c2ad5fe412e55b7cc79b10c
3598Author: djm@openbsd.org <djm@openbsd.org>
3599Date: Tue Jan 28 01:49:36 2020 +0000
3600
3601 upstream: make IPTOS_DSCP_LE available via IPQoS directive; bz2986,
3602
3603 based on patch by veegish AT cyberstorm.mu
3604
3605 OpenBSD-Commit-ID: 9902bf4fbb4ea51de2193ac2b1d965bc5d99c425
3606
3607commit da22216b5db3613325aa7b639f40dc017e4c6f69
3608Author: markus@openbsd.org <markus@openbsd.org>
3609Date: Mon Jan 27 20:51:32 2020 +0000
3610
3611 upstream: disable UpdateHostKeys=ask if command is specified; ok
3612
3613 djm@ sthen@
3614
3615 OpenBSD-Commit-ID: e5bcc45eadb78896637d4143d289f1e42c2ef5d7
3616
3617commit 1e1db0544fdd788e2e3fc21d972a7ccb7de6b4ae
3618Author: djm@openbsd.org <djm@openbsd.org>
3619Date: Sun Jan 26 00:09:50 2020 +0000
3620
3621 upstream: unbreak unittests for recent API / source file changes
3622
3623 OpenBSD-Regress-ID: 075a899a01bbf7781d38bf0b33d8366faaf6d3c0
3624
3625commit 0d1144769151edf65f74aee9a4c8545c37861695
3626Author: Darren Tucker <dtucker@dtucker.net>
3627Date: Sun Jan 26 15:09:15 2020 +1100
3628
3629 Move definition of UINT32_MAX.
3630
3631 This allows us to always define it if needed not just if we also
3632 define the type ourself.
3633
3634commit f73ab8a811bc874c2fb403012aa8e4bfdcaf5ec7
3635Author: djm@openbsd.org <djm@openbsd.org>
3636Date: Sun Jan 26 00:09:50 2020 +0000
3637
3638 upstream: unbreak unittests for recent API / source file changes
3639
3640 OpenBSD-Regress-ID: 075a899a01bbf7781d38bf0b33d8366faaf6d3c0
3641
3642commit 0373f9eba2b63455dceedbd3ac3d5dca306789ff
3643Author: Darren Tucker <dtucker@dtucker.net>
3644Date: Sun Jan 26 14:09:17 2020 +1100
3645
3646 Include signal.h to prevent redefintion of _NSIG.
3647
3648commit 638a45b5c1e20a8539100ca44166caad8abf26f8
3649Author: Darren Tucker <dtucker@dtucker.net>
3650Date: Sun Jan 26 13:40:51 2020 +1100
3651
3652 Wrap stdint.h in tests inside HAVE_STDINT_H.
3653
3654commit 74dfc2c859c906eaab1f88a27fd883115ffb928f
3655Author: djm@openbsd.org <djm@openbsd.org>
3656Date: Sun Jan 26 00:14:45 2020 +0000
3657
3658 upstream: for UpdateHostKeys, don't report errors for unsupported
3659
3660 key types - just ignore them. spotted by and ok dtucker@
3661
3662 OpenBSD-Commit-ID: 91769e443f6197c983932fc8ae9d39948727d473
3663
3664commit b59618246c332e251160be0f1e0e88a7d4e2b0ae
3665Author: djm@openbsd.org <djm@openbsd.org>
3666Date: Sun Jan 26 00:13:20 2020 +0000
3667
3668 upstream: downgrade error() for missing subsequent known_hosts
3669
3670 files to debug() as it was intended to be; spotted by dtucker@
3671
3672 OpenBSD-Commit-ID: 18cfea382cb52f2da761be524e309cc3d5354ef9
3673
3674commit 469df611f778eec5950d556aabfe1d4efc227915
3675Author: djm@openbsd.org <djm@openbsd.org>
3676Date: Sat Jan 25 23:33:27 2020 +0000
3677
3678 upstream: clarify that BatchMode applies to all interactive prompts
3679
3680 (e.g. host key confirmation) and not just password prompts.
3681
3682 OpenBSD-Commit-ID: 97b001883d89d3fb1620d2e6b747c14a26aa9818
3683
3684commit de40876c4a5d7c519d3d7253557572fdfc13db76
3685Author: djm@openbsd.org <djm@openbsd.org>
3686Date: Sat Jan 25 23:28:06 2020 +0000
3687
3688 upstream: tidy headers; some junk snuck into sshbuf-misc.c and
3689
3690 sshbuf-io.c doesn't need SSHBUF_INTERNAL set
3691
3692 OpenBSD-Commit-ID: 27a724d2e0b2619c1a1490f44093bbd73580d9e6
3693
3694commit 6a107606355fa9547884cad6740e6144a7a7955b
3695Author: Damien Miller <djm@mindrot.org>
3696Date: Sun Jan 26 10:28:21 2020 +1100
3697
3698 depend
3699
3700commit 59d01f1d720ebede4da42882f592d1093dac7adc
3701Author: djm@openbsd.org <djm@openbsd.org>
3702Date: Sat Jan 25 23:13:09 2020 +0000
3703
3704 upstream: improve the error message for u2f enrollment errors by
3705
3706 making ssh-keygen be solely responsible for printing the error message and
3707 convertint some more common error responses from the middleware to a useful
3708 ssherr.h status code. more detail remains visible via -v of course.
3709
3710 also remove indepedent copy of sk-api.h declarations in sk-usbhid.c
3711 and just include it.
3712
3713 feedback & ok markus@
3714
3715 OpenBSD-Commit-ID: a4a8ffa870d9a3e0cfd76544bcdeef5c9fb1f1bb
3716
3717commit 99aa8035554ddb976348d2a9253ab3653019728d
3718Author: djm@openbsd.org <djm@openbsd.org>
3719Date: Sat Jan 25 23:02:13 2020 +0000
3720
3721 upstream: factor out reading/writing sshbufs to dedicated
3722
3723 functions; feedback and ok markus@
3724
3725 OpenBSD-Commit-ID: dc09e5f1950b7acc91b8fdf8015347782d2ecd3d
3726
3727commit 065064fcf455778b0918f783033b374d4ba37a92
3728Author: djm@openbsd.org <djm@openbsd.org>
3729Date: Sat Jan 25 22:49:38 2020 +0000
3730
3731 upstream: add a comment describing the ranges of channel IDs that
3732
3733 we use; requested by markus@
3734
3735 OpenBSD-Commit-ID: 83a1f09810ffa3a96a55fbe32675b34ba739e56b
3736
3737commit 69334996ae203c51c70bf01d414c918a44618f8e
3738Author: djm@openbsd.org <djm@openbsd.org>
3739Date: Sat Jan 25 22:41:01 2020 +0000
3740
3741 upstream: make sshd_config:ClientAliveCountMax=0 disable the
3742
3743 connection killing behaviour, rather than killing the connection after
3744 sending the first liveness test probe (regardless of whether the client was
3745 responsive) bz2627; ok markus
3746
3747 OpenBSD-Commit-ID: 5af79c35f4c9fa280643b6852f524bfcd9bccdaf
3748
3749commit bf986a9e2792555e0879a3145fa18d2b49436c74
3750Author: djm@openbsd.org <djm@openbsd.org>
3751Date: Sat Jan 25 22:36:22 2020 +0000
3752
3753 upstream: clarify order of AllowUsers/DenyUsers vs
3754
3755 AllowGroups/DenyGroups; bz1690, ok markus@
3756
3757 OpenBSD-Commit-ID: 5637584ec30db9cf64822460f41b3e42c8f9facd
3758
3759commit 022ce92fa0daa9d78830baeb2bd2dc3f83c724ba
3760Author: djm@openbsd.org <djm@openbsd.org>
3761Date: Sat Jan 25 07:17:18 2020 +0000
3762
3763 upstream: when AddKeysToAgent=yes is set and the key contains no
3764
3765 comment, add the key to the agent with the key's path as the comment. bz2564
3766
3767 OpenBSD-Commit-ID: 8dd8ca9340d7017631a27f4ed5358a4cfddec16f
3768
3769commit 0b813436bbf6546638b10c1fa71f54691bcf5e63
3770Author: tedu@openbsd.org <tedu@openbsd.org>
3771Date: Sat Jan 25 07:09:14 2020 +0000
3772
3773 upstream: group14-sha1 is no longer a default algorithm
3774
3775 OpenBSD-Commit-ID: a96f04d5e9c2ff760c6799579dc44f69b4ff431d
3776
3777commit 3432b6e05d5c583c91c566c5708fed487cec79ac
3778Author: djm@openbsd.org <djm@openbsd.org>
3779Date: Sat Jan 25 07:02:51 2020 +0000
3780
3781 upstream: reword HashKnownHosts description a little more; some
3782
3783 people found the wording confusing (bz#2560)
3784
3785 OpenBSD-Commit-ID: ac30896598694f07d498828690aecd424c496988
3786
3787commit f80d7d6aa98d6eddc5df02412efee6db75673d4c
3788Author: djm@openbsd.org <djm@openbsd.org>
3789Date: Sat Jan 25 07:01:00 2020 +0000
3790
3791 upstream: weaken the language for what HashKnownHosts provides with
3792
3793 regards to known_hosts name privacy, it's not practical for this option to
3794 offer any guarantee that hostnames cannot be recovered from a disclosed
3795 known_hosts file (e.g. by brute force).
3796
3797 OpenBSD-Commit-ID: 13f1e3285f8acf7244e9770074296bcf446c6972
3798
3799commit 846446bf3e7421e6671a4afd074bdf15eecd7832
3800Author: djm@openbsd.org <djm@openbsd.org>
3801Date: Sat Jan 25 06:40:20 2020 +0000
3802
3803 upstream: the GatewayPorts vs -R listen address selection logic is
3804
3805 still confusing people, so add another comment explaining the special
3806 handling of "localhost"; bz#3258
3807
3808 OpenBSD-Commit-ID: e6bf0f0fbf1c7092bf0dbd9c6eab105970b5b53a
3809
3810commit 734f2f83f5ff86f2967a99d67be9ce22dd0394dd
3811Author: djm@openbsd.org <djm@openbsd.org>
3812Date: Sat Jan 25 06:03:10 2020 +0000
3813
3814 upstream: mention that permitopen=/PermitOpen do no name to address
3815
3816 translation; prompted by bz3099
3817
3818 OpenBSD-Commit-ID: 0dda8e54d566b29855e76bebf9cfecce573f5c23
3819
3820commit e1e97cae19ff07b7a7f7e82556bc048c3c54af63
3821Author: Damien Miller <djm@mindrot.org>
3822Date: Sat Jan 25 16:30:22 2020 +1100
3823
3824 include tunnel device path in error message
3825
3826commit 0ecd20bc9f0b9c7c697c9eb014613516c8f65834
3827Author: djm@openbsd.org <djm@openbsd.org>
3828Date: Sat Jan 25 04:48:26 2020 +0000
3829
3830 upstream: unrevert this:
3831
3832 > revision 1.217
3833 > date: 2019/11/27 03:34:04; author: dtucker; state: Exp; lines: +5 -7; commitid: wkiMn49XJyjzoJIs;
3834 > Make channel_id u_int32_t and remove unnecessary check and cast that were
3835 > left over from the type conversion. Noted by t-hashida@amiya.co.jp in
3836 > bz#3098, ok markus@ djm@
3837
3838 Darren was right the first time; ok dtucker@ "agreed" markus@
3839
3840 OpenBSD-Commit-ID: 641dd1b99a6bbd85b7160da462ae1be83432c7c8
3841
3842commit a0c81d2402eedc514b9c9f25ef9604eb0576b86a
3843Author: dtucker@openbsd.org <dtucker@openbsd.org>
3844Date: Sat Jan 25 02:57:53 2020 +0000
3845
3846 upstream: Move setting $NC into test-exec since it's now used by
3847
3848 multiple tests, and in -portable we use our own local copy to avoid
3849 portability problems.
3850
3851 OpenBSD-Regress-ID: ceb78445fcaac317bec2fc51b3f0d9589048c114
3852
3853commit e16dfa94f86358033531c4a97dcb51508ef84d49
3854Author: Darren Tucker <dtucker@dtucker.net>
3855Date: Sat Jan 25 13:05:42 2020 +1100
3856
3857 Put EC key export inside OPENSSL_HAS_ECC.
3858
3859 Fixes link error when building against an OpenSSL that does not have
3860 ECC.
3861
3862commit 94a2e5951b374e1a89761ceaff72e66eb1946807
3863Author: dtucker@openbsd.org <dtucker@openbsd.org>
3864Date: Sat Jan 25 00:27:56 2020 +0000
3865
3866 upstream: Wait a bit longer for the multiplex master to become ready
3867
3868 since on very slow hosts the current delay is not sufficient and the test
3869 will fail.
3870
3871 OpenBSD-Regress-ID: 6d90c7475d67ac3a95610b64af700629ece51a48
3872
3873commit b2df804f571d77b07059f087b90955ffbc2f67d4
3874Author: dtucker@openbsd.org <dtucker@openbsd.org>
3875Date: Fri Jan 24 10:08:17 2020 +0000
3876
3877 upstream: Add a connection test for proxycommand. This would have
3878
3879 caught the problem caused by ssh.c rev 1.507 wherein Host and Hostname were
3880 swapped. Prompted by beck@
3881
3882 OpenBSD-Regress-ID: d218500ae6aca4c479c27318fb5b09ebc00f7aae
3883
3884commit c6f06fd38a257b9fcc7d6760f8fb6d505dccb628
3885Author: djm@openbsd.org <djm@openbsd.org>
3886Date: Sat Jan 25 00:22:31 2020 +0000
3887
3888 upstream: set UpdateKnownHosts=ask by default; bz#2894; ok
3889
3890 markus@
3891
3892 OpenBSD-Commit-ID: f09cb3177f3a14c96428e14f347e976a8a531fee
3893
3894commit 7955633a554397bc24913cec9fd7285002935f7e
3895Author: djm@openbsd.org <djm@openbsd.org>
3896Date: Sat Jan 25 00:21:08 2020 +0000
3897
3898 upstream: allow UpdateKnownHosts=yes to function when multiple
3899
3900 known_hosts files are in use. When updating host keys, ssh will now search
3901 subsequent known_hosts files, but will add new/changed host keys to the first
3902 specified file only. bz#2738
3903
3904 ok markus@
3905
3906 OpenBSD-Commit-ID: 6ded6d878a03e57d5aa20bab9c31f92e929dbc6c
3907
3908commit e5a278a62ab49dffe96929fa8d8506c6928dba90
3909Author: djm@openbsd.org <djm@openbsd.org>
3910Date: Sat Jan 25 00:06:48 2020 +0000
3911
3912 upstream: process security key provider via realpath() in agent,
3913
3914 avoids malicious client from being able to cause agent to load arbitrary
3915 libraries into ssh-sk-helper.
3916
3917 reported by puck AT puckipedia.com; ok markus
3918
3919 OpenBSD-Commit-ID: 1086643df1b7eee4870825c687cf0c26a6145d1c
3920
3921commit 89a8d4525e8edd9958ed3df60cf683551142eae0
3922Author: djm@openbsd.org <djm@openbsd.org>
3923Date: Sat Jan 25 00:03:36 2020 +0000
3924
3925 upstream: expose PKCS#11 key labels/X.509 subjects as comments
3926
3927 Extract the key label or X.509 subject string when PKCS#11 keys
3928 are retrieved from the token and plumb this through to places where
3929 it may be used as a comment.
3930
3931 based on https://github.com/openssh/openssh-portable/pull/138
3932 by Danielle Church
3933
3934 feedback and ok markus@
3935
3936 OpenBSD-Commit-ID: cae1fda10d9e10971dea29520916e27cfec7ca35
3937
3938commit a8c05c640873621681ab64d2e47a314592d5efa2
3939Author: djm@openbsd.org <djm@openbsd.org>
3940Date: Fri Jan 24 23:56:01 2020 +0000
3941
3942 upstream: tweak proctitle to include sshd arguments, as these are
3943
3944 frequently used to distinguish between multiple independent instances of the
3945 server. New proctitle looks like this:
3946
3947 $ pgrep -lf sshd
3948 12844 sshd: /usr/sbin/sshd -f /etc/ssh/sshd_config [listener] 0 of 10-100 startups
3949
3950 requested by sthen@ and aja@; ok aja@
3951
3952 OpenBSD-Commit-ID: cf235a561c655a3524a82003cf7244ecb48ccc1e
3953
3954commit 8075fccbd4f70a4371acabcfb47562471ff0de6f
3955Author: djm@openbsd.org <djm@openbsd.org>
3956Date: Fri Jan 24 23:54:40 2020 +0000
3957
3958 upstream: add xextendf() to extend a string with a format
3959
3960 (reallocating as necessary). ok aja@ as part of a larger diff
3961
3962 OpenBSD-Commit-ID: 30796b50d330b3e0e201747fe40cdf9aa70a77f9
3963
3964commit d15c8adf2c6f1a6b4845131074383eb9c3d05c3d
3965Author: djm@openbsd.org <djm@openbsd.org>
3966Date: Fri Jan 24 05:33:01 2020 +0000
3967
3968 upstream: minor tweaks to ssh-keygen -Y find-principals:
3969
3970 emit matched principals one per line to stdout rather than as comma-
3971 separated and with a free-text preamble (easy confusion opportunity)
3972
3973 emit "not found" error to stderr
3974
3975 fix up argument testing for -Y operations and improve error message for
3976 unsupported operations
3977
3978 OpenBSD-Commit-ID: 3d9c9a671ab07fc04a48f543edfa85eae77da69c
3979
3980commit c3368a5d5ec368ef6bdf9971d6330ca0e3bdca06
3981Author: djm@openbsd.org <djm@openbsd.org>
3982Date: Fri Jan 24 00:28:57 2020 +0000
3983
3984 upstream: remove ssh-rsa (SHA1) from the list of allowed CA
3985
3986 signature algorithms ok markus
3987
3988 OpenBSD-Commit-ID: da3481fca8c81e6951f319a86b7be67502237f57
3989
3990commit 4a41d245d6b13bd3882c8dc058dbd2e2b39a9f67
3991Author: djm@openbsd.org <djm@openbsd.org>
3992Date: Fri Jan 24 00:27:04 2020 +0000
3993
3994 upstream: when signing a certificate with an RSA key, default to
3995
3996 a safe signature algorithm (rsa-sha-512) if not is explicitly specified by
3997 the user; ok markus@
3998
3999 OpenBSD-Commit-ID: e05f638f0be6c0266e1d3d799716b461011e83a9
4000
4001commit 8dfb6a202c96cdf037c8ce05e53e32e0e0b7b454
4002Author: djm@openbsd.org <djm@openbsd.org>
4003Date: Fri Jan 24 00:00:31 2020 +0000
4004
4005 upstream: allow PEM export of DSA and ECDSA keys; bz3091, patch
4006
4007 from Jakub Jelen ok markus@
4008
4009 OpenBSD-Commit-ID: a58edec8b9f07acab4b962a71a5125830d321b51
4010
4011commit 72a8bea2d748c8bd7f076a8b39a52082c79ae95f
4012Author: djm@openbsd.org <djm@openbsd.org>
4013Date: Thu Jan 23 23:31:52 2020 +0000
4014
4015 upstream: ssh-keygen -Y find-principals fixes based on feedback
4016
4017 from Markus:
4018
4019 use "principals" instead of principal, as allowed_signers lines may list
4020 multiple.
4021
4022 When the signing key is a certificate, emit only principals that match
4023 the certificate principal list.
4024
4025 NB. the command -Y name changes: "find-principal" => "find-principals"
4026
4027 ok markus@
4028
4029 OpenBSD-Commit-ID: ab575946ff9a55624cd4e811bfd338bf3b1d0faf
4030
4031commit 0585b5697201f5d8b32e6f1b0fee7e188268d30d
4032Author: dtucker@openbsd.org <dtucker@openbsd.org>
4033Date: Fri Jan 24 01:29:23 2020 +0000
4034
4035 upstream: Do not warn about permissions on symlinks.
4036
4037 OpenBSD-Regress-ID: 339d4cbae224bd8743ffad9c3afb0cf3cb66c357
4038
4039commit 415192348a5737a960f6d1b292a17b64d55b542c
4040Author: dtucker@openbsd.org <dtucker@openbsd.org>
4041Date: Thu Jan 23 11:19:12 2020 +0000
4042
4043 upstream: Handle zlib compression being disabled now that it's
4044
4045 optional.
4046
4047 OpenBSD-Regress-ID: 0af4fbc5168e62f89d0350de524bff1cb00e707a
4048
4049commit fbce7c1a898ae75286349822950682cf46346121
4050Author: dtucker@openbsd.org <dtucker@openbsd.org>
4051Date: Thu Jan 23 10:53:04 2020 +0000
4052
4053 upstream: Fix typo in comment.
4054
4055 OpenBSD-Commit-ID: d1d7a6553208bf439378fd1cf686a828aceb353a
4056
4057commit ba247af8e9e302910e22881ef9d307a8afeef036
4058Author: dtucker@openbsd.org <dtucker@openbsd.org>
4059Date: Thu Jan 23 10:19:59 2020 +0000
4060
4061 upstream: When checking for unsafe directories, ignore non-directories
4062
4063 (ie symlinks, where permissions are not relevant).
4064
4065 OpenBSD-Regress-ID: fb6cfc8b022becb62b2dcb99ed3f072b3326e501
4066
4067commit 74deb7029be4c00810443114aac9308875a81dae
4068Author: Darren Tucker <dtucker@dtucker.net>
4069Date: Thu Jan 23 22:17:24 2020 +1100
4070
4071 zlib is now optional.
4072
4073commit 633a2af47ee90291aaf93969aeee1e5046074c7c
4074Author: Darren Tucker <dtucker@dtucker.net>
4075Date: Thu Jan 23 22:16:51 2020 +1100
4076
4077 Plumb WITH_ZLIB into configure.
4078
4079 This allows zlib support to be disabled by ./configure --without-zlib.
4080
4081commit 7f8e66fea8c4e2a910df9067cb7638999b7764d5
4082Author: dtucker@openbsd.org <dtucker@openbsd.org>
4083Date: Thu Jan 23 10:24:29 2020 +0000
4084
4085 upstream: Make zlib optional. This adds a "ZLIB" build time option
4086
4087 that allows building without zlib compression and associated options. With
4088 feedback from markus@, ok djm@
4089
4090 OpenBSD-Commit-ID: 44c6e1133a90fd15a3aa865bdedc53bab28b7910
4091
4092commit 69ac4e33023b379e9a8e9b4b6aeeffa6d1fcf6fa
4093Author: djm@openbsd.org <djm@openbsd.org>
4094Date: Thu Jan 23 07:54:04 2020 +0000
4095
4096 upstream: remove trailing period characters from pub/priv key
4097
4098 pathnames - they make them needlessly more difficult to cut and paste without
4099 error; ok markus@ & dtucker@
4100
4101 OpenBSD-Commit-ID: abdcfd1a5723fcac0711feee7665edc66ae2335a
4102
4103commit 945bf52c3c815d95b1e842ebf6c910c3524bd5bb
4104Author: Darren Tucker <dtucker@dtucker.net>
4105Date: Thu Jan 23 21:06:45 2020 +1100
4106
4107 Fix a couple of mysig_t leftovers.
4108
4109commit 84226b447d45fe4542613de68c2ca59a890d7c01
4110Author: Darren Tucker <dtucker@dtucker.net>
4111Date: Thu Jan 23 18:55:24 2020 +1100
4112
4113 Remove mysignal wrapper.
4114
4115 We switched the main code to use sigaction(), so the wrapper is no
4116 longer used.
4117
4118commit 5533c2fb7ef21172fa3708d66b03faa2c6b3d93f
4119Author: jmc@openbsd.org <jmc@openbsd.org>
4120Date: Thu Jan 23 07:16:38 2020 +0000
4121
4122 upstream: new sentence, new line;
4123
4124 OpenBSD-Commit-ID: b6c3f2f36ec77e99198619b38a9f146655281925
4125
4126commit 3bf2a6ac791d64046a537335a0f1d5e43579c5ad
4127Author: dtucker@openbsd.org <dtucker@openbsd.org>
4128Date: Thu Jan 23 07:10:22 2020 +0000
4129
4130 upstream: Replace all calls to signal(2) with a wrapper around
4131
4132 sigaction(2). This wrapper blocks all other signals during the handler
4133 preventing races between handlers, and sets SA_RESTART which should reduce
4134 the potential for short read/write operations.
4135
4136 OpenBSD-Commit-ID: 5e047663fd77a40d7b07bdabe68529df51fd2519
4137
4138commit e027c044c796f3a01081a91bee55741204283f28
4139Author: djm@openbsd.org <djm@openbsd.org>
4140Date: Thu Jan 23 04:54:34 2020 +0000
4141
4142 upstream: missing header change from previous; spotted by dtucker@
4143
4144 OpenBSD-Commit-ID: 321ce74c0a5bbd0f02fa3f20cb5cf2a952c6b96f
4145
4146commit 7e1323102b1b04eef391b01e180710a2d408a7ab
4147Author: dtucker@openbsd.org <dtucker@openbsd.org>
4148Date: Thu Jan 23 03:42:41 2020 +0000
4149
4150 upstream: Check for and warn about StrictModes permission problems. ok tb@
4151
4152 OpenBSD-Regress-ID: 4841704ccdee50ee7efc6035bc686695c6ac2991
4153
4154commit 84de1c27f845d15c859db44e7070a46f45504b66
4155Author: dtucker@openbsd.org <dtucker@openbsd.org>
4156Date: Thu Jan 23 03:35:07 2020 +0000
4157
4158 upstream: Also test PuTTY chacha20.
4159
4160 OpenBSD-Regress-ID: 7af6a0e8763b05f1f8eee6bca5f31fcb16151040
4161
4162commit c7ed15a39695ecd5f1f21842d8d9cd22246d4ee2
4163Author: dtucker@openbsd.org <dtucker@openbsd.org>
4164Date: Thu Jan 23 03:24:38 2020 +0000
4165
4166 upstream: Also test PuTTY ecdh kex methods.
4167
4168 OpenBSD-Regress-ID: ec4017dce612131842398a03e93007a869c2c133
4169
4170commit c4b3a128954ee1b7fbcbda167baf8aca1a3d1c84
4171Author: dtucker@openbsd.org <dtucker@openbsd.org>
4172Date: Thu Jan 23 02:46:49 2020 +0000
4173
4174 upstream: Remove unsupported algorithms from list of defaults at run
4175
4176 time and remove ifdef and distinct settings for OPENSSL=no case.
4177
4178 This will make things much simpler for -portable where the exact set
4179 of algos depends on the configuration of both OpenSSH and the libcrypto
4180 it's linked against (if any). ok djm@
4181
4182 OpenBSD-Commit-ID: e0116d0183dcafc7a9c40ba5fe9127805c5dfdd2
4183
4184commit 56cffcc09f8a2e661d2ba02e61364ae6f998b2b1
4185Author: djm@openbsd.org <djm@openbsd.org>
4186Date: Thu Jan 23 02:43:48 2020 +0000
4187
4188 upstream: add a new signature operations "find-principal" to look
4189
4190 up the principal associated with a signature from an allowed-signers file.
4191 Work by Sebastian Kinne; ok dtucker@
4192
4193 OpenBSD-Commit-ID: 6f782cc7e18e38fcfafa62af53246a1dcfe74e5d
4194
4195commit 65cf8730de6876a56595eef296e07a86c52534a6
4196Author: dtucker@openbsd.org <dtucker@openbsd.org>
4197Date: Wed Jan 22 07:38:30 2020 +0000
4198
4199 upstream: Ignore whitespace when checking explict fingerprint.
4200
4201 When confirming a host key using the fingerprint itself, ignore leading and
4202 trailing whitespace. ok deraadt@ djm@
4203
4204 OpenBSD-Commit-ID: cafd7f803bbdcd40c3a8f8f1a77747e6b6d8c011
4205
4206commit 8d3af6ebdf524b34087a0a3ae415b5141ba10572
4207Author: dtucker@openbsd.org <dtucker@openbsd.org>
4208Date: Wed Jan 22 07:31:27 2020 +0000
4209
4210 upstream: Increase keyscan timeout from default. On slow hosts 3
4211
4212 concurrent keyscans can hit the default 5 second timeout, so increase to 15
4213 seconds.
4214
4215 OpenBSD-Regress-ID: 16383dec166af369b7fb9948572856f5d544c93f
4216
4217commit 6c30c9adbeeed09a8a9e7a69974cfa1f1ddd1e9e
4218Author: tedu@openbsd.org <tedu@openbsd.org>
4219Date: Wed Jan 22 04:58:23 2020 +0000
4220
4221 upstream: remove diffie-hellman-group14-sha1 from default kex to
4222
4223 see what happens. general mostly ok
4224
4225 OpenBSD-Commit-ID: 216b7b8462d2ef5f4531f26cb2cb839b2153dad9
4226
4227commit 4a32c0ca44a2dc2a358f69b5d43c08e528b44b39
4228Author: claudio@openbsd.org <claudio@openbsd.org>
4229Date: Wed Jan 22 04:51:51 2020 +0000
4230
4231 upstream: For ssh-keygen -lF only add a space after key fingerprint
4232
4233 when there is a comment. This makes copy-paste of fingerprints into ssh
4234 easier. OK djm@
4235
4236 OpenBSD-Commit-ID: fa01d95624f65c1eb4dc7c575d20d77c78010dfd
4237
4238commit 37d3b736506760e4ebc7fe56255f7b8ea823a00c
4239Author: djm@openbsd.org <djm@openbsd.org>
4240Date: Wed Jan 22 04:49:16 2020 +0000
4241
4242 upstream: some __func__ and strerror(errno) here; no functional
4243
4244 change
4245
4246 OpenBSD-Commit-ID: 6c3ddd5f848b99ea560b31d3fba99ceed66cef37
4247
4248commit e2031b05c74c98b141179ceab13a323cf17d01e5
4249Author: djm@openbsd.org <djm@openbsd.org>
4250Date: Wed Jan 22 02:25:21 2020 +0000
4251
4252 upstream: factor out parsing of allowed-signers lines
4253
4254 OpenBSD-Commit-ID: 85ee6aeff608371826019ea85e55bfa87f79d06e
4255
4256commit 47160e1de8c2f638f0ef41cef42c976417b61778
4257Author: Damien Miller <djm@mindrot.org>
4258Date: Wed Jan 22 10:30:13 2020 +1100
4259
4260 unbreak fuzzer support for recent ssh-sk.h changes
4261
4262commit 70d38c3cfd4550e8ee66cc3bf1b91aa339c91df5
4263Author: djm@openbsd.org <djm@openbsd.org>
4264Date: Tue Jan 21 22:39:57 2020 +0000
4265
4266 upstream: expose the number of currently-authenticating connections
4267
4268 along with the MaxStartups limit in the proctitle; suggestion from Philipp
4269 Marek, w/ feedback from Craig Miskell ok dtucker@
4270
4271 OpenBSD-Commit-ID: a4a6db2dc1641a5df8eddf7d6652176e359dffb3
4272
4273commit a78c66d5d2144bd49779bc80a647346bd3d7233d
4274Author: naddy@openbsd.org <naddy@openbsd.org>
4275Date: Tue Jan 21 12:40:04 2020 +0000
4276
4277 upstream: document the default value of the ControlPersist option;
4278
4279 ok dtucker@ djm@
4280
4281 OpenBSD-Commit-ID: 0788e7f2b5a9d4e36d3d2ab378f73329320fef66
4282
4283commit b46a6325849e40aa2e4b0d962a6f00f708f6576a
4284Author: Damien Miller <djm@mindrot.org>
4285Date: Wed Jan 22 09:28:32 2020 +1100
4286
4287 remove accidental change in f8c11461
4288
4289commit 80d3bebcab96fe1d177e45906e10db16895da01d
4290Author: djm@openbsd.org <djm@openbsd.org>
4291Date: Tue Jan 21 11:06:09 2020 +0000
4292
4293 upstream: don't #ifdef out the KRL code when compiling without
4294
4295 libcrypto support; it works just fine and disabling it breaks a few tests. ok
4296 dtucker@
4297
4298 OpenBSD-Commit-ID: 65f6272c4241eb4b04de78b012fe98b2b555ad44
4299
4300commit f8c11461aa6db168fc5e7eeae448b4cbbf59642a
4301Author: djm@openbsd.org <djm@openbsd.org>
4302Date: Tue Jan 21 08:06:27 2020 +0000
4303
4304 upstream: pass SSH_SK_HELPER explicitly past $SUDO to avoid it getting
4305
4306 cleared; with dtucker@
4307
4308 OpenBSD-Regress-ID: 03178a0580324bf0dff28f7eac6c3edbc5407f8e
4309
4310commit b5fcb0ac1cc0ef01aeec1c089146298654ab3ae0
4311Author: djm@openbsd.org <djm@openbsd.org>
4312Date: Tue Jan 21 07:07:31 2020 +0000
4313
4314 upstream: check access(ssh-sk-helper, X_OK) to provide friendly
4315
4316 error message for misconfigured helper paths
4317
4318 OpenBSD-Commit-ID: 061bcc262155d12e726305c91394ac0aaf1f8341
4319
4320commit 56bced43c14dc6fa2bfa1816007e441644105609
4321Author: dtucker@openbsd.org <dtucker@openbsd.org>
4322Date: Tue Jan 21 06:09:56 2020 +0000
4323
4324 upstream: Document sntrup4591761x25519-sha512@tinyssh.org. Patch
4325
4326 from jtesta@positronsecurity.com via github PR#151.
4327
4328 OpenBSD-Commit-ID: f3d48168623045c258245c340a5a2af7dbb74edc
4329
4330commit 4a05d789b86314fef7303824f69defbc6b96ed60
4331Author: djm@openbsd.org <djm@openbsd.org>
4332Date: Tue Jan 21 05:56:56 2020 +0000
4333
4334 upstream: fix ssh-keygen not displaying authenticator touch
4335
4336 prompt; reported by jmc@
4337
4338 OpenBSD-Commit-ID: 04d4f582fc194eb3897ebcbfe286c49958ba2859
4339
4340commit 881aded0389d999375f926051491a944c6d8752b
4341Author: djm@openbsd.org <djm@openbsd.org>
4342Date: Tue Jan 21 05:56:27 2020 +0000
4343
4344 upstream: a little more verbosity in sign_and_send_pubkey() debug
4345
4346 messages
4347
4348 OpenBSD-Commit-ID: 6da47a0e6373f6683006f49bc2a516d197655508
4349
4350commit b715fdc71bbd009d0caff691ab3fc04903c4aee8
4351Author: naddy@openbsd.org <naddy@openbsd.org>
4352Date: Sat Jan 18 21:16:43 2020 +0000
4353
4354 upstream: one more replacement "(security) key" -> "(FIDO)
4355
4356 authenticator"
4357
4358 OpenBSD-Commit-ID: 031bca03c1d1f878ab929facd561911f1bc68dfd
4359
4360commit 84911da1beeb6ed258a43468efb316cd39fb6855
4361Author: naddy@openbsd.org <naddy@openbsd.org>
4362Date: Sat Jan 18 15:45:41 2020 +0000
4363
4364 upstream: undo merge error and replace the term "security key"
4365
4366 again
4367
4368 OpenBSD-Commit-ID: 341749062c089cc360a7877e9ee3a887aecde395
4369
4370commit e8c06c4ee708720efec12cd1a6f78a3c6d76b7f0
4371Author: naddy@openbsd.org <naddy@openbsd.org>
4372Date: Fri Jan 17 20:13:47 2020 +0000
4373
4374 upstream: Document loading of resident keys from a FIDO
4375
4376 authenticator.
4377
4378 * Rename -O to -K to keep "-O option" available.
4379 * Document -K.
4380 * Trim usage() message down to synopsis, like all other commands.
4381
4382 ok markus@
4383
4384 OpenBSD-Commit-ID: 015c2c4b28f8e19107adc80351b44b23bca4c78a
4385
4386commit 0d005d6372a067b59123dec8fc6dc905f2c09e1e
4387Author: naddy@openbsd.org <naddy@openbsd.org>
4388Date: Tue Jan 14 15:07:30 2020 +0000
4389
4390 upstream: sync ssh-keygen.1 and ssh-keygen's usage() with each
4391
4392 other and reality ok markus@
4393
4394 OpenBSD-Commit-ID: cdf64454f2c3604c25977c944e5b6262a3bcce92
4395
4396commit b8a4ca2ebfddab862f7eb1ea2a07fb9f70330429
4397Author: naddy@openbsd.org <naddy@openbsd.org>
4398Date: Sat Jan 11 16:23:10 2020 +0000
4399
4400 upstream: revise the fix for reversed arguments on
4401
4402 expand_proxy_command()
4403
4404 Always put 'host' before 'host_arg' for consistency. ok markus@ djm@
4405
4406 OpenBSD-Commit-ID: 1ba5b25472779f1b1957295fcc6907bb961472a3
4407
4408commit 57b181eaf2d34fd0a1b51ab30cb6983df784de5a
4409Author: djm@openbsd.org <djm@openbsd.org>
4410Date: Fri Jan 10 23:43:26 2020 +0000
4411
4412 upstream: pass the log-on-stderr flag and log level through to
4413
4414 ssh-sk-helper, making debugging a bit easier. ok markus@
4415
4416 OpenBSD-Commit-ID: 2e7aea6bf5770d3f38b7c7bba891069256c5a49a
4417
4418commit a8bd5fdbdb7581afc7123a042a7cd6ca25357388
4419Author: Damien Miller <djm@mindrot.org>
4420Date: Tue Jan 21 12:32:16 2020 +1100
4421
4422 Wrap copy_environment_blacklist() in #ifdef
4423
4424 It's only needed for USE_PAM or HAVE_CYGWIN cases and will cause compiler
4425 warnings otherwise.
4426
4427commit 10ecc647fc1db8d2dde9f6b9b826b201dfc48b62
4428Author: Damien Miller <djm@mindrot.org>
4429Date: Tue Jan 21 12:20:05 2020 +1100
4430
4431 depend
4432
4433commit b3f7009c9ffa5891283ed96e043001e09934a8d4
4434Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
4435Date: Mon Jan 20 11:56:48 2020 +0100
4436
4437 Fix missing prototype warning for copy_environment
4438
4439 This function is only used in this file, and only on Cygwin, so make
4440 it static and hide it behind HAVE_CYGWIN. Prevents missing prototype
4441 warning.
4442
4443commit 0c428c0e991e2c4fabc48cf5d9b8f84c9412e0c3
4444Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
4445Date: Mon Jan 20 13:58:11 2020 +0100
4446
4447 configure.ac: fix ldns test
4448
4449 When running ./configure --with-ldns, if ldns-config cannot be found, we
4450 add -Iyes/include to CPPFLAGS and -Lyes/lib to LDFLAGS. Fix that.
4451
4452commit 6089abf715e2784751c9f62697e09bb103295b93
4453Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
4454Date: Mon Jan 20 12:13:26 2020 +0100
4455
4456 Make sshpam_password_change_required static.
4457
4458 sshpam_password_change_required is only used in auth-pam.c, so make it
4459 static to prevent a mising prototype warning.
4460
4461commit 5a9b9c82851b7bc219dc3a65962a80803c76c102
4462Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
4463Date: Mon Jan 20 12:24:51 2020 +0100
4464
4465 sandbox-darwin.c: fix missing prototypes.
4466
4467 Include the right header just like the other sandbox files.
4468 Fixes missing prototype warnings for ssh_sandbox_* functions.
4469
4470commit 335dc93526942a650f6c69666b3f6ca44d0a2910
4471Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
4472Date: Mon Jan 20 11:09:27 2020 +0100
4473
4474 Fix a few warnings when on Mac OS X.
4475
4476 Include stdlib.h for calloc, malloc, free and setenv.
4477
4478commit 0488dc2d3050ea1a99ef5cf44afc50ffbf3f1315
4479Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
4480Date: Mon Jan 20 10:32:23 2020 +0100
4481
4482 Fix building without openssl.
4483
4484 This fixes the following when there are no openssl headers on the system:
4485 ssh-ecdsa-sk.c:34:10: fatal error: 'openssl/bn.h' file not found
4486
4487commit e6b7157b4ef29c83ec3a2d1d7c927e4b8898f9bb
4488Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
4489Date: Wed Jan 15 16:08:55 2020 +0100
4490
4491 Add config.log to .gitignore
4492
4493commit 515e10ddf9644010b88cfd7ecf601f4306d42232
4494Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
4495Date: Wed Jan 15 16:16:31 2020 +0100
4496
4497 Fix typo in README.md, s/crytpo/crypto/
4498
4499commit 1af3354aea3c4bfa5b5ecfb5d1ff3ad231c2073c
4500Author: Darren Tucker <dtucker@dtucker.net>
4501Date: Wed Jan 15 16:22:36 2020 +1100
4502
4503 Wrap stdint.h in ifdef HAVE_STDINT_H.
4504
4505commit 429170f273ce1b0140f8111a45ba69390d98de3a
4506Author: Darren Tucker <dtucker@dtucker.net>
4507Date: Tue Jan 14 14:41:47 2020 +1100
4508
4509 Wrap stdint.h inside HAVE_STDINT_H.
4510
4511commit a0989b60211b6f1c2313e1397c526d883a23a075
4512Author: Darren Tucker <dtucker@dtucker.net>
4513Date: Tue Jan 14 14:26:41 2020 +1100
4514
4515 Include compat header for definitions.
4516
4517commit e0cedcad51fe02683943bf4f1ad2961aa3f35313
4518Author: Darren Tucker <dtucker@dtucker.net>
4519Date: Tue Jan 14 09:42:52 2020 +1100
4520
4521 Improve search for 'struct timespec'.
4522
4523 Make struct timespec test consistent with existing timeval test.
4524 Include time.h for timespec in compat header where required.
4525
4526commit acaf9e058594310001ce64468ed2923dc6323e81
4527Author: Darren Tucker <dtucker@dtucker.net>
4528Date: Tue Jan 14 12:43:03 2020 +1100
4529
4530 Update depend to remove rmd160.h.
4531
4532commit 26b2675b0c3e3efea11a52609073aec01736ec84
4533Author: Darren Tucker <dtucker@dtucker.net>
4534Date: Tue Jan 14 07:24:46 2020 +1100
4535
4536 Remove configure test & compat code for ripemd160.
4537
4538 RIPEMD160 support was removed upstream in 2017, however we still had
4539 a configure test and compat code for it, so clean those up now.
4540
4541commit ed3ad71b17adcd1fb4431d145f53cee1c6a1135e
4542Author: djm@openbsd.org <djm@openbsd.org>
4543Date: Thu Jan 9 03:28:38 2020 +0000
4544
4545 upstream: fix reversed arguments on expand_proxy_command(); spotted
4546
4547 by anton@
4548
4549 OpenBSD-Commit-ID: db1c32478a01dfbc9c4db171de0f25907bea5775
4550
4551commit cd53476383f0cf475f40ba8ac8deb6b76dd5ce4e
4552Author: jmc@openbsd.org <jmc@openbsd.org>
4553Date: Mon Jan 6 07:43:28 2020 +0000
4554
4555 upstream: put the fido options in a list, and tidy up the text a
4556
4557 little; ok djm
4558
4559 OpenBSD-Commit-ID: 491ce15ae52a88b7a6a2b3b6708a14b4aacdeebb
4560
4561commit 30f704ebc0e9e32b3d12f5d9e8c1b705fdde2c89
4562Author: Jeremy Drake <github@jdrake.com>
4563Date: Fri Oct 11 18:31:05 2019 -0700
4564
4565 Deny (non-fatal) ipc in preauth privsep child.
4566
4567 As noted in openssh/openssh-portable#149, i386 does not have have
4568 _NR_shmget etc. Instead, it has a single ipc syscall (see man 2 ipc,
4569 https://linux.die.net/man/2/ipc). Add this syscall, if present, to the
4570 list of syscalls that seccomp will deny non-fatally.
4571
4572commit b110cefdfbf5a20f49b774a55062d6ded2fb6e22
4573Author: Khem Raj <raj.khem@gmail.com>
4574Date: Tue Jan 7 16:26:45 2020 -0800
4575
4576 seccomp: Allow clock_gettime64() in sandbox.
4577
4578 This helps sshd accept connections on mips platforms with
4579 upcoming glibc ( 2.31 )
4580
4581commit 3cc60c899a92a469e5118310ba6b74cb57215618
4582Author: djm@openbsd.org <djm@openbsd.org>
4583Date: Mon Jan 6 02:39:30 2020 +0000
4584
4585 upstream: missing else in check_enroll_options()
4586
4587 OpenBSD-Commit-ID: e058fb918fda56ddbbf0bee910101004cec421d4
4588
4589commit ff5784e2698d6c41e9f39ce4df24968c1beeb2bb
4590Author: djm@openbsd.org <djm@openbsd.org>
4591Date: Mon Jan 6 02:24:28 2020 +0000
4592
4593 upstream: fix error message
4594
4595 OpenBSD-Commit-ID: 1eb52025658eb78ea6223181e552862198d3d505
4596
4597commit dd2acc8b862c09751621995fba2d5fa6f4e24cc9
4598Author: djm@openbsd.org <djm@openbsd.org>
4599Date: Mon Jan 6 02:07:50 2020 +0000
4600
4601 upstream: adapt sk-dummy to SK API changes
4602
4603 also, make it pull prototypes directly from sk-api.c and #error
4604 if the expected version changes. This will make any future regress
4605 test breakage because of SK API changes much more apparent
4606
4607 OpenBSD-Regress-ID: 79b07055de4feb988e31da71a89051ad5969829d
4608
4609commit c312ca077cd2a6c15545cd6b4d34ee2f69289174
4610Author: djm@openbsd.org <djm@openbsd.org>
4611Date: Mon Jan 6 02:00:46 2020 +0000
4612
4613 upstream: Extends the SK API to accept a set of key/value options
4614
4615 for all operations. These are intended to future-proof the API a little by
4616 making it easier to specify additional fields for without having to change
4617 the API version for each.
4618
4619 At present, only two options are defined: one to explicitly specify
4620 the device for an operation (rather than accepting the middleware's
4621 autoselection) and another to specify the FIDO2 username that may
4622 be used when generating a resident key. These new options may be
4623 invoked at key generation time via ssh-keygen -O
4624
4625 This also implements a suggestion from Markus to avoid "int" in favour
4626 of uint32_t for the algorithm argument in the API, to make implementation
4627 of ssh-sk-client/helper a little easier.
4628
4629 feedback, fixes and ok markus@
4630
4631 OpenBSD-Commit-ID: 973ce11704609022ab36abbdeb6bc23c8001eabc
4632
4633commit 2ab335712d084d9ccaf3f53afc3fa9535329da87
4634Author: beck@openbsd.org <beck@openbsd.org>
4635Date: Sun Jan 5 16:28:22 2020 +0000
4636
4637 upstream: fix CanonicalizeHostname, broken by rev 1.507
4638
4639 Issue noticed and reported by Pierre-Olivier Martel <pom@apple.com>
4640 ok dtucker@ markus@ djm@
4641
4642 OpenBSD-Commit-ID: 749f3168ec520609c35b0c4e1984e5fa47f16094
4643
4644commit 69e44ba701b90b0f530d64c3fe4363ea86e50cd3
4645Author: Darren Tucker <dtucker@dtucker.net>
4646Date: Mon Jan 6 09:02:53 2020 +1100
4647
4648 Fix typo: 'you' -> 'your'.
4649
4650 bz#3108 from jmckitrick@gmail.com.
4651
4652commit 7652a57662969bd5c61448b3843ec6d407ad12be
4653Author: Darren Tucker <dtucker@dtucker.net>
4654Date: Mon Jan 6 08:56:46 2020 +1100
4655
4656 Remove auth-skey.c.
4657
4658 S/Key support was removed in OpenSSH 7.8 but this file was missed.
4659
4660commit c593cc5e826c9f4ec506e22b629d37cabfaacff9
4661Author: jmc@openbsd.org <jmc@openbsd.org>
4662Date: Fri Jan 3 07:33:33 2020 +0000
4663
4664 upstream: the download resident keys option is -K (upper) not -k
4665
4666 (lower); ok djm
4667
4668 OpenBSD-Commit-ID: 71dc28a3e1fa7c553844abc508845bcf5766e091
4669
4670commit ff31f15773ee173502eec4d7861ec56f26bba381
4671Author: djm@openbsd.org <djm@openbsd.org>
4672Date: Fri Jan 3 03:02:26 2020 +0000
4673
4674 upstream: what bozo decided to use 2020 as a future date in a regress
4675
4676 test?
4677
4678 OpenBSD-Regress-ID: 3b953df5a7e14081ff6cf495d4e8d40e153cbc3a
4679
4680commit 680eb7749a39d0e4d046e66cac4e51e8e3640b75
4681Author: djm@openbsd.org <djm@openbsd.org>
4682Date: Fri Jan 3 02:46:19 2020 +0000
4683
4684 upstream: implement recent SK API change to support resident keys
4685
4686 and PIN prompting in the dummy middleware that we use for the tests. Should
4687 fix breakage spotted by dtucker@
4688
4689 OpenBSD-Regress-ID: 379cf9eabfea57aaf7f3f59dafde59889566c484
4690
4691commit 86834fe6b54ac57b8528c30cf0b27e5cac5b7af7
4692Author: dtucker@openbsd.org <dtucker@openbsd.org>
4693Date: Thu Jan 2 13:25:38 2020 +0000
4694
4695 upstream: Update keygen moduli screen test to match recent command
4696
4697 line option change to ssh-keygen(1).
4698
4699 OpenBSD-Regress-ID: 744a72755004377e9669b662c13c6aa9ead8a0c3
4700
4701commit 9039971887cccd95b209c479296f772a3a93e8e7
4702Author: djm@openbsd.org <djm@openbsd.org>
4703Date: Thu Jan 2 22:40:09 2020 +0000
4704
4705 upstream: ability to download FIDO2 resident keys from a token via
4706
4707 "ssh-keygen -K". This will save public/private keys into the current
4708 directory.
4709
4710 This is handy if you move a token between hosts.
4711
4712 feedback & ok markus@
4713
4714 OpenBSD-Commit-ID: d57c1f9802f7850f00a117a1d36682a6c6d10da6
4715
4716commit 878ba4350d57e905d6bb1865d8ff31bdfe5deab4
4717Author: djm@openbsd.org <djm@openbsd.org>
4718Date: Thu Jan 2 22:38:33 2020 +0000
4719
4720 upstream: add sshkey_save_public(), to save a public key; ok
4721
4722 markus@
4723
4724 OpenBSD-Commit-ID: 5d6f96a966d10d7fa689ff9aa9e1d6767ad5a076
4725
4726commit 3b1382ffd5e71eff78db8cef0f3cada22ff29409
4727Author: jmc@openbsd.org <jmc@openbsd.org>
4728Date: Mon Dec 30 16:10:00 2019 +0000
4729
4730 upstream: simplify the list for moduli options - no need for
4731
4732 -compact;
4733
4734 OpenBSD-Commit-ID: 6492c72280482c6d072be46236b365cb359fc280
4735
4736commit 0248ec7c763dee9ff730a589e3d166eac5c74d7c
4737Author: Damien Miller <djm@mindrot.org>
4738Date: Thu Jan 2 13:41:31 2020 +1100
4739
4740 ssh-sk-null.cc needs extern "C" {}
4741
4742commit 5ca4b414effe4b56f0cfe3058c92391aa8a43871
4743Author: Damien Miller <djm@mindrot.org>
4744Date: Thu Jan 2 10:56:29 2020 +1100
4745
4746 add dummy ssh-sk API for linking with fuzzers
4747
4748commit c4b2664be7ba25e4c233315b25212dec29b727ab
4749Author: Damien Miller <djm@mindrot.org>
4750Date: Mon Dec 30 21:04:09 2019 +1100
4751
4752 refresh depend
4753
4754commit 3093d12ff80927cf45da08d9f262a26680fb14ee
4755Author: djm@openbsd.org <djm@openbsd.org>
4756Date: Mon Dec 30 09:49:52 2019 +0000
4757
4758 upstream: Remove the -x option currently used for
4759
4760 FIDO/U2F-specific key flags. Instead these flags may be specified via -O.
4761
4762 ok markus@
4763
4764 OpenBSD-Commit-ID: f23ebde2a8a7e1bf860a51055a711cffb8c328c1
4765
4766commit ef65e7dbaa8fac3245aa2bfc9f7e09be7cba0d9d
4767Author: djm@openbsd.org <djm@openbsd.org>
4768Date: Mon Dec 30 09:25:29 2019 +0000
4769
4770 upstream: document SK API changes in PROTOCOL.u2f
4771
4772 ok markus@
4773
4774 OpenBSD-Commit-ID: 52622363c103a3c4d3d546050480ffe978a32186
4775
4776commit 43ce96427b76c4918e39af654e2fc9ee18d5d478
4777Author: djm@openbsd.org <djm@openbsd.org>
4778Date: Mon Dec 30 09:24:45 2019 +0000
4779
4780 upstream: translate and return error codes; retry on bad PIN
4781
4782 Define some well-known error codes in the SK API and pass
4783 them back via ssh-sk-helper.
4784
4785 Use the new "wrong PIN" error code to retry PIN prompting during
4786 ssh-keygen of resident keys.
4787
4788 feedback and ok markus@
4789
4790 OpenBSD-Commit-ID: 9663c6a2bb7a0bc8deaccc6c30d9a2983b481620
4791
4792commit d433596736a2cd4818f538be11fc94783f5c5236
4793Author: djm@openbsd.org <djm@openbsd.org>
4794Date: Mon Dec 30 09:24:03 2019 +0000
4795
4796 upstream: improve some error messages; ok markus@
4797
4798 OpenBSD-Commit-ID: 4ccd8ddabb8df4f995107dd3b7ea58220e93cb81
4799
4800commit c54cd1892c3e7f268b21e1f07ada9f0d9816ffc0
4801Author: djm@openbsd.org <djm@openbsd.org>
4802Date: Mon Dec 30 09:23:28 2019 +0000
4803
4804 upstream: SK API and sk-helper error/PIN passing
4805
4806 Allow passing a PIN via the SK API (API major crank) and let the
4807 ssh-sk-helper API follow.
4808
4809 Also enhance the ssh-sk-helper API to support passing back an error
4810 code instead of a complete reply. Will be used to signal "wrong PIN",
4811 etc.
4812
4813 feedback and ok markus@
4814
4815 OpenBSD-Commit-ID: a1bd6b0a2421646919a0c139b8183ad76d28fb71
4816
4817commit 79fe22d9bc2868c5118f032ec1200ac9c2e3aaef
4818Author: djm@openbsd.org <djm@openbsd.org>
4819Date: Mon Dec 30 09:22:49 2019 +0000
4820
4821 upstream: implement loading resident keys in ssh-add
4822
4823 "ssh-add -O" will load resident keys from a FIDO2 token and add them
4824 to a ssh-agent.
4825
4826 feedback and ok markus@
4827
4828 OpenBSD-Commit-ID: 608104ae957a7d65cb84e0a3a26c8f60e0df3290
4829
4830commit 27753a8e21887d47fe6b5c78a4aed0efe558a850
4831Author: djm@openbsd.org <djm@openbsd.org>
4832Date: Mon Dec 30 09:21:59 2019 +0000
4833
4834 upstream: implement loading of resident keys in ssh-sk-helper
4835
4836 feedback and ok markus@
4837
4838 OpenBSD-Commit-ID: b273c23769ea182c55c4a7b8f9cbd9181722011a
4839
4840commit 14cea36df397677b8f8568204300ef654114fd76
4841Author: djm@openbsd.org <djm@openbsd.org>
4842Date: Mon Dec 30 09:21:16 2019 +0000
4843
4844 upstream: resident keys support in SK API
4845
4846 Adds a sk_load_resident_keys() function to the security key
4847 API that accepts a security key provider and a PIN and returns
4848 a list of keys.
4849
4850 Implement support for this in the usbhid middleware.
4851
4852 feedback and ok markus@
4853
4854 OpenBSD-Commit-ID: 67e984e4e87f4999ce447a6178c4249a9174eff0
4855
4856commit 2fe05fcb4a2695f190b4fcf27770b655586ab349
4857Author: djm@openbsd.org <djm@openbsd.org>
4858Date: Mon Dec 30 09:20:36 2019 +0000
4859
4860 upstream: Factor out parsing of struct sk_enroll_response
4861
4862 We'll reuse this for extracting resident keys from a device.
4863
4864 feedback and ok markus@
4865
4866 OpenBSD-Commit-ID: 9bc1efd9c6897eac4df0983746cf6578c1542273
4867
4868commit 4532bd01d57ee13c3ca881eceac1bf9da96a4d7e
4869Author: djm@openbsd.org <djm@openbsd.org>
4870Date: Mon Dec 30 09:19:52 2019 +0000
4871
4872 upstream: basic support for generating FIDO2 resident keys
4873
4874 "ssh-keygen -t ecdsa-sk|ed25519-sk -x resident" will generate a
4875 device-resident key.
4876
4877 feedback and ok markus@
4878
4879 OpenBSD-Commit-ID: 8e1b3c56a4b11d85047bd6c6c705b7eef4d58431
4880
4881commit 3e60d18fba1b502c21d64fc7e81d80bcd08a2092
4882Author: djm@openbsd.org <djm@openbsd.org>
4883Date: Mon Dec 30 03:30:09 2019 +0000
4884
4885 upstream: remove single-letter flags for moduli options
4886
4887 Move all moduli generation options to live under the -O flag.
4888
4889 Frees up seven single-letter flags.
4890
4891 NB. this change break existing ssh-keygen commandline syntax for moduli-
4892 related operations. Very few people use these fortunately.
4893
4894 feedback and ok markus@
4895
4896 OpenBSD-Commit-ID: d498f3eaf28128484826a4fcb343612764927935
4897
4898commit 1e645fe767f27725dc7fd7864526de34683f7daf
4899Author: djm@openbsd.org <djm@openbsd.org>
4900Date: Mon Dec 30 03:28:41 2019 +0000
4901
4902 upstream: prepare for use of ssh-keygen -O flag beyond certs
4903
4904 Move list of available certificate options in ssh-keygen.1 to the
4905 CERTIFICATES section.
4906
4907 Collect options specified by -O but delay parsing/validation of
4908 certificate options until we're sure that we're acting as a CA.
4909
4910 ok markus@
4911
4912 OpenBSD-Commit-ID: 33e6bcc29cfca43606f6fa09bd84b955ee3a4106
4913
4914commit 20ccd854245c598e2b47cc9f8d4955d645195055
4915Author: jmc@openbsd.org <jmc@openbsd.org>
4916Date: Fri Dec 27 08:28:44 2019 +0000
4917
4918 upstream: sort -Y internally in the options list, as is already
4919
4920 done in synopsis;
4921
4922 OpenBSD-Commit-ID: 86d033c5764404057616690d7be992e445b42274
4923
4924commit 5b6c954751dd3677466cda7adb92e4f05446c96c
4925Author: jmc@openbsd.org <jmc@openbsd.org>
4926Date: Fri Dec 27 08:25:07 2019 +0000
4927
4928 upstream: in the options list, sort -Y and -y;
4929
4930 OpenBSD-Commit-ID: 24c2e6a3aeab6e050a0271ffc73fdff91c10dcaa
4931
4932commit 141df487ba699cfd1ec3dcd98186e7c956e99024
4933Author: naddy@openbsd.org <naddy@openbsd.org>
4934Date: Sat Dec 21 20:22:34 2019 +0000
4935
4936 upstream: Replace the term "security key" with "(FIDO)
4937
4938 authenticator".
4939
4940 The polysemous use of "key" was too confusing. Input from markus@.
4941 ok jmc@
4942
4943 OpenBSD-Commit-ID: 12eea973a44c8232af89f86e4269d71ae900ca8f
4944
4945commit fbd9729d4eadf2f7097b6017156387ac64302453
4946Author: djm@openbsd.org <djm@openbsd.org>
4947Date: Sat Dec 21 02:33:07 2019 +0000
4948
4949 upstream: unit tests for ForwardAgent=/path; from Eric Chiang
4950
4951 OpenBSD-Regress-ID: 24f693f78290b2c17725dab2c614dffe4a88c8da
4952
4953commit e5b7cf8edca7e843adc125621e1dab14507f430a
4954Author: djm@openbsd.org <djm@openbsd.org>
4955Date: Mon Dec 16 02:39:05 2019 +0000
4956
4957 upstream: test security key host keys in addition to user keys
4958
4959 OpenBSD-Regress-ID: 9fb45326106669a27e4bf150575c321806e275b1
4960
4961commit 40be78f503277bd91c958fa25ea9ef918a2ffd3d
4962Author: djm@openbsd.org <djm@openbsd.org>
4963Date: Sat Dec 21 02:19:13 2019 +0000
4964
4965 upstream: Allow forwarding a different agent socket to the path
4966
4967 specified by $SSH_AUTH_SOCK, by extending the existing ForwardAgent option to
4968 accepting an explicit path or the name of an environment variable in addition
4969 to yes/no.
4970
4971 Patch by Eric Chiang, manpage by me; ok markus@
4972
4973 OpenBSD-Commit-ID: 98f2ed80bf34ea54d8b2ddd19ac14ebbf40e9265
4974
4975commit 416f15372bfb5be1709a0ad1d00ef5d8ebfb9e0e
4976Author: naddy@openbsd.org <naddy@openbsd.org>
4977Date: Fri Dec 20 20:28:55 2019 +0000
4978
4979 upstream: SSH U2F keys can now be used as host keys. Fix a garden
4980
4981 path sentence. ok markus@
4982
4983 OpenBSD-Commit-ID: 67d7971ca1a020acd6c151426c54bd29d784bd6b
4984
4985commit 68010acbcfe36167b3eece3115f3a502535f80df
4986Author: dtucker@openbsd.org <dtucker@openbsd.org>
4987Date: Fri Dec 20 02:42:42 2019 +0000
4988
4989 upstream: Move always unsupported keywords to be grouped with the other
4990
4991 ones. Move oSecurityProvider to match the order in the OpCodes enum. Patch
4992 from openbsd@academicsolutions.ch, ok djm@
4993
4994 OpenBSD-Commit-ID: 061e4505861ec1e02ba3a63e3d1b3be3cad458ec
4995
4996commit 8784b02dc49e1c98df4e7aca466be2f652ed4ad1
4997Author: dtucker@openbsd.org <dtucker@openbsd.org>
4998Date: Fri Dec 20 02:29:21 2019 +0000
4999
5000 upstream: Remove obsolete opcodes from the configuation enum.
5001
5002 Patch from openbsd@academicsolutions.ch, ok djm@
5003
5004 OpenBSD-Commit-ID: 395c202228872ce8d9044cc08552ac969f51e01b
5005
5006commit 345be6091bdc9be09c90a937d1320f97c01fab2a
5007Author: dtucker@openbsd.org <dtucker@openbsd.org>
5008Date: Fri Dec 20 02:11:38 2019 +0000
5009
5010 upstream: Remove now-obsolete config options from example in
5011
5012 comment. Patch from openbsd@academicsolutions.ch, ok djm@
5013
5014 OpenBSD-Commit-ID: 35862beb0927b1cb0af476ec23cc07f6e3006101
5015
5016commit ae024b22c4fd68e7f39681d605585889f9511108
5017Author: naddy@openbsd.org <naddy@openbsd.org>
5018Date: Thu Dec 19 15:09:30 2019 +0000
5019
5020 upstream: Document that security key-hosted keys can act as host
5021
5022 keys.
5023
5024 Update the list of default host key algorithms in ssh_config.5 and
5025 sshd_config.5. Copy the description of the SecurityKeyProvider
5026 option to sshd_config.5.
5027
5028 ok jmc@
5029
5030 OpenBSD-Commit-ID: edadf3566ab5e94582df4377fee3b8b702c7eca0
5031
5032commit bc2dc091e0ac4ff6245c43a61ebe12c7e9ea0b7f
5033Author: dtucker@openbsd.org <dtucker@openbsd.org>
5034Date: Thu Dec 19 03:50:01 2019 +0000
5035
5036 upstream: "Forward security" -> "Forward secrecy" since that's the
5037
5038 correct term. Add "MAC" since we use that acronym in other man pages. ok
5039 naddy@
5040
5041 OpenBSD-Commit-ID: c35529e511788586725fb63bda3459e10738c5f5
5042
5043commit e905f7260d72bc0e33ef5f10a0db737ff6e77ba7
5044Author: naddy@openbsd.org <naddy@openbsd.org>
5045Date: Tue Dec 17 16:21:07 2019 +0000
5046
5047 upstream: cut obsolete lists of crypto algorithms from outline of
5048
5049 how SSH works ok markus@ jmc@
5050
5051 OpenBSD-Commit-ID: 8e34973f232ab48c4d4f5d07df48d501708b9160
5052
5053commit f65cf1163ff01531ae02f3f9210391d0d692f699
5054Author: tobhe@openbsd.org <tobhe@openbsd.org>
5055Date: Mon Dec 16 13:58:53 2019 +0000
5056
5057 upstream: strdup may return NULL if memory allocation fails. Use
5058
5059 the safer xstrdup which fatals on allocation failures.
5060
5061 ok markus@
5062
5063 OpenBSD-Commit-ID: 8b608d387120630753cbcb8110e0b019c0c9a0d0
5064
5065commit 57634bfc5708477826c0be265ddc59b9d83e4886
5066Author: djm@openbsd.org <djm@openbsd.org>
5067Date: Mon Dec 16 03:16:58 2019 +0000
5068
5069 upstream: sort sk-* methods behind their plain key methods cousins
5070
5071 for now
5072
5073 OpenBSD-Commit-ID: c97e22c2b28c0d12ee389b8b4ef5f2ada7908828
5074
5075commit b8df8fe920e697edcc69c520390b78c3b7ad9d84
5076Author: Darren Tucker <dtucker@dtucker.net>
5077Date: Tue Dec 17 19:46:15 2019 +1100
5078
5079 Mac OS X has PAM too.
5080
5081commit bf8de8b8251af69b5ce96a8faa69145af156af4d
5082Author: Darren Tucker <dtucker@dtucker.net>
5083Date: Tue Dec 17 19:37:06 2019 +1100
5084
5085 Show portable tarball pattern in example.
5086
5087commit a19ef613e98141cc37c8acdeebe285b9dbe2531e
5088Author: Darren Tucker <dtucker@dtucker.net>
5089Date: Tue Dec 17 19:35:59 2019 +1100
5090
5091 OpenSSL is now optional.
5092
5093commit 1a7217ac063e48cf0082895aeee81ed2b8a57191
5094Author: djm@openbsd.org <djm@openbsd.org>
5095Date: Sun Dec 15 18:58:33 2019 +0000
5096
5097 upstream: adapt to ssh-sk-client change
5098
5099 OpenBSD-Regress-ID: 40481999a5928d635ab2e5b029e8239c112005ea
5100
5101commit a7fc1df246e80bfdabd09b069b91c72f9c578ca8
5102Author: djm@openbsd.org <djm@openbsd.org>
5103Date: Wed Dec 11 18:47:14 2019 +0000
5104
5105 upstream: it's no longer possible to disable privilege separation
5106
5107 in sshd, so don't double the tests' work by trying both off/on
5108
5109 OpenBSD-Regress-ID: d366665466dbd09e9b707305da884be3e7619c68
5110
5111commit 3145d38ea06820a66c0f5e068f49af14fd2b7ac1
5112Author: djm@openbsd.org <djm@openbsd.org>
5113Date: Sun Dec 15 20:59:23 2019 +0000
5114
5115 upstream: don't treat HostKeyAgent=none as a path either; avoids
5116
5117 spurious warnings from the cfgparse regress test
5118
5119 OpenBSD-Commit-ID: ba49ea7a5c92b8a16cb9c2e975dbb163853afc54
5120
5121commit 747e25192f436e71dd39e15d65aa32bca967533a
5122Author: djm@openbsd.org <djm@openbsd.org>
5123Date: Sun Dec 15 20:57:15 2019 +0000
5124
5125 upstream: do not attempt to find an absolute path for sshd_config
5126
5127 SecurityKeyProvider=internal - unbreaks cfgparse regress test
5128
5129 OpenBSD-Commit-ID: d2ddcf525c0dc3c8339522360c10b3c70f1fd641
5130
5131commit 9b6e30b96b094ad787511a5b989253e3b8fe1789
5132Author: djm@openbsd.org <djm@openbsd.org>
5133Date: Sun Dec 15 19:47:10 2019 +0000
5134
5135 upstream: allow ssh-keyscan to find security key hostkeys
5136
5137 OpenBSD-Commit-ID: 1fe822a7f714df19a7e7184e3a3bbfbf546811d3
5138
5139commit 56584cce75f3d20aaa30befc7cbd331d922927f3
5140Author: djm@openbsd.org <djm@openbsd.org>
5141Date: Sun Dec 15 18:57:30 2019 +0000
5142
5143 upstream: allow security keys to act as host keys as well as user
5144
5145 keys.
5146
5147 Previously we didn't do this because we didn't want to expose
5148 the attack surface presented by USB and FIDO protocol handling,
5149 but now that this is insulated behind ssh-sk-helper there is
5150 less risk.
5151
5152 ok markus@
5153
5154 OpenBSD-Commit-ID: 77b068dd133b8d87e0f010987bd5131e640ee64c
5155
5156commit 5af6fd5461bb709304e6979c8b7856c7af921c9e
5157Author: Darren Tucker <dtucker@dtucker.net>
5158Date: Mon Dec 16 13:55:56 2019 +1100
5159
5160 Allow clock_nanosleep_time64 in seccomp sandbox.
5161
5162 Needed on Linux ARM. bz#3100, patch from jjelen@redhat.com.
5163
5164commit fff8ff6dd580e1a72ba09a6775d185175cdc8d13
5165Author: Darren Tucker <dtucker@dtucker.net>
5166Date: Sun Dec 15 18:27:02 2019 +1100
5167
5168 Put SK ECDSA bits inside ifdef OPENSSL_HAS_ECC.
5169
5170 Fixes build when linking against OpenSSLs built with no-ec.
5171
5172commit 9244990ecdcfa36bb9371058111685b05f201c1e
5173Author: Damien Miller <djm@mindrot.org>
5174Date: Sat Dec 14 09:21:46 2019 +1100
5175
5176 remove a bunch of ENABLE_SK #ifdefs
5177
5178 The ssh-sk-helper client API gives us a nice place to disable
5179 security key support when it is wasn't enabled at compile time,
5180 so we don't need to check everywere.
5181
5182 Also, verification of security key signatures can remain enabled
5183 all the time - it has no additional dependencies. So sshd can
5184 accept security key pubkeys in authorized_keys, etc regardless of
5185 the host's support for dlopen, etc.
5186
5187commit a33ab1688b5c460a7e2a301418241ce1b13b2638
5188Author: Damien Miller <djm@mindrot.org>
5189Date: Sat Dec 14 09:15:06 2019 +1100
5190
5191 ssh-sk-client.c needs includes.h
5192
5193commit 633778d567ad50b63d2a3bca5e1b97d279d236d9
5194Author: Damien Miller <djm@mindrot.org>
5195Date: Sat Dec 14 08:40:33 2019 +1100
5196
5197 only link ssh-sk-helper against libfido2
5198
5199commit 7b47b40b170db4d6f41da0479575f6d99dd7228a
5200Author: Damien Miller <djm@mindrot.org>
5201Date: Sat Dec 14 08:20:52 2019 +1100
5202
5203 adapt Makefile to ssh-sk-client everywhere
5204
5205commit f45f3a8a12e2bee601046b916e6c5cd6eae08048
5206Author: Damien Miller <djm@mindrot.org>
5207Date: Sat Dec 14 07:53:11 2019 +1100
5208
5209 fixup
5210
5211commit d21434766764d5babf99fc3937c19b625c0f6334
5212Author: djm@openbsd.org <djm@openbsd.org>
5213Date: Fri Dec 13 20:16:56 2019 +0000
5214
5215 upstream: actually commit the ssh-sk-helper client code; ok markus
5216
5217 OpenBSD-Commit-ID: fd2ea776a5bbbf4d452989d3c3054cf25a5e0589
5218
5219commit 611073fb40ecaf4ac65094e403edea3a08deb700
5220Author: djm@openbsd.org <djm@openbsd.org>
5221Date: Fri Dec 13 19:11:14 2019 +0000
5222
5223 upstream: perform security key enrollment via ssh-sk-helper too.
5224
5225 This means that ssh-keygen no longer needs to link against ssh-sk-helper, and
5226 only ssh-sk-helper needs libfido2 and /dev/uhid* access;
5227
5228 feedback & ok markus@
5229
5230 OpenBSD-Commit-ID: 9464233fab95708d2ff059f8bee29c0d1f270800
5231
5232commit 612b1dd1ec91ffb1e01f58cca0c6eb1d47bf4423
5233Author: djm@openbsd.org <djm@openbsd.org>
5234Date: Fri Dec 13 19:09:37 2019 +0000
5235
5236 upstream: allow sshbuf_put_stringb(buf, NULL); ok markus@
5237
5238 OpenBSD-Commit-ID: 91482c1ada9adb283165d48dafbb88ae91c657bd
5239
5240commit b52ec0ba3983859514aa7b57d6100fa9759fe696
5241Author: djm@openbsd.org <djm@openbsd.org>
5242Date: Fri Dec 13 19:09:10 2019 +0000
5243
5244 upstream: use ssh-sk-helper for all security key signing operations
5245
5246 This extracts and refactors the client interface for ssh-sk-helper
5247 from ssh-agent and generalises it for use by the other programs.
5248 This means that most OpenSSH tools no longer need to link against
5249 libfido2 or directly interact with /dev/uhid*
5250
5251 requested by, feedback and ok markus@
5252
5253 OpenBSD-Commit-ID: 1abcd3aea9a7460eccfbf8ca154cdfa62f1dc93f
5254
5255commit c33d46868c3d88e04a92610cdb429094aeeb5847
5256Author: djm@openbsd.org <djm@openbsd.org>
5257Date: Wed Dec 11 22:19:47 2019 +0000
5258
5259 upstream: add a note about the 'extensions' field in the signed
5260
5261 object
5262
5263 OpenBSD-Commit-ID: 67c01e0565b258e0818c1ccfe1f1aeaf9a0d4c7b
5264
5265commit a62f4e1960691f3aeb1f972e009788b29e2ae464
5266Author: djm@openbsd.org <djm@openbsd.org>
5267Date: Tue Dec 10 23:37:31 2019 +0000
5268
5269 upstream: some more corrections for documentation problems spotted
5270
5271 by Ron Frederick
5272
5273 document certifiate private key format
5274 correct flags type for sk-ssh-ed25519@openssh.com keys
5275
5276 OpenBSD-Commit-ID: fc4e9a1ed7f9f7f9dd83e2e2c59327912e933e74
5277
5278commit 22d4beb79622fc82d7111ac941269861fc7aef8d
5279Author: djm@openbsd.org <djm@openbsd.org>
5280Date: Tue Dec 10 23:21:56 2019 +0000
5281
5282 upstream: loading security keys into ssh-agent used the extension
5283
5284 constraint "sk-provider@openssh.com", not "sk@openssh.com"; spotted by Ron
5285 Frederick
5286
5287 OpenBSD-Commit-ID: dbfba09edbe023abadd5f59c1492df9073b0e51d
5288
5289commit 75f7f22a43799f6d25dffd9d6683de1601da05a3
5290Author: djm@openbsd.org <djm@openbsd.org>
5291Date: Tue Dec 10 22:43:19 2019 +0000
5292
5293 upstream: add security key types to list of keys allowed to act as
5294
5295 CAs; spotted by Ron Frederick
5296
5297 OpenBSD-Commit-ID: 9bb0dfff927b4f7aa70679f983f84c69d45656c3
5298
5299commit 516605f2d596884cedc2beed6b262716ec76f63d
5300Author: djm@openbsd.org <djm@openbsd.org>
5301Date: Tue Dec 10 22:37:20 2019 +0000
5302
5303 upstream: when acting as a CA and using a security key as the CA
5304
5305 key, remind the user to touch they key to authorise the signature.
5306
5307 OpenBSD-Commit-ID: fe58733edd367362f9766b526a8b56827cc439c1
5308
5309commit c4036fe75ea5a4d03a2a40be1f3660dcbbfa01b2
5310Author: djm@openbsd.org <djm@openbsd.org>
5311Date: Tue Dec 10 22:36:08 2019 +0000
5312
5313 upstream: chop some unnecessary and confusing verbiage from the
5314
5315 security key protocol description; feedback from Ron Frederick
5316
5317 OpenBSD-Commit-ID: 048c9483027fbf9c995e5a51b3ac502989085a42
5318
5319commit 59175a350fe1091af7528b2971e3273aa7ca7295
5320Author: djm@openbsd.org <djm@openbsd.org>
5321Date: Fri Dec 6 03:06:08 2019 +0000
5322
5323 upstream: fix setting of $SSH_ASKPASS_PROMPT - it shouldn't be set
5324
5325 when asking passphrases, only when confirming the use of a key (i.e. for
5326 ssh-agent keys added with "ssh-add -c keyfile")
5327
5328 OpenBSD-Commit-ID: 6643c82960d9427d5972eb702c917b3b838ecf89
5329
5330commit 36eaa356d391a23a2d4e3a8aaa0223abc70b9822
5331Author: djm@openbsd.org <djm@openbsd.org>
5332Date: Fri Dec 6 02:55:21 2019 +0000
5333
5334 upstream: bring the __func__
5335
5336 OpenBSD-Commit-ID: 71a3a45b0fe1b8f680ff95cf264aa81f7abbff67
5337
5338commit 483cc723d1ff3b7fdafc6239348040a608ebc78d
5339Author: jmc@openbsd.org <jmc@openbsd.org>
5340Date: Sat Nov 30 07:07:59 2019 +0000
5341
5342 upstream: tweak the Nd lines for a bit of consistency; ok markus
5343
5344 OpenBSD-Commit-ID: 876651bdde06bc1e72dd4bd7ad599f42a6ce5a16
5345
5346commit afffd310360b155df2133d1f5f1ab2f4e939b570
5347Author: Darren Tucker <dtucker@dtucker.net>
5348Date: Wed Dec 11 13:22:06 2019 +1100
5349
5350 Check if memmem is declared in system headers.
5351
5352 If the system (or one of the dependencies) implements memmem but does
5353 not define the header, we would not declare it either resulting in
5354 compiler warnings. Check for declaration explicitly. bz#3102.
5355
5356commit ad8cd420797695f3b580aea1034b9de60bede9b9
5357Author: Darren Tucker <dtucker@dtucker.net>
5358Date: Wed Dec 11 13:12:01 2019 +1100
5359
5360 Sort depends.
5361
5362commit 5e3abff39e01817f6866494416f2ada25c316018
5363Author: Darren Tucker <dtucker@dtucker.net>
5364Date: Wed Dec 11 13:09:34 2019 +1100
5365
5366 Sort .depend when rebuilding.
5367
5368 This makes diffs more stable between makedepend implementations.
5369
5370commit 5df9d1f5c0943367d9b68435f4c82224ce11a73f
5371Author: Darren Tucker <dtucker@dtucker.net>
5372Date: Wed Dec 11 13:06:43 2019 +1100
5373
5374 Update depend to include sk files.
5375
5376commit 9a967c5bbfca35835165f7d8a6165009f5b21872
5377Author: Darren Tucker <dtucker@dtucker.net>
5378Date: Mon Dec 9 20:25:26 2019 +1100
5379
5380 Describe how to build libcrypto as PIC.
5381
5382 While there, move the OpenSSL 1.1.0g caveat closer to the other version
5383 information.
5384
5385commit b66fa5da25c4b5b67cf9f0ce7af513f5a6a6a686
5386Author: Darren Tucker <dtucker@dtucker.net>
5387Date: Mon Dec 9 17:23:22 2019 +1100
5388
5389 Recommend running LibreSSL or OpenSSL self-tests.
5390
5391commit fa7924008e838cded7e8a561356ffe5e06e0ed64
5392Author: Darren Tucker <dtucker@dtucker.net>
5393Date: Fri Dec 6 14:17:26 2019 +1100
5394
5395 Wrap ECC specific bits in ifdef.
5396
5397 Fixes tests when built against an OpenSSL configured with no-ec.
5398
5399commit 2ff822eabd7d4461743f22d3b9ba35ab76069df5
5400Author: Darren Tucker <dtucker@dtucker.net>
5401Date: Fri Nov 29 20:21:36 2019 +1100
5402
5403 Wrap sha2.h include in ifdef.
5404
5405 Fixes build --without-openssl on at least Fedora.
5406
5407commit 443848155ffcda65a6077aac118c861b503a093f
5408Author: Damien Miller <djm@mindrot.org>
5409Date: Fri Nov 29 15:10:21 2019 +1100
5410
5411 compile sk-dummy.so with no-PIE version of LDFLAGS
5412
5413 This lets it pick up the -L path to libcrypto for example.
5414
5415commit 37f5b5346e4cc6a894245aa89d2930649bb7045b
5416Author: Damien Miller <djm@mindrot.org>
5417Date: Fri Nov 29 14:48:46 2019 +1100
5418
5419 includes.h for sk-dummy.c, dummy
5420
5421commit b218055e59a7c1a1816f7a55ca18e3f3c05d63a4
5422Author: Damien Miller <djm@mindrot.org>
5423Date: Fri Nov 29 12:32:23 2019 +1100
5424
5425 (yet) another x-platform fix for sk-dummy.so
5426
5427 Check for -fPIC support from compiler
5428
5429 Compile libopenbsd-compat -fPIC
5430
5431 Don't mix -fPIE and -fPIC when compiling
5432
5433commit 0dedb703adcd98d0dbc4479f5f312a2bd3df2850
5434Author: Damien Miller <djm@mindrot.org>
5435Date: Fri Nov 29 11:53:57 2019 +1100
5436
5437 needs includes.h for WITH_OPENSSL
5438
5439commit ef3853bb94c2c72e7eda0de6cec0bcb1da62058f
5440Author: Damien Miller <djm@mindrot.org>
5441Date: Fri Nov 29 11:52:23 2019 +1100
5442
5443 another attempt at sk-dummy.so working x-platform
5444
5445 include a fatal() implementation to satisfy libopenbsd-compat
5446
5447 clean up .lo and .so files
5448
5449 .gitignore .lo and .so files
5450
5451commit d46ac56f1cbd5a855a2d5e7309f90d383dcf6431
5452Author: djm@openbsd.org <djm@openbsd.org>
5453Date: Fri Nov 29 00:13:29 2019 +0000
5454
5455 upstream: lots of dependencies go away here with ed25519 no longer
5456
5457 needing the ssh_digest API.
5458
5459 OpenBSD-Regress-ID: 785847ec78cb580d141e29abce351a436d6b5d49
5460
5461commit 7404b81f25a4a7847380c0f0cf7f1bea5f0a5cd3
5462Author: djm@openbsd.org <djm@openbsd.org>
5463Date: Fri Nov 29 00:11:21 2019 +0000
5464
5465 upstream: perform hashing directly in crypto_hash_sha512() using
5466
5467 libcrypto or libc SHA512 functions rather than calling ssh_digest_memory();
5468 avoids many dependencies on ssh code that complicate standalone use of
5469 ed25519, as we want to do in sk-dummy.so
5470
5471 OpenBSD-Commit-ID: 5a3c37593d3ba7add037b587cec44aaea088496d
5472
5473commit d39a865b7af93a7a9b5a64cf7cf0ef4396c80ba3
5474Author: jmc@openbsd.org <jmc@openbsd.org>
5475Date: Thu Nov 28 12:24:31 2019 +0000
5476
5477 upstream: improve the text for -A a little; input from naddy and
5478
5479 djm
5480
5481 OpenBSD-Commit-ID: f9cdfb1d6dbb9887c4bf3bb25f9c7a94294c988d
5482
5483commit 9a0e01bd0c61f553ead96b5af84abd73865847b8
5484Author: jmc@openbsd.org <jmc@openbsd.org>
5485Date: Thu Nov 28 12:23:25 2019 +0000
5486
5487 upstream: reshuffle the text to read better; input from naddy,
5488
5489 djmc, and dtucker
5490
5491 OpenBSD-Commit-ID: a0b2aca2b67614dda3d6618ea097bf0610c35013
5492
5493commit 5ca52c0f2e5e7f7d01d8d557b994b5c2087bed00
5494Author: Damien Miller <djm@mindrot.org>
5495Date: Thu Nov 28 18:09:07 2019 +1100
5496
5497 $< doesn't work as` I thought; explicily list objs
5498
5499commit 18e84bfdc5906a73405c3b42d7f840013bbffe34
5500Author: djm@openbsd.org <djm@openbsd.org>
5501Date: Thu Nov 28 05:20:54 2019 +0000
5502
5503 upstream: tweak wording
5504
5505 OpenBSD-Commit-ID: bd002ca1599b71331faca735ff5f6de29e32222e
5506
5507commit 8ef5bf9d03aa0f047711cff47f5ffbe3b33ff8c9
5508Author: Damien Miller <djm@mindrot.org>
5509Date: Thu Nov 28 13:12:30 2019 +1100
5510
5511 missing .SUFFIXES line makes make sad
5512
5513commit 323da82b8ea993b7f2c5793fd53b4f5ca105d19d
5514Author: Damien Miller <djm@mindrot.org>
5515Date: Thu Nov 28 09:53:42 2019 +1100
5516
5517 (hopefully) fix out of tree builds of sk-dummy.so
5518
5519commit d8b2838c5d19bf409d44ede4d32df8ee47aeb4cd
5520Author: djm@openbsd.org <djm@openbsd.org>
5521Date: Wed Nov 27 22:32:11 2019 +0000
5522
5523 upstream: remove stray semicolon after closing brace of function;
5524
5525 from Michael Forney
5526
5527 OpenBSD-Commit-ID: fda95acb799bb160d15e205ee126117cf33da3a7
5528
5529commit 6e1d1bbf5a3eca875005e0c87f341a0a03799809
5530Author: dtucker@openbsd.org <dtucker@openbsd.org>
5531Date: Wed Nov 27 05:38:43 2019 +0000
5532
5533 upstream: Revert previous commit. The channels code still uses int
5534
5535 in many places for channel ids so the INT_MAX check still makes sense.
5536
5537 OpenBSD-Commit-ID: 532e4b644791b826956c3c61d6ac6da39bac84bf
5538
5539commit 48989244658b9748b6801034ff4ffbdfc6b1520f
5540Author: Damien Miller <djm@mindrot.org>
5541Date: Wed Nov 27 16:03:12 2019 +1100
5542
5543 wire sk-dummy.so into test suite
5544
5545commit f79364bacaebde4f1c260318ab460fceacace02f
5546Author: djm@openbsd.org <djm@openbsd.org>
5547Date: Wed Nov 27 05:00:17 2019 +0000
5548
5549 upstream: use error()+_exit() instead of fatal() to avoid running
5550
5551 cleanup handlers in child process; spotted via weird regress failures in
5552 portable
5553
5554 OpenBSD-Commit-ID: 6902a9bb3987c7d347774444f7979b8a9ba7f412
5555
5556commit 70ec5e5e2681bcd409a9df94a2fec6f57a750945
5557Author: dtucker@openbsd.org <dtucker@openbsd.org>
5558Date: Wed Nov 27 03:34:04 2019 +0000
5559
5560 upstream: Make channel_id u_int32_t and remove unnecessary check
5561
5562 and cast that were left over from the type conversion. Noted by
5563 t-hashida@amiya.co.jp in bz#3098, ok markus@ djm@
5564
5565 OpenBSD-Commit-ID: 3ad105b6a905284e780b1fd7ff118e1c346e90b5
5566
5567commit ad44ca81bea83657d558aaef5a1d789a9032bac3
5568Author: djm@openbsd.org <djm@openbsd.org>
5569Date: Tue Nov 26 23:43:10 2019 +0000
5570
5571 upstream: test FIDO2/U2F key types; ok markus@
5572
5573 OpenBSD-Regress-ID: 367e06d5a260407619b4b113ea0bd7004a435474
5574
5575commit c6efa8a91af1d4fdb43909a23a0a4ffa012155ad
5576Author: djm@openbsd.org <djm@openbsd.org>
5577Date: Tue Nov 26 23:41:23 2019 +0000
5578
5579 upstream: add dummy security key middleware based on work by
5580
5581 markus@
5582
5583 This will allow us to test U2F/FIDO2 support in OpenSSH without
5584 requiring real hardware.
5585
5586 ok markus@
5587
5588 OpenBSD-Regress-ID: 88b309464b8850c320cf7513f26d97ee1fdf9aae
5589
5590commit 8635afa1cdc21366d61730d943f3cf61861899c8
5591Author: jmc@openbsd.org <jmc@openbsd.org>
5592Date: Tue Nov 26 22:42:26 2019 +0000
5593
5594 upstream: tweak previous;
5595
5596 OpenBSD-Commit-ID: a4c097364c75da320f1b291568db830fb1ee4883
5597
5598commit e0d38ae9bc8c0de421605b9021d8144e4d8ff22b
5599Author: djm@openbsd.org <djm@openbsd.org>
5600Date: Tue Nov 26 03:04:27 2019 +0000
5601
5602 upstream: more debugging; behind DEBUG_SK
5603
5604 OpenBSD-Commit-ID: a978896227118557505999ddefc1f4c839818b60
5605
5606commit 9281d4311b8abc63b88259f354944c53f9b0b3c7
5607Author: Damien Miller <djm@mindrot.org>
5608Date: Mon Nov 25 21:47:49 2019 +1100
5609
5610 unbreak fuzzers for recent security key changes
5611
5612commit c5f1cc993597fed0a9013743556b1567f476c677
5613Author: djm@openbsd.org <djm@openbsd.org>
5614Date: Mon Nov 25 10:32:35 2019 +0000
5615
5616 upstream: unbreak tests for recent security key changes
5617
5618 OpenBSD-Regress-ID: 2cdf2fcae9962ca4d711338f3ceec3c1391bdf95
5619
5620commit 64988266820cc90a45a21672be9d762cbde8d34d
5621Author: djm@openbsd.org <djm@openbsd.org>
5622Date: Mon Nov 25 06:53:04 2019 +0000
5623
5624 upstream: unbreak after security key support landed
5625
5626 OpenBSD-Regress-ID: 3ab578b0dbeb2aa6d9969b54a9c1bad329c0dcba
5627
5628commit e65e25c81e22ea622e89a142a303726a3882384f
5629Author: tb@openbsd.org <tb@openbsd.org>
5630Date: Thu Nov 21 05:18:47 2019 +0000
5631
5632 upstream: Remove workaround for broken 'openssl rsa -text' output
5633
5634 that was fixed in libcrypto/rsa/rsa_ameth.c r1.24.
5635
5636 ok dtucker inoguchi
5637
5638 OpenBSD-Regress-ID: c260edfac177daa8fcce90141587cf04a95c4f5f
5639
5640commit 21377ec2a9378579ba4b44a681af7bbca77581f4
5641Author: djm@openbsd.org <djm@openbsd.org>
5642Date: Mon Nov 25 10:23:36 2019 +0000
5643
5644 upstream: redundant test
5645
5646 OpenBSD-Commit-ID: 38fa7806c528a590d91ae560e67bd8b246c2d7a3
5647
5648commit 664deef95a2e770812533439b8bdd3f3c291ae59
5649Author: djm@openbsd.org <djm@openbsd.org>
5650Date: Mon Nov 25 00:57:51 2019 +0000
5651
5652 upstream: document the "no-touch-required" certificate extension;
5653
5654 ok markus, feedback deraadt
5655
5656 OpenBSD-Commit-ID: 47640122b13f825e9c404ea99803b2372246579d
5657
5658commit 26cb128b31efdd5395153f4943f5be3eddc07033
5659Author: djm@openbsd.org <djm@openbsd.org>
5660Date: Mon Nov 25 00:57:27 2019 +0000
5661
5662 upstream: Print a key touch reminder when generating a security
5663
5664 key. Most keys require a touch to authorize the operation.
5665
5666 OpenBSD-Commit-ID: 7fe8b23edbf33e1bb81741b9f25e9a63be5f6b68
5667
5668commit daeaf4136927c2a82af1399022103d67ff03f74a
5669Author: djm@openbsd.org <djm@openbsd.org>
5670Date: Mon Nov 25 00:55:58 2019 +0000
5671
5672 upstream: allow "ssh-keygen -x no-touch-required" when generating a
5673
5674 security key keypair to request one that does not require a touch for each
5675 authentication attempt. The default remains to require touch.
5676
5677 feedback deraadt; ok markus@
5678
5679 OpenBSD-Commit-ID: 887e7084b2e89c0c62d1598ac378aad8e434bcbd
5680
5681commit 2e71263b80fec7ad977e098004fef7d122169d40
5682Author: djm@openbsd.org <djm@openbsd.org>
5683Date: Mon Nov 25 00:54:23 2019 +0000
5684
5685 upstream: add a "no-touch-required" option for authorized_keys and
5686
5687 a similar extension for certificates. This option disables the default
5688 requirement that security key signatures attest that the user touched their
5689 key to authorize them.
5690
5691 feedback deraadt, ok markus
5692
5693 OpenBSD-Commit-ID: f1fb56151ba68d55d554d0f6d3d4dba0cf1a452e
5694
5695commit 0fddf2967ac51d518e300408a0d7e6adf4cd2634
5696Author: djm@openbsd.org <djm@openbsd.org>
5697Date: Mon Nov 25 00:52:46 2019 +0000
5698
5699 upstream: Add a sshd_config PubkeyAuthOptions directive
5700
5701 This directive has a single valid option "no-touch-required" that
5702 causes sshd to skip checking whether user presence was tested before
5703 a security key signature was made (usually by the user touching the
5704 key).
5705
5706 ok markus@
5707
5708 OpenBSD-Commit-ID: 46e434a49802d4ed82bc0aa38cb985c198c407de
5709
5710commit b7e74ea072919b31391bc0f5ff653f80b9f5e84f
5711Author: djm@openbsd.org <djm@openbsd.org>
5712Date: Mon Nov 25 00:51:37 2019 +0000
5713
5714 upstream: Add new structure for signature options
5715
5716 This is populated during signature verification with additional fields
5717 that are present in and covered by the signature. At the moment, it is
5718 only used to record security key-specific options, especially the flags
5719 field.
5720
5721 with and ok markus@
5722
5723 OpenBSD-Commit-ID: 338a1f0e04904008836130bedb9ece4faafd4e49
5724
5725commit d2b0f88178ec9e3f11b606bf1004ac2fe541a2c3
5726Author: djm@openbsd.org <djm@openbsd.org>
5727Date: Mon Nov 25 00:38:17 2019 +0000
5728
5729 upstream: memleak in error path
5730
5731 OpenBSD-Commit-ID: 93488431bf02dde85a854429362695d2d43d9112
5732
5733commit e2c0a21ade5e0bd7f0aab08d7eb9457f086681e9
5734Author: dtucker@openbsd.org <dtucker@openbsd.org>
5735Date: Fri Nov 22 06:50:30 2019 +0000
5736
5737 upstream: Wait for FD to be readable or writeable during a nonblocking
5738
5739 connect, not just readable. Prevents a timeout when the server doesn't
5740 immediately send a banner (eg multiplexers like sslh) but is also slightly
5741 quicker for other connections since, unlike ssh1, ssh2 doesn't specify
5742 that the client should parse the server banner before sending its own.
5743 Patch from mnissler@chromium.org, ok djm@
5744
5745 OpenBSD-Commit-ID: aba9cd8480d1d9dd31d0ca0422ea155c26c5df1d
5746
5747commit 2f95d43dc222ce194622b706682e8de07c9cfb42
5748Author: Darren Tucker <dtucker@dtucker.net>
5749Date: Wed Nov 20 16:34:11 2019 +1100
5750
5751 Include openssl compat header.
5752
5753 Fixes warning for ECDSA_SIG_set0 on OpenSSL versions prior to 1.1.
5754
5755commit a70d92f236576c032a45c39e68ca0d71e958d19d
5756Author: djm@openbsd.org <djm@openbsd.org>
5757Date: Tue Nov 19 22:23:19 2019 +0000
5758
5759 upstream: adjust on-wire signature encoding for ecdsa-sk keys to
5760
5761 better match ec25519-sk keys. Discussed with markus@ and Sebastian Kinne
5762
5763 NB. if you are depending on security keys (already?) then make sure you
5764 update both your clients and servers.
5765
5766 OpenBSD-Commit-ID: 53d88d8211f0dd02a7954d3af72017b1a79c0679
5767
5768commit 26369a5f7d9c4e4ef44a3e04910126e1bcea43d8
5769Author: djm@openbsd.org <djm@openbsd.org>
5770Date: Tue Nov 19 22:21:15 2019 +0000
5771
5772 upstream: a little more information from the monitor when signature
5773
5774 verification fails.
5775
5776 OpenBSD-Commit-ID: e6a30071e0518cac512f9e10be3dc3500e2003f3
5777
5778commit 4402d6c9b5bf128dcfae2429f1d41cdaa8849b6b
5779Author: jmc@openbsd.org <jmc@openbsd.org>
5780Date: Tue Nov 19 16:02:32 2019 +0000
5781
5782 upstream: revert previous: naddy pointed out what's meant to
5783
5784 happen. rethink needed...
5785
5786 OpenBSD-Commit-ID: fb0fede8123ea7f725fd65e00d49241c40bd3421
5787
5788commit 88056f881315233e990e4e04a815f8f96b4674e1
5789Author: jmc@openbsd.org <jmc@openbsd.org>
5790Date: Tue Nov 19 14:54:47 2019 +0000
5791
5792 upstream: -c and -s do not make sense with -k; reshuffle -k into
5793
5794 the main synopsis/usage; ok djm
5795
5796 OpenBSD-Commit-ID: f881ba253da015398ae8758d973e3390754869bc
5797
5798commit 2cf262c21f35296c2ff718cfdb52e0473a1c3983
5799Author: naddy@openbsd.org <naddy@openbsd.org>
5800Date: Mon Nov 18 23:17:48 2019 +0000
5801
5802 upstream: document '$' environment variable expansion for
5803
5804 SecurityKeyProvider; ok djm@
5805
5806 OpenBSD-Commit-ID: 76db507ebd336a573e1cd4146cc40019332c5799
5807
5808commit f0edda81c5ebccffcce52b182c3033531a1aab71
5809Author: naddy@openbsd.org <naddy@openbsd.org>
5810Date: Mon Nov 18 23:16:49 2019 +0000
5811
5812 upstream: more missing mentions of ed25519-sk; ok djm@
5813
5814 OpenBSD-Commit-ID: f242e53366f61697dffd53af881bc5daf78230ff
5815
5816commit 189550f5bc85148e85f4caa1f6b2fc623149a4ee
5817Author: naddy@openbsd.org <naddy@openbsd.org>
5818Date: Mon Nov 18 16:10:05 2019 +0000
5819
5820 upstream: additional missing stdarg.h includes when built without
5821
5822 WITH_OPENSSL; ok djm@
5823
5824 OpenBSD-Commit-ID: 881f9a2c4e2239849cee8bbf4faec9bab128f55b
5825
5826commit 723a5369864b338c48d22854bc2bb4ee5c083deb
5827Author: naddy@openbsd.org <naddy@openbsd.org>
5828Date: Mon Nov 18 16:08:57 2019 +0000
5829
5830 upstream: add the missing WITH_OPENSSL ifdefs after the ED25519-SK
5831
5832 addition; ok djm@
5833
5834 OpenBSD-Commit-ID: a9545e1c273e506cf70e328cbb9d0129b6d62474
5835
5836commit 478f4f98e4e93ae4ed1a8911dec4e5b75ea10f30
5837Author: Damien Miller <djm@mindrot.org>
5838Date: Tue Nov 19 08:52:24 2019 +1100
5839
5840 remove all EC algs from proposals, no just sk ones
5841
5842 ok dtucker@
5843
5844commit 6a7ef310da100f876a257b7367e3b0766dac3994
5845Author: Damien Miller <djm@mindrot.org>
5846Date: Mon Nov 18 22:22:04 2019 +1100
5847
5848 filter PUBKEY_DEFAULT_PK_ALG for ECC algorithms
5849
5850 Remove ECC algorithms from the PUBKEY_DEFAULT_PK_ALG list when
5851 compiling without ECC support in libcrypto.
5852
5853commit 64f56f1d1af3947a71a4c391f2c08747d19ee591
5854Author: dtucker@openbsd.org <dtucker@openbsd.org>
5855Date: Mon Nov 18 09:15:17 2019 +0000
5856
5857 upstream: LibreSSL change the format for openssl rsa -text output from
5858
5859 "publicExponent" to "Exponent" so accept either. with djm.
5860
5861 OpenBSD-Regress-ID: b7e6c4bf700029a31c98be14600d4472fe0467e6
5862
5863commit 4bfc0503ad94a2a7190686a89649567c20b8534f
5864Author: djm@openbsd.org <djm@openbsd.org>
5865Date: Mon Nov 18 06:58:00 2019 +0000
5866
5867 upstream: fix a bug that prevented serialisation of ed25519-sk keys
5868
5869 OpenBSD-Commit-ID: 066682b79333159cac04fcbe03ebd9c8dcc152a9
5870
5871commit d88205417084f523107fbe1bc92061635cd57fd2
5872Author: djm@openbsd.org <djm@openbsd.org>
5873Date: Mon Nov 18 06:39:36 2019 +0000
5874
5875 upstream: Fix incorrect error message when key certification fails
5876
5877 OpenBSD-Commit-ID: 7771bd77ee73f7116df37c734c41192943a73cee
5878
5879commit 740c4bc9875cbb4b9fc03fd5eac19df080f20df5
5880Author: djm@openbsd.org <djm@openbsd.org>
5881Date: Mon Nov 18 06:39:02 2019 +0000
5882
5883 upstream: fix bug that prevented certification of ed25519-sk keys
5884
5885 OpenBSD-Commit-ID: 64c8cc6f5de2cdd0ee3a81c3a9dee8d862645996
5886
5887commit 85409cbb505d8c463ab6e2284b4039764c7243de
5888Author: djm@openbsd.org <djm@openbsd.org>
5889Date: Mon Nov 18 06:24:17 2019 +0000
5890
5891 upstream: allow *-sk key types to be turned into certificates
5892
5893 OpenBSD-Commit-ID: cd365ee343934862286d0b011aa77fa739d2a945
5894
5895commit e2e1283404e06a22ac6135d057199e70dcadb8dd
5896Author: djm@openbsd.org <djm@openbsd.org>
5897Date: Mon Nov 18 04:55:02 2019 +0000
5898
5899 upstream: mention ed25519-sk key/cert types here too; prompted by
5900
5901 jmc@
5902
5903 OpenBSD-Commit-ID: e281977e4a4f121f3470517cbd5e483eee37b818
5904
5905commit 97dc5d1d82865a7d20f1eb193b5c62ce684024e5
5906Author: djm@openbsd.org <djm@openbsd.org>
5907Date: Mon Nov 18 04:50:45 2019 +0000
5908
5909 upstream: mention ed25519-sk in places where it is accepted;
5910
5911 prompted by jmc@
5912
5913 OpenBSD-Commit-ID: 076d386739ebe7336c2137e583bc7a5c9538a442
5914
5915commit 130664344862a8c7afd3e24d8d36ce40af41a99f
5916Author: djm@openbsd.org <djm@openbsd.org>
5917Date: Mon Nov 18 04:34:47 2019 +0000
5918
5919 upstream: document ed25519-sk pubkey, private key and certificate
5920
5921 formats
5922
5923 OpenBSD-Commit-ID: 795a7c1c80315412e701bef90e31e376ea2f3c88
5924
5925commit 71856e1142fc01628ce53098f8cfc74765464b35
5926Author: djm@openbsd.org <djm@openbsd.org>
5927Date: Mon Nov 18 04:29:50 2019 +0000
5928
5929 upstream: correct order or ecdsa-sk private key fields
5930
5931 OpenBSD-Commit-ID: 4d4a0c13226a79f0080ce6cbe74f73b03ed8092e
5932
5933commit 93fa2a6649ae3e0626cbff25c985a4573d63e3f2
5934Author: djm@openbsd.org <djm@openbsd.org>
5935Date: Mon Nov 18 04:16:53 2019 +0000
5936
5937 upstream: correct description of fields in pub/private keys (was
5938
5939 missing curve name); spotted by Sebastian Kinne
5940
5941 OpenBSD-Commit-ID: 2a11340dc7ed16200342d384fb45ecd4fcce26e7
5942
5943commit b497e920b409250309c4abe64229237b8f2730ba
5944Author: Damien Miller <djm@mindrot.org>
5945Date: Mon Nov 18 15:05:04 2019 +1100
5946
5947 Teach the GTK2/3 ssh-askpass the new prompt hints
5948
5949 ssh/ssh-agent now sets a hint environment variable $SSH_ASKPASS_PROMPT
5950 when running the askpass program. This is intended to allow the
5951 askpass to vary its UI across the three cases it supports: asking for
5952 a passphrase, confirming the use of a key and (recently) reminding
5953 a user to touch their security key.
5954
5955 This adapts the gnome-ssh-askpass[23] to use these hints. Specifically,
5956 for SSH_ASKPASS_PROMPT=confirm it will skip the text input box and show
5957 only "yes"/"no" buttons. For SSH_ASKPASS_PROMPT=none (used to remind
5958 users to tap their security key), it shows only a "close" button.
5959
5960 Help wanted: adapt the other askpass programs in active use, including
5961 x11-ssh-askpass, lxqt-openssh-askpass, etc.
5962
5963commit 857f49e91eeae6feb781ef5f5e26c38ca3d953ec
5964Author: Darren Tucker <dtucker@dtucker.net>
5965Date: Mon Nov 18 14:15:26 2019 +1100
5966
5967 Move ifdef OPENSSL_HAS_ECC.
5968
5969 Found by -Wimplicit-fallthrough: one ECC case was not inside the ifdef.
5970 ok djm@
5971
5972commit 6cf1c40096a79e5eedcf897c7cdb46bb32d4a3ee
5973Author: Darren Tucker <dtucker@dtucker.net>
5974Date: Mon Nov 18 14:14:18 2019 +1100
5975
5976 Enable -Wimplicit-fallthrough if supported
5977
5978 Suggested by djm.
5979
5980commit 103c51fd5f5ddc01cd6b5c1132e711765b921bf5
5981Author: djm@openbsd.org <djm@openbsd.org>
5982Date: Mon Nov 18 01:59:48 2019 +0000
5983
5984 upstream: missing break in getopt switch; spotted by Sebastian Kinne
5985
5986 OpenBSD-Commit-ID: f002dbf14dba5586e8407e90f0141148ade8e8fc
5987
5988commit 9a1225e8ca2ce1fe809910874935302234399a6d
5989Author: djm@openbsd.org <djm@openbsd.org>
5990Date: Sat Nov 16 23:17:20 2019 +0000
5991
5992 upstream: tweak debug message
5993
5994 OpenBSD-Commit-ID: 2bf336d3be0b7e3dd97920d7e7471146a281d2b9
5995
5996commit 4103a3ec7c68493dbc4f0994a229507e943a86d3
5997Author: djm@openbsd.org <djm@openbsd.org>
5998Date: Sat Nov 16 22:42:30 2019 +0000
5999
6000 upstream: a little debug() in the security key interface
6001
6002 OpenBSD-Commit-ID: 4c70300609a5c8b19707207bb7ad4109e963b0e8
6003
6004commit 05daa211de926f66f50b7380d637f84dc6341574
6005Author: djm@openbsd.org <djm@openbsd.org>
6006Date: Sat Nov 16 22:36:48 2019 +0000
6007
6008 upstream: always use ssh-sk-helper, even for the internal USB HID
6009
6010 support. This avoid the need for a wpath pledge in ssh-agent.
6011
6012 reported by jmc@
6013
6014 OpenBSD-Commit-ID: 19f799c4d020b870741d221335dbfa5e76691c23
6015
6016commit d431778a561d90131814f986b646299f9af33c8c
6017Author: markus@openbsd.org <markus@openbsd.org>
6018Date: Fri Nov 15 15:41:01 2019 +0000
6019
6020 upstream: fix typos in sk_enroll
6021
6022 OpenBSD-Commit-ID: faa9bf779e008b3e64e2eb1344d9b7d83b3c4487
6023
6024commit af90aec0443ec51e6b2d804cb91771d3905f8a6f
6025Author: jmc@openbsd.org <jmc@openbsd.org>
6026Date: Fri Nov 15 11:16:28 2019 +0000
6027
6028 upstream: double word;
6029
6030 OpenBSD-Commit-ID: 43d09bafa4ea9002078cb30ca9adc3dcc0b9c2b9
6031
6032commit fd1a96490cef7f945a1b3b5df4e90c8a1070f425
6033Author: djm@openbsd.org <djm@openbsd.org>
6034Date: Fri Nov 15 06:00:20 2019 +0000
6035
6036 upstream: remove most uses of BN_CTX
6037
6038 We weren't following the rules re BN_CTX_start/BN_CTX_end and the places
6039 we were using it didn't benefit from its use anyway. ok dtucker@
6040
6041 OpenBSD-Commit-ID: ea9ba6c0d2e6f6adfe00b309a8f41842fe12fc7a
6042
6043commit 39b87104cdd47baf79ef77dc81de62cea07d119f
6044Author: Darren Tucker <dtucker@dtucker.net>
6045Date: Fri Nov 15 18:56:54 2019 +1100
6046
6047 Add wrappers for other ultrix headers.
6048
6049 Wrappers protect against multiple inclusions for headers that don't do
6050 it themselves.
6051
6052commit 134a74f4e0cf750931f1125beb2a3f40c54c8809
6053Author: Darren Tucker <dtucker@dtucker.net>
6054Date: Fri Nov 15 18:55:13 2019 +1100
6055
6056 Add SSIZE_MAX when we define ssize_t.
6057
6058commit 9c6d0a3a1ed77989d8c5436d8c3cc6c7045c0197
6059Author: Darren Tucker <dtucker@dtucker.net>
6060Date: Fri Nov 15 17:13:19 2019 +1100
6061
6062 Remove ultrix realpath hack.
6063
6064commit c63fba5e3472307167850bbd84187186af7fa9f0
6065Author: djm@openbsd.org <djm@openbsd.org>
6066Date: Fri Nov 15 05:37:27 2019 +0000
6067
6068 upstream: unshield security key privkey before attempting signature
6069
6070 in agent. spotted by dtucker@
6071
6072 OpenBSD-Commit-ID: fb67d451665385b8a0a55371231c50aac67b91d2
6073
6074commit d165bb5396e3f718480e6039ca2cf77f5a2c2885
6075Author: deraadt@openbsd.org <deraadt@openbsd.org>
6076Date: Fri Nov 15 05:26:56 2019 +0000
6077
6078 upstream: rewrite c99-ism
6079
6080 OpenBSD-Commit-ID: d0c70cca29cfa7e6d9f7ec1d6d5dabea112499b3
6081
6082commit 03e06dd0e6e1c0a9f4b4b9de7def8a44dcbf93a7
6083Author: deraadt@openbsd.org <deraadt@openbsd.org>
6084Date: Fri Nov 15 05:25:52 2019 +0000
6085
6086 upstream: only clang understands those new -W options
6087
6088 OpenBSD-Commit-ID: d9b910e412d139141b072a905e66714870c38ac0
6089
6090commit 5c0bc273cba53f822b7d777bbb6c35d160d3b505
6091Author: Damien Miller <djm@mindrot.org>
6092Date: Fri Nov 15 16:08:00 2019 +1100
6093
6094 configure flag to built-in security key support
6095
6096 Require --with-security-key-builtin before enabling the built-in
6097 security key support (and consequent dependency on libfido2).
6098
6099commit fbcb9a7fa55300b8bd4c18bee024c6104c5a25d7
6100Author: Damien Miller <djm@mindrot.org>
6101Date: Fri Nov 15 16:06:30 2019 +1100
6102
6103 upstream commit
6104
6105 revision 1.48
6106 date: 2019/02/04 16:45:40; author: millert; state: Exp; lines: +16 -17; commitid: cpNtVC7erojNyctw;
6107 Make gl_pathc, gl_matchc and gl_offs size_t in glob_t to match POSIX.
6108 This requires a libc major version bump. OK deraadt@
6109
6110commit 2cfb11abac85885de0cb888bbeb9a3e4303105ea
6111Author: Damien Miller <djm@mindrot.org>
6112Date: Fri Nov 15 16:05:07 2019 +1100
6113
6114 upstream commit
6115
6116 revision 1.47
6117 date: 2017/05/08 14:53:27; author: millert; state: Exp; lines: +34 -21; commitid: sYfxfyUHAfarP8sE;
6118 Fix exponential CPU use with repeated '*' operators by changing '*'
6119 handling to be interative instead of recursive.
6120 Fix by Yves Orton, ported to OpenBSD glob.c by Ray Lai. OK tb@
6121
6122commit 228dd595c7882bb9b161dbb7d4dca15c8a5f03f5
6123Author: Damien Miller <djm@mindrot.org>
6124Date: Fri Nov 15 16:04:28 2019 +1100
6125
6126 upstream commit
6127
6128 revision 1.46
6129 date: 2015/12/28 22:08:18; author: mmcc; state: Exp; lines: +5 -9; commitid: 0uXuF2O13NH9q2e1;
6130 Remove NULL-checks before free() and a few related dead assignments.
6131
6132 ok and valuable input from millert@
6133
6134commit a16f748690139b9f452485d97511ad5e578f59b2
6135Author: Damien Miller <djm@mindrot.org>
6136Date: Fri Nov 15 16:02:43 2019 +1100
6137
6138 upstream commit
6139
6140 revision 1.44
6141 date: 2015/09/14 16:09:13; author: tedu; state: Exp; lines: +3 -5; commitid: iWfSX2BIn0sLw62l;
6142 remove null check before free. from Michael McConville
6143 ok semarie
6144
6145commit fd37cdeafe25adfcdc752280f535d28de7997ff1
6146Author: Damien Miller <djm@mindrot.org>
6147Date: Fri Nov 15 16:02:27 2019 +1100
6148
6149 upstream commit
6150
6151 revision 1.43
6152 date: 2015/06/13 16:57:04; author: deraadt; state: Exp; lines: +4 -4; commitid: zOUKuqWBdOPOz1SZ;
6153 in glob() initialize the glob_t before the first failure check.
6154 from j@pureftpd.org
6155 ok millert stsp
6156
6157commit fd62769c3882adea118dccaff80a06009874a2d1
6158Author: Damien Miller <djm@mindrot.org>
6159Date: Fri Nov 15 16:01:20 2019 +1100
6160
6161 upstream commit
6162
6163 revision 1.42
6164 date: 2015/02/05 12:59:57; author: millert; state: Exp; lines: +2 -1; commitid: DTQbfd4poqBW8iSJ;
6165 Include stdint.h, not limits.h to get SIZE_MAX. OK guenther@
6166
6167commit 2b6cba7ee2b8b36f393be739c860a9d2e5d8eb48
6168Author: Damien Miller <djm@mindrot.org>
6169Date: Fri Nov 15 16:00:07 2019 +1100
6170
6171 upstream commit
6172
6173 revision 1.41
6174 date: 2014/10/08 05:35:27; author: deraadt; state: Exp; lines: +3 -3; commitid: JwTGarRLHQKDgPh2;
6175 obvious realloc -> reallocarray conversion
6176
6177commit ab3600665387ae34785498558c4409e27f495b0b
6178Author: djm@openbsd.org <djm@openbsd.org>
6179Date: Fri Nov 15 04:12:32 2019 +0000
6180
6181 upstream: don't consult dlopen whitelist for internal security key
6182
6183 provider; spotted by dtucker@
6184
6185 OpenBSD-Commit-ID: bfe5fbd17e4ff95dd85b9212181652b54444192e
6186
6187commit 19f8ec428db835f68c1cfd63587e9880ccd6486c
6188Author: Damien Miller <djm@mindrot.org>
6189Date: Fri Nov 15 15:08:28 2019 +1100
6190
6191 upstream commit
6192
6193 revision 1.40
6194 date: 2013/09/30 12:02:34; author: millert; state: Exp; lines: +14 -15;
6195 Use PATH_MAX, NAME_MAX and LOGIN_NAME_MAX not MAXPATHNAMELEN,
6196 MAXNAMLEN or MAXLOGNAME where possible. OK deraadt@
6197
6198commit bb7413db98e418d4af791244660abf6c829783f5
6199Author: Damien Miller <djm@mindrot.org>
6200Date: Fri Nov 15 15:07:30 2019 +1100
6201
6202 upstream commit
6203
6204 revision 1.39
6205 date: 2012/01/20 07:09:42; author: tedu; state: Exp; lines: +4 -4;
6206 the glob stat limit is way too low. bump to 2048.
6207 while here, failed stats should count against the limit too.
6208 ok deraadt sthen stsp
6209
6210commit 01362cf7cb979525c014714e2bccf799a46e772e
6211Author: djm@openbsd.org <djm@openbsd.org>
6212Date: Fri Nov 15 03:41:57 2019 +0000
6213
6214 upstream: U2F tokens may return FIDO_ERR_USER_PRESENCE_REQUIRED when
6215
6216 probed to see if they own a key handle. Handle this case so the find_device()
6217 look can work for them. Reported by Michael Forney
6218
6219 OpenBSD-Commit-ID: 2ccd5b30a6ddfe4dba228b7159bf168601bd9166
6220
6221commit cf62307bc9758105913dcb91b418e4968ac2244d
6222Author: Darren Tucker <dtucker@dtucker.net>
6223Date: Fri Nov 15 14:01:00 2019 +1100
6224
6225 Add libfido2 to INSTALL.
6226
6227commit 69fbda1894349d1f420c842dfcbcc883239d1aa7
6228Author: Darren Tucker <dtucker@dtucker.net>
6229Date: Fri Nov 15 13:42:15 2019 +1100
6230
6231 libcrypto is now optional.
6232
6233commit 45ffa369886e37930776d7c15dd8b973242d6ecc
6234Author: djm@openbsd.org <djm@openbsd.org>
6235Date: Fri Nov 15 02:38:07 2019 +0000
6236
6237 upstream: show the "please touch your security key" notifier when
6238
6239 using the (default) build-in security key support.
6240
6241 OpenBSD-Commit-ID: 4707643aaa7124501d14e92d1364b20f312a6428
6242
6243commit 49dc9fa928d77807c53bdc2898db7fb515fe5eb3
6244Author: djm@openbsd.org <djm@openbsd.org>
6245Date: Fri Nov 15 02:37:24 2019 +0000
6246
6247 upstream: close the "touch your security key" notifier on the error
6248
6249 path too
6250
6251 OpenBSD-Commit-ID: c7628bf80505c1aefbb1de7abc8bb5ee51826829
6252
6253commit 22a82712e89bf17c27427aeba15795fb4011a0c2
6254Author: djm@openbsd.org <djm@openbsd.org>
6255Date: Fri Nov 15 02:20:06 2019 +0000
6256
6257 upstream: correct function name in debug message
6258
6259 OpenBSD-Commit-ID: 2482c99d2ce448f39282493050f8a01e3ffc39ab
6260
6261commit 018e2902a65c22faded215a7c588492c948f108c
6262Author: djm@openbsd.org <djm@openbsd.org>
6263Date: Fri Nov 15 00:32:40 2019 +0000
6264
6265 upstream: follow existing askpass logic for security key notifier:
6266
6267 fall back to _PATH_SSH_ASKPASS_DEFAULT if no $SSH_ASKPASS environment
6268 variable is set.
6269
6270 OpenBSD-Commit-ID: cda753726b13fb797bf7a9f7a0b3022d9ade4520
6271
6272commit 575d0042a94997c1eeb86a6dcfb30b3c7bdbcba3
6273Author: djm@openbsd.org <djm@openbsd.org>
6274Date: Thu Nov 14 21:56:52 2019 +0000
6275
6276 upstream: remove debugging goop that snuck in to last commit
6277
6278 OpenBSD-Commit-ID: 8ea4455a2d9364a0a04f9e4a2cbfa4c9fcefe77e
6279
6280commit 63a5b24f2dbdc9a4bf2182ac3db26731ddc617e8
6281Author: Damien Miller <djm@mindrot.org>
6282Date: Fri Nov 15 11:21:26 2019 +1100
6283
6284 don't fatal if libfido2 not found
6285
6286 spotted by dtucker@
6287
6288commit 129952a81c00c332721b4ba3ede868c720ad7f4e
6289Author: Damien Miller <djm@mindrot.org>
6290Date: Fri Nov 15 11:17:12 2019 +1100
6291
6292 correct object dependency
6293
6294commit 6bff9521ab9a9f7396d635755c342b72373bb4f9
6295Author: djm@openbsd.org <djm@openbsd.org>
6296Date: Thu Nov 14 21:27:29 2019 +0000
6297
6298 upstream: directly support U2F/FIDO2 security keys in OpenSSH by
6299
6300 linking against the (previously external) USB HID middleware. The dlopen()
6301 capability still exists for alternate middlewares, e.g. for Bluetooth, NFC
6302 and test/debugging.
6303
6304 OpenBSD-Commit-ID: 14446cf170ac0351f0d4792ba0bca53024930069
6305
6306commit 4f5e331cb8e11face3025aa6578662dde489c3ad
6307Author: markus@openbsd.org <markus@openbsd.org>
6308Date: Wed Nov 13 22:00:21 2019 +0000
6309
6310 upstream: in order to be able to figure out the number of
6311
6312 signatures left on a shielded key, we need to transfer the number of
6313 signatures left from the private to the public key. ok djm@
6314
6315 OpenBSD-Commit-ID: 8a5d0d260aeace47d372695fdae383ce9b962574
6316
6317commit dffd02e297e6c2a4e86775f293eb1b0ff01fb3df
6318Author: markus@openbsd.org <markus@openbsd.org>
6319Date: Wed Nov 13 20:25:45 2019 +0000
6320
6321 upstream: fix check for sig_s; noted by qsa at qualys.com
6322
6323 OpenBSD-Commit-ID: 34198084e4afb424a859f52c04bb2c9668a52867
6324
6325commit fc173aeb1526d4268db89ec5dfebaf8750dd26cd
6326Author: dtucker@openbsd.org <dtucker@openbsd.org>
6327Date: Wed Nov 13 11:25:11 2019 +0000
6328
6329 upstream: When clients get denied by MaxStartups, send a
6330
6331 noification prior to the SSH2 protocol banner according to RFC4253 section
6332 4.2. ok djm@ deraadt@ markus@
6333
6334 OpenBSD-Commit-ID: e5dabcb722d54dea18eafb336d50b733af4f9c63
6335
6336commit bf219920b70cafbf29ebc9890ef67d0efa54e738
6337Author: markus@openbsd.org <markus@openbsd.org>
6338Date: Wed Nov 13 07:53:10 2019 +0000
6339
6340 upstream: fix shield/unshield for xmss keys: - in ssh-agent we need
6341
6342 to delay the call to shield until we have received key specific options. -
6343 when serializing xmss keys for shield we need to deal with all optional
6344 components (e.g. state might not be loaded). ok djm@
6345
6346 OpenBSD-Commit-ID: cc2db82524b209468eb176d6b4d6b9486422f41f
6347
6348commit 40598b85d72a509566b7b2a6d57676c7231fed34
6349Author: deraadt@openbsd.org <deraadt@openbsd.org>
6350Date: Wed Nov 13 05:42:26 2019 +0000
6351
6352 upstream: remove size_t gl_pathc < 0 test, it is invalid. the
6353
6354 return value from glob() is sufficient. discussed with djm
6355
6356 OpenBSD-Commit-ID: c91203322db9caaf7efaf5ae90c794a91070be3c
6357
6358commit 72687c8e7c38736e3e64e833ee7aa8f9cd9efed1
6359Author: deraadt@openbsd.org <deraadt@openbsd.org>
6360Date: Wed Nov 13 04:47:52 2019 +0000
6361
6362 upstream: stdarg.h required more broadly; ok djm
6363
6364 OpenBSD-Commit-ID: b5b15674cde1b54d6dbbae8faf30d47e6e5d6513
6365
6366commit 1e0b248d47c96be944868a735553af8482300a07
6367Author: Darren Tucker <dtucker@dtucker.net>
6368Date: Thu Nov 14 16:08:17 2019 +1100
6369
6370 Put sshsk_sign call inside ifdef ENABLE_SK.
6371
6372 Fixes build against OpenSSL configured without ECC.
6373
6374commit 546274a6f89489d2e6be8a8b62f2bb63c87a61fd
6375Author: Darren Tucker <dtucker@dtucker.net>
6376Date: Wed Nov 13 23:27:31 2019 +1100
6377
6378 Remove duplicate __NR_clock_nanosleep
6379
6380commit b1c82f4b8adf3f42476d8a1f292df33fb7aa1a56
6381Author: Darren Tucker <dtucker@dtucker.net>
6382Date: Wed Nov 13 23:19:35 2019 +1100
6383
6384 seccomp: Allow clock_nanosleep() in sandbox.
6385
6386 seccomp: Allow clock_nanosleep() to make OpenSSH working with latest
6387 glibc. Patch from Jakub Jelen <jjelen@redhat.com> via bz #3093.
6388
6389commit 2b523d23804c13cb68db135b919fcf312c42b580
6390Author: Darren Tucker <dtucker@dtucker.net>
6391Date: Wed Nov 13 11:56:56 2019 +1100
6392
6393 Include stdarg.h for va_list in xmalloc.h.
6394
6395commit 245dcbdca5374296bdb9c48be6e24bdf6b1c0af7
6396Author: Darren Tucker <dtucker@dtucker.net>
6397Date: Wed Nov 13 11:19:26 2019 +1100
6398
6399 Put headers inside ifdef _AIX.
6400
6401 Prevents compile errors due to missing definitions (eg va_list) on
6402 non-AIX platforms.
6403
6404commit a4cc579c6ad2b2e54bdd6cc0d5e12c2288113a56
6405Author: Darren Tucker <dtucker@dtucker.net>
6406Date: Wed Nov 13 10:41:41 2019 +1100
6407
6408 Fix comment in match_usergroup_pattern_list.
6409
6410 Spotted by balu.gajjala@gmail.com via bz#3092.
6411
6412commit fccff339cab5aa66f2554e0188b83f980683490b
6413Author: djm@openbsd.org <djm@openbsd.org>
6414Date: Tue Nov 12 22:38:19 2019 +0000
6415
6416 upstream: allow an empty attestation certificate returned by a
6417
6418 security key enrollment - these are possible for tokens that only offer self-
6419 attestation. This also needs support from the middleware.
6420
6421 ok markus@
6422
6423 OpenBSD-Commit-ID: 135eeeb937088ef6830a25ca0bbe678dfd2c57cc
6424
6425commit e44bb61824e36d0d181a08489c16c378c486a974
6426Author: djm@openbsd.org <djm@openbsd.org>
6427Date: Tue Nov 12 22:36:44 2019 +0000
6428
6429 upstream: security keys typically need to be tapped/touched in
6430
6431 order to perform a signature operation. Notify the user when this is expected
6432 via the TTY (if available) or $SSH_ASKPASS if we can.
6433
6434 ok markus@
6435
6436 OpenBSD-Commit-ID: 0ef90a99a85d4a2a07217a58efb4df8444818609
6437
6438commit 4671211068441519011ac0e38c588317f4157ba1
6439Author: djm@openbsd.org <djm@openbsd.org>
6440Date: Tue Nov 12 22:35:02 2019 +0000
6441
6442 upstream: pass SSH_ASKPASS_PROMPT hint to y/n key confirm too
6443
6444 OpenBSD-Commit-ID: 08d46712e5e5f1bad0aea68e7717b7bec1ab8959
6445
6446commit 5d1c1590d736694f41b03e686045f08fcae20d62
6447Author: djm@openbsd.org <djm@openbsd.org>
6448Date: Tue Nov 12 22:34:20 2019 +0000
6449
6450 upstream: dd API for performing one-shot notifications via tty or
6451
6452 SSH_ASKPASS
6453
6454 OpenBSD-Commit-ID: 9484aea33aff5b62ce3642bf259546c7639f23f3
6455
6456commit 166927fd410823eec8a7b2472463db51e0e6fef5
6457Author: djm@openbsd.org <djm@openbsd.org>
6458Date: Tue Nov 12 22:32:48 2019 +0000
6459
6460 upstream: add xvasprintf()
6461
6462 OpenBSD-Commit-ID: e5e3671c05c121993b034db935bce1a7aa372247
6463
6464commit 782093ec6cf64cc6c4078410093359869ea9329f
6465Author: Darren Tucker <dtucker@dtucker.net>
6466Date: Wed Nov 13 09:08:55 2019 +1100
6467
6468 Remove leftover if statement from sync.
6469
6470commit b556cc3cbf0c43f073bb41bba4e92ca709a1ec13
6471Author: markus@openbsd.org <markus@openbsd.org>
6472Date: Tue Nov 12 19:34:40 2019 +0000
6473
6474 upstream: remove extra layer for ed25519 signature; ok djm@
6475
6476 OpenBSD-Commit-ID: 7672d9d0278b4bf656a12d3aab0c0bfe92a8ae47
6477
6478commit 3fcf69ace19e75cf9dcd7206f396adfcb29611a8
6479Author: markus@openbsd.org <markus@openbsd.org>
6480Date: Tue Nov 12 19:34:00 2019 +0000
6481
6482 upstream: check sig_r and sig_s for ssh-sk keys; ok djm
6483
6484 OpenBSD-Commit-ID: 1a1e6a85b5f465d447a3800f739e35c5b74e0abc
6485
6486commit 2c55744a56de0ffc81fe445a1e7fc5cd308712b3
6487Author: markus@openbsd.org <markus@openbsd.org>
6488Date: Tue Nov 12 19:33:08 2019 +0000
6489
6490 upstream: enable ed25519 support; ok djm
6491
6492 OpenBSD-Commit-ID: 1a399c5b3ef15bd8efb916110cf5a9e0b554ab7e
6493
6494commit fd1a3b5e38721b1d69aae2d9de1a1d9155dfa5c7
6495Author: markus@openbsd.org <markus@openbsd.org>
6496Date: Tue Nov 12 19:32:30 2019 +0000
6497
6498 upstream: update sk-api to version 2 for ed25519 support; ok djm
6499
6500 OpenBSD-Commit-ID: 77aa4d5b6ab17987d8a600907b49573940a0044a
6501
6502commit 7c32b51edbed5bd57870249c0a45dffd06be0002
6503Author: markus@openbsd.org <markus@openbsd.org>
6504Date: Tue Nov 12 19:31:45 2019 +0000
6505
6506 upstream: implement sshsk_ed25519_assemble(); ok djm
6507
6508 OpenBSD-Commit-ID: af9ec838b9bc643786310b5caefc4ca4754e68c6
6509
6510commit fe05a36dc0ea884c8c2395d53d804fe4f4202b26
6511Author: markus@openbsd.org <markus@openbsd.org>
6512Date: Tue Nov 12 19:31:18 2019 +0000
6513
6514 upstream: implement sshsk_ed25519_inner_sig(); ok djm
6515
6516 OpenBSD-Commit-ID: f422d0052c6d948fe0e4b04bc961f37fdffa0910
6517
6518commit e03a29e6554cd0c9cdbac0dae53dd79e6eb4ea47
6519Author: markus@openbsd.org <markus@openbsd.org>
6520Date: Tue Nov 12 19:30:50 2019 +0000
6521
6522 upstream: rename sshsk_ecdsa_sign() to sshsk_sign(); ok djm
6523
6524 OpenBSD-Commit-ID: 1524042e09d81e54c4470d7bfcc0194c5b46fe19
6525
6526commit bc7b5d6187de625c086b5f639b25bbad17bbabfc
6527Author: markus@openbsd.org <markus@openbsd.org>
6528Date: Tue Nov 12 19:30:21 2019 +0000
6529
6530 upstream: factor out sshsk_ecdsa_inner_sig(); ok djm@
6531
6532 OpenBSD-Commit-ID: 07e41997b542f670a15d7e2807143fe01efef584
6533
6534commit cef84a062db8cfeece26f067235dc440f6992c17
6535Author: markus@openbsd.org <markus@openbsd.org>
6536Date: Tue Nov 12 19:29:54 2019 +0000
6537
6538 upstream: factor out sshsk_ecdsa_assemble(); ok djm@
6539
6540 OpenBSD-Commit-ID: 2313761a3a84ccfe032874d638d3c363e0f14026
6541
6542commit 7c096c456f33f3d2682736d4735cc10e790276e9
6543Author: markus@openbsd.org <markus@openbsd.org>
6544Date: Tue Nov 12 19:29:24 2019 +0000
6545
6546 upstream: implement ssh-ed25519-sk verification; ok djm@
6547
6548 OpenBSD-Commit-ID: 37906d93948a1e3d237c20e713d6ca8fbf7d13f6
6549
6550commit ba5fb02bed1e556d0ce7b1740ae8a5f87b737491
6551Author: Damien Miller <djm@mindrot.org>
6552Date: Wed Nov 13 08:48:30 2019 +1100
6553
6554 ignore ssh-sk-helper
6555
6556commit 78c96498947f711141f493a40d202c482cc59438
6557Author: deraadt@openbsd.org <deraadt@openbsd.org>
6558Date: Mon Nov 11 19:53:37 2019 +0000
6559
6560 upstream: skip demanding -fstack-protector-all on hppa. we never
6561
6562 wrote a stack protector for reverse-stack architectures, and i don't think
6563 anyone else did either. a warning per compiled file is just annoying.
6564
6565 OpenBSD-Commit-ID: 14806a59353152f843eb349e618abbf6f4dd3ada
6566
6567commit aa1c9e37789f999979fe59df74ce5c8424861ac8
6568Author: djm@openbsd.org <djm@openbsd.org>
6569Date: Fri Nov 8 03:54:02 2019 +0000
6570
6571 upstream: duplicate 'x' character in getopt(3) optstring
6572
6573 OpenBSD-Commit-ID: 64c81caa0cb5798de3621eca16b7dd22e5d0d8a7
6574
6575commit aa4c640dc362816d63584a16e786d5e314e24390
6576Author: naddy@openbsd.org <naddy@openbsd.org>
6577Date: Thu Nov 7 08:38:38 2019 +0000
6578
6579 upstream: Fill in missing man page bits for U2F security key support:
6580
6581 Mention the new key types, the ~/.ssh/id_ecdsa_sk file, ssh's
6582 SecurityKeyProvider keyword, the SSH_SK_PROVIDER environment variable,
6583 and ssh-keygen's new -w and -x options.
6584
6585 Copy the ssh-sk-helper man page from ssh-pkcs11-helper with minimal
6586 substitutions.
6587
6588 ok djm@
6589
6590 OpenBSD-Commit-ID: ef2e8f83d0c0ce11ad9b8c28945747e5ca337ac4
6591
6592commit b236b27d6dada7f0542214003632b4e9b7aa1380
6593Author: Darren Tucker <dtucker@dtucker.net>
6594Date: Sun Nov 3 00:10:43 2019 +1100
6595
6596 Put sftp-realpath in libssh.a
6597
6598 and remove it from the specific binary targets.
6599
6600commit 382c18c20cdcec45b5d21ff25b4a5e0df91a68c4
6601Author: Darren Tucker <dtucker@dtucker.net>
6602Date: Sun Nov 3 00:09:21 2019 +1100
6603
6604 statfs might be defined in sys/mount.h.
6605
6606 eg on old NetBSDs.
6607
6608commit 03ffc0951c305c8e3b5fdc260d65312a57f8f7ea
6609Author: Darren Tucker <dtucker@dtucker.net>
6610Date: Sat Nov 2 23:25:01 2019 +1100
6611
6612 Put stdint.h inside ifdef HAVE_STDINT_H.
6613
6614commit 19cb64c4b42d4312ce12091fd9436dbd6898998c
6615Author: Darren Tucker <dtucker@dtucker.net>
6616Date: Sat Nov 2 22:45:44 2019 +1100
6617
6618 Rebuild .depend.
6619
6620commit 3611bfe89b92ada5914526d8ff0919aeb967cfa7
6621Author: Darren Tucker <dtucker@dtucker.net>
6622Date: Sat Nov 2 22:42:05 2019 +1100
6623
6624 Define __BSD_VISIBLE in fnmatch.h.
6625
6626 .. since we use symbols defined only when it is when using the compat
6627 fnmatch.
6628
6629commit f5cc5816aaddb8eca3cba193f53e99d6a0b37d05
6630Author: Darren Tucker <dtucker@dtucker.net>
6631Date: Sat Nov 2 16:39:38 2019 +1100
6632
6633 Only enable U2F if OpenSSL supports ECC.
6634
6635 This requires moving the U2F bits to below the OpenSSL parts so we have
6636 the required information. ok djm@
6637
6638commit ad38406fc95fa223b0ef2edf8ff50508f8ab1cb6
6639Author: naddy@openbsd.org <naddy@openbsd.org>
6640Date: Fri Nov 1 12:10:43 2019 +0000
6641
6642 upstream: fix miscellaneous text problems; ok djm@
6643
6644 OpenBSD-Commit-ID: 0cbf411a14d8fa0b269b69cbb1b4fc0ca699fe9f
6645
6646commit 9cac151c2dc76b8e5b727b2fa216f572e372170f
6647Author: Darren Tucker <dtucker@dtucker.net>
6648Date: Fri Nov 1 18:26:07 2019 +1100
6649
6650 Add flags needed to build and work on Ultrix.
6651
6652commit 0e3c5bc50907d2058407641b5a3581b7eda91b7e
6653Author: Darren Tucker <dtucker@dtucker.net>
6654Date: Fri Nov 1 18:24:29 2019 +1100
6655
6656 Hook up fnmatch for platforms that don't have it.
6657
6658commit b56dbfd9d967e5b6ce7be9f81f206112e19e1030
6659Author: Darren Tucker <dtucker@dtucker.net>
6660Date: Fri Nov 1 18:17:42 2019 +1100
6661
6662 Add missing bracket in realpath macro.
6663
6664commit 59ccb56f15e5e530e7c1b5a0b361749d8c6217d5
6665Author: Darren Tucker <dtucker@dtucker.net>
6666Date: Fri Nov 1 17:32:47 2019 +1100
6667
6668 Import fnmatch.c from OpenBSD.
6669
6670commit 79d46de9fbea0f3c0e8ae7cf84effaba089071b0
6671Author: Darren Tucker <dtucker@dtucker.net>
6672Date: Fri Nov 1 15:22:32 2019 +1100
6673
6674 Use sftp_realpath if no native realpath.
6675
6676commit bb4f003ed8c5f61ec74a66bcedc8ab19bf5b35c4
6677Author: Darren Tucker <dtucker@dtucker.net>
6678Date: Fri Nov 1 15:06:16 2019 +1100
6679
6680 Configure flags for haiku from haikuports.
6681
6682 Should build with the default flags with ./configure
6683
6684commit 4332b4fe49360679647a8705bc08f4e81323f6b4
6685Author: djm@openbsd.org <djm@openbsd.org>
6686Date: Fri Nov 1 03:54:33 2019 +0000
6687
6688 upstream: fix a race condition in the SIGCHILD handler that could turn
6689
6690 in to a kill(-1); bz3084, reported by Gao Rui, ok dtucker@
6691
6692 OpenBSD-Commit-ID: ac2742e04a69d4c34223505b6a32f6d686e18896
6693
6694commit 03f9205f0fb49ea2507eacc143737a8511ae5a4e
6695Author: Damien Miller <djm@mindrot.org>
6696Date: Fri Nov 1 14:49:25 2019 +1100
6697
6698 conditionalise SK sign/verify on ENABLE_SK
6699
6700 Spotted by Darren and his faux-Vax
6701
6702commit 5eb7b9563ff818e17de24231bf2d347d9db302c5
6703Author: Darren Tucker <dtucker@dtucker.net>
6704Date: Fri Nov 1 14:41:07 2019 +1100
6705
6706 Add prototype for localtime_r if needed.
6707
6708commit d500b59a825f6a58f2abf7b04eb1992d81e45d58
6709Author: Darren Tucker <dtucker@dtucker.net>
6710Date: Fri Nov 1 13:42:12 2019 +1100
6711
6712 Check if IP_TOS is defined before using.
6713
6714commit 764d51e04460ec0da12e05e4777bc90c116accb9
6715Author: Damien Miller <djm@mindrot.org>
6716Date: Fri Nov 1 13:34:49 2019 +1100
6717
6718 autoconf pieces for U2F support
6719
6720 Mostly following existing logic for PKCS#11 - turning off support
6721 when either libcrypto or dlopen(3) are unavailable.
6722
6723commit 45f17a159acfc5a8e450bfbcc2cffe72950ed7a3
6724Author: djm@openbsd.org <djm@openbsd.org>
6725Date: Fri Nov 1 02:32:05 2019 +0000
6726
6727 upstream: remove duplicate PUBKEY_DEFAULT_PK_ALG on !WITH_OPENSSL path
6728
6729 OpenBSD-Commit-ID: 95a7cafad2a4665d57cabacc28031fabc0bea9fc
6730
6731commit db8d13f7925da7337df87248995c533e111637ec
6732Author: djm@openbsd.org <djm@openbsd.org>
6733Date: Fri Nov 1 02:06:52 2019 +0000
6734
6735 upstream: more additional source files
6736
6737 OpenBSD-Regress-ID: 8eaa25fb901594aee23b76eda99dca5b8db94c6f
6738
6739commit f89c5df65dd307739ff22319c2cf847d3b0c5ab4
6740Author: djm@openbsd.org <djm@openbsd.org>
6741Date: Fri Nov 1 02:04:25 2019 +0000
6742
6743 upstream: additional source files here too
6744
6745 OpenBSD-Regress-ID: 8809f8e1c8f7459e7096ab6b58d8e56cb2f483fd
6746
6747commit 02275afa1ecbfbd39f27d34c97090e76bec232ec
6748Author: djm@openbsd.org <djm@openbsd.org>
6749Date: Fri Nov 1 02:03:27 2019 +0000
6750
6751 upstream: additional source files here too
6752
6753 OpenBSD-Regress-ID: 09297e484327f911fd353489518cceaa0c1b95ce
6754
6755commit dfc8f01b9886c7999e6e20acf3f7492cb8c80796
6756Author: djm@openbsd.org <djm@openbsd.org>
6757Date: Fri Nov 1 01:57:59 2019 +0000
6758
6759 upstream: adapt to extra sshkey_sign() argument and additional
6760
6761 dependencies
6762
6763 OpenBSD-Regress-ID: 7a25604968486c4d6f81d06e8fbc7d17519de50e
6764
6765commit afa59e26eeb44a93f36f043f60b936eaddae77c4
6766Author: djm@openbsd.org <djm@openbsd.org>
6767Date: Fri Nov 1 01:55:41 2019 +0000
6768
6769 upstream: skip security-key key types for tests until we have a
6770
6771 dummy U2F middleware to use.
6772
6773 OpenBSD-Regress-ID: 37200462b44334a4ad45e6a1f7ad1bd717521a95
6774
6775commit de871e4daf346a712c78fa4ab8f18b231a47cb85
6776Author: jmc@openbsd.org <jmc@openbsd.org>
6777Date: Fri Nov 1 00:52:35 2019 +0000
6778
6779 upstream: sort;
6780
6781 OpenBSD-Commit-ID: 8264b0be01ec5a60602bd50fd49cc3c81162ea16
6782
6783commit 2aae149a34b1b5dfbef423d3b7999a96818969bb
6784Author: djm@openbsd.org <djm@openbsd.org>
6785Date: Thu Oct 31 21:37:33 2019 +0000
6786
6787 upstream: undo debugging bits that shouldn't have been committed
6788
6789 OpenBSD-Commit-ID: 4bd5551b306df55379afe17d841207990eb773bf
6790
6791commit 3420e0464bd0e8fedcfa5fd20ad37bdc740ad5b4
6792Author: Damien Miller <djm@mindrot.org>
6793Date: Fri Nov 1 09:24:58 2019 +1100
6794
6795 depend
6796
6797commit b923a90abc7bccb11a513dc8b5c0f13a0ea9682c
6798Author: djm@openbsd.org <djm@openbsd.org>
6799Date: Thu Oct 31 21:28:27 2019 +0000
6800
6801 upstream: fix -Wshadow warning
6802
6803 OpenBSD-Commit-ID: 3441eb04f872a00c2483c11a5f1570dfe775103c
6804
6805commit 9a14c64c38fc14d0029f1c7bc70cf62cc7f0fdf9
6806Author: djm@openbsd.org <djm@openbsd.org>
6807Date: Thu Oct 31 21:23:19 2019 +0000
6808
6809 upstream: Refactor signing - use sshkey_sign for everything,
6810
6811 including the new U2F signatures.
6812
6813 Don't use sshsk_ecdsa_sign() directly, instead make it reachable via
6814 sshkey_sign() like all other signature operations. This means that
6815 we need to add a provider argument to sshkey_sign(), so most of this
6816 change is mechanically adding that.
6817
6818 Suggested by / ok markus@
6819
6820 OpenBSD-Commit-ID: d5193a03fcfa895085d91b2b83d984a9fde76c8c
6821
6822commit 07da39f71d36fb547749a5b16aa8892e621a7e4a
6823Author: djm@openbsd.org <djm@openbsd.org>
6824Date: Thu Oct 31 21:22:01 2019 +0000
6825
6826 upstream: ssh-agent support for U2F/FIDO keys
6827
6828 feedback & ok markus@
6829
6830 OpenBSD-Commit-ID: bb544a44bc32e45d2ec8bf652db2046f38360acb
6831
6832commit eebec620c9519c4839d781c4d5b6082152998f82
6833Author: djm@openbsd.org <djm@openbsd.org>
6834Date: Thu Oct 31 21:20:38 2019 +0000
6835
6836 upstream: ssh AddKeysToAgent support for U2F/FIDO keys
6837
6838 feedback & ok markus@
6839
6840 OpenBSD-Commit-ID: ac08e45c7f995fa71f8d661b3f582e38cc0a2f91
6841
6842commit 486164d060314a7f8bca2a00f53be9e900c5e74d
6843Author: djm@openbsd.org <djm@openbsd.org>
6844Date: Thu Oct 31 21:19:56 2019 +0000
6845
6846 upstream: ssh-add support for U2F/FIDO keys
6847
6848 OpenBSD-Commit-ID: 7f88a5181c982687afedf3130c6ab2bba60f7644
6849
6850commit b9dd14d3091e31fb836f69873d3aa622eb7b4a1c
6851Author: djm@openbsd.org <djm@openbsd.org>
6852Date: Thu Oct 31 21:19:14 2019 +0000
6853
6854 upstream: add new agent key constraint for U2F/FIDO provider
6855
6856 feedback & ok markus@
6857
6858 OpenBSD-Commit-ID: d880c380170704280b4003860a1744d286c7a172
6859
6860commit 884416bdb10468f1252e4d7c13d51b43dccba7f6
6861Author: djm@openbsd.org <djm@openbsd.org>
6862Date: Thu Oct 31 21:18:28 2019 +0000
6863
6864 upstream: ssh client support for U2F/FIDO keys
6865
6866 OpenBSD-Commit-ID: eb2cfa6cf7419a1895e06e398ea6d41516c5b0bc
6867
6868commit 01a0670f69c5b86e471e033b92145d6c7cc77c58
6869Author: djm@openbsd.org <djm@openbsd.org>
6870Date: Thu Oct 31 21:17:49 2019 +0000
6871
6872 upstream: Separate myproposal.h userauth pubkey types
6873
6874 U2F/FIDO keys are not supported for host authentication, so we need
6875 a separate list for user keys.
6876
6877 feedback & ok markus@
6878
6879 OpenBSD-Commit-ID: 7fe2e6ab85f9f2338866e5af8ca2d312abbf0429
6880
6881commit 23f38c2d8cda3fad24e214e1f0133c42435b54ee
6882Author: djm@openbsd.org <djm@openbsd.org>
6883Date: Thu Oct 31 21:17:09 2019 +0000
6884
6885 upstream: ssh-keygen support for generating U2F/FIDO keys
6886
6887 OpenBSD-Commit-ID: 6ce04f2b497ac9dd8c327f76f1e6c724fb1d1b37
6888
6889commit ed3467c1e16b7396ff7fcf12d2769261512935ec
6890Author: djm@openbsd.org <djm@openbsd.org>
6891Date: Thu Oct 31 21:16:20 2019 +0000
6892
6893 upstream: U2F/FIDO middleware interface
6894
6895 Supports enrolling (generating) keys and signatures.
6896
6897 feedback & ok markus@
6898
6899 OpenBSD-Commit-ID: 73d1dd5939454f9c7bd840f48236cba41e8ad592
6900
6901commit 02bb0768a937e50bbb236efc2bbdddb1991b1c85
6902Author: djm@openbsd.org <djm@openbsd.org>
6903Date: Thu Oct 31 21:15:14 2019 +0000
6904
6905 upstream: Initial infrastructure for U2F/FIDO support
6906
6907 Key library support: including allocation, marshalling public/private
6908 keys and certificates, signature validation.
6909
6910 feedback & ok markus@
6911
6912 OpenBSD-Commit-ID: a17615ba15e0f7932ac4360cb18fc9a9544e68c7
6913
6914commit 57ecc10628b04c384cbba2fbc87d38b74cd1199d
6915Author: djm@openbsd.org <djm@openbsd.org>
6916Date: Thu Oct 31 21:14:17 2019 +0000
6917
6918 upstream: Protocol documentation for U2F/FIDO keys in OpenSSH
6919
6920 OpenBSD-Commit-ID: 8f3247317c2909870593aeb306dff848bc427915
6921
6922commit f4fdcd2b7a2bbf5d8770d44565173ca5158d4dcb
6923Author: Damien Miller <djm@mindrot.org>
6924Date: Fri Nov 1 08:36:16 2019 +1100
6925
6926 Missing unit test files
6927
6928commit 1bcd1169c5221688418fa38606e9c69055b72451
6929Author: Darren Tucker <dtucker@dtucker.net>
6930Date: Tue Oct 29 19:45:03 2019 +1100
6931
6932 Add implementation of localtime_r.
6933
6934commit 2046ed16c1202431b0307674c33a123a113e8297
6935Author: dtucker@openbsd.org <dtucker@openbsd.org>
6936Date: Tue Oct 29 07:47:27 2019 +0000
6937
6938 upstream: Signal handler cleanup: remove leftover support for
6939
6940 unreliable signals and now-unneeded save and restore of errno. ok deraadt@
6941 markus@
6942
6943 OpenBSD-Commit-ID: 01dd8a1ebdd991c8629ba1f5237283341a93cd88
6944
6945commit 70fc9a6ca4dd33cb2dd400a4dad5db9683a3d284
6946Author: jmc@openbsd.org <jmc@openbsd.org>
6947Date: Tue Oct 22 08:50:35 2019 +0000
6948
6949 upstream: fixes from lucas;
6950
6951 OpenBSD-Commit-ID: 4c4bfd2806c5bbc753788ffe19c5ee13aaf418b2
6952
6953commit 702368aa4381c3b482368257ac574a87b5a80938
6954Author: dtucker@openbsd.org <dtucker@openbsd.org>
6955Date: Tue Oct 22 07:06:35 2019 +0000
6956
6957 upstream: Import regenerated moduli file.
6958
6959 OpenBSD-Commit-ID: 58ec755be4e51978ecfee73539090eb68652a987
6960
6961commit 5fe81da22652f8caa63e9e3a1af519a85d36337e
6962Author: Darren Tucker <dtucker@dtucker.net>
6963Date: Mon Oct 28 21:19:47 2019 +1100
6964
6965 Fix ifdefs to not mask needed bits.
6966
6967commit 7694e9d2fb5785bbdd0920dce7a160bd79feaf00
6968Author: Darren Tucker <dtucker@dtucker.net>
6969Date: Mon Oct 28 17:05:36 2019 +1100
6970
6971 Only use RLIMIT_NOFILE if it's defined.
6972
6973commit d561b0b2fa2531b4cc3bc70a7d657c6485c9fd0b
6974Author: Darren Tucker <dtucker@dtucker.net>
6975Date: Mon Oct 28 16:09:04 2019 +1100
6976
6977 Make sure we have struct statfs before using.
6978
6979commit 2912596aecfcf48e5115c7a906d1e664f7717a4b
6980Author: Darren Tucker <dtucker@dtucker.net>
6981Date: Mon Oct 28 16:06:59 2019 +1100
6982
6983 Define UINT32_MAX if needed.
6984
6985commit 7169e31121e8c8cc729b55154deb722ae495b316
6986Author: Darren Tucker <dtucker@dtucker.net>
6987Date: Mon Oct 28 16:00:45 2019 +1100
6988
6989 Move utimensat definition into timespec section.
6990
6991 Since utimensat uses struct timespec, move it to the section where we
6992 define struct timespec when needed.
6993
6994commit 850ec1773d656cbff44d78a79e369dc262ce5853
6995Author: Darren Tucker <dtucker@dtucker.net>
6996Date: Mon Oct 28 15:57:22 2019 +1100
6997
6998 Wrap OpenSSL bits in WITH_OPENSSL.
6999
7000commit 6fc7e1c6fec3ba589869ae98e968c0e5e2e4695b
7001Author: Darren Tucker <dtucker@dtucker.net>
7002Date: Mon Oct 28 15:53:25 2019 +1100
7003
7004 Wrap poll.h includes in HAVE_POLL_H.
7005
7006commit 9239a18f96905cc1a353e861e33af093652f24e7
7007Author: Darren Tucker <dtucker@dtucker.net>
7008Date: Thu Oct 24 14:39:49 2019 +1100
7009
7010 Add a function call stackprotector tests.
7011
7012 Including a function call in the test programs for the gcc stack
7013 protector flag tests exercises more of the compiler and makes it more
7014 likely it'll detect problems.
7015
7016commit b9705393be4612fd5e29d0cd8e7cf2b66ed19eb7
7017Author: Darren Tucker <dtucker@dtucker.net>
7018Date: Tue Oct 22 18:09:22 2019 +1100
7019
7020 Import regenerated moduli file.
7021
7022commit 76ed2199491397e0f9902ade80d5271e4a9b2630
7023Author: djm@openbsd.org <djm@openbsd.org>
7024Date: Wed Oct 16 06:05:39 2019 +0000
7025
7026 upstream: potential NULL dereference for revoked hostkeys; reported
7027
7028 by krishnaiah bommu
7029
7030 OpenBSD-Commit-ID: 35ff685e7cc9dd2e3fe2e3dfcdcb9bc5c79f6506
7031
7032commit 6500c3bc71bf4fe14972c1177e6b93f1164d07a4
7033Author: djm@openbsd.org <djm@openbsd.org>
7034Date: Wed Oct 16 06:03:30 2019 +0000
7035
7036 upstream: free buf before return; reported by krishnaiah bommu
7037
7038 OpenBSD-Commit-ID: 091bb23a6e913af5d4f72c50030b53ce1cef4de1
7039
7040commit d7d116b6d9e6cb79cc235e9801caa683d3db3181
7041Author: djm@openbsd.org <djm@openbsd.org>
7042Date: Mon Oct 14 06:00:02 2019 +0000
7043
7044 upstream: memleak in error path; spotted by oss-fuzz, ok markus@
7045
7046 OpenBSD-Commit-ID: d6ed260cbbc297ab157ad63931802fb1ef7a4266
7047
7048commit 9b9e3ca6945351eefb821ff783a4a8e6d9b98b9a
7049Author: Darren Tucker <dtucker@dtucker.net>
7050Date: Fri Oct 11 14:12:16 2019 +1100
7051
7052 Re-add SA_RESTART to mysignal.
7053
7054 This makes mysignal implement reliable BSD semantics according to
7055 Stevens' APUE. This was first attempted in 2001 but was reverted
7056 due to problems with HP-UX 10.20 and select() and possibly grantpt().
7057 Modern systems should be fine with it, but if any current platforms have
7058 a problem with it now we can disable it just for those. ok djm@
7059
7060commit 0bd312a362168c1eae3cd6b3889395a78e6fd0f8
7061Author: Darren Tucker <dtucker@dtucker.net>
7062Date: Thu Oct 10 09:42:03 2019 +1100
7063
7064 Fix ifdef typo for declaration of memmem.
7065
7066 Fixes build on IRIX. bz#3081.
7067
7068commit 01ce1cd402d5eecde2bba35b67e08f5b266b37fd
7069Author: Abhishek Arya <inferno@chromium.org>
7070Date: Tue Oct 8 20:19:18 2019 -0700
7071
7072 Update README.md
7073
7074commit 1ba130ac8fb2884307f658126f04578f8aef409e
7075Author: Damien Miller <djm@mindrot.org>
7076Date: Wed Oct 9 13:49:35 2019 +1100
7077
7078 add a fuzzer for private key parsing
7079
7080commit cdf1d0a9f5d18535e0a18ff34860e81a6d83aa5c
7081Author: Damien Miller <djm@mindrot.org>
7082Date: Wed Oct 9 11:31:03 2019 +1100
7083
7084 prepare for 8.1 release
7085
7086commit 3b4e56d740b74324e2d7542957cad5a11518f455
7087Author: djm@openbsd.org <djm@openbsd.org>
7088Date: Wed Oct 9 00:04:57 2019 +0000
7089
7090 upstream: openssh-8.1
7091
7092 OpenBSD-Commit-ID: 3356bb34e2aa287f0e6d6773c9ae659dc680147d
7093
7094commit 29e0ecd9b4eb3b9f305e2240351f0c59cad9ef81
7095Author: djm@openbsd.org <djm@openbsd.org>
7096Date: Wed Oct 9 00:04:42 2019 +0000
7097
7098 upstream: fix an unreachable integer overflow similar to the XMSS
7099
7100 case, and some other NULL dereferences found by fuzzing.
7101
7102 fix with and ok markus@
7103
7104 OpenBSD-Commit-ID: 0f81adbb95ef887ce586953e1cb225fa45c7a47b
7105
7106commit a546b17bbaeb12beac4c9aeed56f74a42b18a93a
7107Author: djm@openbsd.org <djm@openbsd.org>
7108Date: Wed Oct 9 00:02:57 2019 +0000
7109
7110 upstream: fix integer overflow in XMSS private key parsing.
7111
7112 Reported by Adam Zabrocki via SecuriTeam's SSH program.
7113
7114 Note that this code is experimental and not compiled by default.
7115
7116 ok markus@
7117
7118 OpenBSD-Commit-ID: cd0361896d15e8a1bac495ac583ff065ffca2be1
7119
7120commit c2cc25480ba36ab48c1a577bebb12493865aad87
7121Author: dtucker@openbsd.org <dtucker@openbsd.org>
7122Date: Tue Oct 8 22:40:39 2019 +0000
7123
7124 upstream: Correct type for end-of-list sentinel; fixes initializer
7125
7126 warnings on some platforms. ok deraadt.
7127
7128 OpenBSD-Commit-ID: a990dbc2dac25bdfa07e79321349c73fd991efa2
7129
7130commit e827aedf8818e75c0016b47ed8fc231427457c43
7131Author: djm@openbsd.org <djm@openbsd.org>
7132Date: Mon Oct 7 23:10:38 2019 +0000
7133
7134 upstream: reversed test yielded incorrect debug message
7135
7136 OpenBSD-Commit-ID: 78bb512d04cfc238adb2c5b7504ac93eecf523b3
7137
7138commit 8ca491d29fbe26e5909ce22b344c0a848dc28d55
7139Author: Damien Miller <djm@mindrot.org>
7140Date: Tue Oct 8 17:05:57 2019 +1100
7141
7142 depend
7143
7144commit 86a0323374cbd404629e75bb320b3fa1c16aaa6b
7145Author: Darren Tucker <dtucker@dtucker.net>
7146Date: Wed Oct 9 09:36:06 2019 +1100
7147
7148 Make MAKE_CLONE no-op macro more correct.
7149
7150 Similar to the previous change to DEF_WEAK, some compilers don't like
7151 the empty statement, so convert into a no-op function prototype.
7152
7153commit cfc1897a2002ec6c4dc879b24e8b3153c87ea2cf
7154Author: Damien Miller <djm@mindrot.org>
7155Date: Wed Oct 9 09:06:35 2019 +1100
7156
7157 wrap stdint.h include in HAVE_STDINT_H
7158
7159 make the indenting a little more consistent too..
7160
7161 Fixes Solaris 2.6; reported by Tom G. Christensen
7162
7163commit 13b3369830a43b89a503915216a23816d1b25744
7164Author: Damien Miller <djm@mindrot.org>
7165Date: Tue Oct 8 15:32:02 2019 +1100
7166
7167 avoid "return (value)" in void-declared function
7168
7169 spotted by Tim Rice; ok dtucker
7170
7171commit 0c7f8d2326d812b371f7afd63aff846973ec80a4
7172Author: Darren Tucker <dtucker@dtucker.net>
7173Date: Tue Oct 8 14:44:50 2019 +1100
7174
7175 Make DEF_WEAK more likely to be correct.
7176
7177 Completely nop-ing out DEF_WEAK leaves an empty statemment which some
7178 compilers don't like. Replace with a no-op function template. ok djm@
7179
7180commit b1e79ea8fae9c252399677a28707661d85c7d00c
7181Author: dtucker@openbsd.org <dtucker@openbsd.org>
7182Date: Sun Oct 6 11:49:50 2019 +0000
7183
7184 upstream: Instead of running sed over the whole log to remove CRs,
7185
7186 remove them only where it's needed (and confuses test(1) on at least OS X in
7187 portable).
7188
7189 OpenBSD-Regress-ID: a6ab9b4bd1d33770feaf01b2dfb96f9e4189d2d0
7190
7191commit 8dc7d6b75a7f746fdd056acd41dffc0a13557a4c
7192Author: Eduardo Barretto <ebarretto@linux.vnet.ibm.com>
7193Date: Tue May 9 13:33:30 2017 -0300
7194
7195 Enable specific ioctl call for EP11 crypto card (s390)
7196
7197 The EP11 crypto card needs to make an ioctl call, which receives an
7198 specific argument. This crypto card is for s390 only.
7199
7200 Signed-off-by: Eduardo Barretto <ebarretto@linux.vnet.ibm.com>
7201
7202commit 07f2c7f34951c04d2cd796ac6c80e47c56c4969e
7203Author: djm@openbsd.org <djm@openbsd.org>
7204Date: Fri Oct 4 04:31:59 2019 +0000
7205
7206 upstream: fix memory leak in error path; bz#3074 patch from
7207
7208 krishnaiah.bommu@intel.com, ok dtucker
7209
7210 OpenBSD-Commit-ID: d031853f3ecf47b35a0669588f4d9d8e3b307b3c
7211
7212commit b7fbc75e119170f4d15c94a7fda4a1050e0871d6
7213Author: djm@openbsd.org <djm@openbsd.org>
7214Date: Fri Oct 4 04:13:39 2019 +0000
7215
7216 upstream: space
7217
7218 OpenBSD-Commit-ID: 350648bcf00a2454e7ef998b7d88e42552b348ac
7219
7220commit 643ab68c79ac1644f4a31e36928c2bfc8a51db3c
7221Author: djm@openbsd.org <djm@openbsd.org>
7222Date: Fri Oct 4 03:39:19 2019 +0000
7223
7224 upstream: more sshsig regress tests: check key revocation, the
7225
7226 check-novalidate signature test mode and signing keys in ssh-agent.
7227
7228 From Sebastian Kinne (slightly tweaked)
7229
7230 OpenBSD-Regress-ID: b39566f5cec70140674658cdcedf38752a52e2e2
7231
7232commit 714031a10bbe378a395a93cf1040f4ee1451f45f
7233Author: dtucker@openbsd.org <dtucker@openbsd.org>
7234Date: Fri Oct 4 03:26:58 2019 +0000
7235
7236 upstream: Check for gmtime failure in moduli generation. Based on
7237
7238 patch from krishnaiah.bommu@intel.com, ok djm@
7239
7240 OpenBSD-Commit-ID: 4c6a4cde0022188ac83737de08da0e875704eeaa
7241
7242commit 6918974405cc28ed977f802fd97a9c9a9b2e141b
7243Author: jmc@openbsd.org <jmc@openbsd.org>
7244Date: Thu Oct 3 17:07:50 2019 +0000
7245
7246 upstream: use a more common options order in SYNOPSIS and sync
7247
7248 usage(); while here, no need for Bk/Ek;
7249
7250 ok dtucker
7251
7252 OpenBSD-Commit-ID: 38715c3f10b166f599a2283eb7bc14860211bb90
7253
7254commit feff96b7d4c0b99307f0459cbff128aede4a8984
7255Author: djm@openbsd.org <djm@openbsd.org>
7256Date: Wed Oct 2 09:50:50 2019 +0000
7257
7258 upstream: thinko in previous; spotted by Mantas
7259
7260 =?UTF-8?q?=20Mikul=C4=97nas?=
7261 MIME-Version: 1.0
7262 Content-Type: text/plain; charset=UTF-8
7263 Content-Transfer-Encoding: 8bit
7264
7265 OpenBSD-Commit-ID: ffa3f5a45e09752fc47d9041e2203ee2ec15b24d
7266
7267commit b5a89eec410967d6b712665f8cf0cb632928d74b
7268Author: djm@openbsd.org <djm@openbsd.org>
7269Date: Wed Oct 2 08:07:13 2019 +0000
7270
7271 upstream: make signature format match PROTOCO
7272
7273 =?UTF-8?q?=20as=20a=20string,=20not=20raw=20bytes.=20Spotted=20by=20Manta?=
7274 =?UTF-8?q?s=20Mikul=C4=97nas?=
7275 MIME-Version: 1.0
7276 Content-Type: text/plain; charset=UTF-8
7277 Content-Transfer-Encoding: 8bit
7278
7279 OpenBSD-Commit-ID: 80fcc6d52893f80c6de2bedd65353cebfebcfa8f
7280
7281commit dc6f81ee94995deb11bbf7e19801022c5f6fd90a
7282Author: djm@openbsd.org <djm@openbsd.org>
7283Date: Wed Oct 2 08:05:50 2019 +0000
7284
7285 upstream: ban empty namespace strings for s
7286
7287 =?UTF-8?q?shsig;=20spotted=20by=20Mantas=20Mikul=C4=97nas?=
7288 MIME-Version: 1.0
7289 Content-Type: text/plain; charset=UTF-8
7290 Content-Transfer-Encoding: 8bit
7291
7292 OpenBSD-Commit-ID: 7c5bcf40bed8f4e826230176f4aa353c52aeb698
7293
7294commit fa5bd8107e0e2b3e1e184f55d0f9320c119f65f0
7295Author: Darren Tucker <dtucker@dtucker.net>
7296Date: Wed Oct 2 14:30:55 2019 +1000
7297
7298 Put ssherr.h back as it's actually needed.
7299
7300commit 3ef92a657444f172b61f92d5da66d94fa8265602
7301Author: Lonnie Abelbeck <lonnie@abelbeck.com>
7302Date: Tue Oct 1 09:05:09 2019 -0500
7303
7304 Deny (non-fatal) shmget/shmat/shmdt in preauth privsep child.
7305
7306 New wait_random_seeded() function on OpenSSL 1.1.1d uses shmget, shmat, and shmdt
7307 in the preauth codepath, deny (non-fatal) in seccomp_filter sandbox.
7308
7309commit edd1d3a6261aecbf9a55944fd7be1db83571b46e
7310Author: Damien Miller <djm@mindrot.org>
7311Date: Wed Oct 2 10:54:28 2019 +1000
7312
7313 remove duplicate #includes
7314
7315 Prompted by Jakub Jelen
7316
7317commit 13c508dfed9f25e6e54c984ad00a74ef08539e70
7318Author: Damien Miller <djm@mindrot.org>
7319Date: Wed Oct 2 10:51:15 2019 +1000
7320
7321 typo in comment
7322
7323commit d0c3ac427f6c52b872d6617421421dd791664445
7324Author: djm@openbsd.org <djm@openbsd.org>
7325Date: Wed Oct 2 00:42:30 2019 +0000
7326
7327 upstream: remove some duplicate #includes
7328
7329 OpenBSD-Commit-ID: ed6827ab921eff8027669848ef4f70dc1da4098c
7330
7331commit 084682786d9275552ee93857cb36e43c446ce92c
7332Author: djm@openbsd.org <djm@openbsd.org>
7333Date: Tue Oct 1 10:22:53 2019 +0000
7334
7335 upstream: revert unconditional forced login implemented in r1.41 of
7336
7337 ssh-pkcs11.c; r1.45 added a forced login as a fallback for cases where the
7338 token returns no objects and this is less disruptive for users of tokens
7339 directly in ssh (rather than via ssh-agent) and in ssh-keygen
7340
7341 bz3006, patch from Jakub Jelen; ok markus
7342
7343 OpenBSD-Commit-ID: 33d6df589b072094384631ff93b1030103b3d02e
7344
7345commit 6c91d42cce3f055917dc3fd2c305dfc5b3b584b3
7346Author: jmc@openbsd.org <jmc@openbsd.org>
7347Date: Sun Sep 29 16:31:57 2019 +0000
7348
7349 upstream: group and sort single letter options; ok deraadt
7350
7351 OpenBSD-Commit-ID: e1480e760a2b582f79696cdcff70098e23fc603f
7352
7353commit 3b44bf39ff4d7ef5d50861e2e9dda62d2926d2fe
7354Author: jmc@openbsd.org <jmc@openbsd.org>
7355Date: Fri Sep 27 20:03:24 2019 +0000
7356
7357 upstream: fix the DH-GEX text in -a; because this required a comma,
7358
7359 i added a comma to the first part, for balance...
7360
7361 OpenBSD-Commit-ID: 2c3464e9e82a41e8cdfe8f0a16d94266e43dbb58
7362
7363commit 3e53ef28fab53094e3b19622ba0e9c3d5fe71273
7364Author: deraadt@openbsd.org <deraadt@openbsd.org>
7365Date: Tue Sep 24 12:50:46 2019 +0000
7366
7367 upstream: identity_file[] should be PATH_MAX, not the arbitrary
7368
7369 number 1024
7370
7371 OpenBSD-Commit-ID: e775f94ad47ce9ab37bd1410d7cf3b7ea98b11b7
7372
7373commit 90d4b2541e8c907793233d9cbd4963f7624f4174
7374Author: jmc@openbsd.org <jmc@openbsd.org>
7375Date: Fri Sep 20 18:50:58 2019 +0000
7376
7377 upstream: new sentence, new line;
7378
7379 OpenBSD-Commit-ID: c35ca5ec07be460e95e7406af12eee04a77b6698
7380
7381commit fbec7dba01b70b49ac47f56031310865dff86200
7382Author: Darren Tucker <dtucker@dtucker.net>
7383Date: Mon Sep 30 18:01:12 2019 +1000
7384
7385 Include stdio.h for snprintf.
7386
7387 Patch from vapier@gentoo.org.
7388
7389commit 0a403bfde71c4b82147473298d3a60b4171468bd
7390Author: Darren Tucker <dtucker@dtucker.net>
7391Date: Mon Sep 30 14:11:42 2019 +1000
7392
7393 Add SKIP_LTESTS for skipping specific tests.
7394
7395commit 4d59f7a5169c451ebf559aedec031ac9da2bf80c
7396Author: dtucker@openbsd.org <dtucker@openbsd.org>
7397Date: Fri Sep 27 05:25:12 2019 +0000
7398
7399 upstream: Test for empty result in expected bits. Remove CRs from log
7400
7401 as they confuse tools on some platforms. Re-enable the 3des-cbc test.
7402
7403 OpenBSD-Regress-ID: edf536d4f29fc1ba412889b37247a47f1b49d250
7404
7405commit 7c817d129e2d48fc8a6f7965339313023ec45765
7406Author: Darren Tucker <dtucker@dtucker.net>
7407Date: Fri Sep 27 15:26:22 2019 +1000
7408
7409 Re-enable dhgex test.
7410
7411 Since we've added larger fallback groups to dh.c this test will pass
7412 even if there is no moduli file installed on the system.
7413
7414commit c1e0a32fa852de6d1c82ece4f76add0ab0ca0eae
7415Author: Darren Tucker <dtucker@dtucker.net>
7416Date: Tue Sep 24 21:17:20 2019 +1000
7417
7418 Add more ToS bits, currently only used by netcat.
7419
7420commit 5a273a33ca1410351cb484af7db7c13e8b4e8e4e
7421Author: Darren Tucker <dtucker@dtucker.net>
7422Date: Thu Sep 19 15:41:23 2019 +1000
7423
7424 Privsep is now required.
7425
7426commit 8aa2aa3cd4d27d14e74b247c773696349472ef20
7427Author: djm@openbsd.org <djm@openbsd.org>
7428Date: Mon Sep 16 03:23:02 2019 +0000
7429
7430 upstream: Allow testing signature syntax and validity without verifying
7431
7432 that a signature came from a trusted signer. To discourage accidental or
7433 unintentional use, this is invoked by the deliberately ugly option name
7434 "check-novalidate"
7435
7436 from Sebastian Kinne
7437
7438 OpenBSD-Commit-ID: cea42c36ab7d6b70890e2d8635c1b5b943adcc0b
7439
7440commit 7047d5afe3103f0f07966c05b810682d92add359
7441Author: djm@openbsd.org <djm@openbsd.org>
7442Date: Fri Sep 13 04:52:34 2019 +0000
7443
7444 upstream: clarify that IdentitiesOnly also applies to the default
7445
7446 ~/.ssh/id_* keys; bz#3062
7447
7448 OpenBSD-Commit-ID: 604be570e04646f0f4a17026f8b2aada6a585dfa
7449
7450commit b36ee3fcb2f1601693b1b7fd60dd6bd96006ea75
7451Author: dtucker@openbsd.org <dtucker@openbsd.org>
7452Date: Fri Sep 13 04:36:43 2019 +0000
7453
7454 upstream: Plug mem leaks on error paths, based in part on github
7455
7456 pr#120 from David Carlier. ok djm@.
7457
7458 OpenBSD-Commit-ID: c57adeb1022a8148fc86e5a88837b3b156dbdb7e
7459
7460commit 2aefdf1aef906cf7548a2e5927d35aacb55948d4
7461Author: djm@openbsd.org <djm@openbsd.org>
7462Date: Fri Sep 13 04:31:19 2019 +0000
7463
7464 upstream: whitespace
7465
7466 OpenBSD-Commit-ID: 57a71dd5f4cae8d61e0ac631a862589fb2bfd700
7467
7468commit fbe24b142915331ceb2a3a76be3dc5b6d204fddf
7469Author: djm@openbsd.org <djm@openbsd.org>
7470Date: Fri Sep 13 04:27:35 2019 +0000
7471
7472 upstream: allow %n to be expanded in ProxyCommand strings
7473
7474 From Zachary Harmany via github.com/openssh/openssh-portable/pull/118
7475 ok dtucker@
7476
7477 OpenBSD-Commit-ID: 7eebf1b7695f50c66d42053d352a4db9e8fb84b6
7478
7479commit 2ce1d11600e13bee0667d6b717ffcc18a057b821
7480Author: djm@openbsd.org <djm@openbsd.org>
7481Date: Fri Sep 13 04:07:42 2019 +0000
7482
7483 upstream: clarify that ConnectTimeout applies both to the TCP
7484
7485 connection and to the protocol handshake/KEX. From Jean-Charles Longuet via
7486 Github PR140
7487
7488 OpenBSD-Commit-ID: ce1766abc6da080f0d88c09c2c5585a32b2256bf
7489
7490commit df780114278f406ef7cb2278802a2660092fff09
7491Author: dtucker@openbsd.org <dtucker@openbsd.org>
7492Date: Mon Sep 9 02:31:19 2019 +0000
7493
7494 upstream: Fix potential truncation warning. ok deraadt.
7495
7496 OpenBSD-Commit-ID: d87b7e3a94ec935e8194e7fce41815e22804c3ff
7497
7498commit ec0e6243660bf2df30c620a6a0d83eded376c9c6
7499Author: Damien Miller <djm@mindrot.org>
7500Date: Fri Sep 13 13:14:39 2019 +1000
7501
7502 memleak of buffer in sshpam_query
7503
7504 coverity report via Ed Maste; ok dtucker@
7505
7506commit c17e4638e5592688264fc0349f61bfc7b4425aa5
7507Author: Damien Miller <djm@mindrot.org>
7508Date: Fri Sep 13 13:12:42 2019 +1000
7509
7510 explicitly test set[ug]id() return values
7511
7512 Legacy !_POSIX_SAVED_IDS path only; coverity report via Ed Maste
7513 ok dtucker@
7514
7515commit 91a2135f32acdd6378476c5bae475a6e7811a6a2
7516Author: naddy@openbsd.org <naddy@openbsd.org>
7517Date: Fri Sep 6 14:45:34 2019 +0000
7518
7519 upstream: Allow prepending a list of algorithms to the default set
7520
7521 by starting the list with the '^' character, e.g.
7522
7523 HostKeyAlgorithms ^ssh-ed25519
7524 Ciphers ^aes128-gcm@openssh.com,aes256-gcm@openssh.com
7525
7526 ok djm@ dtucker@
7527
7528 OpenBSD-Commit-ID: 1e1996fac0dc8a4b0d0ff58395135848287f6f97
7529
7530commit c8bdd2db77ac2369d5cdee237656f266c8f41552
7531Author: djm@openbsd.org <djm@openbsd.org>
7532Date: Fri Sep 6 07:53:40 2019 +0000
7533
7534 upstream: key conversion should fail for !openssl builds, not fall
7535
7536 through to the key generation code
7537
7538 OpenBSD-Commit-ID: b957436adc43c4941e61d61958a193a708bc83c9
7539
7540commit 823f6c37eb2d8191d45539f7b6fa877a4cb4ed3d
7541Author: djm@openbsd.org <djm@openbsd.org>
7542Date: Fri Sep 6 06:08:11 2019 +0000
7543
7544 upstream: typo in previous
7545
7546 OpenBSD-Commit-ID: 7c3b94110864771a6b80a0d8acaca34037c3c96e
7547
7548commit 6a710d3e06fd375e2c2ae02546b9541c488a2cdb
7549Author: Damien Miller <djm@mindrot.org>
7550Date: Sun Sep 8 14:48:11 2019 +1000
7551
7552 needs time.h for --without-openssl
7553
7554commit f61f29afda6c71eda26effa54d3c2e5306fd0833
7555Author: Damien Miller <djm@mindrot.org>
7556Date: Sat Sep 7 19:25:00 2019 +1000
7557
7558 make unittests pass for no-openssl case
7559
7560commit 105e1c9218940eb53473f55a9177652d889ddbad
7561Author: djm@openbsd.org <djm@openbsd.org>
7562Date: Fri Sep 6 05:59:41 2019 +0000
7563
7564 upstream: avoid compiling certain files that deeply depend on
7565
7566 libcrypto when WITH_OPENSSL isn't set
7567
7568 OpenBSD-Commit-ID: 569f08445c27124ec7c7f6c0268d844ec56ac061
7569
7570commit 670104b923dd97b1c06c0659aef7c3e52af571b2
7571Author: djm@openbsd.org <djm@openbsd.org>
7572Date: Fri Sep 6 05:23:55 2019 +0000
7573
7574 upstream: fixes for !WITH_OPENSSL compilation; ok dtucker@
7575
7576 OpenBSD-Commit-ID: 7fd68eaa9e0f7482b5d4c7e8d740aed4770a839f
7577
7578commit be02d7cbde3d211ec2ed2320a1f7d86b2339d758
7579Author: djm@openbsd.org <djm@openbsd.org>
7580Date: Fri Sep 6 04:53:27 2019 +0000
7581
7582 upstream: lots of things were relying on libcrypto headers to
7583
7584 transitively include various system headers (mostly stdlib.h); include them
7585 explicitly
7586
7587 OpenBSD-Commit-ID: 5b522f4f2d844f78bf1cc4f3f4cc392e177b2080
7588
7589commit d05aaaaadcad592abfaa44540928e0c61ef72ebb
7590Author: djm@openbsd.org <djm@openbsd.org>
7591Date: Fri Sep 6 03:30:42 2019 +0000
7592
7593 upstream: remove leakmalloc reference; we used this early when
7594
7595 refactoring but not since
7596
7597 OpenBSD-Commit-ID: bb28ebda8f7c490b87b37954044a6cdd43a7eb2c
7598
7599commit 1268f0bcd8fc844ac6c27167888443c8350005eb
7600Author: dtucker@openbsd.org <dtucker@openbsd.org>
7601Date: Fri Sep 6 04:24:06 2019 +0000
7602
7603 upstream: Check for RSA support before using it for the user key,
7604
7605 otherwise use ed25519 which is supported when built without OpenSSL.
7606
7607 OpenBSD-Regress-ID: 3d23ddfe83c5062f00ac845d463f19a2ec78c0f7
7608
7609commit fd7a2dec652b9efc8e97f03f118f935dce732c60
7610Author: Darren Tucker <dtucker@dtucker.net>
7611Date: Fri Sep 6 14:07:10 2019 +1000
7612
7613 Provide explicit path to configure-check.
7614
7615 On some platforms (at least OpenBSD) make won't search VPATH for target
7616 files, so building out-of-tree will fail at configure-check. Provide
7617 explicit path. ok djm@
7618
7619commit 00865c29690003b4523cc09a0e104724b9f911a4
7620Author: djm@openbsd.org <djm@openbsd.org>
7621Date: Fri Sep 6 01:58:50 2019 +0000
7622
7623 upstream: better error code for bad arguments; inspired by
7624
7625 OpenBSD-Commit-ID: dfc263b6041de7f0ed921a1de0b81ddebfab1e0a
7626
7627commit afdf27f5aceb4973b9f5308f4310c6e3fd8db1fb
7628Author: Damien Miller <djm@mindrot.org>
7629Date: Thu Sep 5 21:38:40 2019 +1000
7630
7631 revert config.h/config.h.in freshness checks
7632
7633 turns out autoreconf and configure don't touch some files if their content
7634 doesn't change, so the mtime can't be relied upon in a makefile rule
7635
7636commit a97609e850c57bd2cc2fe7e175fc35cb865bc834
7637Author: Damien Miller <djm@mindrot.org>
7638Date: Thu Sep 5 20:54:39 2019 +1000
7639
7640 extend autoconf freshness test
7641
7642 make it cover config.h.in and config.h separately
7643
7644commit 182297c10edb21c4856c6a38326fd04d81de41a5
7645Author: Damien Miller <djm@mindrot.org>
7646Date: Thu Sep 5 20:34:54 2019 +1000
7647
7648 check that configure/config.h is up to date
7649
7650 Ensure they are newer than the configure.ac / aclocal.m4 source
7651
7652commit 7d6034bd020248e9fc0f8c39c71c858debd0d0c1
7653Author: djm@openbsd.org <djm@openbsd.org>
7654Date: Thu Sep 5 10:05:51 2019 +0000
7655
7656 upstream: if a PKCS#11 token returns no keys then try to login and
7657
7658 refetch them. Based on patch from Jakub Jelen; bz#2430 ok markus@
7659
7660 OpenBSD-Commit-ID: ab53bd6ddd54dd09e54a8bfbed1a984496f08b43
7661
7662commit 76f09bd95917862101b740afb19f4db5ccc752bf
7663Author: djm@openbsd.org <djm@openbsd.org>
7664Date: Thu Sep 5 09:35:19 2019 +0000
7665
7666 upstream: sprinkle in some explicit errors here, otherwise the
7667
7668 percolate all the way up to dispatch_run_fatal() and lose all meaninful
7669 context
7670
7671 to help with bz#3063; ok dtucker@
7672
7673 OpenBSD-Commit-ID: 5b2da83bb1c4a3471444b7910b2120ae36438a0a
7674
7675commit 0ea332497b2b2fc3995f72f6bafe9d664c0195b3
7676Author: djm@openbsd.org <djm@openbsd.org>
7677Date: Thu Sep 5 09:25:13 2019 +0000
7678
7679 upstream: only send ext_info for KEX_INITIAL; bz#2929 ok dtucker
7680
7681 OpenBSD-Commit-ID: 00f5c6062f6863769f5447c6346f78c05d2e4a63
7682
7683commit f23d91f9fa7f6f42e70404e000fac88aebfe3076
7684Author: jmc@openbsd.org <jmc@openbsd.org>
7685Date: Thu Sep 5 05:47:23 2019 +0000
7686
7687 upstream: macro fix; ok djm
7688
7689 OpenBSD-Commit-ID: e891dd6c7996114cb32f0924cb7898ab55efde6e
7690
7691commit 8b57337c1c1506df2bb9f039d0628a6de618566b
7692Author: Damien Miller <djm@mindrot.org>
7693Date: Thu Sep 5 15:46:39 2019 +1000
7694
7695 update fuzzing makefile to more recent clang
7696
7697commit ae631ad77daf8fd39723d15a687cd4b1482cbae8
7698Author: Damien Miller <djm@mindrot.org>
7699Date: Thu Sep 5 15:45:32 2019 +1000
7700
7701 fuzzer for sshsig allowed_signers option parsing
7702
7703commit 69159afe24120c97e5ebaf81016c85968afb903e
7704Author: djm@openbsd.org <djm@openbsd.org>
7705Date: Thu Sep 5 05:42:59 2019 +0000
7706
7707 upstream: memleak on error path; found by libfuzzer
7708
7709 OpenBSD-Commit-ID: 34d44cb0fb5bdb5fcbc6b02b804e71b20a7a5fc7
7710
7711commit bab6feb01f9924758ca7129dba708298a53dde5f
7712Author: djm@openbsd.org <djm@openbsd.org>
7713Date: Thu Sep 5 04:55:32 2019 +0000
7714
7715 upstream: expose allowed_signers options parsing code in header for
7716
7717 fuzzing
7718
7719 rename to make more consistent with philosophically-similar auth
7720 options parsing API.
7721
7722 OpenBSD-Commit-ID: 0c67600ef04187f98e2912ca57b60c22a8025b7c
7723
7724commit 4f9d75fbafde83d428e291516f8ce98e6b3a7c4b
7725Author: naddy@openbsd.org <naddy@openbsd.org>
7726Date: Wed Sep 4 20:31:15 2019 +0000
7727
7728 upstream: Call comma-separated lists as such to clarify semantics.
7729
7730 Options such as Ciphers take values that may be a list of ciphers; the
7731 complete list, not indiviual elements, may be prefixed with a dash or plus
7732 character to remove from or append to the default list, respectively.
7733
7734 Users might read the current text as if each elment took an optional prefix,
7735 so tweak the wording from "values" to "list" to prevent such ambiguity for
7736 all options supporting these semantics.
7737
7738 Fix instances missed in first commit. ok jmc@ kn@
7739
7740 OpenBSD-Commit-ID: 7112522430a54fb9f15a7a26d26190ed84d5e417
7741
7742commit db1e6f60f03641b2d17e0ab062242609f4ed4598
7743Author: jmc@openbsd.org <jmc@openbsd.org>
7744Date: Wed Sep 4 05:56:54 2019 +0000
7745
7746 upstream: tweak previous;
7747
7748 OpenBSD-Commit-ID: 0abd728aef6b5b35f6db43176aa83b7e3bf3ce27
7749
7750commit 0f44e5956c7c816f6600f2a47be4d7bb5a8d711d
7751Author: naddy@openbsd.org <naddy@openbsd.org>
7752Date: Tue Sep 3 20:51:49 2019 +0000
7753
7754 upstream: repair typo and editing mishap
7755
7756 OpenBSD-Commit-ID: d125ab720ca71ccf9baf83e08ddc8c12a328597e
7757
7758commit f4846dfc6a79f84bbc6356ae3184f142bacedc24
7759Author: Damien Miller <djm@mindrot.org>
7760Date: Thu Sep 5 11:09:28 2019 +1000
7761
7762 Fuzzer harness for sshsig
7763
7764commit b08a6bc1cc7750c6f8a425d1cdbd86552fffc637
7765Author: Damien Miller <djm@mindrot.org>
7766Date: Tue Sep 3 18:45:42 2019 +1000
7767
7768 oops; missed including the actual file
7769
7770commit 1a72c0dd89f09754df443c9576dde624a17d7dd0
7771Author: Damien Miller <djm@mindrot.org>
7772Date: Tue Sep 3 18:44:10 2019 +1000
7773
7774 portability fixes for sshsig
7775
7776commit 6d6427d01304d967e58544cf1c71d2b4394c0522
7777Author: djm@openbsd.org <djm@openbsd.org>
7778Date: Tue Sep 3 08:37:45 2019 +0000
7779
7780 upstream: regress test for sshsig; feedback and ok markus@
7781
7782 OpenBSD-Regress-ID: 74c0974f2cdae8d9599b9d76a09680bae55d8a8b
7783
7784commit 59650f0eaf65115afe04c39abfb93a4fc994ec55
7785Author: djm@openbsd.org <djm@openbsd.org>
7786Date: Tue Sep 3 08:37:06 2019 +0000
7787
7788 upstream: only add plain keys to prevent any certs laying around
7789
7790 from confusing the test.
7791
7792 OpenBSD-Regress-ID: b8f1508f822bc560b98dea910e61ecd76f34100f
7793
7794commit d637c4aee6f9b5280c13c020d7653444ac1fcaa5
7795Author: djm@openbsd.org <djm@openbsd.org>
7796Date: Tue Sep 3 08:35:27 2019 +0000
7797
7798 upstream: sshsig tweaks and improvements from and suggested by
7799
7800 Markus
7801
7802 ok markus/me
7803
7804 OpenBSD-Commit-ID: ea4f46ad5a16b27af96e08c4877423918c4253e9
7805
7806commit 2a9c9f7272c1e8665155118fe6536bebdafb6166
7807Author: djm@openbsd.org <djm@openbsd.org>
7808Date: Tue Sep 3 08:34:19 2019 +0000
7809
7810 upstream: sshsig: lightweight signature and verification ability
7811
7812 for OpenSSH
7813
7814 This adds a simple manual signature scheme to OpenSSH.
7815 Signatures can be made and verified using ssh-keygen -Y sign|verify
7816
7817 Signatures embed the key used to make them. At verification time, this
7818 is matched via principal name against an authorized_keys-like list
7819 of allowed signers.
7820
7821 Mostly by Sebastian Kinne w/ some tweaks by me
7822
7823 ok markus@
7824
7825 OpenBSD-Commit-ID: 2ab568e7114c933346616392579d72be65a4b8fb
7826
7827commit 5485f8d50a5bc46aeed829075ebf5d9c617027ea
7828Author: djm@openbsd.org <djm@openbsd.org>
7829Date: Tue Sep 3 08:32:11 2019 +0000
7830
7831 upstream: move authorized_keys option parsing helpsers to misc.c
7832
7833 and make them public; ok markus@
7834
7835 OpenBSD-Commit-ID: c18bcb2a687227b3478377c981c2d56af2638ea2
7836
7837commit f8df0413f0a057b6a3d3dd7bd8bc7c5d80911d3a
7838Author: djm@openbsd.org <djm@openbsd.org>
7839Date: Tue Sep 3 08:31:20 2019 +0000
7840
7841 upstream: make get_sigtype public as sshkey_get_sigtype(); ok
7842
7843 markus@
7844
7845 OpenBSD-Commit-ID: 01f8cdbec63350490d2249f41112c5780d1cfbb8
7846
7847commit dd8002fbe63d903ffea5be7b7f5fc2714acab4a0
7848Author: djm@openbsd.org <djm@openbsd.org>
7849Date: Tue Sep 3 08:30:47 2019 +0000
7850
7851 upstream: move advance_past_options to authfile.c and make it
7852
7853 public; ok markus@
7854
7855 OpenBSD-Commit-ID: edda2fbba2c5b1f48e60f857a2010479e80c5f3c
7856
7857commit c72d78ccbe642e08591a626e5de18381489716e0
7858Author: djm@openbsd.org <djm@openbsd.org>
7859Date: Tue Sep 3 08:29:58 2019 +0000
7860
7861 upstream: move skip_space() to misc.c and make it public; ok
7862
7863 markus@
7864
7865 OpenBSD-Commit-ID: caa77e8a3b210948e29ad3e28c5db00852961eae
7866
7867commit 06af3583f46e2c327fdd44d8a95b8b4e8dfd8db5
7868Author: djm@openbsd.org <djm@openbsd.org>
7869Date: Tue Sep 3 08:29:15 2019 +0000
7870
7871 upstream: authfd: add function to check if key is in agent
7872
7873 This commit adds a helper function which allows the caller to
7874 check if a given public key is present in ssh-agent.
7875
7876 work by Sebastian Kinne; ok markus@
7877
7878 OpenBSD-Commit-ID: d43c5826353e1fdc1af71eb42961b30782c7bd13
7879
7880commit 2ab5a8464870cc4b29ddbe849bbbc255729437bf
7881Author: djm@openbsd.org <djm@openbsd.org>
7882Date: Tue Sep 3 08:28:30 2019 +0000
7883
7884 upstream: fix memleak in ssh_free_identitylist(); ok markus@
7885
7886 OpenBSD-Commit-ID: aa51f77ae2c5330a1f61b2d22933f24a443f9abf
7887
7888commit 85443f165b4169b2a448b3e24bc1d4dc5b3156a4
7889Author: djm@openbsd.org <djm@openbsd.org>
7890Date: Tue Sep 3 08:27:52 2019 +0000
7891
7892 upstream: factor out confirm_overwrite(); ok markus@
7893
7894 OpenBSD-Commit-ID: 304e95381b39c774c8fced7e5328b106a3ff0400
7895
7896commit 9a396e33685633581c67d5ad9664570ef95281f2
7897Author: djm@openbsd.org <djm@openbsd.org>
7898Date: Mon Sep 2 23:46:46 2019 +0000
7899
7900 upstream: constify an argument
7901
7902 OpenBSD-Commit-ID: 724bafc9f993746ad4303e95bede2c030de6233b
7903
7904commit b52c0c2e64988277a35a955a474d944967059aeb
7905Author: djm@openbsd.org <djm@openbsd.org>
7906Date: Mon Sep 2 00:19:25 2019 +0000
7907
7908 upstream: downgrade PKCS#11 "provider returned no slots" warning
7909
7910 from log level error to debug. This is common when attempting to enumerate
7911 keys on smartcard readers with no cards plugged in. bz#3058 ok dtucker@
7912
7913 OpenBSD-Commit-ID: bb8839ddeb77c271390488af1b771041d43e49c6
7914
7915commit 0713322e18162463c5ab5ddfb9f935055ca775d8
7916Author: djm@openbsd.org <djm@openbsd.org>
7917Date: Sun Sep 1 23:47:32 2019 +0000
7918
7919 upstream: print comment when printing pubkey from private
7920
7921 bz#3052; ok dtucker
7922
7923 OpenBSD-Commit-ID: a91b2a8d5f1053d34d7fce44523c53fb534ba914
7924
7925commit 368f1cc2fbd6ad10c66bc1b67c2c04aebf8a04a8
7926Author: Damien Miller <djm@mindrot.org>
7927Date: Mon Sep 2 10:28:42 2019 +1000
7928
7929 fixed test in OSX closefrom() replacement
7930
7931 from likan_999.student AT sina.com
7932
7933commit 6b7c53498def19a14dd9587bf521ab6dbee8988f
7934Author: Damien Miller <djm@mindrot.org>
7935Date: Mon Sep 2 10:22:02 2019 +1000
7936
7937 retain Solaris PRIV_FILE_LINK_ANY in sftp-server
7938
7939 Dropping this privilege removes the ability to create hard links to
7940 files owned by other users. This is required for the legacy sftp rename
7941 operation.
7942
7943 bz#3036; approach ok Alex Wilson (the original author of the Solaris
7944 sandbox/pledge replacement code)
7945
7946commit e50f808712393e86d69e42e9847cdf8d473412d7
7947Author: dtucker@openbsd.org <dtucker@openbsd.org>
7948Date: Fri Aug 30 05:08:28 2019 +0000
7949
7950 upstream: Use ed25519 for most hostkey rotation tests since it's
7951
7952 supported even when built without OpenSSL. Use RSA for the secondary type
7953 test if supported, otherwise skip it. Fixes this test for !OpenSSL builds.
7954
7955 OpenBSD-Regress-ID: 101cb34a84fd974c623bdb2e496f25a6e91be109
7956
7957commit 5e4796c47dd8d6c38fb2ff0b3e817525fed6040d
7958Author: bluhm@openbsd.org <bluhm@openbsd.org>
7959Date: Thu Aug 22 21:47:27 2019 +0000
7960
7961 upstream: Test did not compile due to missing symbols. Add source
7962
7963 sshbuf-misc.c to regress as it was done in ssh make file. from Moritz Buhl
7964
7965 OpenBSD-Regress-ID: 9e1c23476bb845f3cf3d15d9032da3ed0cb2fcf5
7966
7967commit e0e7e3d0e26f2c30697e6d0cfc293414908963c7
7968Author: Damien Miller <djm@mindrot.org>
7969Date: Fri Aug 30 14:26:19 2019 +1000
7970
7971 tweak warning flags
7972
7973 Enable -Wextra if compiler supports it
7974
7975 Set -Wno-error=format-truncation if available to prevent expected
7976 string truncations in openbsd-compat from breaking -Werror builds
7977
7978commit 28744182cf90e0073b76a9e98de58a47e688b2c4
7979Author: Damien Miller <djm@mindrot.org>
7980Date: Fri Aug 30 13:21:38 2019 +1000
7981
7982 proc_pidinfo()-based closefrom() for OS X
7983
7984 Refactor closefrom() to use a single brute-force close() loop fallback.
7985
7986 Based on patch from likan_999.student@sina.com in bz#3049. ok dtucker@
7987
7988commit dc2ca588144f088a54febebfde3414568dc73d5f
7989Author: kn@openbsd.org <kn@openbsd.org>
7990Date: Fri Aug 16 11:16:32 2019 +0000
7991
7992 upstream: Call comma-separated lists as such to clarify semantics
7993
7994 Options such as Ciphers take values that may be a list of ciphers; the
7995 complete list, not indiviual elements, may be prefixed with a dash or plus
7996 character to remove from or append to the default list respectively.
7997
7998 Users might read the current text as if each elment took an optional prefix,
7999 so tweak the wording from "values" to "list" to prevent such ambiguity for
8000 all options supporting this semantics (those that provide a list of
8001 available elements via "ssh -Q ...").
8002
8003 Input and OK jmc
8004
8005 OpenBSD-Commit-ID: 4fdd175b0e5f5cb10ab3f26ccc38a93bb6515d57
8006
8007commit c4736f39e66729ce2bf5b06ee6b391e092b48f47
8008Author: djm@openbsd.org <djm@openbsd.org>
8009Date: Fri Aug 16 06:35:27 2019 +0000
8010
8011 upstream: include sshbuf-misc.c in SRCS_BASE
8012
8013 OpenBSD-Commit-ID: 99dd10e72c04e93849981d43d64c946619efa474
8014
8015commit d0e51810f332fe44ebdba41113aacf319d35f5a5
8016Author: Darren Tucker <dtucker@dtucker.net>
8017Date: Sat Aug 24 15:12:11 2019 +1000
8018
8019 Fix pasto in fallback code.
8020
8021 There is no parameter called "pathname", it should simply be "path".
8022 bz#3059, patch from samuel at cendio.se.
8023
8024commit e83c989bfd9fc9838b7dfb711d1dc6da81814045
8025Author: Damien Miller <djm@mindrot.org>
8026Date: Fri Aug 23 10:19:30 2019 +1000
8027
8028 use SC_ALLOW_ARG_MASK to limit mmap protections
8029
8030 Restrict to PROT_(READ|WRITE|NONE), i.e. exclude PROT_EXEC
8031
8032commit f6906f9bf12c968debec3671bbf19926ff8a235b
8033Author: Damien Miller <djm@mindrot.org>
8034Date: Fri Aug 23 10:08:48 2019 +1000
8035
8036 allow mprotect(2) with PROT_(READ|WRITE|NONE) only
8037
8038 Used by some hardened heap allocators. Requested by Yegor
8039 Timoshenko in https://github.com/openssh/openssh-portable/pull/142
8040
8041commit e3b6c966b79c3ea5d51b923c3bbdc41e13b96ea0
8042Author: djm@openbsd.org <djm@openbsd.org>
8043Date: Fri Aug 16 06:13:15 2019 +0000
8044
8045 upstream: switch percent_expand() to use sshbuf instead of a limited
8046
8047 fixed buffer; ok markus@
8048
8049 OpenBSD-Commit-ID: 3f9ef20bca5ef5058b48c1cac67c53b9a1d15711
8050
8051commit 9ab5b9474779ac4f581d402ae397f871ed16b383
8052Author: djm@openbsd.org <djm@openbsd.org>
8053Date: Fri Aug 9 05:05:54 2019 +0000
8054
8055 upstream: produce a useful error message if the user's shell is set
8056
8057 incorrectly during "match exec" processing. bz#2791 reported by Dario
8058 Bertini; ok dtucker
8059
8060 OpenBSD-Commit-ID: cf9eddd6a6be726cb73bd9c3936f3888cd85c03d
8061
8062commit 8fdbc7247f432578abaaca1b72a0dbf5058d67e5
8063Author: dtucker@openbsd.org <dtucker@openbsd.org>
8064Date: Fri Aug 9 04:24:03 2019 +0000
8065
8066 upstream: Change description of TCPKeepAlive from "inactive" to
8067
8068 "unresponsive" to clarify what it checks for. Patch from jblaine at
8069 kickflop.net via github pr#129, ok djm@.
8070
8071 OpenBSD-Commit-ID: 3682f8ec7227f5697945daa25d11ce2d933899e9
8072
8073commit 7afc45c3ed72672690014dc432edc223b23ae288
8074Author: dtucker@openbsd.org <dtucker@openbsd.org>
8075Date: Thu Aug 8 08:02:57 2019 +0000
8076
8077 upstream: Allow the maximimum uint32 value for the argument passed to
8078
8079 -b which allows better error messages from later validation. bz#3050, ok
8080 djm@
8081
8082 OpenBSD-Commit-ID: 10adf6876b2401b3dc02da580ebf67af05861673
8083
8084commit c31e4f5fb3915c040061981a67224de7650ab34b
8085Author: naddy@openbsd.org <naddy@openbsd.org>
8086Date: Mon Aug 5 21:45:27 2019 +0000
8087
8088 upstream: Many key types are supported now, so take care to check
8089
8090 the size restrictions and apply the default size only to the matching key
8091 type. tweak and ok dtucker@
8092
8093 OpenBSD-Commit-ID: b825de92d79cc4cba19b298c61e99909488ff57e
8094
8095commit 6b39a7b49ebacec4e70e24bfc8ea2f11057aac22
8096Author: dtucker@openbsd.org <dtucker@openbsd.org>
8097Date: Mon Aug 5 11:50:33 2019 +0000
8098
8099 upstream: Remove now-redundant perm_ok arg since
8100
8101 sshkey_load_private_type will now return SSH_ERR_KEY_BAD_PERMISSIONS in that
8102 case. Patch from jitendra.sharma at intel.com, ok djm@
8103
8104 OpenBSD-Commit-ID: 07916a17ed0a252591b71e7fb4be2599cb5b0c77
8105
8106commit d46075b923bf25e6f25959a3f5b458852161cb3e
8107Author: Darren Tucker <dtucker@dtucker.net>
8108Date: Mon Aug 5 21:36:48 2019 +1000
8109
8110 Fix mem leak in unit test.
8111
8112 Patch from jitendra.sharma at intel.com.
8113
8114commit c4ffb72593c08921cf9291bc05a5ef1d0aaa6891
8115Author: djm@openbsd.org <djm@openbsd.org>
8116Date: Fri Aug 2 01:41:24 2019 +0000
8117
8118 upstream: fix some memleaks in test_helper code
8119
8120 bz#3037 from Jitendra Sharma
8121
8122 OpenBSD-Regress-ID: 71440fa9186f5842a65ce9a27159385c6cb6f751
8123
8124commit 6e76e69dc0c7712e9ac599af34bd091b0e7dcdb5
8125Author: djm@openbsd.org <djm@openbsd.org>
8126Date: Fri Aug 2 01:23:19 2019 +0000
8127
8128 upstream: typo; from Christian Hesse
8129
8130 OpenBSD-Commit-ID: 82f6de7438ea7ee5a14f44fdf5058ed57688fdc3
8131
8132commit 49fa065a1bfaeb88a59abdfa4432d3b9c35b0655
8133Author: djm@openbsd.org <djm@openbsd.org>
8134Date: Tue Jul 30 05:04:49 2019 +0000
8135
8136 upstream: let sshbuf_find/cmp take a void* for the
8137
8138 search/comparison argument, instead of a u_char*. Saves callers needing to
8139 cast.
8140
8141 OpenBSD-Commit-ID: d63b69b7c5dd570963e682f758f5a47b825605ed
8142
8143commit 7adf6c430d6fc17901e167bc0789d31638f5c2f8
8144Author: mestre@openbsd.org <mestre@openbsd.org>
8145Date: Wed Jul 24 08:57:00 2019 +0000
8146
8147 upstream: When using a combination of a Yubikey+GnuPG+remote
8148
8149 forwarding the gpg-agent (and options ControlMaster+RemoteForward in
8150 ssh_config(5)) then the codepath taken will call mux_client_request_session
8151 -> mm_send_fd -> sendmsg(2). Since sendmsg(2) is not allowed in that codepath
8152 then pledge(2) kills the process.
8153
8154 The solution is to add "sendfd" to pledge(2), which is not too bad considering
8155 a little bit later we reduce pledge(2) to only "stdio proc tty" in that
8156 codepath.
8157
8158 Problem reported and diff provided by Timothy Brown <tbrown at freeshell.org>
8159
8160 OK deraadt@
8161
8162 OpenBSD-Commit-ID: 7ce38b6542bbec00e441595d0a178e970a9472ac
8163
8164commit 0e2fe18acc1da853a9120c2e9af68e8d05e6503e
8165Author: dtucker@openbsd.org <dtucker@openbsd.org>
8166Date: Tue Jul 23 23:06:57 2019 +0000
8167
8168 upstream: Fix typo in CASignatureAlgorithms wherein what should be
8169
8170 a comma is a dot. Patch from hnj2 via github pr#141.
8171
8172 OpenBSD-Commit-ID: 01f5a460438ff1af09aab483c0a70065309445f0
8173
8174commit e93ffd1a19fc47c49d68ae2fb332433690ecd389
8175Author: Darren Tucker <dtucker@dtucker.net>
8176Date: Mon Jul 29 16:04:01 2019 +1000
8177
8178 Report success of individual tests as well as all.
8179
8180 This puts the "all tests passed" message back at the end where the
8181 test harnesses can find it.
8182
8183commit 2ad5b36b18bddf2965fe60384c29b3f1d451b4ed
8184Author: Damien Miller <djm@mindrot.org>
8185Date: Mon Jul 29 09:49:23 2019 +1000
8186
8187 convert to UTF-8; from Mike Frysinger
8188
8189commit d31e7c937ba0b97534f373cf5dea34675bcec602
8190Author: dtucker@openbsd.org <dtucker@openbsd.org>
8191Date: Fri Jul 26 04:22:21 2019 +0000
8192
8193 upstream: Restrict limit-keytype to types supported by build. This
8194
8195 means we have to skip a couple tests when only one key type is supported.
8196
8197 OpenBSD-Regress-ID: 22d05befb9c7ce21ce8dc22acf1ffe9e2ef2e95e
8198
8199commit 0967a233b8a28907ae8a4a6773c89f21d2ace11b
8200Author: Darren Tucker <dtucker@dtucker.net>
8201Date: Thu Jul 25 18:36:28 2019 +1000
8202
8203 Remove override disabling DH-GEX.
8204
8205 The DH-GEX override doesn't work when build without OpenSSL, and
8206 we'll prefer curve25519 these days, removing the need for it.
8207
8208commit 061407efc19b41ab4a7485e5adcff2a12befacdb
8209Author: dtucker@openbsd.org <dtucker@openbsd.org>
8210Date: Thu Jul 25 09:17:35 2019 +0000
8211
8212 upstream: Only use supported key types during KRL test, preferring
8213
8214 ed25519 since it's supported by both OpenSSL and non-OpenSSL builds.
8215
8216 OpenBSD-Regress-ID: 9f2bb3eadd50fcc8245b1bd8fd6f0e53602f71aa
8217
8218commit 47f8ff1fa5b76790c1d785815fd13ee6009f8012
8219Author: dtucker@openbsd.org <dtucker@openbsd.org>
8220Date: Thu Jul 25 08:48:11 2019 +0000
8221
8222 upstream: Switch keys-command test from rsa to ed25519 since it's
8223
8224 supported for both OpenSSL and non-OpenSSL builds.
8225
8226 OpenBSD-Regress-ID: 174be4be876edd493e4a5c851e5bc579885e7a0a
8227
8228commit 1e94afdfa8df774ab7dd3bad52912b636dc31bbd
8229Author: dtucker@openbsd.org <dtucker@openbsd.org>
8230Date: Thu Jul 25 08:28:15 2019 +0000
8231
8232 upstream: Make certificate tests work with the supported key
8233
8234 algorithms. Allows tests to pass when built without OpenSSL.
8235
8236 OpenBSD-Regress-ID: 617169a6dd9d06db3697a449d9a26c284eca20fc
8237
8238commit 26bf693661a48b97b6023f702b2af643676ac21a
8239Author: dtucker@openbsd.org <dtucker@openbsd.org>
8240Date: Tue Jul 23 13:49:14 2019 +0000
8241
8242 upstream: Construct list of key types to test based on the types
8243
8244 supported by the binaries.
8245
8246 OpenBSD-Regress-ID: fcbd115efacec8ab0ecbdb3faef79ac696cb1d62
8247
8248commit 773c55b3d1230e8f7714a1b33873c37b85049c74
8249Author: dtucker@openbsd.org <dtucker@openbsd.org>
8250Date: Tue Jul 23 13:32:48 2019 +0000
8251
8252 upstream: Only use DSA key type in tests if binaries support it.
8253
8254 OpenBSD-Regress-ID: 770e31fe61dc33ed8eea9c04ce839b33ddb4dc96
8255
8256commit 159e987a54d92ccd73875e7581ffc64e8927a715
8257Author: Darren Tucker <dtucker@dtucker.net>
8258Date: Wed Jul 24 14:21:19 2019 +1000
8259
8260 Split test targets further.
8261
8262 Splits test into file-tests, t-exec, unit and interop-tests and their
8263 respective dependencies. Should allow running any set individually
8264 without having to build the other dependencies that are not needed
8265 for that specific test.
8266
8267commit 520d4550a2470106d63e30079bb05ce82f3a4f7d
8268Author: Darren Tucker <dtucker@dtucker.net>
8269Date: Wed Jul 24 11:20:18 2019 +1000
8270
8271 Add lib dependencies for regress binary targets.
8272
8273commit 4e8d0dd78d5f6142841a07dc8b8c6b4730eaf587
8274Author: Darren Tucker <dtucker@dtucker.net>
8275Date: Wed Jul 24 00:12:51 2019 +1000
8276
8277 Make "unit" a dependency of "test".
8278
8279commit 4317b2a0480e293e58ba115e47b49d3a384b6568
8280Author: Darren Tucker <dtucker@dtucker.net>
8281Date: Tue Jul 23 23:24:47 2019 +1000
8282
8283 upstream rev 1.28: fix comment typo.
8284
8285commit e0055af2bd39fdb44566ff6594147664e1fac8b8
8286Author: Darren Tucker <dtucker@dtucker.net>
8287Date: Tue Jul 23 23:06:22 2019 +1000
8288
8289 Split regress-binaries into two targets.
8290
8291 Split the binaries for the unit tests out into a regress-unit-binaries
8292 target, and add a dependency on it for only the unit tests. This allows
8293 us to run the integration tests only ("make t-exec") without building
8294 the unit tests, which allows us to run a subset of the tests when
8295 building --without-openssl without trying (and failing) to build the
8296 unit tests.
8297
8298 This means there are two targets for "unit" which I *think* is valid
8299 (it works in testing, and makedepend will generate Makefiles of this
8300 form)a but I could be wrong.
8301
8302commit 7cdf9fdcf11aaaa98c2bd22c92882ea559e772ad
8303Author: dtucker@openbsd.org <dtucker@openbsd.org>
8304Date: Tue Jul 23 08:19:29 2019 +0000
8305
8306 upstream: Skip DH group generation test if binaries don't support
8307
8308 DH-GEX.
8309
8310 OpenBSD-Regress-ID: 7c918230d969ecf7656babd6191a74526bffbffd
8311
8312commit 3a3eab8bb0da3d2f0f32cb85a1a268bcca6e4d69
8313Author: dtucker@openbsd.org <dtucker@openbsd.org>
8314Date: Tue Jul 23 07:55:29 2019 +0000
8315
8316 upstream: Only test conversion of key types supported by the
8317
8318 binaries.
8319
8320 OpenBSD-Regress-ID: e3f0938a0a7407e2dfbb90abc3ec979ab6e8eeea
8321
8322commit 7e66b7d98c6e3f48a1918c3e1940c9b11b10ec63
8323Author: dtucker@openbsd.org <dtucker@openbsd.org>
8324Date: Tue Jul 23 07:39:43 2019 +0000
8325
8326 upstream: Only add ssh-dss to allowed key types if it's supported
8327
8328 by the binary.
8329
8330 OpenBSD-Regress-ID: 395a54cab16e9e4ece9aec047ab257954eebd413
8331
8332commit fd0684b319e664d8821dc4ca3026126dfea3ccf4
8333Author: Darren Tucker <dtucker@dtucker.net>
8334Date: Tue Jul 23 22:36:39 2019 +1000
8335
8336 Remove sys/cdefs.h include.
8337
8338 It's not needed on -portable (that's handled by includes.h) and not all
8339 platforms have it.
8340
8341commit 9634ffbf29b3c2493e69d10b37077b09a8cbf5ff
8342Author: Darren Tucker <dtucker@dtucker.net>
8343Date: Tue Jul 23 22:25:44 2019 +1000
8344
8345 Add headers to prevent warnings w/out OpenSSL.
8346
8347commit 2ea60312e1c08dea88982fec68244f89a40912ff
8348Author: Darren Tucker <dtucker@dtucker.net>
8349Date: Tue Jul 23 22:11:50 2019 +1000
8350
8351 Include stdlib.h for free() and calloc().
8352
8353commit 11cba2a4523fda447e2554ea457484655bedc831
8354Author: Darren Tucker <dtucker@dtucker.net>
8355Date: Tue Jul 23 21:51:22 2019 +1000
8356
8357 Re-apply portability changes to current sha2.{c,h}.
8358
8359 Rather than attempt to apply 14 years' worth of changes to OpenBSD's sha2
8360 I imported the current versions directly then re-applied the portability
8361 changes. This also allowed re-syncing digest-libc.c against upstream.
8362
8363commit 09159594a3bbd363429ee6fafde57ce77986dd7c
8364Author: Darren Tucker <dtucker@dtucker.net>
8365Date: Tue Jul 23 20:27:51 2019 +1000
8366
8367 Import current sha2.c and sha2.h from OpenBSD.
8368
8369 These are not changed from their original state, the next commit will
8370 re-apply the portable changes.
8371
8372commit 2e6035b900cc9d7432d95084e03993d1b426f812
8373Author: Darren Tucker <dtucker@dtucker.net>
8374Date: Tue Jul 23 08:11:22 2019 +1000
8375
8376 Rename valgrind "errors" to "failures".
8377
8378 When valgrind is enabled, test-exec.sh counts the number of invocations
8379 that valgrind detects failures in, not the total number of errors detected.
8380 This makes the name to be more accurate.
8381
8382commit e82c9bb9ffa65725cc2e03ea81cb79ce3387f66b
8383Author: Darren Tucker <dtucker@dtucker.net>
8384Date: Fri Jul 19 18:51:18 2019 +1000
8385
8386 Skip running sftp-chroot under Valgrind.
8387
8388commit 41e22c2e05cb950b704945ac9408f6109c9b7848
8389Author: dtucker@openbsd.org <dtucker@openbsd.org>
8390Date: Sat Jul 20 09:50:58 2019 +0000
8391
8392 upstream: Remove the sleeps and thus races from the forwarding
8393
8394 test. They were originally required to work with Protocol 1, but now we can
8395 use ssh -N and the control socket without the sleeps. While there, suppress
8396 output fro the control exit commands.
8397
8398 OpenBSD-Regress-ID: 4c51a1d651242f12c90074c18c61008a74c1c790
8399
8400commit 0423043c5e54293f4dd56041304fd0046c317be9
8401Author: dtucker@openbsd.org <dtucker@openbsd.org>
8402Date: Sat Jul 20 09:37:31 2019 +0000
8403
8404 upstream: Allow SLEEPTIME to be overridden.
8405
8406 OpenBSD-Regress-ID: 1596ab168729954be3d219933b2d01cc93687e76
8407
8408commit d466b6a5cfba17a83c7aae9f584ab164e2ece0a1
8409Author: dtucker@openbsd.org <dtucker@openbsd.org>
8410Date: Sat Jul 20 09:14:40 2019 +0000
8411
8412 upstream: Move sleep time into a variable so that we can increase
8413
8414 it for platforms or configurations that are much slower then usual.
8415
8416 OpenBSD-Regress-ID: 88586cabc800062c260d0b876bdcd4ca3f58a872
8417
8418commit b4a7c9d2b5f928e0b902b580d35dc8b244a3aae0
8419Author: djm@openbsd.org <djm@openbsd.org>
8420Date: Fri Jul 19 03:45:44 2019 +0000
8421
8422 upstream: add regression tests for scp for out-of-destination path file
8423
8424 creation by Harry Sintonen via Jakub Jelen in bz3007
8425
8426 OpenBSD-Regress-ID: 01ae5fbc6ce400b2df5a84dc3152a9e31f354c07
8427
8428commit bca0582063f148c7ddf409ec51435a5a726bee4c
8429Author: djm@openbsd.org <djm@openbsd.org>
8430Date: Fri Jul 19 03:38:01 2019 +0000
8431
8432 upstream: Accept the verbose flag when searching for host keys in known
8433
8434 hosts (i.e. "ssh-keygen -vF host") to print the matching host's random- art
8435 signature too. bz#3003 "amusing, pretty" deraadt@
8436
8437 OpenBSD-Commit-ID: 686221a5447d6507f40a2ffba5393984d889891f
8438
8439commit 5299a09fa2879a068af200c91028fcfa9283c0f0
8440Author: Darren Tucker <dtucker@dtucker.net>
8441Date: Fri Jul 19 13:50:25 2019 +1000
8442
8443 Revert one dependency per line change.
8444
8445 It turns out that having such a large number of lines in the .depend
8446 file will cause the memory usage of awk during AC_SUBST to blow up on at
8447 least NetBSD's awk, causing configure to fail.
8448
8449commit 01dddb231f23b4a7b616f9d33a0b9d937f9eaf0e
8450Author: Damien Miller <djm@mindrot.org>
8451Date: Fri Jul 19 13:19:19 2019 +1000
8452
8453 fix SIGWINCH delivery of Solaris for mux sessions
8454
8455 Remove PRIV_PROC_SESSION which was limiting ability to send SIGWINCH
8456 signals to other sessions. bz#3030; report and fix from Darren Moffat
8457
8458commit 05500af21d27c1a3ddac232b018cc23da7b1ee95
8459Author: Darren Tucker <dtucker@dtucker.net>
8460Date: Fri Jul 19 13:20:03 2019 +1000
8461
8462 Force dependencies one per line.
8463
8464 Force makedepend to output one dependency per line, which will make
8465 reading diffs against it much easier. ok djm@
8466
8467commit b5bc5d016bbb83eb7f8e685390044e78b1ea1427
8468Author: Darren Tucker <dtucker@dtucker.net>
8469Date: Fri Jul 19 13:18:07 2019 +1000
8470
8471 make depend.
8472
8473commit 65333f7454365fe40f7367630e7dd10903b9d99e
8474Author: Darren Tucker <dtucker@dtucker.net>
8475Date: Fri Jul 19 13:16:11 2019 +1000
8476
8477 Show when skipping valgrind for a test.
8478
8479commit fccb7eb3436da8ef3dcd22e5936ba1abc7ae6730
8480Author: Darren Tucker <dtucker@dtucker.net>
8481Date: Fri Jul 19 10:41:56 2019 +1000
8482
8483 Enable connect-privsep test with valgrind.
8484
8485 connect-privsep seems to work OK with valgrind now so don't skip
8486 valgrind on it.
8487
8488commit d7423017265c5ae6d0be39340feb6c9f016b1f71
8489Author: Darren Tucker <dtucker@dtucker.net>
8490Date: Fri Jul 19 07:43:07 2019 +1000
8491
8492 Show valgrind results and error counts.
8493
8494commit 22b9b3e944880db906c6ac5527c4228bd92b293a
8495Author: Darren Tucker <dtucker@dtucker.net>
8496Date: Thu Jul 18 13:40:12 2019 +1000
8497
8498 Fix format string integer type in error message.
8499
8500commit ed46a0c0705895834d3f47a46faa89c2a71b760a
8501Author: djm@openbsd.org <djm@openbsd.org>
8502Date: Thu Jul 18 13:26:00 2019 +0000
8503
8504 upstream: fix off-by-one in sshbuf_dtob64() base64 wrapping that could
8505
8506 cause extra newlines to be appended at the end of the base64 text (ugly, but
8507 harmless). Found and fixed by Sebastian Kinne
8508
8509 OpenBSD-Commit-ID: 9fe290bd68f706ed8f986a7704ca5a2bd32d7b68
8510
8511commit a192021fedead23c375077f92346336d531f8cad
8512Author: Darren Tucker <dtucker@dtucker.net>
8513Date: Thu Jul 18 11:09:38 2019 +1000
8514
8515 Fail tests if Valgrind enabled and reports errors.
8516
8517 Also dump the failing valgrind report to stdout (not the cleanest
8518 solution, but better than nothing).
8519
8520commit d1c491ecb939ee10b341fa7bb6205dff19d297e5
8521Author: Darren Tucker <dtucker@dtucker.net>
8522Date: Thu Jul 18 10:17:54 2019 +1000
8523
8524 Allow low-priv tests to write to pipe dir.
8525
8526 When running regression tests with Valgrind and SUDO, the low-priv agent
8527 tests need to be able to create pipes in the appropriate directory.
8528
8529commit 8a5bb3e78191cc206f970c26d2a26c949971e91a
8530Author: Darren Tucker <dtucker@dtucker.net>
8531Date: Wed Jul 17 21:24:55 2019 +1000
8532
8533 Put valgrind vgdb files to a specific directory.
8534
8535 Valgrind by default puts vgdb files and pipes under /tmp, however it
8536 is not always able to clean them up, which can cause test failures when
8537 there's a pid/file collision. Using a specific directory ensures that
8538 we can clean up and start clean.
8539
8540commit f8829fe57fb0479d6103cfe1190095da3c032c6d
8541Author: djm@openbsd.org <djm@openbsd.org>
8542Date: Tue Jul 16 22:16:49 2019 +0000
8543
8544 upstream: adapt to sshbuf_dtob64() change
8545
8546 OpenBSD-Regress-ID: 82374a83edf0955fd1477169eee3f5d6467405a6
8547
8548commit 1254fcbb2f005f745f2265016ee9fa52e16d37b0
8549Author: dtucker@openbsd.org <dtucker@openbsd.org>
8550Date: Tue Jul 16 03:21:54 2019 +0000
8551
8552 upstream: Remove ssh1 files from CLEANFILES since ssh1 no longer
8553
8554 supported.
8555
8556 OpenBSD-Regress-ID: 5b9ae869dc669bac05939b4a2fdf44ee067acfa0
8557
8558commit 9dc81a5adabc9a7d611ed2e63fbf4c85d43b15c6
8559Author: dtucker@openbsd.org <dtucker@openbsd.org>
8560Date: Tue Jul 16 02:09:29 2019 +0000
8561
8562 upstream: Update names of host key files in CLEANFILES to match
8563
8564 recent changes to the tests.
8565
8566 OpenBSD-Regress-ID: 28743052de3acf70b06f18333561497cd47c4ecf
8567
8568commit e44e4ad1190db22ed407a79f32a8cff5bcd2b815
8569Author: Damien Miller <djm@mindrot.org>
8570Date: Tue Jul 16 23:26:53 2019 +1000
8571
8572 depend
8573
8574commit 16dd8b2c78a0de106c7429e2a294d203f6bda3c7
8575Author: djm@openbsd.org <djm@openbsd.org>
8576Date: Tue Jul 16 13:18:39 2019 +0000
8577
8578 upstream: remove mostly vestigal uuencode.[ch]; moving the only unique
8579
8580 functionality there (wrapping of base64-encoded data) to sshbuf functions;
8581 feedback and ok markus@
8582
8583 OpenBSD-Commit-ID: 4dba6735d88c57232f6fccec8a08bdcfea44ac4c
8584
8585commit 45478898f9590b5cc8bc7104e573b84be67443b0
8586Author: Darren Tucker <dtucker@dtucker.net>
8587Date: Tue Jul 16 09:20:23 2019 +1000
8588
8589 Hook memmem compat code into build.
8590
8591 This fixes builds on platforms that don't have it (at least old DragonFly,
8592 probably others).
8593
8594commit c7bd4617293a903bd3fac3394a7e72d439af49a5
8595Author: Darren Tucker <dtucker@dtucker.net>
8596Date: Tue Jul 16 09:07:18 2019 +1000
8597
8598 Import memmem.c from OpenBSD.
8599
8600commit 477e2a3be8b10df76e8d76f0427b043280d73d68
8601Author: djm@openbsd.org <djm@openbsd.org>
8602Date: Mon Jul 15 13:12:02 2019 +0000
8603
8604 upstream: unit tests for sshbuf_cmp() and sshbuf_find(); ok markus
8605
8606 OpenBSD-Regress-ID: b52d36bc3ab6dc158c1e59a9a4735f821cf9e1fd
8607
8608commit eb0d8e708a1f958aecd2d6e2ff2450af488d4c2a
8609Author: djm@openbsd.org <djm@openbsd.org>
8610Date: Mon Jul 15 13:16:29 2019 +0000
8611
8612 upstream: support PKCS8 as an optional format for storage of
8613
8614 private keys, enabled via "ssh-keygen -m PKCS8" on operations that save
8615 private keys to disk.
8616
8617 The OpenSSH native key format remains the default, but PKCS8 is a
8618 superior format to PEM if interoperability with non-OpenSSH software
8619 is required, as it may use a less terrible KDF (IIRC PEM uses a single
8620 round of MD5 as a KDF).
8621
8622 adapted from patch by Jakub Jelen via bz3013; ok markus
8623
8624 OpenBSD-Commit-ID: 027824e3bc0b1c243dc5188504526d73a55accb1
8625
8626commit e18a27eedccb024acb3cd9820b650a5dff323f01
8627Author: djm@openbsd.org <djm@openbsd.org>
8628Date: Mon Jul 15 13:11:38 2019 +0000
8629
8630 upstream: two more bounds-checking sshbuf counterparts to common
8631
8632 string operations: sshbuf_cmp() (bcmp-like) and sshbuf_find() (memmem like)
8633
8634 feedback and ok markus@
8635
8636 OpenBSD-Commit-ID: fd071ec2485c7198074a168ff363a0d6052a706a
8637
8638commit bc551dfebb55845537b1095cf3ccd01640a147b7
8639Author: Darren Tucker <dtucker@dtucker.net>
8640Date: Mon Jul 15 12:52:45 2019 +1000
8641
8642 Clear valgrind-out dir to prevent collisions.
8643
8644commit 5db9ba718e983661a9114ae1418f6e412d1f52d5
8645Author: Darren Tucker <dtucker@dtucker.net>
8646Date: Mon Jul 15 12:02:27 2019 +1000
8647
8648 Allow agent tests to write to valgrind dir.
8649
8650commit 121e48fa5305f41f0477d9908e3d862987a68a84
8651Author: djm@openbsd.org <djm@openbsd.org>
8652Date: Sun Jul 14 23:33:19 2019 +0000
8653
8654 upstream: unit tests for sshbuf_peek/poke bounds-checked random access
8655
8656 functions. ok markus@
8657
8658 OpenBSD-Regress-ID: 034c4284b1da6b12e25c762a6b958efacdafbaef
8659
8660commit 101d164723ffbc38f8036b6f3ea3bfef771ba250
8661Author: djm@openbsd.org <djm@openbsd.org>
8662Date: Sun Jul 14 23:32:27 2019 +0000
8663
8664 upstream: add some functions to perform random-access read/write
8665
8666 operations inside buffers with bounds checking. Intended to replace manual
8667 pointer arithmetic wherever possible.
8668
8669 feedback and ok markus@
8670
8671 OpenBSD-Commit-ID: 91771fde7732738f1ffed078aa5d3bee6d198409
8672
8673commit 7250879c72d28275a53f2f220e49646c3e42ef18
8674Author: djm@openbsd.org <djm@openbsd.org>
8675Date: Fri Jul 12 04:08:39 2019 +0000
8676
8677 upstream: include SHA2-variant RSA key algorithms in KEX proposal;
8678
8679 allows ssh-keyscan to harvest keys from servers that disable olde SHA1
8680 ssh-rsa. bz#3029 from Jakub Jelen
8681
8682 OpenBSD-Commit-ID: 9f95ebf76a150c2f727ca4780fb2599d50bbab7a
8683
8684commit a0876bd994cab9ba6e47ba2a163a4417c7597487
8685Author: djm@openbsd.org <djm@openbsd.org>
8686Date: Fri Jul 12 03:56:21 2019 +0000
8687
8688 upstream: print explicit "not modified" message if a file was
8689
8690 requested for resumed download but was considered already complete.
8691
8692 bz#2978 ok dtucker
8693
8694 OpenBSD-Commit-ID: f32084b26a662f16215ee4ca4a403d67e49ab986
8695
8696commit b9b0f2ac9625933db53a35b1c1ce423876630558
8697Author: tb@openbsd.org <tb@openbsd.org>
8698Date: Wed Jul 10 07:04:27 2019 +0000
8699
8700 upstream: Fix a typo and make <esc><right> move right to the
8701
8702 closest end of a word just like <esc><left> moves left to the closest
8703 beginning of a word.
8704
8705 ok djm
8706
8707 OpenBSD-Commit-ID: 6afe01b05ed52d8b12eb1fda6e9af5afb5e198ee
8708
8709commit 8729498a5d239980a91d32f031b34e8c58c52f62
8710Author: Damien Miller <djm@mindrot.org>
8711Date: Wed Jul 10 09:43:19 2019 +1000
8712
8713 fix typo that prevented detection of Linux VRF
8714
8715 Reported by hexiaowen AT huawei.com
8716
8717commit 5b2b79ff7c057ee101518545727ed3023372891d
8718Author: djm@openbsd.org <djm@openbsd.org>
8719Date: Tue Jul 9 04:15:00 2019 +0000
8720
8721 upstream: cap the number of permiopen/permitlisten directives we're
8722
8723 willing to parse on a single authorized_keys line; ok deraadt@
8724
8725 OpenBSD-Commit-ID: a43a752c2555d26aa3fc754805a476f6e3e30f46
8726
8727commit eb0b51dac408fadd1fd13fa6d726ab8fdfcc4152
8728Author: Darren Tucker <dtucker@dtucker.net>
8729Date: Mon Jul 8 17:27:26 2019 +1000
8730
8731 Move log.h include inside ifdefs.
8732
8733 Fixes build on some other platforms that don't have va_list immediately
8734 available (eg NetBSD).
8735
8736commit 43702f8e6fa22a258e25c4dd950baaae0bc656b7
8737Author: Darren Tucker <dtucker@dtucker.net>
8738Date: Sat Jul 6 23:07:04 2019 +1000
8739
8740 Include log.h for debug() and friends.
8741
8742 Should fix some compiler warnings on IRIX (bz#3032).
8743
8744commit 53a6ebf1445a857f5e487b18ee5e5830a9575149
8745Author: Damien Miller <djm@mindrot.org>
8746Date: Mon Jul 8 13:44:32 2019 +1000
8747
8748 sftp-realpath.c needs includes.h
8749
8750commit 4efe1adf05ee5d3fce44320fcff68735891f4ee6
8751Author: Damien Miller <djm@mindrot.org>
8752Date: Mon Jul 8 13:38:39 2019 +1000
8753
8754 remove realpath() compat replacement
8755
8756 We shipped a BSD implementation of realpath() because sftp-server
8757 depended on its behaviour.
8758
8759 OpenBSD is now moving to a more strictly POSIX-compliant realpath(2),
8760 so sftp-server now unconditionally requires its own BSD-style realpath
8761 implementation. As such, there is no need to carry another independant
8762 implementation in openbsd-compat.
8763
8764 ok dtucker@
8765
8766commit 696fb4298e80f2ebcd188986a91b49af3b7ca14c
8767Author: dtucker@openbsd.org <dtucker@openbsd.org>
8768Date: Sun Jul 7 01:05:00 2019 +0000
8769
8770 upstream: Remove some set but never used variables. ok daraadt@
8771
8772 OpenBSD-Commit-ID: 824baf9c59afc66a4637017e397b9b74a41684e7
8773
8774commit 156e9e85e92b46ca90226605d9eff49e8ec31b22
8775Author: deraadt@openbsd.org <deraadt@openbsd.org>
8776Date: Fri Jul 5 12:35:40 2019 +0000
8777
8778 upstream: still compile uuencode.c, unbreaks build
8779
8780 OpenBSD-Commit-ID: 5ea3d63ab972691f43e9087ab5fd8376d48e898f
8781
8782commit cec9ee527a12b1f6c2e0a1c155fec64a38d71cf6
8783Author: djm@openbsd.org <djm@openbsd.org>
8784Date: Fri Jul 5 07:32:01 2019 +0000
8785
8786 upstream: revert header removal that snuck into previous
8787
8788 OpenBSD-Commit-ID: 3919cdd58989786660b8269b325646ef8856428e
8789
8790commit 569b650f93b561c09c655f83f128e1dfffe74101
8791Author: djm@openbsd.org <djm@openbsd.org>
8792Date: Fri Jul 5 04:55:40 2019 +0000
8793
8794 upstream: add a local implementation of BSD realpath() for
8795
8796 sftp-server use ahead of OpenBSD's realpath changing to match POSIX;
8797
8798 ok deraadt@ (thanks for snaps testing)
8799
8800 OpenBSD-Commit-ID: 4f8cbf7ed8679f6237264301d104ecec64885d55
8801
8802commit b8e2b797362526437e0642a6c2f2970d794f2561
8803Author: Darren Tucker <dtucker@dtucker.net>
8804Date: Sat Jul 6 13:13:57 2019 +1000
8805
8806 Add prototype for strnlen to prevent warnings.
8807
8808commit 4c3e00b1ed7e596610f34590eb5d54ee50d77878
8809Author: Darren Tucker <dtucker@dtucker.net>
8810Date: Sat Jul 6 13:02:34 2019 +1000
8811
8812 Cast *ID types to unsigned long when printing.
8813
8814 UID and GID types vary by platform so cast to u_long and use %lu when
8815 printing them to prevent warnings.
8816
8817commit 2753521e899f30d1d58b5da0b4e68fde6fcf341e
8818Author: Darren Tucker <dtucker@dtucker.net>
8819Date: Sat Jul 6 12:54:43 2019 +1000
8820
8821 Add prototype for compat strndup.(bz#3032).
8822
8823commit 01a1e21cd55d99293c8ff8ed7c590f2ee440da43
8824Author: Darren Tucker <dtucker@dtucker.net>
8825Date: Sat Jul 6 12:00:41 2019 +1000
8826
8827 Add missing bracket in EGD seeding code.
8828
8829 When configured --with-prngd-socket the code had a missing bracket after
8830 an API change. Fix that and a couple of warnings. bz#3032 , from
8831 ole.weidner at protonmail.ch
8832
8833commit e187b1d4607392cf2c19243afe0d0311a4ff3591
8834Author: dtucker@openbsd.org <dtucker@openbsd.org>
8835Date: Fri Jul 5 04:19:39 2019 +0000
8836
8837 upstream: Add (recently added) rsa_oldfmt to CLEANFILES.
8838
8839 OpenBSD-Regress-ID: 405beda94e32aa6cc9c80969152fab91f7c54bd3
8840
8841commit 74b541bfabdcb57c1683cd9b3f1d1f4d5e41563e
8842Author: dtucker@openbsd.org <dtucker@openbsd.org>
8843Date: Fri Jul 5 04:12:46 2019 +0000
8844
8845 upstream: Adapt the PuTTY/Conch tests to new key names.
8846
8847 A recent regress change (2a9b3a2ce411d16cda9c79ab713c55f65b0ec257 in
8848 portable) broke the PuTTY and Twisted Conch interop tests, because the
8849 key they want to use is now called ssh-rsa rather than rsa. Adapt the
8850 tests to the new file names. bz#3020, patch from cjwatson at debian.org.
8851
8852 OpenBSD-Regress-ID: fd342a37db4d55aa4ec85316f73082c8eb96e64e
8853
8854commit de08335a4cfaa9b7081e94ea4a8b7153c230546d
8855Author: dtucker@openbsd.org <dtucker@openbsd.org>
8856Date: Fri Jul 5 04:03:13 2019 +0000
8857
8858 upstream: Add a sleep to allow forwards to come up.
8859
8860 Currently when the multiplex client requests a forward it returns
8861 once the request has been sent but not necessarily when the forward
8862 is up. This causes intermittent text failures due to this race,
8863 so add some sleeps to mitigate this until we can fix it properly.
8864
8865 OpenBSD-Regress-ID: 384c7d209d2443d25ea941d7f677e932621fb253
8866
8867commit 4d249284729f864faa2e8f3e015f9a41b674544a
8868Author: Darren Tucker <dtucker@dtucker.net>
8869Date: Fri Jul 5 14:58:57 2019 +1000
8870
8871 Remove nc stderr redirection to resync w/OpenBSD.
8872
8873commit c5cfa90e03432181ffcc7ad3f9f815179bd0c626
8874Author: Darren Tucker <dtucker@dtucker.net>
8875Date: Fri Jul 5 13:21:45 2019 +1000
8876
8877 Do not fatal on failed lookup of group "tty".
8878
8879 Some platforms (eg AIX and Cygwin) do not have a "tty" group. In those
8880 cases we will fall back to making the tty device the user's primary
8881 group, so do not fatal if the group lookup fails. ok djm@
8882
8883commit 8b4cc4bdc8a70bf209a274fa2b2a49c1e3c8d8a2
8884Author: deraadt@openbsd.org <deraadt@openbsd.org>
8885Date: Thu Jul 4 16:20:10 2019 +0000
8886
8887 upstream: fatal() if getgrnam() cannot find "tty"
8888
8889 OpenBSD-Commit-ID: d148c1c052fa0ed7d105b5428b5c1bab91630048
8890
8891commit 48cccc275c6a1e91d3f80fdb0dc0d5baf529aeca
8892Author: deraadt@openbsd.org <deraadt@openbsd.org>
8893Date: Thu Jul 4 16:16:51 2019 +0000
8894
8895 upstream: stat() returns precisely -1 to indicate error
8896
8897 OpenBSD-Commit-ID: 668e8d022ed4ab847747214f64119e5865365fa1
8898
8899commit 8142fcaf9ed8ff66252deecbfd29fc59d5f2df4f
8900Author: deraadt@openbsd.org <deraadt@openbsd.org>
8901Date: Wed Jul 3 03:24:02 2019 +0000
8902
8903 upstream: snprintf/vsnprintf return < 0 on error, rather than -1.
8904
8905 OpenBSD-Commit-ID: a261c421140a0639bb2b66bbceca72bf8239749d
8906
8907commit 4d28fa78abce2890e136281950633fae2066cc29
8908Author: deraadt@openbsd.org <deraadt@openbsd.org>
8909Date: Fri Jun 28 13:35:04 2019 +0000
8910
8911 upstream: When system calls indicate an error they return -1, not
8912
8913 some arbitrary value < 0. errno is only updated in this case. Change all
8914 (most?) callers of syscalls to follow this better, and let's see if this
8915 strictness helps us in the future.
8916
8917 OpenBSD-Commit-ID: 48081f00db7518e3b712a49dca06efc2a5428075
8918
8919commit e8c974043c1648eab0ad67a7ba6a3e444fe79d2d
8920Author: deraadt@openbsd.org <deraadt@openbsd.org>
8921Date: Fri Jun 28 05:44:09 2019 +0000
8922
8923 upstream: asprintf returns -1, not an arbitrary value < 0. Also
8924
8925 upon error the (very sloppy specification) leaves an undefined value in *ret,
8926 so it is wrong to inspect it, the error condition is enough. discussed a
8927 little with nicm, and then much more with millert until we were exasperated
8928
8929 OpenBSD-Commit-ID: 29258fa51edf8115d244b9d4b84028487bf8923e
8930
8931commit 1b2d55d15c6240c15a1e1cf4203b82e54a766272
8932Author: deraadt@openbsd.org <deraadt@openbsd.org>
8933Date: Fri Jun 28 01:23:50 2019 +0000
8934
8935 upstream: oops, from asou
8936
8937 OpenBSD-Commit-ID: 702e765d1639b732370d8f003bb84a1c71c4d0c6
8938
8939commit 5cdbaa78fcb718c39af4522d98016ad89d065427
8940Author: deraadt@openbsd.org <deraadt@openbsd.org>
8941Date: Thu Jun 27 18:03:37 2019 +0000
8942
8943 upstream: Some asprintf() calls were checked < 0, rather than the
8944
8945 precise == -1. ok millert nicm tb, etc
8946
8947 OpenBSD-Commit-ID: caecf8f57938685c04f125515b9f2806ad408d53
8948
8949commit b2e3e57be4a933d9464bccbe592573725765486f
8950Author: djm@openbsd.org <djm@openbsd.org>
8951Date: Thu Jun 27 06:29:35 2019 +0000
8952
8953 upstream: fix NULL deference (bzero) on err
8954
8955 =?UTF-8?q?or=20path=20added=20in=20last=20commit;=20spotted=20by=20Reynir?=
8956 =?UTF-8?q?=20Bj=C3=B6rnsson?=
8957 MIME-Version: 1.0
8958 Content-Type: text/plain; charset=UTF-8
8959 Content-Transfer-Encoding: 8bit
8960
8961 ok deraadt@ markus@ tb@
8962
8963 OpenBSD-Commit-ID: b11b084bcc551b2c630560eb08618dd501027bbd
8964
8965commit 58ceacdcbaebefc77d120712de55c6fc6aa32bb1
8966Author: Jitendra Sharma <jitendra.sharma@intel.com>
8967Date: Fri Jun 21 09:54:17 2019 +0530
8968
8969 Update README doc to include missing test cases
8970
8971 Readme regress document is missing various individual tests,
8972 which are supported currently. Update README to
8973 include those test cases.
8974
8975commit 7959330a554051b5587f8af3fec0c2c0d5820f64
8976Author: dtucker@openbsd.org <dtucker@openbsd.org>
8977Date: Wed Jun 26 22:29:43 2019 +0000
8978
8979 upstream: Remove unneeded unlink of xauthfile o
8980
8981 =?UTF-8?q?n=20error=20path.=20=20From=20Erik=20Sj=C3=B6lund=20via=20githu?=
8982 =?UTF-8?q?b,=20ok=20djm@=20deraadt@?=
8983 MIME-Version: 1.0
8984 Content-Type: text/plain; charset=UTF-8
8985 Content-Transfer-Encoding: 8bit
8986
8987 OpenBSD-Commit-ID: 62a4893cf83b29a4bbfedc40e7067c25c203e632
8988
8989commit 8de52eb224143783a49f9bddd9ab7800022a8276
8990Author: djm@openbsd.org <djm@openbsd.org>
8991Date: Sun Jun 23 12:21:46 2019 +0000
8992
8993 upstream: fix mismatch proto/decl from key shielding change; spotted
8994
8995 via oss-fuzz
8996
8997 OpenBSD-Commit-ID: 1ea0ba05ded2c5557507bd844cd446e5c8b5b3b7
8998
8999commit 1dfadb9b57c2985c95838a0292d1c2f6a501896e
9000Author: djm@openbsd.org <djm@openbsd.org>
9001Date: Fri Jun 21 04:21:45 2019 +0000
9002
9003 upstream: adapt for key shielding API changes (const removal)
9004
9005 OpenBSD-Regress-ID: 298890bc52f0cd09dba76dc1022fabe89bc0ded6
9006
9007commit 4f7a56d5e02e3d04ab69eac1213817a7536d0562
9008Author: djm@openbsd.org <djm@openbsd.org>
9009Date: Fri Jun 21 04:21:04 2019 +0000
9010
9011 upstream: Add protection for private keys at rest in RAM against
9012
9013 speculation and memory sidechannel attacks like Spectre, Meltdown, Rowhammer
9014 and Rambleed. This change encrypts private keys when they are not in use with
9015 a symmetic key that is derived from a relatively large "prekey" consisting of
9016 random data (currently 16KB).
9017
9018 Attackers must recover the entire prekey with high accuracy before
9019 they can attempt to decrypt the shielded private key, but the current
9020 generation of attacks have bit error rates that, when applied
9021 cumulatively to the entire prekey, make this unlikely.
9022
9023 Implementation-wise, keys are encrypted "shielded" when loaded and then
9024 automatically and transparently unshielded when used for signatures or
9025 when being saved/serialised.
9026
9027 Hopefully we can remove this in a few years time when computer
9028 architecture has become less unsafe.
9029
9030 been in snaps for a bit already; thanks deraadt@
9031
9032 ok dtucker@ deraadt@
9033
9034 OpenBSD-Commit-ID: 19767213c312e46f94b303a512ef8e9218a39bd4
9035
9036commit 4cd6b12cc9c10bf59c8b425041f3ea5091285a0f
9037Author: djm@openbsd.org <djm@openbsd.org>
9038Date: Fri Jun 21 03:19:59 2019 +0000
9039
9040 upstream: print the correct AuthorizedPrincipalsCommand rather than
9041
9042 an uninitialised variable; spotted by dtucker@
9043
9044 OpenBSD-Commit-ID: 02802018784250f68202f01c8561de82e17b0638
9045
9046commit 5f68ab436b0e01751d564e9a9041e6ac3673e45a
9047Author: jmc@openbsd.org <jmc@openbsd.org>
9048Date: Wed Jun 19 20:12:44 2019 +0000
9049
9050 upstream: from tim: - for reput, it is remote-path which is
9051
9052 optional, not local-path - sync help
9053
9054 from deraadt:
9055 - prefer -R and undocument -r (but add a comment for future editors)
9056
9057 from schwarze:
9058 - prefer -p and undocument -P (as above. the comment was schwarze's too)
9059
9060 more:
9061 - add the -f flag to reput and reget
9062 - sort help (i can;t remember who suggested this originally)
9063
9064 djm and deraadt were ok with earlier versions of this;
9065 tim and schwarze ok
9066
9067 OpenBSD-Commit-ID: 3c699b53b46111f5c57eed4533f132e7e58bacdd
9068
9069commit 99bcbbc77fbd5a5027031f42a5931b21b07c947e
9070Author: djm@openbsd.org <djm@openbsd.org>
9071Date: Fri Jun 14 04:03:48 2019 +0000
9072
9073 upstream: check for convtime() refusing to accept times that
9074
9075 resolve to LONG_MAX Reported by Kirk Wolf bz2977; ok dtucker
9076
9077 OpenBSD-Regress-ID: 15c9fe87be1ec241d24707006a31123d3a3117e0
9078
9079commit e5cccb2410247c9b8151b9510a876abdf5424b24
9080Author: dtucker@openbsd.org <dtucker@openbsd.org>
9081Date: Sun Apr 28 22:53:26 2019 +0000
9082
9083 upstream: Add unit tests for user@host and URI parsing.
9084
9085 OpenBSD-Regress-ID: 69d5b6f278e04ed32377046f7692c714c2d07a68
9086
9087commit 0bb7e38834e3f9886302bbaea630a6b0f8cfb520
9088Author: dtucker@openbsd.org <dtucker@openbsd.org>
9089Date: Thu Apr 18 18:57:16 2019 +0000
9090
9091 upstream: Add tests for sshd -T -C with Match.
9092
9093 OpenBSD-Regress-ID: d4c34916fe20d717692f10ef50b5ae5a271c12c7
9094
9095commit 73eb6cef41daba0359c1888e4756108d41b4e819
9096Author: Darren Tucker <dtucker@dtucker.net>
9097Date: Sun Jun 16 12:55:27 2019 +1000
9098
9099 Include stdio.h for vsnprintf.
9100
9101 Patch from mforney at mforney.org.
9102
9103commit adcaf40fd0a180e6cb5798317fdf479b52e3c09a
9104Author: Darren Tucker <dtucker@dtucker.net>
9105Date: Sat Jun 8 09:07:04 2019 +1000
9106
9107 upstream rev 1.27: fix integer overflow.
9108
9109 Cast bitcount to u_in64_t before bit shifting to prevent integer overflow
9110 on 32bit platforms which cause incorrect results when adding a block
9111 >=512M in size. sha1 patch from ante84 at gmail.com via openssh github,
9112 sha2 with djm@, ok tedu@
9113
9114commit 7689048e6103d3c34cba24ac5aeea7bf8405d19a
9115Author: Darren Tucker <dtucker@dtucker.net>
9116Date: Sat Jun 8 09:06:06 2019 +1000
9117
9118 upstream rev 1.25: add DEF_WEAK.
9119
9120 Wrap blowfish, sha*, md5, and rmd160 so that internal calls go direct
9121 ok deraadt@
9122
9123commit 55f3153393ac7e072a4b4b21b194864460d8f44a
9124Author: Darren Tucker <dtucker@dtucker.net>
9125Date: Sat Jun 8 09:02:24 2019 +1000
9126
9127 upstream rev 1.25: add sys/types.h
9128
9129commit 10974f986fa842a3a3a693e3d5761072540002b4
9130Author: Darren Tucker <dtucker@dtucker.net>
9131Date: Sat Jun 8 09:01:14 2019 +1000
9132
9133 upstream: Use explicit_bzero instead of memset
9134
9135 in hash Final and End functions. OK deraadt@ djm@
9136
9137commit cb8f56570f70b00abae4267d4bcce2bfae7dfff6
9138Author: djm@openbsd.org <djm@openbsd.org>
9139Date: Fri Jun 14 04:13:58 2019 +0000
9140
9141 upstream: slightly more instructive error message when the user
9142
9143 specifies multiple -J options on the commandline. bz3015 ok dtucker@
9144
9145 OpenBSD-Commit-ID: 181c15a65cac3b575819bc8d9a56212c3c748179
9146
9147commit 2317ce4b0ed7d8c4b0c684e2d47bff5006bd1178
9148Author: djm@openbsd.org <djm@openbsd.org>
9149Date: Fri Jun 14 03:51:47 2019 +0000
9150
9151 upstream: process agent requests for RSA certificate private keys using
9152
9153 correct signature algorithm when requested. Patch from Jakub Jelen in bz3016
9154 ok dtucker markus
9155
9156 OpenBSD-Commit-ID: 61f86efbeb4a1857a3e91298c1ccc6cf49b79624
9157
9158commit c95b90d40170473825904be561b1eafba354f376
9159Author: djm@openbsd.org <djm@openbsd.org>
9160Date: Fri Jun 14 03:39:59 2019 +0000
9161
9162 upstream: for public key authentication, check AuthorizedKeysFiles
9163
9164 files before consulting AuthorizedKeysCommand; ok dtucker markus
9165
9166 OpenBSD-Commit-ID: 13652998bea5cb93668999c39c3c48e8429db8b3
9167
9168commit a5a53914989ddd3521b6edc452bc3291784a4f4f
9169Author: djm@openbsd.org <djm@openbsd.org>
9170Date: Fri Jun 14 03:28:19 2019 +0000
9171
9172 upstream: if passed a bad fd, log what it was
9173
9174 OpenBSD-Commit-ID: 582e2bd05854e49365195b58989b68ac67f09140
9175
9176commit 7349149da1074d82b71722338e05b6a282f126cc
9177Author: jmc@openbsd.org <jmc@openbsd.org>
9178Date: Wed Jun 12 11:31:50 2019 +0000
9179
9180 upstream: Hostname->HostName cleanup; from lauri tirkkonen ok
9181
9182 dtucker
9183
9184 OpenBSD-Commit-ID: 4ade73629ede63b691f36f9a929f943d4e7a44e4
9185
9186commit 76af9c57387243556d38935555c227d0b34062c5
9187Author: jmc@openbsd.org <jmc@openbsd.org>
9188Date: Wed Jun 12 05:53:21 2019 +0000
9189
9190 upstream: deraadt noticed some inconsistency in the way we denote
9191
9192 the "Hostname" and "X11UseLocalhost" keywords; this makes things consistent
9193 (effectively reversing my commit of yesterday);
9194
9195 ok deraadt markus djm
9196
9197 OpenBSD-Commit-ID: 255c02adb29186ac91dcf47dfad7adb1b1e54667
9198
9199commit d1bbfdd932db9b9b799db865ee1ff50060dfc895
9200Author: jmc@openbsd.org <jmc@openbsd.org>
9201Date: Tue Jun 11 13:39:40 2019 +0000
9202
9203 upstream: consistent lettering for "HostName" keyword; from lauri
9204
9205 tirkkonen
9206
9207 OpenBSD-Commit-ID: 0c267a1257ed7482b13ef550837b6496e657d563
9208
9209commit fc0340f7c4ee29bfb12bd1de9f99defa797e16b4
9210Author: Darren Tucker <dtucker@dtucker.net>
9211Date: Sat Jun 8 00:10:59 2019 +1000
9212
9213 Typo fixes in error messages.
9214
9215 Patch from knweiss at gmail.com via github pull req #97 (portable-
9216 specific parts).
9217
9218commit 4b7dd22b02b64b1ededd3c0e98a6e7ae21e31d38
9219Author: dtucker@openbsd.org <dtucker@openbsd.org>
9220Date: Fri Jun 7 14:18:48 2019 +0000
9221
9222 upstream: Typo and spelling fixes in comments and error messages.
9223
9224 Patch from knweiss at gmail.com via -portable.
9225
9226 OpenBSD-Commit-ID: 2577465442f761a39703762c4f87a8dfcb918b4b
9227
9228commit 130ef0695e1731392ca33831939fe89e8b70cc17
9229Author: Darren Tucker <dtucker@dtucker.net>
9230Date: Sat Jun 8 00:47:07 2019 +1000
9231
9232 Include missed bits from previous sync.
9233
9234commit 25e3bccbaa63d27b9d5e09c123f1eb28594d2bd6
9235Author: dtucker@openbsd.org <dtucker@openbsd.org>
9236Date: Fri Jun 7 03:47:12 2019 +0000
9237
9238 upstream: Check for user@host when parsing sftp target. This
9239
9240 allows user@[1.2.3.4] to work without a path in addition to with one.
9241 bz#2999, ok djm@
9242
9243 OpenBSD-Commit-ID: d989217110932490ba8ce92127a9a6838878928b
9244
9245commit 0323d9b619d512f80c57575b810a05791891f657
9246Author: otto@openbsd.org <otto@openbsd.org>
9247Date: Thu Jun 6 05:13:13 2019 +0000
9248
9249 upstream: Replace calls to ssh_malloc_init() by a static init of
9250
9251 malloc_options. Prepares for changes in the way malloc is initialized. ok
9252 guenther@ dtucker@
9253
9254 OpenBSD-Commit-ID: 154f4e3e174f614b09f792d4d06575e08de58a6b
9255
9256commit c586d2d3129265ea64b12960c379d634bccb6535
9257Author: djm@openbsd.org <djm@openbsd.org>
9258Date: Fri May 31 03:20:07 2019 +0000
9259
9260 upstream: fix ssh-keysign fd handling problem introduced in r1.304
9261
9262 caused by a typo (STDIN_FILENO vs STDERR_FILENO)
9263
9264 OpenBSD-Commit-ID: 57a0b4be7bef23963afe24150e24bf014fdd9cb0
9265
9266commit 410b231aa41ff830b2f5b09b5aaf5e5cdc1ab86b
9267Author: lum@openbsd.org <lum@openbsd.org>
9268Date: Wed May 29 08:30:26 2019 +0000
9269
9270 upstream: Make the standard output messages of both methods of
9271
9272 changing a key pair's comments (using -c and -C) more applicable to both
9273 methods. ok and suggestions djm@ dtucker@
9274
9275 OpenBSD-Commit-ID: b379338118109eb36e14a65bc0a12735205b3de6
9276
9277commit 2b3402dc9f1d9b0df70291b424f36e436cdfa7e0
9278Author: Darren Tucker <dtucker@dtucker.net>
9279Date: Sat Jun 8 00:03:07 2019 +1000
9280
9281 Always clean up before and after utimensat test.
9282
9283commit 182898192d4b720e4faeafd5b39c2cfb3b92aa21
9284Author: Darren Tucker <dtucker@dtucker.net>
9285Date: Fri Jun 7 23:47:37 2019 +1000
9286
9287 Update utimensat test.
9288
9289 POSIX specifies that when given a symlink, AT_SYMLINK_NOFOLLOW should
9290 update the symlink and not the destination. The compat code doesn't
9291 have a way to do this, so where possible it fails instead of following a
9292 symlink when explicitly asked not to. Instead of checking for an explicit
9293 failure, check that it does not update the destination, which both the
9294 real and compat implmentations should honour.
9295
9296 Inspired by github pull req #125 from chutzpah at gentoo.org.
9297
9298commit d220b675205185e0b4d6b6524acc2e5c599ef0e2
9299Author: Darren Tucker <dtucker@dtucker.net>
9300Date: Fri Jun 7 14:26:54 2019 +1000
9301
9302 Have pthread_create return errno on failure.
9303
9304 According to POSIX, pthread_create returns the failure reason in
9305 the non-zero function return code so make the fork wrapper do that.
9306 Matches previous change.
9307
9308commit 1bd4f7f25f653e0cadb2e6f25d79bc3c35c6aa4d
9309Author: Elliott Hughes <enh@google.com>
9310Date: Thu Apr 25 13:36:27 2019 -0700
9311
9312 pthread_create(3) returns positive values on failure.
9313
9314 Found by inspection after finding similar bugs in other code used by
9315 Android.
9316
9317commit b3a77b25e5f7880222b179431a74fad76d2cf60c
9318Author: Harald Freudenberger <freude@linux.ibm.com>
9319Date: Fri May 24 10:11:15 2019 +0200
9320
9321 allow s390 specific ioctl for ecc hardware support
9322
9323 Adding another s390 specific ioctl to be able to support ECC hardware
9324 acceleration to the sandbox seccomp filter rules.
9325
9326 Now the ibmca openssl engine provides elliptic curve cryptography
9327 support with the help of libica and CCA crypto cards. This is done via
9328 jet another ioctl call to the zcrypt device driver and so there is a
9329 need to enable this on the openssl sandbox.
9330
9331 Code is s390 specific and has been tested, verified and reviewed.
9332
9333 Please note that I am also the originator of the previous changes in
9334 that area. I posted these changes to Eduardo and he forwarded the
9335 patches to the openssl community.
9336
9337 Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
9338 Reviewed-by: Joerg Schmidbauer <jschmidb@de.ibm.com>
9339
9340commit 2459df9aa11820f8092a8651aeb381af7ebbccb1
9341Author: Sorin Adrian Savu <sorin25@users.noreply.github.com>
9342Date: Sun May 26 21:50:08 2019 +0300
9343
9344 openssl-devel is obsoleted by libssl-devel
9345
9346 openssl-devel is no longer installable via the cygwin setup and
9347 it's hidden by default, so you can't see the replacement very easy.
9348
9349commit 85ceb0e64bff672558fc87958cd548f135c83cdd
9350Author: jmc@openbsd.org <jmc@openbsd.org>
9351Date: Mon May 20 06:01:59 2019 +0000
9352
9353 upstream: tweak previous;
9354
9355 OpenBSD-Commit-ID: 42f39f22f53cfcb913bce401ae0f1bb93e08dd6c
9356
9357commit 30615295609f5c57b3137b3021fe63bfa45c1985
9358Author: djm@openbsd.org <djm@openbsd.org>
9359Date: Mon May 20 00:25:55 2019 +0000
9360
9361 upstream: embiggen format buffer size for certificate serial number so
9362
9363 that it will fit a full 64 bit integer. bz#3012 from Manoel Domingues Junior
9364
9365 OpenBSD-Commit-ID: a51f3013056d05b976e5af6b978dcb9e27bbc12b
9366
9367commit 476e3551b2952ef73acc43d995e832539bf9bc4d
9368Author: djm@openbsd.org <djm@openbsd.org>
9369Date: Mon May 20 00:20:35 2019 +0000
9370
9371 upstream: When signing certificates with an RSA key, default to
9372
9373 using the rsa-sha2-512 signature algorithm. Certificates signed by RSA keys
9374 will therefore be incompatible with OpenSSH < 7.2 unless the default is
9375 overridden.
9376
9377 Document the ability of the ssh-keygen -t flag to override the
9378 signature algorithm when signing certificates, and the new default.
9379
9380 ok deraadt@
9381
9382 OpenBSD-Commit-ID: 400c9c15013978204c2cb80f294b03ae4cfc8b95
9383
9384commit 606077ee1e77af5908431d003fb28461ef7be092
9385Author: Darren Tucker <dtucker@dtucker.net>
9386Date: Fri May 17 13:14:12 2019 +1000
9387
9388 Add no-op implementation of pam_putenv.
9389
9390 Some platforms such as HP-UX do not have pam_putenv. Currently the
9391 calls are ifdef'ed out, but a new one was recently added. Remove the
9392 ifdefs and add a no-op implementation. bz#3008, ok djm.
9393
9394commit 1ac98be8724c9789d770ddb8e7f0dbf1b55e05a0
9395Author: Darren Tucker <dtucker@dtucker.net>
9396Date: Fri May 17 12:42:17 2019 +1000
9397
9398 Use the correct macro for SSH_ALLOWED_CA_SIGALGS.
9399
9400commit 97370f6c2c3b825f8c577b7e6c00b1a98d30a6cf
9401Author: Darren Tucker <dtucker@dtucker.net>
9402Date: Fri May 17 10:54:51 2019 +1000
9403
9404 Fix building w/out ECC.
9405
9406 Ifdef out ECC specific code so that that it'll build against an OpenSSL
9407 configured w/out ECC. With & ok djm@
9408
9409commit 633703babf8d9a88da85f23b800e1b88dec7cdbd
9410Author: Darren Tucker <dtucker@dtucker.net>
9411Date: Fri May 17 10:50:29 2019 +1000
9412
9413 Conditionalize ECDH methods in CA algos.
9414
9415 When building against an OpenSSL configured without ECC, don't include
9416 those algos in CASignatureAlgorithms. ok djm@
9417
9418commit 5c8d14c512f5d413095b22bdba08a6bb990f1e97
9419Author: dtucker@openbsd.org <dtucker@openbsd.org>
9420Date: Thu May 16 08:47:27 2019 +0000
9421
9422 upstream: Move a variable declaration to the block where it's used
9423
9424 to make things a little tidier for -portable.
9425
9426 OpenBSD-Commit-ID: 616379861be95619e5358768b7dee4793e2f3a75
9427
9428commit a1d29cc36a5e6eeabc935065a8780e1ba5b67014
9429Author: deraadt@openbsd.org <deraadt@openbsd.org>
9430Date: Wed May 15 04:43:31 2019 +0000
9431
9432 upstream: When doing the fork+exec'ing for ssh-keysign, rearrange
9433
9434 the socket into fd3, so as to not mistakenly leak other fd forward
9435 accidentally. ok djm
9436
9437 OpenBSD-Commit-ID: 24cc753f5aa2c6a7d0fbf62766adbc75cd785296
9438
9439commit db7606d4a62fee67b0cb2f32dfcbd7b3642bfef5
9440Author: schwarze@openbsd.org <schwarze@openbsd.org>
9441Date: Tue May 14 12:47:17 2019 +0000
9442
9443 upstream: Delete some .Sx macros that were used in a wrong way.
9444
9445 Part of a patch from Stephen Gregoratto <dev at sgregoratto dot me>.
9446
9447 OpenBSD-Commit-ID: 15501ed13c595f135e7610b1a5d8345ccdb513b7
9448
9449commit cb4accb1233865d9151f8a50cc5f0c61a3fd4077
9450Author: florian@openbsd.org <florian@openbsd.org>
9451Date: Fri May 10 18:55:17 2019 +0000
9452
9453 upstream: For PermitOpen violations add the remote host and port to
9454
9455 be able to find out from where the request was comming.
9456
9457 Add the same logging for PermitListen violations which where not
9458 logged at all.
9459
9460 Pointed out by Robert Kisteleki (robert AT ripe.net)
9461
9462 input markus
9463 OK deraadt
9464
9465 OpenBSD-Commit-ID: 8a7d0f1b7175504c0d1dca8d9aca1588b66448c8
9466
9467commit cd16aceec148d55088fc8df6be88335578d85258
9468Author: Darren Tucker <dtucker@dtucker.net>
9469Date: Thu May 16 07:53:20 2019 +1000
9470
9471 Add OpenSSL 1.1.1 to the supported list.
9472
9473 Clarify the language around prngd and egd.
9474
9475commit 6fd4aa2aafbce90acb11a328ca0aa0696cb01c6b
9476Author: Darren Tucker <dtucker@dtucker.net>
9477Date: Wed May 15 16:19:14 2019 +1000
9478
9479 Fix typo in man page formatter selector.
9480
9481commit 285546b73e2c172565c992a695927ac8cf3b4cc6
9482Author: Darren Tucker <dtucker@dtucker.net>
9483Date: Fri May 10 15:04:42 2019 +1000
9484
9485 Use "doc" man page format if mandoc present.
9486
9487 Previously configure would not select the "doc" man page format if
9488 mandoc was present but nroff was not. This checks for mandoc first
9489 and removes a now-superflous AC_PATH_PROG. Based on a patch from
9490 vehk at vehk.de and feedback from schwarze at usta.de.
9491
9492commit 62dd70613b77b229f53db3cc1c3e8a206fa2b582
9493Author: dtucker@openbsd.org <dtucker@openbsd.org>
9494Date: Fri May 3 06:06:30 2019 +0000
9495
9496 upstream: Use the correct (according to POSIX) format for
9497
9498 left-justification in snmprintf. bz#3002, patch from velemas at gmail.com, ok
9499 markus@.
9500
9501 OpenBSD-Commit-ID: 65d252b799be0cc8f68b6c47cece0a57bb00fea7
9502
9503commit 62be1ffe5ffc68cfaac183320503c00a8c72e0b1
9504Author: dtucker@openbsd.org <dtucker@openbsd.org>
9505Date: Fri May 3 04:11:00 2019 +0000
9506
9507 upstream: Free channel objects on exit path. Patch from markus at
9508
9509 blueflash.cc, ok deraadt
9510
9511 OpenBSD-Commit-ID: dbe4db381603909482211ffdd2b48abd72169117
9512
9513commit 1c554a5d94b9de6bd5374e2992a5662746cc39ba
9514Author: dtucker@openbsd.org <dtucker@openbsd.org>
9515Date: Fri May 3 03:27:38 2019 +0000
9516
9517 upstream: Free host on exit path. Patch from markus at
9518
9519 blueflash.cc, ok djm@
9520
9521 OpenBSD-Commit-ID: c54e9945d93c4ce28350d8b9fa8b71f744ef2b5a
9522
9523commit 99043bd64e5e0f427173f4fa83ef25a4676624a3
9524Author: dtucker@openbsd.org <dtucker@openbsd.org>
9525Date: Fri May 3 03:25:18 2019 +0000
9526
9527 upstream: Wrap XMSS including in ifdef. Patch from markus at
9528
9529 blueflash.cc, ok djm
9530
9531 OpenBSD-Commit-ID: e3b34fc35cf12d33bde91ac03633210a3bc0f8b5
9532
9533commit 8fcfb7789c43a19d24162a7a4055cd09ee951b34
9534Author: dtucker@openbsd.org <dtucker@openbsd.org>
9535Date: Fri Apr 26 08:37:17 2019 +0000
9536
9537 upstream: Import regenerated moduli.
9538
9539 OpenBSD-Commit-ID: db6375fc302e3bdf07d96430c63c991b2c2bd3ff
9540
9541commit 3a7db919d5dd09f797971b3cf8ee301767459774
9542Author: dtucker@openbsd.org <dtucker@openbsd.org>
9543Date: Tue Apr 23 11:56:41 2019 +0000
9544
9545 upstream: Use the LogLevel typdef instead of int where appropriate. Patch from Markus Schmidt via openssh-unix-dev, ok markus@
9546
9547 OpenBSD-Commit-ID: 4c0f0f458e3da7807806b35e3eb5c1e8403c968a
9548
9549commit d7c6e38b87efab1f140745fd8b1106b82e6e4a68
9550Author: dtucker@openbsd.org <dtucker@openbsd.org>
9551Date: Fri Apr 19 05:47:44 2019 +0000
9552
9553 upstream: Document new default RSA key size. From
9554
9555 sebastiaanlokhorst at gmail.com via bz#2997.
9556
9557 OpenBSD-Commit-ID: bdd62ff5d4d649d2147904e91bf7cefa82fe11e1
9558
9559commit e826bbcafe26dac349a8593da5569e82faa45ab8
9560Author: dtucker@openbsd.org <dtucker@openbsd.org>
9561Date: Thu Apr 18 18:56:16 2019 +0000
9562
9563 upstream: When running sshd -T, assume any attibute not provided by
9564
9565 -C does not match, which allows it to work when sshd_config contains a Match
9566 directive with or without -C. bz#2858, ok djm@
9567
9568 OpenBSD-Commit-ID: 1a701f0a33e3bc96753cfda2fe0b0378520b82eb
9569
9570commit 5696512d7ad57e85e89f8011ce8dec617be686aa
9571Author: dtucker@openbsd.org <dtucker@openbsd.org>
9572Date: Thu Apr 18 07:32:56 2019 +0000
9573
9574 upstream: Remove crc32.{c,h} which were only used by the now-gone
9575
9576 SSH1 protocol. Patch from yumkam at gmail.com, ok deraadt.
9577
9578 OpenBSD-Commit-ID: cceda5876c5ba6b4d8abcd52335329198cee3240
9579
9580commit 34e87fb5d9ce607f5701ab4c31d837ad8133e2d1
9581Author: Darren Tucker <dtucker@dtucker.net>
9582Date: Tue Apr 30 12:27:57 2019 +1000
9583
9584 Remove unused variables from RLIMIT_NOFILE test.
9585
9586commit 35e82e62c1ef53cfa457473a4c4d957d6197371a
9587Author: Darren Tucker <dtucker@dtucker.net>
9588Date: Fri Apr 26 18:38:27 2019 +1000
9589
9590 Import regenerated moduli.
9591
9592commit 5590f53f99219e95dc23b0ebd220f19a6f46b101
9593Author: Darren Tucker <dtucker@dtucker.net>
9594Date: Fri Apr 26 18:22:10 2019 +1000
9595
9596 Whitespace resync w/OpenBSD.
9597
9598 Patch from markus at blueflash.cc via openssh-unix-dev.
9599
9600commit b7b8334914fb9397a6725f3b5d2de999b0bb69ac
9601Author: Darren Tucker <dtucker@dtucker.net>
9602Date: Fri Apr 26 18:06:34 2019 +1000
9603
9604 Don't install duplicate STREAMS modules on Solaris
9605
9606 Check if STREAMS modules are already installed on pty before installing
9607 since when compiling with XPG>=4 they will likely be installed already.
9608 Prevents hangs and duplicate lines on the terminal. bz#2945 and bz#2998,
9609 patch from djm@
9610
9611commit fd0fa130ecf06d7d092932adcd5d77f1549bfc8d
9612Author: Damien Miller <djm@mindrot.org>
9613Date: Thu Apr 18 08:52:57 2019 +1000
9614
9615 makedepend
9616
9617commit 5de397a876b587ba05a9169237deffdc71f273b0
9618Author: Damien Miller <djm@mindrot.org>
9619Date: Fri Apr 5 11:29:51 2019 -0700
9620
9621 second thoughts: leave README in place
9622
9623 A number of contrib/* files refer to the existing README so let's leave
9624 it in place for release and add the new markdown version in parallel.
9625
9626 I'll get rid of README after release.
9627
9628commit 5d3127d9274519b25ed10e320f45045ba8d7f3be
9629Author: Damien Miller <djm@mindrot.org>
9630Date: Fri Apr 5 11:29:31 2019 -0700
9631
9632 Revert "rewrite README"
9633
9634 This reverts commit 9444d82678cb7781820da4d1c23b3c2b9fb1e12f.
9635
9636commit 9444d82678cb7781820da4d1c23b3c2b9fb1e12f
9637Author: Damien Miller <djm@mindrot.org>
9638Date: Fri Apr 5 11:21:48 2019 -0700
9639
9640 rewrite README
9641
9642 Include basic build instructions and comments on commonly-used build-
9643 time flags, links to the manual pages and other resources.
9644
9645 Now in Markdown format for better viewing on github, etc.
9646
9647commit a924de0c4908902433813ba205bee1446bd1a157
9648Author: Damien Miller <djm@mindrot.org>
9649Date: Fri Apr 5 03:41:52 2019 +1100
9650
9651 update versions
9652
9653commit 312dcee739bca5d6878c536537b2a8a497314b75
9654Author: djm@openbsd.org <djm@openbsd.org>
9655Date: Wed Apr 3 15:48:45 2019 +0000
9656
9657 upstream: openssh-8.0
9658
9659 OpenBSD-Commit-ID: 5aafdf218679dab982fea20771afd643be9a127b
9660
9661commit 885bc114692046d55e2a170b932bdc0092fa3456
9662Author: Damien Miller <djm@mindrot.org>
9663Date: Thu Apr 4 02:47:40 2019 +1100
9664
9665 session: Do not use removed API
9666
9667 from Jakub Jelen
9668
9669commit 9d7b2882b0c9a5e9bf8312ce4075bf178e2b98be
9670Author: djm@openbsd.org <djm@openbsd.org>
9671Date: Fri Mar 29 11:31:40 2019 +0000
9672
9673 upstream: when logging/fataling on error, include a bit more detail
9674
9675 than just the function name and the error message
9676
9677 OpenBSD-Commit-ID: dd72d7eba2215fcb89be516c378f633ea5bcca9f
9678
9679commit 79a87d32783d6c9db40af8f35e091d9d30365ae7
9680Author: Darren Tucker <dtucker@dtucker.net>
9681Date: Wed Apr 3 06:27:45 2019 +1100
9682
9683 Remove "struct ssh" from sys_auth_record_login.
9684
9685 It's not needed, and is not available from the call site in loginrec.c
9686 Should only affect AIX, spotted by Kevin Brott.
9687
9688commit 138c0d52cdc90f9895333b82fc57d81cce7a3d90
9689Author: Darren Tucker <dtucker@dtucker.net>
9690Date: Tue Apr 2 18:21:35 2019 +1100
9691
9692 Adapt custom_failed_login to new prototype.
9693
9694 Spotted by Kevin Brott.
9695
9696commit a0ca4009ab2f0b1007ec8ab6864dbf9b760a8ed5
9697Author: Darren Tucker <dtucker@dtucker.net>
9698Date: Mon Apr 1 20:07:23 2019 +1100
9699
9700 Add includes.h for compat layer.
9701
9702 Should fix build on AIX 7.2.
9703
9704commit 00991151786ce9b1d577bdad1f83a81d19c8236d
9705Author: Tim Rice <tim@multitalents.net>
9706Date: Sun Mar 31 22:14:22 2019 -0700
9707
9708 Stop USL compilers for erroring with "integral constant expression expected"
9709
9710commit 43f47ebbdd4037b569c23b8f4f7981f53b567f1d
9711Author: Tim Rice <tim@multitalents.net>
9712Date: Sun Mar 31 19:22:19 2019 -0700
9713
9714 Only use O_NOFOLLOW in fchownat and fchmodat if defined
9715
9716commit 342d6e51589b184c337cccfc4c788b60ff8b3765
9717Author: Jakub Jelen <jjelen@redhat.com>
9718Date: Fri Mar 29 12:29:41 2019 +0100
9719
9720 Adjust softhsm2 path on Fedora Linux for regress
9721
9722 The SoftHSM lives in Fedora in /usr/lib64/pkcs11/libsofthsm2.so
9723
9724commit f5abb05f8c7358dacdcb866fe2813f6d8efd5830
9725Author: Darren Tucker <dtucker@dtucker.net>
9726Date: Thu Mar 28 09:26:14 2019 +1100
9727
9728 Only use O_NOFOLLOW in utimensat if defined.
9729
9730 Fixes build on systems that don't have it (Solaris <=9) Found by
9731 Tom G. Christensen.
9732
9733commit 786cd4c1837fdc3fe7b4befe54a3f37db7df8715
9734Author: Corinna Vinschen <vinschen@redhat.com>
9735Date: Wed Mar 27 18:18:21 2019 +0100
9736
9737 drop old Cygwin considerations
9738
9739 - Cygwin supports non-DOS characters in filenames
9740 - Cygwin does not support Windows XP anymore
9741
9742 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
9743
9744commit 21da87f439b48a85b951ef1518fe85ac0273e719
9745Author: djm@openbsd.org <djm@openbsd.org>
9746Date: Wed Mar 27 09:29:14 2019 +0000
9747
9748 upstream: fix interaction between ClientAliveInterval and RekeyLimit
9749
9750 that could cause connection to close incorrectly; Report and patch from Jakub
9751 Jelen in bz#2757; ok dtucker@ markus@
9752
9753 OpenBSD-Commit-ID: 17229a8a65bd8e6c2080318ec2b7a61e1aede3fb
9754
9755commit 4f0019a9afdb4a94d83b75e82dbbbe0cbe826c56
9756Author: djm@openbsd.org <djm@openbsd.org>
9757Date: Mon Mar 25 22:34:52 2019 +0000
9758
9759 upstream: Fix authentication failures when "AuthenticationMethods
9760
9761 any" in a Match block overrides a more restrictive global default.
9762
9763 Spotted by jmc@, ok markus@
9764
9765 OpenBSD-Commit-ID: a90a4fe2ab81d0eeeb8fdfc21af81f7eabda6666
9766
9767commit d6e5def308610f194c0ec3ef97a34a3e9630e190
9768Author: djm@openbsd.org <djm@openbsd.org>
9769Date: Mon Mar 25 22:33:44 2019 +0000
9770
9771 upstream: whitespace
9772
9773 OpenBSD-Commit-ID: 106e853ae8a477e8385bc53824d3884a8159db07
9774
9775commit 26e0cef07b04479537c971dec898741df1290fe5
9776Author: dtucker@openbsd.org <dtucker@openbsd.org>
9777Date: Mon Mar 25 16:19:44 2019 +0000
9778
9779 upstream: Expand comment to document rationale for default key
9780
9781 sizes. "seems worthwhile" deraadt.
9782
9783 OpenBSD-Commit-ID: 72e5c0983d7da1fb72f191870f36cb58263a2456
9784
9785commit f47269ea67eb4ff87454bf0d2a03e55532786482
9786Author: dtucker@openbsd.org <dtucker@openbsd.org>
9787Date: Mon Mar 25 15:49:00 2019 +0000
9788
9789 upstream: Increase the default RSA key size to 3072 bits. Based on
9790
9791 the estimates from NIST Special Publication 800-57, 3k bits provides security
9792 equivalent to 128 bits which is the smallest symmetric cipher we enable by
9793 default. ok markus@ deraadt@
9794
9795 OpenBSD-Commit-ID: 461dd32ebe808f88f4fc3ec74749b0e6bef2276b
9796
9797commit 62949c5b37af28d8490d94866e314a76be683a5e
9798Author: jmc@openbsd.org <jmc@openbsd.org>
9799Date: Fri Mar 22 20:58:34 2019 +0000
9800
9801 upstream: full stop in the wrong place;
9802
9803 OpenBSD-Commit-ID: 478a0567c83553a2aebf95d0f1bd67ac1b1253e4
9804
9805commit 1b1332b5bb975d759a50b37f0e8bc8cfb07a0bb0
9806Author: jmc@openbsd.org <jmc@openbsd.org>
9807Date: Sat Mar 16 19:14:21 2019 +0000
9808
9809 upstream: benno helped me clean up the tcp forwarding section;
9810
9811 OpenBSD-Commit-ID: d4bec27edefde636fb632b7f0b7c656b9c7b7f08
9812
9813commit 2aee9a49f668092ac5c9d34e904ef7a9722e541d
9814Author: markus@openbsd.org <markus@openbsd.org>
9815Date: Fri Mar 8 17:24:43 2019 +0000
9816
9817 upstream: fix use-after-free in ssh-pkcs11; found by hshoexer w/AFL
9818
9819 OpenBSD-Commit-ID: febce81cca72b71f70513fbee4ff52ca050f675c
9820
9821commit 9edbd7821e6837e98e7e95546cede804dac96754
9822Author: Darren Tucker <dtucker@dtucker.net>
9823Date: Thu Mar 14 10:17:28 2019 +1100
9824
9825 Fix build when configured --without-openssl.
9826
9827 ok djm@
9828
9829commit 825ab32f0d04a791e9d19d743c61ff8ed9b4d8e5
9830Author: Darren Tucker <dtucker@dtucker.net>
9831Date: Thu Mar 14 08:51:17 2019 +1100
9832
9833 On Cygwin run sshd as SYSTEM where possible.
9834
9835 Seteuid now creates user token using S4U. We don't create a token
9836 from scratch anymore, so we don't need the "Create a process token"
9837 privilege. The service can run under SYSTEM again...
9838
9839 ...unless Cygwin is running on Windows Vista or Windows 7 in the
9840 WOW64 32 bit emulation layer. It turns out that WOW64 on these systems
9841 didn't implement MsV1_0 S4U Logon so we still need the fallback
9842 to NtCreateToken for these systems.
9843
9844 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
9845
9846commit a212107bfdf4d3e870ab7a443e4d906e5b9578c3
9847Author: Darren Tucker <dtucker@dtucker.net>
9848Date: Wed Mar 13 10:49:16 2019 +1100
9849
9850 Replace alloca with xcalloc.
9851
9852 The latter checks for memory exhaustion and integer overflow and may be
9853 at a less predictable place. Sanity check by vinschen at redhat.com, ok
9854 djm@
9855
9856commit daa7505aadca68ba1a2c70cbdfce423208eb91ee
9857Author: Darren Tucker <dtucker@dtucker.net>
9858Date: Tue Mar 12 09:19:19 2019 +1100
9859
9860 Use Cygwin-specific matching only for users+groups.
9861
9862 Patch from vinschen at redhat.com, updated a little by me.
9863
9864commit fd10cf027b56f9aaa80c9e3844626a05066589a4
9865Author: dtucker@openbsd.org <dtucker@openbsd.org>
9866Date: Wed Mar 6 22:14:23 2019 +0000
9867
9868 upstream: Move checks for lists of users or groups into their own
9869
9870 function. This is a no-op on OpenBSD but will make things easier in
9871 -portable, eg on systems where these checks should be case-insensitive. ok
9872 djm@
9873
9874 OpenBSD-Commit-ID: 8bc9c8d98670e23f8eaaaefe29c1f98e7ba0487e
9875
9876commit ab5fee8eb6a011002fd9e32b1597f02aa8804a25
9877Author: dtucker@openbsd.org <dtucker@openbsd.org>
9878Date: Wed Mar 6 21:06:59 2019 +0000
9879
9880 upstream: Reset last-seen time when sending a keepalive. Prevents
9881
9882 sending two keepalives successively and prematurely terminating connection
9883 when ClientAliveCount=1. While there, collapse two similar tests into one.
9884 ok markus@
9885
9886 OpenBSD-Commit-ID: 043670d201dfe222537a2a4bed16ce1087de5ddd
9887
9888commit c13b74530f9f1d9df7aeae012004b31b2de4438e
9889Author: naddy@openbsd.org <naddy@openbsd.org>
9890Date: Tue Mar 5 16:17:12 2019 +0000
9891
9892 upstream: PKCS#11 support is no longer limited to RSA; ok benno@
9893
9894 kn@
9895
9896 OpenBSD-Commit-ID: 1a9bec64d530aed5f434a960e7515a3e80cbc826
9897
9898commit e9552d6043db7cd170ac6ba1b4d2c7a5eb2c3201
9899Author: djm@openbsd.org <djm@openbsd.org>
9900Date: Fri Mar 1 03:29:32 2019 +0000
9901
9902 upstream: in ssh_set_newkeys(), mention the direction that we're
9903
9904 keying in debug messages. Previously it would be difficult to tell which
9905 direction it was talking about
9906
9907 OpenBSD-Commit-ID: c2b71bfcceb2a7389b9d0b497fb2122a406a522d
9908
9909commit 76a24b3fa193a9ca3e47a8779d497cb06500798b
9910Author: djm@openbsd.org <djm@openbsd.org>
9911Date: Fri Mar 1 02:32:39 2019 +0000
9912
9913 upstream: Fix two race conditions in sshd relating to SIGHUP:
9914
9915 1. Recently-forked child processes will briefly remain listening to
9916 listen_socks. If the main server sshd process completes its restart
9917 via execv() before these sockets are closed by the child processes
9918 then it can fail to listen at the desired addresses/ports and/or
9919 fail to restart.
9920
9921 2. When a SIGHUP is received, there may be forked child processes that
9922 are awaiting their reexecution state. If the main server sshd
9923 process restarts before passing this state, these child processes
9924 will yield errors and use a fallback path of reading the current
9925 sshd_config from the filesystem rather than use the one that sshd
9926 was started with.
9927
9928 To fix both of these cases, we reuse the startup_pipes that are shared
9929 between the main server sshd and forked children. Previously this was
9930 used solely to implement tracking of pre-auth child processes for
9931 MaxStartups, but this extends the messaging over these pipes to include
9932 a child->parent message that the parent process is safe to restart. This
9933 message is sent from the child after it has completed its preliminaries:
9934 closing listen_socks and receiving its reexec state.
9935
9936 bz#2953, reported by Michal Koutný; ok markus@ dtucker@
9937
9938 OpenBSD-Commit-ID: 7df09eacfa3ce13e9a7b1e9f17276ecc924d65ab
9939
9940commit de817e9dfab99473017d28cdf69e60397d00ea21
9941Author: djm@openbsd.org <djm@openbsd.org>
9942Date: Fri Mar 1 02:16:47 2019 +0000
9943
9944 upstream: mention PKCS11Provide=none, reword a little and remove
9945
9946 mention of RSA keys only (since we support ECDSA now and might support others
9947 in the future). Inspired by Jakub Jelen via bz#2974
9948
9949 OpenBSD-Commit-ID: a92e3686561bf624ccc64ab320c96c9e9a263aa5
9950
9951commit 95a8058c1a90a27acbb91392ba206854abc85226
9952Author: djm@openbsd.org <djm@openbsd.org>
9953Date: Fri Mar 1 02:08:50 2019 +0000
9954
9955 upstream: let PKCS11Provider=none do what users expect
9956
9957 print PKCS11Provider instead of obsolete SmartcardDevice in config dump.
9958
9959 bz#2974 ok dtucker@
9960
9961 OpenBSD-Commit-ID: c303d6f0230a33aa2dd92dc9b68843d56a64f846
9962
9963commit 8e7bac35aa576d2fd7560836da83733e864ce649
9964Author: markus@openbsd.org <markus@openbsd.org>
9965Date: Wed Feb 27 19:37:01 2019 +0000
9966
9967 upstream: dup stdout/in for proxycommand=-, otherwise stdout might
9968
9969 be redirected to /dev/null; ok djm@
9970
9971 OpenBSD-Commit-ID: 97dfce4c47ed4055042de8ebde85b7d88793e595
9972
9973commit 9b61130fbd95d196bce81ebeca94a4cb7c0d5ba0
9974Author: djm@openbsd.org <djm@openbsd.org>
9975Date: Sat Feb 23 08:20:43 2019 +0000
9976
9977 upstream: openssh-7.9 accidentally reused the server's algorithm lists
9978
9979 in the client for KEX, ciphers and MACs. The ciphers and MACs were identical
9980 between the client and server, but the error accidentially disabled the
9981 diffie-hellman-group-exchange-sha1 KEX method.
9982
9983 This fixes the client code to use the correct method list, but
9984 because nobody complained, it also disables the
9985 diffie-hellman-group-exchange-sha1 KEX method.
9986
9987 Reported by nuxi AT vault24.org via bz#2697; ok dtucker
9988
9989 OpenBSD-Commit-ID: e30c33a23c10fd536fefa120e86af1842e33fd57
9990
9991commit 37638c752041d591371900df820f070037878a2d
9992Author: Corinna Vinschen <vinschen@redhat.com>
9993Date: Wed Feb 20 13:41:25 2019 +0100
9994
9995 Cygwin: implement case-insensitive Unicode user and group name matching
9996
9997 The previous revert enabled case-insensitive user names again. This
9998 patch implements the case-insensitive user and group name matching.
9999 To allow Unicode chars, implement the matcher using wchar_t chars in
10000 Cygwin-specific code. Keep the generic code changes as small as possible.
10001 Cygwin: implement case-insensitive Unicode user and group name matching
10002
10003 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
10004
10005commit bed1d43698807a07bb4ddb93a46b0bd84b9970b3
10006Author: Darren Tucker <dtucker@dtucker.net>
10007Date: Fri Feb 22 15:21:21 2019 +1100
10008
10009 Revert unintended parts of previous commit.
10010
10011commit f02afa350afac1b2f2d1413259a27a4ba1e2ca24
10012Author: Corinna Vinschen <vinschen@redhat.com>
10013Date: Wed Feb 20 13:41:24 2019 +0100
10014
10015 Revert "[auth.c] On Cygwin, refuse usernames that have differences in case"
10016
10017 This reverts commit acc9b29486dfd649dfda474e5c1a03b317449f1c.
10018
10019 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
10020
10021commit 4c55b674835478eb80a1a7aeae588aa654e2a433
10022Author: Corinna Vinschen <vinschen@redhat.com>
10023Date: Sat Feb 16 14:13:43 2019 +0100
10024
10025 Add tags to .gitignore
10026
10027 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
10028
10029commit 625b62634c33eaef4b80d07529954fe5c6435fe5
10030Author: djm@openbsd.org <djm@openbsd.org>
10031Date: Fri Feb 22 03:37:11 2019 +0000
10032
10033 upstream: perform removal of agent-forwarding directory in forward
10034
10035 setup error path with user's privileged. This is a no-op as this code always
10036 runs with user privilege now that we no longer support running sshd with
10037 privilege separation disabled, but as long as the privsep skeleton is there
10038 we should follow the rules.
10039 MIME-Version: 1.0
10040 Content-Type: text/plain; charset=UTF-8
10041 Content-Transfer-Encoding: 8bit
10042
10043 bz#2969 with patch from Erik Sjölund
10044
10045 OpenBSD-Commit-ID: 2b708401a5a8d6133c865d7698d9852210dca846
10046
10047commit d9ecfaba0b2f1887d20e4368230632e709ca83be
10048Author: jmc@openbsd.org <jmc@openbsd.org>
10049Date: Mon Feb 18 07:02:34 2019 +0000
10050
10051 upstream: sync the description of ~/.ssh/config with djm's updated
10052
10053 description in ssh.1; issue pointed out by andreas kahari
10054
10055 ok dtucker djm
10056
10057 OpenBSD-Commit-ID: 1b01ef0ae2c6328165150badae317ec92e52b01c
10058
10059commit 38e83e4f219c752ebb1560633b73f06f0392018b
10060Author: djm@openbsd.org <djm@openbsd.org>
10061Date: Tue Feb 12 23:53:10 2019 +0000
10062
10063 upstream: fix regression in r1.302 reported by naddy@ - only the first
10064
10065 public key from the agent was being attempted for use.
10066
10067 OpenBSD-Commit-ID: 07116aea521a04888718b2157f1ca723b2f46c8d
10068
10069commit 5c68ea8da790d711e6dd5f4c30d089c54032c59a
10070Author: djm@openbsd.org <djm@openbsd.org>
10071Date: Mon Feb 11 09:44:42 2019 +0000
10072
10073 upstream: cleanup GSSAPI authentication context after completion of the
10074
10075 authmethod. Move function-static GSSAPI state to the client Authctxt
10076 structure. Make static a bunch of functions that aren't used outside this
10077 file.
10078
10079 Based on patch from Markus Schmidt <markus@blueflash.cc>; ok markus@
10080
10081 OpenBSD-Commit-ID: 497fb792c0ddb4f1ba631b6eed526861f115dbe5
10082
10083commit a8c807f1956f81a92a758d3d0237d0ff06d0be5d
10084Author: benno@openbsd.org <benno@openbsd.org>
10085Date: Sun Feb 10 16:35:41 2019 +0000
10086
10087 upstream: ssh-keygen -D pkcs11.so needs to initialize pkcs11
10088
10089 interactive, so it can ask for the smartcards PIN. ok markus@
10090
10091 OpenBSD-Commit-ID: 1be7ccf88f1876e0fc4d7c9b3f96019ac5655bab
10092
10093commit 3d896c157c722bc47adca51a58dca859225b5874
10094Author: djm@openbsd.org <djm@openbsd.org>
10095Date: Sun Feb 10 11:15:52 2019 +0000
10096
10097 upstream: when checking that filenames sent by the server side
10098
10099 match what the client requested, be prepared to handle shell-style brace
10100 alternations, e.g. "{foo,bar}".
10101
10102 "looks good to me" millert@ + in snaps for the last week courtesy
10103 deraadt@
10104
10105 OpenBSD-Commit-ID: 3b1ce7639b0b25b2248e3a30f561a548f6815f3e
10106
10107commit 318e4f8548a4f5c0c913f61e27d4fc21ffb1eaae
10108Author: djm@openbsd.org <djm@openbsd.org>
10109Date: Sun Feb 10 11:10:57 2019 +0000
10110
10111 upstream: syslog when connection is dropped for attempting to run a
10112
10113 command when ForceCommand=internal-sftp is in effect; bz2960; ok dtucker@
10114
10115 OpenBSD-Commit-ID: 8c87fa66d7fc6c0fffa3a3c28e8ab5e8dde234b8
10116
10117commit 2ff2e19653b8c0798b8b8eff209651bdb1be2761
10118Author: Damien Miller <djm@mindrot.org>
10119Date: Fri Feb 8 14:53:35 2019 +1100
10120
10121 don't set $MAIL if UsePam=yes
10122
10123 PAM typically specifies the user environment if it's enabled, so don't
10124 second guess. bz#2937; ok dtucker@
10125
10126commit 03e92dd27d491fe6d1a54e7b2f44ef1b0a916e52
10127Author: Damien Miller <djm@mindrot.org>
10128Date: Fri Feb 8 14:50:36 2019 +1100
10129
10130 use same close logic for stderr as stdout
10131
10132 Avoids sending SIGPIPE to child processes after their parent exits
10133 if they attempt to write to stderr.
10134
10135 Analysis and patch from JD Paul; patch reworked by Jakub Jelen and
10136 myself. bz#2071; ok dtucker@
10137
10138commit 8c53d409baeeaf652c0c125a9b164edc9dbeb6de
10139Author: dtucker@openbsd.org <dtucker@openbsd.org>
10140Date: Tue Feb 5 11:35:56 2019 +0000
10141
10142 upstream: Adapt code in the non-USE_PIPES codepath to the new packet
10143
10144 API. This code is not normally reachable since USE_PIPES is always defined.
10145 bz#2961, patch from adrian.fita at gmail com.
10146
10147 OpenBSD-Commit-ID: 8d8428d678d1d5eb4bb21921df34e8173e6d238a
10148
10149commit 7a7fdca78de4b4774950be056099e579ef595414
10150Author: djm@openbsd.org <djm@openbsd.org>
10151Date: Mon Feb 4 23:37:54 2019 +0000
10152
10153 upstream: fix NULL-deref crash in PKCS#11 code when attempting
10154
10155 login to a token requiring a PIN; reported by benno@ fix mostly by markus@
10156
10157 OpenBSD-Commit-ID: 438d0b114b1b4ba25a9869733db1921209aa9a31
10158
10159commit cac302a4b42a988e54d32eb254b29b79b648dbf5
10160Author: dtucker@openbsd.org <dtucker@openbsd.org>
10161Date: Mon Feb 4 02:39:42 2019 +0000
10162
10163 upstream: Remove obsolete "Protocol" from commented out examples. Patch
10164
10165 from samy.mahmoudi at gmail com.
10166
10167 OpenBSD-Commit-ID: 16aede33dae299725a03abdac5dcb4d73f5d0cbf
10168
10169commit 483b3b638500fd498b4b529356e5a0e18cf76891
10170Author: dtucker@openbsd.org <dtucker@openbsd.org>
10171Date: Fri Feb 1 03:52:23 2019 +0000
10172
10173 upstream: Save connection timeout and restore for 2nd and
10174
10175 subsequent attempts, preventing them from having no timeout. bz#2918, ok
10176 djm@
10177
10178 OpenBSD-Commit-ID: 4977f1d0521d9b6bba0c9a20d3d226cefac48292
10179
10180commit 5f004620fdc1b2108139300ee12f4014530fb559
10181Author: markus@openbsd.org <markus@openbsd.org>
10182Date: Wed Jan 30 19:51:15 2019 +0000
10183
10184 upstream: Add authors for public domain sntrup4591761 code;
10185
10186 confirmed by Daniel J. Bernstein
10187
10188 OpenBSD-Commit-ID: b4621f22b8b8ef13e063c852af5e54dbbfa413c1
10189
10190commit 2c21b75a7be6ebdcbceaebb43157c48dbb36f3d8
10191Author: jmc@openbsd.org <jmc@openbsd.org>
10192Date: Sun Jan 27 07:14:11 2019 +0000
10193
10194 upstream: add -T to usage();
10195
10196 OpenBSD-Commit-ID: a7ae14d9436c64e1bd05022329187ea3a0ce1899
10197
10198commit 19a0f0529d3df04118da829528cac7ceff380b24
10199Author: dtucker@openbsd.org <dtucker@openbsd.org>
10200Date: Mon Jan 28 03:50:39 2019 +0000
10201
10202 upstream: The test sshd_config in in $OBJ.
10203
10204 OpenBSD-Regress-ID: 1e5d908a286d8e7de3a15a0020c8857f3a7c9172
10205
10206commit 8fe25440206319d15b52d12b948a5dfdec14dca3
10207Author: dtucker@openbsd.org <dtucker@openbsd.org>
10208Date: Mon Jan 28 03:28:10 2019 +0000
10209
10210 upstream: Remove leftover debugging.
10211
10212 OpenBSD-Regress-ID: 3d86c3d4867e46b35af3fd2ac8c96df0ffdcfeb9
10213
10214commit e30d32364d12c351eec9e14be6c61116f9d6cc90
10215Author: dtucker@openbsd.org <dtucker@openbsd.org>
10216Date: Mon Jan 28 00:12:36 2019 +0000
10217
10218 upstream: Enable ssh-dss for the agent test. Disable it for the
10219
10220 certificate test.
10221
10222 OpenBSD-Regress-ID: 388c1e03e1def539d350f139b37d69f12334668d
10223
10224commit ffdde469ed56249f5dc8af98da468dde35531398
10225Author: dtucker@openbsd.org <dtucker@openbsd.org>
10226Date: Mon Jan 28 00:08:26 2019 +0000
10227
10228 upstream: Count the number of key types instead of assuming there
10229
10230 are only two.
10231
10232 OpenBSD-Regress-ID: 0998702c41235782cf0beee396ec49b5056eaed9
10233
10234commit 1d05b4adcba08ab068466e5c08dee2f5417ec53a
10235Author: Corinna Vinschen <vinschen@redhat.com>
10236Date: Sat Jan 26 23:42:40 2019 +0100
10237
10238 Cygwin: only tweak sshd_config file if it's new, drop creating sshd user
10239
10240 The sshd_config tweaks were executed even if the old file was
10241 still in place. Fix that. Also disable sshd user creation.
10242 It's not used on Cygwin.
10243
10244commit 89843de0c4c733501f6b4f988098e6e06963df37
10245Author: Corinna Vinschen <vinschen@redhat.com>
10246Date: Sat Jan 26 23:03:12 2019 +0100
10247
10248 Cygwin: Change service name to cygsshd
10249
10250 Microsoft hijacked the sshd service name without asking.
10251
10252commit 2a9b3a2ce411d16cda9c79ab713c55f65b0ec257
10253Author: dtucker@openbsd.org <dtucker@openbsd.org>
10254Date: Sun Jan 27 06:30:53 2019 +0000
10255
10256 upstream: Generate all key supported key types and enable for keyscan
10257
10258 test.
10259
10260 OpenBSD-Regress-ID: 72f72ff49946c61bc949e1692dd9e3d71370891b
10261
10262commit 391ffc4b9d31fa1f4ad566499fef9176ff8a07dc
10263Author: djm@openbsd.org <djm@openbsd.org>
10264Date: Sat Jan 26 22:41:28 2019 +0000
10265
10266 upstream: check in scp client that filenames sent during
10267
10268 remote->local directory copies satisfy the wildcard specified by the user.
10269
10270 This checking provides some protection against a malicious server
10271 sending unexpected filenames, but it comes at a risk of rejecting wanted
10272 files due to differences between client and server wildcard expansion rules.
10273
10274 For this reason, this also adds a new -T flag to disable the check.
10275
10276 reported by Harry Sintonen
10277 fix approach suggested by markus@;
10278 has been in snaps for ~1wk courtesy deraadt@
10279
10280 OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda
10281
10282commit c2c18a39683db382a15b438632afab3f551d50ce
10283Author: djm@openbsd.org <djm@openbsd.org>
10284Date: Sat Jan 26 22:35:01 2019 +0000
10285
10286 upstream: make ssh-keyscan return a non-zero exit status if it
10287
10288 finds no keys. bz#2903
10289
10290 OpenBSD-Commit-ID: 89f1081fb81d950ebb48e6e73d21807b2723d488
10291
10292commit 05b9a466700b44d49492edc2aa415fc2e8913dfe
10293Author: dtucker@openbsd.org <dtucker@openbsd.org>
10294Date: Thu Jan 24 17:00:29 2019 +0000
10295
10296 upstream: Accept the host key fingerprint as a synonym for "yes"
10297
10298 when accepting an unknown host key. This allows you to paste a fingerprint
10299 obtained out of band into the yes/no prompt and have the client do the
10300 comparison for you. ok markus@ djm@
10301
10302 OpenBSD-Commit-ID: 3c47d10b9f43d3d345e044fd9ec09709583a2767
10303
10304commit bdc6c63c80b55bcbaa66b5fde31c1cb1d09a41eb
10305Author: dtucker@openbsd.org <dtucker@openbsd.org>
10306Date: Thu Jan 24 16:52:17 2019 +0000
10307
10308 upstream: Have progressmeter force an update at the beginning and
10309
10310 end of each transfer. Fixes the problem recently introduces where very quick
10311 transfers do not display the progressmeter at all. Spotted by naddy@
10312
10313 OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a
10314
10315commit 258e6ca003e47f944688ad8b8de087b58a7d966c
10316Author: dtucker@openbsd.org <dtucker@openbsd.org>
10317Date: Thu Jan 24 02:42:23 2019 +0000
10318
10319 upstream: Check for both EAGAIN and EWOULDBLOCK. This is a no-op
10320
10321 in OpenBSD (they are the same value) but makes things easier in -portable
10322 where they may be distinct values. "sigh ok" deraadt@
10323
10324 (ID sync only, portable already had this change).
10325
10326 OpenBSD-Commit-ID: 91f2bc7c0ecec905915ed59fa37feb9cc90e17d7
10327
10328commit 281ce042579b834cdc1e74314f1fb2eeb75d2612
10329Author: dtucker@openbsd.org <dtucker@openbsd.org>
10330Date: Thu Jan 24 02:34:52 2019 +0000
10331
10332 upstream: Always initialize 2nd arg to hpdelim2. It populates that
10333
10334 *ONLY IF* there's a delimiter. If there's not (the common case) it checked
10335 uninitialized memory, which usually passed, but if not would cause spurious
10336 failures when the uninitialized memory happens to contain "/". ok deraadt.
10337
10338 OpenBSD-Commit-ID: 4291611eaf2a53d4c92f4a57c7f267c9f944e0d3
10339
10340commit d05ea255678d9402beda4416cd0360f3e5dfe938
10341Author: dtucker@openbsd.org <dtucker@openbsd.org>
10342Date: Wed Jan 23 21:50:56 2019 +0000
10343
10344 upstream: Remove support for obsolete host/port syntax.
10345
10346 host/port was added in 2001 as an alternative to host:port syntax for
10347 the benefit of IPv6 users. These days there are establised standards
10348 for this like [::1]:22 and the slash syntax is easily mistaken for CIDR
10349 notation, which OpenSSH now supports for some things. Remove the slash
10350 notation from ListenAddress and PermitOpen. bz#2335, patch from jjelen
10351 at redhat.com, ok markus@
10352
10353 OpenBSD-Commit-ID: fae5f4e23c51a368d6b2d98376069ac2b10ad4b7
10354
10355commit 177d6c80c557a5e060cd343a0c116a2f1a7f43db
10356Author: dtucker@openbsd.org <dtucker@openbsd.org>
10357Date: Wed Jan 23 20:48:52 2019 +0000
10358
10359 upstream: Remove duplicate word. bz#2958, patch from jjelen at
10360
10361 redhat.com
10362
10363 OpenBSD-Commit-ID: cca3965a8333f2b6aae48b79ec1d72f7a830dd2c
10364
10365commit be3e6cba95dffe5fcf190c713525b48c837e7875
10366Author: dtucker@openbsd.org <dtucker@openbsd.org>
10367Date: Wed Jan 23 09:49:00 2019 +0000
10368
10369 upstream: Remove 3 as a guess for possible generator during moduli
10370
10371 generation. It's not mentioned in RFC4419 and it's not possible for
10372 Sophie-Germain primes greater than 5. bz#2330, from Christian Wittenhorst ,
10373 ok djm@ tb@
10374
10375 OpenBSD-Commit-ID: 1467652e6802ad3333b0959282d8d49dfe22c8cd
10376
10377commit 8976f1c4b2721c26e878151f52bdf346dfe2d54c
10378Author: dtucker@openbsd.org <dtucker@openbsd.org>
10379Date: Wed Jan 23 08:01:46 2019 +0000
10380
10381 upstream: Sanitize scp filenames via snmprintf. To do this we move
10382
10383 the progressmeter formatting outside of signal handler context and have the
10384 atomicio callback called for EINTR too. bz#2434 with contributions from djm
10385 and jjelen at redhat.com, ok djm@
10386
10387 OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8
10388
10389commit 6249451f381755f792c6b9e2c2f80cdc699c14e2
10390Author: Darren Tucker <dtucker@dtucker.net>
10391Date: Thu Jan 24 10:00:20 2019 +1100
10392
10393 For broken read/readv comparisons, poll(RW).
10394
10395 In the cases where we can't compare to read or readv function pointers
10396 for some reason we currently ifdef out the poll() used to block while
10397 waiting for reads or writes, falling back to busy waiting. This restores
10398 the poll() in this case, but has it always check for read or write,
10399 removing an inline ifdef in the process.
10400
10401commit 5cb503dff4db251520e8bf7d23b9c97c06eee031
10402Author: Darren Tucker <dtucker@dtucker.net>
10403Date: Thu Jan 24 09:55:16 2019 +1100
10404
10405 Include unistd.h for strmode().
10406
10407commit f236ca2741f29b5c443c0b2db3aa9afb9ad9befe
10408Author: Darren Tucker <dtucker@dtucker.net>
10409Date: Thu Jan 24 09:50:58 2019 +1100
10410
10411 Also undef SIMPLEQ_FOREACH_SAFE.
10412
10413 Prevents macro redefinition warning on at least NetBSD 6.1.
10414
10415commit be063945e4e7d46b1734d973bf244c350fae172a
10416Author: djm@openbsd.org <djm@openbsd.org>
10417Date: Wed Jan 23 04:51:02 2019 +0000
10418
10419 upstream: allow auto-incrementing certificate serial number for certs
10420
10421 signed in a single commandline.
10422
10423 OpenBSD-Commit-ID: 39881087641efb8cd83c7ec13b9c98280633f45b
10424
10425commit 851f80328931975fe68f71af363c4537cb896da2
10426Author: djm@openbsd.org <djm@openbsd.org>
10427Date: Wed Jan 23 04:16:22 2019 +0000
10428
10429 upstream: move a bunch of global flag variables to main(); make the
10430
10431 rest static
10432
10433 OpenBSD-Commit-ID: fa431d92584e81fe99f95882f4c56b43fe3242dc
10434
10435commit 2265402dc7d701a9aca9f8a7b7b0fd45b65c479f
10436Author: Damien Miller <djm@mindrot.org>
10437Date: Wed Jan 23 13:03:16 2019 +1100
10438
10439 depend
10440
10441commit 2c223878e53cc46def760add459f5f7c4fb43e35
10442Author: djm@openbsd.org <djm@openbsd.org>
10443Date: Wed Jan 23 02:01:10 2019 +0000
10444
10445 upstream: switch mainloop from select(2) to poll(2); ok deraadt@
10446
10447 OpenBSD-Commit-ID: 37645419a330037d297f6f0adc3b3663e7ae7b2e
10448
10449commit bb956eaa94757ad058ff43631c3a7d6c94d38c2f
10450Author: djm@openbsd.org <djm@openbsd.org>
10451Date: Wed Jan 23 00:30:41 2019 +0000
10452
10453 upstream: pass most arguments to the KEX hash functions as sshbuf
10454
10455 rather than pointer+length; ok markus@
10456
10457 OpenBSD-Commit-ID: ef0c89c52ccc89817a13a5205725148a28492bf7
10458
10459commit d691588b8e29622c66abf8932362b522cf7f4051
10460Author: djm@openbsd.org <djm@openbsd.org>
10461Date: Tue Jan 22 22:58:50 2019 +0000
10462
10463 upstream: backoff reading messages from active connections when the
10464
10465 input buffer is too full to read one, or if the output buffer is too full to
10466 enqueue a response; feedback & ok dtucker@
10467
10468 OpenBSD-Commit-ID: df3c5b6d57c968975875de40d8955cbfed05a6c8
10469
10470commit f99ef8de967949a1fc25a5c28263ea32736e5943
10471Author: djm@openbsd.org <djm@openbsd.org>
10472Date: Tue Jan 22 20:48:01 2019 +0000
10473
10474 upstream: add -m to usage(); reminded by jmc@
10475
10476 OpenBSD-Commit-ID: bca476a5236e8f94210290b3e6a507af0434613e
10477
10478commit 41923ce06ac149453debe472238e0cca7d5a2e5f
10479Author: djm@openbsd.org <djm@openbsd.org>
10480Date: Tue Jan 22 12:03:58 2019 +0000
10481
10482 upstream: Correct some bugs in PKCS#11 token PIN handling at
10483
10484 initial login, the attempt at reading the PIN could be skipped in some cases
10485 especially on devices with integrated PIN readers.
10486
10487 based on patch from Daniel Kucera in bz#2652; ok markus@
10488
10489 OpenBSD-Commit-ID: fad70a61c60610afe8bb0db538c90e343e75e58e
10490
10491commit 2162171ad517501ba511fa9f8191945d01857bb4
10492Author: djm@openbsd.org <djm@openbsd.org>
10493Date: Tue Jan 22 12:00:50 2019 +0000
10494
10495 upstream: Support keys that set the CKA_ALWAYS_AUTHENTICATE by
10496
10497 requring a fresh login after the C_SignInit operation.
10498
10499 based on patch from Jakub Jelen in bz#2638; ok markus
10500
10501 OpenBSD-Commit-ID: a76e66996ba7c0923b46b74d46d499b811786661
10502
10503commit 7a2cb18a215b2cb335da3dc99489c52a91f4925b
10504Author: djm@openbsd.org <djm@openbsd.org>
10505Date: Tue Jan 22 11:51:25 2019 +0000
10506
10507 upstream: Mention that configuration for the destination host is
10508
10509 not applied to any ProxyJump/-J hosts. This has confused a few people...
10510
10511 OpenBSD-Commit-ID: 03f4f641df6ca236c1bfc69836a256b873db868b
10512
10513commit ecd2f33cb772db4fa76776543599f1c1ab6f9fa0
10514Author: djm@openbsd.org <djm@openbsd.org>
10515Date: Tue Jan 22 11:40:42 2019 +0000
10516
10517 upstream: Include -m in the synopsis for a few more commands that
10518
10519 support it
10520
10521 Be more explicit in the description of -m about where it may be used
10522
10523 Prompted by Jakub Jelen in bz2904
10524
10525 OpenBSD-Commit-ID: 3b398ac5e05d8a6356710d0ff114536c9d71046c
10526
10527commit ff5d2cf4ca373bb4002eef395ed2cbe2ff0826c1
10528Author: djm@openbsd.org <djm@openbsd.org>
10529Date: Tue Jan 22 11:26:16 2019 +0000
10530
10531 upstream: print the full pubkey being attempted at loglevel >=
10532
10533 debug2; bz2939
10534
10535 OpenBSD-Commit-ID: ac0fe5ca1429ebf4d460bad602adc96de0d7e290
10536
10537commit 180b520e2bab33b566b4b0cbac7d5f9940935011
10538Author: djm@openbsd.org <djm@openbsd.org>
10539Date: Tue Jan 22 11:19:42 2019 +0000
10540
10541 upstream: clarify: ssh-keygen -e only writes public keys, never
10542
10543 private
10544
10545 OpenBSD-Commit-ID: 7de7ff6d274d82febf9feb641e2415ffd6a30bfb
10546
10547commit c45616a199c322ca674315de88e788f1d2596e26
10548Author: djm@openbsd.org <djm@openbsd.org>
10549Date: Tue Jan 22 11:00:15 2019 +0000
10550
10551 upstream: mention the new vs. old key formats in the introduction
10552
10553 and give some hints on how keys may be converted or written in the old
10554 format.
10555
10556 OpenBSD-Commit-ID: 9c90a9f92eddc249e07fad1204d0e15c8aa13823
10557
10558commit fd8eb1383a34c986a00ef13d745ae9bd3ea21760
10559Author: jmc@openbsd.org <jmc@openbsd.org>
10560Date: Tue Jan 22 06:58:31 2019 +0000
10561
10562 upstream: tweak previous;
10563
10564 OpenBSD-Commit-ID: d2a80e389da8e7ed71978643d8cbaa8605b597a8
10565
10566commit 68e924d5473c00057f8532af57741d258c478223
10567Author: tb@openbsd.org <tb@openbsd.org>
10568Date: Mon Jan 21 23:55:12 2019 +0000
10569
10570 upstream: Forgot to add -J to the synopsis.
10571
10572 OpenBSD-Commit-ID: 26d95e409a0b72526526fc56ca1caca5cc3d3c5e
10573
10574commit 622dedf1a884f2927a9121e672bd9955e12ba108
10575Author: tb@openbsd.org <tb@openbsd.org>
10576Date: Mon Jan 21 22:50:42 2019 +0000
10577
10578 upstream: Add a -J option as a shortcut for -o Proxyjump= to scp(1)
10579
10580 and sftp(1) to match ssh(1)'s interface.
10581
10582 ok djm
10583
10584 OpenBSD-Commit-ID: a75bc2d5f329caa7229a7e9fe346c4f41c2663fc
10585
10586commit c882d74652800150d538e22c80dd2bd3cdd5fae2
10587Author: Darren Tucker <dtucker@dtucker.net>
10588Date: Tue Jan 22 20:38:40 2019 +1100
10589
10590 Allow building against OpenSSL dev (3.x) version.
10591
10592commit d5520393572eb24aa0e001a1c61f49b104396e45
10593Author: Damien Miller <djm@mindrot.org>
10594Date: Tue Jan 22 10:50:40 2019 +1100
10595
10596 typo
10597
10598commit 2de9cec54230998ab10161576f77860a2559ccb7
10599Author: Damien Miller <djm@mindrot.org>
10600Date: Tue Jan 22 10:49:52 2019 +1100
10601
10602 add missing header
10603
10604commit 533cfb01e49a2a30354e191669dc3159e03e99a7
10605Author: djm@openbsd.org <djm@openbsd.org>
10606Date: Mon Jan 21 22:18:24 2019 +0000
10607
10608 upstream: switch sntrup implementation source from supercop to
10609
10610 libpqcrypto; the latter is almost identical but doesn't rely on signed
10611 underflow to implement an optimised integer sort; from markus@
10612
10613 OpenBSD-Commit-ID: cd09bbf0e0fcef1bedca69fdf7990dc360567cf8
10614
10615commit d50ab3cd6fb859888a26b4d4e333239b4f6bf573
10616Author: Damien Miller <djm@mindrot.org>
10617Date: Tue Jan 22 00:02:23 2019 +1100
10618
10619 new files need includes.h
10620
10621commit c7670b091a7174760d619ef6738b4f26b2093301
10622Author: djm@openbsd.org <djm@openbsd.org>
10623Date: Mon Jan 21 12:53:35 2019 +0000
10624
10625 upstream: add "-v" flags to ssh-add and ssh-pkcs11-helper to turn up
10626
10627 debug verbosity.
10628
10629 Make ssh-agent turn on ssh-pkcs11-helper's verbosity when it is run
10630 in debug mode ("ssh-agent -d"), so we get to see errors from the
10631 PKCS#11 code.
10632
10633 ok markus@
10634
10635 OpenBSD-Commit-ID: 0a798643c6a92a508df6bd121253ba1c8bee659d
10636
10637commit 49d8c8e214d39acf752903566b105d06c565442a
10638Author: djm@openbsd.org <djm@openbsd.org>
10639Date: Mon Jan 21 12:50:12 2019 +0000
10640
10641 upstream: adapt to changes in KEX APIs and file removals
10642
10643 OpenBSD-Regress-ID: 54d6857e7c58999c7a6d40942ab0fed3529f43ca
10644
10645commit 35ecc53a83f8e8baab2e37549addfd05c73c30f1
10646Author: djm@openbsd.org <djm@openbsd.org>
10647Date: Mon Jan 21 12:35:20 2019 +0000
10648
10649 upstream: adapt to changes in KEX API and file removals
10650
10651 OpenBSD-Regress-ID: 92cad022d3b0d11e08f3e0055d6a14b8f994c0d7
10652
10653commit 7d69aae64c35868cc4f644583ab973113a79480e
10654Author: djm@openbsd.org <djm@openbsd.org>
10655Date: Mon Jan 21 12:29:35 2019 +0000
10656
10657 upstream: adapt to bignum1 API removal and bignum2 API change
10658
10659 OpenBSD-Regress-ID: cea6ff270f3d560de86b355a87a2c95b55a5ca63
10660
10661commit beab553f0a9578ef9bffe28b2c779725e77b39ec
10662Author: djm@openbsd.org <djm@openbsd.org>
10663Date: Mon Jan 21 09:13:41 2019 +0000
10664
10665 upstream: remove hack to use non-system libcrypto
10666
10667 OpenBSD-Regress-ID: ce72487327eee4dfae1ab0212a1f33871fe0809f
10668
10669commit 4dc06bd57996f1a46b4c3bababe0d09bc89098f7
10670Author: Damien Miller <djm@mindrot.org>
10671Date: Mon Jan 21 23:14:04 2019 +1100
10672
10673 depend
10674
10675commit 70edd73edc4df54e5eee50cd27c25427b34612f8
10676Author: djm@openbsd.org <djm@openbsd.org>
10677Date: Mon Jan 21 12:08:13 2019 +0000
10678
10679 upstream: fix reversed arguments to kex_load_hostkey(); manifested as
10680
10681 errors in cert-hostkey.sh regress failures.
10682
10683 OpenBSD-Commit-ID: 12dab63850b844f84d5a67e86d9e21a42fba93ba
10684
10685commit f1185abbf0c9108e639297addc77f8757ee00eb3
10686Author: djm@openbsd.org <djm@openbsd.org>
10687Date: Mon Jan 21 11:22:00 2019 +0000
10688
10689 upstream: forgot to cvs add this file in previous series of commits;
10690
10691 grrr
10692
10693 OpenBSD-Commit-ID: bcff316c3e7da8fd15333e05d244442c3aaa66b0
10694
10695commit 7bef390b625bdc080f0fd4499ef03cef60fca4fa
10696Author: djm@openbsd.org <djm@openbsd.org>
10697Date: Mon Jan 21 10:44:21 2019 +0000
10698
10699 upstream: nothing shall escape this purge
10700
10701 OpenBSD-Commit-ID: 4795b0ff142b45448f7e15f3c2f77a947191b217
10702
10703commit aaca72d6f1279b842066e07bff797019efeb2c23
10704Author: djm@openbsd.org <djm@openbsd.org>
10705Date: Mon Jan 21 10:40:11 2019 +0000
10706
10707 upstream: rename kex->kem_client_pub -> kex->client_pub now that
10708
10709 KEM has been renamed to kexgen
10710
10711 from markus@ ok djm@
10712
10713 OpenBSD-Commit-ID: fac6da5dc63530ad0da537db022a9a4cfbe8bed8
10714
10715commit 70867e1ca2eb08bbd494fe9c568df4fd3b35b867
10716Author: djm@openbsd.org <djm@openbsd.org>
10717Date: Mon Jan 21 10:38:54 2019 +0000
10718
10719 upstream: merge kexkem[cs] into kexgen
10720
10721 from markus@ ok djm@
10722
10723 OpenBSD-Commit-ID: 87d886b7f1812ff9355fda1435f6ea9b71a0ac89
10724
10725commit 71e67fff946396caa110a7964da23480757258ff
10726Author: djm@openbsd.org <djm@openbsd.org>
10727Date: Mon Jan 21 10:35:09 2019 +0000
10728
10729 upstream: pass values used in KEX hash computation as sshbuf
10730
10731 rather than pointer+len
10732
10733 suggested by me; implemented by markus@ ok me
10734
10735 OpenBSD-Commit-ID: 994f33c464f4a9e0f1d21909fa3e379f5a0910f0
10736
10737commit 4b83e2a2cc0c12e671a77eaba1c1245894f4e884
10738Author: djm@openbsd.org <djm@openbsd.org>
10739Date: Mon Jan 21 10:33:49 2019 +0000
10740
10741 upstream: remove kex_derive_keys_bn wrapper; no unused since the
10742
10743 DH-like KEX methods have moved to KEM
10744
10745 from markus@ ok djm@
10746
10747 OpenBSD-Commit-ID: bde9809103832f349545e4f5bb733d316db9a060
10748
10749commit 92dda34e373832f34a1944e5d9ebbebb184dedc1
10750Author: djm@openbsd.org <djm@openbsd.org>
10751Date: Mon Jan 21 10:29:56 2019 +0000
10752
10753 upstream: use KEM API for vanilla ECDH
10754
10755 from markus@ ok djm@
10756
10757 OpenBSD-Commit-ID: 6fbff96339a929835536b5730585d1d6057a352c
10758
10759commit b72357217cbe510a3ae155307a7be6b9181f1d1b
10760Author: Damien Miller <djm@mindrot.org>
10761Date: Mon Jan 21 23:11:21 2019 +1100
10762
10763 fixup missing ssherr.h
10764
10765commit 9c9c97e14fe190931f341876ad98213e1e1dc19f
10766Author: djm@openbsd.org <djm@openbsd.org>
10767Date: Mon Jan 21 10:28:01 2019 +0000
10768
10769 upstream: use KEM API for vanilla DH KEX
10770
10771 from markus@ ok djm@
10772
10773 OpenBSD-Commit-ID: af56466426b08a8be275412ae2743319e3d277c9
10774
10775commit 2f6a9ddbbf6ca8623c53c323ff17fb6d68d66970
10776Author: djm@openbsd.org <djm@openbsd.org>
10777Date: Mon Jan 21 10:24:09 2019 +0000
10778
10779 upstream: use KEM API for vanilla c25519 KEX
10780
10781 OpenBSD-Commit-ID: 38d937b85ff770886379dd66a8f32ab0c1c35c1f
10782
10783commit dfd591618cdf2c96727ac0eb65f89cf54af0d97e
10784Author: djm@openbsd.org <djm@openbsd.org>
10785Date: Mon Jan 21 10:20:12 2019 +0000
10786
10787 upstream: Add support for a PQC KEX/KEM:
10788
10789 sntrup4591761x25519-sha512@tinyssh.org using the Streamlined NTRU Prime
10790 4591^761 implementation from SUPERCOP coupled with X25519 as a stop-loss. Not
10791 enabled by default.
10792
10793 introduce KEM API; a simplified framework for DH-ish KEX methods.
10794
10795 from markus@ feedback & ok djm@
10796
10797 OpenBSD-Commit-ID: d687f76cffd3561dd73eb302d17a1c3bf321d1a7
10798
10799commit b1b2ff4ed559051d1035419f8f236275fa66d5d6
10800Author: djm@openbsd.org <djm@openbsd.org>
10801Date: Mon Jan 21 10:07:22 2019 +0000
10802
10803 upstream: factor out kex_verify_hostkey() - again, duplicated
10804
10805 almost exactly across client and server for several KEX methods.
10806
10807 from markus@ ok djm@
10808
10809 OpenBSD-Commit-ID: 4e4a16d949dadde002a0aacf6d280a684e20829c
10810
10811commit bb39bafb6dc520cc097780f4611a52da7f19c3e2
10812Author: djm@openbsd.org <djm@openbsd.org>
10813Date: Mon Jan 21 10:05:09 2019 +0000
10814
10815 upstream: factor out kex_load_hostkey() - this is duplicated in
10816
10817 both the client and server implementations for most KEX methods.
10818
10819 from markus@ ok djm@
10820
10821 OpenBSD-Commit-ID: 8232fa7c21fbfbcaf838313b0c166dc6c8762f3c
10822
10823commit dec5e9d33891e3bc3f1395d7db0e56fdc7f86dfc
10824Author: djm@openbsd.org <djm@openbsd.org>
10825Date: Mon Jan 21 10:03:37 2019 +0000
10826
10827 upstream: factor out kex_dh_compute_key() - it's shared between
10828
10829 plain DH KEX and DH GEX in both the client and server implementations
10830
10831 from markus@ ok djm@
10832
10833 OpenBSD-Commit-ID: 12186e18791fffcd4642c82e7e0cfdd7ea37e2ec
10834
10835commit e93bd98eab79b9a78f64ee8dd4dffc4d3979c7ae
10836Author: djm@openbsd.org <djm@openbsd.org>
10837Date: Mon Jan 21 10:00:23 2019 +0000
10838
10839 upstream: factor out DH keygen; it's identical between the client
10840
10841 and the server
10842
10843 from markus@ ok djm@
10844
10845 OpenBSD-Commit-ID: 2be57f6a0d44f1ab2c8de2b1b5d6f530c387fae9
10846
10847commit 5ae3f6d314465026d028af82609c1d49ad197655
10848Author: djm@openbsd.org <djm@openbsd.org>
10849Date: Mon Jan 21 09:55:52 2019 +0000
10850
10851 upstream: save the derived session id in kex_derive_keys() rather
10852
10853 than making each kex method implementation do it.
10854
10855 from markus@ ok djm@
10856
10857 OpenBSD-Commit-ID: d61ade9c8d1e13f665f8663c552abff8c8a30673
10858
10859commit 7be8572b32a15d5c3dba897f252e2e04e991c307
10860Author: djm@openbsd.org <djm@openbsd.org>
10861Date: Mon Jan 21 09:54:11 2019 +0000
10862
10863 upstream: Make sshpkt_get_bignum2() allocate the bignum it is
10864
10865 parsing rather than make the caller do it. Saves a lot of boilerplate code.
10866
10867 from markus@ ok djm@
10868
10869 OpenBSD-Commit-ID: 576bf784f9a240f5a1401f7005364e59aed3bce9
10870
10871commit 803178bd5da7e72be94ba5b4c4c196d4b542da4d
10872Author: djm@openbsd.org <djm@openbsd.org>
10873Date: Mon Jan 21 09:52:25 2019 +0000
10874
10875 upstream: remove obsolete (SSH v.1) sshbuf_get/put_bignum1
10876
10877 functions
10878
10879 from markus@ ok djm@
10880
10881 OpenBSD-Commit-ID: 0380b1b2d9de063de3c5a097481a622e6a04943e
10882
10883commit f3ebaffd8714be31d4345f90af64992de4b3bba2
10884Author: djm@openbsd.org <djm@openbsd.org>
10885Date: Mon Jan 21 09:49:37 2019 +0000
10886
10887 upstream: fix all-zero check in kexc25519_shared_key
10888
10889 from markus@ ok djm@
10890
10891 OpenBSD-Commit-ID: 60b1d364e0d9d34d1d1ef1620cb92e36cf06712d
10892
10893commit 9d1a9771d0ad3a83af733bf3d2650b53f43c269f
10894Author: jmc@openbsd.org <jmc@openbsd.org>
10895Date: Mon Jan 21 07:09:10 2019 +0000
10896
10897 upstream: - -T was added to the first synopsis by mistake - since
10898
10899 "..." denotes optional, no need to surround it in []
10900
10901 ok djm
10902
10903 OpenBSD-Commit-ID: 918f6d8eed4e0d8d9ef5eadae1b8983d796f0e25
10904
10905commit 2f0bad2bf85391dbb41315ab55032ec522660617
10906Author: Darren Tucker <dtucker@dtucker.net>
10907Date: Mon Jan 21 21:28:27 2019 +1100
10908
10909 Make --with-rpath take a flag instead of yes/no.
10910
10911 Linkers need various flags for -rpath and similar, so make --with-rpath
10912 take an optional flag argument which is passed to the linker. ok djm@
10913
10914commit 23490a6c970ea1d03581a3b4208f2eb7a675f453
10915Author: Damien Miller <djm@mindrot.org>
10916Date: Mon Jan 21 15:05:43 2019 +1100
10917
10918 fix previous test
10919
10920commit b6dd3277f2c49f9584a2097bc792e8f480397e87
10921Author: Darren Tucker <dtucker@dtucker.net>
10922Date: Mon Jan 21 13:50:17 2019 +1100
10923
10924 Wrap ECC static globals in EC_KEY_METHOD_NEW too.
10925
10926commit b2eb9db35b7191613f2f4b934d57b25938bb34b3
10927Author: Damien Miller <djm@mindrot.org>
10928Date: Mon Jan 21 12:53:40 2019 +1100
10929
10930 pass TEST_SSH_SSHPKCS11HELPER to regress tests
10931
10932commit ba58a529f45b3dae2db68607d8c54ae96e90e705
10933Author: Damien Miller <djm@mindrot.org>
10934Date: Mon Jan 21 12:31:29 2019 +1100
10935
10936 make agent-pkcs11 search harder for softhsm2.so
10937
10938commit 662be40c62339ab645113c930ce689466f028938
10939Author: djm@openbsd.org <djm@openbsd.org>
10940Date: Mon Jan 21 02:05:38 2019 +0000
10941
10942 upstream: always print the caller's error message in ossl_error(),
10943
10944 even when there are no libcrypto errors to report.
10945
10946 OpenBSD-Commit-ID: 09ebaa8f706e0eccedd209775baa1eee2ada806a
10947
10948commit ce46c3a077dfb4c531ccffcfff03f37775725b75
10949Author: djm@openbsd.org <djm@openbsd.org>
10950Date: Mon Jan 21 02:01:03 2019 +0000
10951
10952 upstream: get the ex_data (pkcs11_key object) back from the keys at
10953
10954 the index at which it was inserted, rather than assuming index 0
10955
10956 OpenBSD-Commit-ID: 1f3a6ce0346c8014e895e50423bef16401510aa8
10957
10958commit 0a5f2ea35626022299ece3c8817a1abe8cf37b3e
10959Author: djm@openbsd.org <djm@openbsd.org>
10960Date: Mon Jan 21 01:05:00 2019 +0000
10961
10962 upstream: GSSAPI code got missed when converting to new packet API
10963
10964 OpenBSD-Commit-ID: 37e4f06ab4a0f4214430ff462ba91acba28b7851
10965
10966commit 2efcf812b4c1555ca3aff744820a3b3bccd68298
10967Author: Damien Miller <djm@mindrot.org>
10968Date: Mon Jan 21 11:57:21 2019 +1100
10969
10970 Fix -Wunused when compiling PKCS#11 without ECDSA
10971
10972commit 3c0c657ed7cd335fc05c0852d88232ca7e92a5d9
10973Author: djm@openbsd.org <djm@openbsd.org>
10974Date: Sun Jan 20 23:26:44 2019 +0000
10975
10976 upstream: allow override of ssh-pkcs11-helper binary via
10977
10978 $TEST_SSH_SSHPKCS11HELPER from markus@
10979
10980 OpenBSD-Regress-ID: 7382a3d76746f5a792d106912a5819fd5e49e469
10981
10982commit 760ae37b4505453c6fa4faf1aa39a8671ab053af
10983Author: djm@openbsd.org <djm@openbsd.org>
10984Date: Sun Jan 20 23:25:25 2019 +0000
10985
10986 upstream: adapt agent-pkcs11.sh test to softhsm2 and add support
10987
10988 for ECDSA keys
10989
10990 work by markus@, ok djm@
10991
10992 OpenBSD-Regress-ID: 1ebc2be0e88eff1b6d8be2f9c00cdc60723509fe
10993
10994commit b2ce8b31a1f974a13e6d12e0a0c132b50bc45115
10995Author: djm@openbsd.org <djm@openbsd.org>
10996Date: Sun Jan 20 23:24:19 2019 +0000
10997
10998 upstream: add "extra:" target to run some extra tests that are not
10999
11000 enabled by default (currently includes agent-pkcs11.sh); from markus@
11001
11002 OpenBSD-Regress-ID: 9a969e1adcd117fea174d368dcb9c61eb50a2a3c
11003
11004commit 632976418d60b7193597bbc6ac7ca33981a41aab
11005Author: djm@openbsd.org <djm@openbsd.org>
11006Date: Mon Jan 21 00:47:34 2019 +0000
11007
11008 upstream: use ECDSA_SIG_set0() instead of poking signature values into
11009
11010 structure directly; the latter works on LibreSSL but not on OpenSSL. From
11011 portable.
11012
11013 OpenBSD-Commit-ID: 5b22a1919d9cee907d3f8a029167f70a481891c6
11014
11015commit 5de6ac2bad11175135d9b819b3546db0ca0b4878
11016Author: Damien Miller <djm@mindrot.org>
11017Date: Mon Jan 21 11:44:19 2019 +1100
11018
11019 remove HAVE_DLOPEN that snuck in
11020
11021 portable doesn't use this
11022
11023commit e2cb445d786f7572da2af93e3433308eaed1093a
11024Author: Damien Miller <djm@mindrot.org>
11025Date: Mon Jan 21 11:32:28 2019 +1100
11026
11027 conditionalise ECDSA PKCS#11 support
11028
11029 Require EC_KEY_METHOD support in libcrypto, evidenced by presence
11030 of EC_KEY_METHOD_new() function.
11031
11032commit fcb1b0937182d0137a3c357c89735d0dc5869d54
11033Author: djm@openbsd.org <djm@openbsd.org>
11034Date: Sun Jan 20 23:12:35 2019 +0000
11035
11036 upstream: we use singleton pkcs#11 RSA_METHOD and EC_KEY_METHOD
11037
11038 now, so there is no need to keep a copy of each in the pkcs11_key object.
11039
11040 work by markus@, ok djm@
11041
11042 OpenBSD-Commit-ID: 43b4856516e45c0595f17a8e95b2daee05f12faa
11043
11044commit 6529409e85890cd6df7e5e81d04e393b1d2e4b0b
11045Author: djm@openbsd.org <djm@openbsd.org>
11046Date: Sun Jan 20 23:11:11 2019 +0000
11047
11048 upstream: KNF previous; from markus@
11049
11050 OpenBSD-Commit-ID: 3dfe35e25b310c3968b1e4e53a0cb1d03bda5395
11051
11052commit 58622a8c82f4e2aad630580543f51ba537c1f39e
11053Author: djm@openbsd.org <djm@openbsd.org>
11054Date: Sun Jan 20 23:10:33 2019 +0000
11055
11056 upstream: use OpenSSL's RSA reference counting hooks to
11057
11058 implicitly clean up pkcs11_key objects when their owning RSA object's
11059 reference count drops to zero. Simplifies the cleanup path and makes it more
11060 like ECDSA's
11061
11062 work by markus@, ok djm@
11063
11064 OpenBSD-Commit-ID: 74b9c98f405cd78f7148e9e4a4982336cd3df25c
11065
11066commit f118542fc82a3b3ab0360955b33bc5a271ea709f
11067Author: djm@openbsd.org <djm@openbsd.org>
11068Date: Sun Jan 20 23:08:24 2019 +0000
11069
11070 upstream: make the PKCS#11 RSA code more like the new PKCS#11
11071
11072 ECDSA code: use a single custom RSA_METHOD instead of a method per key
11073
11074 suggested by me, but markus@ did all the work.
11075 ok djm@
11076
11077 OpenBSD-Commit-ID: 8aafcebe923dc742fc5537a995cee549d07e4b2e
11078
11079commit 445cfce49dfc904c6b8ab25afa2f43130296c1a5
11080Author: djm@openbsd.org <djm@openbsd.org>
11081Date: Sun Jan 20 23:05:52 2019 +0000
11082
11083 upstream: fix leak of ECDSA pkcs11_key objects
11084
11085 work by markus, ok djm@
11086
11087 OpenBSD-Commit-ID: 9fc0c4f1d640aaa5f19b8d70f37ea19b8ad284a1
11088
11089commit 8a2467583f0b5760787273796ec929190c3f16ee
11090Author: djm@openbsd.org <djm@openbsd.org>
11091Date: Sun Jan 20 23:03:26 2019 +0000
11092
11093 upstream: use EVP_PKEY_get0_EC_KEY() instead of direct access of
11094
11095 EC_KEY internals as that won't work on OpenSSL
11096
11097 work by markus@, feedback and ok djm@
11098
11099 OpenBSD-Commit-ID: 4a99cdb89fbd6f5155ef8c521c99dc66e2612700
11100
11101commit 24757c1ae309324e98d50e5935478655be04e549
11102Author: djm@openbsd.org <djm@openbsd.org>
11103Date: Sun Jan 20 23:01:59 2019 +0000
11104
11105 upstream: cleanup PKCS#11 ECDSA pubkey loading: the returned
11106
11107 object should never have a DER header
11108
11109 work by markus; feedback and ok djm@
11110
11111 OpenBSD-Commit-ID: b617fa585eddbbf0b1245b58b7a3c4b8d613db17
11112
11113commit 749aef30321595435ddacef2f31d7a8f2b289309
11114Author: djm@openbsd.org <djm@openbsd.org>
11115Date: Sun Jan 20 23:00:12 2019 +0000
11116
11117 upstream: cleanup unnecessary code in ECDSA pkcs#11 signature
11118
11119 work by markus@, feedback and ok djm@
11120
11121 OpenBSD-Commit-ID: affa5ca7d58d59fbd16169f77771dcdbd2b0306d
11122
11123commit 0c50992af49b562970dd0ba3f8f151f1119e260e
11124Author: djm@openbsd.org <djm@openbsd.org>
11125Date: Sun Jan 20 22:57:45 2019 +0000
11126
11127 upstream: cleanup pkcs#11 client code: use sshkey_new in instead
11128
11129 of stack- allocating a sshkey
11130
11131 work by markus@, ok djm@
11132
11133 OpenBSD-Commit-ID: a048eb6ec8aa7fa97330af927022c0da77521f91
11134
11135commit 854bd8674ee5074a239f7cadf757d55454802e41
11136Author: djm@openbsd.org <djm@openbsd.org>
11137Date: Sun Jan 20 22:54:30 2019 +0000
11138
11139 upstream: allow override of the pkcs#11 helper binary via
11140
11141 $SSH_PKCS11_HELPER; needed for regress tests.
11142
11143 work by markus@, ok me
11144
11145 OpenBSD-Commit-ID: f78d8185500bd7c37aeaf7bd27336db62f0f7a83
11146
11147commit 93f02107f44d63a016d8c23ebd2ca9205c495c48
11148Author: djm@openbsd.org <djm@openbsd.org>
11149Date: Sun Jan 20 22:51:37 2019 +0000
11150
11151 upstream: add support for ECDSA keys in PKCS#11 tokens
11152
11153 Work by markus@ and Pedro Martelletto, feedback and ok me@
11154
11155 OpenBSD-Commit-ID: a37d651e221341376636056512bddfc16efb4424
11156
11157commit aa22c20e0c36c2fc610cfcc793b0d14079c38814
11158Author: djm@openbsd.org <djm@openbsd.org>
11159Date: Sun Jan 20 22:03:29 2019 +0000
11160
11161 upstream: add option to test whether keys in an agent are usable,
11162
11163 by performing a signature and a verification using each key "ssh-add -T
11164 pubkey [...]"
11165
11166 work by markus@, ok djm@
11167
11168 OpenBSD-Commit-ID: 931b888a600b6a883f65375bd5f73a4776c6d19b
11169
11170commit a36b0b14a12971086034d53c0c3dfbad07665abe
11171Author: tb@openbsd.org <tb@openbsd.org>
11172Date: Sun Jan 20 02:01:59 2019 +0000
11173
11174 upstream: Fix BN_is_prime_* calls in SSH, the API returns -1 on
11175
11176 error.
11177
11178 Found thanks to BoringSSL's commit 53409ee3d7595ed37da472bc73b010cd2c8a5ffd
11179 by David Benjamin.
11180
11181 ok djm, dtucker
11182
11183 OpenBSD-Commit-ID: 1ee832be3c44b1337f76b8562ec6d203f3b072f8
11184
11185commit ec4776bb01dd8d61fddc7d2a31ab10bf3d3d829a
11186Author: dtucker@openbsd.org <dtucker@openbsd.org>
11187Date: Sun Jan 20 01:12:40 2019 +0000
11188
11189 upstream: DH-GEX min value is now specified in RFC8270. ok djm@
11190
11191 OpenBSD-Commit-ID: 1229d0feb1d0ecefe05bf67a17578b263e991acc
11192
11193commit c90a7928c4191303e76a8c58b9008d464287ae1b
11194Author: Darren Tucker <dtucker@dtucker.net>
11195Date: Mon Jan 21 09:22:36 2019 +1100
11196
11197 Check for cc before gcc.
11198
11199 If cc is something other than gcc and is the system compiler prefer using
11200 that, unless otherwise told via $CC. ok djm@
11201
11202commit 9b655dc9c9a353f0a527f0c6c43a5e35653c9503
11203Author: Damien Miller <djm@mindrot.org>
11204Date: Sun Jan 20 14:55:27 2019 +1100
11205
11206 last bits of old packet API / active_state global
11207
11208commit 3f0786bbe73609ac96e5a0d91425ee21129f8e04
11209Author: Damien Miller <djm@mindrot.org>
11210Date: Sun Jan 20 10:22:18 2019 +1100
11211
11212 remove PAM dependencies on old packet API
11213
11214 Requires some caching of values, because the PAM code isn't
11215 always called with packet context.
11216
11217commit 08f66d9f17e12c1140d1f1cf5c4dce67e915d3cc
11218Author: Damien Miller <djm@mindrot.org>
11219Date: Sun Jan 20 09:58:45 2019 +1100
11220
11221 remove vestiges of old packet API from loginrec.c
11222
11223commit c327813ea1d740e3e367109c17873815aba1328e
11224Author: Damien Miller <djm@mindrot.org>
11225Date: Sun Jan 20 09:45:38 2019 +1100
11226
11227 depend
11228
11229commit 135e302cfdbe91817294317c337cc38c3ff01cba
11230Author: djm@openbsd.org <djm@openbsd.org>
11231Date: Sat Jan 19 22:30:52 2019 +0000
11232
11233 upstream: fix error in refactor: use ssh_packet_disconnect() instead of
11234
11235 sshpkt_error(). The first one logs the error and exits (what we want) instead
11236 of just logging and blundering on.
11237
11238 OpenBSD-Commit-ID: 39f51b43641dce9ce0f408ea6c0e6e077e2e91ae
11239
11240commit 245c6a0b220b58686ee35bc5fc1c359e9be2faaa
11241Author: djm@openbsd.org <djm@openbsd.org>
11242Date: Sat Jan 19 21:45:31 2019 +0000
11243
11244 upstream: remove last traces of old packet API!
11245
11246 with & ok markus@
11247
11248 OpenBSD-Commit-ID: 9bd10437026423eb8245636ad34797a20fbafd7d
11249
11250commit 04c091fc199f17dacf8921df0a06634b454e2722
11251Author: djm@openbsd.org <djm@openbsd.org>
11252Date: Sat Jan 19 21:43:56 2019 +0000
11253
11254 upstream: remove last references to active_state
11255
11256 with & ok markus@
11257
11258 OpenBSD-Commit-ID: 78619a50ea7e4ca2f3b54d4658b3227277490ba2
11259
11260commit ec00f918b8ad90295044266c433340a8adc93452
11261Author: djm@openbsd.org <djm@openbsd.org>
11262Date: Sat Jan 19 21:43:07 2019 +0000
11263
11264 upstream: convert monitor.c to new packet API
11265
11266 with & ok markus@
11267
11268 OpenBSD-Commit-ID: 61ecd154bd9804461a0cf5f495a29d919e0014d5
11269
11270commit 6350e0316981489d4205952d6904d6fedba5bfe0
11271Author: djm@openbsd.org <djm@openbsd.org>
11272Date: Sat Jan 19 21:42:30 2019 +0000
11273
11274 upstream: convert sshd.c to new packet API
11275
11276 with & ok markus@
11277
11278 OpenBSD-Commit-ID: ea569d3eaf9b5cf1bad52779fbfa5fa0b28af891
11279
11280commit a5e2ad88acff2b7d131ee6d5dc5d339b0f8c6a6d
11281Author: djm@openbsd.org <djm@openbsd.org>
11282Date: Sat Jan 19 21:41:53 2019 +0000
11283
11284 upstream: convert session.c to new packet API
11285
11286 with & ok markus@
11287
11288 OpenBSD-Commit-ID: fae817207e23099ddd248960c984f7b7f26ea68e
11289
11290commit 3a00a921590d4c4b7e96df11bb10e6f9253ad45e
11291Author: djm@openbsd.org <djm@openbsd.org>
11292Date: Sat Jan 19 21:41:18 2019 +0000
11293
11294 upstream: convert auth.c to new packet API
11295
11296 with & ok markus@
11297
11298 OpenBSD-Commit-ID: 7e10359f614ff522b52a3f05eec576257794e8e4
11299
11300commit 7ec5cb4d15ed2f2c5c9f5d00e6b361d136fc1e2d
11301Author: djm@openbsd.org <djm@openbsd.org>
11302Date: Sat Jan 19 21:40:48 2019 +0000
11303
11304 upstream: convert serverloop.c to new packet API
11305
11306 with & ok markus@
11307
11308 OpenBSD-Commit-ID: c92dd19b55457541478f95c0d6b318426d86d885
11309
11310commit 64c9598ac05332d1327cbf55334dee4172d216c4
11311Author: djm@openbsd.org <djm@openbsd.org>
11312Date: Sat Jan 19 21:40:21 2019 +0000
11313
11314 upstream: convert the remainder of sshconnect2.c to new packet
11315
11316 API
11317
11318 with & ok markus@
11319
11320 OpenBSD-Commit-ID: 0986d324f2ceb5e8a12ac21c1bb10b3b4b1e0f71
11321
11322commit bc5e1169d101d16e3a5962a928db2bc49a8ef5a3
11323Author: djm@openbsd.org <djm@openbsd.org>
11324Date: Sat Jan 19 21:39:12 2019 +0000
11325
11326 upstream: convert the remainder of clientloop.c to new packet API
11327
11328 with & ok markus@
11329
11330 OpenBSD-Commit-ID: ce2fbbacb86a290f31da1e7bf04cddf2bdae3d1e
11331
11332commit 5ebce136a6105f084db8f0d7ee41981d42daec40
11333Author: Damien Miller <djm@mindrot.org>
11334Date: Sun Jan 20 09:44:53 2019 +1100
11335
11336 upstream: convert auth2.c to new packet API
11337
11338 OpenBSD-Commit-ID: ed831bb95ad228c6791bc18b60ce7a2edef2c999
11339
11340commit 172a592a53ebe8649c4ac0d7946e6c08eb151af6
11341Author: djm@openbsd.org <djm@openbsd.org>
11342Date: Sat Jan 19 21:37:48 2019 +0000
11343
11344 upstream: convert servconf.c to new packet API
11345
11346 with & ok markus@
11347
11348 OpenBSD-Commit-ID: 126553aecca302c9e02fd77e333b9cb217e623b4
11349
11350commit 8cc7a679d29cf6ecccfa08191e688c7f81ef95c2
11351Author: djm@openbsd.org <djm@openbsd.org>
11352Date: Sat Jan 19 21:37:13 2019 +0000
11353
11354 upstream: convert channels.c to new packet API
11355
11356 with & ok markus@
11357
11358 OpenBSD-Commit-ID: 0b8279b56113cbd4011fc91315c0796b63dc862c
11359
11360commit 06232038c794c7dfcb087be0ab0b3e65b09fd396
11361Author: djm@openbsd.org <djm@openbsd.org>
11362Date: Sat Jan 19 21:36:38 2019 +0000
11363
11364 upstream: convert sshconnect.c to new packet API
11365
11366 with & ok markus@
11367
11368 OpenBSD-Commit-ID: 222337cf6c96c347f1022d976fac74b4257c061f
11369
11370commit 25b2ed667216314471bb66752442c55b95792dc3
11371Author: djm@openbsd.org <djm@openbsd.org>
11372Date: Sat Jan 19 21:36:06 2019 +0000
11373
11374 upstream: convert ssh.c to new packet API
11375
11376 with & ok markus@
11377
11378 OpenBSD-Commit-ID: eb146878b24e85c2a09ee171afa6797c166a2e21
11379
11380commit e3128b38623eef2fa8d6e7ae934d3bd08c7e973e
11381Author: djm@openbsd.org <djm@openbsd.org>
11382Date: Sat Jan 19 21:35:25 2019 +0000
11383
11384 upstream: convert mux.c to new packet API
11385
11386 with & ok markus@
11387
11388 OpenBSD-Commit-ID: 4e3893937bae66416e984b282d8f0f800aafd802
11389
11390commit ed1df7226caf3a943a36d580d4d4e9275f8a61ee
11391Author: djm@openbsd.org <djm@openbsd.org>
11392Date: Sat Jan 19 21:34:45 2019 +0000
11393
11394 upstream: convert sshconnect2.c to new packet API
11395
11396 with & ok markus@
11397
11398 OpenBSD-Commit-ID: 1cb869e0d6e03539f943235641ea070cae2ebc58
11399
11400commit 23f22a4aaa923c61ec49a99ebaa383656e87fa40
11401Author: djm@openbsd.org <djm@openbsd.org>
11402Date: Sat Jan 19 21:33:57 2019 +0000
11403
11404 upstream: convert clientloop.c to new packet API
11405
11406 with & ok markus@
11407
11408 OpenBSD-Commit-ID: 497b36500191f452a22abf283aa8d4a9abaee7fa
11409
11410commit ad60b1179c9682ca5aef0b346f99ef68cbbbc4e5
11411Author: djm@openbsd.org <djm@openbsd.org>
11412Date: Sat Jan 19 21:33:13 2019 +0000
11413
11414 upstream: allow sshpkt_fatal() to take a varargs format; we'll
11415
11416 use this to give packet-related fatal error messages more context (esp. the
11417 remote endpoint) ok markus@
11418
11419 OpenBSD-Commit-ID: de57211f9543426b515a8a10a4f481666b2b2a50
11420
11421commit 0fa174ebe129f3d0aeaf4e2d1dd8de745870d0ff
11422Author: djm@openbsd.org <djm@openbsd.org>
11423Date: Sat Jan 19 21:31:32 2019 +0000
11424
11425 upstream: begin landing remaining refactoring of packet parsing
11426
11427 API, started almost exactly six years ago.
11428
11429 This change stops including the old packet_* API by default and makes
11430 each file that requires the old API include it explicitly. We will
11431 commit file-by-file refactoring to remove the old API in consistent
11432 steps.
11433
11434 with & ok markus@
11435
11436 OpenBSD-Commit-ID: 93c98a6b38f6911fd1ae025a1ec57807fb4d4ef4
11437
11438commit 4ae7f80dfd02f2bde912a67c9f338f61e90fa79f
11439Author: tb@openbsd.org <tb@openbsd.org>
11440Date: Sat Jan 19 04:15:56 2019 +0000
11441
11442 upstream: Print an \r in front of the password prompt so parts of
11443
11444 a password that was entered too early are likely clobbered by the prompt.
11445 Idea from doas.
11446
11447 from and ok djm
11448 "i like it" deraadt
11449
11450 OpenBSD-Commit-ID: 5fb97c68df6d8b09ab37f77bca1d84d799c4084e
11451
11452commit a6258e5dc314c7d504ac9f0fbc3be96475581dbe
11453Author: Darren Tucker <dtucker@dtucker.net>
11454Date: Fri Jan 18 11:09:01 2019 +1100
11455
11456 Add minimal fchownat and fchmodat implementations.
11457
11458 Fixes builds on at least OS X Lion, NetBSD 6 and Solaris 10.
11459
11460commit 091093d25802b87d3b2b09f2c88d9f33e1ae5562
11461Author: Darren Tucker <dtucker@dtucker.net>
11462Date: Fri Jan 18 12:11:42 2019 +1300
11463
11464 Add a minimal implementation of utimensat().
11465
11466 Some systems (eg older OS X) do not have utimensat, so provide minimal
11467 implementation in compat layer. Fixes build on at least El Capitan.
11468
11469commit 609644027dde1f82213699cb6599e584c7efcb75
11470Author: djm@openbsd.org <djm@openbsd.org>
11471Date: Tue Jan 1 22:20:16 2019 +0000
11472
11473 upstream: regress bits for banner processing refactor (this test was
11474
11475 depending on ssh returning a particular error message for banner parsing
11476 failure)
11477
11478 reminded by bluhm@
11479
11480 OpenBSD-Regress-ID: f24fc303d40931157431df589b386abf5e1be575
11481
11482commit f47d72ddad75b93d3cbc781718b0fa9046c03df8
11483Author: djm@openbsd.org <djm@openbsd.org>
11484Date: Thu Jan 17 04:45:09 2019 +0000
11485
11486 upstream: tun_fwd_ifnames variable should b
11487
11488 =?UTF-8?q?e=20extern;=20from=20Hanno=20B=C3=B6ck?=
11489 MIME-Version: 1.0
11490 Content-Type: text/plain; charset=UTF-8
11491 Content-Transfer-Encoding: 8bit
11492
11493 OpenBSD-Commit-ID: d53dede6e521161bf04d39d09947db6253a38271
11494
11495commit 943d0965263cae1c080ce5a9d0b5aa341885e55d
11496Author: djm@openbsd.org <djm@openbsd.org>
11497Date: Thu Jan 17 04:20:53 2019 +0000
11498
11499 upstream: include time.h for time(3)/nanosleep(2); from Ian
11500
11501 McKellar
11502
11503 OpenBSD-Commit-ID: 6412ccd06a88f65b207a1089345f51fa1244ea51
11504
11505commit dbb4dec6d5d671b5e9d67ef02162a610ad052068
11506Author: djm@openbsd.org <djm@openbsd.org>
11507Date: Thu Jan 17 01:50:24 2019 +0000
11508
11509 upstream: many of the global variables in this file can be made static;
11510
11511 patch from Markus Schmidt
11512
11513 OpenBSD-Commit-ID: f3db619f67beb53257b21bac0e92b4fb7d5d5737
11514
11515commit 60d8c84e0887514c99c9ce071965fafaa1c3d34a
11516Author: djm@openbsd.org <djm@openbsd.org>
11517Date: Wed Jan 16 23:23:45 2019 +0000
11518
11519 upstream: Add "-h" flag to sftp chown/chgrp/chmod commands to
11520
11521 request they do not follow symlinks. Requires recently-committed
11522 lsetstat@openssh.com extension on the server side.
11523
11524 ok markus@ dtucker@
11525
11526 OpenBSD-Commit-ID: f93bb3f6f7eb2fb7ef1e59126e72714f1626d604
11527
11528commit dbbc7e0eab7262f34b8e0cd6efecd1c77b905ed0
11529Author: djm@openbsd.org <djm@openbsd.org>
11530Date: Wed Jan 16 23:22:10 2019 +0000
11531
11532 upstream: add support for a "lsetstat@openssh.com" extension. This
11533
11534 replicates the functionality of the existing SSH2_FXP_SETSTAT operation but
11535 does not follow symlinks. Based on a patch from Bert Haverkamp in bz#2067 but
11536 with more attribute modifications supported.
11537
11538 ok markus@ dtucker@
11539
11540 OpenBSD-Commit-ID: f7234f6e90db19655d55d936a115ee4ccb6aaf80
11541
11542commit 4a526941d328fc3d97068c6a4cbd9b71b70fe5e1
11543Author: djm@openbsd.org <djm@openbsd.org>
11544Date: Fri Jan 4 03:27:50 2019 +0000
11545
11546 upstream: eliminate function-static attempt counters for
11547
11548 passwd/kbdint authmethods by moving them to the client authctxt; Patch from
11549 Markus Schmidt, ok markus@
11550
11551 OpenBSD-Commit-ID: 4df4404a5d5416eb056f68e0e2f4fa91ba3b3f7f
11552
11553commit 8a8183474c41bd6cebaa917346b549af2239ba2f
11554Author: djm@openbsd.org <djm@openbsd.org>
11555Date: Fri Jan 4 03:23:00 2019 +0000
11556
11557 upstream: fix memory leak of ciphercontext when rekeying; bz#2942
11558
11559 Patch from Markus Schmidt; ok markus@
11560
11561 OpenBSD-Commit-ID: 7877f1b82e249986f1ef98d0ae76ce987d332bdd
11562
11563commit 5bed70afce0907b6217418d0655724c99b683d93
11564Author: djm@openbsd.org <djm@openbsd.org>
11565Date: Tue Jan 1 23:10:53 2019 +0000
11566
11567 upstream: static on global vars, const on handler tables that contain
11568
11569 function pointers; from Mike Frysinger
11570
11571 OpenBSD-Commit-ID: 7ef2305e50d3caa6326286db43cf2cfaf03960e0
11572
11573commit 007a88b48c97d092ed2f501bbdcb70d9925277be
11574Author: djm@openbsd.org <djm@openbsd.org>
11575Date: Thu Dec 27 23:02:11 2018 +0000
11576
11577 upstream: Request RSA-SHA2 signatures for
11578
11579 rsa-sha2-{256|512}-cert-v01@openssh.com cert algorithms; ok markus@
11580
11581 OpenBSD-Commit-ID: afc6f7ca216ccd821656d1c911d2a3deed685033
11582
11583commit eb347d086c35428c47fe52b34588cbbc9b49d9a6
11584Author: djm@openbsd.org <djm@openbsd.org>
11585Date: Thu Dec 27 03:37:49 2018 +0000
11586
11587 upstream: ssh_packet_set_state() now frees ssh->kex implicitly, so
11588
11589 don't do explicit kex_free() beforehand
11590
11591 OpenBSD-Regress-ID: f2f73bad47f62a2040ccba0a72cadcb12eda49cf
11592
11593commit bb542f0cf6f7511a22a08c492861e256a82376a9
11594Author: tedu@openbsd.org <tedu@openbsd.org>
11595Date: Sat Dec 15 00:50:21 2018 +0000
11596
11597 upstream: remove unused and problematic sudo clean. ok espie
11598
11599 OpenBSD-Regress-ID: ca90c20a15a85b661e13e98b80c10e65cd662f7b
11600
11601commit 0a843d9a0e805f14653a555f5c7a8ba99d62c12d
11602Author: djm@openbsd.org <djm@openbsd.org>
11603Date: Thu Dec 27 03:25:24 2018 +0000
11604
11605 upstream: move client/server SSH-* banners to buffers under
11606
11607 ssh->kex and factor out the banner exchange. This eliminates some common code
11608 from the client and server.
11609
11610 Also be more strict about handling \r characters - these should only
11611 be accepted immediately before \n (pointed out by Jann Horn).
11612
11613 Inspired by a patch from Markus Schmidt.
11614 (lots of) feedback and ok markus@
11615
11616 OpenBSD-Commit-ID: 1cc7885487a6754f63641d7d3279b0941890275b
11617
11618commit 434b587afe41c19391821e7392005068fda76248
11619Author: dtucker@openbsd.org <dtucker@openbsd.org>
11620Date: Fri Dec 7 04:36:09 2018 +0000
11621
11622 upstream: Fix calculation of initial bandwidth limits. Account for
11623
11624 written bytes before the initial timer check so that the first buffer written
11625 is accounted. Set the threshold after which the timer is checked such that
11626 the limit starts being computed as soon as possible, ie after the second
11627 buffer is written. This prevents an initial burst of traffic and provides a
11628 more accurate bandwidth limit. bz#2927, ok djm.
11629
11630 OpenBSD-Commit-ID: ff3ef76e4e43040ec198c2718d5682c36b255cb6
11631
11632commit a6a0788cbbe8dfce2819ee43b09c80725742e21c
11633Author: djm@openbsd.org <djm@openbsd.org>
11634Date: Fri Dec 7 03:39:40 2018 +0000
11635
11636 upstream: only consider the ext-info-c extension during the initial
11637
11638 KEX. It shouldn't be sent in subsequent ones, but if it is present we should
11639 ignore it.
11640
11641 This prevents sshd from sending a SSH_MSG_EXT_INFO for REKEX for buggy
11642 these clients. Reported by Jakub Jelen via bz2929; ok dtucker@
11643
11644 OpenBSD-Commit-ID: 91564118547f7807030ec537480303e2371902f9
11645
11646commit 63bba57a32c5bb6158d57cf4c47022daf89c14a0
11647Author: djm@openbsd.org <djm@openbsd.org>
11648Date: Fri Dec 7 03:33:18 2018 +0000
11649
11650 upstream: fix option letter pasto in previous
11651
11652 OpenBSD-Commit-ID: e26c8bf2f2a808f3c47960e1e490d2990167ec39
11653
11654commit 737e4edd82406595815efadc28ed5161b8b0c01a
11655Author: djm@openbsd.org <djm@openbsd.org>
11656Date: Fri Dec 7 03:32:26 2018 +0000
11657
11658 upstream: mention that the ssh-keygen -F (find host in
11659
11660 authorized_keys) and -R (remove host from authorized_keys) options may accept
11661 either a bare hostname or a [hostname]:port combo. bz#2935
11662
11663 OpenBSD-Commit-ID: 5535cf4ce78375968b0d2cd7aa316fa3eb176780
11664
11665commit 8a22ffaa13391cfe5b40316d938fe0fb931e9296
11666Author: Damien Miller <djm@mindrot.org>
11667Date: Fri Dec 7 15:41:16 2018 +1100
11668
11669 expose $SSH_CONNECTION in the PAM environment
11670
11671 This makes the connection 4-tuple available to PAM modules that
11672 wish to use it in decision-making. bz#2741
11673
11674commit a784fa8c7a7b084d63bae82ccfea902131bb45c5
11675Author: Kevin Adler <kadler@us.ibm.com>
11676Date: Wed Dec 12 22:12:45 2018 -0600
11677
11678 Don't pass loginmsg by address now that it's an sshbuf*
11679
11680 In 120a1ec74, loginmsg was changed from the legacy Buffer type
11681 to struct sshbuf*, but it missed changing calls to
11682 sys_auth_allowed_user and sys_auth_record_login which passed
11683 loginmsg by address. Now that it's a pointer, just pass it directly.
11684
11685 This only affects AIX, unless there are out of tree users.
11686
11687commit 285310b897969a63ef224d39e7cc2b7316d86940
11688Author: djm@openbsd.org <djm@openbsd.org>
11689Date: Fri Dec 7 02:31:20 2018 +0000
11690
11691 upstream: no need to allocate channels_pre/channels_post in
11692
11693 channel_init_channels() as we do it anyway in channel_handler_init() that we
11694 call at the end of the function. Fix from Markus Schmidt via bz#2938
11695
11696 OpenBSD-Commit-ID: 74893638af49e3734f1e33a54af1b7ea533373ed
11697
11698commit 87d6cf1cbc91df6815db8fe0acc7c910bc3d18e4
11699Author: djm@openbsd.org <djm@openbsd.org>
11700Date: Fri Nov 30 02:24:52 2018 +0000
11701
11702 upstream: don't attempt to connect to empty SSH_AUTH_SOCK; bz#293
11703
11704 OpenBSD-Commit-ID: 0e8fc8f19f14b21adef7109e0faa583d87c0e929
11705
11706commit 91b19198c3f604f5eef2c56dbe36f29478243141
11707Author: djm@openbsd.org <djm@openbsd.org>
11708Date: Wed Nov 28 06:00:38 2018 +0000
11709
11710 upstream: don't truncate user or host name in "user@host's
11711
11712 OpenBSD-Commit-ID: e6ca01a8d58004b7f2cac0b1b7ce8f87e425e360
11713
11714commit dd0cf6318d9b4b3533bda1e3bc021b2cd7246b7a
11715Author: jmc@openbsd.org <jmc@openbsd.org>
11716Date: Fri Nov 23 06:58:28 2018 +0000
11717
11718 upstream: tweak previous;
11719
11720 OpenBSD-Commit-ID: 08f096922eb00c98251501c193ff9e83fbb5de4f
11721
11722commit 8a85f5458d1c802471ca899c97f89946f6666e61
11723Author: Darren Tucker <dtucker@dtucker.net>
11724Date: Sun Nov 25 21:44:05 2018 +1100
11725
11726 Include stdio.h for FILE if needed.
11727
11728commit 16fb23f25454991272bfe4598cc05d20fcd25116
11729Author: Darren Tucker <dtucker@dtucker.net>
11730Date: Sun Nov 25 14:05:57 2018 +1100
11731
11732 Reverse order of OpenSSL init functions.
11733
11734 Try the new init function (OPENSSL_init_crypto) before falling back to
11735 the old one (OpenSSL_add_all_algorithms).
11736
11737commit 98f878d2272bf8dff21f2a0265d963c29e33fed2
11738Author: Darren Tucker <dtucker@dtucker.net>
11739Date: Sun Nov 25 14:05:08 2018 +1100
11740
11741 Improve OpenSSL_add_all_algorithms check.
11742
11743 OpenSSL_add_all_algorithms() may be a macro so check for that too.
11744
11745commit 9e34e0c59ab04514f9de9934a772283f7f372afe
11746Author: djm@openbsd.org <djm@openbsd.org>
11747Date: Fri Nov 23 05:08:07 2018 +0000
11748
11749 upstream: add a ssh_config "Match final" predicate
11750
11751 Matches in same pass as "Match canonical" but doesn't require
11752 hostname canonicalisation be enabled. bz#2906 ok markus
11753
11754 OpenBSD-Commit-ID: fba1dfe9f6e0cabcd0e2b3be13f7a434199beffa
11755
11756commit 4da58d58736b065b1182b563d10ad6765d811c6d
11757Author: dtucker@openbsd.org <dtucker@openbsd.org>
11758Date: Fri Nov 23 02:53:57 2018 +0000
11759
11760 upstream: Remove now-unneeded ifdef SIGINFO around handler since it is
11761
11762 now always used for SIGUSR1 even when SIGINFO is not defined. This will make
11763 things simpler in -portable.
11764
11765 OpenBSD-Regress-ID: 4ff0265b335820b0646d37beb93f036ded0dc43f
11766
11767commit c721d5877509875c8515df0215fa1dab862013bc
11768Author: Darren Tucker <dtucker@dtucker.net>
11769Date: Fri Nov 23 14:11:20 2018 +1100
11770
11771 Move RANDOM_SEED_SIZE outside ifdef.
11772
11773 RANDOM_SEED_SIZE is used by both the OpenSSL and non-OpenSSL code
11774 This fixes the build with configureed --without-openssl.
11775
11776commit deb51552c3ce7ce72c8d0232e4f36f2e7c118c7d
11777Author: Darren Tucker <dtucker@dtucker.net>
11778Date: Thu Nov 22 19:59:28 2018 +1100
11779
11780 Resync with OpenBSD by pulling in an ifdef SIGINFO.
11781
11782commit 28c7b2cd050f4416bfcf3869a20e3ea138aa52fe
11783Author: Damien Miller <djm@mindrot.org>
11784Date: Fri Nov 23 10:45:20 2018 +1100
11785
11786 fix configure test for OpenSSL version
11787
11788 square brackets in case statements may be eaten by autoconf.
11789
11790 Report and fix from Filipp Gunbin; tweaked by naddy@
11791
11792commit 42c5ec4b97b6a1bae70f323952d0646af16ce710
11793Author: Damien Miller <djm@mindrot.org>
11794Date: Fri Nov 23 10:40:06 2018 +1100
11795
11796 refactor libcrypto initialisation
11797
11798 Don't call OpenSSL_add_all_algorithms() unless OpenSSL actually
11799 supports it.
11800
11801 Move all libcrypto initialisation to a single function, and call that
11802 from seed_rng() that is called early in each tool's main().
11803
11804 Prompted by patch from Rosen Penev
11805
11806commit 5b60b6c02009547a3e2a99d4886965de2a4719da
11807Author: dtucker@openbsd.org <dtucker@openbsd.org>
11808Date: Thu Nov 22 08:59:11 2018 +0000
11809
11810 upstream: Output info on SIGUSR1 as well as
11811
11812 SIGINFO to resync with portable. (ID sync only).
11813
11814 OpenBSD-Regress-ID: 699d153e2de22dce51a1b270c40a98472d1a1b16
11815
11816commit e4ae345dc75b34fd870c2e8690d831d2c1088eb7
11817Author: dtucker@openbsd.org <dtucker@openbsd.org>
11818Date: Thu Nov 22 08:48:32 2018 +0000
11819
11820 upstream: Append pid to temp files in /var/run and set a cleanup
11821
11822 trap for them. This allows multiple instances of tests to run without
11823 colliding.
11824
11825 OpenBSD-Regress-ID: 57add105ecdfc54752d8003acdd99eb68c3e0b4c
11826
11827commit f72d0f52effca5aa20a193217346615ecd3eed53
11828Author: dtucker@openbsd.org <dtucker@openbsd.org>
11829Date: Wed Oct 31 11:09:27 2018 +0000
11830
11831 upstream: UsePrivilegeSeparation no is deprecated
11832
11833 test "yes" and "sandbox".
11834
11835 OpenBSD-Regress-ID: 80e685ed8990766527dc629b1affc09a75bfe2da
11836
11837commit 35d0e5fefc419bddcbe09d7fc163d8cd3417125b
11838Author: djm@openbsd.org <djm@openbsd.org>
11839Date: Wed Oct 17 23:28:05 2018 +0000
11840
11841 upstream: add some knobs:
11842
11843 UNITTEST_FAST?= no # Skip slow tests (e.g. less intensive fuzzing).
11844 UNITTEST_SLOW?= no # Include slower tests (e.g. more intensive fuzzing).
11845 UNITTEST_VERBOSE?= no # Verbose test output (inc. per-test names).
11846
11847 useful if you want to run the tests as a smoke test to exercise the
11848 functionality without waiting for all the fuzzers to run.
11849
11850 OpenBSD-Regress-ID: e04d82ebec86068198cd903acf1c67563c57315e
11851
11852commit c1941293d9422a14dda372b4c21895e72aa7a063
11853Author: Darren Tucker <dtucker@dtucker.net>
11854Date: Thu Nov 22 15:52:26 2018 +1100
11855
11856 Resync Makefile.inc with upstream.
11857
11858 It's unused in -portable, but having it out of sync makes other syncs
11859 fail to apply.
11860
11861commit 928f1231f65f88cd4c73e6e0edd63d2cf6295d77
11862Author: djm@openbsd.org <djm@openbsd.org>
11863Date: Mon Nov 19 04:12:32 2018 +0000
11864
11865 upstream: silence (to log level debug2) failure messages when
11866
11867 loading the default hostkeys. Hostkeys explicitly specified in the
11868 configuration or on the command-line are still reported as errors, and
11869 failure to load at least one host key remains a fatal error.
11870 MIME-Version: 1.0
11871 Content-Type: text/plain; charset=UTF-8
11872 Content-Transfer-Encoding: 8bit
11873
11874 Based on patch from Dag-Erling Smørgrav via
11875 https://github.com/openssh/openssh-portable/pull/103
11876
11877 ok markus@
11878
11879 OpenBSD-Commit-ID: ffc2e35a75d1008effaf05a5e27425041c27b684
11880
11881commit 7fca94edbe8ca9f879da9fdd2afd959c4180f4c7
11882Author: dtucker@openbsd.org <dtucker@openbsd.org>
11883Date: Sun Nov 18 22:43:29 2018 +0000
11884
11885 upstream: Fix inverted logic for redirecting ProxyCommand stderr to
11886
11887 /dev/null. Fixes mosh in proxycommand mode that was broken by the previous
11888 ProxyCommand change that was reported by matthieu@. ok djm@ danj@
11889
11890 OpenBSD-Commit-ID: c6fc9641bc250221a0a81c6beb2e72d603f8add6
11891
11892commit ccef7c4faf914993b53035cd2b25ce02ab039c9d
11893Author: djm@openbsd.org <djm@openbsd.org>
11894Date: Fri Nov 16 06:17:38 2018 +0000
11895
11896 upstream: redirect stderr of ProxyCommands to /dev/null when ssh is
11897
11898 started with ControlPersist; based on patch from Steffen Prohaska
11899
11900 OpenBSD-Commit-ID: 1bcaa14a03ae80369d31021271ec75dce2597957
11901
11902commit 15182fd96845a03216d7ac5a2cf31c4e77e406e3
11903Author: djm@openbsd.org <djm@openbsd.org>
11904Date: Fri Nov 16 06:10:29 2018 +0000
11905
11906 upstream: make grandparent-parent-child sshbuf chains robust to
11907
11908 use-after-free faults if the ancestors are freed before the descendents.
11909 Nothing in OpenSSH uses this deallocation pattern. Reported by Jann Horn
11910
11911 OpenBSD-Commit-ID: d93501d1d2734245aac802a252b9bb2eccdba0f2
11912
11913commit 2a35862e664afde774d4a72497d394fe7306ccb5
11914Author: djm@openbsd.org <djm@openbsd.org>
11915Date: Fri Nov 16 03:26:01 2018 +0000
11916
11917 upstream: use path_absolute() for pathname checks; from Manoj Ampalam
11918
11919 OpenBSD-Commit-ID: 482ce71a5ea5c5f3bc4d00fd719481a6a584d925
11920
11921commit d0d1dfa55be1c5c0d77ab3096b198a64235f936d
11922Author: Darren Tucker <dtucker@dtucker.net>
11923Date: Fri Nov 16 14:11:44 2018 +1100
11924
11925 Test for OPENSSL_init_crypto before using.
11926
11927 Check for the presence of OPENSSL_init_crypto and all the flags we want
11928 before trying to use it (bz#2931).
11929
11930commit 6010c0303a422a9c5fa8860c061bf7105eb7f8b2
11931Author: djm@openbsd.org <djm@openbsd.org>
11932Date: Fri Nov 16 03:03:10 2018 +0000
11933
11934 upstream: disallow empty incoming filename or ones that refer to the
11935
11936 current directory; based on report/patch from Harry Sintonen
11937
11938 OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9
11939
11940commit aaed635e3a401cfcc4cc97f33788179c458901c3
11941Author: djm@openbsd.org <djm@openbsd.org>
11942Date: Fri Nov 16 02:46:20 2018 +0000
11943
11944 upstream: fix bug in client that was keeping a redundant ssh-agent
11945
11946 socket around for the life of the connection; bz#2912; reported by Simon
11947 Tatham; ok dtucker@
11948
11949 OpenBSD-Commit-ID: 4ded588301183d343dce3e8c5fc1398e35058478
11950
11951commit e76135e3007f1564427b2956c628923d8dc2f75a
11952Author: djm@openbsd.org <djm@openbsd.org>
11953Date: Fri Nov 16 02:43:56 2018 +0000
11954
11955 upstream: fix bug in HostbasedAcceptedKeyTypes and
11956
11957 PubkeyAcceptedKeyTypes options. If only RSA-SHA2 siganture types were
11958 specified, then authentication would always fail for RSA keys as the monitor
11959 checks only the base key (not the signature algorithm) type against
11960 *AcceptedKeyTypes. bz#2746; reported by Jakub Jelen; ok dtucker
11961
11962 OpenBSD-Commit-ID: 117bc3dc54578dbdb515a1d3732988cb5b00461b
11963
11964commit 5c1a63562cac0574c226224075b0829a50b48c9d
11965Author: djm@openbsd.org <djm@openbsd.org>
11966Date: Fri Nov 16 02:30:20 2018 +0000
11967
11968 upstream: support a prefix of '@' to suppress echo of sftp batch
11969
11970 commands; bz#2926; ok dtucker@
11971
11972 OpenBSD-Commit-ID: 9d635636bc84aeae796467e059f7634de990a79d
11973
11974commit 90ef45f7aac33eaf55ec344e101548a01e570f29
11975Author: schwarze@openbsd.org <schwarze@openbsd.org>
11976Date: Tue Nov 13 07:22:45 2018 +0000
11977
11978 upstream: fix markup error (missing blank before delimiter); from
11979
11980 Mike Frysinger <vapier at gentoo dot org>
11981
11982 OpenBSD-Commit-ID: 1bc5392f795ca86318d695e0947eaf71a5a4f6d9
11983
11984commit 960e7c672dc106f3b759c081de3edb4d1138b36e
11985Author: djm@openbsd.org <djm@openbsd.org>
11986Date: Fri Nov 9 02:57:58 2018 +0000
11987
11988 upstream: typo in error message; caught by Debian lintian, via
11989
11990 Colin Watson
11991
11992 OpenBSD-Commit-ID: bff614c7bd1f4ca491a84e9b5999f848d0d66758
11993
11994commit 81f1620c836e6c79c0823ba44acca605226a80f1
11995Author: djm@openbsd.org <djm@openbsd.org>
11996Date: Fri Nov 9 02:56:22 2018 +0000
11997
11998 upstream: correct local variable name; from yawang AT microsoft.com
11999
12000 OpenBSD-Commit-ID: a0c228390856a215bb66319c89cb3959d3af8c87
12001
12002commit 1293740e800fa2e5ccd38842a2e4970c6f3b9831
12003Author: dtucker@openbsd.org <dtucker@openbsd.org>
12004Date: Wed Oct 31 11:20:05 2018 +0000
12005
12006 upstream: Import new moduli.
12007
12008 OpenBSD-Commit-ID: c07772f58028fda683ee6abd41c73da3ff70d403
12009
12010commit 46925ae28e53fc9add336a4fcdb7ed4b86c3591c
12011Author: djm@openbsd.org <djm@openbsd.org>
12012Date: Fri Oct 26 01:23:03 2018 +0000
12013
12014 upstream: mention ssh-ed25519-cert-v01@openssh.com in list of cert
12015
12016 key type at start of doc
12017
12018 OpenBSD-Commit-ID: b46b0149256d67f05f2d5d01e160634ed1a67324
12019
12020commit 8d8340e2c215155637fe19cb1a837f71b2d55f7b
12021Author: Darren Tucker <dtucker@dtucker.net>
12022Date: Fri Nov 16 13:32:13 2018 +1100
12023
12024 Remove fallback check for /usr/local/ssl.
12025
12026 If configure could not find a working OpenSSL installation it would
12027 fall back to checking in /usr/local/ssl. This made sense back when
12028 systems did not ship with OpenSSL, but most do and OpenSSL 1.1 doesn't
12029 use that as a default any more. The fallback behaviour also meant
12030 that if you pointed --with-ssl-dir at a specific directory and it
12031 didn't work, it would silently use either the system libs or the ones
12032 in /usr/local/ssl. If you want to use /usr/local/ssl you'll need to
12033 pass configure --with-ssl-dir=/usr/local/ssl. ok djm@
12034
12035commit ce93472134fb22eff73edbcd173a21ae38889331
12036Author: Darren Tucker <dtucker@dtucker.net>
12037Date: Fri Nov 16 12:44:01 2018 +1100
12038
12039 Fix check for OpenSSL 1.0.1 exactly.
12040
12041 Both INSTALL and configure.ac claim OpenSSL >= 1.0.1 is supported; fix
12042 compile-time check for 1.0.1 to match.
12043
12044commit f2970868f86161a22b2c377057fa3891863a692a
12045Author: Darren Tucker <dtucker@dtucker.net>
12046Date: Sun Nov 11 15:58:20 2018 +1100
12047
12048 Improve warnings in cygwin service setup.
12049
12050 bz#2922, patch from vinschen at redhat.com.
12051
12052commit bd2d54fc1eee84bf87158a1277a50e6c8a303339
12053Author: Darren Tucker <dtucker@dtucker.net>
12054Date: Sun Nov 11 15:54:54 2018 +1100
12055
12056 Remove hardcoded service name in cygwin setup.
12057
12058 bz#2922, patch from Christian.Lupien at USherbrooke.ca, sanity check
12059 by vinschen at redhat.com.
12060
12061commit d0153c77bf7964e694f1d26c56c41a571b8e9466
12062Author: Dag-Erling Smørgrav <des@des.no>
12063Date: Tue Oct 9 23:03:40 2018 +0200
12064
12065 AC_CHECK_SIZEOF() no longer needs a second argument.
12066
12067commit 9b47b083ca9d866249ada9f02dbd57c87b13806e
12068Author: Manoj Ampalam <manojamp@microsoft.com>
12069Date: Thu Nov 8 22:41:59 2018 -0800
12070
12071 Fix error message w/out nistp521.
12072
12073 Correct error message when OpenSSL doesn't support certain ECDSA key
12074 lengths.
12075
12076commit 624d19ac2d56fa86a22417c35536caceb3be346f
12077Author: Eneas U de Queiroz <cote2004-github@yahoo.com>
12078Date: Tue Oct 9 16:17:42 2018 -0300
12079
12080 fix compilation with openssl built without ECC
12081
12082 ECDSA code in openssh-compat.h and libressl-api-compat.c needs to be
12083 guarded by OPENSSL_HAS_ECC
12084
12085 Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
12086
12087commit 1801cd11d99d05a66ab5248c0555f55909a355ce
12088Author: Darren Tucker <dtucker@dtucker.net>
12089Date: Thu Nov 8 15:03:11 2018 +1100
12090
12091 Simplify OpenSSL 1.1 function checks.
12092
12093 Replace AC_SEARCH_LIBS checks for OpenSSL 1.1 functions with a single
12094 AC_CHECK_FUNCS. ok djm@
12095
12096commit bc32f118d484e4d71d2a0828fd4eab7e4176c9af
12097Author: Darren Tucker <dtucker@dtucker.net>
12098Date: Mon Nov 5 17:31:24 2018 +1100
12099
12100 Fix pasto for HAVE_EVP_CIPHER_CTX_SET_IV.
12101
12102 Prevents unnecessary redefinition. Patch from mforney at mforney.org.
12103
12104commit 3719df60c66abc4b47200d41f571d67772f293ba
12105Author: Darren Tucker <dtucker@dtucker.net>
12106Date: Wed Oct 31 22:21:03 2018 +1100
12107
12108 Import new moduli.
12109
12110commit 595605d4abede475339d6a1f07a8cc674c11d1c3
12111Author: Darren Tucker <dtucker@dtucker.net>
12112Date: Sun Oct 28 15:18:13 2018 +1100
12113
12114 Update check for minimum OpenSSL version.
12115
12116commit 6ab75aba340d827140d7ba719787aabaf39a0355
12117Author: Darren Tucker <dtucker@dtucker.net>
12118Date: Sun Oct 28 15:16:31 2018 +1100
12119
12120 Update required OpenSSL versions to match current.
12121
12122commit c801b0e38eae99427f37869370151b78f8e15c5d
12123Author: Darren Tucker <dtucker@dtucker.net>
12124Date: Sun Oct 28 14:34:12 2018 +1100
12125
12126 Use detected version functions in openssl compat.
12127
12128 Use detected functions in compat layer instead of guessing based on
12129 versions. Really fixes builds with LibreSSL, not just configure.
12130
12131commit 262d81a259d4aa1507c709ec9d5caa21c7740722
12132Author: Darren Tucker <dtucker@dtucker.net>
12133Date: Sat Oct 27 16:45:59 2018 +1100
12134
12135 Check for the existence of openssl version funcs.
12136
12137 Check for the existence of openssl version functions and use the ones
12138 detected instead of trying to guess based on the int32 version
12139 identifier. Fixes builds with LibreSSL.
12140
12141commit 406a24b25d6a2bdd70cacd16de7e899dcb2a8829
12142Author: Damien Miller <djm@mindrot.org>
12143Date: Fri Oct 26 13:43:28 2018 +1100
12144
12145 fix builds on OpenSSL <= 1.0.x
12146
12147 I thought OpenSSL 1.0.x offered the new-style OpenSSL_version_num() API
12148 to obtain version number, but they don't.
12149
12150commit 859754bdeb41373d372e36b5dc89c547453addb3
12151Author: Damien Miller <djm@mindrot.org>
12152Date: Tue Oct 23 17:10:41 2018 +1100
12153
12154 remove remaining references to SSLeay
12155
12156 Prompted by Rosen Penev
12157
12158commit b9fea45a68946c8dfeace72ad1f6657c18f2a98a
12159Author: Damien Miller <djm@mindrot.org>
12160Date: Tue Oct 23 17:10:35 2018 +1100
12161
12162 regen depend
12163
12164commit a65784c9f9c5d00cf1a0e235090170abc8d07c73
12165Author: djm@openbsd.org <djm@openbsd.org>
12166Date: Tue Oct 23 05:56:35 2018 +0000
12167
12168 upstream: refer to OpenSSL not SSLeay;
12169
12170 we're old, but we don't have to act it
12171
12172 OpenBSD-Commit-ID: 9ca38d11f8ed19e61a55108d1e892d696cee08ec
12173
12174commit c0a35265907533be10ca151ac797f34ae0d68969
12175Author: Damien Miller <djm@mindrot.org>
12176Date: Mon Oct 22 11:22:50 2018 +1100
12177
12178 fix compile for openssl 1.0.x w/ --with-ssl-engine
12179
12180 bz#2921, patch from cotequeiroz
12181
12182commit 31b49525168245abe16ad49d7b7f519786b53a38
12183Author: Darren Tucker <dtucker@dtucker.net>
12184Date: Mon Oct 22 20:05:18 2018 +1100
12185
12186 Include openssl compatibility.
12187
12188 Patch from rosenp at gmail.com via openssh-unix-dev.
12189
12190commit a4fc253f5f44f0e4c47aafe2a17d2c46481d3c04
12191Author: djm@openbsd.org <djm@openbsd.org>
12192Date: Fri Oct 19 03:12:42 2018 +0000
12193
12194 upstream: when printing certificate contents "ssh-keygen -Lf
12195
12196 /path/certificate", include the algorithm that the CA used to sign the cert.
12197
12198 OpenBSD-Commit-ID: 1ea20b5048a851a7a0758dcb9777a211a2c0dddd
12199
12200commit 83b3d99d2b47321b7ebb8db6f6ea04f3808bc069
12201Author: florian@openbsd.org <florian@openbsd.org>
12202Date: Mon Oct 15 11:28:50 2018 +0000
12203
12204 upstream: struct sockaddr_storage is guaranteed to be large enough,
12205
12206 no need to check the size. OK kn, deraadt
12207
12208 OpenBSD-Commit-ID: 0aa56e92eb49c79f495b31a5093109ec5841f439
12209
12210commit aede1c34243a6f7feae2fb2cb686ade5f9be6f3d
12211Author: Damien Miller <djm@mindrot.org>
12212Date: Wed Oct 17 11:01:20 2018 +1100
12213
12214 Require OpenSSL 1.1.x series 1.1.0g or greater
12215
12216 Previous versions have a bug with EVP_CipherInit() when passed a
12217 NULL EVP_CIPHER, per https://github.com/openssl/openssl/pull/4613
12218
12219 ok dtucker@
12220
12221commit 08300c211409c212e010fe2e2f2883e573a04ce2
12222Author: Damien Miller <djm@mindrot.org>
12223Date: Wed Oct 17 08:12:02 2018 +1100
12224
12225 unbreak compilation with --with-ssl-engine
12226
12227 Missing last argument to OPENSSL_init_crypto()
12228
12229commit 1673274aee67ce0eb6f00578b6f3d2bcbd58f937
12230Author: Darren Tucker <dtucker@dtucker.net>
12231Date: Tue Oct 16 14:45:57 2018 +1100
12232
12233 Remove gcc spectre mitigation flags.
12234
12235 Current impementions of the gcc spectre mitigation flags cause
12236 miscompilations when combined with other flags and do not provide much
12237 protection. Found by fweimer at redhat.com, ok djm@
12238
12239commit 4e23deefd7959ef83c73ed9cce574423438f6133
12240Author: Damien Miller <djm@mindrot.org>
12241Date: Tue Oct 16 10:51:52 2018 +1100
12242
12243 Avoid deprecated OPENSSL_config when using 1.1.x
12244
12245 OpenSSL 1.1.x soft-deprecated OPENSSL_config in favour of
12246 OPENSSL_init_crypto; pointed out by Jakub Jelen
12247
12248commit 797cdd9c8468ed1125ce60d590ae3f1397866af4
12249Author: Darren Tucker <dtucker@dtucker.net>
12250Date: Fri Oct 12 16:58:47 2018 +1100
12251
12252 Don't avoid our *sprintf replacements.
12253
12254 Don't let systems with broken printf(3) avoid our replacements
12255 via asprintf(3)/vasprintf(3) calling libc internally. From djm@
12256
12257commit e526127cbd2f8ad88fb41229df0c9b850c722830
12258Author: Darren Tucker <dtucker@dtucker.net>
12259Date: Fri Oct 12 16:43:35 2018 +1100
12260
12261 Check if snprintf understands %zu.
12262
12263 If the platforms snprintf and friends don't understand %zu, use the
12264 compat replacement. Prevents segfaults on those platforms.
12265
12266commit cf39f875191708c5f2f1a3c1c9019f106e74aea3
12267Author: Damien Miller <djm@mindrot.org>
12268Date: Fri Oct 12 09:48:05 2018 +1100
12269
12270 remove stale link, tweak
12271
12272commit a7205e68decf7de2005810853b4ce6b222b65e2a
12273Author: Damien Miller <djm@mindrot.org>
12274Date: Fri Oct 12 09:47:20 2018 +1100
12275
12276 update version numbers ahead of release
12277
12278commit 1a4a9cf80f5b92b9d1dadd0bfa8867c04d195391
12279Author: djm@openbsd.org <djm@openbsd.org>
12280Date: Thu Oct 11 03:48:04 2018 +0000
12281
12282 upstream: don't send new-style rsa-sha2-*-cert-v01@openssh.com names to
12283
12284 older OpenSSH that can't handle them. spotted by Adam Eijdenberg; ok dtucker
12285
12286 OpenBSD-Commit-ID: 662bbc402e3d7c9b6c322806269698106a6ae631
12287
12288commit dc8ddcdf1a95e011c263486c25869bb5bf4e30ec
12289Author: Damien Miller <djm@mindrot.org>
12290Date: Thu Oct 11 13:08:59 2018 +1100
12291
12292 update depends
12293
12294commit 26841ac265603fd2253e6832e03602823dbb4022
12295Author: Damien Miller <djm@mindrot.org>
12296Date: Thu Oct 11 13:02:11 2018 +1100
12297
12298 some more duplicated key algorithm lines
12299
12300 From Adam Eijdenberg
12301
12302commit 5d9d17603bfbb620195a4581025052832b4c4adc
12303Author: Damien Miller <djm@mindrot.org>
12304Date: Thu Oct 11 11:56:36 2018 +1100
12305
12306 fix duplicated algorithm specification lines
12307
12308 Spotted by Adam Eijdenberg
12309
12310commit ebfafd9c7a5b2a7fb515ee95dbe0e44e11d0a663
12311Author: djm@openbsd.org <djm@openbsd.org>
12312Date: Thu Oct 11 00:52:46 2018 +0000
12313
12314 upstream: typo in plain RSA algorithm counterpart names for
12315
12316 certificates; spotted by Adam Eijdenberg; ok dtucker@
12317
12318 OpenBSD-Commit-ID: bfcdeb6f4fc9e7607f5096574c8f118f2e709e00
12319
12320commit c29b111e7d87c2324ff71c80653dd8da168c13b9
12321Author: Damien Miller <djm@mindrot.org>
12322Date: Thu Oct 11 11:29:35 2018 +1100
12323
12324 check pw_passwd != NULL here too
12325
12326 Again, for systems with broken NIS implementations.
12327
12328 Prompted by coolbugcheckers AT gmail.com
12329
12330commit fe8e8f349a553ef4c567acd418aac769a82b7729
12331Author: Damien Miller <djm@mindrot.org>
12332Date: Thu Oct 11 11:03:15 2018 +1100
12333
12334 check for NULL return from shadow_pw()
12335
12336 probably unreachable on this platform; pointed out by
12337 coolbugcheckers AT gmail.com
12338
12339commit acc59cbe7a1fb169e1c3caba65a39bd74d6e030d
12340Author: deraadt@openbsd.org <deraadt@openbsd.org>
12341Date: Wed Oct 10 16:43:49 2018 +0000
12342
12343 upstream: introducing openssh 7.9
12344
12345 OpenBSD-Commit-ID: 42d526a9fe01a40dd299ac58014d3349adf40e25
12346
12347commit 12731158c75c8760a8bea06350eeb3e763fe1a07
12348Author: Damien Miller <djm@mindrot.org>
12349Date: Thu Oct 11 10:29:29 2018 +1100
12350
12351 supply callback to PEM_read_bio_PrivateKey
12352
12353 OpenSSL 1.1.0i has changed the behaviour of their PEM APIs,
12354 so that empty passphrases are interpreted differently. This
12355 probabalistically breaks loading some keys, because the PEM format
12356 is terrible and doesn't include a proper MAC.
12357
12358 Avoid this by providing a basic callback to avoid passing empty
12359 passphrases to OpenSSL in cases where one is required.
12360
12361 Based on patch from Jakub Jelen in bz#2913; ok dtucker@
12362
12363commit d1d301a1dd5d6cc3a9ed93ab7ab09dda4cb456e0
12364Author: Damien Miller <djm@mindrot.org>
12365Date: Wed Oct 10 14:57:00 2018 +1100
12366
12367 in pick_salt() avoid dereference of NULL passwords
12368
12369 Apparently some NIS implementations can leave pw->pw_passwd (or the
12370 shadow equivalent) NULL.
12371
12372 bz#2909; based on patch from Todd Eigenschink
12373
12374commit edbb6febccee084d212fdc0cb05b40cb1c646ab1
12375Author: djm@openbsd.org <djm@openbsd.org>
12376Date: Tue Oct 9 05:42:23 2018 +0000
12377
12378 upstream: Treat all PEM_read_bio_PrivateKey() errors when a passphrase
12379
12380 is specified as "incorrect passphrase" instead of trying to choose between
12381 that and "invalid format".
12382
12383 libcrypto can return ASN1 parsing errors rather than the expected
12384 decrypt error in certain infrequent cases when trying to decrypt/parse
12385 PEM private keys when supplied with an invalid passphrase.
12386
12387 Report and repro recipe from Thomas Deutschmann in bz#2901
12388
12389 ok markus@
12390
12391 OpenBSD-Commit-ID: b1d4cd92395f9743f81c0d23aab2524109580870
12392
12393commit 2581333d564d8697837729b3d07d45738eaf5a54
12394Author: naddy@openbsd.org <naddy@openbsd.org>
12395Date: Fri Oct 5 14:26:09 2018 +0000
12396
12397 upstream: Support using service names for port numbers.
12398
12399 * Try to resolve a port specification with getservbyname(3) if a
12400 numeric conversion fails.
12401 * Make the "Port" option in ssh_config handle its argument as a
12402 port rather than a plain integer.
12403
12404 ok dtucker@ deraadt@
12405
12406 OpenBSD-Commit-ID: e7f03633133205ab3dfbc67f9df7475fabae660d
12407
12408commit e0d6501e86734c48c8c503f81e1c0926e98c5c4c
12409Author: djm@openbsd.org <djm@openbsd.org>
12410Date: Thu Oct 4 07:47:35 2018 +0000
12411
12412 upstream: when the peer sends a channel-close message, make sure we
12413
12414 close the local extended read fd (stderr) along with the regular read fd
12415 (stdout). Avoids weird stuck processed in multiplexing mode.
12416
12417 Report and analysis by Nelson Elhage and Geoffrey Thomas in bz#2863
12418
12419 ok dtucker@ markus@
12420
12421 OpenBSD-Commit-ID: a48a2467fe938de4de69d2e7193d5fa701f12ae9
12422
12423commit 6f1aabb128246f445e33b8844fad3de9cb1d18cb
12424Author: djm@openbsd.org <djm@openbsd.org>
12425Date: Thu Oct 4 01:04:52 2018 +0000
12426
12427 upstream: factor out channel status formatting from
12428
12429 channel_open_message() so we can use it in other debug messages
12430
12431 OpenBSD-Commit-ID: 9c3903ca28fcabad57f566c9d0045b41ab7d52ba
12432
12433commit f1dd179e122bdfdb7ca3072d9603607740efda05
12434Author: djm@openbsd.org <djm@openbsd.org>
12435Date: Thu Oct 4 00:10:11 2018 +0000
12436
12437 upstream: include a little more information about the status and
12438
12439 disposition of channel's extended (stderr) fd; makes debugging some things a
12440 bit easier. No behaviour change.
12441
12442 OpenBSD-Commit-ID: 483eb6467dc7d5dbca8eb109c453e7a43075f7ce
12443
12444commit 2d1428b11c8b6f616f070f2ecedce12328526944
12445Author: djm@openbsd.org <djm@openbsd.org>
12446Date: Thu Oct 4 00:04:41 2018 +0000
12447
12448 upstream: explicit_bzero here to be consistent with other kex*.c;
12449
12450 report from coolbugcheckers AT gmail.com
12451
12452 OpenBSD-Commit-ID: a90f146c5b5f5b1408700395e394f70b440856cb
12453
12454commit 5eff5b858e717e901e6af6596306a114de9f79f2
12455Author: djm@openbsd.org <djm@openbsd.org>
12456Date: Wed Oct 3 06:38:35 2018 +0000
12457
12458 upstream: Allow ssh_config IdentityAgent directive to accept
12459
12460 environment variable names as well as explicit paths. ok dtucker@
12461
12462 OpenBSD-Commit-ID: 2f0996e103876c53d8c9dd51dcce9889d700767b
12463
12464commit a46ac4d86b25414d78b632e8173578b37e5f8a83
12465Author: djm@openbsd.org <djm@openbsd.org>
12466Date: Tue Oct 2 12:51:58 2018 +0000
12467
12468 upstream: mention INFO@openssh.com for sending SIGINFO
12469
12470 OpenBSD-Commit-ID: 132471eeb0df658210afd27852fe65131b26e900
12471
12472commit ff3a411cae0b484274b7900ef52ff4dad3e12876
12473Author: Damien Miller <djm@mindrot.org>
12474Date: Tue Oct 2 22:49:40 2018 +1000
12475
12476 only support SIGINFO on systems with SIGINFO
12477
12478commit cd98925c6405e972dc9f211afc7e75e838abe81c
12479Author: djm@openbsd.org <djm@openbsd.org>
12480Date: Tue Oct 2 12:40:07 2018 +0000
12481
12482 upstream: Add server support for signalling sessions via the SSH
12483
12484 channel/ session protocol. Signalling is only supported to sesssions that are
12485 not subsystems and were not started with a forced command.
12486
12487 Long requested in bz#1424
12488
12489 Based on a patch from markus@ and reworked by dtucker@;
12490 ok markus@ dtucker@
12491
12492 OpenBSD-Commit-ID: 4bea826f575862eaac569c4bedd1056a268be1c3
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 000000000..c1b774884
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,15 @@
1# generated automatically by aclocal 1.16.2 -*- Autoconf -*-
2
3# Copyright (C) 1996-2020 Free Software Foundation, Inc.
4
5# This file is free software; the Free Software Foundation
6# gives unlimited permission to copy and/or distribute it,
7# with or without modifications, as long as this notice is preserved.
8
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12# PARTICULAR PURPOSE.
13
14m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15m4_include([m4/openssh.m4])
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 000000000..18e0b90c2
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,2059 @@
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 `fido_cred_prot' function. */
577#undef HAVE_FIDO_CRED_PROT
578
579/* Define to 1 if you have the `fido_cred_set_prot' function. */
580#undef HAVE_FIDO_CRED_SET_PROT
581
582/* Define to 1 if you have the `fido_dev_get_touch_begin' function. */
583#undef HAVE_FIDO_DEV_GET_TOUCH_BEGIN
584
585/* Define to 1 if you have the `fido_dev_get_touch_status' function. */
586#undef HAVE_FIDO_DEV_GET_TOUCH_STATUS
587
588/* Define to 1 if you have the `fido_dev_supports_cred_prot' function. */
589#undef HAVE_FIDO_DEV_SUPPORTS_CRED_PROT
590
591/* Define to 1 if you have the <floatingpoint.h> header file. */
592#undef HAVE_FLOATINGPOINT_H
593
594/* Define to 1 if you have the `flock' function. */
595#undef HAVE_FLOCK
596
597/* Define to 1 if you have the `fmt_scaled' function. */
598#undef HAVE_FMT_SCALED
599
600/* Define to 1 if you have the `fnmatch' function. */
601#undef HAVE_FNMATCH
602
603/* Define to 1 if you have the <fnmatch.h> header file. */
604#undef HAVE_FNMATCH_H
605
606/* Define to 1 if you have the `freeaddrinfo' function. */
607#undef HAVE_FREEADDRINFO
608
609/* Define to 1 if you have the `freezero' function. */
610#undef HAVE_FREEZERO
611
612/* Define to 1 if the system has the type `fsblkcnt_t'. */
613#undef HAVE_FSBLKCNT_T
614
615/* Define to 1 if the system has the type `fsfilcnt_t'. */
616#undef HAVE_FSFILCNT_T
617
618/* Define to 1 if you have the `fstatfs' function. */
619#undef HAVE_FSTATFS
620
621/* Define to 1 if you have the `fstatvfs' function. */
622#undef HAVE_FSTATVFS
623
624/* Define to 1 if you have the `futimes' function. */
625#undef HAVE_FUTIMES
626
627/* Define to 1 if you have the `gai_strerror' function. */
628#undef HAVE_GAI_STRERROR
629
630/* Define to 1 if you have the `getaddrinfo' function. */
631#undef HAVE_GETADDRINFO
632
633/* Define to 1 if you have the `getaudit' function. */
634#undef HAVE_GETAUDIT
635
636/* Define to 1 if you have the `getaudit_addr' function. */
637#undef HAVE_GETAUDIT_ADDR
638
639/* Define to 1 if you have the `getcwd' function. */
640#undef HAVE_GETCWD
641
642/* Define to 1 if you have the `getgrouplist' function. */
643#undef HAVE_GETGROUPLIST
644
645/* Define to 1 if you have the `getgrset' function. */
646#undef HAVE_GETGRSET
647
648/* Define to 1 if you have the `getlastlogxbyname' function. */
649#undef HAVE_GETLASTLOGXBYNAME
650
651/* Define to 1 if you have the `getline' function. */
652#undef HAVE_GETLINE
653
654/* Define to 1 if you have the `getluid' function. */
655#undef HAVE_GETLUID
656
657/* Define to 1 if you have the `getnameinfo' function. */
658#undef HAVE_GETNAMEINFO
659
660/* Define to 1 if you have the `getopt' function. */
661#undef HAVE_GETOPT
662
663/* Define to 1 if you have the <getopt.h> header file. */
664#undef HAVE_GETOPT_H
665
666/* Define if your getopt(3) defines and uses optreset */
667#undef HAVE_GETOPT_OPTRESET
668
669/* Define if your libraries define getpagesize() */
670#undef HAVE_GETPAGESIZE
671
672/* Define to 1 if you have the `getpeereid' function. */
673#undef HAVE_GETPEEREID
674
675/* Define to 1 if you have the `getpeerucred' function. */
676#undef HAVE_GETPEERUCRED
677
678/* Define to 1 if you have the `getpgid' function. */
679#undef HAVE_GETPGID
680
681/* Define to 1 if you have the `getpgrp' function. */
682#undef HAVE_GETPGRP
683
684/* Define to 1 if you have the `getpwanam' function. */
685#undef HAVE_GETPWANAM
686
687/* Define to 1 if you have the `getrandom' function. */
688#undef HAVE_GETRANDOM
689
690/* Define to 1 if you have the `getrlimit' function. */
691#undef HAVE_GETRLIMIT
692
693/* Define if getrrsetbyname() exists */
694#undef HAVE_GETRRSETBYNAME
695
696/* Define to 1 if you have the `getseuserbyname' function. */
697#undef HAVE_GETSEUSERBYNAME
698
699/* Define to 1 if you have the `getsid' function. */
700#undef HAVE_GETSID
701
702/* Define to 1 if you have the `gettimeofday' function. */
703#undef HAVE_GETTIMEOFDAY
704
705/* Define to 1 if you have the `getttyent' function. */
706#undef HAVE_GETTTYENT
707
708/* Define to 1 if you have the `getutent' function. */
709#undef HAVE_GETUTENT
710
711/* Define to 1 if you have the `getutid' function. */
712#undef HAVE_GETUTID
713
714/* Define to 1 if you have the `getutline' function. */
715#undef HAVE_GETUTLINE
716
717/* Define to 1 if you have the `getutxent' function. */
718#undef HAVE_GETUTXENT
719
720/* Define to 1 if you have the `getutxid' function. */
721#undef HAVE_GETUTXID
722
723/* Define to 1 if you have the `getutxline' function. */
724#undef HAVE_GETUTXLINE
725
726/* Define to 1 if you have the `getutxuser' function. */
727#undef HAVE_GETUTXUSER
728
729/* Define to 1 if you have the `get_default_context_with_level' function. */
730#undef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
731
732/* Define to 1 if you have the `glob' function. */
733#undef HAVE_GLOB
734
735/* Define to 1 if you have the <glob.h> header file. */
736#undef HAVE_GLOB_H
737
738/* Define to 1 if you have the `group_from_gid' function. */
739#undef HAVE_GROUP_FROM_GID
740
741/* Define to 1 if you have the <gssapi_generic.h> header file. */
742#undef HAVE_GSSAPI_GENERIC_H
743
744/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
745#undef HAVE_GSSAPI_GSSAPI_GENERIC_H
746
747/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
748#undef HAVE_GSSAPI_GSSAPI_H
749
750/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
751#undef HAVE_GSSAPI_GSSAPI_KRB5_H
752
753/* Define to 1 if you have the <gssapi.h> header file. */
754#undef HAVE_GSSAPI_H
755
756/* Define to 1 if you have the <gssapi_krb5.h> header file. */
757#undef HAVE_GSSAPI_KRB5_H
758
759/* Define if HEADER.ad exists in arpa/nameser.h */
760#undef HAVE_HEADER_AD
761
762/* Define to 1 if you have the `HMAC_CTX_init' function. */
763#undef HAVE_HMAC_CTX_INIT
764
765/* Define if you have ut_host in utmp.h */
766#undef HAVE_HOST_IN_UTMP
767
768/* Define if you have ut_host in utmpx.h */
769#undef HAVE_HOST_IN_UTMPX
770
771/* Define to 1 if you have the <iaf.h> header file. */
772#undef HAVE_IAF_H
773
774/* Define to 1 if you have the <ia.h> header file. */
775#undef HAVE_IA_H
776
777/* Define if you have ut_id in utmp.h */
778#undef HAVE_ID_IN_UTMP
779
780/* Define if you have ut_id in utmpx.h */
781#undef HAVE_ID_IN_UTMPX
782
783/* Define to 1 if you have the <ifaddrs.h> header file. */
784#undef HAVE_IFADDRS_H
785
786/* Define to 1 if you have the `inet_aton' function. */
787#undef HAVE_INET_ATON
788
789/* Define to 1 if you have the `inet_ntoa' function. */
790#undef HAVE_INET_NTOA
791
792/* Define to 1 if you have the `inet_ntop' function. */
793#undef HAVE_INET_NTOP
794
795/* Define to 1 if you have the `innetgr' function. */
796#undef HAVE_INNETGR
797
798/* define if you have int64_t data type */
799#undef HAVE_INT64_T
800
801/* Define to 1 if the system has the type `intmax_t'. */
802#undef HAVE_INTMAX_T
803
804/* Define to 1 if you have the <inttypes.h> header file. */
805#undef HAVE_INTTYPES_H
806
807/* define if you have intxx_t data type */
808#undef HAVE_INTXX_T
809
810/* Define to 1 if the system has the type `in_addr_t'. */
811#undef HAVE_IN_ADDR_T
812
813/* Define to 1 if the system has the type `in_port_t'. */
814#undef HAVE_IN_PORT_T
815
816/* Define if you have isblank(3C). */
817#undef HAVE_ISBLANK
818
819/* Define to 1 if you have the `krb5_cc_new_unique' function. */
820#undef HAVE_KRB5_CC_NEW_UNIQUE
821
822/* Define to 1 if you have the `krb5_free_error_message' function. */
823#undef HAVE_KRB5_FREE_ERROR_MESSAGE
824
825/* Define to 1 if you have the `krb5_get_error_message' function. */
826#undef HAVE_KRB5_GET_ERROR_MESSAGE
827
828/* Define to 1 if you have the <langinfo.h> header file. */
829#undef HAVE_LANGINFO_H
830
831/* Define to 1 if you have the <lastlog.h> header file. */
832#undef HAVE_LASTLOG_H
833
834/* Define if you want ldns support */
835#undef HAVE_LDNS
836
837/* Define to 1 if you have the <libaudit.h> header file. */
838#undef HAVE_LIBAUDIT_H
839
840/* Define to 1 if you have the `bsm' library (-lbsm). */
841#undef HAVE_LIBBSM
842
843/* Define to 1 if you have the `crypt' library (-lcrypt). */
844#undef HAVE_LIBCRYPT
845
846/* Define to 1 if you have the `dl' library (-ldl). */
847#undef HAVE_LIBDL
848
849/* Define to 1 if you have the <libgen.h> header file. */
850#undef HAVE_LIBGEN_H
851
852/* Define if system has libiaf that supports set_id */
853#undef HAVE_LIBIAF
854
855/* Define to 1 if you have the `network' library (-lnetwork). */
856#undef HAVE_LIBNETWORK
857
858/* Define to 1 if you have the `pam' library (-lpam). */
859#undef HAVE_LIBPAM
860
861/* Define to 1 if you have the <libproc.h> header file. */
862#undef HAVE_LIBPROC_H
863
864/* Define to 1 if you have the `socket' library (-lsocket). */
865#undef HAVE_LIBSOCKET
866
867/* Define to 1 if you have the <libutil.h> header file. */
868#undef HAVE_LIBUTIL_H
869
870/* Define to 1 if you have the `xnet' library (-lxnet). */
871#undef HAVE_LIBXNET
872
873/* Define to 1 if you have the `z' library (-lz). */
874#undef HAVE_LIBZ
875
876/* Define to 1 if you have the <limits.h> header file. */
877#undef HAVE_LIMITS_H
878
879/* Define to 1 if you have the <linux/audit.h> header file. */
880#undef HAVE_LINUX_AUDIT_H
881
882/* Define to 1 if you have the <linux/filter.h> header file. */
883#undef HAVE_LINUX_FILTER_H
884
885/* Define to 1 if you have the <linux/if_tun.h> header file. */
886#undef HAVE_LINUX_IF_TUN_H
887
888/* Define to 1 if you have the <linux/seccomp.h> header file. */
889#undef HAVE_LINUX_SECCOMP_H
890
891/* Define to 1 if you have the `llabs' function. */
892#undef HAVE_LLABS
893
894/* Define to 1 if you have the <locale.h> header file. */
895#undef HAVE_LOCALE_H
896
897/* Define to 1 if you have the `localtime_r' function. */
898#undef HAVE_LOCALTIME_R
899
900/* Define to 1 if you have the `login' function. */
901#undef HAVE_LOGIN
902
903/* Define to 1 if you have the <login_cap.h> header file. */
904#undef HAVE_LOGIN_CAP_H
905
906/* Define to 1 if you have the `login_getcapbool' function. */
907#undef HAVE_LOGIN_GETCAPBOOL
908
909/* Define to 1 if you have the <login.h> header file. */
910#undef HAVE_LOGIN_H
911
912/* Define to 1 if you have the `logout' function. */
913#undef HAVE_LOGOUT
914
915/* Define to 1 if you have the `logwtmp' function. */
916#undef HAVE_LOGWTMP
917
918/* Define to 1 if the system has the type `long double'. */
919#undef HAVE_LONG_DOUBLE
920
921/* Define to 1 if the system has the type `long long'. */
922#undef HAVE_LONG_LONG
923
924/* Define to 1 if you have the <maillock.h> header file. */
925#undef HAVE_MAILLOCK_H
926
927/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
928 to 0 otherwise. */
929#undef HAVE_MALLOC
930
931/* Define to 1 if you have the `mblen' function. */
932#undef HAVE_MBLEN
933
934/* Define to 1 if you have the `mbtowc' function. */
935#undef HAVE_MBTOWC
936
937/* Define to 1 if you have the `md5_crypt' function. */
938#undef HAVE_MD5_CRYPT
939
940/* Define if you want to allow MD5 passwords */
941#undef HAVE_MD5_PASSWORDS
942
943/* Define to 1 if you have the `memmem' function. */
944#undef HAVE_MEMMEM
945
946/* Define to 1 if you have the `memmove' function. */
947#undef HAVE_MEMMOVE
948
949/* Define to 1 if you have the <memory.h> header file. */
950#undef HAVE_MEMORY_H
951
952/* Define to 1 if you have the `memset_s' function. */
953#undef HAVE_MEMSET_S
954
955/* Define to 1 if you have the `mkdtemp' function. */
956#undef HAVE_MKDTEMP
957
958/* define if you have mode_t data type */
959#undef HAVE_MODE_T
960
961/* Some systems put nanosleep outside of libc */
962#undef HAVE_NANOSLEEP
963
964/* Define to 1 if you have the <ndir.h> header file. */
965#undef HAVE_NDIR_H
966
967/* Define to 1 if you have the <netdb.h> header file. */
968#undef HAVE_NETDB_H
969
970/* Define to 1 if you have the <netgroup.h> header file. */
971#undef HAVE_NETGROUP_H
972
973/* Define to 1 if you have the <net/if_tun.h> header file. */
974#undef HAVE_NET_IF_TUN_H
975
976/* Define to 1 if you have the <net/route.h> header file. */
977#undef HAVE_NET_ROUTE_H
978
979/* Define if you are on NeXT */
980#undef HAVE_NEXT
981
982/* Define to 1 if you have the `ngetaddrinfo' function. */
983#undef HAVE_NGETADDRINFO
984
985/* Define to 1 if you have the `nl_langinfo' function. */
986#undef HAVE_NL_LANGINFO
987
988/* Define to 1 if you have the `nsleep' function. */
989#undef HAVE_NSLEEP
990
991/* Define to 1 if you have the `ogetaddrinfo' function. */
992#undef HAVE_OGETADDRINFO
993
994/* Define if you have an old version of PAM which takes only one argument to
995 pam_strerror */
996#undef HAVE_OLD_PAM
997
998/* Define to 1 if you have the `openlog_r' function. */
999#undef HAVE_OPENLOG_R
1000
1001/* Define to 1 if you have the `openpty' function. */
1002#undef HAVE_OPENPTY
1003
1004/* as a macro */
1005#undef HAVE_OPENSSL_ADD_ALL_ALGORITHMS
1006
1007/* Define to 1 if you have the `OPENSSL_init_crypto' function. */
1008#undef HAVE_OPENSSL_INIT_CRYPTO
1009
1010/* Define to 1 if you have the `OpenSSL_version' function. */
1011#undef HAVE_OPENSSL_VERSION
1012
1013/* Define to 1 if you have the `OpenSSL_version_num' function. */
1014#undef HAVE_OPENSSL_VERSION_NUM
1015
1016/* Define if you have Digital Unix Security Integration Architecture */
1017#undef HAVE_OSF_SIA
1018
1019/* Define to 1 if you have the `pam_getenvlist' function. */
1020#undef HAVE_PAM_GETENVLIST
1021
1022/* Define to 1 if you have the <pam/pam_appl.h> header file. */
1023#undef HAVE_PAM_PAM_APPL_H
1024
1025/* Define to 1 if you have the `pam_putenv' function. */
1026#undef HAVE_PAM_PUTENV
1027
1028/* Define to 1 if you have the <paths.h> header file. */
1029#undef HAVE_PATHS_H
1030
1031/* Define if you have ut_pid in utmp.h */
1032#undef HAVE_PID_IN_UTMP
1033
1034/* define if you have pid_t data type */
1035#undef HAVE_PID_T
1036
1037/* Define to 1 if you have the `pledge' function. */
1038#undef HAVE_PLEDGE
1039
1040/* Define to 1 if you have the `poll' function. */
1041#undef HAVE_POLL
1042
1043/* Define to 1 if you have the <poll.h> header file. */
1044#undef HAVE_POLL_H
1045
1046/* Define to 1 if you have the `prctl' function. */
1047#undef HAVE_PRCTL
1048
1049/* Define to 1 if you have the `priv_basicset' function. */
1050#undef HAVE_PRIV_BASICSET
1051
1052/* Define to 1 if you have the <priv.h> header file. */
1053#undef HAVE_PRIV_H
1054
1055/* Define if you have /proc/$pid/fd */
1056#undef HAVE_PROC_PID
1057
1058/* Define to 1 if you have the `proc_pidinfo' function. */
1059#undef HAVE_PROC_PIDINFO
1060
1061/* Define to 1 if you have the `pstat' function. */
1062#undef HAVE_PSTAT
1063
1064/* Define to 1 if you have the <pty.h> header file. */
1065#undef HAVE_PTY_H
1066
1067/* Define to 1 if you have the `pututline' function. */
1068#undef HAVE_PUTUTLINE
1069
1070/* Define to 1 if you have the `pututxline' function. */
1071#undef HAVE_PUTUTXLINE
1072
1073/* Define to 1 if you have the `raise' function. */
1074#undef HAVE_RAISE
1075
1076/* Define to 1 if you have the `readpassphrase' function. */
1077#undef HAVE_READPASSPHRASE
1078
1079/* Define to 1 if you have the <readpassphrase.h> header file. */
1080#undef HAVE_READPASSPHRASE_H
1081
1082/* Define to 1 if your system has a GNU libc compatible `realloc' function,
1083 and to 0 otherwise. */
1084#undef HAVE_REALLOC
1085
1086/* Define to 1 if you have the `reallocarray' function. */
1087#undef HAVE_REALLOCARRAY
1088
1089/* Define to 1 if you have the `realpath' function. */
1090#undef HAVE_REALPATH
1091
1092/* Define to 1 if you have the `recallocarray' function. */
1093#undef HAVE_RECALLOCARRAY
1094
1095/* Define to 1 if you have the `recvmsg' function. */
1096#undef HAVE_RECVMSG
1097
1098/* sys/resource.h has RLIMIT_NPROC */
1099#undef HAVE_RLIMIT_NPROC
1100
1101/* Define to 1 if you have the <rpc/types.h> header file. */
1102#undef HAVE_RPC_TYPES_H
1103
1104/* Define to 1 if you have the `rresvport_af' function. */
1105#undef HAVE_RRESVPORT_AF
1106
1107/* Define to 1 if you have the `RSA_generate_key_ex' function. */
1108#undef HAVE_RSA_GENERATE_KEY_EX
1109
1110/* Define to 1 if you have the `RSA_get0_crt_params' function. */
1111#undef HAVE_RSA_GET0_CRT_PARAMS
1112
1113/* Define to 1 if you have the `RSA_get0_factors' function. */
1114#undef HAVE_RSA_GET0_FACTORS
1115
1116/* Define to 1 if you have the `RSA_get0_key' function. */
1117#undef HAVE_RSA_GET0_KEY
1118
1119/* Define to 1 if you have the `RSA_get_default_method' function. */
1120#undef HAVE_RSA_GET_DEFAULT_METHOD
1121
1122/* Define to 1 if you have the `RSA_meth_dup' function. */
1123#undef HAVE_RSA_METH_DUP
1124
1125/* Define to 1 if you have the `RSA_meth_free' function. */
1126#undef HAVE_RSA_METH_FREE
1127
1128/* Define to 1 if you have the `RSA_meth_get_finish' function. */
1129#undef HAVE_RSA_METH_GET_FINISH
1130
1131/* Define to 1 if you have the `RSA_meth_set1_name' function. */
1132#undef HAVE_RSA_METH_SET1_NAME
1133
1134/* Define to 1 if you have the `RSA_meth_set_finish' function. */
1135#undef HAVE_RSA_METH_SET_FINISH
1136
1137/* Define to 1 if you have the `RSA_meth_set_priv_dec' function. */
1138#undef HAVE_RSA_METH_SET_PRIV_DEC
1139
1140/* Define to 1 if you have the `RSA_meth_set_priv_enc' function. */
1141#undef HAVE_RSA_METH_SET_PRIV_ENC
1142
1143/* Define to 1 if you have the `RSA_set0_crt_params' function. */
1144#undef HAVE_RSA_SET0_CRT_PARAMS
1145
1146/* Define to 1 if you have the `RSA_set0_factors' function. */
1147#undef HAVE_RSA_SET0_FACTORS
1148
1149/* Define to 1 if you have the `RSA_set0_key' function. */
1150#undef HAVE_RSA_SET0_KEY
1151
1152/* Define to 1 if you have the <sandbox.h> header file. */
1153#undef HAVE_SANDBOX_H
1154
1155/* Define to 1 if you have the `sandbox_init' function. */
1156#undef HAVE_SANDBOX_INIT
1157
1158/* define if you have sa_family_t data type */
1159#undef HAVE_SA_FAMILY_T
1160
1161/* Define to 1 if you have the `scan_scaled' function. */
1162#undef HAVE_SCAN_SCALED
1163
1164/* Define if you have SecureWare-based protected password database */
1165#undef HAVE_SECUREWARE
1166
1167/* Define to 1 if you have the <security/pam_appl.h> header file. */
1168#undef HAVE_SECURITY_PAM_APPL_H
1169
1170/* Define to 1 if you have the `sendmsg' function. */
1171#undef HAVE_SENDMSG
1172
1173/* Define to 1 if you have the `setauthdb' function. */
1174#undef HAVE_SETAUTHDB
1175
1176/* Define to 1 if you have the `setdtablesize' function. */
1177#undef HAVE_SETDTABLESIZE
1178
1179/* Define to 1 if you have the `setegid' function. */
1180#undef HAVE_SETEGID
1181
1182/* Define to 1 if you have the `setenv' function. */
1183#undef HAVE_SETENV
1184
1185/* Define to 1 if you have the `seteuid' function. */
1186#undef HAVE_SETEUID
1187
1188/* Define to 1 if you have the `setgroupent' function. */
1189#undef HAVE_SETGROUPENT
1190
1191/* Define to 1 if you have the `setgroups' function. */
1192#undef HAVE_SETGROUPS
1193
1194/* Define to 1 if you have the `setlinebuf' function. */
1195#undef HAVE_SETLINEBUF
1196
1197/* Define to 1 if you have the `setlogin' function. */
1198#undef HAVE_SETLOGIN
1199
1200/* Define to 1 if you have the `setluid' function. */
1201#undef HAVE_SETLUID
1202
1203/* Define to 1 if you have the `setpassent' function. */
1204#undef HAVE_SETPASSENT
1205
1206/* Define to 1 if you have the `setpcred' function. */
1207#undef HAVE_SETPCRED
1208
1209/* Define to 1 if you have the `setpflags' function. */
1210#undef HAVE_SETPFLAGS
1211
1212/* Define to 1 if you have the `setppriv' function. */
1213#undef HAVE_SETPPRIV
1214
1215/* Define to 1 if you have the `setproctitle' function. */
1216#undef HAVE_SETPROCTITLE
1217
1218/* Define to 1 if you have the `setregid' function. */
1219#undef HAVE_SETREGID
1220
1221/* Define to 1 if you have the `setresgid' function. */
1222#undef HAVE_SETRESGID
1223
1224/* Define to 1 if you have the `setresuid' function. */
1225#undef HAVE_SETRESUID
1226
1227/* Define to 1 if you have the `setreuid' function. */
1228#undef HAVE_SETREUID
1229
1230/* Define to 1 if you have the `setrlimit' function. */
1231#undef HAVE_SETRLIMIT
1232
1233/* Define to 1 if you have the `setsid' function. */
1234#undef HAVE_SETSID
1235
1236/* Define to 1 if you have the `setutent' function. */
1237#undef HAVE_SETUTENT
1238
1239/* Define to 1 if you have the `setutxdb' function. */
1240#undef HAVE_SETUTXDB
1241
1242/* Define to 1 if you have the `setutxent' function. */
1243#undef HAVE_SETUTXENT
1244
1245/* Define to 1 if you have the `setvbuf' function. */
1246#undef HAVE_SETVBUF
1247
1248/* Define to 1 if you have the `set_id' function. */
1249#undef HAVE_SET_ID
1250
1251/* Define to 1 if you have the `SHA256Update' function. */
1252#undef HAVE_SHA256UPDATE
1253
1254/* Define to 1 if you have the <sha2.h> header file. */
1255#undef HAVE_SHA2_H
1256
1257/* Define to 1 if you have the `SHA384Update' function. */
1258#undef HAVE_SHA384UPDATE
1259
1260/* Define to 1 if you have the `SHA512Update' function. */
1261#undef HAVE_SHA512UPDATE
1262
1263/* Define to 1 if you have the <shadow.h> header file. */
1264#undef HAVE_SHADOW_H
1265
1266/* Define to 1 if you have the `sigaction' function. */
1267#undef HAVE_SIGACTION
1268
1269/* Define to 1 if you have the `sigvec' function. */
1270#undef HAVE_SIGVEC
1271
1272/* Define to 1 if the system has the type `sig_atomic_t'. */
1273#undef HAVE_SIG_ATOMIC_T
1274
1275/* define if you have size_t data type */
1276#undef HAVE_SIZE_T
1277
1278/* Define to 1 if you have the `snprintf' function. */
1279#undef HAVE_SNPRINTF
1280
1281/* Define to 1 if you have the `socketpair' function. */
1282#undef HAVE_SOCKETPAIR
1283
1284/* Have PEERCRED socket option */
1285#undef HAVE_SO_PEERCRED
1286
1287/* define if you have ssize_t data type */
1288#undef HAVE_SSIZE_T
1289
1290/* Fields in struct sockaddr_storage */
1291#undef HAVE_SS_FAMILY_IN_SS
1292
1293/* Define if you have ut_ss in utmpx.h */
1294#undef HAVE_SS_IN_UTMPX
1295
1296/* Define to 1 if you have the `statfs' function. */
1297#undef HAVE_STATFS
1298
1299/* Define to 1 if you have the `statvfs' function. */
1300#undef HAVE_STATVFS
1301
1302/* Define to 1 if you have the <stddef.h> header file. */
1303#undef HAVE_STDDEF_H
1304
1305/* Define to 1 if you have the <stdint.h> header file. */
1306#undef HAVE_STDINT_H
1307
1308/* Define to 1 if you have the <stdlib.h> header file. */
1309#undef HAVE_STDLIB_H
1310
1311/* Define to 1 if you have the `strcasestr' function. */
1312#undef HAVE_STRCASESTR
1313
1314/* Define to 1 if you have the `strdup' function. */
1315#undef HAVE_STRDUP
1316
1317/* Define to 1 if you have the `strerror' function. */
1318#undef HAVE_STRERROR
1319
1320/* Define to 1 if you have the `strftime' function. */
1321#undef HAVE_STRFTIME
1322
1323/* Silly mkstemp() */
1324#undef HAVE_STRICT_MKSTEMP
1325
1326/* Define to 1 if you have the <strings.h> header file. */
1327#undef HAVE_STRINGS_H
1328
1329/* Define to 1 if you have the <string.h> header file. */
1330#undef HAVE_STRING_H
1331
1332/* Define to 1 if you have the `strlcat' function. */
1333#undef HAVE_STRLCAT
1334
1335/* Define to 1 if you have the `strlcpy' function. */
1336#undef HAVE_STRLCPY
1337
1338/* Define to 1 if you have the `strmode' function. */
1339#undef HAVE_STRMODE
1340
1341/* Define to 1 if you have the `strndup' function. */
1342#undef HAVE_STRNDUP
1343
1344/* Define to 1 if you have the `strnlen' function. */
1345#undef HAVE_STRNLEN
1346
1347/* Define to 1 if you have the `strnvis' function. */
1348#undef HAVE_STRNVIS
1349
1350/* Define to 1 if you have the `strptime' function. */
1351#undef HAVE_STRPTIME
1352
1353/* Define to 1 if you have the `strsep' function. */
1354#undef HAVE_STRSEP
1355
1356/* Define to 1 if you have the `strsignal' function. */
1357#undef HAVE_STRSIGNAL
1358
1359/* Define to 1 if you have the `strtoll' function. */
1360#undef HAVE_STRTOLL
1361
1362/* Define to 1 if you have the `strtonum' function. */
1363#undef HAVE_STRTONUM
1364
1365/* Define to 1 if you have the `strtoul' function. */
1366#undef HAVE_STRTOUL
1367
1368/* Define to 1 if you have the `strtoull' function. */
1369#undef HAVE_STRTOULL
1370
1371/* define if you have struct addrinfo data type */
1372#undef HAVE_STRUCT_ADDRINFO
1373
1374/* define if you have struct in6_addr data type */
1375#undef HAVE_STRUCT_IN6_ADDR
1376
1377/* Define to 1 if `pw_change' is a member of `struct passwd'. */
1378#undef HAVE_STRUCT_PASSWD_PW_CHANGE
1379
1380/* Define to 1 if `pw_class' is a member of `struct passwd'. */
1381#undef HAVE_STRUCT_PASSWD_PW_CLASS
1382
1383/* Define to 1 if `pw_expire' is a member of `struct passwd'. */
1384#undef HAVE_STRUCT_PASSWD_PW_EXPIRE
1385
1386/* Define to 1 if `pw_gecos' is a member of `struct passwd'. */
1387#undef HAVE_STRUCT_PASSWD_PW_GECOS
1388
1389/* define if you have struct sockaddr_in6 data type */
1390#undef HAVE_STRUCT_SOCKADDR_IN6
1391
1392/* Define to 1 if `sin6_scope_id' is a member of `struct sockaddr_in6'. */
1393#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
1394
1395/* define if you have struct sockaddr_storage data type */
1396#undef HAVE_STRUCT_SOCKADDR_STORAGE
1397
1398/* Define to 1 if `f_files' is a member of `struct statfs'. */
1399#undef HAVE_STRUCT_STATFS_F_FILES
1400
1401/* Define to 1 if `f_flags' is a member of `struct statfs'. */
1402#undef HAVE_STRUCT_STATFS_F_FLAGS
1403
1404/* Define to 1 if `st_blksize' is a member of `struct stat'. */
1405#undef HAVE_STRUCT_STAT_ST_BLKSIZE
1406
1407/* Define to 1 if `st_mtim' is a member of `struct stat'. */
1408#undef HAVE_STRUCT_STAT_ST_MTIM
1409
1410/* Define to 1 if `st_mtime' is a member of `struct stat'. */
1411#undef HAVE_STRUCT_STAT_ST_MTIME
1412
1413/* define if you have struct timespec */
1414#undef HAVE_STRUCT_TIMESPEC
1415
1416/* define if you have struct timeval */
1417#undef HAVE_STRUCT_TIMEVAL
1418
1419/* Define to 1 if you have the `swap32' function. */
1420#undef HAVE_SWAP32
1421
1422/* Define to 1 if you have the `sysconf' function. */
1423#undef HAVE_SYSCONF
1424
1425/* Define if you have syslen in utmpx.h */
1426#undef HAVE_SYSLEN_IN_UTMPX
1427
1428/* Define to 1 if you have the <sys/audit.h> header file. */
1429#undef HAVE_SYS_AUDIT_H
1430
1431/* Define to 1 if you have the <sys/bitypes.h> header file. */
1432#undef HAVE_SYS_BITYPES_H
1433
1434/* Define to 1 if you have the <sys/bsdtty.h> header file. */
1435#undef HAVE_SYS_BSDTTY_H
1436
1437/* Define to 1 if you have the <sys/byteorder.h> header file. */
1438#undef HAVE_SYS_BYTEORDER_H
1439
1440/* Define to 1 if you have the <sys/capsicum.h> header file. */
1441#undef HAVE_SYS_CAPSICUM_H
1442
1443/* Define to 1 if you have the <sys/cdefs.h> header file. */
1444#undef HAVE_SYS_CDEFS_H
1445
1446/* Define to 1 if you have the <sys/dir.h> header file. */
1447#undef HAVE_SYS_DIR_H
1448
1449/* Define if your system defines sys_errlist[] */
1450#undef HAVE_SYS_ERRLIST
1451
1452/* Define to 1 if you have the <sys/file.h> header file. */
1453#undef HAVE_SYS_FILE_H
1454
1455/* Define to 1 if you have the <sys/label.h> header file. */
1456#undef HAVE_SYS_LABEL_H
1457
1458/* Define to 1 if you have the <sys/mman.h> header file. */
1459#undef HAVE_SYS_MMAN_H
1460
1461/* Define to 1 if you have the <sys/mount.h> header file. */
1462#undef HAVE_SYS_MOUNT_H
1463
1464/* Define to 1 if you have the <sys/ndir.h> header file. */
1465#undef HAVE_SYS_NDIR_H
1466
1467/* Define if your system defines sys_nerr */
1468#undef HAVE_SYS_NERR
1469
1470/* Define to 1 if you have the <sys/poll.h> header file. */
1471#undef HAVE_SYS_POLL_H
1472
1473/* Define to 1 if you have the <sys/prctl.h> header file. */
1474#undef HAVE_SYS_PRCTL_H
1475
1476/* Define to 1 if you have the <sys/pstat.h> header file. */
1477#undef HAVE_SYS_PSTAT_H
1478
1479/* Define to 1 if you have the <sys/ptms.h> header file. */
1480#undef HAVE_SYS_PTMS_H
1481
1482/* Define to 1 if you have the <sys/ptrace.h> header file. */
1483#undef HAVE_SYS_PTRACE_H
1484
1485/* Define to 1 if you have the <sys/random.h> header file. */
1486#undef HAVE_SYS_RANDOM_H
1487
1488/* Define to 1 if you have the <sys/select.h> header file. */
1489#undef HAVE_SYS_SELECT_H
1490
1491/* Define to 1 if you have the <sys/statvfs.h> header file. */
1492#undef HAVE_SYS_STATVFS_H
1493
1494/* Define to 1 if you have the <sys/stat.h> header file. */
1495#undef HAVE_SYS_STAT_H
1496
1497/* Define to 1 if you have the <sys/stream.h> header file. */
1498#undef HAVE_SYS_STREAM_H
1499
1500/* Define to 1 if you have the <sys/stropts.h> header file. */
1501#undef HAVE_SYS_STROPTS_H
1502
1503/* Define to 1 if you have the <sys/strtio.h> header file. */
1504#undef HAVE_SYS_STRTIO_H
1505
1506/* Define to 1 if you have the <sys/sysctl.h> header file. */
1507#undef HAVE_SYS_SYSCTL_H
1508
1509/* Force use of sys/syslog.h on Ultrix */
1510#undef HAVE_SYS_SYSLOG_H
1511
1512/* Define to 1 if you have the <sys/sysmacros.h> header file. */
1513#undef HAVE_SYS_SYSMACROS_H
1514
1515/* Define to 1 if you have the <sys/timers.h> header file. */
1516#undef HAVE_SYS_TIMERS_H
1517
1518/* Define to 1 if you have the <sys/time.h> header file. */
1519#undef HAVE_SYS_TIME_H
1520
1521/* Define to 1 if you have the <sys/types.h> header file. */
1522#undef HAVE_SYS_TYPES_H
1523
1524/* Define to 1 if you have the <sys/un.h> header file. */
1525#undef HAVE_SYS_UN_H
1526
1527/* Define to 1 if you have the <sys/vfs.h> header file. */
1528#undef HAVE_SYS_VFS_H
1529
1530/* Define to 1 if you have the `tcgetpgrp' function. */
1531#undef HAVE_TCGETPGRP
1532
1533/* Define to 1 if you have the `tcsendbreak' function. */
1534#undef HAVE_TCSENDBREAK
1535
1536/* Define to 1 if you have the `time' function. */
1537#undef HAVE_TIME
1538
1539/* Define to 1 if you have the <time.h> header file. */
1540#undef HAVE_TIME_H
1541
1542/* Define if you have ut_time in utmp.h */
1543#undef HAVE_TIME_IN_UTMP
1544
1545/* Define if you have ut_time in utmpx.h */
1546#undef HAVE_TIME_IN_UTMPX
1547
1548/* Define to 1 if you have the `timingsafe_bcmp' function. */
1549#undef HAVE_TIMINGSAFE_BCMP
1550
1551/* Define to 1 if you have the <tmpdir.h> header file. */
1552#undef HAVE_TMPDIR_H
1553
1554/* Define to 1 if you have the `truncate' function. */
1555#undef HAVE_TRUNCATE
1556
1557/* Define to 1 if you have the <ttyent.h> header file. */
1558#undef HAVE_TTYENT_H
1559
1560/* Define if you have ut_tv in utmp.h */
1561#undef HAVE_TV_IN_UTMP
1562
1563/* Define if you have ut_tv in utmpx.h */
1564#undef HAVE_TV_IN_UTMPX
1565
1566/* Define if you have ut_type in utmp.h */
1567#undef HAVE_TYPE_IN_UTMP
1568
1569/* Define if you have ut_type in utmpx.h */
1570#undef HAVE_TYPE_IN_UTMPX
1571
1572/* Define to 1 if you have the <ucred.h> header file. */
1573#undef HAVE_UCRED_H
1574
1575/* Define to 1 if the system has the type `uintmax_t'. */
1576#undef HAVE_UINTMAX_T
1577
1578/* define if you have uintxx_t data type */
1579#undef HAVE_UINTXX_T
1580
1581/* Define to 1 if you have the <unistd.h> header file. */
1582#undef HAVE_UNISTD_H
1583
1584/* Define to 1 if you have the `unsetenv' function. */
1585#undef HAVE_UNSETENV
1586
1587/* Define to 1 if the system has the type `unsigned long long'. */
1588#undef HAVE_UNSIGNED_LONG_LONG
1589
1590/* Define to 1 if you have the `updwtmp' function. */
1591#undef HAVE_UPDWTMP
1592
1593/* Define to 1 if you have the `updwtmpx' function. */
1594#undef HAVE_UPDWTMPX
1595
1596/* Define to 1 if you have the <usersec.h> header file. */
1597#undef HAVE_USERSEC_H
1598
1599/* Define to 1 if you have the `user_from_uid' function. */
1600#undef HAVE_USER_FROM_UID
1601
1602/* Define to 1 if you have the `usleep' function. */
1603#undef HAVE_USLEEP
1604
1605/* Define to 1 if you have the <util.h> header file. */
1606#undef HAVE_UTIL_H
1607
1608/* Define to 1 if you have the `utimensat' function. */
1609#undef HAVE_UTIMENSAT
1610
1611/* Define to 1 if you have the `utimes' function. */
1612#undef HAVE_UTIMES
1613
1614/* Define to 1 if you have the <utime.h> header file. */
1615#undef HAVE_UTIME_H
1616
1617/* Define to 1 if you have the `utmpname' function. */
1618#undef HAVE_UTMPNAME
1619
1620/* Define to 1 if you have the `utmpxname' function. */
1621#undef HAVE_UTMPXNAME
1622
1623/* Define to 1 if you have the <utmpx.h> header file. */
1624#undef HAVE_UTMPX_H
1625
1626/* Define to 1 if you have the <utmp.h> header file. */
1627#undef HAVE_UTMP_H
1628
1629/* define if you have u_char data type */
1630#undef HAVE_U_CHAR
1631
1632/* define if you have u_int data type */
1633#undef HAVE_U_INT
1634
1635/* define if you have u_int64_t data type */
1636#undef HAVE_U_INT64_T
1637
1638/* define if you have u_intxx_t data type */
1639#undef HAVE_U_INTXX_T
1640
1641/* Define to 1 if you have the `vasprintf' function. */
1642#undef HAVE_VASPRINTF
1643
1644/* Define if va_copy exists */
1645#undef HAVE_VA_COPY
1646
1647/* Define to 1 if you have the <vis.h> header file. */
1648#undef HAVE_VIS_H
1649
1650/* Define to 1 if you have the `vsnprintf' function. */
1651#undef HAVE_VSNPRINTF
1652
1653/* Define to 1 if you have the `waitpid' function. */
1654#undef HAVE_WAITPID
1655
1656/* Define to 1 if you have the `warn' function. */
1657#undef HAVE_WARN
1658
1659/* Define to 1 if you have the <wchar.h> header file. */
1660#undef HAVE_WCHAR_H
1661
1662/* Define to 1 if you have the `wcwidth' function. */
1663#undef HAVE_WCWIDTH
1664
1665/* Define to 1 if you have the `_getlong' function. */
1666#undef HAVE__GETLONG
1667
1668/* Define to 1 if you have the `_getpty' function. */
1669#undef HAVE__GETPTY
1670
1671/* Define to 1 if you have the `_getshort' function. */
1672#undef HAVE__GETSHORT
1673
1674/* Define if you have struct __res_state _res as an extern */
1675#undef HAVE__RES_EXTERN
1676
1677/* Define to 1 if you have the `__b64_ntop' function. */
1678#undef HAVE___B64_NTOP
1679
1680/* Define to 1 if you have the `__b64_pton' function. */
1681#undef HAVE___B64_PTON
1682
1683/* Define if compiler implements __FUNCTION__ */
1684#undef HAVE___FUNCTION__
1685
1686/* Define if libc defines __progname */
1687#undef HAVE___PROGNAME
1688
1689/* Fields in struct sockaddr_storage */
1690#undef HAVE___SS_FAMILY_IN_SS
1691
1692/* Define if __va_copy exists */
1693#undef HAVE___VA_COPY
1694
1695/* Define if compiler implements __func__ */
1696#undef HAVE___func__
1697
1698/* Define this if you are using the Heimdal version of Kerberos V5 */
1699#undef HEIMDAL
1700
1701/* Define if you need to use IP address instead of hostname in $DISPLAY */
1702#undef IPADDR_IN_DISPLAY
1703
1704/* Detect IPv4 in IPv6 mapped addresses and treat as IPv4 */
1705#undef IPV4_IN_IPV6
1706
1707/* Define if your system choked on IP TOS setting */
1708#undef IP_TOS_IS_BROKEN
1709
1710/* Define if you want Kerberos 5 support */
1711#undef KRB5
1712
1713/* Define if pututxline updates lastlog too */
1714#undef LASTLOG_WRITE_PUTUTXLINE
1715
1716/* Define to whatever link() returns for "not supported" if it doesn't return
1717 EOPNOTSUPP. */
1718#undef LINK_OPNOTSUPP_ERRNO
1719
1720/* Adjust Linux out-of-memory killer */
1721#undef LINUX_OOM_ADJUST
1722
1723/* max value of long long calculated by configure */
1724#undef LLONG_MAX
1725
1726/* min value of long long calculated by configure */
1727#undef LLONG_MIN
1728
1729/* Account locked with pw(1) */
1730#undef LOCKED_PASSWD_PREFIX
1731
1732/* String used in /etc/passwd to denote locked account */
1733#undef LOCKED_PASSWD_STRING
1734
1735/* String used in /etc/passwd to denote locked account */
1736#undef LOCKED_PASSWD_SUBSTR
1737
1738/* Some systems need a utmpx entry for /bin/login to work */
1739#undef LOGIN_NEEDS_UTMPX
1740
1741/* Set this to your mail directory if you do not have _PATH_MAILDIR */
1742#undef MAIL_DIRECTORY
1743
1744/* Need setpgrp to for controlling tty */
1745#undef NEED_SETPGRP
1746
1747/* compiler does not accept __attribute__ on prototype args */
1748#undef NO_ATTRIBUTE_ON_PROTOTYPE_ARGS
1749
1750/* compiler does not accept __attribute__ on return types */
1751#undef NO_ATTRIBUTE_ON_RETURN_TYPE
1752
1753/* SA_RESTARTed signals do no interrupt select */
1754#undef NO_SA_RESTART
1755
1756/* Define to disable UID restoration test */
1757#undef NO_UID_RESTORATION_TEST
1758
1759/* Define if X11 doesn't support AF_UNIX sockets on that system */
1760#undef NO_X11_UNIX_SOCKETS
1761
1762/* Define if EVP_DigestUpdate returns void */
1763#undef OPENSSL_EVP_DIGESTUPDATE_VOID
1764
1765/* OpenSSL has ECC */
1766#undef OPENSSL_HAS_ECC
1767
1768/* libcrypto has NID_X9_62_prime256v1 */
1769#undef OPENSSL_HAS_NISTP256
1770
1771/* libcrypto has NID_secp384r1 */
1772#undef OPENSSL_HAS_NISTP384
1773
1774/* libcrypto has NID_secp521r1 */
1775#undef OPENSSL_HAS_NISTP521
1776
1777/* libcrypto has EVP AES CTR */
1778#undef OPENSSL_HAVE_EVPCTR
1779
1780/* libcrypto has EVP AES GCM */
1781#undef OPENSSL_HAVE_EVPGCM
1782
1783/* libcrypto is missing AES 192 and 256 bit functions */
1784#undef OPENSSL_LOBOTOMISED_AES
1785
1786/* Define if you want the OpenSSL internally seeded PRNG only */
1787#undef OPENSSL_PRNG_ONLY
1788
1789/* Define to the address where bug reports for this package should be sent. */
1790#undef PACKAGE_BUGREPORT
1791
1792/* Define to the full name of this package. */
1793#undef PACKAGE_NAME
1794
1795/* Define to the full name and version of this package. */
1796#undef PACKAGE_STRING
1797
1798/* Define to the one symbol short name of this package. */
1799#undef PACKAGE_TARNAME
1800
1801/* Define to the home page for this package. */
1802#undef PACKAGE_URL
1803
1804/* Define to the version of this package. */
1805#undef PACKAGE_VERSION
1806
1807/* Define if you are using Solaris-derived PAM which passes pam_messages to
1808 the conversation function with an extra level of indirection */
1809#undef PAM_SUN_CODEBASE
1810
1811/* Work around problematic Linux PAM modules handling of PAM_TTY */
1812#undef PAM_TTY_KLUDGE
1813
1814/* must supply username to passwd */
1815#undef PASSWD_NEEDS_USERNAME
1816
1817/* System dirs owned by bin (uid 2) */
1818#undef PLATFORM_SYS_DIR_UID
1819
1820/* Port number of PRNGD/EGD random number socket */
1821#undef PRNGD_PORT
1822
1823/* Location of PRNGD/EGD random number socket */
1824#undef PRNGD_SOCKET
1825
1826/* read(1) can return 0 for a non-closed fd */
1827#undef PTY_ZEROREAD
1828
1829/* Sandbox using capsicum */
1830#undef SANDBOX_CAPSICUM
1831
1832/* Sandbox using Darwin sandbox_init(3) */
1833#undef SANDBOX_DARWIN
1834
1835/* no privsep sandboxing */
1836#undef SANDBOX_NULL
1837
1838/* Sandbox using pledge(2) */
1839#undef SANDBOX_PLEDGE
1840
1841/* Sandbox using setrlimit(2) */
1842#undef SANDBOX_RLIMIT
1843
1844/* Sandbox using seccomp filter */
1845#undef SANDBOX_SECCOMP_FILTER
1846
1847/* setrlimit RLIMIT_FSIZE works */
1848#undef SANDBOX_SKIP_RLIMIT_FSIZE
1849
1850/* define if setrlimit RLIMIT_NOFILE breaks things */
1851#undef SANDBOX_SKIP_RLIMIT_NOFILE
1852
1853/* Sandbox using Solaris/Illumos privileges */
1854#undef SANDBOX_SOLARIS
1855
1856/* Sandbox using systrace(4) */
1857#undef SANDBOX_SYSTRACE
1858
1859/* Specify the system call convention in use */
1860#undef SECCOMP_AUDIT_ARCH
1861
1862/* Define if your platform breaks doing a seteuid before a setuid */
1863#undef SETEUID_BREAKS_SETUID
1864
1865/* The size of `int', as computed by sizeof. */
1866#undef SIZEOF_INT
1867
1868/* The size of `long int', as computed by sizeof. */
1869#undef SIZEOF_LONG_INT
1870
1871/* The size of `long long int', as computed by sizeof. */
1872#undef SIZEOF_LONG_LONG_INT
1873
1874/* The size of `short int', as computed by sizeof. */
1875#undef SIZEOF_SHORT_INT
1876
1877/* The size of `size_t', as computed by sizeof. */
1878#undef SIZEOF_SIZE_T
1879
1880/* Define as const if snprintf() can declare const char *fmt */
1881#undef SNPRINTF_CONST
1882
1883/* Define to a Set Process Title type if your system is supported by
1884 bsd-setproctitle.c */
1885#undef SPT_TYPE
1886
1887/* Define if sshd somehow reacquires a controlling TTY after setsid() */
1888#undef SSHD_ACQUIRES_CTTY
1889
1890/* sshd PAM service name */
1891#undef SSHD_PAM_SERVICE
1892
1893/* Define if pam_chauthtok wants real uid set to the unpriv'ed user */
1894#undef SSHPAM_CHAUTHTOK_NEEDS_RUID
1895
1896/* Use audit debugging module */
1897#undef SSH_AUDIT_EVENTS
1898
1899/* Windows is sensitive to read buffer size */
1900#undef SSH_IOBUFSZ
1901
1902/* non-privileged user for privilege separation */
1903#undef SSH_PRIVSEP_USER
1904
1905/* Use tunnel device compatibility to OpenBSD */
1906#undef SSH_TUN_COMPAT_AF
1907
1908/* Open tunnel devices the FreeBSD way */
1909#undef SSH_TUN_FREEBSD
1910
1911/* Open tunnel devices the Linux tun/tap way */
1912#undef SSH_TUN_LINUX
1913
1914/* No layer 2 tunnel support */
1915#undef SSH_TUN_NO_L2
1916
1917/* Open tunnel devices the OpenBSD way */
1918#undef SSH_TUN_OPENBSD
1919
1920/* Prepend the address family to IP tunnel traffic */
1921#undef SSH_TUN_PREPEND_AF
1922
1923/* Define to 1 if you have the ANSI C header files. */
1924#undef STDC_HEADERS
1925
1926/* Define if you want a different $PATH for the superuser */
1927#undef SUPERUSER_PATH
1928
1929/* syslog_r function is safe to use in in a signal handler */
1930#undef SYSLOG_R_SAFE_IN_SIGHAND
1931
1932/* Support routing domains using Linux VRF */
1933#undef SYS_RDOMAIN_LINUX
1934
1935/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
1936#undef TIME_WITH_SYS_TIME
1937
1938/* Support passwords > 8 chars */
1939#undef UNIXWARE_LONG_PASSWORDS
1940
1941/* Specify default $PATH */
1942#undef USER_PATH
1943
1944/* Define this if you want to use libkafs' AFS support */
1945#undef USE_AFS
1946
1947/* Use BSM audit module */
1948#undef USE_BSM_AUDIT
1949
1950/* Use btmp to log bad logins */
1951#undef USE_BTMP
1952
1953/* Use libedit for sftp */
1954#undef USE_LIBEDIT
1955
1956/* Use Linux audit module */
1957#undef USE_LINUX_AUDIT
1958
1959/* Enable OpenSSL engine support */
1960#undef USE_OPENSSL_ENGINE
1961
1962/* Define if you want to enable PAM support */
1963#undef USE_PAM
1964
1965/* Use PIPES instead of a socketpair() */
1966#undef USE_PIPES
1967
1968/* Define if you have Solaris privileges */
1969#undef USE_SOLARIS_PRIVS
1970
1971/* Define if you have Solaris process contracts */
1972#undef USE_SOLARIS_PROCESS_CONTRACTS
1973
1974/* Define if you have Solaris projects */
1975#undef USE_SOLARIS_PROJECTS
1976
1977/* Define if you shouldn't strip 'tty' from your ttyname in [uw]tmp */
1978#undef WITH_ABBREV_NO_TTY
1979
1980/* Define if you want to enable AIX4's authenticate function */
1981#undef WITH_AIXAUTHENTICATE
1982
1983/* Define if you have/want arrays (cluster-wide session management, not C
1984 arrays) */
1985#undef WITH_IRIX_ARRAY
1986
1987/* Define if you want IRIX audit trails */
1988#undef WITH_IRIX_AUDIT
1989
1990/* Define if you want IRIX kernel jobs */
1991#undef WITH_IRIX_JOBS
1992
1993/* Define if you want IRIX project management */
1994#undef WITH_IRIX_PROJECT
1995
1996/* use libcrypto for cryptography */
1997#undef WITH_OPENSSL
1998
1999/* Define if you want SELinux support. */
2000#undef WITH_SELINUX
2001
2002/* Enable zlib */
2003#undef WITH_ZLIB
2004
2005/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
2006 significant byte first (like Motorola and SPARC, unlike Intel). */
2007#if defined AC_APPLE_UNIVERSAL_BUILD
2008# if defined __BIG_ENDIAN__
2009# define WORDS_BIGENDIAN 1
2010# endif
2011#else
2012# ifndef WORDS_BIGENDIAN
2013# undef WORDS_BIGENDIAN
2014# endif
2015#endif
2016
2017/* Define if xauth is found in your path */
2018#undef XAUTH_PATH
2019
2020/* Enable large inode numbers on Mac OS X 10.5. */
2021#ifndef _DARWIN_USE_64_BIT_INODE
2022# define _DARWIN_USE_64_BIT_INODE 1
2023#endif
2024
2025/* Number of bits in a file offset, on hosts where this is settable. */
2026#undef _FILE_OFFSET_BITS
2027
2028/* Define for large files, on AIX-style hosts. */
2029#undef _LARGE_FILES
2030
2031/* log for bad login attempts */
2032#undef _PATH_BTMP
2033
2034/* Full path of your "passwd" program */
2035#undef _PATH_PASSWD_PROG
2036
2037/* Specify location of ssh.pid */
2038#undef _PATH_SSH_PIDDIR
2039
2040/* Define if we don't have struct __res_state in resolv.h */
2041#undef __res_state
2042
2043/* Define to rpl_calloc if the replacement function should be used. */
2044#undef calloc
2045
2046/* Define to `__inline__' or `__inline' if that's what the C compiler
2047 calls it, or to nothing if 'inline' is not supported under any name. */
2048#ifndef __cplusplus
2049#undef inline
2050#endif
2051
2052/* Define to rpl_malloc if the replacement function should be used. */
2053#undef malloc
2054
2055/* Define to rpl_realloc if the replacement function should be used. */
2056#undef realloc
2057
2058/* type to use in place of socklen_t if not defined */
2059#undef socklen_t
diff --git a/configure b/configure
new file mode 100755
index 000000000..57b261503
--- /dev/null
+++ b/configure
@@ -0,0 +1,21833 @@
1#! /bin/sh
2# Guess values for system-dependent variables and create Makefiles.
3# Generated by GNU Autoconf 2.69 for OpenSSH Portable.
4#
5# Report bugs to <openssh-unix-dev@mindrot.org>.
6#
7#
8# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
9#
10#
11# This configure script is free software; the Free Software Foundation
12# gives unlimited permission to copy, distribute and modify it.
13## -------------------- ##
14## M4sh Initialization. ##
15## -------------------- ##
16
17# Be more Bourne compatible
18DUALCASE=1; export DUALCASE # for MKS sh
19if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
20 emulate sh
21 NULLCMD=:
22 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
23 # is contrary to our usage. Disable this feature.
24 alias -g '${1+"$@"}'='"$@"'
25 setopt NO_GLOB_SUBST
26else
27 case `(set -o) 2>/dev/null` in #(
28 *posix*) :
29 set -o posix ;; #(
30 *) :
31 ;;
32esac
33fi
34
35
36as_nl='
37'
38export as_nl
39# Printing a long string crashes Solaris 7 /usr/bin/printf.
40as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
41as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
42as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
43# Prefer a ksh shell builtin over an external printf program on Solaris,
44# but without wasting forks for bash or zsh.
45if test -z "$BASH_VERSION$ZSH_VERSION" \
46 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
47 as_echo='print -r --'
48 as_echo_n='print -rn --'
49elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
50 as_echo='printf %s\n'
51 as_echo_n='printf %s'
52else
53 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
54 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
55 as_echo_n='/usr/ucb/echo -n'
56 else
57 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
58 as_echo_n_body='eval
59 arg=$1;
60 case $arg in #(
61 *"$as_nl"*)
62 expr "X$arg" : "X\\(.*\\)$as_nl";
63 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
64 esac;
65 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
66 '
67 export as_echo_n_body
68 as_echo_n='sh -c $as_echo_n_body as_echo'
69 fi
70 export as_echo_body
71 as_echo='sh -c $as_echo_body as_echo'
72fi
73
74# The user is always right.
75if test "${PATH_SEPARATOR+set}" != set; then
76 PATH_SEPARATOR=:
77 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
78 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
79 PATH_SEPARATOR=';'
80 }
81fi
82
83
84# IFS
85# We need space, tab and new line, in precisely that order. Quoting is
86# there to prevent editors from complaining about space-tab.
87# (If _AS_PATH_WALK were called with IFS unset, it would disable word
88# splitting by setting IFS to empty value.)
89IFS=" "" $as_nl"
90
91# Find who we are. Look in the path if we contain no directory separator.
92as_myself=
93case $0 in #((
94 *[\\/]* ) as_myself=$0 ;;
95 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
96for as_dir in $PATH
97do
98 IFS=$as_save_IFS
99 test -z "$as_dir" && as_dir=.
100 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
101 done
102IFS=$as_save_IFS
103
104 ;;
105esac
106# We did not find ourselves, most probably we were run as `sh COMMAND'
107# in which case we are not to be found in the path.
108if test "x$as_myself" = x; then
109 as_myself=$0
110fi
111if test ! -f "$as_myself"; then
112 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
113 exit 1
114fi
115
116# Unset variables that we do not need and which cause bugs (e.g. in
117# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
118# suppresses any "Segmentation fault" message there. '((' could
119# trigger a bug in pdksh 5.2.14.
120for as_var in BASH_ENV ENV MAIL MAILPATH
121do eval test x\${$as_var+set} = xset \
122 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
123done
124PS1='$ '
125PS2='> '
126PS4='+ '
127
128# NLS nuisances.
129LC_ALL=C
130export LC_ALL
131LANGUAGE=C
132export LANGUAGE
133
134# CDPATH.
135(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
136
137# Use a proper internal environment variable to ensure we don't fall
138 # into an infinite loop, continuously re-executing ourselves.
139 if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
140 _as_can_reexec=no; export _as_can_reexec;
141 # We cannot yet assume a decent shell, so we have to provide a
142# neutralization value for shells without unset; and this also
143# works around shells that cannot unset nonexistent variables.
144# Preserve -v and -x to the replacement shell.
145BASH_ENV=/dev/null
146ENV=/dev/null
147(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
148case $- in # ((((
149 *v*x* | *x*v* ) as_opts=-vx ;;
150 *v* ) as_opts=-v ;;
151 *x* ) as_opts=-x ;;
152 * ) as_opts= ;;
153esac
154exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
155# Admittedly, this is quite paranoid, since all the known shells bail
156# out after a failed `exec'.
157$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
158as_fn_exit 255
159 fi
160 # We don't want this to propagate to other subprocesses.
161 { _as_can_reexec=; unset _as_can_reexec;}
162if test "x$CONFIG_SHELL" = x; then
163 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
164 emulate sh
165 NULLCMD=:
166 # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
167 # is contrary to our usage. Disable this feature.
168 alias -g '\${1+\"\$@\"}'='\"\$@\"'
169 setopt NO_GLOB_SUBST
170else
171 case \`(set -o) 2>/dev/null\` in #(
172 *posix*) :
173 set -o posix ;; #(
174 *) :
175 ;;
176esac
177fi
178"
179 as_required="as_fn_return () { (exit \$1); }
180as_fn_success () { as_fn_return 0; }
181as_fn_failure () { as_fn_return 1; }
182as_fn_ret_success () { return 0; }
183as_fn_ret_failure () { return 1; }
184
185exitcode=0
186as_fn_success || { exitcode=1; echo as_fn_success failed.; }
187as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
188as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
189as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
190if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
191
192else
193 exitcode=1; echo positional parameters were not saved.
194fi
195test x\$exitcode = x0 || exit 1
196test -x / || exit 1"
197 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
198 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
199 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
200 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
201test \$(( 1 + 1 )) = 2 || exit 1"
202 if (eval "$as_required") 2>/dev/null; then :
203 as_have_required=yes
204else
205 as_have_required=no
206fi
207 if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
208
209else
210 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
211as_found=false
212for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
213do
214 IFS=$as_save_IFS
215 test -z "$as_dir" && as_dir=.
216 as_found=:
217 case $as_dir in #(
218 /*)
219 for as_base in sh bash ksh sh5; do
220 # Try only shells that exist, to save several forks.
221 as_shell=$as_dir/$as_base
222 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
223 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
224 CONFIG_SHELL=$as_shell as_have_required=yes
225 if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
226 break 2
227fi
228fi
229 done;;
230 esac
231 as_found=false
232done
233$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
234 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
235 CONFIG_SHELL=$SHELL as_have_required=yes
236fi; }
237IFS=$as_save_IFS
238
239
240 if test "x$CONFIG_SHELL" != x; then :
241 export CONFIG_SHELL
242 # We cannot yet assume a decent shell, so we have to provide a
243# neutralization value for shells without unset; and this also
244# works around shells that cannot unset nonexistent variables.
245# Preserve -v and -x to the replacement shell.
246BASH_ENV=/dev/null
247ENV=/dev/null
248(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
249case $- in # ((((
250 *v*x* | *x*v* ) as_opts=-vx ;;
251 *v* ) as_opts=-v ;;
252 *x* ) as_opts=-x ;;
253 * ) as_opts= ;;
254esac
255exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
256# Admittedly, this is quite paranoid, since all the known shells bail
257# out after a failed `exec'.
258$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
259exit 255
260fi
261
262 if test x$as_have_required = xno; then :
263 $as_echo "$0: This script requires a shell more modern than all"
264 $as_echo "$0: the shells that I found on your system."
265 if test x${ZSH_VERSION+set} = xset ; then
266 $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
267 $as_echo "$0: be upgraded to zsh 4.3.4 or later."
268 else
269 $as_echo "$0: Please tell bug-autoconf@gnu.org and
270$0: openssh-unix-dev@mindrot.org about your system,
271$0: including any error possibly output before this
272$0: message. Then install a modern shell, or manually run
273$0: the script under such a shell if you do have one."
274 fi
275 exit 1
276fi
277fi
278fi
279SHELL=${CONFIG_SHELL-/bin/sh}
280export SHELL
281# Unset more variables known to interfere with behavior of common tools.
282CLICOLOR_FORCE= GREP_OPTIONS=
283unset CLICOLOR_FORCE GREP_OPTIONS
284
285## --------------------- ##
286## M4sh Shell Functions. ##
287## --------------------- ##
288# as_fn_unset VAR
289# ---------------
290# Portably unset VAR.
291as_fn_unset ()
292{
293 { eval $1=; unset $1;}
294}
295as_unset=as_fn_unset
296
297# as_fn_set_status STATUS
298# -----------------------
299# Set $? to STATUS, without forking.
300as_fn_set_status ()
301{
302 return $1
303} # as_fn_set_status
304
305# as_fn_exit STATUS
306# -----------------
307# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
308as_fn_exit ()
309{
310 set +e
311 as_fn_set_status $1
312 exit $1
313} # as_fn_exit
314
315# as_fn_mkdir_p
316# -------------
317# Create "$as_dir" as a directory, including parents if necessary.
318as_fn_mkdir_p ()
319{
320
321 case $as_dir in #(
322 -*) as_dir=./$as_dir;;
323 esac
324 test -d "$as_dir" || eval $as_mkdir_p || {
325 as_dirs=
326 while :; do
327 case $as_dir in #(
328 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
329 *) as_qdir=$as_dir;;
330 esac
331 as_dirs="'$as_qdir' $as_dirs"
332 as_dir=`$as_dirname -- "$as_dir" ||
333$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
334 X"$as_dir" : 'X\(//\)[^/]' \| \
335 X"$as_dir" : 'X\(//\)$' \| \
336 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
337$as_echo X"$as_dir" |
338 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
339 s//\1/
340 q
341 }
342 /^X\(\/\/\)[^/].*/{
343 s//\1/
344 q
345 }
346 /^X\(\/\/\)$/{
347 s//\1/
348 q
349 }
350 /^X\(\/\).*/{
351 s//\1/
352 q
353 }
354 s/.*/./; q'`
355 test -d "$as_dir" && break
356 done
357 test -z "$as_dirs" || eval "mkdir $as_dirs"
358 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
359
360
361} # as_fn_mkdir_p
362
363# as_fn_executable_p FILE
364# -----------------------
365# Test if FILE is an executable regular file.
366as_fn_executable_p ()
367{
368 test -f "$1" && test -x "$1"
369} # as_fn_executable_p
370# as_fn_append VAR VALUE
371# ----------------------
372# Append the text in VALUE to the end of the definition contained in VAR. Take
373# advantage of any shell optimizations that allow amortized linear growth over
374# repeated appends, instead of the typical quadratic growth present in naive
375# implementations.
376if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
377 eval 'as_fn_append ()
378 {
379 eval $1+=\$2
380 }'
381else
382 as_fn_append ()
383 {
384 eval $1=\$$1\$2
385 }
386fi # as_fn_append
387
388# as_fn_arith ARG...
389# ------------------
390# Perform arithmetic evaluation on the ARGs, and store the result in the
391# global $as_val. Take advantage of shells that can avoid forks. The arguments
392# must be portable across $(()) and expr.
393if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
394 eval 'as_fn_arith ()
395 {
396 as_val=$(( $* ))
397 }'
398else
399 as_fn_arith ()
400 {
401 as_val=`expr "$@" || test $? -eq 1`
402 }
403fi # as_fn_arith
404
405
406# as_fn_error STATUS ERROR [LINENO LOG_FD]
407# ----------------------------------------
408# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
409# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
410# script with STATUS, using 1 if that was 0.
411as_fn_error ()
412{
413 as_status=$1; test $as_status -eq 0 && as_status=1
414 if test "$4"; then
415 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
416 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
417 fi
418 $as_echo "$as_me: error: $2" >&2
419 as_fn_exit $as_status
420} # as_fn_error
421
422if expr a : '\(a\)' >/dev/null 2>&1 &&
423 test "X`expr 00001 : '.*\(...\)'`" = X001; then
424 as_expr=expr
425else
426 as_expr=false
427fi
428
429if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
430 as_basename=basename
431else
432 as_basename=false
433fi
434
435if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
436 as_dirname=dirname
437else
438 as_dirname=false
439fi
440
441as_me=`$as_basename -- "$0" ||
442$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
443 X"$0" : 'X\(//\)$' \| \
444 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
445$as_echo X/"$0" |
446 sed '/^.*\/\([^/][^/]*\)\/*$/{
447 s//\1/
448 q
449 }
450 /^X\/\(\/\/\)$/{
451 s//\1/
452 q
453 }
454 /^X\/\(\/\).*/{
455 s//\1/
456 q
457 }
458 s/.*/./; q'`
459
460# Avoid depending upon Character Ranges.
461as_cr_letters='abcdefghijklmnopqrstuvwxyz'
462as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
463as_cr_Letters=$as_cr_letters$as_cr_LETTERS
464as_cr_digits='0123456789'
465as_cr_alnum=$as_cr_Letters$as_cr_digits
466
467
468 as_lineno_1=$LINENO as_lineno_1a=$LINENO
469 as_lineno_2=$LINENO as_lineno_2a=$LINENO
470 eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
471 test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
472 # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
473 sed -n '
474 p
475 /[$]LINENO/=
476 ' <$as_myself |
477 sed '
478 s/[$]LINENO.*/&-/
479 t lineno
480 b
481 :lineno
482 N
483 :loop
484 s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
485 t loop
486 s/-\n.*//
487 ' >$as_me.lineno &&
488 chmod +x "$as_me.lineno" ||
489 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
490
491 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
492 # already done that, so ensure we don't try to do so again and fall
493 # in an infinite loop. This has already happened in practice.
494 _as_can_reexec=no; export _as_can_reexec
495 # Don't try to exec as it changes $[0], causing all sort of problems
496 # (the dirname of $[0] is not the place where we might find the
497 # original and so on. Autoconf is especially sensitive to this).
498 . "./$as_me.lineno"
499 # Exit status is that of the last command.
500 exit
501}
502
503ECHO_C= ECHO_N= ECHO_T=
504case `echo -n x` in #(((((
505-n*)
506 case `echo 'xy\c'` in
507 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
508 xy) ECHO_C='\c';;
509 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
510 ECHO_T=' ';;
511 esac;;
512*)
513 ECHO_N='-n';;
514esac
515
516rm -f conf$$ conf$$.exe conf$$.file
517if test -d conf$$.dir; then
518 rm -f conf$$.dir/conf$$.file
519else
520 rm -f conf$$.dir
521 mkdir conf$$.dir 2>/dev/null
522fi
523if (echo >conf$$.file) 2>/dev/null; then
524 if ln -s conf$$.file conf$$ 2>/dev/null; then
525 as_ln_s='ln -s'
526 # ... but there are two gotchas:
527 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
528 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
529 # In both cases, we have to default to `cp -pR'.
530 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
531 as_ln_s='cp -pR'
532 elif ln conf$$.file conf$$ 2>/dev/null; then
533 as_ln_s=ln
534 else
535 as_ln_s='cp -pR'
536 fi
537else
538 as_ln_s='cp -pR'
539fi
540rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
541rmdir conf$$.dir 2>/dev/null
542
543if mkdir -p . 2>/dev/null; then
544 as_mkdir_p='mkdir -p "$as_dir"'
545else
546 test -d ./-p && rmdir ./-p
547 as_mkdir_p=false
548fi
549
550as_test_x='test -x'
551as_executable_p=as_fn_executable_p
552
553# Sed expression to map a string onto a valid CPP name.
554as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
555
556# Sed expression to map a string onto a valid variable name.
557as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
558
559
560test -n "$DJDIR" || exec 7<&0 </dev/null
561exec 6>&1
562
563# Name of the host.
564# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
565# so uname gets run too.
566ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
567
568#
569# Initializations.
570#
571ac_default_prefix=/usr/local
572ac_clean_files=
573ac_config_libobj_dir=.
574LIBOBJS=
575cross_compiling=no
576subdirs=
577MFLAGS=
578MAKEFLAGS=
579
580# Identity of this package.
581PACKAGE_NAME='OpenSSH'
582PACKAGE_TARNAME='openssh'
583PACKAGE_VERSION='Portable'
584PACKAGE_STRING='OpenSSH Portable'
585PACKAGE_BUGREPORT='openssh-unix-dev@mindrot.org'
586PACKAGE_URL=''
587
588ac_unique_file="ssh.c"
589# Factoring default headers for most tests.
590ac_includes_default="\
591#include <stdio.h>
592#ifdef HAVE_SYS_TYPES_H
593# include <sys/types.h>
594#endif
595#ifdef HAVE_SYS_STAT_H
596# include <sys/stat.h>
597#endif
598#ifdef STDC_HEADERS
599# include <stdlib.h>
600# include <stddef.h>
601#else
602# ifdef HAVE_STDLIB_H
603# include <stdlib.h>
604# endif
605#endif
606#ifdef HAVE_STRING_H
607# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
608# include <memory.h>
609# endif
610# include <string.h>
611#endif
612#ifdef HAVE_STRINGS_H
613# include <strings.h>
614#endif
615#ifdef HAVE_INTTYPES_H
616# include <inttypes.h>
617#endif
618#ifdef HAVE_STDINT_H
619# include <stdint.h>
620#endif
621#ifdef HAVE_UNISTD_H
622# include <unistd.h>
623#endif"
624
625ac_subst_vars='LTLIBOBJS
626CFLAGS_NOPIE
627LDFLAGS_NOPIE
628DEPEND
629UNSUPPORTED_ALGORITHMS
630TEST_MALLOC_OPTIONS
631TEST_SSH_UTF8
632TEST_SSH_IPV6
633piddir
634user_path
635mansubdir
636MANTYPE
637XAUTH_PATH
638STRIP_OPT
639xauth_path
640PRIVSEP_PATH
641K5LIBS
642GSSLIBS
643KRB5CONF
644SSHDLIBS
645SSH_PRIVSEP_USER
646LIBFIDO2
647SK_DUMMY_LIBRARY
648COMMENT_OUT_ECC
649TEST_SSH_ECC
650PICFLAG
651LIBEDIT
652PKGCONFIG
653LDNSCONFIG
654LIBOBJS
655LD
656PATH_PASSWD_PROG
657STARTUP_SCRIPT_SHELL
658MAKE_PACKAGE_SUPPORTED
659PATH_USERADD_PROG
660PATH_GROUPADD_PROG
661MANFMT
662TEST_SHELL
663MANDOC
664NROFF
665GROFF
666SH
667TEST_MINUS_S_SH
668SED
669KILL
670CAT
671ac_ct_AR
672AR
673MKDIR_P
674INSTALL_DATA
675INSTALL_SCRIPT
676INSTALL_PROGRAM
677RANLIB
678AWK
679EGREP
680GREP
681CPP
682host_os
683host_vendor
684host_cpu
685host
686build_os
687build_vendor
688build_cpu
689build
690OBJEXT
691EXEEXT
692ac_ct_CC
693CPPFLAGS
694LDFLAGS
695CFLAGS
696CC
697target_alias
698host_alias
699build_alias
700LIBS
701ECHO_T
702ECHO_N
703ECHO_C
704DEFS
705mandir
706localedir
707libdir
708psdir
709pdfdir
710dvidir
711htmldir
712infodir
713docdir
714oldincludedir
715includedir
716runstatedir
717localstatedir
718sharedstatedir
719sysconfdir
720datadir
721datarootdir
722libexecdir
723sbindir
724bindir
725program_transform_name
726prefix
727exec_prefix
728PACKAGE_URL
729PACKAGE_BUGREPORT
730PACKAGE_STRING
731PACKAGE_VERSION
732PACKAGE_TARNAME
733PACKAGE_NAME
734PATH_SEPARATOR
735SHELL'
736ac_subst_files=''
737ac_user_opts='
738enable_option_checking
739enable_largefile
740with_openssl
741with_stackprotect
742with_hardening
743with_rpath
744with_cflags
745with_cflags_after
746with_cppflags
747with_ldflags
748with_ldflags_after
749with_libs
750with_Werror
751with_solaris_contracts
752with_solaris_projects
753with_solaris_privs
754with_osfsia
755with_zlib
756with_zlib_version_check
757with_ldns
758with_libedit
759with_audit
760with_pie
761enable_pkcs11
762enable_security_key
763with_security_key_builtin
764with_ssl_dir
765with_openssl_header_check
766with_ssl_engine
767with_prngd_port
768with_prngd_socket
769with_pam
770with_pam_service
771with_privsep_user
772with_sandbox
773with_selinux
774with_kerberos5
775with_privsep_path
776with_xauth
777enable_strip
778with_maildir
779with_mantype
780with_md5_passwords
781with_shadow
782with_ipaddr_display
783enable_etc_default_login
784with_default_path
785with_superuser_path
786with_4in6
787with_bsd_auth
788with_pid_dir
789enable_lastlog
790enable_utmp
791enable_utmpx
792enable_wtmp
793enable_wtmpx
794enable_libutil
795enable_pututline
796enable_pututxline
797with_lastlog
798'
799 ac_precious_vars='build_alias
800host_alias
801target_alias
802CC
803CFLAGS
804LDFLAGS
805LIBS
806CPPFLAGS
807CPP'
808
809
810# Initialize some variables set by options.
811ac_init_help=
812ac_init_version=false
813ac_unrecognized_opts=
814ac_unrecognized_sep=
815# The variables have the same names as the options, with
816# dashes changed to underlines.
817cache_file=/dev/null
818exec_prefix=NONE
819no_create=
820no_recursion=
821prefix=NONE
822program_prefix=NONE
823program_suffix=NONE
824program_transform_name=s,x,x,
825silent=
826site=
827srcdir=
828verbose=
829x_includes=NONE
830x_libraries=NONE
831
832# Installation directory options.
833# These are left unexpanded so users can "make install exec_prefix=/foo"
834# and all the variables that are supposed to be based on exec_prefix
835# by default will actually change.
836# Use braces instead of parens because sh, perl, etc. also accept them.
837# (The list follows the same order as the GNU Coding Standards.)
838bindir='${exec_prefix}/bin'
839sbindir='${exec_prefix}/sbin'
840libexecdir='${exec_prefix}/libexec'
841datarootdir='${prefix}/share'
842datadir='${datarootdir}'
843sysconfdir='${prefix}/etc'
844sharedstatedir='${prefix}/com'
845localstatedir='${prefix}/var'
846runstatedir='${localstatedir}/run'
847includedir='${prefix}/include'
848oldincludedir='/usr/include'
849docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
850infodir='${datarootdir}/info'
851htmldir='${docdir}'
852dvidir='${docdir}'
853pdfdir='${docdir}'
854psdir='${docdir}'
855libdir='${exec_prefix}/lib'
856localedir='${datarootdir}/locale'
857mandir='${datarootdir}/man'
858
859ac_prev=
860ac_dashdash=
861for ac_option
862do
863 # If the previous option needs an argument, assign it.
864 if test -n "$ac_prev"; then
865 eval $ac_prev=\$ac_option
866 ac_prev=
867 continue
868 fi
869
870 case $ac_option in
871 *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
872 *=) ac_optarg= ;;
873 *) ac_optarg=yes ;;
874 esac
875
876 # Accept the important Cygnus configure options, so we can diagnose typos.
877
878 case $ac_dashdash$ac_option in
879 --)
880 ac_dashdash=yes ;;
881
882 -bindir | --bindir | --bindi | --bind | --bin | --bi)
883 ac_prev=bindir ;;
884 -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
885 bindir=$ac_optarg ;;
886
887 -build | --build | --buil | --bui | --bu)
888 ac_prev=build_alias ;;
889 -build=* | --build=* | --buil=* | --bui=* | --bu=*)
890 build_alias=$ac_optarg ;;
891
892 -cache-file | --cache-file | --cache-fil | --cache-fi \
893 | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
894 ac_prev=cache_file ;;
895 -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
896 | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
897 cache_file=$ac_optarg ;;
898
899 --config-cache | -C)
900 cache_file=config.cache ;;
901
902 -datadir | --datadir | --datadi | --datad)
903 ac_prev=datadir ;;
904 -datadir=* | --datadir=* | --datadi=* | --datad=*)
905 datadir=$ac_optarg ;;
906
907 -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
908 | --dataroo | --dataro | --datar)
909 ac_prev=datarootdir ;;
910 -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
911 | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
912 datarootdir=$ac_optarg ;;
913
914 -disable-* | --disable-*)
915 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
916 # Reject names that are not valid shell variable names.
917 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
918 as_fn_error $? "invalid feature name: $ac_useropt"
919 ac_useropt_orig=$ac_useropt
920 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
921 case $ac_user_opts in
922 *"
923"enable_$ac_useropt"
924"*) ;;
925 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
926 ac_unrecognized_sep=', ';;
927 esac
928 eval enable_$ac_useropt=no ;;
929
930 -docdir | --docdir | --docdi | --doc | --do)
931 ac_prev=docdir ;;
932 -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
933 docdir=$ac_optarg ;;
934
935 -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
936 ac_prev=dvidir ;;
937 -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
938 dvidir=$ac_optarg ;;
939
940 -enable-* | --enable-*)
941 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
942 # Reject names that are not valid shell variable names.
943 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
944 as_fn_error $? "invalid feature name: $ac_useropt"
945 ac_useropt_orig=$ac_useropt
946 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
947 case $ac_user_opts in
948 *"
949"enable_$ac_useropt"
950"*) ;;
951 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
952 ac_unrecognized_sep=', ';;
953 esac
954 eval enable_$ac_useropt=\$ac_optarg ;;
955
956 -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
957 | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
958 | --exec | --exe | --ex)
959 ac_prev=exec_prefix ;;
960 -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
961 | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
962 | --exec=* | --exe=* | --ex=*)
963 exec_prefix=$ac_optarg ;;
964
965 -gas | --gas | --ga | --g)
966 # Obsolete; use --with-gas.
967 with_gas=yes ;;
968
969 -help | --help | --hel | --he | -h)
970 ac_init_help=long ;;
971 -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
972 ac_init_help=recursive ;;
973 -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
974 ac_init_help=short ;;
975
976 -host | --host | --hos | --ho)
977 ac_prev=host_alias ;;
978 -host=* | --host=* | --hos=* | --ho=*)
979 host_alias=$ac_optarg ;;
980
981 -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
982 ac_prev=htmldir ;;
983 -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
984 | --ht=*)
985 htmldir=$ac_optarg ;;
986
987 -includedir | --includedir | --includedi | --included | --include \
988 | --includ | --inclu | --incl | --inc)
989 ac_prev=includedir ;;
990 -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
991 | --includ=* | --inclu=* | --incl=* | --inc=*)
992 includedir=$ac_optarg ;;
993
994 -infodir | --infodir | --infodi | --infod | --info | --inf)
995 ac_prev=infodir ;;
996 -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
997 infodir=$ac_optarg ;;
998
999 -libdir | --libdir | --libdi | --libd)
1000 ac_prev=libdir ;;
1001 -libdir=* | --libdir=* | --libdi=* | --libd=*)
1002 libdir=$ac_optarg ;;
1003
1004 -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
1005 | --libexe | --libex | --libe)
1006 ac_prev=libexecdir ;;
1007 -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
1008 | --libexe=* | --libex=* | --libe=*)
1009 libexecdir=$ac_optarg ;;
1010
1011 -localedir | --localedir | --localedi | --localed | --locale)
1012 ac_prev=localedir ;;
1013 -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
1014 localedir=$ac_optarg ;;
1015
1016 -localstatedir | --localstatedir | --localstatedi | --localstated \
1017 | --localstate | --localstat | --localsta | --localst | --locals)
1018 ac_prev=localstatedir ;;
1019 -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1020 | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
1021 localstatedir=$ac_optarg ;;
1022
1023 -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1024 ac_prev=mandir ;;
1025 -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1026 mandir=$ac_optarg ;;
1027
1028 -nfp | --nfp | --nf)
1029 # Obsolete; use --without-fp.
1030 with_fp=no ;;
1031
1032 -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1033 | --no-cr | --no-c | -n)
1034 no_create=yes ;;
1035
1036 -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1037 | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1038 no_recursion=yes ;;
1039
1040 -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1041 | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1042 | --oldin | --oldi | --old | --ol | --o)
1043 ac_prev=oldincludedir ;;
1044 -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1045 | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1046 | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1047 oldincludedir=$ac_optarg ;;
1048
1049 -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1050 ac_prev=prefix ;;
1051 -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1052 prefix=$ac_optarg ;;
1053
1054 -program-prefix | --program-prefix | --program-prefi | --program-pref \
1055 | --program-pre | --program-pr | --program-p)
1056 ac_prev=program_prefix ;;
1057 -program-prefix=* | --program-prefix=* | --program-prefi=* \
1058 | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1059 program_prefix=$ac_optarg ;;
1060
1061 -program-suffix | --program-suffix | --program-suffi | --program-suff \
1062 | --program-suf | --program-su | --program-s)
1063 ac_prev=program_suffix ;;
1064 -program-suffix=* | --program-suffix=* | --program-suffi=* \
1065 | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
1066 program_suffix=$ac_optarg ;;
1067
1068 -program-transform-name | --program-transform-name \
1069 | --program-transform-nam | --program-transform-na \
1070 | --program-transform-n | --program-transform- \
1071 | --program-transform | --program-transfor \
1072 | --program-transfo | --program-transf \
1073 | --program-trans | --program-tran \
1074 | --progr-tra | --program-tr | --program-t)
1075 ac_prev=program_transform_name ;;
1076 -program-transform-name=* | --program-transform-name=* \
1077 | --program-transform-nam=* | --program-transform-na=* \
1078 | --program-transform-n=* | --program-transform-=* \
1079 | --program-transform=* | --program-transfor=* \
1080 | --program-transfo=* | --program-transf=* \
1081 | --program-trans=* | --program-tran=* \
1082 | --progr-tra=* | --program-tr=* | --program-t=*)
1083 program_transform_name=$ac_optarg ;;
1084
1085 -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
1086 ac_prev=pdfdir ;;
1087 -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
1088 pdfdir=$ac_optarg ;;
1089
1090 -psdir | --psdir | --psdi | --psd | --ps)
1091 ac_prev=psdir ;;
1092 -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
1093 psdir=$ac_optarg ;;
1094
1095 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1096 | -silent | --silent | --silen | --sile | --sil)
1097 silent=yes ;;
1098
1099 -runstatedir | --runstatedir | --runstatedi | --runstated \
1100 | --runstate | --runstat | --runsta | --runst | --runs \
1101 | --run | --ru | --r)
1102 ac_prev=runstatedir ;;
1103 -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
1104 | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
1105 | --run=* | --ru=* | --r=*)
1106 runstatedir=$ac_optarg ;;
1107
1108 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
1109 ac_prev=sbindir ;;
1110 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
1111 | --sbi=* | --sb=*)
1112 sbindir=$ac_optarg ;;
1113
1114 -sharedstatedir | --sharedstatedir | --sharedstatedi \
1115 | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
1116 | --sharedst | --shareds | --shared | --share | --shar \
1117 | --sha | --sh)
1118 ac_prev=sharedstatedir ;;
1119 -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
1120 | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
1121 | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
1122 | --sha=* | --sh=*)
1123 sharedstatedir=$ac_optarg ;;
1124
1125 -site | --site | --sit)
1126 ac_prev=site ;;
1127 -site=* | --site=* | --sit=*)
1128 site=$ac_optarg ;;
1129
1130 -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
1131 ac_prev=srcdir ;;
1132 -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
1133 srcdir=$ac_optarg ;;
1134
1135 -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
1136 | --syscon | --sysco | --sysc | --sys | --sy)
1137 ac_prev=sysconfdir ;;
1138 -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
1139 | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
1140 sysconfdir=$ac_optarg ;;
1141
1142 -target | --target | --targe | --targ | --tar | --ta | --t)
1143 ac_prev=target_alias ;;
1144 -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
1145 target_alias=$ac_optarg ;;
1146
1147 -v | -verbose | --verbose | --verbos | --verbo | --verb)
1148 verbose=yes ;;
1149
1150 -version | --version | --versio | --versi | --vers | -V)
1151 ac_init_version=: ;;
1152
1153 -with-* | --with-*)
1154 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1155 # Reject names that are not valid shell variable names.
1156 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1157 as_fn_error $? "invalid package name: $ac_useropt"
1158 ac_useropt_orig=$ac_useropt
1159 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1160 case $ac_user_opts in
1161 *"
1162"with_$ac_useropt"
1163"*) ;;
1164 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
1165 ac_unrecognized_sep=', ';;
1166 esac
1167 eval with_$ac_useropt=\$ac_optarg ;;
1168
1169 -without-* | --without-*)
1170 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1171 # Reject names that are not valid shell variable names.
1172 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1173 as_fn_error $? "invalid package name: $ac_useropt"
1174 ac_useropt_orig=$ac_useropt
1175 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1176 case $ac_user_opts in
1177 *"
1178"with_$ac_useropt"
1179"*) ;;
1180 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
1181 ac_unrecognized_sep=', ';;
1182 esac
1183 eval with_$ac_useropt=no ;;
1184
1185 --x)
1186 # Obsolete; use --with-x.
1187 with_x=yes ;;
1188
1189 -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
1190 | --x-incl | --x-inc | --x-in | --x-i)
1191 ac_prev=x_includes ;;
1192 -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
1193 | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
1194 x_includes=$ac_optarg ;;
1195
1196 -x-libraries | --x-libraries | --x-librarie | --x-librari \
1197 | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
1198 ac_prev=x_libraries ;;
1199 -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
1200 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1201 x_libraries=$ac_optarg ;;
1202
1203 -*) as_fn_error $? "unrecognized option: \`$ac_option'
1204Try \`$0 --help' for more information"
1205 ;;
1206
1207 *=*)
1208 ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
1209 # Reject names that are not valid shell variable names.
1210 case $ac_envvar in #(
1211 '' | [0-9]* | *[!_$as_cr_alnum]* )
1212 as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
1213 esac
1214 eval $ac_envvar=\$ac_optarg
1215 export $ac_envvar ;;
1216
1217 *)
1218 # FIXME: should be removed in autoconf 3.0.
1219 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
1220 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
1221 $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
1222 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
1223 ;;
1224
1225 esac
1226done
1227
1228if test -n "$ac_prev"; then
1229 ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1230 as_fn_error $? "missing argument to $ac_option"
1231fi
1232
1233if test -n "$ac_unrecognized_opts"; then
1234 case $enable_option_checking in
1235 no) ;;
1236 fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
1237 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
1238 esac
1239fi
1240
1241# Check all directory arguments for consistency.
1242for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
1243 datadir sysconfdir sharedstatedir localstatedir includedir \
1244 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1245 libdir localedir mandir runstatedir
1246do
1247 eval ac_val=\$$ac_var
1248 # Remove trailing slashes.
1249 case $ac_val in
1250 */ )
1251 ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
1252 eval $ac_var=\$ac_val;;
1253 esac
1254 # Be sure to have absolute directory names.
1255 case $ac_val in
1256 [\\/$]* | ?:[\\/]* ) continue;;
1257 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1258 esac
1259 as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
1260done
1261
1262# There might be people who depend on the old broken behavior: `$host'
1263# used to hold the argument of --host etc.
1264# FIXME: To remove some day.
1265build=$build_alias
1266host=$host_alias
1267target=$target_alias
1268
1269# FIXME: To remove some day.
1270if test "x$host_alias" != x; then
1271 if test "x$build_alias" = x; then
1272 cross_compiling=maybe
1273 elif test "x$build_alias" != "x$host_alias"; then
1274 cross_compiling=yes
1275 fi
1276fi
1277
1278ac_tool_prefix=
1279test -n "$host_alias" && ac_tool_prefix=$host_alias-
1280
1281test "$silent" = yes && exec 6>/dev/null
1282
1283
1284ac_pwd=`pwd` && test -n "$ac_pwd" &&
1285ac_ls_di=`ls -di .` &&
1286ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1287 as_fn_error $? "working directory cannot be determined"
1288test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1289 as_fn_error $? "pwd does not report name of working directory"
1290
1291
1292# Find the source files, if location was not specified.
1293if test -z "$srcdir"; then
1294 ac_srcdir_defaulted=yes
1295 # Try the directory containing this script, then the parent directory.
1296 ac_confdir=`$as_dirname -- "$as_myself" ||
1297$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
1298 X"$as_myself" : 'X\(//\)[^/]' \| \
1299 X"$as_myself" : 'X\(//\)$' \| \
1300 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
1301$as_echo X"$as_myself" |
1302 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
1303 s//\1/
1304 q
1305 }
1306 /^X\(\/\/\)[^/].*/{
1307 s//\1/
1308 q
1309 }
1310 /^X\(\/\/\)$/{
1311 s//\1/
1312 q
1313 }
1314 /^X\(\/\).*/{
1315 s//\1/
1316 q
1317 }
1318 s/.*/./; q'`
1319 srcdir=$ac_confdir
1320 if test ! -r "$srcdir/$ac_unique_file"; then
1321 srcdir=..
1322 fi
1323else
1324 ac_srcdir_defaulted=no
1325fi
1326if test ! -r "$srcdir/$ac_unique_file"; then
1327 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1328 as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
1329fi
1330ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1331ac_abs_confdir=`(
1332 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
1333 pwd)`
1334# When building in place, set srcdir=.
1335if test "$ac_abs_confdir" = "$ac_pwd"; then
1336 srcdir=.
1337fi
1338# Remove unnecessary trailing slashes from srcdir.
1339# Double slashes in file names in object file debugging info
1340# mess up M-x gdb in Emacs.
1341case $srcdir in
1342*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
1343esac
1344for ac_var in $ac_precious_vars; do
1345 eval ac_env_${ac_var}_set=\${${ac_var}+set}
1346 eval ac_env_${ac_var}_value=\$${ac_var}
1347 eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
1348 eval ac_cv_env_${ac_var}_value=\$${ac_var}
1349done
1350
1351#
1352# Report the --help message.
1353#
1354if test "$ac_init_help" = "long"; then
1355 # Omit some internal or obsolete options to make the list less imposing.
1356 # This message is too long to be a string in the A/UX 3.1 sh.
1357 cat <<_ACEOF
1358\`configure' configures OpenSSH Portable to adapt to many kinds of systems.
1359
1360Usage: $0 [OPTION]... [VAR=VALUE]...
1361
1362To assign environment variables (e.g., CC, CFLAGS...), specify them as
1363VAR=VALUE. See below for descriptions of some of the useful variables.
1364
1365Defaults for the options are specified in brackets.
1366
1367Configuration:
1368 -h, --help display this help and exit
1369 --help=short display options specific to this package
1370 --help=recursive display the short help of all the included packages
1371 -V, --version display version information and exit
1372 -q, --quiet, --silent do not print \`checking ...' messages
1373 --cache-file=FILE cache test results in FILE [disabled]
1374 -C, --config-cache alias for \`--cache-file=config.cache'
1375 -n, --no-create do not create output files
1376 --srcdir=DIR find the sources in DIR [configure dir or \`..']
1377
1378Installation directories:
1379 --prefix=PREFIX install architecture-independent files in PREFIX
1380 [$ac_default_prefix]
1381 --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
1382 [PREFIX]
1383
1384By default, \`make install' will install all the files in
1385\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
1386an installation prefix other than \`$ac_default_prefix' using \`--prefix',
1387for instance \`--prefix=\$HOME'.
1388
1389For better control, use the options below.
1390
1391Fine tuning of the installation directories:
1392 --bindir=DIR user executables [EPREFIX/bin]
1393 --sbindir=DIR system admin executables [EPREFIX/sbin]
1394 --libexecdir=DIR program executables [EPREFIX/libexec]
1395 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
1396 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
1397 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
1398 --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
1399 --libdir=DIR object code libraries [EPREFIX/lib]
1400 --includedir=DIR C header files [PREFIX/include]
1401 --oldincludedir=DIR C header files for non-gcc [/usr/include]
1402 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
1403 --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
1404 --infodir=DIR info documentation [DATAROOTDIR/info]
1405 --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
1406 --mandir=DIR man documentation [DATAROOTDIR/man]
1407 --docdir=DIR documentation root [DATAROOTDIR/doc/openssh]
1408 --htmldir=DIR html documentation [DOCDIR]
1409 --dvidir=DIR dvi documentation [DOCDIR]
1410 --pdfdir=DIR pdf documentation [DOCDIR]
1411 --psdir=DIR ps documentation [DOCDIR]
1412_ACEOF
1413
1414 cat <<\_ACEOF
1415
1416System types:
1417 --build=BUILD configure for building on BUILD [guessed]
1418 --host=HOST cross-compile to build programs to run on HOST [BUILD]
1419_ACEOF
1420fi
1421
1422if test -n "$ac_init_help"; then
1423 case $ac_init_help in
1424 short | recursive ) echo "Configuration of OpenSSH Portable:";;
1425 esac
1426 cat <<\_ACEOF
1427
1428Optional Features:
1429 --disable-option-checking ignore unrecognized --enable/--with options
1430 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
1431 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
1432 --disable-largefile omit support for large files
1433 --disable-pkcs11 disable PKCS#11 support code [no]
1434 --disable-security-key disable U2F/FIDO support code no
1435 --disable-strip Disable calling strip(1) on install
1436 --disable-etc-default-login Disable using PATH from /etc/default/login no
1437 --disable-lastlog disable use of lastlog even if detected no
1438 --disable-utmp disable use of utmp even if detected no
1439 --disable-utmpx disable use of utmpx even if detected no
1440 --disable-wtmp disable use of wtmp even if detected no
1441 --disable-wtmpx disable use of wtmpx even if detected no
1442 --disable-libutil disable use of libutil (login() etc.) no
1443 --disable-pututline disable use of pututline() etc. (uwtmp) no
1444 --disable-pututxline disable use of pututxline() etc. (uwtmpx) no
1445
1446Optional Packages:
1447 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
1448 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
1449 --without-openssl Disable use of OpenSSL; use only limited internal crypto **EXPERIMENTAL**
1450 --without-stackprotect Don't use compiler's stack protection
1451 --without-hardening Don't use toolchain hardening flags
1452 --without-rpath Disable auto-added -R linker paths
1453 --with-cflags Specify additional flags to pass to compiler
1454 --with-cflags-after Specify additional flags to pass to compiler after configure
1455 --with-cppflags Specify additional flags to pass to preprocessor
1456 --with-ldflags Specify additional flags to pass to linker
1457 --with-ldflags-after Specify additional flags to pass to linker after configure
1458 --with-libs Specify additional libraries to link with
1459 --with-Werror Build main code with -Werror
1460 --with-solaris-contracts Enable Solaris process contracts (experimental)
1461 --with-solaris-projects Enable Solaris projects (experimental)
1462 --with-solaris-privs Enable Solaris/Illumos privileges (experimental)
1463 --with-osfsia Enable Digital Unix SIA
1464 --with-zlib=PATH Use zlib in PATH
1465 --without-zlib-version-check Disable zlib version check
1466 --with-ldns[=PATH] Use ldns for DNSSEC support (optionally in PATH)
1467 --with-libedit[=PATH] Enable libedit support for sftp
1468 --with-audit=module Enable audit support (modules=debug,bsm,linux)
1469 --with-pie Build Position Independent Executables if possible
1470 --with-security-key-builtin include builtin U2F/FIDO support
1471 --with-ssl-dir=PATH Specify path to OpenSSL installation
1472 --without-openssl-header-check Disable OpenSSL version consistency check
1473 --with-ssl-engine Enable OpenSSL (hardware) ENGINE support
1474 --with-prngd-port=PORT read entropy from PRNGD/EGD TCP localhost:PORT
1475 --with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE (default=/var/run/egd-pool)
1476 --with-pam Enable PAM support
1477 --with-pam-service=name Specify PAM service name
1478 --with-privsep-user=user Specify non-privileged user for privilege separation
1479 --with-sandbox=style Specify privilege separation sandbox (no, capsicum, darwin, rlimit, seccomp_filter, systrace, pledge)
1480 --with-selinux Enable SELinux support
1481 --with-kerberos5=PATH Enable Kerberos 5 support
1482 --with-privsep-path=xxx Path for privilege separation chroot (default=/var/empty)
1483 --with-xauth=PATH Specify path to xauth program
1484 --with-maildir=/path/to/mail Specify your system mail directory
1485 --with-mantype=man|cat|doc Set man page type
1486 --with-md5-passwords Enable use of MD5 passwords
1487 --without-shadow Disable shadow password support
1488 --with-ipaddr-display Use ip address instead of hostname in $DISPLAY
1489 --with-default-path= Specify default $PATH environment for server
1490 --with-superuser-path= Specify different path for super-user
1491 --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses
1492 --with-bsd-auth Enable BSD auth support
1493 --with-pid-dir=PATH Specify location of sshd.pid file
1494 --with-lastlog=FILE|DIR specify lastlog location common locations
1495
1496Some influential environment variables:
1497 CC C compiler command
1498 CFLAGS C compiler flags
1499 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
1500 nonstandard directory <lib dir>
1501 LIBS libraries to pass to the linker, e.g. -l<library>
1502 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
1503 you have headers in a nonstandard directory <include dir>
1504 CPP C preprocessor
1505
1506Use these variables to override the choices made by `configure' or to help
1507it to find libraries and programs with nonstandard names/locations.
1508
1509Report bugs to <openssh-unix-dev@mindrot.org>.
1510_ACEOF
1511ac_status=$?
1512fi
1513
1514if test "$ac_init_help" = "recursive"; then
1515 # If there are subdirs, report their specific --help.
1516 for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
1517 test -d "$ac_dir" ||
1518 { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
1519 continue
1520 ac_builddir=.
1521
1522case "$ac_dir" in
1523.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
1524*)
1525 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
1526 # A ".." for each directory in $ac_dir_suffix.
1527 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
1528 case $ac_top_builddir_sub in
1529 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
1530 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
1531 esac ;;
1532esac
1533ac_abs_top_builddir=$ac_pwd
1534ac_abs_builddir=$ac_pwd$ac_dir_suffix
1535# for backward compatibility:
1536ac_top_builddir=$ac_top_build_prefix
1537
1538case $srcdir in
1539 .) # We are building in place.
1540 ac_srcdir=.
1541 ac_top_srcdir=$ac_top_builddir_sub
1542 ac_abs_top_srcdir=$ac_pwd ;;
1543 [\\/]* | ?:[\\/]* ) # Absolute name.
1544 ac_srcdir=$srcdir$ac_dir_suffix;
1545 ac_top_srcdir=$srcdir
1546 ac_abs_top_srcdir=$srcdir ;;
1547 *) # Relative name.
1548 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
1549 ac_top_srcdir=$ac_top_build_prefix$srcdir
1550 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
1551esac
1552ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
1553
1554 cd "$ac_dir" || { ac_status=$?; continue; }
1555 # Check for guested configure.
1556 if test -f "$ac_srcdir/configure.gnu"; then
1557 echo &&
1558 $SHELL "$ac_srcdir/configure.gnu" --help=recursive
1559 elif test -f "$ac_srcdir/configure"; then
1560 echo &&
1561 $SHELL "$ac_srcdir/configure" --help=recursive
1562 else
1563 $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
1564 fi || ac_status=$?
1565 cd "$ac_pwd" || { ac_status=$?; break; }
1566 done
1567fi
1568
1569test -n "$ac_init_help" && exit $ac_status
1570if $ac_init_version; then
1571 cat <<\_ACEOF
1572OpenSSH configure Portable
1573generated by GNU Autoconf 2.69
1574
1575Copyright (C) 2012 Free Software Foundation, Inc.
1576This configure script is free software; the Free Software Foundation
1577gives unlimited permission to copy, distribute and modify it.
1578_ACEOF
1579 exit
1580fi
1581
1582## ------------------------ ##
1583## Autoconf initialization. ##
1584## ------------------------ ##
1585
1586# ac_fn_c_try_compile LINENO
1587# --------------------------
1588# Try to compile conftest.$ac_ext, and return whether this succeeded.
1589ac_fn_c_try_compile ()
1590{
1591 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1592 rm -f conftest.$ac_objext
1593 if { { ac_try="$ac_compile"
1594case "(($ac_try" in
1595 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1596 *) ac_try_echo=$ac_try;;
1597esac
1598eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1599$as_echo "$ac_try_echo"; } >&5
1600 (eval "$ac_compile") 2>conftest.err
1601 ac_status=$?
1602 if test -s conftest.err; then
1603 grep -v '^ *+' conftest.err >conftest.er1
1604 cat conftest.er1 >&5
1605 mv -f conftest.er1 conftest.err
1606 fi
1607 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1608 test $ac_status = 0; } && {
1609 test -z "$ac_c_werror_flag" ||
1610 test ! -s conftest.err
1611 } && test -s conftest.$ac_objext; then :
1612 ac_retval=0
1613else
1614 $as_echo "$as_me: failed program was:" >&5
1615sed 's/^/| /' conftest.$ac_ext >&5
1616
1617 ac_retval=1
1618fi
1619 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1620 as_fn_set_status $ac_retval
1621
1622} # ac_fn_c_try_compile
1623
1624# ac_fn_c_try_run LINENO
1625# ----------------------
1626# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
1627# that executables *can* be run.
1628ac_fn_c_try_run ()
1629{
1630 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1631 if { { ac_try="$ac_link"
1632case "(($ac_try" in
1633 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1634 *) ac_try_echo=$ac_try;;
1635esac
1636eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1637$as_echo "$ac_try_echo"; } >&5
1638 (eval "$ac_link") 2>&5
1639 ac_status=$?
1640 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1641 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
1642 { { case "(($ac_try" in
1643 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1644 *) ac_try_echo=$ac_try;;
1645esac
1646eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1647$as_echo "$ac_try_echo"; } >&5
1648 (eval "$ac_try") 2>&5
1649 ac_status=$?
1650 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1651 test $ac_status = 0; }; }; then :
1652 ac_retval=0
1653else
1654 $as_echo "$as_me: program exited with status $ac_status" >&5
1655 $as_echo "$as_me: failed program was:" >&5
1656sed 's/^/| /' conftest.$ac_ext >&5
1657
1658 ac_retval=$ac_status
1659fi
1660 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1661 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1662 as_fn_set_status $ac_retval
1663
1664} # ac_fn_c_try_run
1665
1666# ac_fn_c_try_cpp LINENO
1667# ----------------------
1668# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1669ac_fn_c_try_cpp ()
1670{
1671 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1672 if { { ac_try="$ac_cpp conftest.$ac_ext"
1673case "(($ac_try" in
1674 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1675 *) ac_try_echo=$ac_try;;
1676esac
1677eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1678$as_echo "$ac_try_echo"; } >&5
1679 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
1680 ac_status=$?
1681 if test -s conftest.err; then
1682 grep -v '^ *+' conftest.err >conftest.er1
1683 cat conftest.er1 >&5
1684 mv -f conftest.er1 conftest.err
1685 fi
1686 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1687 test $ac_status = 0; } > conftest.i && {
1688 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
1689 test ! -s conftest.err
1690 }; then :
1691 ac_retval=0
1692else
1693 $as_echo "$as_me: failed program was:" >&5
1694sed 's/^/| /' conftest.$ac_ext >&5
1695
1696 ac_retval=1
1697fi
1698 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1699 as_fn_set_status $ac_retval
1700
1701} # ac_fn_c_try_cpp
1702
1703# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
1704# -------------------------------------------------------
1705# Tests whether HEADER exists and can be compiled using the include files in
1706# INCLUDES, setting the cache variable VAR accordingly.
1707ac_fn_c_check_header_compile ()
1708{
1709 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1710 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1711$as_echo_n "checking for $2... " >&6; }
1712if eval \${$3+:} false; then :
1713 $as_echo_n "(cached) " >&6
1714else
1715 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1716/* end confdefs.h. */
1717$4
1718#include <$2>
1719_ACEOF
1720if ac_fn_c_try_compile "$LINENO"; then :
1721 eval "$3=yes"
1722else
1723 eval "$3=no"
1724fi
1725rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1726fi
1727eval ac_res=\$$3
1728 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1729$as_echo "$ac_res" >&6; }
1730 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1731
1732} # ac_fn_c_check_header_compile
1733
1734# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
1735# ---------------------------------------------
1736# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
1737# accordingly.
1738ac_fn_c_check_decl ()
1739{
1740 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1741 as_decl_name=`echo $2|sed 's/ *(.*//'`
1742 as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
1743 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
1744$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
1745if eval \${$3+:} false; then :
1746 $as_echo_n "(cached) " >&6
1747else
1748 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1749/* end confdefs.h. */
1750$4
1751int
1752main ()
1753{
1754#ifndef $as_decl_name
1755#ifdef __cplusplus
1756 (void) $as_decl_use;
1757#else
1758 (void) $as_decl_name;
1759#endif
1760#endif
1761
1762 ;
1763 return 0;
1764}
1765_ACEOF
1766if ac_fn_c_try_compile "$LINENO"; then :
1767 eval "$3=yes"
1768else
1769 eval "$3=no"
1770fi
1771rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1772fi
1773eval ac_res=\$$3
1774 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1775$as_echo "$ac_res" >&6; }
1776 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1777
1778} # ac_fn_c_check_decl
1779
1780# ac_fn_c_try_link LINENO
1781# -----------------------
1782# Try to link conftest.$ac_ext, and return whether this succeeded.
1783ac_fn_c_try_link ()
1784{
1785 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1786 rm -f conftest.$ac_objext conftest$ac_exeext
1787 if { { ac_try="$ac_link"
1788case "(($ac_try" in
1789 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1790 *) ac_try_echo=$ac_try;;
1791esac
1792eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1793$as_echo "$ac_try_echo"; } >&5
1794 (eval "$ac_link") 2>conftest.err
1795 ac_status=$?
1796 if test -s conftest.err; then
1797 grep -v '^ *+' conftest.err >conftest.er1
1798 cat conftest.er1 >&5
1799 mv -f conftest.er1 conftest.err
1800 fi
1801 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1802 test $ac_status = 0; } && {
1803 test -z "$ac_c_werror_flag" ||
1804 test ! -s conftest.err
1805 } && test -s conftest$ac_exeext && {
1806 test "$cross_compiling" = yes ||
1807 test -x conftest$ac_exeext
1808 }; then :
1809 ac_retval=0
1810else
1811 $as_echo "$as_me: failed program was:" >&5
1812sed 's/^/| /' conftest.$ac_ext >&5
1813
1814 ac_retval=1
1815fi
1816 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1817 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1818 # interfere with the next link command; also delete a directory that is
1819 # left behind by Apple's compiler. We do this before executing the actions.
1820 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1821 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1822 as_fn_set_status $ac_retval
1823
1824} # ac_fn_c_try_link
1825
1826# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
1827# -------------------------------------------------------
1828# Tests whether HEADER exists, giving a warning if it cannot be compiled using
1829# the include files in INCLUDES and setting the cache variable VAR
1830# accordingly.
1831ac_fn_c_check_header_mongrel ()
1832{
1833 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1834 if eval \${$3+:} false; then :
1835 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1836$as_echo_n "checking for $2... " >&6; }
1837if eval \${$3+:} false; then :
1838 $as_echo_n "(cached) " >&6
1839fi
1840eval ac_res=\$$3
1841 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1842$as_echo "$ac_res" >&6; }
1843else
1844 # Is the header compilable?
1845{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
1846$as_echo_n "checking $2 usability... " >&6; }
1847cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1848/* end confdefs.h. */
1849$4
1850#include <$2>
1851_ACEOF
1852if ac_fn_c_try_compile "$LINENO"; then :
1853 ac_header_compiler=yes
1854else
1855 ac_header_compiler=no
1856fi
1857rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1858{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
1859$as_echo "$ac_header_compiler" >&6; }
1860
1861# Is the header present?
1862{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
1863$as_echo_n "checking $2 presence... " >&6; }
1864cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1865/* end confdefs.h. */
1866#include <$2>
1867_ACEOF
1868if ac_fn_c_try_cpp "$LINENO"; then :
1869 ac_header_preproc=yes
1870else
1871 ac_header_preproc=no
1872fi
1873rm -f conftest.err conftest.i conftest.$ac_ext
1874{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
1875$as_echo "$ac_header_preproc" >&6; }
1876
1877# So? What about this header?
1878case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
1879 yes:no: )
1880 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
1881$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
1882 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1883$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1884 ;;
1885 no:yes:* )
1886 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
1887$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
1888 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
1889$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
1890 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
1891$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
1892 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
1893$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
1894 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1895$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1896( $as_echo "## ------------------------------------------- ##
1897## Report this to openssh-unix-dev@mindrot.org ##
1898## ------------------------------------------- ##"
1899 ) | sed "s/^/$as_me: WARNING: /" >&2
1900 ;;
1901esac
1902 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1903$as_echo_n "checking for $2... " >&6; }
1904if eval \${$3+:} false; then :
1905 $as_echo_n "(cached) " >&6
1906else
1907 eval "$3=\$ac_header_compiler"
1908fi
1909eval ac_res=\$$3
1910 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1911$as_echo "$ac_res" >&6; }
1912fi
1913 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1914
1915} # ac_fn_c_check_header_mongrel
1916
1917# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
1918# --------------------------------------------
1919# Tries to find the compile-time value of EXPR in a program that includes
1920# INCLUDES, setting VAR accordingly. Returns whether the value could be
1921# computed
1922ac_fn_c_compute_int ()
1923{
1924 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1925 if test "$cross_compiling" = yes; then
1926 # Depending upon the size, compute the lo and hi bounds.
1927cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1928/* end confdefs.h. */
1929$4
1930int
1931main ()
1932{
1933static int test_array [1 - 2 * !(($2) >= 0)];
1934test_array [0] = 0;
1935return test_array [0];
1936
1937 ;
1938 return 0;
1939}
1940_ACEOF
1941if ac_fn_c_try_compile "$LINENO"; then :
1942 ac_lo=0 ac_mid=0
1943 while :; do
1944 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1945/* end confdefs.h. */
1946$4
1947int
1948main ()
1949{
1950static int test_array [1 - 2 * !(($2) <= $ac_mid)];
1951test_array [0] = 0;
1952return test_array [0];
1953
1954 ;
1955 return 0;
1956}
1957_ACEOF
1958if ac_fn_c_try_compile "$LINENO"; then :
1959 ac_hi=$ac_mid; break
1960else
1961 as_fn_arith $ac_mid + 1 && ac_lo=$as_val
1962 if test $ac_lo -le $ac_mid; then
1963 ac_lo= ac_hi=
1964 break
1965 fi
1966 as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
1967fi
1968rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1969 done
1970else
1971 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1972/* end confdefs.h. */
1973$4
1974int
1975main ()
1976{
1977static int test_array [1 - 2 * !(($2) < 0)];
1978test_array [0] = 0;
1979return test_array [0];
1980
1981 ;
1982 return 0;
1983}
1984_ACEOF
1985if ac_fn_c_try_compile "$LINENO"; then :
1986 ac_hi=-1 ac_mid=-1
1987 while :; do
1988 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1989/* end confdefs.h. */
1990$4
1991int
1992main ()
1993{
1994static int test_array [1 - 2 * !(($2) >= $ac_mid)];
1995test_array [0] = 0;
1996return test_array [0];
1997
1998 ;
1999 return 0;
2000}
2001_ACEOF
2002if ac_fn_c_try_compile "$LINENO"; then :
2003 ac_lo=$ac_mid; break
2004else
2005 as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
2006 if test $ac_mid -le $ac_hi; then
2007 ac_lo= ac_hi=
2008 break
2009 fi
2010 as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
2011fi
2012rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2013 done
2014else
2015 ac_lo= ac_hi=
2016fi
2017rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2018fi
2019rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2020# Binary search between lo and hi bounds.
2021while test "x$ac_lo" != "x$ac_hi"; do
2022 as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
2023 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2024/* end confdefs.h. */
2025$4
2026int
2027main ()
2028{
2029static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2030test_array [0] = 0;
2031return test_array [0];
2032
2033 ;
2034 return 0;
2035}
2036_ACEOF
2037if ac_fn_c_try_compile "$LINENO"; then :
2038 ac_hi=$ac_mid
2039else
2040 as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
2041fi
2042rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2043done
2044case $ac_lo in #((
2045?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
2046'') ac_retval=1 ;;
2047esac
2048 else
2049 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2050/* end confdefs.h. */
2051$4
2052static long int longval () { return $2; }
2053static unsigned long int ulongval () { return $2; }
2054#include <stdio.h>
2055#include <stdlib.h>
2056int
2057main ()
2058{
2059
2060 FILE *f = fopen ("conftest.val", "w");
2061 if (! f)
2062 return 1;
2063 if (($2) < 0)
2064 {
2065 long int i = longval ();
2066 if (i != ($2))
2067 return 1;
2068 fprintf (f, "%ld", i);
2069 }
2070 else
2071 {
2072 unsigned long int i = ulongval ();
2073 if (i != ($2))
2074 return 1;
2075 fprintf (f, "%lu", i);
2076 }
2077 /* Do not output a trailing newline, as this causes \r\n confusion
2078 on some platforms. */
2079 return ferror (f) || fclose (f) != 0;
2080
2081 ;
2082 return 0;
2083}
2084_ACEOF
2085if ac_fn_c_try_run "$LINENO"; then :
2086 echo >>conftest.val; read $3 <conftest.val; ac_retval=0
2087else
2088 ac_retval=1
2089fi
2090rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
2091 conftest.$ac_objext conftest.beam conftest.$ac_ext
2092rm -f conftest.val
2093
2094 fi
2095 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2096 as_fn_set_status $ac_retval
2097
2098} # ac_fn_c_compute_int
2099
2100# ac_fn_c_check_func LINENO FUNC VAR
2101# ----------------------------------
2102# Tests whether FUNC exists, setting the cache variable VAR accordingly
2103ac_fn_c_check_func ()
2104{
2105 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2106 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
2107$as_echo_n "checking for $2... " >&6; }
2108if eval \${$3+:} false; then :
2109 $as_echo_n "(cached) " >&6
2110else
2111 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2112/* end confdefs.h. */
2113/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
2114 For example, HP-UX 11i <limits.h> declares gettimeofday. */
2115#define $2 innocuous_$2
2116
2117/* System header to define __stub macros and hopefully few prototypes,
2118 which can conflict with char $2 (); below.
2119 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
2120 <limits.h> exists even on freestanding compilers. */
2121
2122#ifdef __STDC__
2123# include <limits.h>
2124#else
2125# include <assert.h>
2126#endif
2127
2128#undef $2
2129
2130/* Override any GCC internal prototype to avoid an error.
2131 Use char because int might match the return type of a GCC
2132 builtin and then its argument prototype would still apply. */
2133#ifdef __cplusplus
2134extern "C"
2135#endif
2136char $2 ();
2137/* The GNU C library defines this for functions which it implements
2138 to always fail with ENOSYS. Some functions are actually named
2139 something starting with __ and the normal name is an alias. */
2140#if defined __stub_$2 || defined __stub___$2
2141choke me
2142#endif
2143
2144int
2145main ()
2146{
2147return $2 ();
2148 ;
2149 return 0;
2150}
2151_ACEOF
2152if ac_fn_c_try_link "$LINENO"; then :
2153 eval "$3=yes"
2154else
2155 eval "$3=no"
2156fi
2157rm -f core conftest.err conftest.$ac_objext \
2158 conftest$ac_exeext conftest.$ac_ext
2159fi
2160eval ac_res=\$$3
2161 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2162$as_echo "$ac_res" >&6; }
2163 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2164
2165} # ac_fn_c_check_func
2166
2167# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
2168# -------------------------------------------
2169# Tests whether TYPE exists after having included INCLUDES, setting cache
2170# variable VAR accordingly.
2171ac_fn_c_check_type ()
2172{
2173 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2174 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
2175$as_echo_n "checking for $2... " >&6; }
2176if eval \${$3+:} false; then :
2177 $as_echo_n "(cached) " >&6
2178else
2179 eval "$3=no"
2180 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2181/* end confdefs.h. */
2182$4
2183int
2184main ()
2185{
2186if (sizeof ($2))
2187 return 0;
2188 ;
2189 return 0;
2190}
2191_ACEOF
2192if ac_fn_c_try_compile "$LINENO"; then :
2193 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2194/* end confdefs.h. */
2195$4
2196int
2197main ()
2198{
2199if (sizeof (($2)))
2200 return 0;
2201 ;
2202 return 0;
2203}
2204_ACEOF
2205if ac_fn_c_try_compile "$LINENO"; then :
2206
2207else
2208 eval "$3=yes"
2209fi
2210rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2211fi
2212rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2213fi
2214eval ac_res=\$$3
2215 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2216$as_echo "$ac_res" >&6; }
2217 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2218
2219} # ac_fn_c_check_type
2220
2221# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
2222# ----------------------------------------------------
2223# Tries to find if the field MEMBER exists in type AGGR, after including
2224# INCLUDES, setting cache variable VAR accordingly.
2225ac_fn_c_check_member ()
2226{
2227 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2228 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
2229$as_echo_n "checking for $2.$3... " >&6; }
2230if eval \${$4+:} false; then :
2231 $as_echo_n "(cached) " >&6
2232else
2233 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2234/* end confdefs.h. */
2235$5
2236int
2237main ()
2238{
2239static $2 ac_aggr;
2240if (ac_aggr.$3)
2241return 0;
2242 ;
2243 return 0;
2244}
2245_ACEOF
2246if ac_fn_c_try_compile "$LINENO"; then :
2247 eval "$4=yes"
2248else
2249 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2250/* end confdefs.h. */
2251$5
2252int
2253main ()
2254{
2255static $2 ac_aggr;
2256if (sizeof ac_aggr.$3)
2257return 0;
2258 ;
2259 return 0;
2260}
2261_ACEOF
2262if ac_fn_c_try_compile "$LINENO"; then :
2263 eval "$4=yes"
2264else
2265 eval "$4=no"
2266fi
2267rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2268fi
2269rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2270fi
2271eval ac_res=\$$4
2272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2273$as_echo "$ac_res" >&6; }
2274 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2275
2276} # ac_fn_c_check_member
2277cat >config.log <<_ACEOF
2278This file contains any messages produced by compilers while
2279running configure, to aid debugging if configure makes a mistake.
2280
2281It was created by OpenSSH $as_me Portable, which was
2282generated by GNU Autoconf 2.69. Invocation command line was
2283
2284 $ $0 $@
2285
2286_ACEOF
2287exec 5>>config.log
2288{
2289cat <<_ASUNAME
2290## --------- ##
2291## Platform. ##
2292## --------- ##
2293
2294hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2295uname -m = `(uname -m) 2>/dev/null || echo unknown`
2296uname -r = `(uname -r) 2>/dev/null || echo unknown`
2297uname -s = `(uname -s) 2>/dev/null || echo unknown`
2298uname -v = `(uname -v) 2>/dev/null || echo unknown`
2299
2300/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2301/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
2302
2303/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
2304/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
2305/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2306/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
2307/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
2308/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
2309/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
2310
2311_ASUNAME
2312
2313as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2314for as_dir in $PATH
2315do
2316 IFS=$as_save_IFS
2317 test -z "$as_dir" && as_dir=.
2318 $as_echo "PATH: $as_dir"
2319 done
2320IFS=$as_save_IFS
2321
2322} >&5
2323
2324cat >&5 <<_ACEOF
2325
2326
2327## ----------- ##
2328## Core tests. ##
2329## ----------- ##
2330
2331_ACEOF
2332
2333
2334# Keep a trace of the command line.
2335# Strip out --no-create and --no-recursion so they do not pile up.
2336# Strip out --silent because we don't want to record it for future runs.
2337# Also quote any args containing shell meta-characters.
2338# Make two passes to allow for proper duplicate-argument suppression.
2339ac_configure_args=
2340ac_configure_args0=
2341ac_configure_args1=
2342ac_must_keep_next=false
2343for ac_pass in 1 2
2344do
2345 for ac_arg
2346 do
2347 case $ac_arg in
2348 -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2349 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2350 | -silent | --silent | --silen | --sile | --sil)
2351 continue ;;
2352 *\'*)
2353 ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2354 esac
2355 case $ac_pass in
2356 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2357 2)
2358 as_fn_append ac_configure_args1 " '$ac_arg'"
2359 if test $ac_must_keep_next = true; then
2360 ac_must_keep_next=false # Got value, back to normal.
2361 else
2362 case $ac_arg in
2363 *=* | --config-cache | -C | -disable-* | --disable-* \
2364 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2365 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2366 | -with-* | --with-* | -without-* | --without-* | --x)
2367 case "$ac_configure_args0 " in
2368 "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2369 esac
2370 ;;
2371 -* ) ac_must_keep_next=true ;;
2372 esac
2373 fi
2374 as_fn_append ac_configure_args " '$ac_arg'"
2375 ;;
2376 esac
2377 done
2378done
2379{ ac_configure_args0=; unset ac_configure_args0;}
2380{ ac_configure_args1=; unset ac_configure_args1;}
2381
2382# When interrupted or exit'd, cleanup temporary files, and complete
2383# config.log. We remove comments because anyway the quotes in there
2384# would cause problems or look ugly.
2385# WARNING: Use '\'' to represent an apostrophe within the trap.
2386# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
2387trap 'exit_status=$?
2388 # Save into config.log some information that might help in debugging.
2389 {
2390 echo
2391
2392 $as_echo "## ---------------- ##
2393## Cache variables. ##
2394## ---------------- ##"
2395 echo
2396 # The following way of writing the cache mishandles newlines in values,
2397(
2398 for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
2399 eval ac_val=\$$ac_var
2400 case $ac_val in #(
2401 *${as_nl}*)
2402 case $ac_var in #(
2403 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
2404$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2405 esac
2406 case $ac_var in #(
2407 _ | IFS | as_nl) ;; #(
2408 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
2409 *) { eval $ac_var=; unset $ac_var;} ;;
2410 esac ;;
2411 esac
2412 done
2413 (set) 2>&1 |
2414 case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
2415 *${as_nl}ac_space=\ *)
2416 sed -n \
2417 "s/'\''/'\''\\\\'\'''\''/g;
2418 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
2419 ;; #(
2420 *)
2421 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
2422 ;;
2423 esac |
2424 sort
2425)
2426 echo
2427
2428 $as_echo "## ----------------- ##
2429## Output variables. ##
2430## ----------------- ##"
2431 echo
2432 for ac_var in $ac_subst_vars
2433 do
2434 eval ac_val=\$$ac_var
2435 case $ac_val in
2436 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2437 esac
2438 $as_echo "$ac_var='\''$ac_val'\''"
2439 done | sort
2440 echo
2441
2442 if test -n "$ac_subst_files"; then
2443 $as_echo "## ------------------- ##
2444## File substitutions. ##
2445## ------------------- ##"
2446 echo
2447 for ac_var in $ac_subst_files
2448 do
2449 eval ac_val=\$$ac_var
2450 case $ac_val in
2451 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2452 esac
2453 $as_echo "$ac_var='\''$ac_val'\''"
2454 done | sort
2455 echo
2456 fi
2457
2458 if test -s confdefs.h; then
2459 $as_echo "## ----------- ##
2460## confdefs.h. ##
2461## ----------- ##"
2462 echo
2463 cat confdefs.h
2464 echo
2465 fi
2466 test "$ac_signal" != 0 &&
2467 $as_echo "$as_me: caught signal $ac_signal"
2468 $as_echo "$as_me: exit $exit_status"
2469 } >&5
2470 rm -f core *.core core.conftest.* &&
2471 rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
2472 exit $exit_status
2473' 0
2474for ac_signal in 1 2 13 15; do
2475 trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
2476done
2477ac_signal=0
2478
2479# confdefs.h avoids OS command line length limits that DEFS can exceed.
2480rm -f -r conftest* confdefs.h
2481
2482$as_echo "/* confdefs.h */" > confdefs.h
2483
2484# Predefined preprocessor variables.
2485
2486cat >>confdefs.h <<_ACEOF
2487#define PACKAGE_NAME "$PACKAGE_NAME"
2488_ACEOF
2489
2490cat >>confdefs.h <<_ACEOF
2491#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
2492_ACEOF
2493
2494cat >>confdefs.h <<_ACEOF
2495#define PACKAGE_VERSION "$PACKAGE_VERSION"
2496_ACEOF
2497
2498cat >>confdefs.h <<_ACEOF
2499#define PACKAGE_STRING "$PACKAGE_STRING"
2500_ACEOF
2501
2502cat >>confdefs.h <<_ACEOF
2503#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
2504_ACEOF
2505
2506cat >>confdefs.h <<_ACEOF
2507#define PACKAGE_URL "$PACKAGE_URL"
2508_ACEOF
2509
2510
2511# Let the site file select an alternate cache file if it wants to.
2512# Prefer an explicitly selected file to automatically selected ones.
2513ac_site_file1=NONE
2514ac_site_file2=NONE
2515if test -n "$CONFIG_SITE"; then
2516 # We do not want a PATH search for config.site.
2517 case $CONFIG_SITE in #((
2518 -*) ac_site_file1=./$CONFIG_SITE;;
2519 */*) ac_site_file1=$CONFIG_SITE;;
2520 *) ac_site_file1=./$CONFIG_SITE;;
2521 esac
2522elif test "x$prefix" != xNONE; then
2523 ac_site_file1=$prefix/share/config.site
2524 ac_site_file2=$prefix/etc/config.site
2525else
2526 ac_site_file1=$ac_default_prefix/share/config.site
2527 ac_site_file2=$ac_default_prefix/etc/config.site
2528fi
2529for ac_site_file in "$ac_site_file1" "$ac_site_file2"
2530do
2531 test "x$ac_site_file" = xNONE && continue
2532 if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
2533 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
2534$as_echo "$as_me: loading site script $ac_site_file" >&6;}
2535 sed 's/^/| /' "$ac_site_file" >&5
2536 . "$ac_site_file" \
2537 || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2538$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2539as_fn_error $? "failed to load site script $ac_site_file
2540See \`config.log' for more details" "$LINENO" 5; }
2541 fi
2542done
2543
2544if test -r "$cache_file"; then
2545 # Some versions of bash will fail to source /dev/null (special files
2546 # actually), so we avoid doing that. DJGPP emulates it as a regular file.
2547 if test /dev/null != "$cache_file" && test -f "$cache_file"; then
2548 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
2549$as_echo "$as_me: loading cache $cache_file" >&6;}
2550 case $cache_file in
2551 [\\/]* | ?:[\\/]* ) . "$cache_file";;
2552 *) . "./$cache_file";;
2553 esac
2554 fi
2555else
2556 { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
2557$as_echo "$as_me: creating cache $cache_file" >&6;}
2558 >$cache_file
2559fi
2560
2561# Check that the precious variables saved in the cache have kept the same
2562# value.
2563ac_cache_corrupted=false
2564for ac_var in $ac_precious_vars; do
2565 eval ac_old_set=\$ac_cv_env_${ac_var}_set
2566 eval ac_new_set=\$ac_env_${ac_var}_set
2567 eval ac_old_val=\$ac_cv_env_${ac_var}_value
2568 eval ac_new_val=\$ac_env_${ac_var}_value
2569 case $ac_old_set,$ac_new_set in
2570 set,)
2571 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
2572$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
2573 ac_cache_corrupted=: ;;
2574 ,set)
2575 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
2576$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
2577 ac_cache_corrupted=: ;;
2578 ,);;
2579 *)
2580 if test "x$ac_old_val" != "x$ac_new_val"; then
2581 # differences in whitespace do not lead to failure.
2582 ac_old_val_w=`echo x $ac_old_val`
2583 ac_new_val_w=`echo x $ac_new_val`
2584 if test "$ac_old_val_w" != "$ac_new_val_w"; then
2585 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
2586$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
2587 ac_cache_corrupted=:
2588 else
2589 { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
2590$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
2591 eval $ac_var=\$ac_old_val
2592 fi
2593 { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
2594$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
2595 { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
2596$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
2597 fi;;
2598 esac
2599 # Pass precious variables to config.status.
2600 if test "$ac_new_set" = set; then
2601 case $ac_new_val in
2602 *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
2603 *) ac_arg=$ac_var=$ac_new_val ;;
2604 esac
2605 case " $ac_configure_args " in
2606 *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
2607 *) as_fn_append ac_configure_args " '$ac_arg'" ;;
2608 esac
2609 fi
2610done
2611if $ac_cache_corrupted; then
2612 { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2613$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2614 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
2615$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2616 as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
2617fi
2618## -------------------- ##
2619## Main body of script. ##
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
2629
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
2636
2637
2638ac_config_headers="$ac_config_headers config.h"
2639
2640ac_ext=c
2641ac_cpp='$CPP $CPPFLAGS'
2642ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2643ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2644ac_compiler_gnu=$ac_cv_c_compiler_gnu
2645if test -n "$ac_tool_prefix"; then
2646 for ac_prog in cc gcc
2647 do
2648 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
2649set dummy $ac_tool_prefix$ac_prog; ac_word=$2
2650{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2651$as_echo_n "checking for $ac_word... " >&6; }
2652if ${ac_cv_prog_CC+:} false; then :
2653 $as_echo_n "(cached) " >&6
2654else
2655 if test -n "$CC"; then
2656 ac_cv_prog_CC="$CC" # Let the user override the test.
2657else
2658as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2659for as_dir in $PATH
2660do
2661 IFS=$as_save_IFS
2662 test -z "$as_dir" && as_dir=.
2663 for ac_exec_ext in '' $ac_executable_extensions; do
2664 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2665 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
2666 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2667 break 2
2668 fi
2669done
2670 done
2671IFS=$as_save_IFS
2672
2673fi
2674fi
2675CC=$ac_cv_prog_CC
2676if test -n "$CC"; then
2677 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
2678$as_echo "$CC" >&6; }
2679else
2680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2681$as_echo "no" >&6; }
2682fi
2683
2684
2685 test -n "$CC" && break
2686 done
2687fi
2688if test -z "$CC"; then
2689 ac_ct_CC=$CC
2690 for ac_prog in cc gcc
2691do
2692 # Extract the first word of "$ac_prog", so it can be a program name with args.
2693set dummy $ac_prog; ac_word=$2
2694{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2695$as_echo_n "checking for $ac_word... " >&6; }
2696if ${ac_cv_prog_ac_ct_CC+:} false; then :
2697 $as_echo_n "(cached) " >&6
2698else
2699 if test -n "$ac_ct_CC"; then
2700 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
2701else
2702as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2703for as_dir in $PATH
2704do
2705 IFS=$as_save_IFS
2706 test -z "$as_dir" && as_dir=.
2707 for ac_exec_ext in '' $ac_executable_extensions; do
2708 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2709 ac_cv_prog_ac_ct_CC="$ac_prog"
2710 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2711 break 2
2712 fi
2713done
2714 done
2715IFS=$as_save_IFS
2716
2717fi
2718fi
2719ac_ct_CC=$ac_cv_prog_ac_ct_CC
2720if test -n "$ac_ct_CC"; then
2721 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
2722$as_echo "$ac_ct_CC" >&6; }
2723else
2724 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2725$as_echo "no" >&6; }
2726fi
2727
2728
2729 test -n "$ac_ct_CC" && break
2730done
2731
2732 if test "x$ac_ct_CC" = x; then
2733 CC=""
2734 else
2735 case $cross_compiling:$ac_tool_warned in
2736yes:)
2737{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
2738$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
2739ac_tool_warned=yes ;;
2740esac
2741 CC=$ac_ct_CC
2742 fi
2743fi
2744
2745
2746test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2747$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2748as_fn_error $? "no acceptable C compiler found in \$PATH
2749See \`config.log' for more details" "$LINENO" 5; }
2750
2751# Provide some information about the compiler.
2752$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
2753set X $ac_compile
2754ac_compiler=$2
2755for ac_option in --version -v -V -qversion; do
2756 { { ac_try="$ac_compiler $ac_option >&5"
2757case "(($ac_try" in
2758 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2759 *) ac_try_echo=$ac_try;;
2760esac
2761eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2762$as_echo "$ac_try_echo"; } >&5
2763 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
2764 ac_status=$?
2765 if test -s conftest.err; then
2766 sed '10a\
2767... rest of stderr output deleted ...
2768 10q' conftest.err >conftest.er1
2769 cat conftest.er1 >&5
2770 fi
2771 rm -f conftest.er1 conftest.err
2772 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2773 test $ac_status = 0; }
2774done
2775
2776cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2777/* end confdefs.h. */
2778
2779int
2780main ()
2781{
2782
2783 ;
2784 return 0;
2785}
2786_ACEOF
2787ac_clean_files_save=$ac_clean_files
2788ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
2789# Try to create an executable without -o first, disregard a.out.
2790# It will help us diagnose broken compilers, and finding out an intuition
2791# of exeext.
2792{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
2793$as_echo_n "checking whether the C compiler works... " >&6; }
2794ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
2795
2796# The possible output files:
2797ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
2798
2799ac_rmfiles=
2800for ac_file in $ac_files
2801do
2802 case $ac_file in
2803 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
2804 * ) ac_rmfiles="$ac_rmfiles $ac_file";;
2805 esac
2806done
2807rm -f $ac_rmfiles
2808
2809if { { ac_try="$ac_link_default"
2810case "(($ac_try" in
2811 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2812 *) ac_try_echo=$ac_try;;
2813esac
2814eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2815$as_echo "$ac_try_echo"; } >&5
2816 (eval "$ac_link_default") 2>&5
2817 ac_status=$?
2818 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2819 test $ac_status = 0; }; then :
2820 # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
2821# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
2822# in a Makefile. We should not override ac_cv_exeext if it was cached,
2823# so that the user can short-circuit this test for compilers unknown to
2824# Autoconf.
2825for ac_file in $ac_files ''
2826do
2827 test -f "$ac_file" || continue
2828 case $ac_file in
2829 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
2830 ;;
2831 [ab].out )
2832 # We found the default executable, but exeext='' is most
2833 # certainly right.
2834 break;;
2835 *.* )
2836 if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
2837 then :; else
2838 ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
2839 fi
2840 # We set ac_cv_exeext here because the later test for it is not
2841 # safe: cross compilers may not add the suffix if given an `-o'
2842 # argument, so we may need to know it at that point already.
2843 # Even if this section looks crufty: it has the advantage of
2844 # actually working.
2845 break;;
2846 * )
2847 break;;
2848 esac
2849done
2850test "$ac_cv_exeext" = no && ac_cv_exeext=
2851
2852else
2853 ac_file=''
2854fi
2855if test -z "$ac_file"; then :
2856 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2857$as_echo "no" >&6; }
2858$as_echo "$as_me: failed program was:" >&5
2859sed 's/^/| /' conftest.$ac_ext >&5
2860
2861{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2862$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2863as_fn_error 77 "C compiler cannot create executables
2864See \`config.log' for more details" "$LINENO" 5; }
2865else
2866 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
2867$as_echo "yes" >&6; }
2868fi
2869{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
2870$as_echo_n "checking for C compiler default output file name... " >&6; }
2871{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
2872$as_echo "$ac_file" >&6; }
2873ac_exeext=$ac_cv_exeext
2874
2875rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
2876ac_clean_files=$ac_clean_files_save
2877{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
2878$as_echo_n "checking for suffix of executables... " >&6; }
2879if { { ac_try="$ac_link"
2880case "(($ac_try" in
2881 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2882 *) ac_try_echo=$ac_try;;
2883esac
2884eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2885$as_echo "$ac_try_echo"; } >&5
2886 (eval "$ac_link") 2>&5
2887 ac_status=$?
2888 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2889 test $ac_status = 0; }; then :
2890 # If both `conftest.exe' and `conftest' are `present' (well, observable)
2891# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
2892# work properly (i.e., refer to `conftest.exe'), while it won't with
2893# `rm'.
2894for ac_file in conftest.exe conftest conftest.*; do
2895 test -f "$ac_file" || continue
2896 case $ac_file in
2897 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
2898 *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
2899 break;;
2900 * ) break;;
2901 esac
2902done
2903else
2904 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2905$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2906as_fn_error $? "cannot compute suffix of executables: cannot compile and link
2907See \`config.log' for more details" "$LINENO" 5; }
2908fi
2909rm -f conftest conftest$ac_cv_exeext
2910{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
2911$as_echo "$ac_cv_exeext" >&6; }
2912
2913rm -f conftest.$ac_ext
2914EXEEXT=$ac_cv_exeext
2915ac_exeext=$EXEEXT
2916cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2917/* end confdefs.h. */
2918#include <stdio.h>
2919int
2920main ()
2921{
2922FILE *f = fopen ("conftest.out", "w");
2923 return ferror (f) || fclose (f) != 0;
2924
2925 ;
2926 return 0;
2927}
2928_ACEOF
2929ac_clean_files="$ac_clean_files conftest.out"
2930# Check that the compiler produces executables we can run. If not, either
2931# the compiler is broken, or we cross compile.
2932{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
2933$as_echo_n "checking whether we are cross compiling... " >&6; }
2934if test "$cross_compiling" != yes; then
2935 { { ac_try="$ac_link"
2936case "(($ac_try" in
2937 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2938 *) ac_try_echo=$ac_try;;
2939esac
2940eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2941$as_echo "$ac_try_echo"; } >&5
2942 (eval "$ac_link") 2>&5
2943 ac_status=$?
2944 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2945 test $ac_status = 0; }
2946 if { ac_try='./conftest$ac_cv_exeext'
2947 { { case "(($ac_try" in
2948 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2949 *) ac_try_echo=$ac_try;;
2950esac
2951eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2952$as_echo "$ac_try_echo"; } >&5
2953 (eval "$ac_try") 2>&5
2954 ac_status=$?
2955 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2956 test $ac_status = 0; }; }; then
2957 cross_compiling=no
2958 else
2959 if test "$cross_compiling" = maybe; then
2960 cross_compiling=yes
2961 else
2962 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2963$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2964as_fn_error $? "cannot run C compiled programs.
2965If you meant to cross compile, use \`--host'.
2966See \`config.log' for more details" "$LINENO" 5; }
2967 fi
2968 fi
2969fi
2970{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
2971$as_echo "$cross_compiling" >&6; }
2972
2973rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
2974ac_clean_files=$ac_clean_files_save
2975{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
2976$as_echo_n "checking for suffix of object files... " >&6; }
2977if ${ac_cv_objext+:} false; then :
2978 $as_echo_n "(cached) " >&6
2979else
2980 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2981/* end confdefs.h. */
2982
2983int
2984main ()
2985{
2986
2987 ;
2988 return 0;
2989}
2990_ACEOF
2991rm -f conftest.o conftest.obj
2992if { { ac_try="$ac_compile"
2993case "(($ac_try" in
2994 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2995 *) ac_try_echo=$ac_try;;
2996esac
2997eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2998$as_echo "$ac_try_echo"; } >&5
2999 (eval "$ac_compile") 2>&5
3000 ac_status=$?
3001 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3002 test $ac_status = 0; }; then :
3003 for ac_file in conftest.o conftest.obj conftest.*; do
3004 test -f "$ac_file" || continue;
3005 case $ac_file in
3006 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
3007 *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
3008 break;;
3009 esac
3010done
3011else
3012 $as_echo "$as_me: failed program was:" >&5
3013sed 's/^/| /' conftest.$ac_ext >&5
3014
3015{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3016$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3017as_fn_error $? "cannot compute suffix of object files: cannot compile
3018See \`config.log' for more details" "$LINENO" 5; }
3019fi
3020rm -f conftest.$ac_cv_objext conftest.$ac_ext
3021fi
3022{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
3023$as_echo "$ac_cv_objext" >&6; }
3024OBJEXT=$ac_cv_objext
3025ac_objext=$OBJEXT
3026{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
3027$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
3028if ${ac_cv_c_compiler_gnu+:} false; then :
3029 $as_echo_n "(cached) " >&6
3030else
3031 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3032/* end confdefs.h. */
3033
3034int
3035main ()
3036{
3037#ifndef __GNUC__
3038 choke me
3039#endif
3040
3041 ;
3042 return 0;
3043}
3044_ACEOF
3045if ac_fn_c_try_compile "$LINENO"; then :
3046 ac_compiler_gnu=yes
3047else
3048 ac_compiler_gnu=no
3049fi
3050rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3051ac_cv_c_compiler_gnu=$ac_compiler_gnu
3052
3053fi
3054{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
3055$as_echo "$ac_cv_c_compiler_gnu" >&6; }
3056if test $ac_compiler_gnu = yes; then
3057 GCC=yes
3058else
3059 GCC=
3060fi
3061ac_test_CFLAGS=${CFLAGS+set}
3062ac_save_CFLAGS=$CFLAGS
3063{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
3064$as_echo_n "checking whether $CC accepts -g... " >&6; }
3065if ${ac_cv_prog_cc_g+:} false; then :
3066 $as_echo_n "(cached) " >&6
3067else
3068 ac_save_c_werror_flag=$ac_c_werror_flag
3069 ac_c_werror_flag=yes
3070 ac_cv_prog_cc_g=no
3071 CFLAGS="-g"
3072 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3073/* end confdefs.h. */
3074
3075int
3076main ()
3077{
3078
3079 ;
3080 return 0;
3081}
3082_ACEOF
3083if ac_fn_c_try_compile "$LINENO"; then :
3084 ac_cv_prog_cc_g=yes
3085else
3086 CFLAGS=""
3087 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3088/* end confdefs.h. */
3089
3090int
3091main ()
3092{
3093
3094 ;
3095 return 0;
3096}
3097_ACEOF
3098if ac_fn_c_try_compile "$LINENO"; then :
3099
3100else
3101 ac_c_werror_flag=$ac_save_c_werror_flag
3102 CFLAGS="-g"
3103 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3104/* end confdefs.h. */
3105
3106int
3107main ()
3108{
3109
3110 ;
3111 return 0;
3112}
3113_ACEOF
3114if ac_fn_c_try_compile "$LINENO"; then :
3115 ac_cv_prog_cc_g=yes
3116fi
3117rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3118fi
3119rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3120fi
3121rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3122 ac_c_werror_flag=$ac_save_c_werror_flag
3123fi
3124{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
3125$as_echo "$ac_cv_prog_cc_g" >&6; }
3126if test "$ac_test_CFLAGS" = set; then
3127 CFLAGS=$ac_save_CFLAGS
3128elif test $ac_cv_prog_cc_g = yes; then
3129 if test "$GCC" = yes; then
3130 CFLAGS="-g -O2"
3131 else
3132 CFLAGS="-g"
3133 fi
3134else
3135 if test "$GCC" = yes; then
3136 CFLAGS="-O2"
3137 else
3138 CFLAGS=
3139 fi
3140fi
3141{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
3142$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
3143if ${ac_cv_prog_cc_c89+:} false; then :
3144 $as_echo_n "(cached) " >&6
3145else
3146 ac_cv_prog_cc_c89=no
3147ac_save_CC=$CC
3148cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3149/* end confdefs.h. */
3150#include <stdarg.h>
3151#include <stdio.h>
3152struct stat;
3153/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
3154struct buf { int x; };
3155FILE * (*rcsopen) (struct buf *, struct stat *, int);
3156static char *e (p, i)
3157 char **p;
3158 int i;
3159{
3160 return p[i];
3161}
3162static char *f (char * (*g) (char **, int), char **p, ...)
3163{
3164 char *s;
3165 va_list v;
3166 va_start (v,p);
3167 s = g (p, va_arg (v,int));
3168 va_end (v);
3169 return s;
3170}
3171
3172/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
3173 function prototypes and stuff, but not '\xHH' hex character constants.
3174 These don't provoke an error unfortunately, instead are silently treated
3175 as 'x'. The following induces an error, until -std is added to get
3176 proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
3177 array size at least. It's necessary to write '\x00'==0 to get something
3178 that's true only with -std. */
3179int osf4_cc_array ['\x00' == 0 ? 1 : -1];
3180
3181/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
3182 inside strings and character constants. */
3183#define FOO(x) 'x'
3184int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
3185
3186int test (int i, double x);
3187struct s1 {int (*f) (int a);};
3188struct s2 {int (*f) (double a);};
3189int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
3190int argc;
3191char **argv;
3192int
3193main ()
3194{
3195return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
3196 ;
3197 return 0;
3198}
3199_ACEOF
3200for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
3201 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
3202do
3203 CC="$ac_save_CC $ac_arg"
3204 if ac_fn_c_try_compile "$LINENO"; then :
3205 ac_cv_prog_cc_c89=$ac_arg
3206fi
3207rm -f core conftest.err conftest.$ac_objext
3208 test "x$ac_cv_prog_cc_c89" != "xno" && break
3209done
3210rm -f conftest.$ac_ext
3211CC=$ac_save_CC
3212
3213fi
3214# AC_CACHE_VAL
3215case "x$ac_cv_prog_cc_c89" in
3216 x)
3217 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
3218$as_echo "none needed" >&6; } ;;
3219 xno)
3220 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
3221$as_echo "unsupported" >&6; } ;;
3222 *)
3223 CC="$CC $ac_cv_prog_cc_c89"
3224 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
3225$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
3226esac
3227if test "x$ac_cv_prog_cc_c89" != xno; then :
3228
3229fi
3230
3231ac_ext=c
3232ac_cpp='$CPP $CPPFLAGS'
3233ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3234ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3235ac_compiler_gnu=$ac_cv_c_compiler_gnu
3236
3237ac_aux_dir=
3238for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
3239 if test -f "$ac_dir/install-sh"; then
3240 ac_aux_dir=$ac_dir
3241 ac_install_sh="$ac_aux_dir/install-sh -c"
3242 break
3243 elif test -f "$ac_dir/install.sh"; then
3244 ac_aux_dir=$ac_dir
3245 ac_install_sh="$ac_aux_dir/install.sh -c"
3246 break
3247 elif test -f "$ac_dir/shtool"; then
3248 ac_aux_dir=$ac_dir
3249 ac_install_sh="$ac_aux_dir/shtool install -c"
3250 break
3251 fi
3252done
3253if test -z "$ac_aux_dir"; then
3254 as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
3255fi
3256
3257# These three variables are undocumented and unsupported,
3258# and are intended to be withdrawn in a future Autoconf release.
3259# They can cause serious problems if a builder's source tree is in a directory
3260# whose full name contains unusual characters.
3261ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
3262ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
3263ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
3264
3265
3266# Make sure we can run config.sub.
3267$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
3268 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
3269
3270{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
3271$as_echo_n "checking build system type... " >&6; }
3272if ${ac_cv_build+:} false; then :
3273 $as_echo_n "(cached) " >&6
3274else
3275 ac_build_alias=$build_alias
3276test "x$ac_build_alias" = x &&
3277 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
3278test "x$ac_build_alias" = x &&
3279 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
3280ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
3281 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
3282
3283fi
3284{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
3285$as_echo "$ac_cv_build" >&6; }
3286case $ac_cv_build in
3287*-*-*) ;;
3288*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
3289esac
3290build=$ac_cv_build
3291ac_save_IFS=$IFS; IFS='-'
3292set x $ac_cv_build
3293shift
3294build_cpu=$1
3295build_vendor=$2
3296shift; shift
3297# Remember, the first character of IFS is used to create $*,
3298# except with old shells:
3299build_os=$*
3300IFS=$ac_save_IFS
3301case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
3302
3303
3304{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
3305$as_echo_n "checking host system type... " >&6; }
3306if ${ac_cv_host+:} false; then :
3307 $as_echo_n "(cached) " >&6
3308else
3309 if test "x$host_alias" = x; then
3310 ac_cv_host=$ac_cv_build
3311else
3312 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
3313 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
3314fi
3315
3316fi
3317{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
3318$as_echo "$ac_cv_host" >&6; }
3319case $ac_cv_host in
3320*-*-*) ;;
3321*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
3322esac
3323host=$ac_cv_host
3324ac_save_IFS=$IFS; IFS='-'
3325set x $ac_cv_host
3326shift
3327host_cpu=$1
3328host_vendor=$2
3329shift; shift
3330# Remember, the first character of IFS is used to create $*,
3331# except with old shells:
3332host_os=$*
3333IFS=$ac_save_IFS
3334case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
3335
3336
3337
3338ac_ext=c
3339ac_cpp='$CPP $CPPFLAGS'
3340ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3341ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3342ac_compiler_gnu=$ac_cv_c_compiler_gnu
3343{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
3344$as_echo_n "checking how to run the C preprocessor... " >&6; }
3345# On Suns, sometimes $CPP names a directory.
3346if test -n "$CPP" && test -d "$CPP"; then
3347 CPP=
3348fi
3349if test -z "$CPP"; then
3350 if ${ac_cv_prog_CPP+:} false; then :
3351 $as_echo_n "(cached) " >&6
3352else
3353 # Double quotes because CPP needs to be expanded
3354 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
3355 do
3356 ac_preproc_ok=false
3357for ac_c_preproc_warn_flag in '' yes
3358do
3359 # Use a header file that comes with gcc, so configuring glibc
3360 # with a fresh cross-compiler works.
3361 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
3362 # <limits.h> exists even on freestanding compilers.
3363 # On the NeXT, cc -E runs the code through the compiler's parser,
3364 # not just through cpp. "Syntax error" is here to catch this case.
3365 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3366/* end confdefs.h. */
3367#ifdef __STDC__
3368# include <limits.h>
3369#else
3370# include <assert.h>
3371#endif
3372 Syntax error
3373_ACEOF
3374if ac_fn_c_try_cpp "$LINENO"; then :
3375
3376else
3377 # Broken: fails on valid input.
3378continue
3379fi
3380rm -f conftest.err conftest.i conftest.$ac_ext
3381
3382 # OK, works on sane cases. Now check whether nonexistent headers
3383 # can be detected and how.
3384 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3385/* end confdefs.h. */
3386#include <ac_nonexistent.h>
3387_ACEOF
3388if ac_fn_c_try_cpp "$LINENO"; then :
3389 # Broken: success on invalid input.
3390continue
3391else
3392 # Passes both tests.
3393ac_preproc_ok=:
3394break
3395fi
3396rm -f conftest.err conftest.i conftest.$ac_ext
3397
3398done
3399# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
3400rm -f conftest.i conftest.err conftest.$ac_ext
3401if $ac_preproc_ok; then :
3402 break
3403fi
3404
3405 done
3406 ac_cv_prog_CPP=$CPP
3407
3408fi
3409 CPP=$ac_cv_prog_CPP
3410else
3411 ac_cv_prog_CPP=$CPP
3412fi
3413{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
3414$as_echo "$CPP" >&6; }
3415ac_preproc_ok=false
3416for ac_c_preproc_warn_flag in '' yes
3417do
3418 # Use a header file that comes with gcc, so configuring glibc
3419 # with a fresh cross-compiler works.
3420 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
3421 # <limits.h> exists even on freestanding compilers.
3422 # On the NeXT, cc -E runs the code through the compiler's parser,
3423 # not just through cpp. "Syntax error" is here to catch this case.
3424 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3425/* end confdefs.h. */
3426#ifdef __STDC__
3427# include <limits.h>
3428#else
3429# include <assert.h>
3430#endif
3431 Syntax error
3432_ACEOF
3433if ac_fn_c_try_cpp "$LINENO"; then :
3434
3435else
3436 # Broken: fails on valid input.
3437continue
3438fi
3439rm -f conftest.err conftest.i conftest.$ac_ext
3440
3441 # OK, works on sane cases. Now check whether nonexistent headers
3442 # can be detected and how.
3443 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3444/* end confdefs.h. */
3445#include <ac_nonexistent.h>
3446_ACEOF
3447if ac_fn_c_try_cpp "$LINENO"; then :
3448 # Broken: success on invalid input.
3449continue
3450else
3451 # Passes both tests.
3452ac_preproc_ok=:
3453break
3454fi
3455rm -f conftest.err conftest.i conftest.$ac_ext
3456
3457done
3458# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
3459rm -f conftest.i conftest.err conftest.$ac_ext
3460if $ac_preproc_ok; then :
3461
3462else
3463 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3464$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3465as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
3466See \`config.log' for more details" "$LINENO" 5; }
3467fi
3468
3469ac_ext=c
3470ac_cpp='$CPP $CPPFLAGS'
3471ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3472ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3473ac_compiler_gnu=$ac_cv_c_compiler_gnu
3474
3475
3476{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
3477$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
3478if ${ac_cv_path_GREP+:} false; then :
3479 $as_echo_n "(cached) " >&6
3480else
3481 if test -z "$GREP"; then
3482 ac_path_GREP_found=false
3483 # Loop through the user's path and test for each of PROGNAME-LIST
3484 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3485for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
3486do
3487 IFS=$as_save_IFS
3488 test -z "$as_dir" && as_dir=.
3489 for ac_prog in grep ggrep; do
3490 for ac_exec_ext in '' $ac_executable_extensions; do
3491 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
3492 as_fn_executable_p "$ac_path_GREP" || continue
3493# Check for GNU ac_path_GREP and select it if it is found.
3494 # Check for GNU $ac_path_GREP
3495case `"$ac_path_GREP" --version 2>&1` in
3496*GNU*)
3497 ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
3498*)
3499 ac_count=0
3500 $as_echo_n 0123456789 >"conftest.in"
3501 while :
3502 do
3503 cat "conftest.in" "conftest.in" >"conftest.tmp"
3504 mv "conftest.tmp" "conftest.in"
3505 cp "conftest.in" "conftest.nl"
3506 $as_echo 'GREP' >> "conftest.nl"
3507 "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
3508 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
3509 as_fn_arith $ac_count + 1 && ac_count=$as_val
3510 if test $ac_count -gt ${ac_path_GREP_max-0}; then
3511 # Best one so far, save it but keep looking for a better one
3512 ac_cv_path_GREP="$ac_path_GREP"
3513 ac_path_GREP_max=$ac_count
3514 fi
3515 # 10*(2^10) chars as input seems more than enough
3516 test $ac_count -gt 10 && break
3517 done
3518 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
3519esac
3520
3521 $ac_path_GREP_found && break 3
3522 done
3523 done
3524 done
3525IFS=$as_save_IFS
3526 if test -z "$ac_cv_path_GREP"; then
3527 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
3528 fi
3529else
3530 ac_cv_path_GREP=$GREP
3531fi
3532
3533fi
3534{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
3535$as_echo "$ac_cv_path_GREP" >&6; }
3536 GREP="$ac_cv_path_GREP"
3537
3538
3539{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
3540$as_echo_n "checking for egrep... " >&6; }
3541if ${ac_cv_path_EGREP+:} false; then :
3542 $as_echo_n "(cached) " >&6
3543else
3544 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
3545 then ac_cv_path_EGREP="$GREP -E"
3546 else
3547 if test -z "$EGREP"; then
3548 ac_path_EGREP_found=false
3549 # Loop through the user's path and test for each of PROGNAME-LIST
3550 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3551for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
3552do
3553 IFS=$as_save_IFS
3554 test -z "$as_dir" && as_dir=.
3555 for ac_prog in egrep; do
3556 for ac_exec_ext in '' $ac_executable_extensions; do
3557 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
3558 as_fn_executable_p "$ac_path_EGREP" || continue
3559# Check for GNU ac_path_EGREP and select it if it is found.
3560 # Check for GNU $ac_path_EGREP
3561case `"$ac_path_EGREP" --version 2>&1` in
3562*GNU*)
3563 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
3564*)
3565 ac_count=0
3566 $as_echo_n 0123456789 >"conftest.in"
3567 while :
3568 do
3569 cat "conftest.in" "conftest.in" >"conftest.tmp"
3570 mv "conftest.tmp" "conftest.in"
3571 cp "conftest.in" "conftest.nl"
3572 $as_echo 'EGREP' >> "conftest.nl"
3573 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
3574 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
3575 as_fn_arith $ac_count + 1 && ac_count=$as_val
3576 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
3577 # Best one so far, save it but keep looking for a better one
3578 ac_cv_path_EGREP="$ac_path_EGREP"
3579 ac_path_EGREP_max=$ac_count
3580 fi
3581 # 10*(2^10) chars as input seems more than enough
3582 test $ac_count -gt 10 && break
3583 done
3584 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
3585esac
3586
3587 $ac_path_EGREP_found && break 3
3588 done
3589 done
3590 done
3591IFS=$as_save_IFS
3592 if test -z "$ac_cv_path_EGREP"; then
3593 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
3594 fi
3595else
3596 ac_cv_path_EGREP=$EGREP
3597fi
3598
3599 fi
3600fi
3601{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
3602$as_echo "$ac_cv_path_EGREP" >&6; }
3603 EGREP="$ac_cv_path_EGREP"
3604
3605
3606{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
3607$as_echo_n "checking for ANSI C header files... " >&6; }
3608if ${ac_cv_header_stdc+:} false; then :
3609 $as_echo_n "(cached) " >&6
3610else
3611 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3612/* end confdefs.h. */
3613#include <stdlib.h>
3614#include <stdarg.h>
3615#include <string.h>
3616#include <float.h>
3617
3618int
3619main ()
3620{
3621
3622 ;
3623 return 0;
3624}
3625_ACEOF
3626if ac_fn_c_try_compile "$LINENO"; then :
3627 ac_cv_header_stdc=yes
3628else
3629 ac_cv_header_stdc=no
3630fi
3631rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3632
3633if test $ac_cv_header_stdc = yes; then
3634 # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
3635 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3636/* end confdefs.h. */
3637#include <string.h>
3638
3639_ACEOF
3640if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
3641 $EGREP "memchr" >/dev/null 2>&1; then :
3642
3643else
3644 ac_cv_header_stdc=no
3645fi
3646rm -f conftest*
3647
3648fi
3649
3650if test $ac_cv_header_stdc = yes; then
3651 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
3652 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3653/* end confdefs.h. */
3654#include <stdlib.h>
3655
3656_ACEOF
3657if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
3658 $EGREP "free" >/dev/null 2>&1; then :
3659
3660else
3661 ac_cv_header_stdc=no
3662fi
3663rm -f conftest*
3664
3665fi
3666
3667if test $ac_cv_header_stdc = yes; then
3668 # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
3669 if test "$cross_compiling" = yes; then :
3670 :
3671else
3672 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3673/* end confdefs.h. */
3674#include <ctype.h>
3675#include <stdlib.h>
3676#if ((' ' & 0x0FF) == 0x020)
3677# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
3678# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
3679#else
3680# define ISLOWER(c) \
3681 (('a' <= (c) && (c) <= 'i') \
3682 || ('j' <= (c) && (c) <= 'r') \
3683 || ('s' <= (c) && (c) <= 'z'))
3684# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
3685#endif
3686
3687#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
3688int
3689main ()
3690{
3691 int i;
3692 for (i = 0; i < 256; i++)
3693 if (XOR (islower (i), ISLOWER (i))
3694 || toupper (i) != TOUPPER (i))
3695 return 2;
3696 return 0;
3697}
3698_ACEOF
3699if ac_fn_c_try_run "$LINENO"; then :
3700
3701else
3702 ac_cv_header_stdc=no
3703fi
3704rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
3705 conftest.$ac_objext conftest.beam conftest.$ac_ext
3706fi
3707
3708fi
3709fi
3710{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
3711$as_echo "$ac_cv_header_stdc" >&6; }
3712if test $ac_cv_header_stdc = yes; then
3713
3714$as_echo "#define STDC_HEADERS 1" >>confdefs.h
3715
3716fi
3717
3718# On IRIX 5.3, sys/types and inttypes.h are conflicting.
3719for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
3720 inttypes.h stdint.h unistd.h
3721do :
3722 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
3723ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
3724"
3725if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
3726 cat >>confdefs.h <<_ACEOF
3727#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
3728_ACEOF
3729
3730fi
3731
3732done
3733
3734
3735 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
3736$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
3737if ${ac_cv_c_bigendian+:} false; then :
3738 $as_echo_n "(cached) " >&6
3739else
3740 ac_cv_c_bigendian=unknown
3741 # See if we're dealing with a universal compiler.
3742 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3743/* end confdefs.h. */
3744#ifndef __APPLE_CC__
3745 not a universal capable compiler
3746 #endif
3747 typedef int dummy;
3748
3749_ACEOF
3750if ac_fn_c_try_compile "$LINENO"; then :
3751
3752 # Check for potential -arch flags. It is not universal unless
3753 # there are at least two -arch flags with different values.
3754 ac_arch=
3755 ac_prev=
3756 for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
3757 if test -n "$ac_prev"; then
3758 case $ac_word in
3759 i?86 | x86_64 | ppc | ppc64)
3760 if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
3761 ac_arch=$ac_word
3762 else
3763 ac_cv_c_bigendian=universal
3764 break
3765 fi
3766 ;;
3767 esac
3768 ac_prev=
3769 elif test "x$ac_word" = "x-arch"; then
3770 ac_prev=arch
3771 fi
3772 done
3773fi
3774rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3775 if test $ac_cv_c_bigendian = unknown; then
3776 # See if sys/param.h defines the BYTE_ORDER macro.
3777 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3778/* end confdefs.h. */
3779#include <sys/types.h>
3780 #include <sys/param.h>
3781
3782int
3783main ()
3784{
3785#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
3786 && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
3787 && LITTLE_ENDIAN)
3788 bogus endian macros
3789 #endif
3790
3791 ;
3792 return 0;
3793}
3794_ACEOF
3795if ac_fn_c_try_compile "$LINENO"; then :
3796 # It does; now see whether it defined to BIG_ENDIAN or not.
3797 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3798/* end confdefs.h. */
3799#include <sys/types.h>
3800 #include <sys/param.h>
3801
3802int
3803main ()
3804{
3805#if BYTE_ORDER != BIG_ENDIAN
3806 not big endian
3807 #endif
3808
3809 ;
3810 return 0;
3811}
3812_ACEOF
3813if ac_fn_c_try_compile "$LINENO"; then :
3814 ac_cv_c_bigendian=yes
3815else
3816 ac_cv_c_bigendian=no
3817fi
3818rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3819fi
3820rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3821 fi
3822 if test $ac_cv_c_bigendian = unknown; then
3823 # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
3824 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3825/* end confdefs.h. */
3826#include <limits.h>
3827
3828int
3829main ()
3830{
3831#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
3832 bogus endian macros
3833 #endif
3834
3835 ;
3836 return 0;
3837}
3838_ACEOF
3839if ac_fn_c_try_compile "$LINENO"; then :
3840 # It does; now see whether it defined to _BIG_ENDIAN or not.
3841 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3842/* end confdefs.h. */
3843#include <limits.h>
3844
3845int
3846main ()
3847{
3848#ifndef _BIG_ENDIAN
3849 not big endian
3850 #endif
3851
3852 ;
3853 return 0;
3854}
3855_ACEOF
3856if ac_fn_c_try_compile "$LINENO"; then :
3857 ac_cv_c_bigendian=yes
3858else
3859 ac_cv_c_bigendian=no
3860fi
3861rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3862fi
3863rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3864 fi
3865 if test $ac_cv_c_bigendian = unknown; then
3866 # Compile a test program.
3867 if test "$cross_compiling" = yes; then :
3868 # Try to guess by grepping values from an object file.
3869 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3870/* end confdefs.h. */
3871short int ascii_mm[] =
3872 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
3873 short int ascii_ii[] =
3874 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
3875 int use_ascii (int i) {
3876 return ascii_mm[i] + ascii_ii[i];
3877 }
3878 short int ebcdic_ii[] =
3879 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
3880 short int ebcdic_mm[] =
3881 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
3882 int use_ebcdic (int i) {
3883 return ebcdic_mm[i] + ebcdic_ii[i];
3884 }
3885 extern int foo;
3886
3887int
3888main ()
3889{
3890return use_ascii (foo) == use_ebcdic (foo);
3891 ;
3892 return 0;
3893}
3894_ACEOF
3895if ac_fn_c_try_compile "$LINENO"; then :
3896 if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
3897 ac_cv_c_bigendian=yes
3898 fi
3899 if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
3900 if test "$ac_cv_c_bigendian" = unknown; then
3901 ac_cv_c_bigendian=no
3902 else
3903 # finding both strings is unlikely to happen, but who knows?
3904 ac_cv_c_bigendian=unknown
3905 fi
3906 fi
3907fi
3908rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3909else
3910 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3911/* end confdefs.h. */
3912$ac_includes_default
3913int
3914main ()
3915{
3916
3917 /* Are we little or big endian? From Harbison&Steele. */
3918 union
3919 {
3920 long int l;
3921 char c[sizeof (long int)];
3922 } u;
3923 u.l = 1;
3924 return u.c[sizeof (long int) - 1] == 1;
3925
3926 ;
3927 return 0;
3928}
3929_ACEOF
3930if ac_fn_c_try_run "$LINENO"; then :
3931 ac_cv_c_bigendian=no
3932else
3933 ac_cv_c_bigendian=yes
3934fi
3935rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
3936 conftest.$ac_objext conftest.beam conftest.$ac_ext
3937fi
3938
3939 fi
3940fi
3941{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
3942$as_echo "$ac_cv_c_bigendian" >&6; }
3943 case $ac_cv_c_bigendian in #(
3944 yes)
3945 $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
3946;; #(
3947 no)
3948 ;; #(
3949 universal)
3950
3951$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
3952
3953 ;; #(
3954 *)
3955 as_fn_error $? "unknown endianness
3956 presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
3957 esac
3958
3959
3960# Checks for programs.
3961for ac_prog in gawk mawk nawk awk
3962do
3963 # Extract the first word of "$ac_prog", so it can be a program name with args.
3964set dummy $ac_prog; ac_word=$2
3965{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3966$as_echo_n "checking for $ac_word... " >&6; }
3967if ${ac_cv_prog_AWK+:} false; then :
3968 $as_echo_n "(cached) " >&6
3969else
3970 if test -n "$AWK"; then
3971 ac_cv_prog_AWK="$AWK" # Let the user override the test.
3972else
3973as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3974for as_dir in $PATH
3975do
3976 IFS=$as_save_IFS
3977 test -z "$as_dir" && as_dir=.
3978 for ac_exec_ext in '' $ac_executable_extensions; do
3979 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3980 ac_cv_prog_AWK="$ac_prog"
3981 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3982 break 2
3983 fi
3984done
3985 done
3986IFS=$as_save_IFS
3987
3988fi
3989fi
3990AWK=$ac_cv_prog_AWK
3991if test -n "$AWK"; then
3992 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
3993$as_echo "$AWK" >&6; }
3994else
3995 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3996$as_echo "no" >&6; }
3997fi
3998
3999
4000 test -n "$AWK" && break
4001done
4002
4003ac_ext=c
4004ac_cpp='$CPP $CPPFLAGS'
4005ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4006ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4007ac_compiler_gnu=$ac_cv_c_compiler_gnu
4008{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
4009$as_echo_n "checking how to run the C preprocessor... " >&6; }
4010# On Suns, sometimes $CPP names a directory.
4011if test -n "$CPP" && test -d "$CPP"; then
4012 CPP=
4013fi
4014if test -z "$CPP"; then
4015 if ${ac_cv_prog_CPP+:} false; then :
4016 $as_echo_n "(cached) " >&6
4017else
4018 # Double quotes because CPP needs to be expanded
4019 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
4020 do
4021 ac_preproc_ok=false
4022for ac_c_preproc_warn_flag in '' yes
4023do
4024 # Use a header file that comes with gcc, so configuring glibc
4025 # with a fresh cross-compiler works.
4026 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4027 # <limits.h> exists even on freestanding compilers.
4028 # On the NeXT, cc -E runs the code through the compiler's parser,
4029 # not just through cpp. "Syntax error" is here to catch this case.
4030 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4031/* end confdefs.h. */
4032#ifdef __STDC__
4033# include <limits.h>
4034#else
4035# include <assert.h>
4036#endif
4037 Syntax error
4038_ACEOF
4039if ac_fn_c_try_cpp "$LINENO"; then :
4040
4041else
4042 # Broken: fails on valid input.
4043continue
4044fi
4045rm -f conftest.err conftest.i conftest.$ac_ext
4046
4047 # OK, works on sane cases. Now check whether nonexistent headers
4048 # can be detected and how.
4049 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4050/* end confdefs.h. */
4051#include <ac_nonexistent.h>
4052_ACEOF
4053if ac_fn_c_try_cpp "$LINENO"; then :
4054 # Broken: success on invalid input.
4055continue
4056else
4057 # Passes both tests.
4058ac_preproc_ok=:
4059break
4060fi
4061rm -f conftest.err conftest.i conftest.$ac_ext
4062
4063done
4064# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4065rm -f conftest.i conftest.err conftest.$ac_ext
4066if $ac_preproc_ok; then :
4067 break
4068fi
4069
4070 done
4071 ac_cv_prog_CPP=$CPP
4072
4073fi
4074 CPP=$ac_cv_prog_CPP
4075else
4076 ac_cv_prog_CPP=$CPP
4077fi
4078{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
4079$as_echo "$CPP" >&6; }
4080ac_preproc_ok=false
4081for ac_c_preproc_warn_flag in '' yes
4082do
4083 # Use a header file that comes with gcc, so configuring glibc
4084 # with a fresh cross-compiler works.
4085 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4086 # <limits.h> exists even on freestanding compilers.
4087 # On the NeXT, cc -E runs the code through the compiler's parser,
4088 # not just through cpp. "Syntax error" is here to catch this case.
4089 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4090/* end confdefs.h. */
4091#ifdef __STDC__
4092# include <limits.h>
4093#else
4094# include <assert.h>
4095#endif
4096 Syntax error
4097_ACEOF
4098if ac_fn_c_try_cpp "$LINENO"; then :
4099
4100else
4101 # Broken: fails on valid input.
4102continue
4103fi
4104rm -f conftest.err conftest.i conftest.$ac_ext
4105
4106 # OK, works on sane cases. Now check whether nonexistent headers
4107 # can be detected and how.
4108 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4109/* end confdefs.h. */
4110#include <ac_nonexistent.h>
4111_ACEOF
4112if ac_fn_c_try_cpp "$LINENO"; then :
4113 # Broken: success on invalid input.
4114continue
4115else
4116 # Passes both tests.
4117ac_preproc_ok=:
4118break
4119fi
4120rm -f conftest.err conftest.i conftest.$ac_ext
4121
4122done
4123# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4124rm -f conftest.i conftest.err conftest.$ac_ext
4125if $ac_preproc_ok; then :
4126
4127else
4128 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4129$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4130as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
4131See \`config.log' for more details" "$LINENO" 5; }
4132fi
4133
4134ac_ext=c
4135ac_cpp='$CPP $CPPFLAGS'
4136ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4137ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4138ac_compiler_gnu=$ac_cv_c_compiler_gnu
4139
4140if test -n "$ac_tool_prefix"; then
4141 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
4142set dummy ${ac_tool_prefix}ranlib; ac_word=$2
4143{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4144$as_echo_n "checking for $ac_word... " >&6; }
4145if ${ac_cv_prog_RANLIB+:} false; then :
4146 $as_echo_n "(cached) " >&6
4147else
4148 if test -n "$RANLIB"; then
4149 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
4150else
4151as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4152for as_dir in $PATH
4153do
4154 IFS=$as_save_IFS
4155 test -z "$as_dir" && as_dir=.
4156 for ac_exec_ext in '' $ac_executable_extensions; do
4157 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4158 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
4159 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4160 break 2
4161 fi
4162done
4163 done
4164IFS=$as_save_IFS
4165
4166fi
4167fi
4168RANLIB=$ac_cv_prog_RANLIB
4169if test -n "$RANLIB"; then
4170 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
4171$as_echo "$RANLIB" >&6; }
4172else
4173 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4174$as_echo "no" >&6; }
4175fi
4176
4177
4178fi
4179if test -z "$ac_cv_prog_RANLIB"; then
4180 ac_ct_RANLIB=$RANLIB
4181 # Extract the first word of "ranlib", so it can be a program name with args.
4182set dummy ranlib; ac_word=$2
4183{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4184$as_echo_n "checking for $ac_word... " >&6; }
4185if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
4186 $as_echo_n "(cached) " >&6
4187else
4188 if test -n "$ac_ct_RANLIB"; then
4189 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
4190else
4191as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4192for as_dir in $PATH
4193do
4194 IFS=$as_save_IFS
4195 test -z "$as_dir" && as_dir=.
4196 for ac_exec_ext in '' $ac_executable_extensions; do
4197 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4198 ac_cv_prog_ac_ct_RANLIB="ranlib"
4199 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4200 break 2
4201 fi
4202done
4203 done
4204IFS=$as_save_IFS
4205
4206fi
4207fi
4208ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
4209if test -n "$ac_ct_RANLIB"; then
4210 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
4211$as_echo "$ac_ct_RANLIB" >&6; }
4212else
4213 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4214$as_echo "no" >&6; }
4215fi
4216
4217 if test "x$ac_ct_RANLIB" = x; then
4218 RANLIB=":"
4219 else
4220 case $cross_compiling:$ac_tool_warned in
4221yes:)
4222{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4223$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4224ac_tool_warned=yes ;;
4225esac
4226 RANLIB=$ac_ct_RANLIB
4227 fi
4228else
4229 RANLIB="$ac_cv_prog_RANLIB"
4230fi
4231
4232# Find a good install program. We prefer a C program (faster),
4233# so one script is as good as another. But avoid the broken or
4234# incompatible versions:
4235# SysV /etc/install, /usr/sbin/install
4236# SunOS /usr/etc/install
4237# IRIX /sbin/install
4238# AIX /bin/install
4239# AmigaOS /C/install, which installs bootblocks on floppy discs
4240# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
4241# AFS /usr/afsws/bin/install, which mishandles nonexistent args
4242# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
4243# OS/2's system install, which has a completely different semantic
4244# ./install, which can be erroneously created by make from ./install.sh.
4245# Reject install programs that cannot install multiple files.
4246{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
4247$as_echo_n "checking for a BSD-compatible install... " >&6; }
4248if test -z "$INSTALL"; then
4249if ${ac_cv_path_install+:} false; then :
4250 $as_echo_n "(cached) " >&6
4251else
4252 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4253for as_dir in $PATH
4254do
4255 IFS=$as_save_IFS
4256 test -z "$as_dir" && as_dir=.
4257 # Account for people who put trailing slashes in PATH elements.
4258case $as_dir/ in #((
4259 ./ | .// | /[cC]/* | \
4260 /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
4261 ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
4262 /usr/ucb/* ) ;;
4263 *)
4264 # OSF1 and SCO ODT 3.0 have their own names for install.
4265 # Don't use installbsd from OSF since it installs stuff as root
4266 # by default.
4267 for ac_prog in ginstall scoinst install; do
4268 for ac_exec_ext in '' $ac_executable_extensions; do
4269 if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
4270 if test $ac_prog = install &&
4271 grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
4272 # AIX install. It has an incompatible calling convention.
4273 :
4274 elif test $ac_prog = install &&
4275 grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
4276 # program-specific install script used by HP pwplus--don't use.
4277 :
4278 else
4279 rm -rf conftest.one conftest.two conftest.dir
4280 echo one > conftest.one
4281 echo two > conftest.two
4282 mkdir conftest.dir
4283 if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
4284 test -s conftest.one && test -s conftest.two &&
4285 test -s conftest.dir/conftest.one &&
4286 test -s conftest.dir/conftest.two
4287 then
4288 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
4289 break 3
4290 fi
4291 fi
4292 fi
4293 done
4294 done
4295 ;;
4296esac
4297
4298 done
4299IFS=$as_save_IFS
4300
4301rm -rf conftest.one conftest.two conftest.dir
4302
4303fi
4304 if test "${ac_cv_path_install+set}" = set; then
4305 INSTALL=$ac_cv_path_install
4306 else
4307 # As a last resort, use the slow shell script. Don't cache a
4308 # value for INSTALL within a source directory, because that will
4309 # break other packages using the cache if that directory is
4310 # removed, or if the value is a relative name.
4311 INSTALL=$ac_install_sh
4312 fi
4313fi
4314{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
4315$as_echo "$INSTALL" >&6; }
4316
4317# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
4318# It thinks the first close brace ends the variable substitution.
4319test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
4320
4321test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
4322
4323test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
4324
4325{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
4326$as_echo_n "checking for egrep... " >&6; }
4327if ${ac_cv_path_EGREP+:} false; then :
4328 $as_echo_n "(cached) " >&6
4329else
4330 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
4331 then ac_cv_path_EGREP="$GREP -E"
4332 else
4333 if test -z "$EGREP"; then
4334 ac_path_EGREP_found=false
4335 # Loop through the user's path and test for each of PROGNAME-LIST
4336 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4337for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
4338do
4339 IFS=$as_save_IFS
4340 test -z "$as_dir" && as_dir=.
4341 for ac_prog in egrep; do
4342 for ac_exec_ext in '' $ac_executable_extensions; do
4343 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
4344 as_fn_executable_p "$ac_path_EGREP" || continue
4345# Check for GNU ac_path_EGREP and select it if it is found.
4346 # Check for GNU $ac_path_EGREP
4347case `"$ac_path_EGREP" --version 2>&1` in
4348*GNU*)
4349 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
4350*)
4351 ac_count=0
4352 $as_echo_n 0123456789 >"conftest.in"
4353 while :
4354 do
4355 cat "conftest.in" "conftest.in" >"conftest.tmp"
4356 mv "conftest.tmp" "conftest.in"
4357 cp "conftest.in" "conftest.nl"
4358 $as_echo 'EGREP' >> "conftest.nl"
4359 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
4360 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4361 as_fn_arith $ac_count + 1 && ac_count=$as_val
4362 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
4363 # Best one so far, save it but keep looking for a better one
4364 ac_cv_path_EGREP="$ac_path_EGREP"
4365 ac_path_EGREP_max=$ac_count
4366 fi
4367 # 10*(2^10) chars as input seems more than enough
4368 test $ac_count -gt 10 && break
4369 done
4370 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4371esac
4372
4373 $ac_path_EGREP_found && break 3
4374 done
4375 done
4376 done
4377IFS=$as_save_IFS
4378 if test -z "$ac_cv_path_EGREP"; then
4379 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4380 fi
4381else
4382 ac_cv_path_EGREP=$EGREP
4383fi
4384
4385 fi
4386fi
4387{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
4388$as_echo "$ac_cv_path_EGREP" >&6; }
4389 EGREP="$ac_cv_path_EGREP"
4390
4391
4392{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
4393$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
4394if test -z "$MKDIR_P"; then
4395 if ${ac_cv_path_mkdir+:} false; then :
4396 $as_echo_n "(cached) " >&6
4397else
4398 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4399for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
4400do
4401 IFS=$as_save_IFS
4402 test -z "$as_dir" && as_dir=.
4403 for ac_prog in mkdir gmkdir; do
4404 for ac_exec_ext in '' $ac_executable_extensions; do
4405 as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
4406 case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
4407 'mkdir (GNU coreutils) '* | \
4408 'mkdir (coreutils) '* | \
4409 'mkdir (fileutils) '4.1*)
4410 ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
4411 break 3;;
4412 esac
4413 done
4414 done
4415 done
4416IFS=$as_save_IFS
4417
4418fi
4419
4420 test -d ./--version && rmdir ./--version
4421 if test "${ac_cv_path_mkdir+set}" = set; then
4422 MKDIR_P="$ac_cv_path_mkdir -p"
4423 else
4424 # As a last resort, use the slow shell script. Don't cache a
4425 # value for MKDIR_P within a source directory, because that will
4426 # break other packages using the cache if that directory is
4427 # removed, or if the value is a relative name.
4428 MKDIR_P="$ac_install_sh -d"
4429 fi
4430fi
4431{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
4432$as_echo "$MKDIR_P" >&6; }
4433
4434if test -n "$ac_tool_prefix"; then
4435 for ac_prog in ar
4436 do
4437 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
4438set dummy $ac_tool_prefix$ac_prog; ac_word=$2
4439{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4440$as_echo_n "checking for $ac_word... " >&6; }
4441if ${ac_cv_prog_AR+:} false; then :
4442 $as_echo_n "(cached) " >&6
4443else
4444 if test -n "$AR"; then
4445 ac_cv_prog_AR="$AR" # Let the user override the test.
4446else
4447as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4448for as_dir in $PATH
4449do
4450 IFS=$as_save_IFS
4451 test -z "$as_dir" && as_dir=.
4452 for ac_exec_ext in '' $ac_executable_extensions; do
4453 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4454 ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
4455 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4456 break 2
4457 fi
4458done
4459 done
4460IFS=$as_save_IFS
4461
4462fi
4463fi
4464AR=$ac_cv_prog_AR
4465if test -n "$AR"; then
4466 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
4467$as_echo "$AR" >&6; }
4468else
4469 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4470$as_echo "no" >&6; }
4471fi
4472
4473
4474 test -n "$AR" && break
4475 done
4476fi
4477if test -z "$AR"; then
4478 ac_ct_AR=$AR
4479 for ac_prog in ar
4480do
4481 # Extract the first word of "$ac_prog", so it can be a program name with args.
4482set dummy $ac_prog; ac_word=$2
4483{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4484$as_echo_n "checking for $ac_word... " >&6; }
4485if ${ac_cv_prog_ac_ct_AR+:} false; then :
4486 $as_echo_n "(cached) " >&6
4487else
4488 if test -n "$ac_ct_AR"; then
4489 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
4490else
4491as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4492for as_dir in $PATH
4493do
4494 IFS=$as_save_IFS
4495 test -z "$as_dir" && as_dir=.
4496 for ac_exec_ext in '' $ac_executable_extensions; do
4497 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4498 ac_cv_prog_ac_ct_AR="$ac_prog"
4499 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4500 break 2
4501 fi
4502done
4503 done
4504IFS=$as_save_IFS
4505
4506fi
4507fi
4508ac_ct_AR=$ac_cv_prog_ac_ct_AR
4509if test -n "$ac_ct_AR"; then
4510 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
4511$as_echo "$ac_ct_AR" >&6; }
4512else
4513 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4514$as_echo "no" >&6; }
4515fi
4516
4517
4518 test -n "$ac_ct_AR" && break
4519done
4520
4521 if test "x$ac_ct_AR" = x; then
4522 AR=""
4523 else
4524 case $cross_compiling:$ac_tool_warned in
4525yes:)
4526{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4527$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4528ac_tool_warned=yes ;;
4529esac
4530 AR=$ac_ct_AR
4531 fi
4532fi
4533
4534# Extract the first word of "cat", so it can be a program name with args.
4535set dummy cat; ac_word=$2
4536{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4537$as_echo_n "checking for $ac_word... " >&6; }
4538if ${ac_cv_path_CAT+:} false; then :
4539 $as_echo_n "(cached) " >&6
4540else
4541 case $CAT in
4542 [\\/]* | ?:[\\/]*)
4543 ac_cv_path_CAT="$CAT" # Let the user override the test with a path.
4544 ;;
4545 *)
4546 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4547for as_dir in $PATH
4548do
4549 IFS=$as_save_IFS
4550 test -z "$as_dir" && as_dir=.
4551 for ac_exec_ext in '' $ac_executable_extensions; do
4552 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4553 ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext"
4554 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4555 break 2
4556 fi
4557done
4558 done
4559IFS=$as_save_IFS
4560
4561 ;;
4562esac
4563fi
4564CAT=$ac_cv_path_CAT
4565if test -n "$CAT"; then
4566 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5
4567$as_echo "$CAT" >&6; }
4568else
4569 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4570$as_echo "no" >&6; }
4571fi
4572
4573
4574# Extract the first word of "kill", so it can be a program name with args.
4575set dummy kill; ac_word=$2
4576{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4577$as_echo_n "checking for $ac_word... " >&6; }
4578if ${ac_cv_path_KILL+:} false; then :
4579 $as_echo_n "(cached) " >&6
4580else
4581 case $KILL in
4582 [\\/]* | ?:[\\/]*)
4583 ac_cv_path_KILL="$KILL" # Let the user override the test with a path.
4584 ;;
4585 *)
4586 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4587for as_dir in $PATH
4588do
4589 IFS=$as_save_IFS
4590 test -z "$as_dir" && as_dir=.
4591 for ac_exec_ext in '' $ac_executable_extensions; do
4592 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4593 ac_cv_path_KILL="$as_dir/$ac_word$ac_exec_ext"
4594 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4595 break 2
4596 fi
4597done
4598 done
4599IFS=$as_save_IFS
4600
4601 ;;
4602esac
4603fi
4604KILL=$ac_cv_path_KILL
4605if test -n "$KILL"; then
4606 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KILL" >&5
4607$as_echo "$KILL" >&6; }
4608else
4609 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4610$as_echo "no" >&6; }
4611fi
4612
4613
4614# Extract the first word of "sed", so it can be a program name with args.
4615set dummy sed; ac_word=$2
4616{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4617$as_echo_n "checking for $ac_word... " >&6; }
4618if ${ac_cv_path_SED+:} false; then :
4619 $as_echo_n "(cached) " >&6
4620else
4621 case $SED in
4622 [\\/]* | ?:[\\/]*)
4623 ac_cv_path_SED="$SED" # Let the user override the test with a path.
4624 ;;
4625 *)
4626 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4627for as_dir in $PATH
4628do
4629 IFS=$as_save_IFS
4630 test -z "$as_dir" && as_dir=.
4631 for ac_exec_ext in '' $ac_executable_extensions; do
4632 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4633 ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
4634 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4635 break 2
4636 fi
4637done
4638 done
4639IFS=$as_save_IFS
4640
4641 ;;
4642esac
4643fi
4644SED=$ac_cv_path_SED
4645if test -n "$SED"; then
4646 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5
4647$as_echo "$SED" >&6; }
4648else
4649 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4650$as_echo "no" >&6; }
4651fi
4652
4653
4654# Extract the first word of "bash", so it can be a program name with args.
4655set dummy bash; ac_word=$2
4656{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4657$as_echo_n "checking for $ac_word... " >&6; }
4658if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4659 $as_echo_n "(cached) " >&6
4660else
4661 case $TEST_MINUS_S_SH in
4662 [\\/]* | ?:[\\/]*)
4663 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4664 ;;
4665 *)
4666 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4667for as_dir in $PATH
4668do
4669 IFS=$as_save_IFS
4670 test -z "$as_dir" && as_dir=.
4671 for ac_exec_ext in '' $ac_executable_extensions; do
4672 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4673 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4674 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4675 break 2
4676 fi
4677done
4678 done
4679IFS=$as_save_IFS
4680
4681 ;;
4682esac
4683fi
4684TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4685if test -n "$TEST_MINUS_S_SH"; then
4686 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4687$as_echo "$TEST_MINUS_S_SH" >&6; }
4688else
4689 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4690$as_echo "no" >&6; }
4691fi
4692
4693
4694# Extract the first word of "ksh", so it can be a program name with args.
4695set dummy ksh; ac_word=$2
4696{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4697$as_echo_n "checking for $ac_word... " >&6; }
4698if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4699 $as_echo_n "(cached) " >&6
4700else
4701 case $TEST_MINUS_S_SH in
4702 [\\/]* | ?:[\\/]*)
4703 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4704 ;;
4705 *)
4706 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4707for as_dir in $PATH
4708do
4709 IFS=$as_save_IFS
4710 test -z "$as_dir" && as_dir=.
4711 for ac_exec_ext in '' $ac_executable_extensions; do
4712 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4713 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4714 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4715 break 2
4716 fi
4717done
4718 done
4719IFS=$as_save_IFS
4720
4721 ;;
4722esac
4723fi
4724TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4725if test -n "$TEST_MINUS_S_SH"; then
4726 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4727$as_echo "$TEST_MINUS_S_SH" >&6; }
4728else
4729 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4730$as_echo "no" >&6; }
4731fi
4732
4733
4734# Extract the first word of "sh", so it can be a program name with args.
4735set dummy sh; ac_word=$2
4736{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4737$as_echo_n "checking for $ac_word... " >&6; }
4738if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4739 $as_echo_n "(cached) " >&6
4740else
4741 case $TEST_MINUS_S_SH in
4742 [\\/]* | ?:[\\/]*)
4743 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4744 ;;
4745 *)
4746 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4747for as_dir in $PATH
4748do
4749 IFS=$as_save_IFS
4750 test -z "$as_dir" && as_dir=.
4751 for ac_exec_ext in '' $ac_executable_extensions; do
4752 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4753 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4754 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4755 break 2
4756 fi
4757done
4758 done
4759IFS=$as_save_IFS
4760
4761 ;;
4762esac
4763fi
4764TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4765if test -n "$TEST_MINUS_S_SH"; then
4766 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4767$as_echo "$TEST_MINUS_S_SH" >&6; }
4768else
4769 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4770$as_echo "no" >&6; }
4771fi
4772
4773
4774# Extract the first word of "sh", so it can be a program name with args.
4775set dummy sh; ac_word=$2
4776{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4777$as_echo_n "checking for $ac_word... " >&6; }
4778if ${ac_cv_path_SH+:} false; then :
4779 $as_echo_n "(cached) " >&6
4780else
4781 case $SH in
4782 [\\/]* | ?:[\\/]*)
4783 ac_cv_path_SH="$SH" # Let the user override the test with a path.
4784 ;;
4785 *)
4786 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4787for as_dir in $PATH
4788do
4789 IFS=$as_save_IFS
4790 test -z "$as_dir" && as_dir=.
4791 for ac_exec_ext in '' $ac_executable_extensions; do
4792 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4793 ac_cv_path_SH="$as_dir/$ac_word$ac_exec_ext"
4794 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4795 break 2
4796 fi
4797done
4798 done
4799IFS=$as_save_IFS
4800
4801 ;;
4802esac
4803fi
4804SH=$ac_cv_path_SH
4805if test -n "$SH"; then
4806 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SH" >&5
4807$as_echo "$SH" >&6; }
4808else
4809 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4810$as_echo "no" >&6; }
4811fi
4812
4813
4814# Extract the first word of "groff", so it can be a program name with args.
4815set dummy groff; ac_word=$2
4816{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4817$as_echo_n "checking for $ac_word... " >&6; }
4818if ${ac_cv_path_GROFF+:} false; then :
4819 $as_echo_n "(cached) " >&6
4820else
4821 case $GROFF in
4822 [\\/]* | ?:[\\/]*)
4823 ac_cv_path_GROFF="$GROFF" # Let the user override the test with a path.
4824 ;;
4825 *)
4826 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4827for as_dir in $PATH
4828do
4829 IFS=$as_save_IFS
4830 test -z "$as_dir" && as_dir=.
4831 for ac_exec_ext in '' $ac_executable_extensions; do
4832 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4833 ac_cv_path_GROFF="$as_dir/$ac_word$ac_exec_ext"
4834 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4835 break 2
4836 fi
4837done
4838 done
4839IFS=$as_save_IFS
4840
4841 ;;
4842esac
4843fi
4844GROFF=$ac_cv_path_GROFF
4845if test -n "$GROFF"; then
4846 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GROFF" >&5
4847$as_echo "$GROFF" >&6; }
4848else
4849 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4850$as_echo "no" >&6; }
4851fi
4852
4853
4854# Extract the first word of "nroff awf", so it can be a program name with args.
4855set dummy nroff awf; ac_word=$2
4856{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4857$as_echo_n "checking for $ac_word... " >&6; }
4858if ${ac_cv_path_NROFF+:} false; then :
4859 $as_echo_n "(cached) " >&6
4860else
4861 case $NROFF in
4862 [\\/]* | ?:[\\/]*)
4863 ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path.
4864 ;;
4865 *)
4866 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4867for as_dir in $PATH
4868do
4869 IFS=$as_save_IFS
4870 test -z "$as_dir" && as_dir=.
4871 for ac_exec_ext in '' $ac_executable_extensions; do
4872 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4873 ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext"
4874 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4875 break 2
4876 fi
4877done
4878 done
4879IFS=$as_save_IFS
4880
4881 ;;
4882esac
4883fi
4884NROFF=$ac_cv_path_NROFF
4885if test -n "$NROFF"; then
4886 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5
4887$as_echo "$NROFF" >&6; }
4888else
4889 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4890$as_echo "no" >&6; }
4891fi
4892
4893
4894# Extract the first word of "mandoc", so it can be a program name with args.
4895set dummy mandoc; ac_word=$2
4896{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4897$as_echo_n "checking for $ac_word... " >&6; }
4898if ${ac_cv_path_MANDOC+:} false; then :
4899 $as_echo_n "(cached) " >&6
4900else
4901 case $MANDOC in
4902 [\\/]* | ?:[\\/]*)
4903 ac_cv_path_MANDOC="$MANDOC" # Let the user override the test with a path.
4904 ;;
4905 *)
4906 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4907for as_dir in $PATH
4908do
4909 IFS=$as_save_IFS
4910 test -z "$as_dir" && as_dir=.
4911 for ac_exec_ext in '' $ac_executable_extensions; do
4912 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4913 ac_cv_path_MANDOC="$as_dir/$ac_word$ac_exec_ext"
4914 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4915 break 2
4916 fi
4917done
4918 done
4919IFS=$as_save_IFS
4920
4921 ;;
4922esac
4923fi
4924MANDOC=$ac_cv_path_MANDOC
4925if test -n "$MANDOC"; then
4926 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANDOC" >&5
4927$as_echo "$MANDOC" >&6; }
4928else
4929 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4930$as_echo "no" >&6; }
4931fi
4932
4933
4934TEST_SHELL=sh
4935
4936
4937if test "x$MANDOC" != "x" ; then
4938 MANFMT="$MANDOC"
4939elif test "x$NROFF" != "x" ; then
4940 MANFMT="$NROFF -mandoc"
4941elif test "x$GROFF" != "x" ; then
4942 MANFMT="$GROFF -mandoc -Tascii"
4943else
4944 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no manpage formatter found" >&5
4945$as_echo "$as_me: WARNING: no manpage formatter found" >&2;}
4946 MANFMT="false"
4947fi
4948
4949
4950# Extract the first word of "groupadd", so it can be a program name with args.
4951set dummy groupadd; ac_word=$2
4952{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4953$as_echo_n "checking for $ac_word... " >&6; }
4954if ${ac_cv_path_PATH_GROUPADD_PROG+:} false; then :
4955 $as_echo_n "(cached) " >&6
4956else
4957 case $PATH_GROUPADD_PROG in
4958 [\\/]* | ?:[\\/]*)
4959 ac_cv_path_PATH_GROUPADD_PROG="$PATH_GROUPADD_PROG" # Let the user override the test with a path.
4960 ;;
4961 *)
4962 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4963for as_dir in /usr/sbin${PATH_SEPARATOR}/etc
4964do
4965 IFS=$as_save_IFS
4966 test -z "$as_dir" && as_dir=.
4967 for ac_exec_ext in '' $ac_executable_extensions; do
4968 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4969 ac_cv_path_PATH_GROUPADD_PROG="$as_dir/$ac_word$ac_exec_ext"
4970 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4971 break 2
4972 fi
4973done
4974 done
4975IFS=$as_save_IFS
4976
4977 test -z "$ac_cv_path_PATH_GROUPADD_PROG" && ac_cv_path_PATH_GROUPADD_PROG="groupadd"
4978 ;;
4979esac
4980fi
4981PATH_GROUPADD_PROG=$ac_cv_path_PATH_GROUPADD_PROG
4982if test -n "$PATH_GROUPADD_PROG"; then
4983 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_GROUPADD_PROG" >&5
4984$as_echo "$PATH_GROUPADD_PROG" >&6; }
4985else
4986 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4987$as_echo "no" >&6; }
4988fi
4989
4990
4991# Extract the first word of "useradd", so it can be a program name with args.
4992set dummy useradd; ac_word=$2
4993{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4994$as_echo_n "checking for $ac_word... " >&6; }
4995if ${ac_cv_path_PATH_USERADD_PROG+:} false; then :
4996 $as_echo_n "(cached) " >&6
4997else
4998 case $PATH_USERADD_PROG in
4999 [\\/]* | ?:[\\/]*)
5000 ac_cv_path_PATH_USERADD_PROG="$PATH_USERADD_PROG" # Let the user override the test with a path.
5001 ;;
5002 *)
5003 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5004for as_dir in /usr/sbin${PATH_SEPARATOR}/etc
5005do
5006 IFS=$as_save_IFS
5007 test -z "$as_dir" && as_dir=.
5008 for ac_exec_ext in '' $ac_executable_extensions; do
5009 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5010 ac_cv_path_PATH_USERADD_PROG="$as_dir/$ac_word$ac_exec_ext"
5011 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5012 break 2
5013 fi
5014done
5015 done
5016IFS=$as_save_IFS
5017
5018 test -z "$ac_cv_path_PATH_USERADD_PROG" && ac_cv_path_PATH_USERADD_PROG="useradd"
5019 ;;
5020esac
5021fi
5022PATH_USERADD_PROG=$ac_cv_path_PATH_USERADD_PROG
5023if test -n "$PATH_USERADD_PROG"; then
5024 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_USERADD_PROG" >&5
5025$as_echo "$PATH_USERADD_PROG" >&6; }
5026else
5027 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5028$as_echo "no" >&6; }
5029fi
5030
5031
5032# Extract the first word of "pkgmk", so it can be a program name with args.
5033set dummy pkgmk; ac_word=$2
5034{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5035$as_echo_n "checking for $ac_word... " >&6; }
5036if ${ac_cv_prog_MAKE_PACKAGE_SUPPORTED+:} false; then :
5037 $as_echo_n "(cached) " >&6
5038else
5039 if test -n "$MAKE_PACKAGE_SUPPORTED"; then
5040 ac_cv_prog_MAKE_PACKAGE_SUPPORTED="$MAKE_PACKAGE_SUPPORTED" # Let the user override the test.
5041else
5042as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5043for as_dir in $PATH
5044do
5045 IFS=$as_save_IFS
5046 test -z "$as_dir" && as_dir=.
5047 for ac_exec_ext in '' $ac_executable_extensions; do
5048 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5049 ac_cv_prog_MAKE_PACKAGE_SUPPORTED="yes"
5050 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5051 break 2
5052 fi
5053done
5054 done
5055IFS=$as_save_IFS
5056
5057 test -z "$ac_cv_prog_MAKE_PACKAGE_SUPPORTED" && ac_cv_prog_MAKE_PACKAGE_SUPPORTED="no"
5058fi
5059fi
5060MAKE_PACKAGE_SUPPORTED=$ac_cv_prog_MAKE_PACKAGE_SUPPORTED
5061if test -n "$MAKE_PACKAGE_SUPPORTED"; then
5062 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE_PACKAGE_SUPPORTED" >&5
5063$as_echo "$MAKE_PACKAGE_SUPPORTED" >&6; }
5064else
5065 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5066$as_echo "no" >&6; }
5067fi
5068
5069
5070if test -x /sbin/sh; then
5071 STARTUP_SCRIPT_SHELL=/sbin/sh
5072
5073else
5074 STARTUP_SCRIPT_SHELL=/bin/sh
5075
5076fi
5077
5078# System features
5079# Check whether --enable-largefile was given.
5080if test "${enable_largefile+set}" = set; then :
5081 enableval=$enable_largefile;
5082fi
5083
5084if test "$enable_largefile" != no; then
5085
5086 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
5087$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
5088if ${ac_cv_sys_largefile_CC+:} false; then :
5089 $as_echo_n "(cached) " >&6
5090else
5091 ac_cv_sys_largefile_CC=no
5092 if test "$GCC" != yes; then
5093 ac_save_CC=$CC
5094 while :; do
5095 # IRIX 6.2 and later do not support large files by default,
5096 # so use the C compiler's -n32 option if that helps.
5097 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5098/* end confdefs.h. */
5099#include <sys/types.h>
5100 /* Check that off_t can represent 2**63 - 1 correctly.
5101 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5102 since some C++ compilers masquerading as C compilers
5103 incorrectly reject 9223372036854775807. */
5104#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5105 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5106 && LARGE_OFF_T % 2147483647 == 1)
5107 ? 1 : -1];
5108int
5109main ()
5110{
5111
5112 ;
5113 return 0;
5114}
5115_ACEOF
5116 if ac_fn_c_try_compile "$LINENO"; then :
5117 break
5118fi
5119rm -f core conftest.err conftest.$ac_objext
5120 CC="$CC -n32"
5121 if ac_fn_c_try_compile "$LINENO"; then :
5122 ac_cv_sys_largefile_CC=' -n32'; break
5123fi
5124rm -f core conftest.err conftest.$ac_objext
5125 break
5126 done
5127 CC=$ac_save_CC
5128 rm -f conftest.$ac_ext
5129 fi
5130fi
5131{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
5132$as_echo "$ac_cv_sys_largefile_CC" >&6; }
5133 if test "$ac_cv_sys_largefile_CC" != no; then
5134 CC=$CC$ac_cv_sys_largefile_CC
5135 fi
5136
5137 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
5138$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
5139if ${ac_cv_sys_file_offset_bits+:} false; then :
5140 $as_echo_n "(cached) " >&6
5141else
5142 while :; do
5143 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5144/* end confdefs.h. */
5145#include <sys/types.h>
5146 /* Check that off_t can represent 2**63 - 1 correctly.
5147 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5148 since some C++ compilers masquerading as C compilers
5149 incorrectly reject 9223372036854775807. */
5150#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5151 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5152 && LARGE_OFF_T % 2147483647 == 1)
5153 ? 1 : -1];
5154int
5155main ()
5156{
5157
5158 ;
5159 return 0;
5160}
5161_ACEOF
5162if ac_fn_c_try_compile "$LINENO"; then :
5163 ac_cv_sys_file_offset_bits=no; break
5164fi
5165rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5166 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5167/* end confdefs.h. */
5168#define _FILE_OFFSET_BITS 64
5169#include <sys/types.h>
5170 /* Check that off_t can represent 2**63 - 1 correctly.
5171 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5172 since some C++ compilers masquerading as C compilers
5173 incorrectly reject 9223372036854775807. */
5174#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5175 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5176 && LARGE_OFF_T % 2147483647 == 1)
5177 ? 1 : -1];
5178int
5179main ()
5180{
5181
5182 ;
5183 return 0;
5184}
5185_ACEOF
5186if ac_fn_c_try_compile "$LINENO"; then :
5187 ac_cv_sys_file_offset_bits=64; break
5188fi
5189rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5190 ac_cv_sys_file_offset_bits=unknown
5191 break
5192done
5193fi
5194{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
5195$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
5196case $ac_cv_sys_file_offset_bits in #(
5197 no | unknown) ;;
5198 *)
5199cat >>confdefs.h <<_ACEOF
5200#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
5201_ACEOF
5202;;
5203esac
5204rm -rf conftest*
5205 if test $ac_cv_sys_file_offset_bits = unknown; then
5206 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
5207$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
5208if ${ac_cv_sys_large_files+:} false; then :
5209 $as_echo_n "(cached) " >&6
5210else
5211 while :; do
5212 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5213/* end confdefs.h. */
5214#include <sys/types.h>
5215 /* Check that off_t can represent 2**63 - 1 correctly.
5216 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5217 since some C++ compilers masquerading as C compilers
5218 incorrectly reject 9223372036854775807. */
5219#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5220 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5221 && LARGE_OFF_T % 2147483647 == 1)
5222 ? 1 : -1];
5223int
5224main ()
5225{
5226
5227 ;
5228 return 0;
5229}
5230_ACEOF
5231if ac_fn_c_try_compile "$LINENO"; then :
5232 ac_cv_sys_large_files=no; break
5233fi
5234rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5235 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5236/* end confdefs.h. */
5237#define _LARGE_FILES 1
5238#include <sys/types.h>
5239 /* Check that off_t can represent 2**63 - 1 correctly.
5240 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5241 since some C++ compilers masquerading as C compilers
5242 incorrectly reject 9223372036854775807. */
5243#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5244 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5245 && LARGE_OFF_T % 2147483647 == 1)
5246 ? 1 : -1];
5247int
5248main ()
5249{
5250
5251 ;
5252 return 0;
5253}
5254_ACEOF
5255if ac_fn_c_try_compile "$LINENO"; then :
5256 ac_cv_sys_large_files=1; break
5257fi
5258rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5259 ac_cv_sys_large_files=unknown
5260 break
5261done
5262fi
5263{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
5264$as_echo "$ac_cv_sys_large_files" >&6; }
5265case $ac_cv_sys_large_files in #(
5266 no | unknown) ;;
5267 *)
5268cat >>confdefs.h <<_ACEOF
5269#define _LARGE_FILES $ac_cv_sys_large_files
5270_ACEOF
5271;;
5272esac
5273rm -rf conftest*
5274 fi
5275
5276
5277fi
5278
5279
5280if test -z "$AR" ; then
5281 as_fn_error $? "*** 'ar' missing, please install or fix your \$PATH ***" "$LINENO" 5
5282fi
5283
5284# Extract the first word of "passwd", so it can be a program name with args.
5285set dummy passwd; ac_word=$2
5286{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5287$as_echo_n "checking for $ac_word... " >&6; }
5288if ${ac_cv_path_PATH_PASSWD_PROG+:} false; then :
5289 $as_echo_n "(cached) " >&6
5290else
5291 case $PATH_PASSWD_PROG in
5292 [\\/]* | ?:[\\/]*)
5293 ac_cv_path_PATH_PASSWD_PROG="$PATH_PASSWD_PROG" # Let the user override the test with a path.
5294 ;;
5295 *)
5296 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5297for as_dir in $PATH
5298do
5299 IFS=$as_save_IFS
5300 test -z "$as_dir" && as_dir=.
5301 for ac_exec_ext in '' $ac_executable_extensions; do
5302 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5303 ac_cv_path_PATH_PASSWD_PROG="$as_dir/$ac_word$ac_exec_ext"
5304 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5305 break 2
5306 fi
5307done
5308 done
5309IFS=$as_save_IFS
5310
5311 ;;
5312esac
5313fi
5314PATH_PASSWD_PROG=$ac_cv_path_PATH_PASSWD_PROG
5315if test -n "$PATH_PASSWD_PROG"; then
5316 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_PASSWD_PROG" >&5
5317$as_echo "$PATH_PASSWD_PROG" >&6; }
5318else
5319 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5320$as_echo "no" >&6; }
5321fi
5322
5323
5324if test ! -z "$PATH_PASSWD_PROG" ; then
5325
5326cat >>confdefs.h <<_ACEOF
5327#define _PATH_PASSWD_PROG "$PATH_PASSWD_PROG"
5328_ACEOF
5329
5330fi
5331
5332LD="$CC"
5333
5334
5335{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
5336$as_echo_n "checking for inline... " >&6; }
5337if ${ac_cv_c_inline+:} false; then :
5338 $as_echo_n "(cached) " >&6
5339else
5340 ac_cv_c_inline=no
5341for ac_kw in inline __inline__ __inline; do
5342 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5343/* end confdefs.h. */
5344#ifndef __cplusplus
5345typedef int foo_t;
5346static $ac_kw foo_t static_foo () {return 0; }
5347$ac_kw foo_t foo () {return 0; }
5348#endif
5349
5350_ACEOF
5351if ac_fn_c_try_compile "$LINENO"; then :
5352 ac_cv_c_inline=$ac_kw
5353fi
5354rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5355 test "$ac_cv_c_inline" != no && break
5356done
5357
5358fi
5359{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
5360$as_echo "$ac_cv_c_inline" >&6; }
5361
5362case $ac_cv_c_inline in
5363 inline | yes) ;;
5364 *)
5365 case $ac_cv_c_inline in
5366 no) ac_val=;;
5367 *) ac_val=$ac_cv_c_inline;;
5368 esac
5369 cat >>confdefs.h <<_ACEOF
5370#ifndef __cplusplus
5371#define inline $ac_val
5372#endif
5373_ACEOF
5374 ;;
5375esac
5376
5377
5378ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h>
5379"
5380if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then :
5381 have_llong_max=1
5382fi
5383
5384ac_fn_c_check_decl "$LINENO" "LONG_LONG_MAX" "ac_cv_have_decl_LONG_LONG_MAX" "#include <limits.h>
5385"
5386if test "x$ac_cv_have_decl_LONG_LONG_MAX" = xyes; then :
5387 have_long_long_max=1
5388fi
5389
5390ac_fn_c_check_decl "$LINENO" "SYSTR_POLICY_KILL" "ac_cv_have_decl_SYSTR_POLICY_KILL" "
5391 #include <sys/types.h>
5392 #include <sys/param.h>
5393 #include <dev/systrace.h>
5394
5395"
5396if test "x$ac_cv_have_decl_SYSTR_POLICY_KILL" = xyes; then :
5397 have_systr_policy_kill=1
5398fi
5399
5400ac_fn_c_check_decl "$LINENO" "RLIMIT_NPROC" "ac_cv_have_decl_RLIMIT_NPROC" "
5401 #include <sys/types.h>
5402 #include <sys/resource.h>
5403
5404"
5405if test "x$ac_cv_have_decl_RLIMIT_NPROC" = xyes; then :
5406
5407$as_echo "#define HAVE_RLIMIT_NPROC /**/" >>confdefs.h
5408
5409fi
5410
5411ac_fn_c_check_decl "$LINENO" "PR_SET_NO_NEW_PRIVS" "ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" "
5412 #include <sys/types.h>
5413 #include <linux/prctl.h>
5414
5415"
5416if test "x$ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" = xyes; then :
5417 have_linux_no_new_privs=1
5418fi
5419
5420
5421openssl=yes
5422
5423# Check whether --with-openssl was given.
5424if test "${with_openssl+set}" = set; then :
5425 withval=$with_openssl; if test "x$withval" = "xno" ; then
5426 openssl=no
5427 fi
5428
5429
5430fi
5431
5432{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL will be used for cryptography" >&5
5433$as_echo_n "checking whether OpenSSL will be used for cryptography... " >&6; }
5434if test "x$openssl" = "xyes" ; then
5435 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5436$as_echo "yes" >&6; }
5437
5438cat >>confdefs.h <<_ACEOF
5439#define WITH_OPENSSL 1
5440_ACEOF
5441
5442else
5443 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5444$as_echo "no" >&6; }
5445fi
5446
5447use_stack_protector=1
5448use_toolchain_hardening=1
5449
5450# Check whether --with-stackprotect was given.
5451if test "${with_stackprotect+set}" = set; then :
5452 withval=$with_stackprotect;
5453 if test "x$withval" = "xno"; then
5454 use_stack_protector=0
5455 fi
5456fi
5457
5458
5459# Check whether --with-hardening was given.
5460if test "${with_hardening+set}" = set; then :
5461 withval=$with_hardening;
5462 if test "x$withval" = "xno"; then
5463 use_toolchain_hardening=0
5464 fi
5465fi
5466
5467
5468# We use -Werror for the tests only so that we catch warnings like "this is
5469# on by default" for things like -fPIE.
5470{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror" >&5
5471$as_echo_n "checking if $CC supports -Werror... " >&6; }
5472saved_CFLAGS="$CFLAGS"
5473CFLAGS="$CFLAGS -Werror"
5474cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5475/* end confdefs.h. */
5476int main(void) { return 0; }
5477_ACEOF
5478if ac_fn_c_try_compile "$LINENO"; then :
5479 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5480$as_echo "yes" >&6; }
5481 WERROR="-Werror"
5482else
5483 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5484$as_echo "no" >&6; }
5485 WERROR=""
5486
5487fi
5488rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5489CFLAGS="$saved_CFLAGS"
5490
5491if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
5492 {
5493 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -pipe" >&5
5494$as_echo_n "checking if $CC supports compile flag -pipe... " >&6; }
5495 saved_CFLAGS="$CFLAGS"
5496 CFLAGS="$CFLAGS $WERROR -pipe"
5497 _define_flag=""
5498 test "x$_define_flag" = "x" && _define_flag="-pipe"
5499 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5500/* end confdefs.h. */
5501
5502#include <stdlib.h>
5503#include <stdio.h>
5504int main(int argc, char **argv) {
5505 (void)argv;
5506 /* Some math to catch -ftrapv problems in the toolchain */
5507 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5508 float l = i * 2.1;
5509 double m = l / 0.5;
5510 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5511 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5512 /*
5513 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
5514 * not understand comments and we don't use the "fallthrough" attribute
5515 * that it's looking for.
5516 */
5517 switch(i){
5518 case 0: j += i;
5519 /* FALLTHROUGH */
5520 default: j += k;
5521 }
5522 exit(0);
5523}
5524
5525_ACEOF
5526if ac_fn_c_try_compile "$LINENO"; then :
5527
5528if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5529then
5530 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5531$as_echo "no" >&6; }
5532 CFLAGS="$saved_CFLAGS"
5533else
5534 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5535$as_echo "yes" >&6; }
5536 CFLAGS="$saved_CFLAGS $_define_flag"
5537fi
5538else
5539 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5540$as_echo "no" >&6; }
5541 CFLAGS="$saved_CFLAGS"
5542
5543fi
5544rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5545}
5546 {
5547 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunknown-warning-option" >&5
5548$as_echo_n "checking if $CC supports compile flag -Wunknown-warning-option... " >&6; }
5549 saved_CFLAGS="$CFLAGS"
5550 CFLAGS="$CFLAGS $WERROR -Wunknown-warning-option"
5551 _define_flag=""
5552 test "x$_define_flag" = "x" && _define_flag="-Wunknown-warning-option"
5553 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5554/* end confdefs.h. */
5555
5556#include <stdlib.h>
5557#include <stdio.h>
5558int main(int argc, char **argv) {
5559 (void)argv;
5560 /* Some math to catch -ftrapv problems in the toolchain */
5561 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5562 float l = i * 2.1;
5563 double m = l / 0.5;
5564 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5565 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5566 /*
5567 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
5568 * not understand comments and we don't use the "fallthrough" attribute
5569 * that it's looking for.
5570 */
5571 switch(i){
5572 case 0: j += i;
5573 /* FALLTHROUGH */
5574 default: j += k;
5575 }
5576 exit(0);
5577}
5578
5579_ACEOF
5580if ac_fn_c_try_compile "$LINENO"; then :
5581
5582if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5583then
5584 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5585$as_echo "no" >&6; }
5586 CFLAGS="$saved_CFLAGS"
5587else
5588 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5589$as_echo "yes" >&6; }
5590 CFLAGS="$saved_CFLAGS $_define_flag"
5591fi
5592else
5593 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5594$as_echo "no" >&6; }
5595 CFLAGS="$saved_CFLAGS"
5596
5597fi
5598rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5599}
5600 {
5601 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wno-error=format-truncation" >&5
5602$as_echo_n "checking if $CC supports compile flag -Wno-error=format-truncation... " >&6; }
5603 saved_CFLAGS="$CFLAGS"
5604 CFLAGS="$CFLAGS $WERROR -Wno-error=format-truncation"
5605 _define_flag=""
5606 test "x$_define_flag" = "x" && _define_flag="-Wno-error=format-truncation"
5607 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5608/* end confdefs.h. */
5609
5610#include <stdlib.h>
5611#include <stdio.h>
5612int main(int argc, char **argv) {
5613 (void)argv;
5614 /* Some math to catch -ftrapv problems in the toolchain */
5615 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5616 float l = i * 2.1;
5617 double m = l / 0.5;
5618 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5619 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5620 /*
5621 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
5622 * not understand comments and we don't use the "fallthrough" attribute
5623 * that it's looking for.
5624 */
5625 switch(i){
5626 case 0: j += i;
5627 /* FALLTHROUGH */
5628 default: j += k;
5629 }
5630 exit(0);
5631}
5632
5633_ACEOF
5634if ac_fn_c_try_compile "$LINENO"; then :
5635
5636if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5637then
5638 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5639$as_echo "no" >&6; }
5640 CFLAGS="$saved_CFLAGS"
5641else
5642 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5643$as_echo "yes" >&6; }
5644 CFLAGS="$saved_CFLAGS $_define_flag"
5645fi
5646else
5647 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5648$as_echo "no" >&6; }
5649 CFLAGS="$saved_CFLAGS"
5650
5651fi
5652rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5653}
5654 {
5655 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Qunused-arguments" >&5
5656$as_echo_n "checking if $CC supports compile flag -Qunused-arguments... " >&6; }
5657 saved_CFLAGS="$CFLAGS"
5658 CFLAGS="$CFLAGS $WERROR -Qunused-arguments"
5659 _define_flag=""
5660 test "x$_define_flag" = "x" && _define_flag="-Qunused-arguments"
5661 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5662/* end confdefs.h. */
5663
5664#include <stdlib.h>
5665#include <stdio.h>
5666int main(int argc, char **argv) {
5667 (void)argv;
5668 /* Some math to catch -ftrapv problems in the toolchain */
5669 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5670 float l = i * 2.1;
5671 double m = l / 0.5;
5672 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5673 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5674 /*
5675 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
5676 * not understand comments and we don't use the "fallthrough" attribute
5677 * that it's looking for.
5678 */
5679 switch(i){
5680 case 0: j += i;
5681 /* FALLTHROUGH */
5682 default: j += k;
5683 }
5684 exit(0);
5685}
5686
5687_ACEOF
5688if ac_fn_c_try_compile "$LINENO"; then :
5689
5690if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5691then
5692 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5693$as_echo "no" >&6; }
5694 CFLAGS="$saved_CFLAGS"
5695else
5696 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5697$as_echo "yes" >&6; }
5698 CFLAGS="$saved_CFLAGS $_define_flag"
5699fi
5700else
5701 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5702$as_echo "no" >&6; }
5703 CFLAGS="$saved_CFLAGS"
5704
5705fi
5706rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5707}
5708 {
5709 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wall" >&5
5710$as_echo_n "checking if $CC supports compile flag -Wall... " >&6; }
5711 saved_CFLAGS="$CFLAGS"
5712 CFLAGS="$CFLAGS $WERROR -Wall"
5713 _define_flag=""
5714 test "x$_define_flag" = "x" && _define_flag="-Wall"
5715 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5716/* end confdefs.h. */
5717
5718#include <stdlib.h>
5719#include <stdio.h>
5720int main(int argc, char **argv) {
5721 (void)argv;
5722 /* Some math to catch -ftrapv problems in the toolchain */
5723 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5724 float l = i * 2.1;
5725 double m = l / 0.5;
5726 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5727 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5728 /*
5729 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
5730 * not understand comments and we don't use the "fallthrough" attribute
5731 * that it's looking for.
5732 */
5733 switch(i){
5734 case 0: j += i;
5735 /* FALLTHROUGH */
5736 default: j += k;
5737 }
5738 exit(0);
5739}
5740
5741_ACEOF
5742if ac_fn_c_try_compile "$LINENO"; then :
5743
5744if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5745then
5746 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5747$as_echo "no" >&6; }
5748 CFLAGS="$saved_CFLAGS"
5749else
5750 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5751$as_echo "yes" >&6; }
5752 CFLAGS="$saved_CFLAGS $_define_flag"
5753fi
5754else
5755 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5756$as_echo "no" >&6; }
5757 CFLAGS="$saved_CFLAGS"
5758
5759fi
5760rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5761}
5762 {
5763 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wextra" >&5
5764$as_echo_n "checking if $CC supports compile flag -Wextra... " >&6; }
5765 saved_CFLAGS="$CFLAGS"
5766 CFLAGS="$CFLAGS $WERROR -Wextra"
5767 _define_flag=""
5768 test "x$_define_flag" = "x" && _define_flag="-Wextra"
5769 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5770/* end confdefs.h. */
5771
5772#include <stdlib.h>
5773#include <stdio.h>
5774int main(int argc, char **argv) {
5775 (void)argv;
5776 /* Some math to catch -ftrapv problems in the toolchain */
5777 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5778 float l = i * 2.1;
5779 double m = l / 0.5;
5780 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5781 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5782 /*
5783 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
5784 * not understand comments and we don't use the "fallthrough" attribute
5785 * that it's looking for.
5786 */
5787 switch(i){
5788 case 0: j += i;
5789 /* FALLTHROUGH */
5790 default: j += k;
5791 }
5792 exit(0);
5793}
5794
5795_ACEOF
5796if ac_fn_c_try_compile "$LINENO"; then :
5797
5798if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5799then
5800 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5801$as_echo "no" >&6; }
5802 CFLAGS="$saved_CFLAGS"
5803else
5804 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5805$as_echo "yes" >&6; }
5806 CFLAGS="$saved_CFLAGS $_define_flag"
5807fi
5808else
5809 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5810$as_echo "no" >&6; }
5811 CFLAGS="$saved_CFLAGS"
5812
5813fi
5814rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5815}
5816 {
5817 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-arith" >&5
5818$as_echo_n "checking if $CC supports compile flag -Wpointer-arith... " >&6; }
5819 saved_CFLAGS="$CFLAGS"
5820 CFLAGS="$CFLAGS $WERROR -Wpointer-arith"
5821 _define_flag=""
5822 test "x$_define_flag" = "x" && _define_flag="-Wpointer-arith"
5823 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5824/* end confdefs.h. */
5825
5826#include <stdlib.h>
5827#include <stdio.h>
5828int main(int argc, char **argv) {
5829 (void)argv;
5830 /* Some math to catch -ftrapv problems in the toolchain */
5831 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5832 float l = i * 2.1;
5833 double m = l / 0.5;
5834 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5835 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5836 /*
5837 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
5838 * not understand comments and we don't use the "fallthrough" attribute
5839 * that it's looking for.
5840 */
5841 switch(i){
5842 case 0: j += i;
5843 /* FALLTHROUGH */
5844 default: j += k;
5845 }
5846 exit(0);
5847}
5848
5849_ACEOF
5850if ac_fn_c_try_compile "$LINENO"; then :
5851
5852if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5853then
5854 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5855$as_echo "no" >&6; }
5856 CFLAGS="$saved_CFLAGS"
5857else
5858 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5859$as_echo "yes" >&6; }
5860 CFLAGS="$saved_CFLAGS $_define_flag"
5861fi
5862else
5863 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5864$as_echo "no" >&6; }
5865 CFLAGS="$saved_CFLAGS"
5866
5867fi
5868rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5869}
5870 {
5871 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wuninitialized" >&5
5872$as_echo_n "checking if $CC supports compile flag -Wuninitialized... " >&6; }
5873 saved_CFLAGS="$CFLAGS"
5874 CFLAGS="$CFLAGS $WERROR -Wuninitialized"
5875 _define_flag=""
5876 test "x$_define_flag" = "x" && _define_flag="-Wuninitialized"
5877 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5878/* end confdefs.h. */
5879
5880#include <stdlib.h>
5881#include <stdio.h>
5882int main(int argc, char **argv) {
5883 (void)argv;
5884 /* Some math to catch -ftrapv problems in the toolchain */
5885 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5886 float l = i * 2.1;
5887 double m = l / 0.5;
5888 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5889 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5890 /*
5891 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
5892 * not understand comments and we don't use the "fallthrough" attribute
5893 * that it's looking for.
5894 */
5895 switch(i){
5896 case 0: j += i;
5897 /* FALLTHROUGH */
5898 default: j += k;
5899 }
5900 exit(0);
5901}
5902
5903_ACEOF
5904if ac_fn_c_try_compile "$LINENO"; then :
5905
5906if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5907then
5908 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5909$as_echo "no" >&6; }
5910 CFLAGS="$saved_CFLAGS"
5911else
5912 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5913$as_echo "yes" >&6; }
5914 CFLAGS="$saved_CFLAGS $_define_flag"
5915fi
5916else
5917 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5918$as_echo "no" >&6; }
5919 CFLAGS="$saved_CFLAGS"
5920
5921fi
5922rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5923}
5924 {
5925 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsign-compare" >&5
5926$as_echo_n "checking if $CC supports compile flag -Wsign-compare... " >&6; }
5927 saved_CFLAGS="$CFLAGS"
5928 CFLAGS="$CFLAGS $WERROR -Wsign-compare"
5929 _define_flag=""
5930 test "x$_define_flag" = "x" && _define_flag="-Wsign-compare"
5931 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5932/* end confdefs.h. */
5933
5934#include <stdlib.h>
5935#include <stdio.h>
5936int main(int argc, char **argv) {
5937 (void)argv;
5938 /* Some math to catch -ftrapv problems in the toolchain */
5939 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5940 float l = i * 2.1;
5941 double m = l / 0.5;
5942 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5943 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5944 /*
5945 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
5946 * not understand comments and we don't use the "fallthrough" attribute
5947 * that it's looking for.
5948 */
5949 switch(i){
5950 case 0: j += i;
5951 /* FALLTHROUGH */
5952 default: j += k;
5953 }
5954 exit(0);
5955}
5956
5957_ACEOF
5958if ac_fn_c_try_compile "$LINENO"; then :
5959
5960if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5961then
5962 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5963$as_echo "no" >&6; }
5964 CFLAGS="$saved_CFLAGS"
5965else
5966 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5967$as_echo "yes" >&6; }
5968 CFLAGS="$saved_CFLAGS $_define_flag"
5969fi
5970else
5971 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5972$as_echo "no" >&6; }
5973 CFLAGS="$saved_CFLAGS"
5974
5975fi
5976rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5977}
5978 {
5979 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wformat-security" >&5
5980$as_echo_n "checking if $CC supports compile flag -Wformat-security... " >&6; }
5981 saved_CFLAGS="$CFLAGS"
5982 CFLAGS="$CFLAGS $WERROR -Wformat-security"
5983 _define_flag=""
5984 test "x$_define_flag" = "x" && _define_flag="-Wformat-security"
5985 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5986/* end confdefs.h. */
5987
5988#include <stdlib.h>
5989#include <stdio.h>
5990int main(int argc, char **argv) {
5991 (void)argv;
5992 /* Some math to catch -ftrapv problems in the toolchain */
5993 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5994 float l = i * 2.1;
5995 double m = l / 0.5;
5996 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5997 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5998 /*
5999 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
6000 * not understand comments and we don't use the "fallthrough" attribute
6001 * that it's looking for.
6002 */
6003 switch(i){
6004 case 0: j += i;
6005 /* FALLTHROUGH */
6006 default: j += k;
6007 }
6008 exit(0);
6009}
6010
6011_ACEOF
6012if ac_fn_c_try_compile "$LINENO"; then :
6013
6014if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6015then
6016 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6017$as_echo "no" >&6; }
6018 CFLAGS="$saved_CFLAGS"
6019else
6020 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6021$as_echo "yes" >&6; }
6022 CFLAGS="$saved_CFLAGS $_define_flag"
6023fi
6024else
6025 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6026$as_echo "no" >&6; }
6027 CFLAGS="$saved_CFLAGS"
6028
6029fi
6030rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6031}
6032 {
6033 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsizeof-pointer-memaccess" >&5
6034$as_echo_n "checking if $CC supports compile flag -Wsizeof-pointer-memaccess... " >&6; }
6035 saved_CFLAGS="$CFLAGS"
6036 CFLAGS="$CFLAGS $WERROR -Wsizeof-pointer-memaccess"
6037 _define_flag=""
6038 test "x$_define_flag" = "x" && _define_flag="-Wsizeof-pointer-memaccess"
6039 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6040/* end confdefs.h. */
6041
6042#include <stdlib.h>
6043#include <stdio.h>
6044int main(int argc, char **argv) {
6045 (void)argv;
6046 /* Some math to catch -ftrapv problems in the toolchain */
6047 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6048 float l = i * 2.1;
6049 double m = l / 0.5;
6050 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6051 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6052 /*
6053 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
6054 * not understand comments and we don't use the "fallthrough" attribute
6055 * that it's looking for.
6056 */
6057 switch(i){
6058 case 0: j += i;
6059 /* FALLTHROUGH */
6060 default: j += k;
6061 }
6062 exit(0);
6063}
6064
6065_ACEOF
6066if ac_fn_c_try_compile "$LINENO"; then :
6067
6068if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6069then
6070 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6071$as_echo "no" >&6; }
6072 CFLAGS="$saved_CFLAGS"
6073else
6074 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6075$as_echo "yes" >&6; }
6076 CFLAGS="$saved_CFLAGS $_define_flag"
6077fi
6078else
6079 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6080$as_echo "no" >&6; }
6081 CFLAGS="$saved_CFLAGS"
6082
6083fi
6084rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6085}
6086 {
6087 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-sign" >&5
6088$as_echo_n "checking if $CC supports compile flag -Wpointer-sign... " >&6; }
6089 saved_CFLAGS="$CFLAGS"
6090 CFLAGS="$CFLAGS $WERROR -Wpointer-sign"
6091 _define_flag="-Wno-pointer-sign"
6092 test "x$_define_flag" = "x" && _define_flag="-Wpointer-sign"
6093 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6094/* end confdefs.h. */
6095
6096#include <stdlib.h>
6097#include <stdio.h>
6098int main(int argc, char **argv) {
6099 (void)argv;
6100 /* Some math to catch -ftrapv problems in the toolchain */
6101 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6102 float l = i * 2.1;
6103 double m = l / 0.5;
6104 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6105 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6106 /*
6107 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
6108 * not understand comments and we don't use the "fallthrough" attribute
6109 * that it's looking for.
6110 */
6111 switch(i){
6112 case 0: j += i;
6113 /* FALLTHROUGH */
6114 default: j += k;
6115 }
6116 exit(0);
6117}
6118
6119_ACEOF
6120if ac_fn_c_try_compile "$LINENO"; then :
6121
6122if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6123then
6124 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6125$as_echo "no" >&6; }
6126 CFLAGS="$saved_CFLAGS"
6127else
6128 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6129$as_echo "yes" >&6; }
6130 CFLAGS="$saved_CFLAGS $_define_flag"
6131fi
6132else
6133 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6134$as_echo "no" >&6; }
6135 CFLAGS="$saved_CFLAGS"
6136
6137fi
6138rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6139}
6140 {
6141 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunused-parameter" >&5
6142$as_echo_n "checking if $CC supports compile flag -Wunused-parameter... " >&6; }
6143 saved_CFLAGS="$CFLAGS"
6144 CFLAGS="$CFLAGS $WERROR -Wunused-parameter"
6145 _define_flag="-Wno-unused-parameter"
6146 test "x$_define_flag" = "x" && _define_flag="-Wunused-parameter"
6147 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6148/* end confdefs.h. */
6149
6150#include <stdlib.h>
6151#include <stdio.h>
6152int main(int argc, char **argv) {
6153 (void)argv;
6154 /* Some math to catch -ftrapv problems in the toolchain */
6155 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6156 float l = i * 2.1;
6157 double m = l / 0.5;
6158 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6159 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6160 /*
6161 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
6162 * not understand comments and we don't use the "fallthrough" attribute
6163 * that it's looking for.
6164 */
6165 switch(i){
6166 case 0: j += i;
6167 /* FALLTHROUGH */
6168 default: j += k;
6169 }
6170 exit(0);
6171}
6172
6173_ACEOF
6174if ac_fn_c_try_compile "$LINENO"; then :
6175
6176if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6177then
6178 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6179$as_echo "no" >&6; }
6180 CFLAGS="$saved_CFLAGS"
6181else
6182 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6183$as_echo "yes" >&6; }
6184 CFLAGS="$saved_CFLAGS $_define_flag"
6185fi
6186else
6187 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6188$as_echo "no" >&6; }
6189 CFLAGS="$saved_CFLAGS"
6190
6191fi
6192rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6193}
6194 {
6195 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunused-result" >&5
6196$as_echo_n "checking if $CC supports compile flag -Wunused-result... " >&6; }
6197 saved_CFLAGS="$CFLAGS"
6198 CFLAGS="$CFLAGS $WERROR -Wunused-result"
6199 _define_flag="-Wno-unused-result"
6200 test "x$_define_flag" = "x" && _define_flag="-Wunused-result"
6201 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6202/* end confdefs.h. */
6203
6204#include <stdlib.h>
6205#include <stdio.h>
6206int main(int argc, char **argv) {
6207 (void)argv;
6208 /* Some math to catch -ftrapv problems in the toolchain */
6209 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6210 float l = i * 2.1;
6211 double m = l / 0.5;
6212 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6213 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6214 /*
6215 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
6216 * not understand comments and we don't use the "fallthrough" attribute
6217 * that it's looking for.
6218 */
6219 switch(i){
6220 case 0: j += i;
6221 /* FALLTHROUGH */
6222 default: j += k;
6223 }
6224 exit(0);
6225}
6226
6227_ACEOF
6228if ac_fn_c_try_compile "$LINENO"; then :
6229
6230if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6231then
6232 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6233$as_echo "no" >&6; }
6234 CFLAGS="$saved_CFLAGS"
6235else
6236 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6237$as_echo "yes" >&6; }
6238 CFLAGS="$saved_CFLAGS $_define_flag"
6239fi
6240else
6241 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6242$as_echo "no" >&6; }
6243 CFLAGS="$saved_CFLAGS"
6244
6245fi
6246rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6247}
6248 {
6249 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wimplicit-fallthrough" >&5
6250$as_echo_n "checking if $CC supports compile flag -Wimplicit-fallthrough... " >&6; }
6251 saved_CFLAGS="$CFLAGS"
6252 CFLAGS="$CFLAGS $WERROR -Wimplicit-fallthrough"
6253 _define_flag=""
6254 test "x$_define_flag" = "x" && _define_flag="-Wimplicit-fallthrough"
6255 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6256/* end confdefs.h. */
6257
6258#include <stdlib.h>
6259#include <stdio.h>
6260int main(int argc, char **argv) {
6261 (void)argv;
6262 /* Some math to catch -ftrapv problems in the toolchain */
6263 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6264 float l = i * 2.1;
6265 double m = l / 0.5;
6266 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6267 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6268 /*
6269 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
6270 * not understand comments and we don't use the "fallthrough" attribute
6271 * that it's looking for.
6272 */
6273 switch(i){
6274 case 0: j += i;
6275 /* FALLTHROUGH */
6276 default: j += k;
6277 }
6278 exit(0);
6279}
6280
6281_ACEOF
6282if ac_fn_c_try_compile "$LINENO"; then :
6283
6284if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6285then
6286 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6287$as_echo "no" >&6; }
6288 CFLAGS="$saved_CFLAGS"
6289else
6290 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6291$as_echo "yes" >&6; }
6292 CFLAGS="$saved_CFLAGS $_define_flag"
6293fi
6294else
6295 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6296$as_echo "no" >&6; }
6297 CFLAGS="$saved_CFLAGS"
6298
6299fi
6300rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6301}
6302 {
6303 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fno-strict-aliasing" >&5
6304$as_echo_n "checking if $CC supports compile flag -fno-strict-aliasing... " >&6; }
6305 saved_CFLAGS="$CFLAGS"
6306 CFLAGS="$CFLAGS $WERROR -fno-strict-aliasing"
6307 _define_flag=""
6308 test "x$_define_flag" = "x" && _define_flag="-fno-strict-aliasing"
6309 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6310/* end confdefs.h. */
6311
6312#include <stdlib.h>
6313#include <stdio.h>
6314int main(int argc, char **argv) {
6315 (void)argv;
6316 /* Some math to catch -ftrapv problems in the toolchain */
6317 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6318 float l = i * 2.1;
6319 double m = l / 0.5;
6320 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6321 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6322 /*
6323 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
6324 * not understand comments and we don't use the "fallthrough" attribute
6325 * that it's looking for.
6326 */
6327 switch(i){
6328 case 0: j += i;
6329 /* FALLTHROUGH */
6330 default: j += k;
6331 }
6332 exit(0);
6333}
6334
6335_ACEOF
6336if ac_fn_c_try_compile "$LINENO"; then :
6337
6338if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6339then
6340 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6341$as_echo "no" >&6; }
6342 CFLAGS="$saved_CFLAGS"
6343else
6344 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6345$as_echo "yes" >&6; }
6346 CFLAGS="$saved_CFLAGS $_define_flag"
6347fi
6348else
6349 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6350$as_echo "no" >&6; }
6351 CFLAGS="$saved_CFLAGS"
6352
6353fi
6354rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6355}
6356 if test "x$use_toolchain_hardening" = "x1"; then
6357 {
6358 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -mretpoline" >&5
6359$as_echo_n "checking if $CC supports compile flag -mretpoline... " >&6; }
6360 saved_CFLAGS="$CFLAGS"
6361 CFLAGS="$CFLAGS $WERROR -mretpoline"
6362 _define_flag=""
6363 test "x$_define_flag" = "x" && _define_flag="-mretpoline"
6364 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6365/* end confdefs.h. */
6366
6367#include <stdlib.h>
6368#include <stdio.h>
6369int main(int argc, char **argv) {
6370 (void)argv;
6371 /* Some math to catch -ftrapv problems in the toolchain */
6372 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6373 float l = i * 2.1;
6374 double m = l / 0.5;
6375 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6376 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6377 /*
6378 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
6379 * not understand comments and we don't use the "fallthrough" attribute
6380 * that it's looking for.
6381 */
6382 switch(i){
6383 case 0: j += i;
6384 /* FALLTHROUGH */
6385 default: j += k;
6386 }
6387 exit(0);
6388}
6389
6390_ACEOF
6391if ac_fn_c_try_compile "$LINENO"; then :
6392
6393if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6394then
6395 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6396$as_echo "no" >&6; }
6397 CFLAGS="$saved_CFLAGS"
6398else
6399 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6400$as_echo "yes" >&6; }
6401 CFLAGS="$saved_CFLAGS $_define_flag"
6402fi
6403else
6404 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6405$as_echo "no" >&6; }
6406 CFLAGS="$saved_CFLAGS"
6407
6408fi
6409rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6410} # clang
6411 {
6412 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,retpolineplt" >&5
6413$as_echo_n "checking if $LD supports link flag -Wl,-z,retpolineplt... " >&6; }
6414 saved_LDFLAGS="$LDFLAGS"
6415 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,retpolineplt"
6416 _define_flag=""
6417 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,retpolineplt"
6418 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6419/* end confdefs.h. */
6420
6421#include <stdlib.h>
6422#include <stdio.h>
6423int main(int argc, char **argv) {
6424 (void)argv;
6425 /* Some math to catch -ftrapv problems in the toolchain */
6426 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6427 float l = i * 2.1;
6428 double m = l / 0.5;
6429 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6430 long long p = n * o;
6431 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6432 exit(0);
6433}
6434
6435_ACEOF
6436if ac_fn_c_try_link "$LINENO"; then :
6437
6438if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6439then
6440 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6441$as_echo "no" >&6; }
6442 LDFLAGS="$saved_LDFLAGS"
6443else
6444 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6445$as_echo "yes" >&6; }
6446 LDFLAGS="$saved_LDFLAGS $_define_flag"
6447fi
6448else
6449 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6450$as_echo "no" >&6; }
6451 LDFLAGS="$saved_LDFLAGS"
6452
6453fi
6454rm -f core conftest.err conftest.$ac_objext \
6455 conftest$ac_exeext conftest.$ac_ext
6456}
6457 {
6458 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -D_FORTIFY_SOURCE=2" >&5
6459$as_echo_n "checking if $CC supports compile flag -D_FORTIFY_SOURCE=2... " >&6; }
6460 saved_CFLAGS="$CFLAGS"
6461 CFLAGS="$CFLAGS $WERROR -D_FORTIFY_SOURCE=2"
6462 _define_flag=""
6463 test "x$_define_flag" = "x" && _define_flag="-D_FORTIFY_SOURCE=2"
6464 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6465/* end confdefs.h. */
6466
6467#include <stdlib.h>
6468#include <stdio.h>
6469int main(int argc, char **argv) {
6470 (void)argv;
6471 /* Some math to catch -ftrapv problems in the toolchain */
6472 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6473 float l = i * 2.1;
6474 double m = l / 0.5;
6475 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6476 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6477 /*
6478 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
6479 * not understand comments and we don't use the "fallthrough" attribute
6480 * that it's looking for.
6481 */
6482 switch(i){
6483 case 0: j += i;
6484 /* FALLTHROUGH */
6485 default: j += k;
6486 }
6487 exit(0);
6488}
6489
6490_ACEOF
6491if ac_fn_c_try_compile "$LINENO"; then :
6492
6493if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6494then
6495 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6496$as_echo "no" >&6; }
6497 CFLAGS="$saved_CFLAGS"
6498else
6499 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6500$as_echo "yes" >&6; }
6501 CFLAGS="$saved_CFLAGS $_define_flag"
6502fi
6503else
6504 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6505$as_echo "no" >&6; }
6506 CFLAGS="$saved_CFLAGS"
6507
6508fi
6509rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6510}
6511 {
6512 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,relro" >&5
6513$as_echo_n "checking if $LD supports link flag -Wl,-z,relro... " >&6; }
6514 saved_LDFLAGS="$LDFLAGS"
6515 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,relro"
6516 _define_flag=""
6517 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,relro"
6518 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6519/* end confdefs.h. */
6520
6521#include <stdlib.h>
6522#include <stdio.h>
6523int main(int argc, char **argv) {
6524 (void)argv;
6525 /* Some math to catch -ftrapv problems in the toolchain */
6526 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6527 float l = i * 2.1;
6528 double m = l / 0.5;
6529 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6530 long long p = n * o;
6531 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6532 exit(0);
6533}
6534
6535_ACEOF
6536if ac_fn_c_try_link "$LINENO"; then :
6537
6538if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6539then
6540 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6541$as_echo "no" >&6; }
6542 LDFLAGS="$saved_LDFLAGS"
6543else
6544 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6545$as_echo "yes" >&6; }
6546 LDFLAGS="$saved_LDFLAGS $_define_flag"
6547fi
6548else
6549 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6550$as_echo "no" >&6; }
6551 LDFLAGS="$saved_LDFLAGS"
6552
6553fi
6554rm -f core conftest.err conftest.$ac_objext \
6555 conftest$ac_exeext conftest.$ac_ext
6556}
6557 {
6558 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,now" >&5
6559$as_echo_n "checking if $LD supports link flag -Wl,-z,now... " >&6; }
6560 saved_LDFLAGS="$LDFLAGS"
6561 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,now"
6562 _define_flag=""
6563 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,now"
6564 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6565/* end confdefs.h. */
6566
6567#include <stdlib.h>
6568#include <stdio.h>
6569int main(int argc, char **argv) {
6570 (void)argv;
6571 /* Some math to catch -ftrapv problems in the toolchain */
6572 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6573 float l = i * 2.1;
6574 double m = l / 0.5;
6575 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6576 long long p = n * o;
6577 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6578 exit(0);
6579}
6580
6581_ACEOF
6582if ac_fn_c_try_link "$LINENO"; then :
6583
6584if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6585then
6586 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6587$as_echo "no" >&6; }
6588 LDFLAGS="$saved_LDFLAGS"
6589else
6590 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6591$as_echo "yes" >&6; }
6592 LDFLAGS="$saved_LDFLAGS $_define_flag"
6593fi
6594else
6595 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6596$as_echo "no" >&6; }
6597 LDFLAGS="$saved_LDFLAGS"
6598
6599fi
6600rm -f core conftest.err conftest.$ac_objext \
6601 conftest$ac_exeext conftest.$ac_ext
6602}
6603 {
6604 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,noexecstack" >&5
6605$as_echo_n "checking if $LD supports link flag -Wl,-z,noexecstack... " >&6; }
6606 saved_LDFLAGS="$LDFLAGS"
6607 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,noexecstack"
6608 _define_flag=""
6609 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,noexecstack"
6610 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6611/* end confdefs.h. */
6612
6613#include <stdlib.h>
6614#include <stdio.h>
6615int main(int argc, char **argv) {
6616 (void)argv;
6617 /* Some math to catch -ftrapv problems in the toolchain */
6618 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6619 float l = i * 2.1;
6620 double m = l / 0.5;
6621 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6622 long long p = n * o;
6623 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6624 exit(0);
6625}
6626
6627_ACEOF
6628if ac_fn_c_try_link "$LINENO"; then :
6629
6630if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6631then
6632 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6633$as_echo "no" >&6; }
6634 LDFLAGS="$saved_LDFLAGS"
6635else
6636 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6637$as_echo "yes" >&6; }
6638 LDFLAGS="$saved_LDFLAGS $_define_flag"
6639fi
6640else
6641 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6642$as_echo "no" >&6; }
6643 LDFLAGS="$saved_LDFLAGS"
6644
6645fi
6646rm -f core conftest.err conftest.$ac_objext \
6647 conftest$ac_exeext conftest.$ac_ext
6648}
6649 # NB. -ftrapv expects certain support functions to be present in
6650 # the compiler library (libgcc or similar) to detect integer operations
6651 # that can overflow. We must check that the result of enabling it
6652 # actually links. The test program compiled/linked includes a number
6653 # of integer operations that should exercise this.
6654 {
6655 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -ftrapv and linking succeeds" >&5
6656$as_echo_n "checking if $CC supports compile flag -ftrapv and linking succeeds... " >&6; }
6657 saved_CFLAGS="$CFLAGS"
6658 CFLAGS="$CFLAGS $WERROR -ftrapv"
6659 _define_flag=""
6660 test "x$_define_flag" = "x" && _define_flag="-ftrapv"
6661 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6662/* end confdefs.h. */
6663
6664#include <stdlib.h>
6665#include <stdio.h>
6666int main(int argc, char **argv) {
6667 (void)argv;
6668 /* Some math to catch -ftrapv problems in the toolchain */
6669 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6670 float l = i * 2.1;
6671 double m = l / 0.5;
6672 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6673 long long int p = n * o;
6674 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6675 exit(0);
6676}
6677
6678_ACEOF
6679if ac_fn_c_try_link "$LINENO"; then :
6680
6681if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6682then
6683 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6684$as_echo "no" >&6; }
6685 CFLAGS="$saved_CFLAGS"
6686else
6687 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6688$as_echo "yes" >&6; }
6689 CFLAGS="$saved_CFLAGS $_define_flag"
6690fi
6691else
6692 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6693$as_echo "no" >&6; }
6694 CFLAGS="$saved_CFLAGS"
6695
6696fi
6697rm -f core conftest.err conftest.$ac_objext \
6698 conftest$ac_exeext conftest.$ac_ext
6699}
6700 fi
6701 { $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc version" >&5
6702$as_echo_n "checking gcc version... " >&6; }
6703 GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'`
6704 case $GCC_VER in
6705 1.*) no_attrib_nonnull=1 ;;
6706 2.8* | 2.9*)
6707 no_attrib_nonnull=1
6708 ;;
6709 2.*) no_attrib_nonnull=1 ;;
6710 *) ;;
6711 esac
6712 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_VER" >&5
6713$as_echo "$GCC_VER" >&6; }
6714
6715 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -fno-builtin-memset" >&5
6716$as_echo_n "checking if $CC accepts -fno-builtin-memset... " >&6; }
6717 saved_CFLAGS="$CFLAGS"
6718 CFLAGS="$CFLAGS -fno-builtin-memset"
6719 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6720/* end confdefs.h. */
6721 #include <string.h>
6722int
6723main ()
6724{
6725 char b[10]; memset(b, 0, sizeof(b));
6726 ;
6727 return 0;
6728}
6729_ACEOF
6730if ac_fn_c_try_link "$LINENO"; then :
6731 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6732$as_echo "yes" >&6; }
6733else
6734 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6735$as_echo "no" >&6; }
6736 CFLAGS="$saved_CFLAGS"
6737
6738fi
6739rm -f core conftest.err conftest.$ac_objext \
6740 conftest$ac_exeext conftest.$ac_ext
6741
6742 # -fstack-protector-all doesn't always work for some GCC versions
6743 # and/or platforms, so we test if we can. If it's not supported
6744 # on a given platform gcc will emit a warning so we use -Werror.
6745 if test "x$use_stack_protector" = "x1"; then
6746 for t in -fstack-protector-strong -fstack-protector-all \
6747 -fstack-protector; do
6748 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports $t" >&5
6749$as_echo_n "checking if $CC supports $t... " >&6; }
6750 saved_CFLAGS="$CFLAGS"
6751 saved_LDFLAGS="$LDFLAGS"
6752 CFLAGS="$CFLAGS $t -Werror"
6753 LDFLAGS="$LDFLAGS $t -Werror"
6754 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6755/* end confdefs.h. */
6756
6757 #include <stdio.h>
6758 int func (int t) {char b[100]; snprintf(b,sizeof b,"%d",t); return t;}
6759
6760int
6761main ()
6762{
6763
6764 char x[256];
6765 snprintf(x, sizeof(x), "XXX%d", func(1));
6766
6767 ;
6768 return 0;
6769}
6770_ACEOF
6771if ac_fn_c_try_link "$LINENO"; then :
6772 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6773$as_echo "yes" >&6; }
6774 CFLAGS="$saved_CFLAGS $t"
6775 LDFLAGS="$saved_LDFLAGS $t"
6776 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $t works" >&5
6777$as_echo_n "checking if $t works... " >&6; }
6778 if test "$cross_compiling" = yes; then :
6779 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: cannot test" >&5
6780$as_echo "$as_me: WARNING: cross compiling: cannot test" >&2;}
6781 break
6782
6783else
6784 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6785/* end confdefs.h. */
6786
6787 #include <stdio.h>
6788 int func (int t) {char b[100]; snprintf(b,sizeof b,"%d",t); return t;}
6789
6790int
6791main ()
6792{
6793
6794 char x[256];
6795 snprintf(x, sizeof(x), "XXX%d", func(1));
6796
6797 ;
6798 return 0;
6799}
6800_ACEOF
6801if ac_fn_c_try_run "$LINENO"; then :
6802 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6803$as_echo "yes" >&6; }
6804 break
6805else
6806 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6807$as_echo "no" >&6; }
6808fi
6809rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
6810 conftest.$ac_objext conftest.beam conftest.$ac_ext
6811fi
6812
6813
6814else
6815 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6816$as_echo "no" >&6; }
6817
6818fi
6819rm -f core conftest.err conftest.$ac_objext \
6820 conftest$ac_exeext conftest.$ac_ext
6821 CFLAGS="$saved_CFLAGS"
6822 LDFLAGS="$saved_LDFLAGS"
6823 done
6824 fi
6825
6826 if test -z "$have_llong_max"; then
6827 # retry LLONG_MAX with -std=gnu99, needed on some Linuxes
6828 unset ac_cv_have_decl_LLONG_MAX
6829 saved_CFLAGS="$CFLAGS"
6830 CFLAGS="$CFLAGS -std=gnu99"
6831 ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h>
6832
6833"
6834if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then :
6835 have_llong_max=1
6836else
6837 CFLAGS="$saved_CFLAGS"
6838fi
6839
6840 fi
6841fi
6842
6843{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows __attribute__ on return types" >&5
6844$as_echo_n "checking if compiler allows __attribute__ on return types... " >&6; }
6845cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6846/* end confdefs.h. */
6847
6848#include <stdlib.h>
6849__attribute__((__unused__)) static void foo(void){return;}
6850int
6851main ()
6852{
6853 exit(0);
6854 ;
6855 return 0;
6856}
6857_ACEOF
6858if ac_fn_c_try_compile "$LINENO"; then :
6859 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6860$as_echo "yes" >&6; }
6861else
6862 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6863$as_echo "no" >&6; }
6864
6865$as_echo "#define NO_ATTRIBUTE_ON_RETURN_TYPE 1" >>confdefs.h
6866
6867
6868fi
6869rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6870
6871{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows __attribute__ prototype args" >&5
6872$as_echo_n "checking if compiler allows __attribute__ prototype args... " >&6; }
6873cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6874/* end confdefs.h. */
6875
6876#include <stdlib.h>
6877typedef void foo(const char *, ...) __attribute__((format(printf, 1, 2)));
6878int
6879main ()
6880{
6881 exit(0);
6882 ;
6883 return 0;
6884}
6885_ACEOF
6886if ac_fn_c_try_compile "$LINENO"; then :
6887 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6888$as_echo "yes" >&6; }
6889else
6890 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6891$as_echo "no" >&6; }
6892
6893$as_echo "#define NO_ATTRIBUTE_ON_PROTOTYPE_ARGS 1" >>confdefs.h
6894
6895
6896fi
6897rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6898
6899if test "x$no_attrib_nonnull" != "x1" ; then
6900
6901$as_echo "#define HAVE_ATTRIBUTE__NONNULL__ 1" >>confdefs.h
6902
6903fi
6904
6905
6906# Check whether --with-rpath was given.
6907if test "${with_rpath+set}" = set; then :
6908 withval=$with_rpath;
6909 if test "x$withval" = "xno" ; then
6910 rpath_opt=""
6911 elif test "x$withval" = "xyes" ; then
6912 rpath_opt="-R"
6913 else
6914 rpath_opt="$withval"
6915 fi
6916
6917
6918fi
6919
6920
6921# Allow user to specify flags
6922
6923# Check whether --with-cflags was given.
6924if test "${with_cflags+set}" = set; then :
6925 withval=$with_cflags;
6926 if test -n "$withval" && test "x$withval" != "xno" && \
6927 test "x${withval}" != "xyes"; then
6928 CFLAGS="$CFLAGS $withval"
6929 fi
6930
6931
6932fi
6933
6934
6935
6936# Check whether --with-cflags-after was given.
6937if test "${with_cflags_after+set}" = set; then :
6938 withval=$with_cflags_after;
6939 if test -n "$withval" && test "x$withval" != "xno" && \
6940 test "x${withval}" != "xyes"; then
6941 CFLAGS_AFTER="$withval"
6942 fi
6943
6944
6945fi
6946
6947
6948# Check whether --with-cppflags was given.
6949if test "${with_cppflags+set}" = set; then :
6950 withval=$with_cppflags;
6951 if test -n "$withval" && test "x$withval" != "xno" && \
6952 test "x${withval}" != "xyes"; then
6953 CPPFLAGS="$CPPFLAGS $withval"
6954 fi
6955
6956
6957fi
6958
6959
6960# Check whether --with-ldflags was given.
6961if test "${with_ldflags+set}" = set; then :
6962 withval=$with_ldflags;
6963 if test -n "$withval" && test "x$withval" != "xno" && \
6964 test "x${withval}" != "xyes"; then
6965 LDFLAGS="$LDFLAGS $withval"
6966 fi
6967
6968
6969fi
6970
6971
6972# Check whether --with-ldflags-after was given.
6973if test "${with_ldflags_after+set}" = set; then :
6974 withval=$with_ldflags_after;
6975 if test -n "$withval" && test "x$withval" != "xno" && \
6976 test "x${withval}" != "xyes"; then
6977 LDFLAGS_AFTER="$withval"
6978 fi
6979
6980
6981fi
6982
6983
6984# Check whether --with-libs was given.
6985if test "${with_libs+set}" = set; then :
6986 withval=$with_libs;
6987 if test -n "$withval" && test "x$withval" != "xno" && \
6988 test "x${withval}" != "xyes"; then
6989 LIBS="$LIBS $withval"
6990 fi
6991
6992
6993fi
6994
6995
6996# Check whether --with-Werror was given.
6997if test "${with_Werror+set}" = set; then :
6998 withval=$with_Werror;
6999 if test -n "$withval" && test "x$withval" != "xno"; then
7000 werror_flags="-Werror"
7001 if test "x${withval}" != "xyes"; then
7002 werror_flags="$withval"
7003 fi
7004 fi
7005
7006
7007fi
7008
7009
7010for ac_header in \
7011 blf.h \
7012 bstring.h \
7013 crypt.h \
7014 crypto/sha2.h \
7015 dirent.h \
7016 endian.h \
7017 elf.h \
7018 err.h \
7019 features.h \
7020 fcntl.h \
7021 floatingpoint.h \
7022 fnmatch.h \
7023 getopt.h \
7024 glob.h \
7025 ia.h \
7026 iaf.h \
7027 ifaddrs.h \
7028 inttypes.h \
7029 langinfo.h \
7030 limits.h \
7031 locale.h \
7032 login.h \
7033 maillock.h \
7034 ndir.h \
7035 net/if_tun.h \
7036 netdb.h \
7037 netgroup.h \
7038 pam/pam_appl.h \
7039 paths.h \
7040 poll.h \
7041 pty.h \
7042 readpassphrase.h \
7043 rpc/types.h \
7044 security/pam_appl.h \
7045 sha2.h \
7046 shadow.h \
7047 stddef.h \
7048 stdint.h \
7049 string.h \
7050 strings.h \
7051 sys/bitypes.h \
7052 sys/byteorder.h \
7053 sys/bsdtty.h \
7054 sys/cdefs.h \
7055 sys/dir.h \
7056 sys/file.h \
7057 sys/mman.h \
7058 sys/label.h \
7059 sys/ndir.h \
7060 sys/poll.h \
7061 sys/prctl.h \
7062 sys/pstat.h \
7063 sys/ptrace.h \
7064 sys/random.h \
7065 sys/select.h \
7066 sys/stat.h \
7067 sys/stream.h \
7068 sys/stropts.h \
7069 sys/strtio.h \
7070 sys/statvfs.h \
7071 sys/sysmacros.h \
7072 sys/time.h \
7073 sys/timers.h \
7074 sys/vfs.h \
7075 time.h \
7076 tmpdir.h \
7077 ttyent.h \
7078 ucred.h \
7079 unistd.h \
7080 usersec.h \
7081 util.h \
7082 utime.h \
7083 utmp.h \
7084 utmpx.h \
7085 vis.h \
7086 wchar.h \
7087
7088do :
7089 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
7090ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
7091if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
7092 cat >>confdefs.h <<_ACEOF
7093#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
7094_ACEOF
7095
7096fi
7097
7098done
7099
7100
7101# On some platforms (eg SunOS4) sys/audit.h requires sys/[time|types|label.h]
7102# to be included first.
7103for ac_header in sys/audit.h
7104do :
7105 ac_fn_c_check_header_compile "$LINENO" "sys/audit.h" "ac_cv_header_sys_audit_h" "
7106#ifdef HAVE_SYS_TIME_H
7107# include <sys/time.h>
7108#endif
7109#ifdef HAVE_SYS_TYPES_H
7110# include <sys/types.h>
7111#endif
7112#ifdef HAVE_SYS_LABEL_H
7113# include <sys/label.h>
7114#endif
7115
7116"
7117if test "x$ac_cv_header_sys_audit_h" = xyes; then :
7118 cat >>confdefs.h <<_ACEOF
7119#define HAVE_SYS_AUDIT_H 1
7120_ACEOF
7121
7122fi
7123
7124done
7125
7126
7127# sys/capsicum.h requires sys/types.h
7128for ac_header in sys/capsicum.h
7129do :
7130 ac_fn_c_check_header_compile "$LINENO" "sys/capsicum.h" "ac_cv_header_sys_capsicum_h" "
7131#ifdef HAVE_SYS_TYPES_H
7132# include <sys/types.h>
7133#endif
7134
7135"
7136if test "x$ac_cv_header_sys_capsicum_h" = xyes; then :
7137 cat >>confdefs.h <<_ACEOF
7138#define HAVE_SYS_CAPSICUM_H 1
7139_ACEOF
7140
7141fi
7142
7143done
7144
7145
7146# net/route.h requires sys/socket.h and sys/types.h.
7147# sys/sysctl.h also requires sys/param.h
7148for ac_header in net/route.h sys/sysctl.h
7149do :
7150 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
7151ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
7152#ifdef HAVE_SYS_TYPES_H
7153# include <sys/types.h>
7154#endif
7155#include <sys/param.h>
7156#include <sys/socket.h>
7157
7158"
7159if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
7160 cat >>confdefs.h <<_ACEOF
7161#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
7162_ACEOF
7163
7164fi
7165
7166done
7167
7168
7169# lastlog.h requires sys/time.h to be included first on Solaris
7170for ac_header in lastlog.h
7171do :
7172 ac_fn_c_check_header_compile "$LINENO" "lastlog.h" "ac_cv_header_lastlog_h" "
7173#ifdef HAVE_SYS_TIME_H
7174# include <sys/time.h>
7175#endif
7176
7177"
7178if test "x$ac_cv_header_lastlog_h" = xyes; then :
7179 cat >>confdefs.h <<_ACEOF
7180#define HAVE_LASTLOG_H 1
7181_ACEOF
7182
7183fi
7184
7185done
7186
7187
7188# sys/ptms.h requires sys/stream.h to be included first on Solaris
7189for ac_header in sys/ptms.h
7190do :
7191 ac_fn_c_check_header_compile "$LINENO" "sys/ptms.h" "ac_cv_header_sys_ptms_h" "
7192#ifdef HAVE_SYS_STREAM_H
7193# include <sys/stream.h>
7194#endif
7195
7196"
7197if test "x$ac_cv_header_sys_ptms_h" = xyes; then :
7198 cat >>confdefs.h <<_ACEOF
7199#define HAVE_SYS_PTMS_H 1
7200_ACEOF
7201
7202fi
7203
7204done
7205
7206
7207# login_cap.h requires sys/types.h on NetBSD
7208for ac_header in login_cap.h
7209do :
7210 ac_fn_c_check_header_compile "$LINENO" "login_cap.h" "ac_cv_header_login_cap_h" "
7211#include <sys/types.h>
7212
7213"
7214if test "x$ac_cv_header_login_cap_h" = xyes; then :
7215 cat >>confdefs.h <<_ACEOF
7216#define HAVE_LOGIN_CAP_H 1
7217_ACEOF
7218
7219fi
7220
7221done
7222
7223
7224# older BSDs need sys/param.h before sys/mount.h
7225for ac_header in sys/mount.h
7226do :
7227 ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "
7228#include <sys/param.h>
7229
7230"
7231if test "x$ac_cv_header_sys_mount_h" = xyes; then :
7232 cat >>confdefs.h <<_ACEOF
7233#define HAVE_SYS_MOUNT_H 1
7234_ACEOF
7235
7236fi
7237
7238done
7239
7240
7241# Android requires sys/socket.h to be included before sys/un.h
7242for ac_header in sys/un.h
7243do :
7244 ac_fn_c_check_header_compile "$LINENO" "sys/un.h" "ac_cv_header_sys_un_h" "
7245#include <sys/types.h>
7246#include <sys/socket.h>
7247
7248"
7249if test "x$ac_cv_header_sys_un_h" = xyes; then :
7250 cat >>confdefs.h <<_ACEOF
7251#define HAVE_SYS_UN_H 1
7252_ACEOF
7253
7254fi
7255
7256done
7257
7258
7259# Messages for features tested for in target-specific section
7260SIA_MSG="no"
7261SPC_MSG="no"
7262SP_MSG="no"
7263SPP_MSG="no"
7264
7265# Support for Solaris/Illumos privileges (this test is used by both
7266# the --with-solaris-privs option and --with-sandbox=solaris).
7267SOLARIS_PRIVS="no"
7268
7269# The cast to long int works around a bug in the HP C Compiler
7270# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
7271# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
7272# This bug is HP SR number 8606223364.
7273{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
7274$as_echo_n "checking size of size_t... " >&6; }
7275if ${ac_cv_sizeof_size_t+:} false; then :
7276 $as_echo_n "(cached) " >&6
7277else
7278 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then :
7279
7280else
7281 if test "$ac_cv_type_size_t" = yes; then
7282 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
7283$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
7284as_fn_error 77 "cannot compute sizeof (size_t)
7285See \`config.log' for more details" "$LINENO" 5; }
7286 else
7287 ac_cv_sizeof_size_t=0
7288 fi
7289fi
7290
7291fi
7292{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
7293$as_echo "$ac_cv_sizeof_size_t" >&6; }
7294
7295
7296
7297cat >>confdefs.h <<_ACEOF
7298#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
7299_ACEOF
7300
7301
7302
7303# Check for some target-specific stuff
7304case "$host" in
7305*-*-aix*)
7306 # Some versions of VAC won't allow macro redefinitions at
7307 # -qlanglevel=ansi, and autoconf 2.60 sometimes insists on using that
7308 # particularly with older versions of vac or xlc.
7309 # It also throws errors about null macro arguments, but these are
7310 # not fatal.
7311 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows macro redefinitions" >&5
7312$as_echo_n "checking if compiler allows macro redefinitions... " >&6; }
7313 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7314/* end confdefs.h. */
7315
7316#define testmacro foo
7317#define testmacro bar
7318int
7319main ()
7320{
7321 exit(0);
7322 ;
7323 return 0;
7324}
7325_ACEOF
7326if ac_fn_c_try_compile "$LINENO"; then :
7327 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7328$as_echo "yes" >&6; }
7329else
7330 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7331$as_echo "no" >&6; }
7332 CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`"
7333 CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`"
7334 CPPFLAGS="`echo $CPPFLAGS | sed 's/-qlanglvl\=ansi//g'`"
7335
7336
7337fi
7338rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7339
7340 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to specify blibpath for linker ($LD)" >&5
7341$as_echo_n "checking how to specify blibpath for linker ($LD)... " >&6; }
7342 if (test -z "$blibpath"); then
7343 blibpath="/usr/lib:/lib"
7344 fi
7345 saved_LDFLAGS="$LDFLAGS"
7346 if test "$GCC" = "yes"; then
7347 flags="-Wl,-blibpath: -Wl,-rpath, -blibpath:"
7348 else
7349 flags="-blibpath: -Wl,-blibpath: -Wl,-rpath,"
7350 fi
7351 for tryflags in $flags ;do
7352 if (test -z "$blibflags"); then
7353 LDFLAGS="$saved_LDFLAGS $tryflags$blibpath"
7354 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7355/* end confdefs.h. */
7356
7357int
7358main ()
7359{
7360
7361 ;
7362 return 0;
7363}
7364_ACEOF
7365if ac_fn_c_try_link "$LINENO"; then :
7366 blibflags=$tryflags
7367fi
7368rm -f core conftest.err conftest.$ac_objext \
7369 conftest$ac_exeext conftest.$ac_ext
7370 fi
7371 done
7372 if (test -z "$blibflags"); then
7373 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
7374$as_echo "not found" >&6; }
7375 as_fn_error $? "*** must be able to specify blibpath on AIX - check config.log" "$LINENO" 5
7376 else
7377 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $blibflags" >&5
7378$as_echo "$blibflags" >&6; }
7379 fi
7380 LDFLAGS="$saved_LDFLAGS"
7381 ac_fn_c_check_func "$LINENO" "authenticate" "ac_cv_func_authenticate"
7382if test "x$ac_cv_func_authenticate" = xyes; then :
7383
7384$as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h
7385
7386else
7387 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for authenticate in -ls" >&5
7388$as_echo_n "checking for authenticate in -ls... " >&6; }
7389if ${ac_cv_lib_s_authenticate+:} false; then :
7390 $as_echo_n "(cached) " >&6
7391else
7392 ac_check_lib_save_LIBS=$LIBS
7393LIBS="-ls $LIBS"
7394cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7395/* end confdefs.h. */
7396
7397/* Override any GCC internal prototype to avoid an error.
7398 Use char because int might match the return type of a GCC
7399 builtin and then its argument prototype would still apply. */
7400#ifdef __cplusplus
7401extern "C"
7402#endif
7403char authenticate ();
7404int
7405main ()
7406{
7407return authenticate ();
7408 ;
7409 return 0;
7410}
7411_ACEOF
7412if ac_fn_c_try_link "$LINENO"; then :
7413 ac_cv_lib_s_authenticate=yes
7414else
7415 ac_cv_lib_s_authenticate=no
7416fi
7417rm -f core conftest.err conftest.$ac_objext \
7418 conftest$ac_exeext conftest.$ac_ext
7419LIBS=$ac_check_lib_save_LIBS
7420fi
7421{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_s_authenticate" >&5
7422$as_echo "$ac_cv_lib_s_authenticate" >&6; }
7423if test "x$ac_cv_lib_s_authenticate" = xyes; then :
7424 $as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h
7425
7426 LIBS="$LIBS -ls"
7427
7428fi
7429
7430
7431fi
7432
7433 ac_fn_c_check_decl "$LINENO" "authenticate" "ac_cv_have_decl_authenticate" "#include <usersec.h>
7434"
7435if test "x$ac_cv_have_decl_authenticate" = xyes; then :
7436 ac_have_decl=1
7437else
7438 ac_have_decl=0
7439fi
7440
7441cat >>confdefs.h <<_ACEOF
7442#define HAVE_DECL_AUTHENTICATE $ac_have_decl
7443_ACEOF
7444ac_fn_c_check_decl "$LINENO" "loginrestrictions" "ac_cv_have_decl_loginrestrictions" "#include <usersec.h>
7445"
7446if test "x$ac_cv_have_decl_loginrestrictions" = xyes; then :
7447 ac_have_decl=1
7448else
7449 ac_have_decl=0
7450fi
7451
7452cat >>confdefs.h <<_ACEOF
7453#define HAVE_DECL_LOGINRESTRICTIONS $ac_have_decl
7454_ACEOF
7455ac_fn_c_check_decl "$LINENO" "loginsuccess" "ac_cv_have_decl_loginsuccess" "#include <usersec.h>
7456"
7457if test "x$ac_cv_have_decl_loginsuccess" = xyes; then :
7458 ac_have_decl=1
7459else
7460 ac_have_decl=0
7461fi
7462
7463cat >>confdefs.h <<_ACEOF
7464#define HAVE_DECL_LOGINSUCCESS $ac_have_decl
7465_ACEOF
7466ac_fn_c_check_decl "$LINENO" "passwdexpired" "ac_cv_have_decl_passwdexpired" "#include <usersec.h>
7467"
7468if test "x$ac_cv_have_decl_passwdexpired" = xyes; then :
7469 ac_have_decl=1
7470else
7471 ac_have_decl=0
7472fi
7473
7474cat >>confdefs.h <<_ACEOF
7475#define HAVE_DECL_PASSWDEXPIRED $ac_have_decl
7476_ACEOF
7477ac_fn_c_check_decl "$LINENO" "setauthdb" "ac_cv_have_decl_setauthdb" "#include <usersec.h>
7478"
7479if test "x$ac_cv_have_decl_setauthdb" = xyes; then :
7480 ac_have_decl=1
7481else
7482 ac_have_decl=0
7483fi
7484
7485cat >>confdefs.h <<_ACEOF
7486#define HAVE_DECL_SETAUTHDB $ac_have_decl
7487_ACEOF
7488
7489 ac_fn_c_check_decl "$LINENO" "loginfailed" "ac_cv_have_decl_loginfailed" "#include <usersec.h>
7490
7491"
7492if test "x$ac_cv_have_decl_loginfailed" = xyes; then :
7493 ac_have_decl=1
7494else
7495 ac_have_decl=0
7496fi
7497
7498cat >>confdefs.h <<_ACEOF
7499#define HAVE_DECL_LOGINFAILED $ac_have_decl
7500_ACEOF
7501if test $ac_have_decl = 1; then :
7502 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if loginfailed takes 4 arguments" >&5
7503$as_echo_n "checking if loginfailed takes 4 arguments... " >&6; }
7504 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7505/* end confdefs.h. */
7506 #include <usersec.h>
7507int
7508main ()
7509{
7510 (void)loginfailed("user","host","tty",0);
7511 ;
7512 return 0;
7513}
7514_ACEOF
7515if ac_fn_c_try_compile "$LINENO"; then :
7516 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7517$as_echo "yes" >&6; }
7518
7519$as_echo "#define AIX_LOGINFAILED_4ARG 1" >>confdefs.h
7520
7521else
7522 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7523$as_echo "no" >&6; }
7524
7525fi
7526rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7527fi
7528
7529 for ac_func in getgrset setauthdb
7530do :
7531 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
7532ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
7533if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
7534 cat >>confdefs.h <<_ACEOF
7535#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
7536_ACEOF
7537
7538fi
7539done
7540
7541 ac_fn_c_check_decl "$LINENO" "F_CLOSEM" "ac_cv_have_decl_F_CLOSEM" " #include <limits.h>
7542 #include <fcntl.h>
7543
7544"
7545if test "x$ac_cv_have_decl_F_CLOSEM" = xyes; then :
7546
7547$as_echo "#define HAVE_FCNTL_CLOSEM 1" >>confdefs.h
7548
7549fi
7550
7551 check_for_aix_broken_getaddrinfo=1
7552
7553$as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7554
7555
7556$as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7557
7558
7559$as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7560
7561
7562$as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
7563
7564
7565$as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
7566
7567
7568$as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7569
7570
7571$as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h
7572
7573
7574$as_echo "#define PTY_ZEROREAD 1" >>confdefs.h
7575
7576
7577$as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h
7578
7579
7580$as_echo "#define BROKEN_STRNDUP 1" >>confdefs.h
7581
7582
7583$as_echo "#define BROKEN_STRNLEN 1" >>confdefs.h
7584
7585 ;;
7586*-*-android*)
7587
7588$as_echo "#define DISABLE_UTMP 1" >>confdefs.h
7589
7590
7591$as_echo "#define DISABLE_WTMP 1" >>confdefs.h
7592
7593 ;;
7594*-*-cygwin*)
7595 check_for_libcrypt_later=1
7596 LIBS="$LIBS /usr/lib/textreadmode.o"
7597
7598$as_echo "#define HAVE_CYGWIN 1" >>confdefs.h
7599
7600
7601$as_echo "#define USE_PIPES 1" >>confdefs.h
7602
7603
7604$as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h
7605
7606
7607$as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
7608
7609
7610$as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h
7611
7612
7613$as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
7614
7615
7616$as_echo "#define SSH_IOBUFSZ 65535" >>confdefs.h
7617
7618
7619$as_echo "#define FILESYSTEM_NO_BACKSLASH 1" >>confdefs.h
7620
7621 # Cygwin defines optargs, optargs as declspec(dllimport) for historical
7622 # reasons which cause compile warnings, so we disable those warnings.
7623 {
7624 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wno-attributes" >&5
7625$as_echo_n "checking if $CC supports compile flag -Wno-attributes... " >&6; }
7626 saved_CFLAGS="$CFLAGS"
7627 CFLAGS="$CFLAGS $WERROR -Wno-attributes"
7628 _define_flag=""
7629 test "x$_define_flag" = "x" && _define_flag="-Wno-attributes"
7630 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7631/* end confdefs.h. */
7632
7633#include <stdlib.h>
7634#include <stdio.h>
7635int main(int argc, char **argv) {
7636 (void)argv;
7637 /* Some math to catch -ftrapv problems in the toolchain */
7638 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
7639 float l = i * 2.1;
7640 double m = l / 0.5;
7641 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
7642 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
7643 /*
7644 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
7645 * not understand comments and we don't use the "fallthrough" attribute
7646 * that it's looking for.
7647 */
7648 switch(i){
7649 case 0: j += i;
7650 /* FALLTHROUGH */
7651 default: j += k;
7652 }
7653 exit(0);
7654}
7655
7656_ACEOF
7657if ac_fn_c_try_compile "$LINENO"; then :
7658
7659if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
7660then
7661 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7662$as_echo "no" >&6; }
7663 CFLAGS="$saved_CFLAGS"
7664else
7665 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7666$as_echo "yes" >&6; }
7667 CFLAGS="$saved_CFLAGS $_define_flag"
7668fi
7669else
7670 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7671$as_echo "no" >&6; }
7672 CFLAGS="$saved_CFLAGS"
7673
7674fi
7675rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7676}
7677 ;;
7678*-*-dgux*)
7679
7680$as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h
7681
7682 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7683
7684 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7685
7686 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7687
7688 ;;
7689*-*-darwin*)
7690 use_pie=auto
7691 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we have working getaddrinfo" >&5
7692$as_echo_n "checking if we have working getaddrinfo... " >&6; }
7693 if test "$cross_compiling" = yes; then :
7694 { $as_echo "$as_me:${as_lineno-$LINENO}: result: assume it is working" >&5
7695$as_echo "assume it is working" >&6; }
7696else
7697 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7698/* end confdefs.h. */
7699
7700#include <mach-o/dyld.h>
7701#include <stdlib.h>
7702main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
7703 exit(0);
7704 else
7705 exit(1);
7706}
7707
7708_ACEOF
7709if ac_fn_c_try_run "$LINENO"; then :
7710 { $as_echo "$as_me:${as_lineno-$LINENO}: result: working" >&5
7711$as_echo "working" >&6; }
7712else
7713 { $as_echo "$as_me:${as_lineno-$LINENO}: result: buggy" >&5
7714$as_echo "buggy" >&6; }
7715
7716$as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
7717
7718
7719fi
7720rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
7721 conftest.$ac_objext conftest.beam conftest.$ac_ext
7722fi
7723
7724 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7725
7726 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7727
7728 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7729
7730
7731$as_echo "#define BROKEN_GLOB 1" >>confdefs.h
7732
7733
7734cat >>confdefs.h <<_ACEOF
7735#define BIND_8_COMPAT 1
7736_ACEOF
7737
7738
7739$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
7740
7741
7742$as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h
7743
7744
7745$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
7746
7747
7748 ac_fn_c_check_decl "$LINENO" "AU_IPv4" "ac_cv_have_decl_AU_IPv4" "$ac_includes_default"
7749if test "x$ac_cv_have_decl_AU_IPv4" = xyes; then :
7750
7751else
7752
7753$as_echo "#define AU_IPv4 0" >>confdefs.h
7754
7755 #include <bsm/audit.h>
7756
7757$as_echo "#define LASTLOG_WRITE_PUTUTXLINE 1" >>confdefs.h
7758
7759
7760fi
7761
7762
7763$as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7764
7765 for ac_func in sandbox_init
7766do :
7767 ac_fn_c_check_func "$LINENO" "sandbox_init" "ac_cv_func_sandbox_init"
7768if test "x$ac_cv_func_sandbox_init" = xyes; then :
7769 cat >>confdefs.h <<_ACEOF
7770#define HAVE_SANDBOX_INIT 1
7771_ACEOF
7772
7773fi
7774done
7775
7776 for ac_header in sandbox.h
7777do :
7778 ac_fn_c_check_header_mongrel "$LINENO" "sandbox.h" "ac_cv_header_sandbox_h" "$ac_includes_default"
7779if test "x$ac_cv_header_sandbox_h" = xyes; then :
7780 cat >>confdefs.h <<_ACEOF
7781#define HAVE_SANDBOX_H 1
7782_ACEOF
7783
7784fi
7785
7786done
7787
7788 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sandbox_apply in -lsandbox" >&5
7789$as_echo_n "checking for sandbox_apply in -lsandbox... " >&6; }
7790if ${ac_cv_lib_sandbox_sandbox_apply+:} false; then :
7791 $as_echo_n "(cached) " >&6
7792else
7793 ac_check_lib_save_LIBS=$LIBS
7794LIBS="-lsandbox $LIBS"
7795cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7796/* end confdefs.h. */
7797
7798/* Override any GCC internal prototype to avoid an error.
7799 Use char because int might match the return type of a GCC
7800 builtin and then its argument prototype would still apply. */
7801#ifdef __cplusplus
7802extern "C"
7803#endif
7804char sandbox_apply ();
7805int
7806main ()
7807{
7808return sandbox_apply ();
7809 ;
7810 return 0;
7811}
7812_ACEOF
7813if ac_fn_c_try_link "$LINENO"; then :
7814 ac_cv_lib_sandbox_sandbox_apply=yes
7815else
7816 ac_cv_lib_sandbox_sandbox_apply=no
7817fi
7818rm -f core conftest.err conftest.$ac_objext \
7819 conftest$ac_exeext conftest.$ac_ext
7820LIBS=$ac_check_lib_save_LIBS
7821fi
7822{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sandbox_sandbox_apply" >&5
7823$as_echo "$ac_cv_lib_sandbox_sandbox_apply" >&6; }
7824if test "x$ac_cv_lib_sandbox_sandbox_apply" = xyes; then :
7825
7826 SSHDLIBS="$SSHDLIBS -lsandbox"
7827
7828fi
7829
7830 # proc_pidinfo()-based closefrom() replacement.
7831 for ac_header in libproc.h
7832do :
7833 ac_fn_c_check_header_mongrel "$LINENO" "libproc.h" "ac_cv_header_libproc_h" "$ac_includes_default"
7834if test "x$ac_cv_header_libproc_h" = xyes; then :
7835 cat >>confdefs.h <<_ACEOF
7836#define HAVE_LIBPROC_H 1
7837_ACEOF
7838
7839fi
7840
7841done
7842
7843 for ac_func in proc_pidinfo
7844do :
7845 ac_fn_c_check_func "$LINENO" "proc_pidinfo" "ac_cv_func_proc_pidinfo"
7846if test "x$ac_cv_func_proc_pidinfo" = xyes; then :
7847 cat >>confdefs.h <<_ACEOF
7848#define HAVE_PROC_PIDINFO 1
7849_ACEOF
7850
7851fi
7852done
7853
7854 ;;
7855*-*-dragonfly*)
7856 SSHDLIBS="$SSHDLIBS -lcrypt"
7857 TEST_MALLOC_OPTIONS="AFGJPRX"
7858 ;;
7859*-*-haiku*)
7860 LIBS="$LIBS -lbsd "
7861 CFLAGS="$CFLAGS -D_BSD_SOURCE"
7862 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lnetwork" >&5
7863$as_echo_n "checking for socket in -lnetwork... " >&6; }
7864if ${ac_cv_lib_network_socket+:} false; then :
7865 $as_echo_n "(cached) " >&6
7866else
7867 ac_check_lib_save_LIBS=$LIBS
7868LIBS="-lnetwork $LIBS"
7869cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7870/* end confdefs.h. */
7871
7872/* Override any GCC internal prototype to avoid an error.
7873 Use char because int might match the return type of a GCC
7874 builtin and then its argument prototype would still apply. */
7875#ifdef __cplusplus
7876extern "C"
7877#endif
7878char socket ();
7879int
7880main ()
7881{
7882return socket ();
7883 ;
7884 return 0;
7885}
7886_ACEOF
7887if ac_fn_c_try_link "$LINENO"; then :
7888 ac_cv_lib_network_socket=yes
7889else
7890 ac_cv_lib_network_socket=no
7891fi
7892rm -f core conftest.err conftest.$ac_objext \
7893 conftest$ac_exeext conftest.$ac_ext
7894LIBS=$ac_check_lib_save_LIBS
7895fi
7896{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_network_socket" >&5
7897$as_echo "$ac_cv_lib_network_socket" >&6; }
7898if test "x$ac_cv_lib_network_socket" = xyes; then :
7899 cat >>confdefs.h <<_ACEOF
7900#define HAVE_LIBNETWORK 1
7901_ACEOF
7902
7903 LIBS="-lnetwork $LIBS"
7904
7905fi
7906
7907 $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
7908
7909
7910$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
7911
7912 MANTYPE=man
7913 ;;
7914*-*-hpux*)
7915 # first we define all of the options common to all HP-UX releases
7916 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
7917 IPADDR_IN_DISPLAY=yes
7918 $as_echo "#define USE_PIPES 1" >>confdefs.h
7919
7920 $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
7921
7922
7923$as_echo "#define LOCKED_PASSWD_STRING \"*\"" >>confdefs.h
7924
7925 $as_echo "#define SPT_TYPE SPT_PSTAT" >>confdefs.h
7926
7927
7928$as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h
7929
7930 maildir="/var/mail"
7931 LIBS="$LIBS -lsec"
7932 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for t_error in -lxnet" >&5
7933$as_echo_n "checking for t_error in -lxnet... " >&6; }
7934if ${ac_cv_lib_xnet_t_error+:} false; then :
7935 $as_echo_n "(cached) " >&6
7936else
7937 ac_check_lib_save_LIBS=$LIBS
7938LIBS="-lxnet $LIBS"
7939cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7940/* end confdefs.h. */
7941
7942/* Override any GCC internal prototype to avoid an error.
7943 Use char because int might match the return type of a GCC
7944 builtin and then its argument prototype would still apply. */
7945#ifdef __cplusplus
7946extern "C"
7947#endif
7948char t_error ();
7949int
7950main ()
7951{
7952return t_error ();
7953 ;
7954 return 0;
7955}
7956_ACEOF
7957if ac_fn_c_try_link "$LINENO"; then :
7958 ac_cv_lib_xnet_t_error=yes
7959else
7960 ac_cv_lib_xnet_t_error=no
7961fi
7962rm -f core conftest.err conftest.$ac_objext \
7963 conftest$ac_exeext conftest.$ac_ext
7964LIBS=$ac_check_lib_save_LIBS
7965fi
7966{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xnet_t_error" >&5
7967$as_echo "$ac_cv_lib_xnet_t_error" >&6; }
7968if test "x$ac_cv_lib_xnet_t_error" = xyes; then :
7969 cat >>confdefs.h <<_ACEOF
7970#define HAVE_LIBXNET 1
7971_ACEOF
7972
7973 LIBS="-lxnet $LIBS"
7974
7975else
7976 as_fn_error $? "*** -lxnet needed on HP-UX - check config.log ***" "$LINENO" 5
7977fi
7978
7979
7980 # next, we define all of the options specific to major releases
7981 case "$host" in
7982 *-*-hpux10*)
7983 if test -z "$GCC"; then
7984 CFLAGS="$CFLAGS -Ae"
7985 fi
7986 ;;
7987 *-*-hpux11*)
7988
7989$as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
7990
7991
7992$as_echo "#define DISABLE_UTMP 1" >>confdefs.h
7993
7994
7995$as_echo "#define USE_BTMP 1" >>confdefs.h
7996
7997 check_for_hpux_broken_getaddrinfo=1
7998 check_for_conflicting_getspnam=1
7999 ;;
8000 esac
8001
8002 # lastly, we define options specific to minor releases
8003 case "$host" in
8004 *-*-hpux10.26)
8005
8006$as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h
8007
8008 disable_ptmx_check=yes
8009 LIBS="$LIBS -lsecpw"
8010 ;;
8011 esac
8012 ;;
8013*-*-irix5*)
8014 PATH="$PATH:/usr/etc"
8015
8016$as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h
8017
8018 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8019
8020 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8021
8022 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8023
8024
8025$as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
8026
8027 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8028
8029 ;;
8030*-*-irix6*)
8031 PATH="$PATH:/usr/etc"
8032
8033$as_echo "#define WITH_IRIX_ARRAY 1" >>confdefs.h
8034
8035
8036$as_echo "#define WITH_IRIX_PROJECT 1" >>confdefs.h
8037
8038
8039$as_echo "#define WITH_IRIX_AUDIT 1" >>confdefs.h
8040
8041 ac_fn_c_check_func "$LINENO" "jlimit_startjob" "ac_cv_func_jlimit_startjob"
8042if test "x$ac_cv_func_jlimit_startjob" = xyes; then :
8043
8044$as_echo "#define WITH_IRIX_JOBS 1" >>confdefs.h
8045
8046fi
8047
8048 $as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h
8049
8050 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8051
8052 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8053
8054 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8055
8056
8057$as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
8058
8059 $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
8060
8061 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8062
8063 ;;
8064*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
8065 check_for_libcrypt_later=1
8066 $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
8067
8068 $as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h
8069
8070 $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
8071
8072
8073$as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h
8074
8075
8076$as_echo "#define USE_BTMP 1" >>confdefs.h
8077
8078 ;;
8079*-*-linux*)
8080 no_dev_ptmx=1
8081 use_pie=auto
8082 check_for_libcrypt_later=1
8083 check_for_openpty_ctty_bug=1
8084 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE"
8085
8086$as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
8087
8088
8089$as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h
8090
8091 $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
8092
8093
8094$as_echo "#define LINK_OPNOTSUPP_ERRNO EPERM" >>confdefs.h
8095
8096
8097$as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h
8098
8099 $as_echo "#define USE_BTMP 1" >>confdefs.h
8100
8101
8102$as_echo "#define LINUX_OOM_ADJUST 1" >>confdefs.h
8103
8104 inet6_default_4in6=yes
8105 case `uname -r` in
8106 1.*|2.0.*)
8107
8108$as_echo "#define BROKEN_CMSG_TYPE 1" >>confdefs.h
8109
8110 ;;
8111 esac
8112 # tun(4) forwarding compat code
8113 for ac_header in linux/if_tun.h
8114do :
8115 ac_fn_c_check_header_mongrel "$LINENO" "linux/if_tun.h" "ac_cv_header_linux_if_tun_h" "$ac_includes_default"
8116if test "x$ac_cv_header_linux_if_tun_h" = xyes; then :
8117 cat >>confdefs.h <<_ACEOF
8118#define HAVE_LINUX_IF_TUN_H 1
8119_ACEOF
8120
8121fi
8122
8123done
8124
8125 if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then
8126
8127$as_echo "#define SSH_TUN_LINUX 1" >>confdefs.h
8128
8129
8130$as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h
8131
8132
8133$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
8134
8135 fi
8136 ac_fn_c_check_header_compile "$LINENO" "linux/if.h" "ac_cv_header_linux_if_h" "
8137#ifdef HAVE_SYS_TYPES_H
8138# include <sys/types.h>
8139#endif
8140
8141"
8142if test "x$ac_cv_header_linux_if_h" = xyes; then :
8143
8144$as_echo "#define SYS_RDOMAIN_LINUX 1" >>confdefs.h
8145
8146fi
8147
8148
8149 for ac_header in linux/seccomp.h linux/filter.h linux/audit.h
8150do :
8151 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
8152ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <linux/types.h>
8153"
8154if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
8155 cat >>confdefs.h <<_ACEOF
8156#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
8157_ACEOF
8158
8159fi
8160
8161done
8162
8163 # Obtain MIPS ABI
8164 case "$host" in
8165 mips*)
8166 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8167/* end confdefs.h. */
8168
8169#if _MIPS_SIM != _ABIO32
8170#error
8171#endif
8172
8173int
8174main ()
8175{
8176
8177 ;
8178 return 0;
8179}
8180_ACEOF
8181if ac_fn_c_try_compile "$LINENO"; then :
8182 mips_abi="o32"
8183else
8184 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8185/* end confdefs.h. */
8186
8187#if _MIPS_SIM != _ABIN32
8188#error
8189#endif
8190
8191int
8192main ()
8193{
8194
8195 ;
8196 return 0;
8197}
8198_ACEOF
8199if ac_fn_c_try_compile "$LINENO"; then :
8200 mips_abi="n32"
8201else
8202 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8203/* end confdefs.h. */
8204
8205#if _MIPS_SIM != _ABI64
8206#error
8207#endif
8208
8209int
8210main ()
8211{
8212
8213 ;
8214 return 0;
8215}
8216_ACEOF
8217if ac_fn_c_try_compile "$LINENO"; then :
8218 mips_abi="n64"
8219else
8220 as_fn_error $? "unknown MIPS ABI" "$LINENO" 5
8221
8222fi
8223rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
8224
8225fi
8226rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
8227
8228fi
8229rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
8230 ;;
8231 esac
8232 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for seccomp architecture" >&5
8233$as_echo_n "checking for seccomp architecture... " >&6; }
8234 seccomp_audit_arch=
8235 case "$host" in
8236 x86_64-*)
8237 seccomp_audit_arch=AUDIT_ARCH_X86_64
8238 # X32: AMD64 instructions in 32bit address space.
8239 if test "x$ac_cv_sizeof_size_t" = "x4" ; then
8240 seccomp_audit_arch=AUDIT_ARCH_I386
8241 fi
8242 ;;
8243 i*86-*)
8244 seccomp_audit_arch=AUDIT_ARCH_I386
8245 ;;
8246 arm*-*)
8247 seccomp_audit_arch=AUDIT_ARCH_ARM
8248 ;;
8249 aarch64*-*)
8250 seccomp_audit_arch=AUDIT_ARCH_AARCH64
8251 ;;
8252 s390x-*)
8253 seccomp_audit_arch=AUDIT_ARCH_S390X
8254 ;;
8255 s390-*)
8256 seccomp_audit_arch=AUDIT_ARCH_S390
8257 ;;
8258 powerpc64-*)
8259 seccomp_audit_arch=AUDIT_ARCH_PPC64
8260 ;;
8261 powerpc64le-*)
8262 seccomp_audit_arch=AUDIT_ARCH_PPC64LE
8263 ;;
8264 mips-*)
8265 seccomp_audit_arch=AUDIT_ARCH_MIPS
8266 ;;
8267 mipsel-*)
8268 seccomp_audit_arch=AUDIT_ARCH_MIPSEL
8269 ;;
8270 mips64-*)
8271 case "$mips_abi" in
8272 "n32")
8273 seccomp_audit_arch=AUDIT_ARCH_MIPS64N32
8274 ;;
8275 "n64")
8276 seccomp_audit_arch=AUDIT_ARCH_MIPS64
8277 ;;
8278 esac
8279 ;;
8280 mips64el-*)
8281 case "$mips_abi" in
8282 "n32")
8283 seccomp_audit_arch=AUDIT_ARCH_MIPSEL64N32
8284 ;;
8285 "n64")
8286 seccomp_audit_arch=AUDIT_ARCH_MIPSEL64
8287 ;;
8288 esac
8289 ;;
8290 riscv64-*)
8291 seccomp_audit_arch=AUDIT_ARCH_RISCV64
8292 ;;
8293 esac
8294 if test "x$seccomp_audit_arch" != "x" ; then
8295 { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$seccomp_audit_arch\"" >&5
8296$as_echo "\"$seccomp_audit_arch\"" >&6; }
8297
8298cat >>confdefs.h <<_ACEOF
8299#define SECCOMP_AUDIT_ARCH $seccomp_audit_arch
8300_ACEOF
8301
8302 else
8303 { $as_echo "$as_me:${as_lineno-$LINENO}: result: architecture not supported" >&5
8304$as_echo "architecture not supported" >&6; }
8305 fi
8306 ;;
8307mips-sony-bsd|mips-sony-newsos4)
8308
8309$as_echo "#define NEED_SETPGRP 1" >>confdefs.h
8310
8311 SONY=1
8312 ;;
8313*-*-netbsd*)
8314 check_for_libcrypt_before=1
8315 if test "x$withval" != "xno" ; then
8316 rpath_opt="-R"
8317 fi
8318 CPPFLAGS="$CPPFLAGS -D_OPENBSD_SOURCE"
8319
8320$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
8321
8322 ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default"
8323if test "x$ac_cv_header_net_if_tap_h" = xyes; then :
8324
8325else
8326
8327$as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h
8328
8329fi
8330
8331
8332
8333$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
8334
8335 TEST_MALLOC_OPTIONS="AJRX"
8336
8337$as_echo "#define BROKEN_READ_COMPARISON 1" >>confdefs.h
8338
8339 ;;
8340*-*-freebsd*)
8341 check_for_libcrypt_later=1
8342
8343$as_echo "#define LOCKED_PASSWD_PREFIX \"*LOCKED*\"" >>confdefs.h
8344
8345
8346$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
8347
8348 ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default"
8349if test "x$ac_cv_header_net_if_tap_h" = xyes; then :
8350
8351else
8352
8353$as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h
8354
8355fi
8356
8357
8358
8359$as_echo "#define BROKEN_GLOB 1" >>confdefs.h
8360
8361 TEST_MALLOC_OPTIONS="AJRX"
8362 # Preauth crypto occasionally uses file descriptors for crypto offload
8363 # and will crash if they cannot be opened.
8364
8365$as_echo "#define SANDBOX_SKIP_RLIMIT_NOFILE 1" >>confdefs.h
8366
8367 ;;
8368*-*-bsdi*)
8369 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8370
8371 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8372
8373 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8374
8375 ;;
8376*-next-*)
8377 conf_lastlog_location="/usr/adm/lastlog"
8378 conf_utmp_location=/etc/utmp
8379 conf_wtmp_location=/usr/adm/wtmp
8380 maildir=/usr/spool/mail
8381
8382$as_echo "#define HAVE_NEXT 1" >>confdefs.h
8383
8384 $as_echo "#define USE_PIPES 1" >>confdefs.h
8385
8386
8387$as_echo "#define BROKEN_SAVED_UIDS 1" >>confdefs.h
8388
8389 ;;
8390*-*-openbsd*)
8391 use_pie=auto
8392
8393$as_echo "#define HAVE_ATTRIBUTE__SENTINEL__ 1" >>confdefs.h
8394
8395
8396$as_echo "#define HAVE_ATTRIBUTE__BOUNDED__ 1" >>confdefs.h
8397
8398
8399$as_echo "#define SSH_TUN_OPENBSD 1" >>confdefs.h
8400
8401
8402$as_echo "#define SYSLOG_R_SAFE_IN_SIGHAND 1" >>confdefs.h
8403
8404 TEST_MALLOC_OPTIONS="AFGJPRX"
8405 ;;
8406*-*-solaris*)
8407 if test "x$withval" != "xno" ; then
8408 rpath_opt="-R"
8409 fi
8410 $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
8411
8412 $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
8413
8414 $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
8415
8416
8417$as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h
8418
8419 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8420
8421 # Pushing STREAMS modules will cause sshd to acquire a controlling tty.
8422
8423$as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8424
8425
8426$as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8427
8428
8429$as_echo "#define BROKEN_TCGETATTR_ICANON 1" >>confdefs.h
8430
8431 external_path_file=/etc/default/login
8432 # hardwire lastlog location (can't detect it on some versions)
8433 conf_lastlog_location="/var/adm/lastlog"
8434 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obsolete utmp and wtmp in solaris2.x" >&5
8435$as_echo_n "checking for obsolete utmp and wtmp in solaris2.x... " >&6; }
8436 sol2ver=`echo "$host"| sed -e 's/.*[0-9]\.//'`
8437 if test "$sol2ver" -ge 8; then
8438 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8439$as_echo "yes" >&6; }
8440 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
8441
8442
8443$as_echo "#define DISABLE_WTMP 1" >>confdefs.h
8444
8445 else
8446 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8447$as_echo "no" >&6; }
8448 fi
8449 for ac_func in setpflags
8450do :
8451 ac_fn_c_check_func "$LINENO" "setpflags" "ac_cv_func_setpflags"
8452if test "x$ac_cv_func_setpflags" = xyes; then :
8453 cat >>confdefs.h <<_ACEOF
8454#define HAVE_SETPFLAGS 1
8455_ACEOF
8456
8457fi
8458done
8459
8460 for ac_func in setppriv
8461do :
8462 ac_fn_c_check_func "$LINENO" "setppriv" "ac_cv_func_setppriv"
8463if test "x$ac_cv_func_setppriv" = xyes; then :
8464 cat >>confdefs.h <<_ACEOF
8465#define HAVE_SETPPRIV 1
8466_ACEOF
8467
8468fi
8469done
8470
8471 for ac_func in priv_basicset
8472do :
8473 ac_fn_c_check_func "$LINENO" "priv_basicset" "ac_cv_func_priv_basicset"
8474if test "x$ac_cv_func_priv_basicset" = xyes; then :
8475 cat >>confdefs.h <<_ACEOF
8476#define HAVE_PRIV_BASICSET 1
8477_ACEOF
8478
8479fi
8480done
8481
8482 for ac_header in priv.h
8483do :
8484 ac_fn_c_check_header_mongrel "$LINENO" "priv.h" "ac_cv_header_priv_h" "$ac_includes_default"
8485if test "x$ac_cv_header_priv_h" = xyes; then :
8486 cat >>confdefs.h <<_ACEOF
8487#define HAVE_PRIV_H 1
8488_ACEOF
8489
8490fi
8491
8492done
8493
8494
8495# Check whether --with-solaris-contracts was given.
8496if test "${with_solaris_contracts+set}" = set; then :
8497 withval=$with_solaris_contracts;
8498 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ct_tmpl_activate in -lcontract" >&5
8499$as_echo_n "checking for ct_tmpl_activate in -lcontract... " >&6; }
8500if ${ac_cv_lib_contract_ct_tmpl_activate+:} false; then :
8501 $as_echo_n "(cached) " >&6
8502else
8503 ac_check_lib_save_LIBS=$LIBS
8504LIBS="-lcontract $LIBS"
8505cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8506/* end confdefs.h. */
8507
8508/* Override any GCC internal prototype to avoid an error.
8509 Use char because int might match the return type of a GCC
8510 builtin and then its argument prototype would still apply. */
8511#ifdef __cplusplus
8512extern "C"
8513#endif
8514char ct_tmpl_activate ();
8515int
8516main ()
8517{
8518return ct_tmpl_activate ();
8519 ;
8520 return 0;
8521}
8522_ACEOF
8523if ac_fn_c_try_link "$LINENO"; then :
8524 ac_cv_lib_contract_ct_tmpl_activate=yes
8525else
8526 ac_cv_lib_contract_ct_tmpl_activate=no
8527fi
8528rm -f core conftest.err conftest.$ac_objext \
8529 conftest$ac_exeext conftest.$ac_ext
8530LIBS=$ac_check_lib_save_LIBS
8531fi
8532{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_contract_ct_tmpl_activate" >&5
8533$as_echo "$ac_cv_lib_contract_ct_tmpl_activate" >&6; }
8534if test "x$ac_cv_lib_contract_ct_tmpl_activate" = xyes; then :
8535
8536$as_echo "#define USE_SOLARIS_PROCESS_CONTRACTS 1" >>confdefs.h
8537
8538 LIBS="$LIBS -lcontract"
8539 SPC_MSG="yes"
8540fi
8541
8542
8543fi
8544
8545
8546# Check whether --with-solaris-projects was given.
8547if test "${with_solaris_projects+set}" = set; then :
8548 withval=$with_solaris_projects;
8549 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproject in -lproject" >&5
8550$as_echo_n "checking for setproject in -lproject... " >&6; }
8551if ${ac_cv_lib_project_setproject+:} false; then :
8552 $as_echo_n "(cached) " >&6
8553else
8554 ac_check_lib_save_LIBS=$LIBS
8555LIBS="-lproject $LIBS"
8556cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8557/* end confdefs.h. */
8558
8559/* Override any GCC internal prototype to avoid an error.
8560 Use char because int might match the return type of a GCC
8561 builtin and then its argument prototype would still apply. */
8562#ifdef __cplusplus
8563extern "C"
8564#endif
8565char setproject ();
8566int
8567main ()
8568{
8569return setproject ();
8570 ;
8571 return 0;
8572}
8573_ACEOF
8574if ac_fn_c_try_link "$LINENO"; then :
8575 ac_cv_lib_project_setproject=yes
8576else
8577 ac_cv_lib_project_setproject=no
8578fi
8579rm -f core conftest.err conftest.$ac_objext \
8580 conftest$ac_exeext conftest.$ac_ext
8581LIBS=$ac_check_lib_save_LIBS
8582fi
8583{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_project_setproject" >&5
8584$as_echo "$ac_cv_lib_project_setproject" >&6; }
8585if test "x$ac_cv_lib_project_setproject" = xyes; then :
8586
8587$as_echo "#define USE_SOLARIS_PROJECTS 1" >>confdefs.h
8588
8589 LIBS="$LIBS -lproject"
8590 SP_MSG="yes"
8591fi
8592
8593
8594fi
8595
8596
8597# Check whether --with-solaris-privs was given.
8598if test "${with_solaris_privs+set}" = set; then :
8599 withval=$with_solaris_privs;
8600 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris/Illumos privilege support" >&5
8601$as_echo_n "checking for Solaris/Illumos privilege support... " >&6; }
8602 if test "x$ac_cv_func_setppriv" = "xyes" -a \
8603 "x$ac_cv_header_priv_h" = "xyes" ; then
8604 SOLARIS_PRIVS=yes
8605 { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
8606$as_echo "found" >&6; }
8607
8608$as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h
8609
8610
8611$as_echo "#define USE_SOLARIS_PRIVS 1" >>confdefs.h
8612
8613 SPP_MSG="yes"
8614 else
8615 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
8616$as_echo "not found" >&6; }
8617 as_fn_error $? "*** must have support for Solaris privileges to use --with-solaris-privs" "$LINENO" 5
8618 fi
8619
8620fi
8621
8622 TEST_SHELL=$SHELL # let configure find us a capable shell
8623 ;;
8624*-*-sunos4*)
8625 CPPFLAGS="$CPPFLAGS -DSUNOS4"
8626 for ac_func in getpwanam
8627do :
8628 ac_fn_c_check_func "$LINENO" "getpwanam" "ac_cv_func_getpwanam"
8629if test "x$ac_cv_func_getpwanam" = xyes; then :
8630 cat >>confdefs.h <<_ACEOF
8631#define HAVE_GETPWANAM 1
8632_ACEOF
8633
8634fi
8635done
8636
8637 $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
8638
8639 conf_utmp_location=/etc/utmp
8640 conf_wtmp_location=/var/adm/wtmp
8641 conf_lastlog_location=/var/adm/lastlog
8642 $as_echo "#define USE_PIPES 1" >>confdefs.h
8643
8644
8645$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
8646
8647 ;;
8648*-ncr-sysv*)
8649 LIBS="$LIBS -lc89"
8650 $as_echo "#define USE_PIPES 1" >>confdefs.h
8651
8652 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8653
8654 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8655
8656 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8657
8658 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8659
8660 ;;
8661*-sni-sysv*)
8662 # /usr/ucblib MUST NOT be searched on ReliantUNIX
8663 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
8664$as_echo_n "checking for dlsym in -ldl... " >&6; }
8665if ${ac_cv_lib_dl_dlsym+:} false; then :
8666 $as_echo_n "(cached) " >&6
8667else
8668 ac_check_lib_save_LIBS=$LIBS
8669LIBS="-ldl $LIBS"
8670cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8671/* end confdefs.h. */
8672
8673/* Override any GCC internal prototype to avoid an error.
8674 Use char because int might match the return type of a GCC
8675 builtin and then its argument prototype would still apply. */
8676#ifdef __cplusplus
8677extern "C"
8678#endif
8679char dlsym ();
8680int
8681main ()
8682{
8683return dlsym ();
8684 ;
8685 return 0;
8686}
8687_ACEOF
8688if ac_fn_c_try_link "$LINENO"; then :
8689 ac_cv_lib_dl_dlsym=yes
8690else
8691 ac_cv_lib_dl_dlsym=no
8692fi
8693rm -f core conftest.err conftest.$ac_objext \
8694 conftest$ac_exeext conftest.$ac_ext
8695LIBS=$ac_check_lib_save_LIBS
8696fi
8697{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
8698$as_echo "$ac_cv_lib_dl_dlsym" >&6; }
8699if test "x$ac_cv_lib_dl_dlsym" = xyes; then :
8700 cat >>confdefs.h <<_ACEOF
8701#define HAVE_LIBDL 1
8702_ACEOF
8703
8704 LIBS="-ldl $LIBS"
8705
8706fi
8707
8708 # -lresolv needs to be at the end of LIBS or DNS lookups break
8709 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5
8710$as_echo_n "checking for res_query in -lresolv... " >&6; }
8711if ${ac_cv_lib_resolv_res_query+:} false; then :
8712 $as_echo_n "(cached) " >&6
8713else
8714 ac_check_lib_save_LIBS=$LIBS
8715LIBS="-lresolv $LIBS"
8716cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8717/* end confdefs.h. */
8718
8719/* Override any GCC internal prototype to avoid an error.
8720 Use char because int might match the return type of a GCC
8721 builtin and then its argument prototype would still apply. */
8722#ifdef __cplusplus
8723extern "C"
8724#endif
8725char res_query ();
8726int
8727main ()
8728{
8729return res_query ();
8730 ;
8731 return 0;
8732}
8733_ACEOF
8734if ac_fn_c_try_link "$LINENO"; then :
8735 ac_cv_lib_resolv_res_query=yes
8736else
8737 ac_cv_lib_resolv_res_query=no
8738fi
8739rm -f core conftest.err conftest.$ac_objext \
8740 conftest$ac_exeext conftest.$ac_ext
8741LIBS=$ac_check_lib_save_LIBS
8742fi
8743{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_query" >&5
8744$as_echo "$ac_cv_lib_resolv_res_query" >&6; }
8745if test "x$ac_cv_lib_resolv_res_query" = xyes; then :
8746 LIBS="$LIBS -lresolv"
8747fi
8748
8749 IPADDR_IN_DISPLAY=yes
8750 $as_echo "#define USE_PIPES 1" >>confdefs.h
8751
8752 $as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h
8753
8754 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8755
8756 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8757
8758 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8759
8760 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8761
8762 external_path_file=/etc/default/login
8763 # /usr/ucblib/libucb.a no longer needed on ReliantUNIX
8764 # Attention: always take care to bind libsocket and libnsl before libc,
8765 # otherwise you will find lots of "SIOCGPGRP errno 22" on syslog
8766 ;;
8767# UnixWare 1.x, UnixWare 2.x, and others based on code from Univel.
8768*-*-sysv4.2*)
8769 $as_echo "#define USE_PIPES 1" >>confdefs.h
8770
8771 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8772
8773 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8774
8775 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8776
8777
8778$as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8779
8780 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8781
8782 TEST_SHELL=$SHELL # let configure find us a capable shell
8783 ;;
8784# UnixWare 7.x, OpenUNIX 8
8785*-*-sysv5*)
8786 CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf"
8787
8788$as_echo "#define UNIXWARE_LONG_PASSWORDS 1" >>confdefs.h
8789
8790 $as_echo "#define USE_PIPES 1" >>confdefs.h
8791
8792 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8793
8794 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8795
8796 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8797
8798 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8799
8800 $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8801
8802 $as_echo "#define BROKEN_TCGETATTR_ICANON 1" >>confdefs.h
8803
8804 TEST_SHELL=$SHELL # let configure find us a capable shell
8805 check_for_libcrypt_later=1
8806 case "$host" in
8807 *-*-sysv5SCO_SV*) # SCO OpenServer 6.x
8808 maildir=/var/spool/mail
8809 $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
8810
8811 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getluid in -lprot" >&5
8812$as_echo_n "checking for getluid in -lprot... " >&6; }
8813if ${ac_cv_lib_prot_getluid+:} false; then :
8814 $as_echo_n "(cached) " >&6
8815else
8816 ac_check_lib_save_LIBS=$LIBS
8817LIBS="-lprot $LIBS"
8818cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8819/* end confdefs.h. */
8820
8821/* Override any GCC internal prototype to avoid an error.
8822 Use char because int might match the return type of a GCC
8823 builtin and then its argument prototype would still apply. */
8824#ifdef __cplusplus
8825extern "C"
8826#endif
8827char getluid ();
8828int
8829main ()
8830{
8831return getluid ();
8832 ;
8833 return 0;
8834}
8835_ACEOF
8836if ac_fn_c_try_link "$LINENO"; then :
8837 ac_cv_lib_prot_getluid=yes
8838else
8839 ac_cv_lib_prot_getluid=no
8840fi
8841rm -f core conftest.err conftest.$ac_objext \
8842 conftest$ac_exeext conftest.$ac_ext
8843LIBS=$ac_check_lib_save_LIBS
8844fi
8845{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_prot_getluid" >&5
8846$as_echo "$ac_cv_lib_prot_getluid" >&6; }
8847if test "x$ac_cv_lib_prot_getluid" = xyes; then :
8848 LIBS="$LIBS -lprot"
8849 for ac_func in getluid setluid
8850do :
8851 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
8852ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
8853if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
8854 cat >>confdefs.h <<_ACEOF
8855#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
8856_ACEOF
8857
8858fi
8859done
8860
8861
8862fi
8863
8864 ;;
8865 *) $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8866
8867 ;;
8868 esac
8869 ;;
8870*-*-sysv*)
8871 ;;
8872# SCO UNIX and OEM versions of SCO UNIX
8873*-*-sco3.2v4*)
8874 as_fn_error $? "\"This Platform is no longer supported.\"" "$LINENO" 5
8875 ;;
8876# SCO OpenServer 5.x
8877*-*-sco3.2v5*)
8878 if test -z "$GCC"; then
8879 CFLAGS="$CFLAGS -belf"
8880 fi
8881 LIBS="$LIBS -lprot -lx -ltinfo -lm"
8882 no_dev_ptmx=1
8883 $as_echo "#define USE_PIPES 1" >>confdefs.h
8884
8885 $as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h
8886
8887 $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
8888
8889 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8890
8891 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8892
8893 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8894
8895 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8896
8897 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8898
8899 $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
8900
8901 $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
8902
8903 $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8904
8905 for ac_func in getluid setluid
8906do :
8907 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
8908ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
8909if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
8910 cat >>confdefs.h <<_ACEOF
8911#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
8912_ACEOF
8913
8914fi
8915done
8916
8917 MANTYPE=man
8918 TEST_SHELL=$SHELL # let configure find us a capable shell
8919 SKIP_DISABLE_LASTLOG_DEFINE=yes
8920 ;;
8921*-dec-osf*)
8922 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Digital Unix SIA" >&5
8923$as_echo_n "checking for Digital Unix SIA... " >&6; }
8924 no_osfsia=""
8925
8926# Check whether --with-osfsia was given.
8927if test "${with_osfsia+set}" = set; then :
8928 withval=$with_osfsia;
8929 if test "x$withval" = "xno" ; then
8930 { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
8931$as_echo "disabled" >&6; }
8932 no_osfsia=1
8933 fi
8934
8935fi
8936
8937 if test -z "$no_osfsia" ; then
8938 if test -f /etc/sia/matrix.conf; then
8939 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8940$as_echo "yes" >&6; }
8941
8942$as_echo "#define HAVE_OSF_SIA 1" >>confdefs.h
8943
8944
8945$as_echo "#define DISABLE_LOGIN 1" >>confdefs.h
8946
8947 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8948
8949 LIBS="$LIBS -lsecurity -ldb -lm -laud"
8950 SIA_MSG="yes"
8951 else
8952 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8953$as_echo "no" >&6; }
8954
8955$as_echo "#define LOCKED_PASSWD_SUBSTR \"Nologin\"" >>confdefs.h
8956
8957 fi
8958 fi
8959 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8960
8961 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8962
8963 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8964
8965 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8966
8967
8968$as_echo "#define BROKEN_READV_COMPARISON 1" >>confdefs.h
8969
8970 ;;
8971
8972*-*-nto-qnx*)
8973 $as_echo "#define USE_PIPES 1" >>confdefs.h
8974
8975 $as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h
8976
8977 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
8978
8979 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8980
8981
8982$as_echo "#define BROKEN_SHADOW_EXPIRE 1" >>confdefs.h
8983
8984 enable_etc_default_login=no # has incompatible /etc/default/login
8985 case "$host" in
8986 *-*-nto-qnx6*)
8987 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8988
8989 ;;
8990 esac
8991 ;;
8992
8993*-*-ultrix*)
8994
8995$as_echo "#define BROKEN_GETGROUPS 1" >>confdefs.h
8996
8997
8998$as_echo "#define NEED_SETPGRP 1" >>confdefs.h
8999
9000
9001$as_echo "#define HAVE_SYS_SYSLOG_H 1" >>confdefs.h
9002
9003
9004$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
9005
9006 # DISABLE_FD_PASSING so that we call setpgrp as root, otherwise we
9007 # don't get a controlling tty.
9008
9009$as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
9010
9011 # On Ultrix some headers are not protected against multiple includes,
9012 # so we create wrappers and put it where the compiler will find it.
9013 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: creating compat wrappers for headers" >&5
9014$as_echo "$as_me: WARNING: creating compat wrappers for headers" >&2;}
9015 mkdir -p netinet
9016 for header in netinet/ip.h netdb.h resolv.h; do
9017 name=`echo $header | tr 'a-z/.' 'A-Z__'`
9018 cat >$header <<EOD
9019#ifndef _SSH_COMPAT_${name}
9020#define _SSH_COMPAT_${name}
9021#include "/usr/include/${header}"
9022#endif
9023EOD
9024 done
9025 ;;
9026
9027*-*-lynxos)
9028 CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"
9029
9030$as_echo "#define BROKEN_SETVBUF 1" >>confdefs.h
9031
9032 ;;
9033esac
9034
9035{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler and flags for sanity" >&5
9036$as_echo_n "checking compiler and flags for sanity... " >&6; }
9037if test "$cross_compiling" = yes; then :
9038 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking compiler sanity" >&5
9039$as_echo "$as_me: WARNING: cross compiling: not checking compiler sanity" >&2;}
9040
9041else
9042 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9043/* end confdefs.h. */
9044 #include <stdlib.h>
9045int
9046main ()
9047{
9048 exit(0);
9049 ;
9050 return 0;
9051}
9052_ACEOF
9053if ac_fn_c_try_run "$LINENO"; then :
9054 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9055$as_echo "yes" >&6; }
9056else
9057
9058 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
9059$as_echo "no" >&6; }
9060 as_fn_error $? "*** compiler cannot create working executables, check config.log ***" "$LINENO" 5
9061
9062fi
9063rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
9064 conftest.$ac_objext conftest.beam conftest.$ac_ext
9065fi
9066
9067
9068# Checks for libraries.
9069ac_fn_c_check_func "$LINENO" "setsockopt" "ac_cv_func_setsockopt"
9070if test "x$ac_cv_func_setsockopt" = xyes; then :
9071
9072else
9073 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setsockopt in -lsocket" >&5
9074$as_echo_n "checking for setsockopt in -lsocket... " >&6; }
9075if ${ac_cv_lib_socket_setsockopt+:} false; then :
9076 $as_echo_n "(cached) " >&6
9077else
9078 ac_check_lib_save_LIBS=$LIBS
9079LIBS="-lsocket $LIBS"
9080cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9081/* end confdefs.h. */
9082
9083/* Override any GCC internal prototype to avoid an error.
9084 Use char because int might match the return type of a GCC
9085 builtin and then its argument prototype would still apply. */
9086#ifdef __cplusplus
9087extern "C"
9088#endif
9089char setsockopt ();
9090int
9091main ()
9092{
9093return setsockopt ();
9094 ;
9095 return 0;
9096}
9097_ACEOF
9098if ac_fn_c_try_link "$LINENO"; then :
9099 ac_cv_lib_socket_setsockopt=yes
9100else
9101 ac_cv_lib_socket_setsockopt=no
9102fi
9103rm -f core conftest.err conftest.$ac_objext \
9104 conftest$ac_exeext conftest.$ac_ext
9105LIBS=$ac_check_lib_save_LIBS
9106fi
9107{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_setsockopt" >&5
9108$as_echo "$ac_cv_lib_socket_setsockopt" >&6; }
9109if test "x$ac_cv_lib_socket_setsockopt" = xyes; then :
9110 cat >>confdefs.h <<_ACEOF
9111#define HAVE_LIBSOCKET 1
9112_ACEOF
9113
9114 LIBS="-lsocket $LIBS"
9115
9116fi
9117
9118fi
9119
9120
9121for ac_func in dirname
9122do :
9123 ac_fn_c_check_func "$LINENO" "dirname" "ac_cv_func_dirname"
9124if test "x$ac_cv_func_dirname" = xyes; then :
9125 cat >>confdefs.h <<_ACEOF
9126#define HAVE_DIRNAME 1
9127_ACEOF
9128 for ac_header in libgen.h
9129do :
9130 ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
9131if test "x$ac_cv_header_libgen_h" = xyes; then :
9132 cat >>confdefs.h <<_ACEOF
9133#define HAVE_LIBGEN_H 1
9134_ACEOF
9135
9136fi
9137
9138done
9139
9140else
9141
9142 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dirname in -lgen" >&5
9143$as_echo_n "checking for dirname in -lgen... " >&6; }
9144if ${ac_cv_lib_gen_dirname+:} false; then :
9145 $as_echo_n "(cached) " >&6
9146else
9147 ac_check_lib_save_LIBS=$LIBS
9148LIBS="-lgen $LIBS"
9149cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9150/* end confdefs.h. */
9151
9152/* Override any GCC internal prototype to avoid an error.
9153 Use char because int might match the return type of a GCC
9154 builtin and then its argument prototype would still apply. */
9155#ifdef __cplusplus
9156extern "C"
9157#endif
9158char dirname ();
9159int
9160main ()
9161{
9162return dirname ();
9163 ;
9164 return 0;
9165}
9166_ACEOF
9167if ac_fn_c_try_link "$LINENO"; then :
9168 ac_cv_lib_gen_dirname=yes
9169else
9170 ac_cv_lib_gen_dirname=no
9171fi
9172rm -f core conftest.err conftest.$ac_objext \
9173 conftest$ac_exeext conftest.$ac_ext
9174LIBS=$ac_check_lib_save_LIBS
9175fi
9176{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_dirname" >&5
9177$as_echo "$ac_cv_lib_gen_dirname" >&6; }
9178if test "x$ac_cv_lib_gen_dirname" = xyes; then :
9179
9180 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken dirname" >&5
9181$as_echo_n "checking for broken dirname... " >&6; }
9182if ${ac_cv_have_broken_dirname+:} false; then :
9183 $as_echo_n "(cached) " >&6
9184else
9185
9186 save_LIBS="$LIBS"
9187 LIBS="$LIBS -lgen"
9188 if test "$cross_compiling" = yes; then :
9189 ac_cv_have_broken_dirname="no"
9190else
9191 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9192/* end confdefs.h. */
9193
9194#include <libgen.h>
9195#include <string.h>
9196#include <stdlib.h>
9197
9198int main(int argc, char **argv) {
9199 char *s, buf[32];
9200
9201 strncpy(buf,"/etc", 32);
9202 s = dirname(buf);
9203 if (!s || strncmp(s, "/", 32) != 0) {
9204 exit(1);
9205 } else {
9206 exit(0);
9207 }
9208}
9209
9210_ACEOF
9211if ac_fn_c_try_run "$LINENO"; then :
9212 ac_cv_have_broken_dirname="no"
9213else
9214 ac_cv_have_broken_dirname="yes"
9215fi
9216rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
9217 conftest.$ac_objext conftest.beam conftest.$ac_ext
9218fi
9219
9220 LIBS="$save_LIBS"
9221
9222fi
9223{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_broken_dirname" >&5
9224$as_echo "$ac_cv_have_broken_dirname" >&6; }
9225 if test "x$ac_cv_have_broken_dirname" = "xno" ; then
9226 LIBS="$LIBS -lgen"
9227 $as_echo "#define HAVE_DIRNAME 1" >>confdefs.h
9228
9229 for ac_header in libgen.h
9230do :
9231 ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
9232if test "x$ac_cv_header_libgen_h" = xyes; then :
9233 cat >>confdefs.h <<_ACEOF
9234#define HAVE_LIBGEN_H 1
9235_ACEOF
9236
9237fi
9238
9239done
9240
9241 fi
9242
9243fi
9244
9245
9246fi
9247done
9248
9249
9250ac_fn_c_check_func "$LINENO" "getspnam" "ac_cv_func_getspnam"
9251if test "x$ac_cv_func_getspnam" = xyes; then :
9252
9253else
9254 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getspnam in -lgen" >&5
9255$as_echo_n "checking for getspnam in -lgen... " >&6; }
9256if ${ac_cv_lib_gen_getspnam+:} false; then :
9257 $as_echo_n "(cached) " >&6
9258else
9259 ac_check_lib_save_LIBS=$LIBS
9260LIBS="-lgen $LIBS"
9261cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9262/* end confdefs.h. */
9263
9264/* Override any GCC internal prototype to avoid an error.
9265 Use char because int might match the return type of a GCC
9266 builtin and then its argument prototype would still apply. */
9267#ifdef __cplusplus
9268extern "C"
9269#endif
9270char getspnam ();
9271int
9272main ()
9273{
9274return getspnam ();
9275 ;
9276 return 0;
9277}
9278_ACEOF
9279if ac_fn_c_try_link "$LINENO"; then :
9280 ac_cv_lib_gen_getspnam=yes
9281else
9282 ac_cv_lib_gen_getspnam=no
9283fi
9284rm -f core conftest.err conftest.$ac_objext \
9285 conftest$ac_exeext conftest.$ac_ext
9286LIBS=$ac_check_lib_save_LIBS
9287fi
9288{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_getspnam" >&5
9289$as_echo "$ac_cv_lib_gen_getspnam" >&6; }
9290if test "x$ac_cv_lib_gen_getspnam" = xyes; then :
9291 LIBS="$LIBS -lgen"
9292fi
9293
9294fi
9295
9296{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing basename" >&5
9297$as_echo_n "checking for library containing basename... " >&6; }
9298if ${ac_cv_search_basename+:} false; then :
9299 $as_echo_n "(cached) " >&6
9300else
9301 ac_func_search_save_LIBS=$LIBS
9302cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9303/* end confdefs.h. */
9304
9305/* Override any GCC internal prototype to avoid an error.
9306 Use char because int might match the return type of a GCC
9307 builtin and then its argument prototype would still apply. */
9308#ifdef __cplusplus
9309extern "C"
9310#endif
9311char basename ();
9312int
9313main ()
9314{
9315return basename ();
9316 ;
9317 return 0;
9318}
9319_ACEOF
9320for ac_lib in '' gen; do
9321 if test -z "$ac_lib"; then
9322 ac_res="none required"
9323 else
9324 ac_res=-l$ac_lib
9325 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9326 fi
9327 if ac_fn_c_try_link "$LINENO"; then :
9328 ac_cv_search_basename=$ac_res
9329fi
9330rm -f core conftest.err conftest.$ac_objext \
9331 conftest$ac_exeext
9332 if ${ac_cv_search_basename+:} false; then :
9333 break
9334fi
9335done
9336if ${ac_cv_search_basename+:} false; then :
9337
9338else
9339 ac_cv_search_basename=no
9340fi
9341rm conftest.$ac_ext
9342LIBS=$ac_func_search_save_LIBS
9343fi
9344{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_basename" >&5
9345$as_echo "$ac_cv_search_basename" >&6; }
9346ac_res=$ac_cv_search_basename
9347if test "$ac_res" != no; then :
9348 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9349
9350$as_echo "#define HAVE_BASENAME 1" >>confdefs.h
9351
9352fi
9353
9354
9355zlib=yes
9356
9357# Check whether --with-zlib was given.
9358if test "${with_zlib+set}" = set; then :
9359 withval=$with_zlib; if test "x$withval" = "xno" ; then
9360 zlib=no
9361 elif test "x$withval" != "xyes"; then
9362 if test -d "$withval/lib"; then
9363 if test -n "${rpath_opt}"; then
9364 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
9365 else
9366 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
9367 fi
9368 else
9369 if test -n "${rpath_opt}"; then
9370 LDFLAGS="-L${withval} ${rpath_opt}${withval} ${LDFLAGS}"
9371 else
9372 LDFLAGS="-L${withval} ${LDFLAGS}"
9373 fi
9374 fi
9375 if test -d "$withval/include"; then
9376 CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
9377 else
9378 CPPFLAGS="-I${withval} ${CPPFLAGS}"
9379 fi
9380 fi
9381
9382fi
9383
9384
9385{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib" >&5
9386$as_echo_n "checking for zlib... " >&6; }
9387if test "x${zlib}" = "xno"; then
9388 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
9389$as_echo "no" >&6; }
9390else
9391 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9392$as_echo "yes" >&6; }
9393
9394$as_echo "#define WITH_ZLIB 1" >>confdefs.h
9395
9396 ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
9397if test "x$ac_cv_header_zlib_h" = xyes; then :
9398
9399else
9400 as_fn_error $? "*** zlib.h missing - please install first or check config.log ***" "$LINENO" 5
9401fi
9402
9403
9404 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5
9405$as_echo_n "checking for deflate in -lz... " >&6; }
9406if ${ac_cv_lib_z_deflate+:} false; then :
9407 $as_echo_n "(cached) " >&6
9408else
9409 ac_check_lib_save_LIBS=$LIBS
9410LIBS="-lz $LIBS"
9411cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9412/* end confdefs.h. */
9413
9414/* Override any GCC internal prototype to avoid an error.
9415 Use char because int might match the return type of a GCC
9416 builtin and then its argument prototype would still apply. */
9417#ifdef __cplusplus
9418extern "C"
9419#endif
9420char deflate ();
9421int
9422main ()
9423{
9424return deflate ();
9425 ;
9426 return 0;
9427}
9428_ACEOF
9429if ac_fn_c_try_link "$LINENO"; then :
9430 ac_cv_lib_z_deflate=yes
9431else
9432 ac_cv_lib_z_deflate=no
9433fi
9434rm -f core conftest.err conftest.$ac_objext \
9435 conftest$ac_exeext conftest.$ac_ext
9436LIBS=$ac_check_lib_save_LIBS
9437fi
9438{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5
9439$as_echo "$ac_cv_lib_z_deflate" >&6; }
9440if test "x$ac_cv_lib_z_deflate" = xyes; then :
9441 cat >>confdefs.h <<_ACEOF
9442#define HAVE_LIBZ 1
9443_ACEOF
9444
9445 LIBS="-lz $LIBS"
9446
9447else
9448
9449 saved_CPPFLAGS="$CPPFLAGS"
9450 saved_LDFLAGS="$LDFLAGS"
9451 save_LIBS="$LIBS"
9452 if test -n "${rpath_opt}"; then
9453 LDFLAGS="-L/usr/local/lib ${rpath_opt}/usr/local/lib ${saved_LDFLAGS}"
9454 else
9455 LDFLAGS="-L/usr/local/lib ${saved_LDFLAGS}"
9456 fi
9457 CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}"
9458 LIBS="$LIBS -lz"
9459 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9460/* end confdefs.h. */
9461
9462/* Override any GCC internal prototype to avoid an error.
9463 Use char because int might match the return type of a GCC
9464 builtin and then its argument prototype would still apply. */
9465#ifdef __cplusplus
9466extern "C"
9467#endif
9468char deflate ();
9469int
9470main ()
9471{
9472return deflate ();
9473 ;
9474 return 0;
9475}
9476_ACEOF
9477if ac_fn_c_try_link "$LINENO"; then :
9478 $as_echo "#define HAVE_LIBZ 1" >>confdefs.h
9479
9480else
9481
9482 as_fn_error $? "*** zlib missing - please install first or check config.log ***" "$LINENO" 5
9483
9484
9485fi
9486rm -f core conftest.err conftest.$ac_objext \
9487 conftest$ac_exeext conftest.$ac_ext
9488
9489
9490fi
9491
9492
9493
9494# Check whether --with-zlib-version-check was given.
9495if test "${with_zlib_version_check+set}" = set; then :
9496 withval=$with_zlib_version_check; if test "x$withval" = "xno" ; then
9497 zlib_check_nonfatal=1
9498 fi
9499
9500
9501fi
9502
9503
9504 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for possibly buggy zlib" >&5
9505$as_echo_n "checking for possibly buggy zlib... " >&6; }
9506 if test "$cross_compiling" = yes; then :
9507 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking zlib version" >&5
9508$as_echo "$as_me: WARNING: cross compiling: not checking zlib version" >&2;}
9509
9510else
9511 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9512/* end confdefs.h. */
9513
9514#include <stdio.h>
9515#include <stdlib.h>
9516#include <zlib.h>
9517
9518int
9519main ()
9520{
9521
9522 int a=0, b=0, c=0, d=0, n, v;
9523 n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d);
9524 if (n != 3 && n != 4)
9525 exit(1);
9526 v = a*1000000 + b*10000 + c*100 + d;
9527 fprintf(stderr, "found zlib version %s (%d)\n", ZLIB_VERSION, v);
9528
9529 /* 1.1.4 is OK */
9530 if (a == 1 && b == 1 && c >= 4)
9531 exit(0);
9532
9533 /* 1.2.3 and up are OK */
9534 if (v >= 1020300)
9535 exit(0);
9536
9537 exit(2);
9538
9539 ;
9540 return 0;
9541}
9542_ACEOF
9543if ac_fn_c_try_run "$LINENO"; then :
9544 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
9545$as_echo "no" >&6; }
9546else
9547 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9548$as_echo "yes" >&6; }
9549 if test -z "$zlib_check_nonfatal" ; then
9550 as_fn_error $? "*** zlib too old - check config.log ***
9551Your reported zlib version has known security problems. It's possible your
9552vendor has fixed these problems without changing the version number. If you
9553are sure this is the case, you can disable the check by running
9554\"./configure --without-zlib-version-check\".
9555If you are in doubt, upgrade zlib to version 1.2.3 or greater.
9556See http://www.gzip.org/zlib/ for details." "$LINENO" 5
9557 else
9558 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: zlib version may have security problems" >&5
9559$as_echo "$as_me: WARNING: zlib version may have security problems" >&2;}
9560 fi
9561
9562fi
9563rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
9564 conftest.$ac_objext conftest.beam conftest.$ac_ext
9565fi
9566
9567fi
9568
9569ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
9570if test "x$ac_cv_func_strcasecmp" = xyes; then :
9571
9572else
9573 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strcasecmp in -lresolv" >&5
9574$as_echo_n "checking for strcasecmp in -lresolv... " >&6; }
9575if ${ac_cv_lib_resolv_strcasecmp+:} false; then :
9576 $as_echo_n "(cached) " >&6
9577else
9578 ac_check_lib_save_LIBS=$LIBS
9579LIBS="-lresolv $LIBS"
9580cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9581/* end confdefs.h. */
9582
9583/* Override any GCC internal prototype to avoid an error.
9584 Use char because int might match the return type of a GCC
9585 builtin and then its argument prototype would still apply. */
9586#ifdef __cplusplus
9587extern "C"
9588#endif
9589char strcasecmp ();
9590int
9591main ()
9592{
9593return strcasecmp ();
9594 ;
9595 return 0;
9596}
9597_ACEOF
9598if ac_fn_c_try_link "$LINENO"; then :
9599 ac_cv_lib_resolv_strcasecmp=yes
9600else
9601 ac_cv_lib_resolv_strcasecmp=no
9602fi
9603rm -f core conftest.err conftest.$ac_objext \
9604 conftest$ac_exeext conftest.$ac_ext
9605LIBS=$ac_check_lib_save_LIBS
9606fi
9607{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_strcasecmp" >&5
9608$as_echo "$ac_cv_lib_resolv_strcasecmp" >&6; }
9609if test "x$ac_cv_lib_resolv_strcasecmp" = xyes; then :
9610 LIBS="$LIBS -lresolv"
9611fi
9612
9613
9614fi
9615
9616for ac_func in utimes
9617do :
9618 ac_fn_c_check_func "$LINENO" "utimes" "ac_cv_func_utimes"
9619if test "x$ac_cv_func_utimes" = xyes; then :
9620 cat >>confdefs.h <<_ACEOF
9621#define HAVE_UTIMES 1
9622_ACEOF
9623
9624else
9625 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utimes in -lc89" >&5
9626$as_echo_n "checking for utimes in -lc89... " >&6; }
9627if ${ac_cv_lib_c89_utimes+:} false; then :
9628 $as_echo_n "(cached) " >&6
9629else
9630 ac_check_lib_save_LIBS=$LIBS
9631LIBS="-lc89 $LIBS"
9632cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9633/* end confdefs.h. */
9634
9635/* Override any GCC internal prototype to avoid an error.
9636 Use char because int might match the return type of a GCC
9637 builtin and then its argument prototype would still apply. */
9638#ifdef __cplusplus
9639extern "C"
9640#endif
9641char utimes ();
9642int
9643main ()
9644{
9645return utimes ();
9646 ;
9647 return 0;
9648}
9649_ACEOF
9650if ac_fn_c_try_link "$LINENO"; then :
9651 ac_cv_lib_c89_utimes=yes
9652else
9653 ac_cv_lib_c89_utimes=no
9654fi
9655rm -f core conftest.err conftest.$ac_objext \
9656 conftest$ac_exeext conftest.$ac_ext
9657LIBS=$ac_check_lib_save_LIBS
9658fi
9659{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c89_utimes" >&5
9660$as_echo "$ac_cv_lib_c89_utimes" >&6; }
9661if test "x$ac_cv_lib_c89_utimes" = xyes; then :
9662 $as_echo "#define HAVE_UTIMES 1" >>confdefs.h
9663
9664 LIBS="$LIBS -lc89"
9665fi
9666
9667
9668fi
9669done
9670
9671
9672for ac_header in bsd/libutil.h libutil.h
9673do :
9674 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
9675ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
9676if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
9677 cat >>confdefs.h <<_ACEOF
9678#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
9679_ACEOF
9680
9681fi
9682
9683done
9684
9685{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fmt_scaled" >&5
9686$as_echo_n "checking for library containing fmt_scaled... " >&6; }
9687if ${ac_cv_search_fmt_scaled+:} false; then :
9688 $as_echo_n "(cached) " >&6
9689else
9690 ac_func_search_save_LIBS=$LIBS
9691cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9692/* end confdefs.h. */
9693
9694/* Override any GCC internal prototype to avoid an error.
9695 Use char because int might match the return type of a GCC
9696 builtin and then its argument prototype would still apply. */
9697#ifdef __cplusplus
9698extern "C"
9699#endif
9700char fmt_scaled ();
9701int
9702main ()
9703{
9704return fmt_scaled ();
9705 ;
9706 return 0;
9707}
9708_ACEOF
9709for ac_lib in '' util bsd; do
9710 if test -z "$ac_lib"; then
9711 ac_res="none required"
9712 else
9713 ac_res=-l$ac_lib
9714 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9715 fi
9716 if ac_fn_c_try_link "$LINENO"; then :
9717 ac_cv_search_fmt_scaled=$ac_res
9718fi
9719rm -f core conftest.err conftest.$ac_objext \
9720 conftest$ac_exeext
9721 if ${ac_cv_search_fmt_scaled+:} false; then :
9722 break
9723fi
9724done
9725if ${ac_cv_search_fmt_scaled+:} false; then :
9726
9727else
9728 ac_cv_search_fmt_scaled=no
9729fi
9730rm conftest.$ac_ext
9731LIBS=$ac_func_search_save_LIBS
9732fi
9733{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fmt_scaled" >&5
9734$as_echo "$ac_cv_search_fmt_scaled" >&6; }
9735ac_res=$ac_cv_search_fmt_scaled
9736if test "$ac_res" != no; then :
9737 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9738
9739fi
9740
9741{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing scan_scaled" >&5
9742$as_echo_n "checking for library containing scan_scaled... " >&6; }
9743if ${ac_cv_search_scan_scaled+:} false; then :
9744 $as_echo_n "(cached) " >&6
9745else
9746 ac_func_search_save_LIBS=$LIBS
9747cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9748/* end confdefs.h. */
9749
9750/* Override any GCC internal prototype to avoid an error.
9751 Use char because int might match the return type of a GCC
9752 builtin and then its argument prototype would still apply. */
9753#ifdef __cplusplus
9754extern "C"
9755#endif
9756char scan_scaled ();
9757int
9758main ()
9759{
9760return scan_scaled ();
9761 ;
9762 return 0;
9763}
9764_ACEOF
9765for ac_lib in '' util bsd; do
9766 if test -z "$ac_lib"; then
9767 ac_res="none required"
9768 else
9769 ac_res=-l$ac_lib
9770 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9771 fi
9772 if ac_fn_c_try_link "$LINENO"; then :
9773 ac_cv_search_scan_scaled=$ac_res
9774fi
9775rm -f core conftest.err conftest.$ac_objext \
9776 conftest$ac_exeext
9777 if ${ac_cv_search_scan_scaled+:} false; then :
9778 break
9779fi
9780done
9781if ${ac_cv_search_scan_scaled+:} false; then :
9782
9783else
9784 ac_cv_search_scan_scaled=no
9785fi
9786rm conftest.$ac_ext
9787LIBS=$ac_func_search_save_LIBS
9788fi
9789{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_scan_scaled" >&5
9790$as_echo "$ac_cv_search_scan_scaled" >&6; }
9791ac_res=$ac_cv_search_scan_scaled
9792if test "$ac_res" != no; then :
9793 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9794
9795fi
9796
9797{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing login" >&5
9798$as_echo_n "checking for library containing login... " >&6; }
9799if ${ac_cv_search_login+:} false; then :
9800 $as_echo_n "(cached) " >&6
9801else
9802 ac_func_search_save_LIBS=$LIBS
9803cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9804/* end confdefs.h. */
9805
9806/* Override any GCC internal prototype to avoid an error.
9807 Use char because int might match the return type of a GCC
9808 builtin and then its argument prototype would still apply. */
9809#ifdef __cplusplus
9810extern "C"
9811#endif
9812char login ();
9813int
9814main ()
9815{
9816return login ();
9817 ;
9818 return 0;
9819}
9820_ACEOF
9821for ac_lib in '' util bsd; do
9822 if test -z "$ac_lib"; then
9823 ac_res="none required"
9824 else
9825 ac_res=-l$ac_lib
9826 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9827 fi
9828 if ac_fn_c_try_link "$LINENO"; then :
9829 ac_cv_search_login=$ac_res
9830fi
9831rm -f core conftest.err conftest.$ac_objext \
9832 conftest$ac_exeext
9833 if ${ac_cv_search_login+:} false; then :
9834 break
9835fi
9836done
9837if ${ac_cv_search_login+:} false; then :
9838
9839else
9840 ac_cv_search_login=no
9841fi
9842rm conftest.$ac_ext
9843LIBS=$ac_func_search_save_LIBS
9844fi
9845{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_login" >&5
9846$as_echo "$ac_cv_search_login" >&6; }
9847ac_res=$ac_cv_search_login
9848if test "$ac_res" != no; then :
9849 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9850
9851fi
9852
9853{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logout" >&5
9854$as_echo_n "checking for library containing logout... " >&6; }
9855if ${ac_cv_search_logout+:} false; then :
9856 $as_echo_n "(cached) " >&6
9857else
9858 ac_func_search_save_LIBS=$LIBS
9859cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9860/* end confdefs.h. */
9861
9862/* Override any GCC internal prototype to avoid an error.
9863 Use char because int might match the return type of a GCC
9864 builtin and then its argument prototype would still apply. */
9865#ifdef __cplusplus
9866extern "C"
9867#endif
9868char logout ();
9869int
9870main ()
9871{
9872return logout ();
9873 ;
9874 return 0;
9875}
9876_ACEOF
9877for ac_lib in '' util bsd; do
9878 if test -z "$ac_lib"; then
9879 ac_res="none required"
9880 else
9881 ac_res=-l$ac_lib
9882 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9883 fi
9884 if ac_fn_c_try_link "$LINENO"; then :
9885 ac_cv_search_logout=$ac_res
9886fi
9887rm -f core conftest.err conftest.$ac_objext \
9888 conftest$ac_exeext
9889 if ${ac_cv_search_logout+:} false; then :
9890 break
9891fi
9892done
9893if ${ac_cv_search_logout+:} false; then :
9894
9895else
9896 ac_cv_search_logout=no
9897fi
9898rm conftest.$ac_ext
9899LIBS=$ac_func_search_save_LIBS
9900fi
9901{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logout" >&5
9902$as_echo "$ac_cv_search_logout" >&6; }
9903ac_res=$ac_cv_search_logout
9904if test "$ac_res" != no; then :
9905 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9906
9907fi
9908
9909{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logwtmp" >&5
9910$as_echo_n "checking for library containing logwtmp... " >&6; }
9911if ${ac_cv_search_logwtmp+:} false; then :
9912 $as_echo_n "(cached) " >&6
9913else
9914 ac_func_search_save_LIBS=$LIBS
9915cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9916/* end confdefs.h. */
9917
9918/* Override any GCC internal prototype to avoid an error.
9919 Use char because int might match the return type of a GCC
9920 builtin and then its argument prototype would still apply. */
9921#ifdef __cplusplus
9922extern "C"
9923#endif
9924char logwtmp ();
9925int
9926main ()
9927{
9928return logwtmp ();
9929 ;
9930 return 0;
9931}
9932_ACEOF
9933for ac_lib in '' util bsd; do
9934 if test -z "$ac_lib"; then
9935 ac_res="none required"
9936 else
9937 ac_res=-l$ac_lib
9938 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9939 fi
9940 if ac_fn_c_try_link "$LINENO"; then :
9941 ac_cv_search_logwtmp=$ac_res
9942fi
9943rm -f core conftest.err conftest.$ac_objext \
9944 conftest$ac_exeext
9945 if ${ac_cv_search_logwtmp+:} false; then :
9946 break
9947fi
9948done
9949if ${ac_cv_search_logwtmp+:} false; then :
9950
9951else
9952 ac_cv_search_logwtmp=no
9953fi
9954rm conftest.$ac_ext
9955LIBS=$ac_func_search_save_LIBS
9956fi
9957{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logwtmp" >&5
9958$as_echo "$ac_cv_search_logwtmp" >&6; }
9959ac_res=$ac_cv_search_logwtmp
9960if test "$ac_res" != no; then :
9961 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9962
9963fi
9964
9965{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing openpty" >&5
9966$as_echo_n "checking for library containing openpty... " >&6; }
9967if ${ac_cv_search_openpty+:} false; then :
9968 $as_echo_n "(cached) " >&6
9969else
9970 ac_func_search_save_LIBS=$LIBS
9971cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9972/* end confdefs.h. */
9973
9974/* Override any GCC internal prototype to avoid an error.
9975 Use char because int might match the return type of a GCC
9976 builtin and then its argument prototype would still apply. */
9977#ifdef __cplusplus
9978extern "C"
9979#endif
9980char openpty ();
9981int
9982main ()
9983{
9984return openpty ();
9985 ;
9986 return 0;
9987}
9988_ACEOF
9989for ac_lib in '' util bsd; do
9990 if test -z "$ac_lib"; then
9991 ac_res="none required"
9992 else
9993 ac_res=-l$ac_lib
9994 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9995 fi
9996 if ac_fn_c_try_link "$LINENO"; then :
9997 ac_cv_search_openpty=$ac_res
9998fi
9999rm -f core conftest.err conftest.$ac_objext \
10000 conftest$ac_exeext
10001 if ${ac_cv_search_openpty+:} false; then :
10002 break
10003fi
10004done
10005if ${ac_cv_search_openpty+:} false; then :
10006
10007else
10008 ac_cv_search_openpty=no
10009fi
10010rm conftest.$ac_ext
10011LIBS=$ac_func_search_save_LIBS
10012fi
10013{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_openpty" >&5
10014$as_echo "$ac_cv_search_openpty" >&6; }
10015ac_res=$ac_cv_search_openpty
10016if test "$ac_res" != no; then :
10017 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
10018
10019fi
10020
10021{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing updwtmp" >&5
10022$as_echo_n "checking for library containing updwtmp... " >&6; }
10023if ${ac_cv_search_updwtmp+:} false; then :
10024 $as_echo_n "(cached) " >&6
10025else
10026 ac_func_search_save_LIBS=$LIBS
10027cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10028/* end confdefs.h. */
10029
10030/* Override any GCC internal prototype to avoid an error.
10031 Use char because int might match the return type of a GCC
10032 builtin and then its argument prototype would still apply. */
10033#ifdef __cplusplus
10034extern "C"
10035#endif
10036char updwtmp ();
10037int
10038main ()
10039{
10040return updwtmp ();
10041 ;
10042 return 0;
10043}
10044_ACEOF
10045for ac_lib in '' util bsd; do
10046 if test -z "$ac_lib"; then
10047 ac_res="none required"
10048 else
10049 ac_res=-l$ac_lib
10050 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
10051 fi
10052 if ac_fn_c_try_link "$LINENO"; then :
10053 ac_cv_search_updwtmp=$ac_res
10054fi
10055rm -f core conftest.err conftest.$ac_objext \
10056 conftest$ac_exeext
10057 if ${ac_cv_search_updwtmp+:} false; then :
10058 break
10059fi
10060done
10061if ${ac_cv_search_updwtmp+:} false; then :
10062
10063else
10064 ac_cv_search_updwtmp=no
10065fi
10066rm conftest.$ac_ext
10067LIBS=$ac_func_search_save_LIBS
10068fi
10069{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_updwtmp" >&5
10070$as_echo "$ac_cv_search_updwtmp" >&6; }
10071ac_res=$ac_cv_search_updwtmp
10072if test "$ac_res" != no; then :
10073 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
10074
10075fi
10076
10077for ac_func in fmt_scaled scan_scaled login logout openpty updwtmp logwtmp
10078do :
10079 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
10080ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
10081if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
10082 cat >>confdefs.h <<_ACEOF
10083#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
10084_ACEOF
10085
10086fi
10087done
10088
10089
10090# On some platforms, inet_ntop and gethostbyname may be found in libresolv
10091# or libnsl.
10092{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5
10093$as_echo_n "checking for library containing inet_ntop... " >&6; }
10094if ${ac_cv_search_inet_ntop+:} false; then :
10095 $as_echo_n "(cached) " >&6
10096else
10097 ac_func_search_save_LIBS=$LIBS
10098cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10099/* end confdefs.h. */
10100
10101/* Override any GCC internal prototype to avoid an error.
10102 Use char because int might match the return type of a GCC
10103 builtin and then its argument prototype would still apply. */
10104#ifdef __cplusplus
10105extern "C"
10106#endif
10107char inet_ntop ();
10108int
10109main ()
10110{
10111return inet_ntop ();
10112 ;
10113 return 0;
10114}
10115_ACEOF
10116for ac_lib in '' resolv nsl; do
10117 if test -z "$ac_lib"; then
10118 ac_res="none required"
10119 else
10120 ac_res=-l$ac_lib
10121 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
10122 fi
10123 if ac_fn_c_try_link "$LINENO"; then :
10124 ac_cv_search_inet_ntop=$ac_res
10125fi
10126rm -f core conftest.err conftest.$ac_objext \
10127 conftest$ac_exeext
10128 if ${ac_cv_search_inet_ntop+:} false; then :
10129 break
10130fi
10131done
10132if ${ac_cv_search_inet_ntop+:} false; then :
10133
10134else
10135 ac_cv_search_inet_ntop=no
10136fi
10137rm conftest.$ac_ext
10138LIBS=$ac_func_search_save_LIBS
10139fi
10140{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5
10141$as_echo "$ac_cv_search_inet_ntop" >&6; }
10142ac_res=$ac_cv_search_inet_ntop
10143if test "$ac_res" != no; then :
10144 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
10145
10146fi
10147
10148{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
10149$as_echo_n "checking for library containing gethostbyname... " >&6; }
10150if ${ac_cv_search_gethostbyname+:} false; then :
10151 $as_echo_n "(cached) " >&6
10152else
10153 ac_func_search_save_LIBS=$LIBS
10154cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10155/* end confdefs.h. */
10156
10157/* Override any GCC internal prototype to avoid an error.
10158 Use char because int might match the return type of a GCC
10159 builtin and then its argument prototype would still apply. */
10160#ifdef __cplusplus
10161extern "C"
10162#endif
10163char gethostbyname ();
10164int
10165main ()
10166{
10167return gethostbyname ();
10168 ;
10169 return 0;
10170}
10171_ACEOF
10172for ac_lib in '' resolv nsl; do
10173 if test -z "$ac_lib"; then
10174 ac_res="none required"
10175 else
10176 ac_res=-l$ac_lib
10177 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
10178 fi
10179 if ac_fn_c_try_link "$LINENO"; then :
10180 ac_cv_search_gethostbyname=$ac_res
10181fi
10182rm -f core conftest.err conftest.$ac_objext \
10183 conftest$ac_exeext
10184 if ${ac_cv_search_gethostbyname+:} false; then :
10185 break
10186fi
10187done
10188if ${ac_cv_search_gethostbyname+:} false; then :
10189
10190else
10191 ac_cv_search_gethostbyname=no
10192fi
10193rm conftest.$ac_ext
10194LIBS=$ac_func_search_save_LIBS
10195fi
10196{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
10197$as_echo "$ac_cv_search_gethostbyname" >&6; }
10198ac_res=$ac_cv_search_gethostbyname
10199if test "$ac_res" != no; then :
10200 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
10201
10202fi
10203
10204
10205# "Particular Function Checks"
10206# see https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Functions.html
10207for ac_func in strftime
10208do :
10209 ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime"
10210if test "x$ac_cv_func_strftime" = xyes; then :
10211 cat >>confdefs.h <<_ACEOF
10212#define HAVE_STRFTIME 1
10213_ACEOF
10214
10215else
10216 # strftime is in -lintl on SCO UNIX.
10217{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5
10218$as_echo_n "checking for strftime in -lintl... " >&6; }
10219if ${ac_cv_lib_intl_strftime+:} false; then :
10220 $as_echo_n "(cached) " >&6
10221else
10222 ac_check_lib_save_LIBS=$LIBS
10223LIBS="-lintl $LIBS"
10224cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10225/* end confdefs.h. */
10226
10227/* Override any GCC internal prototype to avoid an error.
10228 Use char because int might match the return type of a GCC
10229 builtin and then its argument prototype would still apply. */
10230#ifdef __cplusplus
10231extern "C"
10232#endif
10233char strftime ();
10234int
10235main ()
10236{
10237return strftime ();
10238 ;
10239 return 0;
10240}
10241_ACEOF
10242if ac_fn_c_try_link "$LINENO"; then :
10243 ac_cv_lib_intl_strftime=yes
10244else
10245 ac_cv_lib_intl_strftime=no
10246fi
10247rm -f core conftest.err conftest.$ac_objext \
10248 conftest$ac_exeext conftest.$ac_ext
10249LIBS=$ac_check_lib_save_LIBS
10250fi
10251{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5
10252$as_echo "$ac_cv_lib_intl_strftime" >&6; }
10253if test "x$ac_cv_lib_intl_strftime" = xyes; then :
10254 $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h
10255
10256LIBS="-lintl $LIBS"
10257fi
10258
10259fi
10260done
10261
10262for ac_header in stdlib.h
10263do :
10264 ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
10265if test "x$ac_cv_header_stdlib_h" = xyes; then :
10266 cat >>confdefs.h <<_ACEOF
10267#define HAVE_STDLIB_H 1
10268_ACEOF
10269
10270fi
10271
10272done
10273
10274{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
10275$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
10276if ${ac_cv_func_malloc_0_nonnull+:} false; then :
10277 $as_echo_n "(cached) " >&6
10278else
10279 if test "$cross_compiling" = yes; then :
10280 ac_cv_func_malloc_0_nonnull=no
10281else
10282 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10283/* end confdefs.h. */
10284#if defined STDC_HEADERS || defined HAVE_STDLIB_H
10285# include <stdlib.h>
10286#else
10287char *malloc ();
10288#endif
10289
10290int
10291main ()
10292{
10293return ! malloc (0);
10294 ;
10295 return 0;
10296}
10297_ACEOF
10298if ac_fn_c_try_run "$LINENO"; then :
10299 ac_cv_func_malloc_0_nonnull=yes
10300else
10301 ac_cv_func_malloc_0_nonnull=no
10302fi
10303rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10304 conftest.$ac_objext conftest.beam conftest.$ac_ext
10305fi
10306
10307fi
10308{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
10309$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
10310if test $ac_cv_func_malloc_0_nonnull = yes; then :
10311
10312$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
10313
10314else
10315 $as_echo "#define HAVE_MALLOC 0" >>confdefs.h
10316
10317 case " $LIBOBJS " in
10318 *" malloc.$ac_objext "* ) ;;
10319 *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
10320 ;;
10321esac
10322
10323
10324$as_echo "#define malloc rpl_malloc" >>confdefs.h
10325
10326fi
10327
10328
10329for ac_header in stdlib.h
10330do :
10331 ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
10332if test "x$ac_cv_header_stdlib_h" = xyes; then :
10333 cat >>confdefs.h <<_ACEOF
10334#define HAVE_STDLIB_H 1
10335_ACEOF
10336
10337fi
10338
10339done
10340
10341{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5
10342$as_echo_n "checking for GNU libc compatible realloc... " >&6; }
10343if ${ac_cv_func_realloc_0_nonnull+:} false; then :
10344 $as_echo_n "(cached) " >&6
10345else
10346 if test "$cross_compiling" = yes; then :
10347 ac_cv_func_realloc_0_nonnull=no
10348else
10349 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10350/* end confdefs.h. */
10351#if defined STDC_HEADERS || defined HAVE_STDLIB_H
10352# include <stdlib.h>
10353#else
10354char *realloc ();
10355#endif
10356
10357int
10358main ()
10359{
10360return ! realloc (0, 0);
10361 ;
10362 return 0;
10363}
10364_ACEOF
10365if ac_fn_c_try_run "$LINENO"; then :
10366 ac_cv_func_realloc_0_nonnull=yes
10367else
10368 ac_cv_func_realloc_0_nonnull=no
10369fi
10370rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10371 conftest.$ac_objext conftest.beam conftest.$ac_ext
10372fi
10373
10374fi
10375{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5
10376$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; }
10377if test $ac_cv_func_realloc_0_nonnull = yes; then :
10378
10379$as_echo "#define HAVE_REALLOC 1" >>confdefs.h
10380
10381else
10382 $as_echo "#define HAVE_REALLOC 0" >>confdefs.h
10383
10384 case " $LIBOBJS " in
10385 *" realloc.$ac_objext "* ) ;;
10386 *) LIBOBJS="$LIBOBJS realloc.$ac_objext"
10387 ;;
10388esac
10389
10390
10391$as_echo "#define realloc rpl_realloc" >>confdefs.h
10392
10393fi
10394
10395
10396# autoconf doesn't have AC_FUNC_CALLOC so fake it if malloc returns NULL;
10397{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if calloc(0, N) returns non-null" >&5
10398$as_echo_n "checking if calloc(0, N) returns non-null... " >&6; }
10399if test "$cross_compiling" = yes; then :
10400 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming same as malloc" >&5
10401$as_echo "$as_me: WARNING: cross compiling: assuming same as malloc" >&2;}
10402 func_calloc_0_nonnull="$ac_cv_func_malloc_0_nonnull"
10403
10404else
10405 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10406/* end confdefs.h. */
10407 #include <stdlib.h>
10408int
10409main ()
10410{
10411 void *p = calloc(0, 1); exit(p == NULL);
10412
10413 ;
10414 return 0;
10415}
10416_ACEOF
10417if ac_fn_c_try_run "$LINENO"; then :
10418 func_calloc_0_nonnull=yes
10419else
10420 func_calloc_0_nonnull=no
10421fi
10422rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10423 conftest.$ac_objext conftest.beam conftest.$ac_ext
10424fi
10425
10426{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $func_calloc_0_nonnull" >&5
10427$as_echo "$func_calloc_0_nonnull" >&6; }
10428
10429if test "x$func_calloc_0_nonnull" = "xyes"; then
10430
10431$as_echo "#define HAVE_CALLOC 1" >>confdefs.h
10432
10433else
10434
10435$as_echo "#define HAVE_CALLOC 0" >>confdefs.h
10436
10437
10438$as_echo "#define calloc rpl_calloc" >>confdefs.h
10439
10440fi
10441
10442# Check for ALTDIRFUNC glob() extension
10443{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_ALTDIRFUNC support" >&5
10444$as_echo_n "checking for GLOB_ALTDIRFUNC support... " >&6; }
10445cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10446/* end confdefs.h. */
10447
10448 #include <glob.h>
10449 #ifdef GLOB_ALTDIRFUNC
10450 FOUNDIT
10451 #endif
10452
10453_ACEOF
10454if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
10455 $EGREP "FOUNDIT" >/dev/null 2>&1; then :
10456
10457
10458$as_echo "#define GLOB_HAS_ALTDIRFUNC 1" >>confdefs.h
10459
10460 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10461$as_echo "yes" >&6; }
10462
10463else
10464
10465 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10466$as_echo "no" >&6; }
10467
10468
10469fi
10470rm -f conftest*
10471
10472
10473# Check for g.gl_matchc glob() extension
10474{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_matchc field in glob_t" >&5
10475$as_echo_n "checking for gl_matchc field in glob_t... " >&6; }
10476cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10477/* end confdefs.h. */
10478 #include <glob.h>
10479int
10480main ()
10481{
10482 glob_t g; g.gl_matchc = 1;
10483 ;
10484 return 0;
10485}
10486_ACEOF
10487if ac_fn_c_try_compile "$LINENO"; then :
10488
10489
10490$as_echo "#define GLOB_HAS_GL_MATCHC 1" >>confdefs.h
10491
10492 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10493$as_echo "yes" >&6; }
10494
10495else
10496
10497 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10498$as_echo "no" >&6; }
10499
10500fi
10501rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10502
10503# Check for g.gl_statv glob() extension
10504{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_statv and GLOB_KEEPSTAT extensions for glob" >&5
10505$as_echo_n "checking for gl_statv and GLOB_KEEPSTAT extensions for glob... " >&6; }
10506cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10507/* end confdefs.h. */
10508 #include <glob.h>
10509int
10510main ()
10511{
10512
10513#ifndef GLOB_KEEPSTAT
10514#error "glob does not support GLOB_KEEPSTAT extension"
10515#endif
10516glob_t g;
10517g.gl_statv = NULL;
10518
10519 ;
10520 return 0;
10521}
10522_ACEOF
10523if ac_fn_c_try_compile "$LINENO"; then :
10524
10525
10526$as_echo "#define GLOB_HAS_GL_STATV 1" >>confdefs.h
10527
10528 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10529$as_echo "yes" >&6; }
10530
10531else
10532
10533 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10534$as_echo "no" >&6; }
10535
10536
10537fi
10538rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10539
10540ac_fn_c_check_decl "$LINENO" "GLOB_NOMATCH" "ac_cv_have_decl_GLOB_NOMATCH" "#include <glob.h>
10541"
10542if test "x$ac_cv_have_decl_GLOB_NOMATCH" = xyes; then :
10543 ac_have_decl=1
10544else
10545 ac_have_decl=0
10546fi
10547
10548cat >>confdefs.h <<_ACEOF
10549#define HAVE_DECL_GLOB_NOMATCH $ac_have_decl
10550_ACEOF
10551
10552
10553ac_fn_c_check_decl "$LINENO" "VIS_ALL" "ac_cv_have_decl_VIS_ALL" "#include <vis.h>
10554"
10555if test "x$ac_cv_have_decl_VIS_ALL" = xyes; then :
10556
10557else
10558
10559$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
10560
10561fi
10562
10563
10564{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct dirent allocates space for d_name" >&5
10565$as_echo_n "checking whether struct dirent allocates space for d_name... " >&6; }
10566if test "$cross_compiling" = yes; then :
10567
10568 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&5
10569$as_echo "$as_me: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&2;}
10570 $as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h
10571
10572
10573
10574else
10575 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10576/* end confdefs.h. */
10577
10578#include <sys/types.h>
10579#include <dirent.h>
10580#include <stdlib.h>
10581
10582int
10583main ()
10584{
10585
10586 struct dirent d;
10587 exit(sizeof(d.d_name)<=sizeof(char));
10588
10589 ;
10590 return 0;
10591}
10592_ACEOF
10593if ac_fn_c_try_run "$LINENO"; then :
10594 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10595$as_echo "yes" >&6; }
10596else
10597
10598 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10599$as_echo "no" >&6; }
10600
10601$as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h
10602
10603
10604fi
10605rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10606 conftest.$ac_objext conftest.beam conftest.$ac_ext
10607fi
10608
10609
10610{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /proc/pid/fd directory" >&5
10611$as_echo_n "checking for /proc/pid/fd directory... " >&6; }
10612if test -d "/proc/$$/fd" ; then
10613
10614$as_echo "#define HAVE_PROC_PID 1" >>confdefs.h
10615
10616 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10617$as_echo "yes" >&6; }
10618else
10619 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10620$as_echo "no" >&6; }
10621fi
10622
10623# Check whether user wants to use ldns
10624LDNS_MSG="no"
10625
10626# Check whether --with-ldns was given.
10627if test "${with_ldns+set}" = set; then :
10628 withval=$with_ldns;
10629 ldns=""
10630 if test "x$withval" = "xyes" ; then
10631 if test -n "$ac_tool_prefix"; then
10632 # Extract the first word of "${ac_tool_prefix}ldns-config", so it can be a program name with args.
10633set dummy ${ac_tool_prefix}ldns-config; ac_word=$2
10634{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10635$as_echo_n "checking for $ac_word... " >&6; }
10636if ${ac_cv_path_LDNSCONFIG+:} false; then :
10637 $as_echo_n "(cached) " >&6
10638else
10639 case $LDNSCONFIG in
10640 [\\/]* | ?:[\\/]*)
10641 ac_cv_path_LDNSCONFIG="$LDNSCONFIG" # Let the user override the test with a path.
10642 ;;
10643 *)
10644 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10645for as_dir in $PATH
10646do
10647 IFS=$as_save_IFS
10648 test -z "$as_dir" && as_dir=.
10649 for ac_exec_ext in '' $ac_executable_extensions; do
10650 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10651 ac_cv_path_LDNSCONFIG="$as_dir/$ac_word$ac_exec_ext"
10652 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10653 break 2
10654 fi
10655done
10656 done
10657IFS=$as_save_IFS
10658
10659 ;;
10660esac
10661fi
10662LDNSCONFIG=$ac_cv_path_LDNSCONFIG
10663if test -n "$LDNSCONFIG"; then
10664 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDNSCONFIG" >&5
10665$as_echo "$LDNSCONFIG" >&6; }
10666else
10667 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10668$as_echo "no" >&6; }
10669fi
10670
10671
10672fi
10673if test -z "$ac_cv_path_LDNSCONFIG"; then
10674 ac_pt_LDNSCONFIG=$LDNSCONFIG
10675 # Extract the first word of "ldns-config", so it can be a program name with args.
10676set dummy ldns-config; ac_word=$2
10677{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10678$as_echo_n "checking for $ac_word... " >&6; }
10679if ${ac_cv_path_ac_pt_LDNSCONFIG+:} false; then :
10680 $as_echo_n "(cached) " >&6
10681else
10682 case $ac_pt_LDNSCONFIG in
10683 [\\/]* | ?:[\\/]*)
10684 ac_cv_path_ac_pt_LDNSCONFIG="$ac_pt_LDNSCONFIG" # Let the user override the test with a path.
10685 ;;
10686 *)
10687 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10688for as_dir in $PATH
10689do
10690 IFS=$as_save_IFS
10691 test -z "$as_dir" && as_dir=.
10692 for ac_exec_ext in '' $ac_executable_extensions; do
10693 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10694 ac_cv_path_ac_pt_LDNSCONFIG="$as_dir/$ac_word$ac_exec_ext"
10695 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10696 break 2
10697 fi
10698done
10699 done
10700IFS=$as_save_IFS
10701
10702 ;;
10703esac
10704fi
10705ac_pt_LDNSCONFIG=$ac_cv_path_ac_pt_LDNSCONFIG
10706if test -n "$ac_pt_LDNSCONFIG"; then
10707 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_LDNSCONFIG" >&5
10708$as_echo "$ac_pt_LDNSCONFIG" >&6; }
10709else
10710 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10711$as_echo "no" >&6; }
10712fi
10713
10714 if test "x$ac_pt_LDNSCONFIG" = x; then
10715 LDNSCONFIG="no"
10716 else
10717 case $cross_compiling:$ac_tool_warned in
10718yes:)
10719{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10720$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10721ac_tool_warned=yes ;;
10722esac
10723 LDNSCONFIG=$ac_pt_LDNSCONFIG
10724 fi
10725else
10726 LDNSCONFIG="$ac_cv_path_LDNSCONFIG"
10727fi
10728
10729 if test "x$LDNSCONFIG" = "xno"; then
10730 LIBS="-lldns $LIBS"
10731 ldns=yes
10732 else
10733 LIBS="$LIBS `$LDNSCONFIG --libs`"
10734 CPPFLAGS="$CPPFLAGS `$LDNSCONFIG --cflags`"
10735 ldns=yes
10736 fi
10737 elif test "x$withval" != "xno" ; then
10738 CPPFLAGS="$CPPFLAGS -I${withval}/include"
10739 LDFLAGS="$LDFLAGS -L${withval}/lib"
10740 LIBS="-lldns $LIBS"
10741 ldns=yes
10742 fi
10743
10744 # Verify that it works.
10745 if test "x$ldns" = "xyes" ; then
10746
10747$as_echo "#define HAVE_LDNS 1" >>confdefs.h
10748
10749 LDNS_MSG="yes"
10750 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldns support" >&5
10751$as_echo_n "checking for ldns support... " >&6; }
10752 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10753/* end confdefs.h. */
10754
10755#include <stdio.h>
10756#include <stdlib.h>
10757#ifdef HAVE_STDINT_H
10758# include <stdint.h>
10759#endif
10760#include <ldns/ldns.h>
10761int main() { ldns_status status = ldns_verify_trusted(NULL, NULL, NULL, NULL); status=LDNS_STATUS_OK; exit(0); }
10762
10763
10764_ACEOF
10765if ac_fn_c_try_link "$LINENO"; then :
10766 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10767$as_echo "yes" >&6; }
10768else
10769
10770 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10771$as_echo "no" >&6; }
10772 as_fn_error $? "** Incomplete or missing ldns libraries." "$LINENO" 5
10773
10774fi
10775rm -f core conftest.err conftest.$ac_objext \
10776 conftest$ac_exeext conftest.$ac_ext
10777 fi
10778
10779fi
10780
10781
10782# Check whether user wants libedit support
10783LIBEDIT_MSG="no"
10784
10785# Check whether --with-libedit was given.
10786if test "${with_libedit+set}" = set; then :
10787 withval=$with_libedit; if test "x$withval" != "xno" ; then
10788 if test "x$withval" = "xyes" ; then
10789 if test -n "$ac_tool_prefix"; then
10790 # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
10791set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
10792{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10793$as_echo_n "checking for $ac_word... " >&6; }
10794if ${ac_cv_path_PKGCONFIG+:} false; then :
10795 $as_echo_n "(cached) " >&6
10796else
10797 case $PKGCONFIG in
10798 [\\/]* | ?:[\\/]*)
10799 ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
10800 ;;
10801 *)
10802 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10803for as_dir in $PATH
10804do
10805 IFS=$as_save_IFS
10806 test -z "$as_dir" && as_dir=.
10807 for ac_exec_ext in '' $ac_executable_extensions; do
10808 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10809 ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
10810 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10811 break 2
10812 fi
10813done
10814 done
10815IFS=$as_save_IFS
10816
10817 ;;
10818esac
10819fi
10820PKGCONFIG=$ac_cv_path_PKGCONFIG
10821if test -n "$PKGCONFIG"; then
10822 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
10823$as_echo "$PKGCONFIG" >&6; }
10824else
10825 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10826$as_echo "no" >&6; }
10827fi
10828
10829
10830fi
10831if test -z "$ac_cv_path_PKGCONFIG"; then
10832 ac_pt_PKGCONFIG=$PKGCONFIG
10833 # Extract the first word of "pkg-config", so it can be a program name with args.
10834set dummy pkg-config; ac_word=$2
10835{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10836$as_echo_n "checking for $ac_word... " >&6; }
10837if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
10838 $as_echo_n "(cached) " >&6
10839else
10840 case $ac_pt_PKGCONFIG in
10841 [\\/]* | ?:[\\/]*)
10842 ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
10843 ;;
10844 *)
10845 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10846for as_dir in $PATH
10847do
10848 IFS=$as_save_IFS
10849 test -z "$as_dir" && as_dir=.
10850 for ac_exec_ext in '' $ac_executable_extensions; do
10851 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10852 ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
10853 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10854 break 2
10855 fi
10856done
10857 done
10858IFS=$as_save_IFS
10859
10860 ;;
10861esac
10862fi
10863ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
10864if test -n "$ac_pt_PKGCONFIG"; then
10865 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
10866$as_echo "$ac_pt_PKGCONFIG" >&6; }
10867else
10868 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10869$as_echo "no" >&6; }
10870fi
10871
10872 if test "x$ac_pt_PKGCONFIG" = x; then
10873 PKGCONFIG="no"
10874 else
10875 case $cross_compiling:$ac_tool_warned in
10876yes:)
10877{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10878$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10879ac_tool_warned=yes ;;
10880esac
10881 PKGCONFIG=$ac_pt_PKGCONFIG
10882 fi
10883else
10884 PKGCONFIG="$ac_cv_path_PKGCONFIG"
10885fi
10886
10887 if test "x$PKGCONFIG" != "xno"; then
10888 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $PKGCONFIG knows about libedit" >&5
10889$as_echo_n "checking if $PKGCONFIG knows about libedit... " >&6; }
10890 if "$PKGCONFIG" libedit; then
10891 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10892$as_echo "yes" >&6; }
10893 use_pkgconfig_for_libedit=yes
10894 else
10895 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10896$as_echo "no" >&6; }
10897 fi
10898 fi
10899 else
10900 CPPFLAGS="$CPPFLAGS -I${withval}/include"
10901 if test -n "${rpath_opt}"; then
10902 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
10903 else
10904 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
10905 fi
10906 fi
10907 if test "x$use_pkgconfig_for_libedit" = "xyes"; then
10908 LIBEDIT=`$PKGCONFIG --libs libedit`
10909 CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags libedit`"
10910 else
10911 LIBEDIT="-ledit -lcurses"
10912 fi
10913 OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'`
10914 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for el_init in -ledit" >&5
10915$as_echo_n "checking for el_init in -ledit... " >&6; }
10916if ${ac_cv_lib_edit_el_init+:} false; then :
10917 $as_echo_n "(cached) " >&6
10918else
10919 ac_check_lib_save_LIBS=$LIBS
10920LIBS="-ledit $OTHERLIBS
10921 $LIBS"
10922cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10923/* end confdefs.h. */
10924
10925/* Override any GCC internal prototype to avoid an error.
10926 Use char because int might match the return type of a GCC
10927 builtin and then its argument prototype would still apply. */
10928#ifdef __cplusplus
10929extern "C"
10930#endif
10931char el_init ();
10932int
10933main ()
10934{
10935return el_init ();
10936 ;
10937 return 0;
10938}
10939_ACEOF
10940if ac_fn_c_try_link "$LINENO"; then :
10941 ac_cv_lib_edit_el_init=yes
10942else
10943 ac_cv_lib_edit_el_init=no
10944fi
10945rm -f core conftest.err conftest.$ac_objext \
10946 conftest$ac_exeext conftest.$ac_ext
10947LIBS=$ac_check_lib_save_LIBS
10948fi
10949{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_el_init" >&5
10950$as_echo "$ac_cv_lib_edit_el_init" >&6; }
10951if test "x$ac_cv_lib_edit_el_init" = xyes; then :
10952
10953$as_echo "#define USE_LIBEDIT 1" >>confdefs.h
10954
10955 LIBEDIT_MSG="yes"
10956
10957
10958else
10959 as_fn_error $? "libedit not found" "$LINENO" 5
10960fi
10961
10962 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libedit version is compatible" >&5
10963$as_echo_n "checking if libedit version is compatible... " >&6; }
10964 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10965/* end confdefs.h. */
10966
10967#include <histedit.h>
10968#include <stdlib.h>
10969
10970int
10971main ()
10972{
10973
10974 int i = H_SETSIZE;
10975 el_init("", NULL, NULL, NULL);
10976 exit(0);
10977
10978 ;
10979 return 0;
10980}
10981_ACEOF
10982if ac_fn_c_try_compile "$LINENO"; then :
10983 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10984$as_echo "yes" >&6; }
10985else
10986 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10987$as_echo "no" >&6; }
10988 as_fn_error $? "libedit version is not compatible" "$LINENO" 5
10989
10990fi
10991rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10992 fi
10993
10994fi
10995
10996
10997AUDIT_MODULE=none
10998
10999# Check whether --with-audit was given.
11000if test "${with_audit+set}" = set; then :
11001 withval=$with_audit;
11002 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported audit module" >&5
11003$as_echo_n "checking for supported audit module... " >&6; }
11004 case "$withval" in
11005 bsm)
11006 { $as_echo "$as_me:${as_lineno-$LINENO}: result: bsm" >&5
11007$as_echo "bsm" >&6; }
11008 AUDIT_MODULE=bsm
11009 for ac_header in bsm/audit.h
11010do :
11011 ac_fn_c_check_header_compile "$LINENO" "bsm/audit.h" "ac_cv_header_bsm_audit_h" "
11012#ifdef HAVE_TIME_H
11013# include <time.h>
11014#endif
11015
11016
11017"
11018if test "x$ac_cv_header_bsm_audit_h" = xyes; then :
11019 cat >>confdefs.h <<_ACEOF
11020#define HAVE_BSM_AUDIT_H 1
11021_ACEOF
11022
11023else
11024 as_fn_error $? "BSM enabled and bsm/audit.h not found" "$LINENO" 5
11025fi
11026
11027done
11028
11029 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaudit in -lbsm" >&5
11030$as_echo_n "checking for getaudit in -lbsm... " >&6; }
11031if ${ac_cv_lib_bsm_getaudit+:} false; then :
11032 $as_echo_n "(cached) " >&6
11033else
11034 ac_check_lib_save_LIBS=$LIBS
11035LIBS="-lbsm $LIBS"
11036cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11037/* end confdefs.h. */
11038
11039/* Override any GCC internal prototype to avoid an error.
11040 Use char because int might match the return type of a GCC
11041 builtin and then its argument prototype would still apply. */
11042#ifdef __cplusplus
11043extern "C"
11044#endif
11045char getaudit ();
11046int
11047main ()
11048{
11049return getaudit ();
11050 ;
11051 return 0;
11052}
11053_ACEOF
11054if ac_fn_c_try_link "$LINENO"; then :
11055 ac_cv_lib_bsm_getaudit=yes
11056else
11057 ac_cv_lib_bsm_getaudit=no
11058fi
11059rm -f core conftest.err conftest.$ac_objext \
11060 conftest$ac_exeext conftest.$ac_ext
11061LIBS=$ac_check_lib_save_LIBS
11062fi
11063{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsm_getaudit" >&5
11064$as_echo "$ac_cv_lib_bsm_getaudit" >&6; }
11065if test "x$ac_cv_lib_bsm_getaudit" = xyes; then :
11066 cat >>confdefs.h <<_ACEOF
11067#define HAVE_LIBBSM 1
11068_ACEOF
11069
11070 LIBS="-lbsm $LIBS"
11071
11072else
11073 as_fn_error $? "BSM enabled and required library not found" "$LINENO" 5
11074fi
11075
11076 for ac_func in getaudit
11077do :
11078 ac_fn_c_check_func "$LINENO" "getaudit" "ac_cv_func_getaudit"
11079if test "x$ac_cv_func_getaudit" = xyes; then :
11080 cat >>confdefs.h <<_ACEOF
11081#define HAVE_GETAUDIT 1
11082_ACEOF
11083
11084else
11085 as_fn_error $? "BSM enabled and required function not found" "$LINENO" 5
11086fi
11087done
11088
11089 # These are optional
11090 for ac_func in getaudit_addr aug_get_machine
11091do :
11092 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11093ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11094if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11095 cat >>confdefs.h <<_ACEOF
11096#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11097_ACEOF
11098
11099fi
11100done
11101
11102
11103$as_echo "#define USE_BSM_AUDIT 1" >>confdefs.h
11104
11105 if test "$sol2ver" -ge 11; then
11106 SSHDLIBS="$SSHDLIBS -lscf"
11107
11108$as_echo "#define BROKEN_BSM_API 1" >>confdefs.h
11109
11110 fi
11111 ;;
11112 linux)
11113 { $as_echo "$as_me:${as_lineno-$LINENO}: result: linux" >&5
11114$as_echo "linux" >&6; }
11115 AUDIT_MODULE=linux
11116 for ac_header in libaudit.h
11117do :
11118 ac_fn_c_check_header_mongrel "$LINENO" "libaudit.h" "ac_cv_header_libaudit_h" "$ac_includes_default"
11119if test "x$ac_cv_header_libaudit_h" = xyes; then :
11120 cat >>confdefs.h <<_ACEOF
11121#define HAVE_LIBAUDIT_H 1
11122_ACEOF
11123
11124fi
11125
11126done
11127
11128 SSHDLIBS="$SSHDLIBS -laudit"
11129
11130$as_echo "#define USE_LINUX_AUDIT 1" >>confdefs.h
11131
11132 ;;
11133 debug)
11134 AUDIT_MODULE=debug
11135 { $as_echo "$as_me:${as_lineno-$LINENO}: result: debug" >&5
11136$as_echo "debug" >&6; }
11137
11138$as_echo "#define SSH_AUDIT_EVENTS 1" >>confdefs.h
11139
11140 ;;
11141 no)
11142 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11143$as_echo "no" >&6; }
11144 ;;
11145 *)
11146 as_fn_error $? "Unknown audit module $withval" "$LINENO" 5
11147 ;;
11148 esac
11149
11150fi
11151
11152
11153
11154# Check whether --with-pie was given.
11155if test "${with_pie+set}" = set; then :
11156 withval=$with_pie;
11157 if test "x$withval" = "xno"; then
11158 use_pie=no
11159 fi
11160 if test "x$withval" = "xyes"; then
11161 use_pie=yes
11162 fi
11163
11164
11165fi
11166
11167if test "x$use_pie" = "x"; then
11168 use_pie=no
11169fi
11170if test "x$use_toolchain_hardening" != "x1" && test "x$use_pie" = "xauto"; then
11171 # Turn off automatic PIE when toolchain hardening is off.
11172 use_pie=no
11173fi
11174if test "x$use_pie" = "xauto"; then
11175 # Automatic PIE requires gcc >= 4.x
11176 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc >= 4.x" >&5
11177$as_echo_n "checking for gcc >= 4.x... " >&6; }
11178 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11179/* end confdefs.h. */
11180
11181#if !defined(__GNUC__) || __GNUC__ < 4
11182#error gcc is too old
11183#endif
11184
11185_ACEOF
11186if ac_fn_c_try_compile "$LINENO"; then :
11187 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11188$as_echo "yes" >&6; }
11189else
11190 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11191$as_echo "no" >&6; }
11192 use_pie=no
11193
11194fi
11195rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
11196fi
11197if test "x$use_pie" != "xno"; then
11198 SAVED_CFLAGS="$CFLAGS"
11199 SAVED_LDFLAGS="$LDFLAGS"
11200 {
11201 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fPIE" >&5
11202$as_echo_n "checking if $CC supports compile flag -fPIE... " >&6; }
11203 saved_CFLAGS="$CFLAGS"
11204 CFLAGS="$CFLAGS $WERROR -fPIE"
11205 _define_flag=""
11206 test "x$_define_flag" = "x" && _define_flag="-fPIE"
11207 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11208/* end confdefs.h. */
11209
11210#include <stdlib.h>
11211#include <stdio.h>
11212int main(int argc, char **argv) {
11213 (void)argv;
11214 /* Some math to catch -ftrapv problems in the toolchain */
11215 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
11216 float l = i * 2.1;
11217 double m = l / 0.5;
11218 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
11219 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
11220 /*
11221 * Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does
11222 * not understand comments and we don't use the "fallthrough" attribute
11223 * that it's looking for.
11224 */
11225 switch(i){
11226 case 0: j += i;
11227 /* FALLTHROUGH */
11228 default: j += k;
11229 }
11230 exit(0);
11231}
11232
11233_ACEOF
11234if ac_fn_c_try_compile "$LINENO"; then :
11235
11236if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
11237then
11238 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11239$as_echo "no" >&6; }
11240 CFLAGS="$saved_CFLAGS"
11241else
11242 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11243$as_echo "yes" >&6; }
11244 CFLAGS="$saved_CFLAGS $_define_flag"
11245fi
11246else
11247 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11248$as_echo "no" >&6; }
11249 CFLAGS="$saved_CFLAGS"
11250
11251fi
11252rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
11253}
11254 {
11255 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -pie" >&5
11256$as_echo_n "checking if $LD supports link flag -pie... " >&6; }
11257 saved_LDFLAGS="$LDFLAGS"
11258 LDFLAGS="$LDFLAGS $WERROR -pie"
11259 _define_flag=""
11260 test "x$_define_flag" = "x" && _define_flag="-pie"
11261 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11262/* end confdefs.h. */
11263
11264#include <stdlib.h>
11265#include <stdio.h>
11266int main(int argc, char **argv) {
11267 (void)argv;
11268 /* Some math to catch -ftrapv problems in the toolchain */
11269 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
11270 float l = i * 2.1;
11271 double m = l / 0.5;
11272 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
11273 long long p = n * o;
11274 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
11275 exit(0);
11276}
11277
11278_ACEOF
11279if ac_fn_c_try_link "$LINENO"; then :
11280
11281if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
11282then
11283 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11284$as_echo "no" >&6; }
11285 LDFLAGS="$saved_LDFLAGS"
11286else
11287 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11288$as_echo "yes" >&6; }
11289 LDFLAGS="$saved_LDFLAGS $_define_flag"
11290fi
11291else
11292 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11293$as_echo "no" >&6; }
11294 LDFLAGS="$saved_LDFLAGS"
11295
11296fi
11297rm -f core conftest.err conftest.$ac_objext \
11298 conftest$ac_exeext conftest.$ac_ext
11299}
11300 # We use both -fPIE and -pie or neither.
11301 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether both -fPIE and -pie are supported" >&5
11302$as_echo_n "checking whether both -fPIE and -pie are supported... " >&6; }
11303 if echo "x $CFLAGS" | grep ' -fPIE' >/dev/null 2>&1 && \
11304 echo "x $LDFLAGS" | grep ' -pie' >/dev/null 2>&1 ; then
11305 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11306$as_echo "yes" >&6; }
11307 else
11308 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11309$as_echo "no" >&6; }
11310 CFLAGS="$SAVED_CFLAGS"
11311 LDFLAGS="$SAVED_LDFLAGS"
11312 fi
11313fi
11314
11315{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -fPIC is accepted" >&5
11316$as_echo_n "checking whether -fPIC is accepted... " >&6; }
11317SAVED_CFLAGS="$CFLAGS"
11318CFLAGS="$CFLAGS -fPIC"
11319cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11320/* end confdefs.h. */
11321 #include <stdlib.h>
11322int
11323main ()
11324{
11325 exit(0);
11326 ;
11327 return 0;
11328}
11329_ACEOF
11330if ac_fn_c_try_compile "$LINENO"; then :
11331 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11332$as_echo "yes" >&6; }
11333 PICFLAG="-fPIC";
11334else
11335 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11336$as_echo "no" >&6; }
11337 PICFLAG="";
11338fi
11339rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
11340CFLAGS="$SAVED_CFLAGS"
11341
11342
11343for ac_func in \
11344 Blowfish_initstate \
11345 Blowfish_expandstate \
11346 Blowfish_expand0state \
11347 Blowfish_stream2word \
11348 SHA256Update \
11349 SHA384Update \
11350 SHA512Update \
11351 asprintf \
11352 b64_ntop \
11353 __b64_ntop \
11354 b64_pton \
11355 __b64_pton \
11356 bcopy \
11357 bcrypt_pbkdf \
11358 bindresvport_sa \
11359 blf_enc \
11360 bzero \
11361 cap_rights_limit \
11362 clock \
11363 closefrom \
11364 dirfd \
11365 endgrent \
11366 err \
11367 errx \
11368 explicit_bzero \
11369 fchmod \
11370 fchmodat \
11371 fchown \
11372 fchownat \
11373 flock \
11374 fnmatch \
11375 freeaddrinfo \
11376 freezero \
11377 fstatfs \
11378 fstatvfs \
11379 futimes \
11380 getaddrinfo \
11381 getcwd \
11382 getgrouplist \
11383 getline \
11384 getnameinfo \
11385 getopt \
11386 getpagesize \
11387 getpeereid \
11388 getpeerucred \
11389 getpgid \
11390 _getpty \
11391 getrlimit \
11392 getrandom \
11393 getsid \
11394 getttyent \
11395 glob \
11396 group_from_gid \
11397 inet_aton \
11398 inet_ntoa \
11399 inet_ntop \
11400 innetgr \
11401 llabs \
11402 localtime_r \
11403 login_getcapbool \
11404 md5_crypt \
11405 memmem \
11406 memmove \
11407 memset_s \
11408 mkdtemp \
11409 ngetaddrinfo \
11410 nsleep \
11411 ogetaddrinfo \
11412 openlog_r \
11413 pledge \
11414 poll \
11415 prctl \
11416 pstat \
11417 raise \
11418 readpassphrase \
11419 reallocarray \
11420 realpath \
11421 recvmsg \
11422 recallocarray \
11423 rresvport_af \
11424 sendmsg \
11425 setdtablesize \
11426 setegid \
11427 setenv \
11428 seteuid \
11429 setgroupent \
11430 setgroups \
11431 setlinebuf \
11432 setlogin \
11433 setpassent\
11434 setpcred \
11435 setproctitle \
11436 setregid \
11437 setreuid \
11438 setrlimit \
11439 setsid \
11440 setvbuf \
11441 sigaction \
11442 sigvec \
11443 snprintf \
11444 socketpair \
11445 statfs \
11446 statvfs \
11447 strcasestr \
11448 strdup \
11449 strerror \
11450 strlcat \
11451 strlcpy \
11452 strmode \
11453 strndup \
11454 strnlen \
11455 strnvis \
11456 strptime \
11457 strsignal \
11458 strtonum \
11459 strtoll \
11460 strtoul \
11461 strtoull \
11462 swap32 \
11463 sysconf \
11464 tcgetpgrp \
11465 timingsafe_bcmp \
11466 truncate \
11467 unsetenv \
11468 updwtmpx \
11469 utimensat \
11470 user_from_uid \
11471 usleep \
11472 vasprintf \
11473 vsnprintf \
11474 waitpid \
11475 warn \
11476
11477do :
11478 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11479ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11480if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11481 cat >>confdefs.h <<_ACEOF
11482#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11483_ACEOF
11484
11485fi
11486done
11487
11488
11489ac_fn_c_check_decl "$LINENO" "bzero" "ac_cv_have_decl_bzero" "$ac_includes_default"
11490if test "x$ac_cv_have_decl_bzero" = xyes; then :
11491 ac_have_decl=1
11492else
11493 ac_have_decl=0
11494fi
11495
11496cat >>confdefs.h <<_ACEOF
11497#define HAVE_DECL_BZERO $ac_have_decl
11498_ACEOF
11499ac_fn_c_check_decl "$LINENO" "memmem" "ac_cv_have_decl_memmem" "$ac_includes_default"
11500if test "x$ac_cv_have_decl_memmem" = xyes; then :
11501 ac_have_decl=1
11502else
11503 ac_have_decl=0
11504fi
11505
11506cat >>confdefs.h <<_ACEOF
11507#define HAVE_DECL_MEMMEM $ac_have_decl
11508_ACEOF
11509
11510
11511for ac_func in mblen mbtowc nl_langinfo wcwidth
11512do :
11513 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11514ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11515if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11516 cat >>confdefs.h <<_ACEOF
11517#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11518_ACEOF
11519
11520fi
11521done
11522
11523
11524TEST_SSH_UTF8=${TEST_SSH_UTF8:=yes}
11525{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for utf8 locale support" >&5
11526$as_echo_n "checking for utf8 locale support... " >&6; }
11527if test "$cross_compiling" = yes; then :
11528 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
11529$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
11530
11531else
11532 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11533/* end confdefs.h. */
11534
11535#include <locale.h>
11536#include <stdlib.h>
11537
11538int
11539main ()
11540{
11541
11542 char *loc = setlocale(LC_CTYPE, "en_US.UTF-8");
11543 if (loc != NULL)
11544 exit(0);
11545 exit(1);
11546
11547 ;
11548 return 0;
11549}
11550_ACEOF
11551if ac_fn_c_try_run "$LINENO"; then :
11552 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11553$as_echo "yes" >&6; }
11554else
11555 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11556$as_echo "no" >&6; }
11557 TEST_SSH_UTF8=no
11558fi
11559rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11560 conftest.$ac_objext conftest.beam conftest.$ac_ext
11561fi
11562
11563
11564cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11565/* end confdefs.h. */
11566 #include <ctype.h>
11567int
11568main ()
11569{
11570 return (isblank('a'));
11571 ;
11572 return 0;
11573}
11574_ACEOF
11575if ac_fn_c_try_link "$LINENO"; then :
11576
11577$as_echo "#define HAVE_ISBLANK 1" >>confdefs.h
11578
11579
11580fi
11581rm -f core conftest.err conftest.$ac_objext \
11582 conftest$ac_exeext conftest.$ac_ext
11583
11584disable_pkcs11=
11585# Check whether --enable-pkcs11 was given.
11586if test "${enable_pkcs11+set}" = set; then :
11587 enableval=$enable_pkcs11;
11588 if test "x$enableval" = "xno" ; then
11589 disable_pkcs11=1
11590 fi
11591
11592
11593fi
11594
11595
11596disable_sk=
11597# Check whether --enable-security-key was given.
11598if test "${enable_security_key+set}" = set; then :
11599 enableval=$enable_security_key;
11600 if test "x$enableval" = "xno" ; then
11601 disable_sk=1
11602 fi
11603
11604
11605fi
11606
11607enable_sk_internal=
11608
11609# Check whether --with-security-key-builtin was given.
11610if test "${with_security_key_builtin+set}" = set; then :
11611 withval=$with_security_key_builtin;
11612 if test "x$withval" != "xno" ; then
11613 enable_sk_internal=yes
11614 fi
11615
11616
11617fi
11618
11619test "x$disable_sk" != "x" && enable_sk_internal=""
11620
11621{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
11622$as_echo_n "checking for library containing dlopen... " >&6; }
11623if ${ac_cv_search_dlopen+:} false; then :
11624 $as_echo_n "(cached) " >&6
11625else
11626 ac_func_search_save_LIBS=$LIBS
11627cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11628/* end confdefs.h. */
11629
11630/* Override any GCC internal prototype to avoid an error.
11631 Use char because int might match the return type of a GCC
11632 builtin and then its argument prototype would still apply. */
11633#ifdef __cplusplus
11634extern "C"
11635#endif
11636char dlopen ();
11637int
11638main ()
11639{
11640return dlopen ();
11641 ;
11642 return 0;
11643}
11644_ACEOF
11645for ac_lib in '' dl; do
11646 if test -z "$ac_lib"; then
11647 ac_res="none required"
11648 else
11649 ac_res=-l$ac_lib
11650 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11651 fi
11652 if ac_fn_c_try_link "$LINENO"; then :
11653 ac_cv_search_dlopen=$ac_res
11654fi
11655rm -f core conftest.err conftest.$ac_objext \
11656 conftest$ac_exeext
11657 if ${ac_cv_search_dlopen+:} false; then :
11658 break
11659fi
11660done
11661if ${ac_cv_search_dlopen+:} false; then :
11662
11663else
11664 ac_cv_search_dlopen=no
11665fi
11666rm conftest.$ac_ext
11667LIBS=$ac_func_search_save_LIBS
11668fi
11669{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
11670$as_echo "$ac_cv_search_dlopen" >&6; }
11671ac_res=$ac_cv_search_dlopen
11672if test "$ac_res" != no; then :
11673 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11674
11675fi
11676
11677for ac_func in dlopen
11678do :
11679 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
11680if test "x$ac_cv_func_dlopen" = xyes; then :
11681 cat >>confdefs.h <<_ACEOF
11682#define HAVE_DLOPEN 1
11683_ACEOF
11684
11685fi
11686done
11687
11688ac_fn_c_check_decl "$LINENO" "RTLD_NOW" "ac_cv_have_decl_RTLD_NOW" "#include <dlfcn.h>
11689"
11690if test "x$ac_cv_have_decl_RTLD_NOW" = xyes; then :
11691
11692fi
11693
11694
11695# IRIX has a const char return value for gai_strerror()
11696for ac_func in gai_strerror
11697do :
11698 ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror"
11699if test "x$ac_cv_func_gai_strerror" = xyes; then :
11700 cat >>confdefs.h <<_ACEOF
11701#define HAVE_GAI_STRERROR 1
11702_ACEOF
11703
11704 $as_echo "#define HAVE_GAI_STRERROR 1" >>confdefs.h
11705
11706 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11707/* end confdefs.h. */
11708
11709#include <sys/types.h>
11710#include <sys/socket.h>
11711#include <netdb.h>
11712
11713const char *gai_strerror(int);
11714
11715int
11716main ()
11717{
11718
11719 char *str;
11720 str = gai_strerror(0);
11721
11722 ;
11723 return 0;
11724}
11725_ACEOF
11726if ac_fn_c_try_compile "$LINENO"; then :
11727
11728
11729$as_echo "#define HAVE_CONST_GAI_STRERROR_PROTO 1" >>confdefs.h
11730
11731fi
11732rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
11733fi
11734done
11735
11736
11737{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5
11738$as_echo_n "checking for library containing nanosleep... " >&6; }
11739if ${ac_cv_search_nanosleep+:} false; then :
11740 $as_echo_n "(cached) " >&6
11741else
11742 ac_func_search_save_LIBS=$LIBS
11743cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11744/* end confdefs.h. */
11745
11746/* Override any GCC internal prototype to avoid an error.
11747 Use char because int might match the return type of a GCC
11748 builtin and then its argument prototype would still apply. */
11749#ifdef __cplusplus
11750extern "C"
11751#endif
11752char nanosleep ();
11753int
11754main ()
11755{
11756return nanosleep ();
11757 ;
11758 return 0;
11759}
11760_ACEOF
11761for ac_lib in '' rt posix4; do
11762 if test -z "$ac_lib"; then
11763 ac_res="none required"
11764 else
11765 ac_res=-l$ac_lib
11766 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11767 fi
11768 if ac_fn_c_try_link "$LINENO"; then :
11769 ac_cv_search_nanosleep=$ac_res
11770fi
11771rm -f core conftest.err conftest.$ac_objext \
11772 conftest$ac_exeext
11773 if ${ac_cv_search_nanosleep+:} false; then :
11774 break
11775fi
11776done
11777if ${ac_cv_search_nanosleep+:} false; then :
11778
11779else
11780 ac_cv_search_nanosleep=no
11781fi
11782rm conftest.$ac_ext
11783LIBS=$ac_func_search_save_LIBS
11784fi
11785{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5
11786$as_echo "$ac_cv_search_nanosleep" >&6; }
11787ac_res=$ac_cv_search_nanosleep
11788if test "$ac_res" != no; then :
11789 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11790
11791$as_echo "#define HAVE_NANOSLEEP 1" >>confdefs.h
11792
11793fi
11794
11795
11796{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
11797$as_echo_n "checking for library containing clock_gettime... " >&6; }
11798if ${ac_cv_search_clock_gettime+:} false; then :
11799 $as_echo_n "(cached) " >&6
11800else
11801 ac_func_search_save_LIBS=$LIBS
11802cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11803/* end confdefs.h. */
11804
11805/* Override any GCC internal prototype to avoid an error.
11806 Use char because int might match the return type of a GCC
11807 builtin and then its argument prototype would still apply. */
11808#ifdef __cplusplus
11809extern "C"
11810#endif
11811char clock_gettime ();
11812int
11813main ()
11814{
11815return clock_gettime ();
11816 ;
11817 return 0;
11818}
11819_ACEOF
11820for ac_lib in '' rt; do
11821 if test -z "$ac_lib"; then
11822 ac_res="none required"
11823 else
11824 ac_res=-l$ac_lib
11825 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11826 fi
11827 if ac_fn_c_try_link "$LINENO"; then :
11828 ac_cv_search_clock_gettime=$ac_res
11829fi
11830rm -f core conftest.err conftest.$ac_objext \
11831 conftest$ac_exeext
11832 if ${ac_cv_search_clock_gettime+:} false; then :
11833 break
11834fi
11835done
11836if ${ac_cv_search_clock_gettime+:} false; then :
11837
11838else
11839 ac_cv_search_clock_gettime=no
11840fi
11841rm conftest.$ac_ext
11842LIBS=$ac_func_search_save_LIBS
11843fi
11844{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
11845$as_echo "$ac_cv_search_clock_gettime" >&6; }
11846ac_res=$ac_cv_search_clock_gettime
11847if test "$ac_res" != no; then :
11848 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11849
11850$as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
11851
11852fi
11853
11854
11855ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" " #include <time.h>
11856
11857"
11858if test "x$ac_cv_have_decl_localtime_r" = xyes; then :
11859
11860else
11861 saved_CPPFLAGS="$CFLAGS"
11862 CPPFLAGS="$CPPFLAGS -D_REENTRANT"
11863 unset ac_cv_have_decl_localtime_r
11864 ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" " #include <time.h>
11865
11866"
11867if test "x$ac_cv_have_decl_localtime_r" = xyes; then :
11868
11869else
11870 CPPFLAGS="$saved_CPPFLAGS"
11871fi
11872
11873
11874fi
11875
11876
11877ac_fn_c_check_decl "$LINENO" "strsep" "ac_cv_have_decl_strsep" "
11878#ifdef HAVE_STRING_H
11879# include <string.h>
11880#endif
11881
11882"
11883if test "x$ac_cv_have_decl_strsep" = xyes; then :
11884 for ac_func in strsep
11885do :
11886 ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep"
11887if test "x$ac_cv_func_strsep" = xyes; then :
11888 cat >>confdefs.h <<_ACEOF
11889#define HAVE_STRSEP 1
11890_ACEOF
11891
11892fi
11893done
11894
11895fi
11896
11897
11898ac_fn_c_check_decl "$LINENO" "tcsendbreak" "ac_cv_have_decl_tcsendbreak" "#include <termios.h>
11899
11900"
11901if test "x$ac_cv_have_decl_tcsendbreak" = xyes; then :
11902 $as_echo "#define HAVE_TCSENDBREAK 1" >>confdefs.h
11903
11904else
11905 for ac_func in tcsendbreak
11906do :
11907 ac_fn_c_check_func "$LINENO" "tcsendbreak" "ac_cv_func_tcsendbreak"
11908if test "x$ac_cv_func_tcsendbreak" = xyes; then :
11909 cat >>confdefs.h <<_ACEOF
11910#define HAVE_TCSENDBREAK 1
11911_ACEOF
11912
11913fi
11914done
11915
11916fi
11917
11918
11919ac_fn_c_check_decl "$LINENO" "h_errno" "ac_cv_have_decl_h_errno" "#include <netdb.h>
11920"
11921if test "x$ac_cv_have_decl_h_errno" = xyes; then :
11922 ac_have_decl=1
11923else
11924 ac_have_decl=0
11925fi
11926
11927cat >>confdefs.h <<_ACEOF
11928#define HAVE_DECL_H_ERRNO $ac_have_decl
11929_ACEOF
11930
11931
11932ac_fn_c_check_decl "$LINENO" "SHUT_RD" "ac_cv_have_decl_SHUT_RD" "
11933#include <sys/types.h>
11934#include <sys/socket.h>
11935#include <unistd.h>
11936
11937"
11938if test "x$ac_cv_have_decl_SHUT_RD" = xyes; then :
11939 ac_have_decl=1
11940else
11941 ac_have_decl=0
11942fi
11943
11944cat >>confdefs.h <<_ACEOF
11945#define HAVE_DECL_SHUT_RD $ac_have_decl
11946_ACEOF
11947ac_fn_c_check_decl "$LINENO" "getpeereid" "ac_cv_have_decl_getpeereid" "
11948#include <sys/types.h>
11949#include <sys/socket.h>
11950#include <unistd.h>
11951
11952"
11953if test "x$ac_cv_have_decl_getpeereid" = xyes; then :
11954 ac_have_decl=1
11955else
11956 ac_have_decl=0
11957fi
11958
11959cat >>confdefs.h <<_ACEOF
11960#define HAVE_DECL_GETPEEREID $ac_have_decl
11961_ACEOF
11962
11963
11964ac_fn_c_check_decl "$LINENO" "O_NONBLOCK" "ac_cv_have_decl_O_NONBLOCK" "
11965#include <sys/types.h>
11966#ifdef HAVE_SYS_STAT_H
11967# include <sys/stat.h>
11968#endif
11969#ifdef HAVE_FCNTL_H
11970# include <fcntl.h>
11971#endif
11972
11973"
11974if test "x$ac_cv_have_decl_O_NONBLOCK" = xyes; then :
11975 ac_have_decl=1
11976else
11977 ac_have_decl=0
11978fi
11979
11980cat >>confdefs.h <<_ACEOF
11981#define HAVE_DECL_O_NONBLOCK $ac_have_decl
11982_ACEOF
11983
11984
11985ac_fn_c_check_decl "$LINENO" "readv" "ac_cv_have_decl_readv" "
11986#include <sys/types.h>
11987#include <sys/uio.h>
11988#include <unistd.h>
11989
11990"
11991if test "x$ac_cv_have_decl_readv" = xyes; then :
11992 ac_have_decl=1
11993else
11994 ac_have_decl=0
11995fi
11996
11997cat >>confdefs.h <<_ACEOF
11998#define HAVE_DECL_READV $ac_have_decl
11999_ACEOF
12000ac_fn_c_check_decl "$LINENO" "writev" "ac_cv_have_decl_writev" "
12001#include <sys/types.h>
12002#include <sys/uio.h>
12003#include <unistd.h>
12004
12005"
12006if test "x$ac_cv_have_decl_writev" = xyes; then :
12007 ac_have_decl=1
12008else
12009 ac_have_decl=0
12010fi
12011
12012cat >>confdefs.h <<_ACEOF
12013#define HAVE_DECL_WRITEV $ac_have_decl
12014_ACEOF
12015
12016
12017ac_fn_c_check_decl "$LINENO" "MAXSYMLINKS" "ac_cv_have_decl_MAXSYMLINKS" "
12018#include <sys/param.h>
12019
12020"
12021if test "x$ac_cv_have_decl_MAXSYMLINKS" = xyes; then :
12022 ac_have_decl=1
12023else
12024 ac_have_decl=0
12025fi
12026
12027cat >>confdefs.h <<_ACEOF
12028#define HAVE_DECL_MAXSYMLINKS $ac_have_decl
12029_ACEOF
12030
12031
12032ac_fn_c_check_decl "$LINENO" "offsetof" "ac_cv_have_decl_offsetof" "
12033#include <stddef.h>
12034
12035"
12036if test "x$ac_cv_have_decl_offsetof" = xyes; then :
12037 ac_have_decl=1
12038else
12039 ac_have_decl=0
12040fi
12041
12042cat >>confdefs.h <<_ACEOF
12043#define HAVE_DECL_OFFSETOF $ac_have_decl
12044_ACEOF
12045
12046
12047# extra bits for select(2)
12048ac_fn_c_check_decl "$LINENO" "howmany" "ac_cv_have_decl_howmany" "
12049#include <sys/param.h>
12050#include <sys/types.h>
12051#ifdef HAVE_SYS_SYSMACROS_H
12052#include <sys/sysmacros.h>
12053#endif
12054#ifdef HAVE_SYS_SELECT_H
12055#include <sys/select.h>
12056#endif
12057#ifdef HAVE_SYS_TIME_H
12058#include <sys/time.h>
12059#endif
12060#ifdef HAVE_UNISTD_H
12061#include <unistd.h>
12062#endif
12063
12064"
12065if test "x$ac_cv_have_decl_howmany" = xyes; then :
12066 ac_have_decl=1
12067else
12068 ac_have_decl=0
12069fi
12070
12071cat >>confdefs.h <<_ACEOF
12072#define HAVE_DECL_HOWMANY $ac_have_decl
12073_ACEOF
12074ac_fn_c_check_decl "$LINENO" "NFDBITS" "ac_cv_have_decl_NFDBITS" "
12075#include <sys/param.h>
12076#include <sys/types.h>
12077#ifdef HAVE_SYS_SYSMACROS_H
12078#include <sys/sysmacros.h>
12079#endif
12080#ifdef HAVE_SYS_SELECT_H
12081#include <sys/select.h>
12082#endif
12083#ifdef HAVE_SYS_TIME_H
12084#include <sys/time.h>
12085#endif
12086#ifdef HAVE_UNISTD_H
12087#include <unistd.h>
12088#endif
12089
12090"
12091if test "x$ac_cv_have_decl_NFDBITS" = xyes; then :
12092 ac_have_decl=1
12093else
12094 ac_have_decl=0
12095fi
12096
12097cat >>confdefs.h <<_ACEOF
12098#define HAVE_DECL_NFDBITS $ac_have_decl
12099_ACEOF
12100
12101ac_fn_c_check_type "$LINENO" "fd_mask" "ac_cv_type_fd_mask" "
12102#include <sys/param.h>
12103#include <sys/types.h>
12104#ifdef HAVE_SYS_SELECT_H
12105#include <sys/select.h>
12106#endif
12107#ifdef HAVE_SYS_TIME_H
12108#include <sys/time.h>
12109#endif
12110#ifdef HAVE_UNISTD_H
12111#include <unistd.h>
12112#endif
12113
12114"
12115if test "x$ac_cv_type_fd_mask" = xyes; then :
12116
12117cat >>confdefs.h <<_ACEOF
12118#define HAVE_FD_MASK 1
12119_ACEOF
12120
12121
12122fi
12123
12124
12125for ac_func in setresuid
12126do :
12127 ac_fn_c_check_func "$LINENO" "setresuid" "ac_cv_func_setresuid"
12128if test "x$ac_cv_func_setresuid" = xyes; then :
12129 cat >>confdefs.h <<_ACEOF
12130#define HAVE_SETRESUID 1
12131_ACEOF
12132
12133 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresuid seems to work" >&5
12134$as_echo_n "checking if setresuid seems to work... " >&6; }
12135 if test "$cross_compiling" = yes; then :
12136 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5
12137$as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;}
12138
12139else
12140 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12141/* end confdefs.h. */
12142
12143#include <stdlib.h>
12144#include <errno.h>
12145
12146int
12147main ()
12148{
12149
12150 errno=0;
12151 setresuid(0,0,0);
12152 if (errno==ENOSYS)
12153 exit(1);
12154 else
12155 exit(0);
12156
12157 ;
12158 return 0;
12159}
12160_ACEOF
12161if ac_fn_c_try_run "$LINENO"; then :
12162 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12163$as_echo "yes" >&6; }
12164else
12165
12166$as_echo "#define BROKEN_SETRESUID 1" >>confdefs.h
12167
12168 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5
12169$as_echo "not implemented" >&6; }
12170fi
12171rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12172 conftest.$ac_objext conftest.beam conftest.$ac_ext
12173fi
12174
12175
12176fi
12177done
12178
12179
12180for ac_func in setresgid
12181do :
12182 ac_fn_c_check_func "$LINENO" "setresgid" "ac_cv_func_setresgid"
12183if test "x$ac_cv_func_setresgid" = xyes; then :
12184 cat >>confdefs.h <<_ACEOF
12185#define HAVE_SETRESGID 1
12186_ACEOF
12187
12188 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresgid seems to work" >&5
12189$as_echo_n "checking if setresgid seems to work... " >&6; }
12190 if test "$cross_compiling" = yes; then :
12191 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5
12192$as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;}
12193
12194else
12195 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12196/* end confdefs.h. */
12197
12198#include <stdlib.h>
12199#include <errno.h>
12200
12201int
12202main ()
12203{
12204
12205 errno=0;
12206 setresgid(0,0,0);
12207 if (errno==ENOSYS)
12208 exit(1);
12209 else
12210 exit(0);
12211
12212 ;
12213 return 0;
12214}
12215_ACEOF
12216if ac_fn_c_try_run "$LINENO"; then :
12217 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12218$as_echo "yes" >&6; }
12219else
12220
12221$as_echo "#define BROKEN_SETRESGID 1" >>confdefs.h
12222
12223 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5
12224$as_echo "not implemented" >&6; }
12225fi
12226rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12227 conftest.$ac_objext conftest.beam conftest.$ac_ext
12228fi
12229
12230
12231fi
12232done
12233
12234
12235{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fflush(NULL)" >&5
12236$as_echo_n "checking for working fflush(NULL)... " >&6; }
12237if test "$cross_compiling" = yes; then :
12238 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming working" >&5
12239$as_echo "$as_me: WARNING: cross compiling: assuming working" >&2;}
12240
12241else
12242 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12243/* end confdefs.h. */
12244
12245#include <stdio.h>
12246#include <stdlib.h>
12247
12248int
12249main ()
12250{
12251fflush(NULL); exit(0);
12252 ;
12253 return 0;
12254}
12255_ACEOF
12256if ac_fn_c_try_run "$LINENO"; then :
12257 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12258$as_echo "yes" >&6; }
12259else
12260 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12261$as_echo "no" >&6; }
12262
12263$as_echo "#define FFLUSH_NULL_BUG 1" >>confdefs.h
12264
12265fi
12266rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12267 conftest.$ac_objext conftest.beam conftest.$ac_ext
12268fi
12269
12270
12271for ac_func in gettimeofday time
12272do :
12273 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12274ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12275if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12276 cat >>confdefs.h <<_ACEOF
12277#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12278_ACEOF
12279
12280fi
12281done
12282
12283for ac_func in endutent getutent getutid getutline pututline setutent
12284do :
12285 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12286ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12287if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12288 cat >>confdefs.h <<_ACEOF
12289#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12290_ACEOF
12291
12292fi
12293done
12294
12295for ac_func in utmpname
12296do :
12297 ac_fn_c_check_func "$LINENO" "utmpname" "ac_cv_func_utmpname"
12298if test "x$ac_cv_func_utmpname" = xyes; then :
12299 cat >>confdefs.h <<_ACEOF
12300#define HAVE_UTMPNAME 1
12301_ACEOF
12302
12303fi
12304done
12305
12306for ac_func in endutxent getutxent getutxid getutxline getutxuser pututxline
12307do :
12308 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12309ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12310if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12311 cat >>confdefs.h <<_ACEOF
12312#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12313_ACEOF
12314
12315fi
12316done
12317
12318for ac_func in setutxdb setutxent utmpxname
12319do :
12320 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12321ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12322if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12323 cat >>confdefs.h <<_ACEOF
12324#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12325_ACEOF
12326
12327fi
12328done
12329
12330for ac_func in getlastlogxbyname
12331do :
12332 ac_fn_c_check_func "$LINENO" "getlastlogxbyname" "ac_cv_func_getlastlogxbyname"
12333if test "x$ac_cv_func_getlastlogxbyname" = xyes; then :
12334 cat >>confdefs.h <<_ACEOF
12335#define HAVE_GETLASTLOGXBYNAME 1
12336_ACEOF
12337
12338fi
12339done
12340
12341
12342ac_fn_c_check_func "$LINENO" "daemon" "ac_cv_func_daemon"
12343if test "x$ac_cv_func_daemon" = xyes; then :
12344
12345$as_echo "#define HAVE_DAEMON 1" >>confdefs.h
12346
12347else
12348 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for daemon in -lbsd" >&5
12349$as_echo_n "checking for daemon in -lbsd... " >&6; }
12350if ${ac_cv_lib_bsd_daemon+:} false; then :
12351 $as_echo_n "(cached) " >&6
12352else
12353 ac_check_lib_save_LIBS=$LIBS
12354LIBS="-lbsd $LIBS"
12355cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12356/* end confdefs.h. */
12357
12358/* Override any GCC internal prototype to avoid an error.
12359 Use char because int might match the return type of a GCC
12360 builtin and then its argument prototype would still apply. */
12361#ifdef __cplusplus
12362extern "C"
12363#endif
12364char daemon ();
12365int
12366main ()
12367{
12368return daemon ();
12369 ;
12370 return 0;
12371}
12372_ACEOF
12373if ac_fn_c_try_link "$LINENO"; then :
12374 ac_cv_lib_bsd_daemon=yes
12375else
12376 ac_cv_lib_bsd_daemon=no
12377fi
12378rm -f core conftest.err conftest.$ac_objext \
12379 conftest$ac_exeext conftest.$ac_ext
12380LIBS=$ac_check_lib_save_LIBS
12381fi
12382{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_daemon" >&5
12383$as_echo "$ac_cv_lib_bsd_daemon" >&6; }
12384if test "x$ac_cv_lib_bsd_daemon" = xyes; then :
12385 LIBS="$LIBS -lbsd"; $as_echo "#define HAVE_DAEMON 1" >>confdefs.h
12386
12387fi
12388
12389
12390fi
12391
12392
12393ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
12394if test "x$ac_cv_func_getpagesize" = xyes; then :
12395
12396$as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h
12397
12398else
12399 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpagesize in -lucb" >&5
12400$as_echo_n "checking for getpagesize in -lucb... " >&6; }
12401if ${ac_cv_lib_ucb_getpagesize+:} false; then :
12402 $as_echo_n "(cached) " >&6
12403else
12404 ac_check_lib_save_LIBS=$LIBS
12405LIBS="-lucb $LIBS"
12406cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12407/* end confdefs.h. */
12408
12409/* Override any GCC internal prototype to avoid an error.
12410 Use char because int might match the return type of a GCC
12411 builtin and then its argument prototype would still apply. */
12412#ifdef __cplusplus
12413extern "C"
12414#endif
12415char getpagesize ();
12416int
12417main ()
12418{
12419return getpagesize ();
12420 ;
12421 return 0;
12422}
12423_ACEOF
12424if ac_fn_c_try_link "$LINENO"; then :
12425 ac_cv_lib_ucb_getpagesize=yes
12426else
12427 ac_cv_lib_ucb_getpagesize=no
12428fi
12429rm -f core conftest.err conftest.$ac_objext \
12430 conftest$ac_exeext conftest.$ac_ext
12431LIBS=$ac_check_lib_save_LIBS
12432fi
12433{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ucb_getpagesize" >&5
12434$as_echo "$ac_cv_lib_ucb_getpagesize" >&6; }
12435if test "x$ac_cv_lib_ucb_getpagesize" = xyes; then :
12436 LIBS="$LIBS -lucb"; $as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h
12437
12438fi
12439
12440
12441fi
12442
12443
12444# Check for broken snprintf
12445if test "x$ac_cv_func_snprintf" = "xyes" ; then
12446 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf correctly terminates long strings" >&5
12447$as_echo_n "checking whether snprintf correctly terminates long strings... " >&6; }
12448 if test "$cross_compiling" = yes; then :
12449 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
12450$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
12451
12452else
12453 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12454/* end confdefs.h. */
12455
12456#include <stdio.h>
12457#include <stdlib.h>
12458
12459int
12460main ()
12461{
12462
12463 char b[5];
12464 snprintf(b,5,"123456789");
12465 exit(b[4]!='\0');
12466
12467 ;
12468 return 0;
12469}
12470_ACEOF
12471if ac_fn_c_try_run "$LINENO"; then :
12472 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12473$as_echo "yes" >&6; }
12474else
12475
12476 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12477$as_echo "no" >&6; }
12478
12479$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12480
12481 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&5
12482$as_echo "$as_me: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&2;}
12483
12484fi
12485rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12486 conftest.$ac_objext conftest.beam conftest.$ac_ext
12487fi
12488
12489fi
12490
12491if test "x$ac_cv_func_snprintf" = "xyes" ; then
12492 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf understands %zu" >&5
12493$as_echo_n "checking whether snprintf understands %zu... " >&6; }
12494 if test "$cross_compiling" = yes; then :
12495 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
12496$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
12497
12498else
12499 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12500/* end confdefs.h. */
12501
12502#include <sys/types.h>
12503#include <stdio.h>
12504#include <stdlib.h>
12505#include <string.h>
12506
12507int
12508main ()
12509{
12510
12511 size_t a = 1, b = 2;
12512 char z[128];
12513 snprintf(z, sizeof z, "%zu%zu", a, b);
12514 exit(strcmp(z, "12"));
12515
12516 ;
12517 return 0;
12518}
12519_ACEOF
12520if ac_fn_c_try_run "$LINENO"; then :
12521 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12522$as_echo "yes" >&6; }
12523else
12524
12525 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12526$as_echo "no" >&6; }
12527
12528$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12529
12530
12531fi
12532rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12533 conftest.$ac_objext conftest.beam conftest.$ac_ext
12534fi
12535
12536fi
12537
12538# We depend on vsnprintf returning the right thing on overflow: the
12539# number of characters it tried to create (as per SUSv3)
12540if test "x$ac_cv_func_vsnprintf" = "xyes" ; then
12541 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether vsnprintf returns correct values on overflow" >&5
12542$as_echo_n "checking whether vsnprintf returns correct values on overflow... " >&6; }
12543 if test "$cross_compiling" = yes; then :
12544 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working vsnprintf()" >&5
12545$as_echo "$as_me: WARNING: cross compiling: Assuming working vsnprintf()" >&2;}
12546
12547else
12548 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12549/* end confdefs.h. */
12550
12551#include <sys/types.h>
12552#include <stdio.h>
12553#include <stdarg.h>
12554
12555int x_snprintf(char *str, size_t count, const char *fmt, ...)
12556{
12557 size_t ret;
12558 va_list ap;
12559
12560 va_start(ap, fmt);
12561 ret = vsnprintf(str, count, fmt, ap);
12562 va_end(ap);
12563 return ret;
12564}
12565
12566int
12567main ()
12568{
12569
12570char x[1];
12571if (x_snprintf(x, 1, "%s %d", "hello", 12345) != 11)
12572 return 1;
12573if (x_snprintf(NULL, 0, "%s %d", "hello", 12345) != 11)
12574 return 1;
12575return 0;
12576
12577 ;
12578 return 0;
12579}
12580_ACEOF
12581if ac_fn_c_try_run "$LINENO"; then :
12582 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12583$as_echo "yes" >&6; }
12584else
12585
12586 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12587$as_echo "no" >&6; }
12588
12589$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12590
12591 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&5
12592$as_echo "$as_me: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&2;}
12593
12594fi
12595rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12596 conftest.$ac_objext conftest.beam conftest.$ac_ext
12597fi
12598
12599fi
12600
12601# On systems where [v]snprintf is broken, but is declared in stdio,
12602# check that the fmt argument is const char * or just char *.
12603# This is only useful for when BROKEN_SNPRINTF
12604{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf can declare const char *fmt" >&5
12605$as_echo_n "checking whether snprintf can declare const char *fmt... " >&6; }
12606cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12607/* end confdefs.h. */
12608
12609#include <stdio.h>
12610int snprintf(char *a, size_t b, const char *c, ...) { return 0; }
12611
12612int
12613main ()
12614{
12615
12616 snprintf(0, 0, 0);
12617
12618 ;
12619 return 0;
12620}
12621_ACEOF
12622if ac_fn_c_try_compile "$LINENO"; then :
12623 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12624$as_echo "yes" >&6; }
12625
12626$as_echo "#define SNPRINTF_CONST const" >>confdefs.h
12627
12628else
12629 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12630$as_echo "no" >&6; }
12631 $as_echo "#define SNPRINTF_CONST /* not const */" >>confdefs.h
12632
12633fi
12634rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12635
12636# Check for missing getpeereid (or equiv) support
12637NO_PEERCHECK=""
12638if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "xyes"; then
12639 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system supports SO_PEERCRED getsockopt" >&5
12640$as_echo_n "checking whether system supports SO_PEERCRED getsockopt... " >&6; }
12641 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12642/* end confdefs.h. */
12643
12644#include <sys/types.h>
12645#include <sys/socket.h>
12646int
12647main ()
12648{
12649int i = SO_PEERCRED;
12650 ;
12651 return 0;
12652}
12653_ACEOF
12654if ac_fn_c_try_compile "$LINENO"; then :
12655 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12656$as_echo "yes" >&6; }
12657
12658$as_echo "#define HAVE_SO_PEERCRED 1" >>confdefs.h
12659
12660
12661else
12662 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12663$as_echo "no" >&6; }
12664 NO_PEERCHECK=1
12665
12666fi
12667rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12668fi
12669
12670if test "x$ac_cv_func_mkdtemp" = "xyes" ; then
12671{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for (overly) strict mkstemp" >&5
12672$as_echo_n "checking for (overly) strict mkstemp... " >&6; }
12673if test "$cross_compiling" = yes; then :
12674
12675 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12676$as_echo "yes" >&6; }
12677 $as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h
12678
12679
12680
12681else
12682 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12683/* end confdefs.h. */
12684
12685#include <stdlib.h>
12686#include <unistd.h>
12687
12688int
12689main ()
12690{
12691
12692 char template[]="conftest.mkstemp-test";
12693 if (mkstemp(template) == -1)
12694 exit(1);
12695 unlink(template);
12696 exit(0);
12697
12698 ;
12699 return 0;
12700}
12701_ACEOF
12702if ac_fn_c_try_run "$LINENO"; then :
12703
12704 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12705$as_echo "no" >&6; }
12706
12707else
12708
12709 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12710$as_echo "yes" >&6; }
12711
12712$as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h
12713
12714
12715fi
12716rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12717 conftest.$ac_objext conftest.beam conftest.$ac_ext
12718fi
12719
12720fi
12721
12722if test ! -z "$check_for_openpty_ctty_bug"; then
12723 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if openpty correctly handles controlling tty" >&5
12724$as_echo_n "checking if openpty correctly handles controlling tty... " >&6; }
12725 if test "$cross_compiling" = yes; then :
12726
12727 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5
12728$as_echo "cross-compiling, assuming yes" >&6; }
12729
12730
12731else
12732 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12733/* end confdefs.h. */
12734
12735#include <stdio.h>
12736#include <stdlib.h>
12737#include <unistd.h>
12738#include <sys/fcntl.h>
12739#include <sys/types.h>
12740#include <sys/wait.h>
12741
12742int
12743main ()
12744{
12745
12746 pid_t pid;
12747 int fd, ptyfd, ttyfd, status;
12748
12749 pid = fork();
12750 if (pid < 0) { /* failed */
12751 exit(1);
12752 } else if (pid > 0) { /* parent */
12753 waitpid(pid, &status, 0);
12754 if (WIFEXITED(status))
12755 exit(WEXITSTATUS(status));
12756 else
12757 exit(2);
12758 } else { /* child */
12759 close(0); close(1); close(2);
12760 setsid();
12761 openpty(&ptyfd, &ttyfd, NULL, NULL, NULL);
12762 fd = open("/dev/tty", O_RDWR | O_NOCTTY);
12763 if (fd >= 0)
12764 exit(3); /* Acquired ctty: broken */
12765 else
12766 exit(0); /* Did not acquire ctty: OK */
12767 }
12768
12769 ;
12770 return 0;
12771}
12772_ACEOF
12773if ac_fn_c_try_run "$LINENO"; then :
12774
12775 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12776$as_echo "yes" >&6; }
12777
12778else
12779
12780 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12781$as_echo "no" >&6; }
12782 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
12783
12784
12785fi
12786rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12787 conftest.$ac_objext conftest.beam conftest.$ac_ext
12788fi
12789
12790fi
12791
12792if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
12793 test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then
12794 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5
12795$as_echo_n "checking if getaddrinfo seems to work... " >&6; }
12796 if test "$cross_compiling" = yes; then :
12797
12798 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5
12799$as_echo "cross-compiling, assuming yes" >&6; }
12800
12801
12802else
12803 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12804/* end confdefs.h. */
12805
12806#include <stdio.h>
12807#include <stdlib.h>
12808#include <sys/socket.h>
12809#include <netdb.h>
12810#include <errno.h>
12811#include <netinet/in.h>
12812
12813#define TEST_PORT "2222"
12814
12815int
12816main ()
12817{
12818
12819 int err, sock;
12820 struct addrinfo *gai_ai, *ai, hints;
12821 char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL;
12822
12823 memset(&hints, 0, sizeof(hints));
12824 hints.ai_family = PF_UNSPEC;
12825 hints.ai_socktype = SOCK_STREAM;
12826 hints.ai_flags = AI_PASSIVE;
12827
12828 err = getaddrinfo(name, TEST_PORT, &hints, &gai_ai);
12829 if (err != 0) {
12830 fprintf(stderr, "getaddrinfo failed (%s)", gai_strerror(err));
12831 exit(1);
12832 }
12833
12834 for (ai = gai_ai; ai != NULL; ai = ai->ai_next) {
12835 if (ai->ai_family != AF_INET6)
12836 continue;
12837
12838 err = getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop,
12839 sizeof(ntop), strport, sizeof(strport),
12840 NI_NUMERICHOST|NI_NUMERICSERV);
12841
12842 if (err != 0) {
12843 if (err == EAI_SYSTEM)
12844 perror("getnameinfo EAI_SYSTEM");
12845 else
12846 fprintf(stderr, "getnameinfo failed: %s\n",
12847 gai_strerror(err));
12848 exit(2);
12849 }
12850
12851 sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
12852 if (sock < 0)
12853 perror("socket");
12854 if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) {
12855 if (errno == EBADF)
12856 exit(3);
12857 }
12858 }
12859 exit(0);
12860
12861 ;
12862 return 0;
12863}
12864_ACEOF
12865if ac_fn_c_try_run "$LINENO"; then :
12866
12867 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12868$as_echo "yes" >&6; }
12869
12870else
12871
12872 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12873$as_echo "no" >&6; }
12874 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
12875
12876
12877fi
12878rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12879 conftest.$ac_objext conftest.beam conftest.$ac_ext
12880fi
12881
12882fi
12883
12884if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
12885 test "x$check_for_aix_broken_getaddrinfo" = "x1"; then
12886 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5
12887$as_echo_n "checking if getaddrinfo seems to work... " >&6; }
12888 if test "$cross_compiling" = yes; then :
12889
12890 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming no" >&5
12891$as_echo "cross-compiling, assuming no" >&6; }
12892
12893
12894else
12895 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12896/* end confdefs.h. */
12897
12898#include <stdio.h>
12899#include <stdlib.h>
12900#include <sys/socket.h>
12901#include <netdb.h>
12902#include <errno.h>
12903#include <netinet/in.h>
12904
12905#define TEST_PORT "2222"
12906
12907int
12908main ()
12909{
12910
12911 int err, sock;
12912 struct addrinfo *gai_ai, *ai, hints;
12913 char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL;
12914
12915 memset(&hints, 0, sizeof(hints));
12916 hints.ai_family = PF_UNSPEC;
12917 hints.ai_socktype = SOCK_STREAM;
12918 hints.ai_flags = AI_PASSIVE;
12919
12920 err = getaddrinfo(name, TEST_PORT, &hints, &gai_ai);
12921 if (err != 0) {
12922 fprintf(stderr, "getaddrinfo failed (%s)", gai_strerror(err));
12923 exit(1);
12924 }
12925
12926 for (ai = gai_ai; ai != NULL; ai = ai->ai_next) {
12927 if (ai->ai_family != AF_INET && ai->ai_family != AF_INET6)
12928 continue;
12929
12930 err = getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop,
12931 sizeof(ntop), strport, sizeof(strport),
12932 NI_NUMERICHOST|NI_NUMERICSERV);
12933
12934 if (ai->ai_family == AF_INET && err != 0) {
12935 perror("getnameinfo");
12936 exit(2);
12937 }
12938 }
12939 exit(0);
12940
12941 ;
12942 return 0;
12943}
12944_ACEOF
12945if ac_fn_c_try_run "$LINENO"; then :
12946
12947 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12948$as_echo "yes" >&6; }
12949
12950$as_echo "#define AIX_GETNAMEINFO_HACK 1" >>confdefs.h
12951
12952
12953else
12954
12955 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12956$as_echo "no" >&6; }
12957 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
12958
12959
12960fi
12961rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12962 conftest.$ac_objext conftest.beam conftest.$ac_ext
12963fi
12964
12965fi
12966
12967if test "x$ac_cv_func_getaddrinfo" = "xyes"; then
12968 ac_fn_c_check_decl "$LINENO" "AI_NUMERICSERV" "ac_cv_have_decl_AI_NUMERICSERV" "#include <sys/types.h>
12969 #include <sys/socket.h>
12970 #include <netdb.h>
12971"
12972if test "x$ac_cv_have_decl_AI_NUMERICSERV" = xyes; then :
12973 ac_have_decl=1
12974else
12975 ac_have_decl=0
12976fi
12977
12978cat >>confdefs.h <<_ACEOF
12979#define HAVE_DECL_AI_NUMERICSERV $ac_have_decl
12980_ACEOF
12981
12982fi
12983
12984if test "x$check_for_conflicting_getspnam" = "x1"; then
12985 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for conflicting getspnam in shadow.h" >&5
12986$as_echo_n "checking for conflicting getspnam in shadow.h... " >&6; }
12987 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12988/* end confdefs.h. */
12989
12990#include <shadow.h>
12991#include <stdlib.h>
12992
12993int
12994main ()
12995{
12996 exit(0);
12997 ;
12998 return 0;
12999}
13000_ACEOF
13001if ac_fn_c_try_compile "$LINENO"; then :
13002
13003 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13004$as_echo "no" >&6; }
13005
13006else
13007
13008 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13009$as_echo "yes" >&6; }
13010
13011$as_echo "#define GETSPNAM_CONFLICTING_DEFS 1" >>confdefs.h
13012
13013
13014
13015fi
13016rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
13017fi
13018
13019if test "x$ac_cv_func_strnvis" = "xyes"; then
13020 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnvis" >&5
13021$as_echo_n "checking for working strnvis... " >&6; }
13022 if test "$cross_compiling" = yes; then :
13023 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming broken" >&5
13024$as_echo "$as_me: WARNING: cross compiling: assuming broken" >&2;}
13025
13026$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
13027
13028
13029else
13030 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13031/* end confdefs.h. */
13032
13033#include <signal.h>
13034#include <stdlib.h>
13035#include <string.h>
13036#include <unistd.h>
13037#include <vis.h>
13038static void sighandler(int sig) { _exit(1); }
13039
13040int
13041main ()
13042{
13043
13044 char dst[16];
13045
13046 signal(SIGSEGV, sighandler);
13047 if (strnvis(dst, "src", 4, 0) && strcmp(dst, "src") == 0)
13048 exit(0);
13049 exit(1)
13050
13051 ;
13052 return 0;
13053}
13054_ACEOF
13055if ac_fn_c_try_run "$LINENO"; then :
13056 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13057$as_echo "yes" >&6; }
13058else
13059 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13060$as_echo "no" >&6; }
13061
13062$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
13063
13064fi
13065rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13066 conftest.$ac_objext conftest.beam conftest.$ac_ext
13067fi
13068
13069fi
13070
13071{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if SA_RESTARTed signals interrupt select()" >&5
13072$as_echo_n "checking if SA_RESTARTed signals interrupt select()... " >&6; }
13073if test "$cross_compiling" = yes; then :
13074 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
13075$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
13076
13077else
13078 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13079/* end confdefs.h. */
13080
13081#ifdef HAVE_SYS_SELECT
13082# include <sys/select.h>
13083#endif
13084#include <sys/types.h>
13085#include <sys/time.h>
13086#include <stdlib.h>
13087#include <signal.h>
13088#include <unistd.h>
13089static void sighandler(int sig) { }
13090
13091int
13092main ()
13093{
13094
13095 int r;
13096 pid_t pid;
13097 struct sigaction sa;
13098
13099 sa.sa_handler = sighandler;
13100 sa.sa_flags = SA_RESTART;
13101 (void)sigaction(SIGTERM, &sa, NULL);
13102 if ((pid = fork()) == 0) { /* child */
13103 pid = getppid();
13104 sleep(1);
13105 kill(pid, SIGTERM);
13106 sleep(1);
13107 if (getppid() == pid) /* if parent did not exit, shoot it */
13108 kill(pid, SIGKILL);
13109 exit(0);
13110 } else { /* parent */
13111 r = select(0, NULL, NULL, NULL, NULL);
13112 }
13113 exit(r == -1 ? 0 : 1);
13114
13115 ;
13116 return 0;
13117}
13118_ACEOF
13119if ac_fn_c_try_run "$LINENO"; then :
13120 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13121$as_echo "yes" >&6; }
13122else
13123 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13124$as_echo "no" >&6; }
13125
13126$as_echo "#define NO_SA_RESTART 1" >>confdefs.h
13127
13128fi
13129rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13130 conftest.$ac_objext conftest.beam conftest.$ac_ext
13131fi
13132
13133
13134for ac_func in getpgrp
13135do :
13136 ac_fn_c_check_func "$LINENO" "getpgrp" "ac_cv_func_getpgrp"
13137if test "x$ac_cv_func_getpgrp" = xyes; then :
13138 cat >>confdefs.h <<_ACEOF
13139#define HAVE_GETPGRP 1
13140_ACEOF
13141
13142 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getpgrp accepts zero args" >&5
13143$as_echo_n "checking if getpgrp accepts zero args... " >&6; }
13144 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13145/* end confdefs.h. */
13146$ac_includes_default
13147int
13148main ()
13149{
13150 getpgrp();
13151 ;
13152 return 0;
13153}
13154_ACEOF
13155if ac_fn_c_try_compile "$LINENO"; then :
13156 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13157$as_echo "yes" >&6; }
13158
13159$as_echo "#define GETPGRP_VOID 1" >>confdefs.h
13160
13161else
13162 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13163$as_echo "no" >&6; }
13164
13165$as_echo "#define GETPGRP_VOID 0" >>confdefs.h
13166
13167
13168fi
13169rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
13170
13171fi
13172done
13173
13174
13175# Search for OpenSSL
13176saved_CPPFLAGS="$CPPFLAGS"
13177saved_LDFLAGS="$LDFLAGS"
13178
13179# Check whether --with-ssl-dir was given.
13180if test "${with_ssl_dir+set}" = set; then :
13181 withval=$with_ssl_dir;
13182 if test "x$openssl" = "xno" ; then
13183 as_fn_error $? "cannot use --with-ssl-dir when OpenSSL disabled" "$LINENO" 5
13184 fi
13185 if test "x$withval" != "xno" ; then
13186 case "$withval" in
13187 # Relative paths
13188 ./*|../*) withval="`pwd`/$withval"
13189 esac
13190 if test -d "$withval/lib"; then
13191 if test -n "${rpath_opt}"; then
13192 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
13193 else
13194 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
13195 fi
13196 elif test -d "$withval/lib64"; then
13197 if test -n "${rpath_opt}"; then
13198 LDFLAGS="-L${withval}/lib64 ${rpath_opt}${withval}/lib64 ${LDFLAGS}"
13199 else
13200 LDFLAGS="-L${withval}/lib64 ${LDFLAGS}"
13201 fi
13202 else
13203 if test -n "${rpath_opt}"; then
13204 LDFLAGS="-L${withval} ${rpath_opt}${withval} ${LDFLAGS}"
13205 else
13206 LDFLAGS="-L${withval} ${LDFLAGS}"
13207 fi
13208 fi
13209 if test -d "$withval/include"; then
13210 CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
13211 else
13212 CPPFLAGS="-I${withval} ${CPPFLAGS}"
13213 fi
13214 fi
13215
13216
13217fi
13218
13219
13220
13221# Check whether --with-openssl-header-check was given.
13222if test "${with_openssl_header_check+set}" = set; then :
13223 withval=$with_openssl_header_check;
13224 if test "x$withval" = "xno" ; then
13225 openssl_check_nonfatal=1
13226 fi
13227
13228
13229fi
13230
13231
13232openssl_engine=no
13233
13234# Check whether --with-ssl-engine was given.
13235if test "${with_ssl_engine+set}" = set; then :
13236 withval=$with_ssl_engine;
13237 if test "x$withval" != "xno" ; then
13238 if test "x$openssl" = "xno" ; then
13239 as_fn_error $? "cannot use --with-ssl-engine when OpenSSL disabled" "$LINENO" 5
13240 fi
13241 openssl_engine=yes
13242 fi
13243
13244
13245fi
13246
13247
13248if test "x$openssl" = "xyes" ; then
13249 LIBS="-lcrypto $LIBS"
13250 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13251/* end confdefs.h. */
13252
13253/* Override any GCC internal prototype to avoid an error.
13254 Use char because int might match the return type of a GCC
13255 builtin and then its argument prototype would still apply. */
13256#ifdef __cplusplus
13257extern "C"
13258#endif
13259char RAND_add ();
13260int
13261main ()
13262{
13263return RAND_add ();
13264 ;
13265 return 0;
13266}
13267_ACEOF
13268if ac_fn_c_try_link "$LINENO"; then :
13269
13270else
13271 as_fn_error $? "*** working libcrypto not found, check config.log" "$LINENO" 5
13272fi
13273rm -f core conftest.err conftest.$ac_objext \
13274 conftest$ac_exeext conftest.$ac_ext
13275 ac_fn_c_check_header_mongrel "$LINENO" "openssl/opensslv.h" "ac_cv_header_openssl_opensslv_h" "$ac_includes_default"
13276if test "x$ac_cv_header_openssl_opensslv_h" = xyes; then :
13277
13278else
13279 as_fn_error $? "*** OpenSSL headers missing - please install first or check config.log ***" "$LINENO" 5
13280fi
13281
13282
13283
13284 # Determine OpenSSL header version
13285 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL header version" >&5
13286$as_echo_n "checking OpenSSL header version... " >&6; }
13287 if test "$cross_compiling" = yes; then :
13288
13289 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
13290$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
13291
13292
13293else
13294 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13295/* end confdefs.h. */
13296
13297 #include <stdlib.h>
13298 #include <stdio.h>
13299 #include <string.h>
13300 #include <openssl/opensslv.h>
13301 #define DATA "conftest.sslincver"
13302
13303int
13304main ()
13305{
13306
13307 FILE *fd;
13308 int rc;
13309
13310 fd = fopen(DATA,"w");
13311 if(fd == NULL)
13312 exit(1);
13313
13314 if ((rc = fprintf(fd, "%08lx (%s)\n",
13315 (unsigned long)OPENSSL_VERSION_NUMBER,
13316 OPENSSL_VERSION_TEXT)) < 0)
13317 exit(1);
13318
13319 exit(0);
13320
13321 ;
13322 return 0;
13323}
13324_ACEOF
13325if ac_fn_c_try_run "$LINENO"; then :
13326
13327 ssl_header_ver=`cat conftest.sslincver`
13328 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_header_ver" >&5
13329$as_echo "$ssl_header_ver" >&6; }
13330
13331else
13332
13333 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
13334$as_echo "not found" >&6; }
13335 as_fn_error $? "OpenSSL version header not found." "$LINENO" 5
13336
13337fi
13338rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13339 conftest.$ac_objext conftest.beam conftest.$ac_ext
13340fi
13341
13342
13343 # Determining OpenSSL library version is version dependent.
13344 for ac_func in OpenSSL_version OpenSSL_version_num
13345do :
13346 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13347ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13348if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13349 cat >>confdefs.h <<_ACEOF
13350#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13351_ACEOF
13352
13353fi
13354done
13355
13356
13357 # Determine OpenSSL library version
13358 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL library version" >&5
13359$as_echo_n "checking OpenSSL library version... " >&6; }
13360 if test "$cross_compiling" = yes; then :
13361
13362 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
13363$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
13364
13365
13366else
13367 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13368/* end confdefs.h. */
13369
13370 #include <stdio.h>
13371 #include <stdlib.h>
13372 #include <string.h>
13373 #include <openssl/opensslv.h>
13374 #include <openssl/crypto.h>
13375 #define DATA "conftest.ssllibver"
13376
13377int
13378main ()
13379{
13380
13381 FILE *fd;
13382 int rc;
13383
13384 fd = fopen(DATA,"w");
13385 if(fd == NULL)
13386 exit(1);
13387#ifndef OPENSSL_VERSION
13388# define OPENSSL_VERSION SSLEAY_VERSION
13389#endif
13390#ifndef HAVE_OPENSSL_VERSION
13391# define OpenSSL_version SSLeay_version
13392#endif
13393#ifndef HAVE_OPENSSL_VERSION_NUM
13394# define OpenSSL_version_num SSLeay
13395#endif
13396 if ((rc = fprintf(fd, "%08lx (%s)\n",
13397 (unsigned long)OpenSSL_version_num(),
13398 OpenSSL_version(OPENSSL_VERSION))) < 0)
13399 exit(1);
13400
13401 exit(0);
13402
13403 ;
13404 return 0;
13405}
13406_ACEOF
13407if ac_fn_c_try_run "$LINENO"; then :
13408
13409 ssl_library_ver=`cat conftest.ssllibver`
13410 # Check version is supported.
13411 case "$ssl_library_ver" in
13412 10000*|0*)
13413 as_fn_error $? "OpenSSL >= 1.0.1 required (have \"$ssl_library_ver\")" "$LINENO" 5
13414 ;;
13415 100*) ;; # 1.0.x
13416 101000[0123456]*)
13417 # https://github.com/openssl/openssl/pull/4613
13418 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
13419 ;;
13420 101*) ;; # 1.1.x
13421 200*) ;; # LibreSSL
13422 300*) ;; # OpenSSL development branch.
13423 *)
13424 as_fn_error $? "Unknown/unsupported OpenSSL version (\"$ssl_library_ver\")" "$LINENO" 5
13425 ;;
13426 esac
13427 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_library_ver" >&5
13428$as_echo "$ssl_library_ver" >&6; }
13429
13430else
13431
13432 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
13433$as_echo "not found" >&6; }
13434 as_fn_error $? "OpenSSL library not found." "$LINENO" 5
13435
13436fi
13437rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13438 conftest.$ac_objext conftest.beam conftest.$ac_ext
13439fi
13440
13441
13442 # Sanity check OpenSSL headers
13443 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's headers match the library" >&5
13444$as_echo_n "checking whether OpenSSL's headers match the library... " >&6; }
13445 if test "$cross_compiling" = yes; then :
13446
13447 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
13448$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
13449
13450
13451else
13452 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13453/* end confdefs.h. */
13454
13455 #include <stdlib.h>
13456 #include <string.h>
13457 #include <openssl/opensslv.h>
13458 #include <openssl/crypto.h>
13459
13460int
13461main ()
13462{
13463
13464#ifndef HAVE_OPENSSL_VERSION_NUM
13465# define OpenSSL_version_num SSLeay
13466#endif
13467 exit(OpenSSL_version_num() == OPENSSL_VERSION_NUMBER ? 0 : 1);
13468
13469 ;
13470 return 0;
13471}
13472_ACEOF
13473if ac_fn_c_try_run "$LINENO"; then :
13474
13475 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13476$as_echo "yes" >&6; }
13477
13478else
13479
13480 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13481$as_echo "no" >&6; }
13482 if test "x$openssl_check_nonfatal" = "x"; then
13483 as_fn_error $? "Your OpenSSL headers do not match your
13484 library. Check config.log for details.
13485 If you are sure your installation is consistent, you can disable the check
13486 by running \"./configure --without-openssl-header-check\".
13487 Also see contrib/findssl.sh for help identifying header/library mismatches.
13488 " "$LINENO" 5
13489 else
13490 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your OpenSSL headers do not match your
13491 library. Check config.log for details.
13492 Also see contrib/findssl.sh for help identifying header/library mismatches." >&5
13493$as_echo "$as_me: WARNING: Your OpenSSL headers do not match your
13494 library. Check config.log for details.
13495 Also see contrib/findssl.sh for help identifying header/library mismatches." >&2;}
13496 fi
13497
13498fi
13499rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13500 conftest.$ac_objext conftest.beam conftest.$ac_ext
13501fi
13502
13503
13504 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL functions will link" >&5
13505$as_echo_n "checking if programs using OpenSSL functions will link... " >&6; }
13506 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13507/* end confdefs.h. */
13508 #include <openssl/err.h>
13509int
13510main ()
13511{
13512 ERR_load_crypto_strings();
13513 ;
13514 return 0;
13515}
13516_ACEOF
13517if ac_fn_c_try_link "$LINENO"; then :
13518
13519 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13520$as_echo "yes" >&6; }
13521
13522else
13523
13524 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13525$as_echo "no" >&6; }
13526 saved_LIBS="$LIBS"
13527 LIBS="$LIBS -ldl"
13528 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL need -ldl" >&5
13529$as_echo_n "checking if programs using OpenSSL need -ldl... " >&6; }
13530 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13531/* end confdefs.h. */
13532 #include <openssl/err.h>
13533int
13534main ()
13535{
13536 ERR_load_crypto_strings();
13537 ;
13538 return 0;
13539}
13540_ACEOF
13541if ac_fn_c_try_link "$LINENO"; then :
13542
13543 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13544$as_echo "yes" >&6; }
13545
13546else
13547
13548 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13549$as_echo "no" >&6; }
13550 LIBS="$saved_LIBS"
13551
13552
13553fi
13554rm -f core conftest.err conftest.$ac_objext \
13555 conftest$ac_exeext conftest.$ac_ext
13556
13557
13558fi
13559rm -f core conftest.err conftest.$ac_objext \
13560 conftest$ac_exeext conftest.$ac_ext
13561
13562 for ac_func in \
13563 BN_is_prime_ex \
13564 DSA_generate_parameters_ex \
13565 EVP_CIPHER_CTX_ctrl \
13566 EVP_DigestFinal_ex \
13567 EVP_DigestInit_ex \
13568 EVP_MD_CTX_cleanup \
13569 EVP_MD_CTX_copy_ex \
13570 EVP_MD_CTX_init \
13571 HMAC_CTX_init \
13572 RSA_generate_key_ex \
13573 RSA_get_default_method \
13574
13575do :
13576 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13577ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13578if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13579 cat >>confdefs.h <<_ACEOF
13580#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13581_ACEOF
13582
13583fi
13584done
13585
13586
13587 # OpenSSL_add_all_algorithms may be a macro.
13588 ac_fn_c_check_func "$LINENO" "OpenSSL_add_all_algorithms" "ac_cv_func_OpenSSL_add_all_algorithms"
13589if test "x$ac_cv_func_OpenSSL_add_all_algorithms" = xyes; then :
13590
13591$as_echo "#define HAVE_OPENSSL_ADD_ALL_ALGORITHMS 1" >>confdefs.h
13592
13593else
13594 ac_fn_c_check_decl "$LINENO" "OpenSSL_add_all_algorithms" "ac_cv_have_decl_OpenSSL_add_all_algorithms" "#include <openssl/evp.h>
13595
13596"
13597if test "x$ac_cv_have_decl_OpenSSL_add_all_algorithms" = xyes; then :
13598
13599$as_echo "#define HAVE_OPENSSL_ADD_ALL_ALGORITHMS 1" >>confdefs.h
13600
13601fi
13602
13603
13604fi
13605
13606
13607 # LibreSSL/OpenSSL 1.1x API
13608 for ac_func in \
13609 OPENSSL_init_crypto \
13610 DH_get0_key \
13611 DH_get0_pqg \
13612 DH_set0_key \
13613 DH_set_length \
13614 DH_set0_pqg \
13615 DSA_get0_key \
13616 DSA_get0_pqg \
13617 DSA_set0_key \
13618 DSA_set0_pqg \
13619 DSA_SIG_get0 \
13620 DSA_SIG_set0 \
13621 ECDSA_SIG_get0 \
13622 ECDSA_SIG_set0 \
13623 EVP_CIPHER_CTX_iv \
13624 EVP_CIPHER_CTX_iv_noconst \
13625 EVP_CIPHER_CTX_get_iv \
13626 EVP_CIPHER_CTX_set_iv \
13627 RSA_get0_crt_params \
13628 RSA_get0_factors \
13629 RSA_get0_key \
13630 RSA_set0_crt_params \
13631 RSA_set0_factors \
13632 RSA_set0_key \
13633 RSA_meth_free \
13634 RSA_meth_dup \
13635 RSA_meth_set1_name \
13636 RSA_meth_get_finish \
13637 RSA_meth_set_priv_enc \
13638 RSA_meth_set_priv_dec \
13639 RSA_meth_set_finish \
13640 EVP_PKEY_get0_RSA \
13641 EVP_MD_CTX_new \
13642 EVP_MD_CTX_free \
13643 EVP_chacha20 \
13644
13645do :
13646 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13647ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13648if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13649 cat >>confdefs.h <<_ACEOF
13650#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13651_ACEOF
13652
13653fi
13654done
13655
13656
13657 if test "x$openssl_engine" = "xyes" ; then
13658 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL ENGINE support" >&5
13659$as_echo_n "checking for OpenSSL ENGINE support... " >&6; }
13660 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13661/* end confdefs.h. */
13662
13663 #include <openssl/engine.h>
13664
13665int
13666main ()
13667{
13668
13669 ENGINE_load_builtin_engines();
13670 ENGINE_register_all_complete();
13671
13672 ;
13673 return 0;
13674}
13675_ACEOF
13676if ac_fn_c_try_compile "$LINENO"; then :
13677 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13678$as_echo "yes" >&6; }
13679
13680$as_echo "#define USE_OPENSSL_ENGINE 1" >>confdefs.h
13681
13682
13683else
13684 as_fn_error $? "OpenSSL ENGINE support not found" "$LINENO" 5
13685
13686fi
13687rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
13688 fi
13689
13690 # Check for OpenSSL without EVP_aes_{192,256}_cbc
13691 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has crippled AES support" >&5
13692$as_echo_n "checking whether OpenSSL has crippled AES support... " >&6; }
13693 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13694/* end confdefs.h. */
13695
13696 #include <stdlib.h>
13697 #include <string.h>
13698 #include <openssl/evp.h>
13699
13700int
13701main ()
13702{
13703
13704 exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL);
13705
13706 ;
13707 return 0;
13708}
13709_ACEOF
13710if ac_fn_c_try_link "$LINENO"; then :
13711
13712 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13713$as_echo "no" >&6; }
13714
13715else
13716
13717 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13718$as_echo "yes" >&6; }
13719
13720$as_echo "#define OPENSSL_LOBOTOMISED_AES 1" >>confdefs.h
13721
13722
13723
13724fi
13725rm -f core conftest.err conftest.$ac_objext \
13726 conftest$ac_exeext conftest.$ac_ext
13727
13728 # Check for OpenSSL with EVP_aes_*ctr
13729 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES CTR via EVP" >&5
13730$as_echo_n "checking whether OpenSSL has AES CTR via EVP... " >&6; }
13731 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13732/* end confdefs.h. */
13733
13734 #include <stdlib.h>
13735 #include <string.h>
13736 #include <openssl/evp.h>
13737
13738int
13739main ()
13740{
13741
13742 exit(EVP_aes_128_ctr() == NULL ||
13743 EVP_aes_192_cbc() == NULL ||
13744 EVP_aes_256_cbc() == NULL);
13745
13746 ;
13747 return 0;
13748}
13749_ACEOF
13750if ac_fn_c_try_link "$LINENO"; then :
13751
13752 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13753$as_echo "yes" >&6; }
13754
13755$as_echo "#define OPENSSL_HAVE_EVPCTR 1" >>confdefs.h
13756
13757
13758else
13759
13760 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13761$as_echo "no" >&6; }
13762
13763
13764fi
13765rm -f core conftest.err conftest.$ac_objext \
13766 conftest$ac_exeext conftest.$ac_ext
13767
13768 # Check for OpenSSL with EVP_aes_*gcm
13769 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES GCM via EVP" >&5
13770$as_echo_n "checking whether OpenSSL has AES GCM via EVP... " >&6; }
13771 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13772/* end confdefs.h. */
13773
13774 #include <stdlib.h>
13775 #include <string.h>
13776 #include <openssl/evp.h>
13777
13778int
13779main ()
13780{
13781
13782 exit(EVP_aes_128_gcm() == NULL ||
13783 EVP_aes_256_gcm() == NULL ||
13784 EVP_CTRL_GCM_SET_IV_FIXED == 0 ||
13785 EVP_CTRL_GCM_IV_GEN == 0 ||
13786 EVP_CTRL_GCM_SET_TAG == 0 ||
13787 EVP_CTRL_GCM_GET_TAG == 0 ||
13788 EVP_CIPHER_CTX_ctrl(NULL, 0, 0, NULL) == 0);
13789
13790 ;
13791 return 0;
13792}
13793_ACEOF
13794if ac_fn_c_try_link "$LINENO"; then :
13795
13796 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13797$as_echo "yes" >&6; }
13798
13799$as_echo "#define OPENSSL_HAVE_EVPGCM 1" >>confdefs.h
13800
13801
13802else
13803
13804 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13805$as_echo "no" >&6; }
13806 unsupported_algorithms="$unsupported_cipers \
13807 aes128-gcm@openssh.com \
13808 aes256-gcm@openssh.com"
13809
13810
13811fi
13812rm -f core conftest.err conftest.$ac_objext \
13813 conftest$ac_exeext conftest.$ac_ext
13814
13815 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if EVP_DigestUpdate returns an int" >&5
13816$as_echo_n "checking if EVP_DigestUpdate returns an int... " >&6; }
13817 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13818/* end confdefs.h. */
13819
13820 #include <stdlib.h>
13821 #include <string.h>
13822 #include <openssl/evp.h>
13823
13824int
13825main ()
13826{
13827
13828 if(EVP_DigestUpdate(NULL, NULL,0))
13829 exit(0);
13830
13831 ;
13832 return 0;
13833}
13834_ACEOF
13835if ac_fn_c_try_link "$LINENO"; then :
13836
13837 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13838$as_echo "yes" >&6; }
13839
13840else
13841
13842 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13843$as_echo "no" >&6; }
13844
13845$as_echo "#define OPENSSL_EVP_DIGESTUPDATE_VOID 1" >>confdefs.h
13846
13847
13848
13849fi
13850rm -f core conftest.err conftest.$ac_objext \
13851 conftest$ac_exeext conftest.$ac_ext
13852
13853 # Some systems want crypt() from libcrypt, *not* the version in OpenSSL,
13854 # because the system crypt() is more featureful.
13855 if test "x$check_for_libcrypt_before" = "x1"; then
13856 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13857$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13858if ${ac_cv_lib_crypt_crypt+:} false; then :
13859 $as_echo_n "(cached) " >&6
13860else
13861 ac_check_lib_save_LIBS=$LIBS
13862LIBS="-lcrypt $LIBS"
13863cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13864/* end confdefs.h. */
13865
13866/* Override any GCC internal prototype to avoid an error.
13867 Use char because int might match the return type of a GCC
13868 builtin and then its argument prototype would still apply. */
13869#ifdef __cplusplus
13870extern "C"
13871#endif
13872char crypt ();
13873int
13874main ()
13875{
13876return crypt ();
13877 ;
13878 return 0;
13879}
13880_ACEOF
13881if ac_fn_c_try_link "$LINENO"; then :
13882 ac_cv_lib_crypt_crypt=yes
13883else
13884 ac_cv_lib_crypt_crypt=no
13885fi
13886rm -f core conftest.err conftest.$ac_objext \
13887 conftest$ac_exeext conftest.$ac_ext
13888LIBS=$ac_check_lib_save_LIBS
13889fi
13890{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13891$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13892if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13893 cat >>confdefs.h <<_ACEOF
13894#define HAVE_LIBCRYPT 1
13895_ACEOF
13896
13897 LIBS="-lcrypt $LIBS"
13898
13899fi
13900
13901 fi
13902
13903 # Some Linux systems (Slackware) need crypt() from libcrypt, *not* the
13904 # version in OpenSSL.
13905 if test "x$check_for_libcrypt_later" = "x1"; then
13906 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13907$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13908if ${ac_cv_lib_crypt_crypt+:} false; then :
13909 $as_echo_n "(cached) " >&6
13910else
13911 ac_check_lib_save_LIBS=$LIBS
13912LIBS="-lcrypt $LIBS"
13913cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13914/* end confdefs.h. */
13915
13916/* Override any GCC internal prototype to avoid an error.
13917 Use char because int might match the return type of a GCC
13918 builtin and then its argument prototype would still apply. */
13919#ifdef __cplusplus
13920extern "C"
13921#endif
13922char crypt ();
13923int
13924main ()
13925{
13926return crypt ();
13927 ;
13928 return 0;
13929}
13930_ACEOF
13931if ac_fn_c_try_link "$LINENO"; then :
13932 ac_cv_lib_crypt_crypt=yes
13933else
13934 ac_cv_lib_crypt_crypt=no
13935fi
13936rm -f core conftest.err conftest.$ac_objext \
13937 conftest$ac_exeext conftest.$ac_ext
13938LIBS=$ac_check_lib_save_LIBS
13939fi
13940{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13941$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13942if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13943 LIBS="$LIBS -lcrypt"
13944fi
13945
13946 fi
13947 for ac_func in crypt DES_crypt
13948do :
13949 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13950ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13951if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13952 cat >>confdefs.h <<_ACEOF
13953#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13954_ACEOF
13955
13956fi
13957done
13958
13959
13960 # Check for SHA256, SHA384 and SHA512 support in OpenSSL
13961 for ac_func in EVP_sha256 EVP_sha384 EVP_sha512
13962do :
13963 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13964ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13965if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13966 cat >>confdefs.h <<_ACEOF
13967#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13968_ACEOF
13969
13970fi
13971done
13972
13973
13974 # Check complete ECC support in OpenSSL
13975 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_X9_62_prime256v1" >&5
13976$as_echo_n "checking whether OpenSSL has NID_X9_62_prime256v1... " >&6; }
13977 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13978/* end confdefs.h. */
13979
13980 #include <openssl/ec.h>
13981 #include <openssl/ecdh.h>
13982 #include <openssl/ecdsa.h>
13983 #include <openssl/evp.h>
13984 #include <openssl/objects.h>
13985 #include <openssl/opensslv.h>
13986
13987int
13988main ()
13989{
13990
13991 EC_KEY *e = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
13992 const EVP_MD *m = EVP_sha256(); /* We need this too */
13993
13994 ;
13995 return 0;
13996}
13997_ACEOF
13998if ac_fn_c_try_link "$LINENO"; then :
13999 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14000$as_echo "yes" >&6; }
14001 enable_nistp256=1
14002else
14003 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14004$as_echo "no" >&6; }
14005
14006fi
14007rm -f core conftest.err conftest.$ac_objext \
14008 conftest$ac_exeext conftest.$ac_ext
14009
14010 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp384r1" >&5
14011$as_echo_n "checking whether OpenSSL has NID_secp384r1... " >&6; }
14012 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14013/* end confdefs.h. */
14014
14015 #include <openssl/ec.h>
14016 #include <openssl/ecdh.h>
14017 #include <openssl/ecdsa.h>
14018 #include <openssl/evp.h>
14019 #include <openssl/objects.h>
14020 #include <openssl/opensslv.h>
14021
14022int
14023main ()
14024{
14025
14026 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp384r1);
14027 const EVP_MD *m = EVP_sha384(); /* We need this too */
14028
14029 ;
14030 return 0;
14031}
14032_ACEOF
14033if ac_fn_c_try_link "$LINENO"; then :
14034 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14035$as_echo "yes" >&6; }
14036 enable_nistp384=1
14037else
14038 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14039$as_echo "no" >&6; }
14040
14041fi
14042rm -f core conftest.err conftest.$ac_objext \
14043 conftest$ac_exeext conftest.$ac_ext
14044
14045 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp521r1" >&5
14046$as_echo_n "checking whether OpenSSL has NID_secp521r1... " >&6; }
14047 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14048/* end confdefs.h. */
14049
14050 #include <openssl/ec.h>
14051 #include <openssl/ecdh.h>
14052 #include <openssl/ecdsa.h>
14053 #include <openssl/evp.h>
14054 #include <openssl/objects.h>
14055 #include <openssl/opensslv.h>
14056
14057int
14058main ()
14059{
14060
14061 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1);
14062 const EVP_MD *m = EVP_sha512(); /* We need this too */
14063
14064 ;
14065 return 0;
14066}
14067_ACEOF
14068if ac_fn_c_try_link "$LINENO"; then :
14069 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14070$as_echo "yes" >&6; }
14071 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if OpenSSL's NID_secp521r1 is functional" >&5
14072$as_echo_n "checking if OpenSSL's NID_secp521r1 is functional... " >&6; }
14073 if test "$cross_compiling" = yes; then :
14074 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross-compiling: assuming yes" >&5
14075$as_echo "$as_me: WARNING: cross-compiling: assuming yes" >&2;}
14076 enable_nistp521=1
14077
14078else
14079 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14080/* end confdefs.h. */
14081
14082 #include <stdlib.h>
14083 #include <openssl/ec.h>
14084 #include <openssl/ecdh.h>
14085 #include <openssl/ecdsa.h>
14086 #include <openssl/evp.h>
14087 #include <openssl/objects.h>
14088 #include <openssl/opensslv.h>
14089
14090int
14091main ()
14092{
14093
14094 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1);
14095 const EVP_MD *m = EVP_sha512(); /* We need this too */
14096 exit(e == NULL || m == NULL);
14097
14098 ;
14099 return 0;
14100}
14101_ACEOF
14102if ac_fn_c_try_run "$LINENO"; then :
14103 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14104$as_echo "yes" >&6; }
14105 enable_nistp521=1
14106else
14107 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14108$as_echo "no" >&6; }
14109fi
14110rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14111 conftest.$ac_objext conftest.beam conftest.$ac_ext
14112fi
14113
14114else
14115 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14116$as_echo "no" >&6; }
14117
14118fi
14119rm -f core conftest.err conftest.$ac_objext \
14120 conftest$ac_exeext conftest.$ac_ext
14121
14122 COMMENT_OUT_ECC="#no ecc#"
14123 TEST_SSH_ECC=no
14124
14125 if test x$enable_nistp256 = x1 || test x$enable_nistp384 = x1 || \
14126 test x$enable_nistp521 = x1; then
14127
14128$as_echo "#define OPENSSL_HAS_ECC 1" >>confdefs.h
14129
14130 for ac_func in EC_KEY_METHOD_new
14131do :
14132 ac_fn_c_check_func "$LINENO" "EC_KEY_METHOD_new" "ac_cv_func_EC_KEY_METHOD_new"
14133if test "x$ac_cv_func_EC_KEY_METHOD_new" = xyes; then :
14134 cat >>confdefs.h <<_ACEOF
14135#define HAVE_EC_KEY_METHOD_NEW 1
14136_ACEOF
14137
14138fi
14139done
14140
14141 openssl_ecc=yes
14142 else
14143 openssl_ecc=no
14144 fi
14145 if test x$enable_nistp256 = x1; then
14146
14147$as_echo "#define OPENSSL_HAS_NISTP256 1" >>confdefs.h
14148
14149 TEST_SSH_ECC=yes
14150 COMMENT_OUT_ECC=""
14151 else
14152 unsupported_algorithms="$unsupported_algorithms \
14153 ecdsa-sha2-nistp256 \
14154 ecdh-sha2-nistp256 \
14155 ecdsa-sha2-nistp256-cert-v01@openssh.com"
14156 fi
14157 if test x$enable_nistp384 = x1; then
14158
14159$as_echo "#define OPENSSL_HAS_NISTP384 1" >>confdefs.h
14160
14161 TEST_SSH_ECC=yes
14162 COMMENT_OUT_ECC=""
14163 else
14164 unsupported_algorithms="$unsupported_algorithms \
14165 ecdsa-sha2-nistp384 \
14166 ecdh-sha2-nistp384 \
14167 ecdsa-sha2-nistp384-cert-v01@openssh.com"
14168 fi
14169 if test x$enable_nistp521 = x1; then
14170
14171$as_echo "#define OPENSSL_HAS_NISTP521 1" >>confdefs.h
14172
14173 TEST_SSH_ECC=yes
14174 COMMENT_OUT_ECC=""
14175 else
14176 unsupported_algorithms="$unsupported_algorithms \
14177 ecdh-sha2-nistp521 \
14178 ecdsa-sha2-nistp521 \
14179 ecdsa-sha2-nistp521-cert-v01@openssh.com"
14180 fi
14181
14182
14183
14184else
14185 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
14186$as_echo_n "checking for crypt in -lcrypt... " >&6; }
14187if ${ac_cv_lib_crypt_crypt+:} false; then :
14188 $as_echo_n "(cached) " >&6
14189else
14190 ac_check_lib_save_LIBS=$LIBS
14191LIBS="-lcrypt $LIBS"
14192cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14193/* end confdefs.h. */
14194
14195/* Override any GCC internal prototype to avoid an error.
14196 Use char because int might match the return type of a GCC
14197 builtin and then its argument prototype would still apply. */
14198#ifdef __cplusplus
14199extern "C"
14200#endif
14201char crypt ();
14202int
14203main ()
14204{
14205return crypt ();
14206 ;
14207 return 0;
14208}
14209_ACEOF
14210if ac_fn_c_try_link "$LINENO"; then :
14211 ac_cv_lib_crypt_crypt=yes
14212else
14213 ac_cv_lib_crypt_crypt=no
14214fi
14215rm -f core conftest.err conftest.$ac_objext \
14216 conftest$ac_exeext conftest.$ac_ext
14217LIBS=$ac_check_lib_save_LIBS
14218fi
14219{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
14220$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
14221if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
14222 LIBS="$LIBS -lcrypt"
14223fi
14224
14225 for ac_func in crypt
14226do :
14227 ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt"
14228if test "x$ac_cv_func_crypt" = xyes; then :
14229 cat >>confdefs.h <<_ACEOF
14230#define HAVE_CRYPT 1
14231_ACEOF
14232
14233fi
14234done
14235
14236fi
14237
14238# PKCS11/U2F depend on OpenSSL and dlopen().
14239enable_pkcs11=yes
14240enable_sk=yes
14241if test "x$openssl" != "xyes" ; then
14242 enable_pkcs11="disabled; missing libcrypto"
14243 enable_sk="disabled; missing libcrypto"
14244fi
14245if test "x$openssl_ecc" != "xyes" ; then
14246 enable_sk="disabled; OpenSSL has no ECC support"
14247fi
14248if test "x$ac_cv_func_dlopen" != "xyes" ; then
14249 enable_pkcs11="disabled; missing dlopen(3)"
14250 enable_sk="disabled; missing dlopen(3)"
14251fi
14252if test "x$ac_cv_have_decl_RTLD_NOW" != "xyes" ; then
14253 enable_pkcs11="disabled; missing RTLD_NOW"
14254 enable_sk="disabled; missing RTLD_NOW"
14255fi
14256if test ! -z "$disable_pkcs11" ; then
14257 enable_pkcs11="disabled by user"
14258fi
14259if test ! -z "$disable_sk" ; then
14260 enable_sk="disabled by user"
14261fi
14262
14263{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable PKCS11" >&5
14264$as_echo_n "checking whether to enable PKCS11... " >&6; }
14265if test "x$enable_pkcs11" = "xyes" ; then
14266
14267$as_echo "#define ENABLE_PKCS11 /**/" >>confdefs.h
14268
14269fi
14270{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_pkcs11" >&5
14271$as_echo "$enable_pkcs11" >&6; }
14272
14273{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable U2F" >&5
14274$as_echo_n "checking whether to enable U2F... " >&6; }
14275if test "x$enable_sk" = "xyes" ; then
14276
14277$as_echo "#define ENABLE_SK /**/" >>confdefs.h
14278
14279 SK_DUMMY_LIBRARY=regress/misc/sk-dummy/sk-dummy.so
14280
14281else
14282 # Do not try to build sk-dummy library.
14283 SK_DUMMY_LIBRARY=""
14284
14285fi
14286{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_sk" >&5
14287$as_echo "$enable_sk" >&6; }
14288
14289# Now check for built-in security key support.
14290if test "x$enable_sk" = "xyes" -a "x$enable_sk_internal" = "xyes" ; then
14291 if test -n "$ac_tool_prefix"; then
14292 # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
14293set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
14294{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14295$as_echo_n "checking for $ac_word... " >&6; }
14296if ${ac_cv_path_PKGCONFIG+:} false; then :
14297 $as_echo_n "(cached) " >&6
14298else
14299 case $PKGCONFIG in
14300 [\\/]* | ?:[\\/]*)
14301 ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
14302 ;;
14303 *)
14304 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14305for as_dir in $PATH
14306do
14307 IFS=$as_save_IFS
14308 test -z "$as_dir" && as_dir=.
14309 for ac_exec_ext in '' $ac_executable_extensions; do
14310 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
14311 ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
14312 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14313 break 2
14314 fi
14315done
14316 done
14317IFS=$as_save_IFS
14318
14319 ;;
14320esac
14321fi
14322PKGCONFIG=$ac_cv_path_PKGCONFIG
14323if test -n "$PKGCONFIG"; then
14324 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
14325$as_echo "$PKGCONFIG" >&6; }
14326else
14327 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14328$as_echo "no" >&6; }
14329fi
14330
14331
14332fi
14333if test -z "$ac_cv_path_PKGCONFIG"; then
14334 ac_pt_PKGCONFIG=$PKGCONFIG
14335 # Extract the first word of "pkg-config", so it can be a program name with args.
14336set dummy pkg-config; ac_word=$2
14337{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14338$as_echo_n "checking for $ac_word... " >&6; }
14339if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
14340 $as_echo_n "(cached) " >&6
14341else
14342 case $ac_pt_PKGCONFIG in
14343 [\\/]* | ?:[\\/]*)
14344 ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
14345 ;;
14346 *)
14347 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14348for as_dir in $PATH
14349do
14350 IFS=$as_save_IFS
14351 test -z "$as_dir" && as_dir=.
14352 for ac_exec_ext in '' $ac_executable_extensions; do
14353 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
14354 ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
14355 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14356 break 2
14357 fi
14358done
14359 done
14360IFS=$as_save_IFS
14361
14362 ;;
14363esac
14364fi
14365ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
14366if test -n "$ac_pt_PKGCONFIG"; then
14367 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
14368$as_echo "$ac_pt_PKGCONFIG" >&6; }
14369else
14370 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14371$as_echo "no" >&6; }
14372fi
14373
14374 if test "x$ac_pt_PKGCONFIG" = x; then
14375 PKGCONFIG="no"
14376 else
14377 case $cross_compiling:$ac_tool_warned in
14378yes:)
14379{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
14380$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
14381ac_tool_warned=yes ;;
14382esac
14383 PKGCONFIG=$ac_pt_PKGCONFIG
14384 fi
14385else
14386 PKGCONFIG="$ac_cv_path_PKGCONFIG"
14387fi
14388
14389 use_pkgconfig_for_libfido2=
14390 if test "x$PKGCONFIG" != "xno"; then
14391 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $PKGCONFIG knows about libfido2" >&5
14392$as_echo_n "checking if $PKGCONFIG knows about libfido2... " >&6; }
14393 if "$PKGCONFIG" libfido2; then
14394 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14395$as_echo "yes" >&6; }
14396 use_pkgconfig_for_libfido2=yes
14397 else
14398 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14399$as_echo "no" >&6; }
14400 fi
14401 fi
14402 if test "x$use_pkgconfig_for_libfido2" = "xyes"; then
14403 LIBFIDO2=`$PKGCONFIG --libs libfido2`
14404 CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags libfido2`"
14405 else
14406 LIBFIDO2="-lfido2 -lcbor"
14407 fi
14408 OTHERLIBS=`echo $LIBFIDO2 | sed 's/-lfido2//'`
14409 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fido_init in -lfido2" >&5
14410$as_echo_n "checking for fido_init in -lfido2... " >&6; }
14411if ${ac_cv_lib_fido2_fido_init+:} false; then :
14412 $as_echo_n "(cached) " >&6
14413else
14414 ac_check_lib_save_LIBS=$LIBS
14415LIBS="-lfido2 $OTHERLIBS
14416 $LIBS"
14417cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14418/* end confdefs.h. */
14419
14420/* Override any GCC internal prototype to avoid an error.
14421 Use char because int might match the return type of a GCC
14422 builtin and then its argument prototype would still apply. */
14423#ifdef __cplusplus
14424extern "C"
14425#endif
14426char fido_init ();
14427int
14428main ()
14429{
14430return fido_init ();
14431 ;
14432 return 0;
14433}
14434_ACEOF
14435if ac_fn_c_try_link "$LINENO"; then :
14436 ac_cv_lib_fido2_fido_init=yes
14437else
14438 ac_cv_lib_fido2_fido_init=no
14439fi
14440rm -f core conftest.err conftest.$ac_objext \
14441 conftest$ac_exeext conftest.$ac_ext
14442LIBS=$ac_check_lib_save_LIBS
14443fi
14444{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fido2_fido_init" >&5
14445$as_echo "$ac_cv_lib_fido2_fido_init" >&6; }
14446if test "x$ac_cv_lib_fido2_fido_init" = xyes; then :
14447
14448
14449
14450$as_echo "#define ENABLE_SK_INTERNAL /**/" >>confdefs.h
14451
14452 enable_sk="built-in"
14453
14454else
14455 as_fn_error $? "no usable libfido2 found" "$LINENO" 5
14456fi
14457
14458 saved_LIBS="$LIBS"
14459 LIBS="$LIBS $LIBFIDO2"
14460 for ac_func in \
14461 fido_cred_prot \
14462 fido_cred_set_prot \
14463 fido_dev_get_touch_begin \
14464 fido_dev_get_touch_status \
14465 fido_dev_supports_cred_prot \
14466
14467do :
14468 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
14469ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
14470if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
14471 cat >>confdefs.h <<_ACEOF
14472#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
14473_ACEOF
14474
14475fi
14476done
14477
14478 LIBS="$saved_LIBS"
14479 ac_fn_c_check_header_mongrel "$LINENO" "fido.h" "ac_cv_header_fido_h" "$ac_includes_default"
14480if test "x$ac_cv_header_fido_h" = xyes; then :
14481
14482else
14483 as_fn_error $? "missing fido.h from libfido2" "$LINENO" 5
14484fi
14485
14486
14487 ac_fn_c_check_header_compile "$LINENO" "fido/credman.h" "ac_cv_header_fido_credman_h" "#include <fido.h>
14488
14489"
14490if test "x$ac_cv_header_fido_credman_h" = xyes; then :
14491
14492else
14493 as_fn_error $? "missing fido/credman.h from libfido2" "$LINENO" 5
14494fi
14495
14496
14497fi
14498
14499for ac_func in \
14500 arc4random \
14501 arc4random_buf \
14502 arc4random_stir \
14503 arc4random_uniform \
14504
14505do :
14506 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
14507ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
14508if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
14509 cat >>confdefs.h <<_ACEOF
14510#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
14511_ACEOF
14512
14513fi
14514done
14515
14516
14517saved_LIBS="$LIBS"
14518{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ia_openinfo in -liaf" >&5
14519$as_echo_n "checking for ia_openinfo in -liaf... " >&6; }
14520if ${ac_cv_lib_iaf_ia_openinfo+:} false; then :
14521 $as_echo_n "(cached) " >&6
14522else
14523 ac_check_lib_save_LIBS=$LIBS
14524LIBS="-liaf $LIBS"
14525cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14526/* end confdefs.h. */
14527
14528/* Override any GCC internal prototype to avoid an error.
14529 Use char because int might match the return type of a GCC
14530 builtin and then its argument prototype would still apply. */
14531#ifdef __cplusplus
14532extern "C"
14533#endif
14534char ia_openinfo ();
14535int
14536main ()
14537{
14538return ia_openinfo ();
14539 ;
14540 return 0;
14541}
14542_ACEOF
14543if ac_fn_c_try_link "$LINENO"; then :
14544 ac_cv_lib_iaf_ia_openinfo=yes
14545else
14546 ac_cv_lib_iaf_ia_openinfo=no
14547fi
14548rm -f core conftest.err conftest.$ac_objext \
14549 conftest$ac_exeext conftest.$ac_ext
14550LIBS=$ac_check_lib_save_LIBS
14551fi
14552{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iaf_ia_openinfo" >&5
14553$as_echo "$ac_cv_lib_iaf_ia_openinfo" >&6; }
14554if test "x$ac_cv_lib_iaf_ia_openinfo" = xyes; then :
14555
14556 LIBS="$LIBS -liaf"
14557 for ac_func in set_id
14558do :
14559 ac_fn_c_check_func "$LINENO" "set_id" "ac_cv_func_set_id"
14560if test "x$ac_cv_func_set_id" = xyes; then :
14561 cat >>confdefs.h <<_ACEOF
14562#define HAVE_SET_ID 1
14563_ACEOF
14564 SSHDLIBS="$SSHDLIBS -liaf"
14565
14566$as_echo "#define HAVE_LIBIAF 1" >>confdefs.h
14567
14568
14569fi
14570done
14571
14572
14573fi
14574
14575LIBS="$saved_LIBS"
14576
14577### Configure cryptographic random number support
14578
14579# Check whether OpenSSL seeds itself
14580if test "x$openssl" = "xyes" ; then
14581 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's PRNG is internally seeded" >&5
14582$as_echo_n "checking whether OpenSSL's PRNG is internally seeded... " >&6; }
14583 if test "$cross_compiling" = yes; then :
14584
14585 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14586$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14587 # This is safe, since we will fatal() at runtime if
14588 # OpenSSL is not seeded correctly.
14589 OPENSSL_SEEDS_ITSELF=yes
14590
14591
14592else
14593 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14594/* end confdefs.h. */
14595
14596 #include <stdlib.h>
14597 #include <string.h>
14598 #include <openssl/rand.h>
14599
14600int
14601main ()
14602{
14603
14604 exit(RAND_status() == 1 ? 0 : 1);
14605
14606 ;
14607 return 0;
14608}
14609_ACEOF
14610if ac_fn_c_try_run "$LINENO"; then :
14611
14612 OPENSSL_SEEDS_ITSELF=yes
14613 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14614$as_echo "yes" >&6; }
14615
14616else
14617
14618 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14619$as_echo "no" >&6; }
14620
14621fi
14622rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14623 conftest.$ac_objext conftest.beam conftest.$ac_ext
14624fi
14625
14626fi
14627
14628# PRNGD TCP socket
14629
14630# Check whether --with-prngd-port was given.
14631if test "${with_prngd_port+set}" = set; then :
14632 withval=$with_prngd_port;
14633 case "$withval" in
14634 no)
14635 withval=""
14636 ;;
14637 [0-9]*)
14638 ;;
14639 *)
14640 as_fn_error $? "You must specify a numeric port number for --with-prngd-port" "$LINENO" 5
14641 ;;
14642 esac
14643 if test ! -z "$withval" ; then
14644 PRNGD_PORT="$withval"
14645
14646cat >>confdefs.h <<_ACEOF
14647#define PRNGD_PORT $PRNGD_PORT
14648_ACEOF
14649
14650 fi
14651
14652
14653fi
14654
14655
14656# PRNGD Unix domain socket
14657
14658# Check whether --with-prngd-socket was given.
14659if test "${with_prngd_socket+set}" = set; then :
14660 withval=$with_prngd_socket;
14661 case "$withval" in
14662 yes)
14663 withval="/var/run/egd-pool"
14664 ;;
14665 no)
14666 withval=""
14667 ;;
14668 /*)
14669 ;;
14670 *)
14671 as_fn_error $? "You must specify an absolute path to the entropy socket" "$LINENO" 5
14672 ;;
14673 esac
14674
14675 if test ! -z "$withval" ; then
14676 if test ! -z "$PRNGD_PORT" ; then
14677 as_fn_error $? "You may not specify both a PRNGD/EGD port and socket" "$LINENO" 5
14678 fi
14679 if test ! -r "$withval" ; then
14680 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Entropy socket is not readable" >&5
14681$as_echo "$as_me: WARNING: Entropy socket is not readable" >&2;}
14682 fi
14683 PRNGD_SOCKET="$withval"
14684
14685cat >>confdefs.h <<_ACEOF
14686#define PRNGD_SOCKET "$PRNGD_SOCKET"
14687_ACEOF
14688
14689 fi
14690
14691else
14692
14693 # Check for existing socket only if we don't have a random device already
14694 if test "x$OPENSSL_SEEDS_ITSELF" != "xyes" ; then
14695 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PRNGD/EGD socket" >&5
14696$as_echo_n "checking for PRNGD/EGD socket... " >&6; }
14697 # Insert other locations here
14698 for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do
14699 if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then
14700 PRNGD_SOCKET="$sock"
14701 cat >>confdefs.h <<_ACEOF
14702#define PRNGD_SOCKET "$PRNGD_SOCKET"
14703_ACEOF
14704
14705 break;
14706 fi
14707 done
14708 if test ! -z "$PRNGD_SOCKET" ; then
14709 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRNGD_SOCKET" >&5
14710$as_echo "$PRNGD_SOCKET" >&6; }
14711 else
14712 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
14713$as_echo "not found" >&6; }
14714 fi
14715 fi
14716
14717
14718fi
14719
14720
14721# Which randomness source do we use?
14722if test ! -z "$PRNGD_PORT" ; then
14723 RAND_MSG="PRNGd port $PRNGD_PORT"
14724elif test ! -z "$PRNGD_SOCKET" ; then
14725 RAND_MSG="PRNGd socket $PRNGD_SOCKET"
14726elif test ! -z "$OPENSSL_SEEDS_ITSELF" ; then
14727
14728$as_echo "#define OPENSSL_PRNG_ONLY 1" >>confdefs.h
14729
14730 RAND_MSG="OpenSSL internal ONLY"
14731elif test "x$openssl" = "xno" ; then
14732 { $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
14733$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;}
14734else
14735 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
14736fi
14737
14738# Check for PAM libs
14739PAM_MSG="no"
14740
14741# Check whether --with-pam was given.
14742if test "${with_pam+set}" = set; then :
14743 withval=$with_pam;
14744 if test "x$withval" != "xno" ; then
14745 if test "x$ac_cv_header_security_pam_appl_h" != "xyes" && \
14746 test "x$ac_cv_header_pam_pam_appl_h" != "xyes" ; then
14747 as_fn_error $? "PAM headers not found" "$LINENO" 5
14748 fi
14749
14750 saved_LIBS="$LIBS"
14751 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
14752$as_echo_n "checking for dlopen in -ldl... " >&6; }
14753if ${ac_cv_lib_dl_dlopen+:} false; then :
14754 $as_echo_n "(cached) " >&6
14755else
14756 ac_check_lib_save_LIBS=$LIBS
14757LIBS="-ldl $LIBS"
14758cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14759/* end confdefs.h. */
14760
14761/* Override any GCC internal prototype to avoid an error.
14762 Use char because int might match the return type of a GCC
14763 builtin and then its argument prototype would still apply. */
14764#ifdef __cplusplus
14765extern "C"
14766#endif
14767char dlopen ();
14768int
14769main ()
14770{
14771return dlopen ();
14772 ;
14773 return 0;
14774}
14775_ACEOF
14776if ac_fn_c_try_link "$LINENO"; then :
14777 ac_cv_lib_dl_dlopen=yes
14778else
14779 ac_cv_lib_dl_dlopen=no
14780fi
14781rm -f core conftest.err conftest.$ac_objext \
14782 conftest$ac_exeext conftest.$ac_ext
14783LIBS=$ac_check_lib_save_LIBS
14784fi
14785{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
14786$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
14787if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
14788 cat >>confdefs.h <<_ACEOF
14789#define HAVE_LIBDL 1
14790_ACEOF
14791
14792 LIBS="-ldl $LIBS"
14793
14794fi
14795
14796 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_set_item in -lpam" >&5
14797$as_echo_n "checking for pam_set_item in -lpam... " >&6; }
14798if ${ac_cv_lib_pam_pam_set_item+:} false; then :
14799 $as_echo_n "(cached) " >&6
14800else
14801 ac_check_lib_save_LIBS=$LIBS
14802LIBS="-lpam $LIBS"
14803cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14804/* end confdefs.h. */
14805
14806/* Override any GCC internal prototype to avoid an error.
14807 Use char because int might match the return type of a GCC
14808 builtin and then its argument prototype would still apply. */
14809#ifdef __cplusplus
14810extern "C"
14811#endif
14812char pam_set_item ();
14813int
14814main ()
14815{
14816return pam_set_item ();
14817 ;
14818 return 0;
14819}
14820_ACEOF
14821if ac_fn_c_try_link "$LINENO"; then :
14822 ac_cv_lib_pam_pam_set_item=yes
14823else
14824 ac_cv_lib_pam_pam_set_item=no
14825fi
14826rm -f core conftest.err conftest.$ac_objext \
14827 conftest$ac_exeext conftest.$ac_ext
14828LIBS=$ac_check_lib_save_LIBS
14829fi
14830{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_set_item" >&5
14831$as_echo "$ac_cv_lib_pam_pam_set_item" >&6; }
14832if test "x$ac_cv_lib_pam_pam_set_item" = xyes; then :
14833 cat >>confdefs.h <<_ACEOF
14834#define HAVE_LIBPAM 1
14835_ACEOF
14836
14837 LIBS="-lpam $LIBS"
14838
14839else
14840 as_fn_error $? "*** libpam missing" "$LINENO" 5
14841fi
14842
14843 for ac_func in pam_getenvlist
14844do :
14845 ac_fn_c_check_func "$LINENO" "pam_getenvlist" "ac_cv_func_pam_getenvlist"
14846if test "x$ac_cv_func_pam_getenvlist" = xyes; then :
14847 cat >>confdefs.h <<_ACEOF
14848#define HAVE_PAM_GETENVLIST 1
14849_ACEOF
14850
14851fi
14852done
14853
14854 for ac_func in pam_putenv
14855do :
14856 ac_fn_c_check_func "$LINENO" "pam_putenv" "ac_cv_func_pam_putenv"
14857if test "x$ac_cv_func_pam_putenv" = xyes; then :
14858 cat >>confdefs.h <<_ACEOF
14859#define HAVE_PAM_PUTENV 1
14860_ACEOF
14861
14862fi
14863done
14864
14865 LIBS="$saved_LIBS"
14866
14867 PAM_MSG="yes"
14868
14869 SSHDLIBS="$SSHDLIBS -lpam"
14870
14871$as_echo "#define USE_PAM 1" >>confdefs.h
14872
14873
14874 if test $ac_cv_lib_dl_dlopen = yes; then
14875 case "$LIBS" in
14876 *-ldl*)
14877 # libdl already in LIBS
14878 ;;
14879 *)
14880 SSHDLIBS="$SSHDLIBS -ldl"
14881 ;;
14882 esac
14883 fi
14884 fi
14885
14886
14887fi
14888
14889
14890
14891# Check whether --with-pam-service was given.
14892if test "${with_pam_service+set}" = set; then :
14893 withval=$with_pam_service;
14894 if test "x$withval" != "xno" && \
14895 test "x$withval" != "xyes" ; then
14896
14897cat >>confdefs.h <<_ACEOF
14898#define SSHD_PAM_SERVICE "$withval"
14899_ACEOF
14900
14901 fi
14902
14903
14904fi
14905
14906
14907# Check for older PAM
14908if test "x$PAM_MSG" = "xyes" ; then
14909 # Check PAM strerror arguments (old PAM)
14910 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pam_strerror takes only one argument" >&5
14911$as_echo_n "checking whether pam_strerror takes only one argument... " >&6; }
14912 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14913/* end confdefs.h. */
14914
14915#include <stdlib.h>
14916#if defined(HAVE_SECURITY_PAM_APPL_H)
14917#include <security/pam_appl.h>
14918#elif defined (HAVE_PAM_PAM_APPL_H)
14919#include <pam/pam_appl.h>
14920#endif
14921
14922int
14923main ()
14924{
14925
14926(void)pam_strerror((pam_handle_t *)NULL, -1);
14927
14928 ;
14929 return 0;
14930}
14931_ACEOF
14932if ac_fn_c_try_compile "$LINENO"; then :
14933 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14934$as_echo "no" >&6; }
14935else
14936
14937
14938$as_echo "#define HAVE_OLD_PAM 1" >>confdefs.h
14939
14940 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14941$as_echo "yes" >&6; }
14942 PAM_MSG="yes (old library)"
14943
14944
14945fi
14946rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14947fi
14948
14949case "$host" in
14950*-*-cygwin*)
14951 SSH_PRIVSEP_USER=CYGWIN_SSH_PRIVSEP_USER
14952 ;;
14953*)
14954 SSH_PRIVSEP_USER=sshd
14955 ;;
14956esac
14957
14958# Check whether --with-privsep-user was given.
14959if test "${with_privsep_user+set}" = set; then :
14960 withval=$with_privsep_user;
14961 if test -n "$withval" && test "x$withval" != "xno" && \
14962 test "x${withval}" != "xyes"; then
14963 SSH_PRIVSEP_USER=$withval
14964 fi
14965
14966
14967fi
14968
14969if test "x$SSH_PRIVSEP_USER" = "xCYGWIN_SSH_PRIVSEP_USER" ; then
14970
14971cat >>confdefs.h <<_ACEOF
14972#define SSH_PRIVSEP_USER CYGWIN_SSH_PRIVSEP_USER
14973_ACEOF
14974
14975else
14976
14977cat >>confdefs.h <<_ACEOF
14978#define SSH_PRIVSEP_USER "$SSH_PRIVSEP_USER"
14979_ACEOF
14980
14981fi
14982
14983
14984if test "x$have_linux_no_new_privs" = "x1" ; then
14985ac_fn_c_check_decl "$LINENO" "SECCOMP_MODE_FILTER" "ac_cv_have_decl_SECCOMP_MODE_FILTER" "
14986 #include <sys/types.h>
14987 #include <linux/seccomp.h>
14988
14989"
14990if test "x$ac_cv_have_decl_SECCOMP_MODE_FILTER" = xyes; then :
14991 have_seccomp_filter=1
14992fi
14993
14994fi
14995if test "x$have_seccomp_filter" = "x1" ; then
14996{ $as_echo "$as_me:${as_lineno-$LINENO}: checking kernel for seccomp_filter support" >&5
14997$as_echo_n "checking kernel for seccomp_filter support... " >&6; }
14998cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14999/* end confdefs.h. */
15000
15001 #include <errno.h>
15002 #include <elf.h>
15003 #include <linux/audit.h>
15004 #include <linux/seccomp.h>
15005 #include <stdlib.h>
15006 #include <sys/prctl.h>
15007
15008int
15009main ()
15010{
15011 int i = $seccomp_audit_arch;
15012 errno = 0;
15013 prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, NULL, 0, 0);
15014 exit(errno == EFAULT ? 0 : 1);
15015 ;
15016 return 0;
15017}
15018_ACEOF
15019if ac_fn_c_try_link "$LINENO"; then :
15020 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15021$as_echo "yes" >&6; }
15022else
15023
15024 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15025$as_echo "no" >&6; }
15026 # Disable seccomp filter as a target
15027 have_seccomp_filter=0
15028
15029
15030fi
15031rm -f core conftest.err conftest.$ac_objext \
15032 conftest$ac_exeext conftest.$ac_ext
15033fi
15034
15035# Decide which sandbox style to use
15036sandbox_arg=""
15037
15038# Check whether --with-sandbox was given.
15039if test "${with_sandbox+set}" = set; then :
15040 withval=$with_sandbox;
15041 if test "x$withval" = "xyes" ; then
15042 sandbox_arg=""
15043 else
15044 sandbox_arg="$withval"
15045 fi
15046
15047
15048fi
15049
15050
15051# Some platforms (seems to be the ones that have a kernel poll(2)-type
15052# function with which they implement select(2)) use an extra file descriptor
15053# when calling select(2), which means we can't use the rlimit sandbox.
15054{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if select works with descriptor rlimit" >&5
15055$as_echo_n "checking if select works with descriptor rlimit... " >&6; }
15056if test "$cross_compiling" = yes; then :
15057 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
15058$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
15059 select_works_with_rlimit=yes
15060
15061else
15062 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15063/* end confdefs.h. */
15064
15065#include <sys/types.h>
15066#ifdef HAVE_SYS_TIME_H
15067# include <sys/time.h>
15068#endif
15069#include <sys/resource.h>
15070#ifdef HAVE_SYS_SELECT_H
15071# include <sys/select.h>
15072#endif
15073#include <errno.h>
15074#include <fcntl.h>
15075#include <stdlib.h>
15076
15077int
15078main ()
15079{
15080
15081 struct rlimit rl_zero;
15082 int fd, r;
15083 fd_set fds;
15084 struct timeval tv;
15085
15086 fd = open("/dev/null", O_RDONLY);
15087 FD_ZERO(&fds);
15088 FD_SET(fd, &fds);
15089 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
15090 setrlimit(RLIMIT_FSIZE, &rl_zero);
15091 setrlimit(RLIMIT_NOFILE, &rl_zero);
15092 tv.tv_sec = 1;
15093 tv.tv_usec = 0;
15094 r = select(fd+1, &fds, NULL, NULL, &tv);
15095 exit (r == -1 ? 1 : 0);
15096
15097 ;
15098 return 0;
15099}
15100_ACEOF
15101if ac_fn_c_try_run "$LINENO"; then :
15102 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15103$as_echo "yes" >&6; }
15104 select_works_with_rlimit=yes
15105else
15106 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15107$as_echo "no" >&6; }
15108 select_works_with_rlimit=no
15109fi
15110rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
15111 conftest.$ac_objext conftest.beam conftest.$ac_ext
15112fi
15113
15114
15115{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit(RLIMIT_NOFILE,{0,0}) works" >&5
15116$as_echo_n "checking if setrlimit(RLIMIT_NOFILE,{0,0}) works... " >&6; }
15117if test "$cross_compiling" = yes; then :
15118 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
15119$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
15120 rlimit_nofile_zero_works=yes
15121
15122else
15123 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15124/* end confdefs.h. */
15125
15126#include <sys/types.h>
15127#ifdef HAVE_SYS_TIME_H
15128# include <sys/time.h>
15129#endif
15130#include <sys/resource.h>
15131#include <errno.h>
15132#include <stdlib.h>
15133
15134int
15135main ()
15136{
15137
15138 struct rlimit rl_zero;
15139 int r;
15140
15141 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
15142 r = setrlimit(RLIMIT_NOFILE, &rl_zero);
15143 exit (r == -1 ? 1 : 0);
15144
15145 ;
15146 return 0;
15147}
15148_ACEOF
15149if ac_fn_c_try_run "$LINENO"; then :
15150 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15151$as_echo "yes" >&6; }
15152 rlimit_nofile_zero_works=yes
15153else
15154 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15155$as_echo "no" >&6; }
15156 rlimit_nofile_zero_works=no
15157fi
15158rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
15159 conftest.$ac_objext conftest.beam conftest.$ac_ext
15160fi
15161
15162
15163{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit RLIMIT_FSIZE works" >&5
15164$as_echo_n "checking if setrlimit RLIMIT_FSIZE works... " >&6; }
15165if test "$cross_compiling" = yes; then :
15166 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
15167$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
15168
15169else
15170 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15171/* end confdefs.h. */
15172
15173#include <sys/types.h>
15174#include <sys/resource.h>
15175#include <stdlib.h>
15176
15177int
15178main ()
15179{
15180
15181 struct rlimit rl_zero;
15182
15183 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
15184 exit(setrlimit(RLIMIT_FSIZE, &rl_zero) != 0);
15185
15186 ;
15187 return 0;
15188}
15189_ACEOF
15190if ac_fn_c_try_run "$LINENO"; then :
15191 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15192$as_echo "yes" >&6; }
15193else
15194 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15195$as_echo "no" >&6; }
15196
15197$as_echo "#define SANDBOX_SKIP_RLIMIT_FSIZE 1" >>confdefs.h
15198
15199fi
15200rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
15201 conftest.$ac_objext conftest.beam conftest.$ac_ext
15202fi
15203
15204
15205if test "x$sandbox_arg" = "xpledge" || \
15206 ( test -z "$sandbox_arg" && test "x$ac_cv_func_pledge" = "xyes" ) ; then
15207 test "x$ac_cv_func_pledge" != "xyes" && \
15208 as_fn_error $? "pledge sandbox requires pledge(2) support" "$LINENO" 5
15209 SANDBOX_STYLE="pledge"
15210
15211$as_echo "#define SANDBOX_PLEDGE 1" >>confdefs.h
15212
15213elif test "x$sandbox_arg" = "xsystrace" || \
15214 ( test -z "$sandbox_arg" && test "x$have_systr_policy_kill" = "x1" ) ; then
15215 test "x$have_systr_policy_kill" != "x1" && \
15216 as_fn_error $? "systrace sandbox requires systrace headers and SYSTR_POLICY_KILL support" "$LINENO" 5
15217 SANDBOX_STYLE="systrace"
15218
15219$as_echo "#define SANDBOX_SYSTRACE 1" >>confdefs.h
15220
15221elif test "x$sandbox_arg" = "xdarwin" || \
15222 ( test -z "$sandbox_arg" && test "x$ac_cv_func_sandbox_init" = "xyes" && \
15223 test "x$ac_cv_header_sandbox_h" = "xyes") ; then
15224 test "x$ac_cv_func_sandbox_init" != "xyes" -o \
15225 "x$ac_cv_header_sandbox_h" != "xyes" && \
15226 as_fn_error $? "Darwin seatbelt sandbox requires sandbox.h and sandbox_init function" "$LINENO" 5
15227 SANDBOX_STYLE="darwin"
15228
15229$as_echo "#define SANDBOX_DARWIN 1" >>confdefs.h
15230
15231elif test "x$sandbox_arg" = "xseccomp_filter" || \
15232 ( test -z "$sandbox_arg" && \
15233 test "x$have_seccomp_filter" = "x1" && \
15234 test "x$ac_cv_header_elf_h" = "xyes" && \
15235 test "x$ac_cv_header_linux_audit_h" = "xyes" && \
15236 test "x$ac_cv_header_linux_filter_h" = "xyes" && \
15237 test "x$seccomp_audit_arch" != "x" && \
15238 test "x$have_linux_no_new_privs" = "x1" && \
15239 test "x$ac_cv_func_prctl" = "xyes" ) ; then
15240 test "x$seccomp_audit_arch" = "x" && \
15241 as_fn_error $? "seccomp_filter sandbox not supported on $host" "$LINENO" 5
15242 test "x$have_linux_no_new_privs" != "x1" && \
15243 as_fn_error $? "seccomp_filter sandbox requires PR_SET_NO_NEW_PRIVS" "$LINENO" 5
15244 test "x$have_seccomp_filter" != "x1" && \
15245 as_fn_error $? "seccomp_filter sandbox requires seccomp headers" "$LINENO" 5
15246 test "x$ac_cv_func_prctl" != "xyes" && \
15247 as_fn_error $? "seccomp_filter sandbox requires prctl function" "$LINENO" 5
15248 SANDBOX_STYLE="seccomp_filter"
15249
15250$as_echo "#define SANDBOX_SECCOMP_FILTER 1" >>confdefs.h
15251
15252elif test "x$sandbox_arg" = "xcapsicum" || \
15253 ( test -z "$sandbox_arg" && \
15254 test "x$ac_cv_header_sys_capsicum_h" = "xyes" && \
15255 test "x$ac_cv_func_cap_rights_limit" = "xyes") ; then
15256 test "x$ac_cv_header_sys_capsicum_h" != "xyes" && \
15257 as_fn_error $? "capsicum sandbox requires sys/capsicum.h header" "$LINENO" 5
15258 test "x$ac_cv_func_cap_rights_limit" != "xyes" && \
15259 as_fn_error $? "capsicum sandbox requires cap_rights_limit function" "$LINENO" 5
15260 SANDBOX_STYLE="capsicum"
15261
15262$as_echo "#define SANDBOX_CAPSICUM 1" >>confdefs.h
15263
15264elif test "x$sandbox_arg" = "xrlimit" || \
15265 ( test -z "$sandbox_arg" && test "x$ac_cv_func_setrlimit" = "xyes" && \
15266 test "x$select_works_with_rlimit" = "xyes" && \
15267 test "x$rlimit_nofile_zero_works" = "xyes" ) ; then
15268 test "x$ac_cv_func_setrlimit" != "xyes" && \
15269 as_fn_error $? "rlimit sandbox requires setrlimit function" "$LINENO" 5
15270 test "x$select_works_with_rlimit" != "xyes" && \
15271 as_fn_error $? "rlimit sandbox requires select to work with rlimit" "$LINENO" 5
15272 SANDBOX_STYLE="rlimit"
15273
15274$as_echo "#define SANDBOX_RLIMIT 1" >>confdefs.h
15275
15276elif test "x$sandbox_arg" = "xsolaris" || \
15277 ( test -z "$sandbox_arg" && test "x$SOLARIS_PRIVS" = "xyes" ) ; then
15278 SANDBOX_STYLE="solaris"
15279
15280$as_echo "#define SANDBOX_SOLARIS 1" >>confdefs.h
15281
15282elif test -z "$sandbox_arg" || test "x$sandbox_arg" = "xno" || \
15283 test "x$sandbox_arg" = "xnone" || test "x$sandbox_arg" = "xnull" ; then
15284 SANDBOX_STYLE="none"
15285
15286$as_echo "#define SANDBOX_NULL 1" >>confdefs.h
15287
15288else
15289 as_fn_error $? "unsupported --with-sandbox" "$LINENO" 5
15290fi
15291
15292# Cheap hack to ensure NEWS-OS libraries are arranged right.
15293if test ! -z "$SONY" ; then
15294 LIBS="$LIBS -liberty";
15295fi
15296
15297# Check for long long datatypes
15298ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
15299if test "x$ac_cv_type_long_long" = xyes; then :
15300
15301cat >>confdefs.h <<_ACEOF
15302#define HAVE_LONG_LONG 1
15303_ACEOF
15304
15305
15306fi
15307ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default"
15308if test "x$ac_cv_type_unsigned_long_long" = xyes; then :
15309
15310cat >>confdefs.h <<_ACEOF
15311#define HAVE_UNSIGNED_LONG_LONG 1
15312_ACEOF
15313
15314
15315fi
15316ac_fn_c_check_type "$LINENO" "long double" "ac_cv_type_long_double" "$ac_includes_default"
15317if test "x$ac_cv_type_long_double" = xyes; then :
15318
15319cat >>confdefs.h <<_ACEOF
15320#define HAVE_LONG_DOUBLE 1
15321_ACEOF
15322
15323
15324fi
15325
15326
15327# Check datatype sizes
15328# The cast to long int works around a bug in the HP C Compiler
15329# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
15330# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
15331# This bug is HP SR number 8606223364.
15332{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short int" >&5
15333$as_echo_n "checking size of short int... " >&6; }
15334if ${ac_cv_sizeof_short_int+:} false; then :
15335 $as_echo_n "(cached) " >&6
15336else
15337 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short int))" "ac_cv_sizeof_short_int" "$ac_includes_default"; then :
15338
15339else
15340 if test "$ac_cv_type_short_int" = yes; then
15341 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15342$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15343as_fn_error 77 "cannot compute sizeof (short int)
15344See \`config.log' for more details" "$LINENO" 5; }
15345 else
15346 ac_cv_sizeof_short_int=0
15347 fi
15348fi
15349
15350fi
15351{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short_int" >&5
15352$as_echo "$ac_cv_sizeof_short_int" >&6; }
15353
15354
15355
15356cat >>confdefs.h <<_ACEOF
15357#define SIZEOF_SHORT_INT $ac_cv_sizeof_short_int
15358_ACEOF
15359
15360
15361# The cast to long int works around a bug in the HP C Compiler
15362# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
15363# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
15364# This bug is HP SR number 8606223364.
15365{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
15366$as_echo_n "checking size of int... " >&6; }
15367if ${ac_cv_sizeof_int+:} false; then :
15368 $as_echo_n "(cached) " >&6
15369else
15370 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
15371
15372else
15373 if test "$ac_cv_type_int" = yes; then
15374 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15375$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15376as_fn_error 77 "cannot compute sizeof (int)
15377See \`config.log' for more details" "$LINENO" 5; }
15378 else
15379 ac_cv_sizeof_int=0
15380 fi
15381fi
15382
15383fi
15384{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
15385$as_echo "$ac_cv_sizeof_int" >&6; }
15386
15387
15388
15389cat >>confdefs.h <<_ACEOF
15390#define SIZEOF_INT $ac_cv_sizeof_int
15391_ACEOF
15392
15393
15394# The cast to long int works around a bug in the HP C Compiler
15395# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
15396# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
15397# This bug is HP SR number 8606223364.
15398{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long int" >&5
15399$as_echo_n "checking size of long int... " >&6; }
15400if ${ac_cv_sizeof_long_int+:} false; then :
15401 $as_echo_n "(cached) " >&6
15402else
15403 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then :
15404
15405else
15406 if test "$ac_cv_type_long_int" = yes; then
15407 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15408$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15409as_fn_error 77 "cannot compute sizeof (long int)
15410See \`config.log' for more details" "$LINENO" 5; }
15411 else
15412 ac_cv_sizeof_long_int=0
15413 fi
15414fi
15415
15416fi
15417{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_int" >&5
15418$as_echo "$ac_cv_sizeof_long_int" >&6; }
15419
15420
15421
15422cat >>confdefs.h <<_ACEOF
15423#define SIZEOF_LONG_INT $ac_cv_sizeof_long_int
15424_ACEOF
15425
15426
15427# The cast to long int works around a bug in the HP C Compiler
15428# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
15429# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
15430# This bug is HP SR number 8606223364.
15431{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long int" >&5
15432$as_echo_n "checking size of long long int... " >&6; }
15433if ${ac_cv_sizeof_long_long_int+:} false; then :
15434 $as_echo_n "(cached) " >&6
15435else
15436 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long int))" "ac_cv_sizeof_long_long_int" "$ac_includes_default"; then :
15437
15438else
15439 if test "$ac_cv_type_long_long_int" = yes; then
15440 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15441$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15442as_fn_error 77 "cannot compute sizeof (long long int)
15443See \`config.log' for more details" "$LINENO" 5; }
15444 else
15445 ac_cv_sizeof_long_long_int=0
15446 fi
15447fi
15448
15449fi
15450{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long_int" >&5
15451$as_echo "$ac_cv_sizeof_long_long_int" >&6; }
15452
15453
15454
15455cat >>confdefs.h <<_ACEOF
15456#define SIZEOF_LONG_LONG_INT $ac_cv_sizeof_long_long_int
15457_ACEOF
15458
15459
15460
15461# Sanity check long long for some platforms (AIX)
15462if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
15463 ac_cv_sizeof_long_long_int=0
15464fi
15465
15466# compute LLONG_MIN and LLONG_MAX if we don't know them.
15467if test -z "$have_llong_max" && test -z "$have_long_long_max"; then
15468 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for max value of long long" >&5
15469$as_echo_n "checking for max value of long long... " >&6; }
15470 if test "$cross_compiling" = yes; then :
15471
15472 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
15473$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
15474
15475
15476else
15477 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15478/* end confdefs.h. */
15479
15480#include <stdio.h>
15481#include <stdlib.h>
15482/* Why is this so damn hard? */
15483#ifdef __GNUC__
15484# undef __GNUC__
15485#endif
15486#define __USE_ISOC99
15487#include <limits.h>
15488#define DATA "conftest.llminmax"
15489#define my_abs(a) ((a) < 0 ? ((a) * -1) : (a))
15490
15491/*
15492 * printf in libc on some platforms (eg old Tru64) does not understand %lld so
15493 * we do this the hard way.
15494 */
15495static int
15496fprint_ll(FILE *f, long long n)
15497{
15498 unsigned int i;
15499 int l[sizeof(long long) * 8];
15500
15501 if (n < 0)
15502 if (fprintf(f, "-") < 0)
15503 return -1;
15504 for (i = 0; n != 0; i++) {
15505 l[i] = my_abs(n % 10);
15506 n /= 10;
15507 }
15508 do {
15509 if (fprintf(f, "%d", l[--i]) < 0)
15510 return -1;
15511 } while (i != 0);
15512 if (fprintf(f, " ") < 0)
15513 return -1;
15514 return 0;
15515}
15516
15517int
15518main ()
15519{
15520
15521 FILE *f;
15522 long long i, llmin, llmax = 0;
15523
15524 if((f = fopen(DATA,"w")) == NULL)
15525 exit(1);
15526
15527#if defined(LLONG_MIN) && defined(LLONG_MAX)
15528 fprintf(stderr, "Using system header for LLONG_MIN and LLONG_MAX\n");
15529 llmin = LLONG_MIN;
15530 llmax = LLONG_MAX;
15531#else
15532 fprintf(stderr, "Calculating LLONG_MIN and LLONG_MAX\n");
15533 /* This will work on one's complement and two's complement */
15534 for (i = 1; i > llmax; i <<= 1, i++)
15535 llmax = i;
15536 llmin = llmax + 1LL; /* wrap */
15537#endif
15538
15539 /* Sanity check */
15540 if (llmin + 1 < llmin || llmin - 1 < llmin || llmax + 1 > llmax
15541 || llmax - 1 > llmax || llmin == llmax || llmin == 0
15542 || llmax == 0 || llmax < LONG_MAX || llmin > LONG_MIN) {
15543 fprintf(f, "unknown unknown\n");
15544 exit(2);
15545 }
15546
15547 if (fprint_ll(f, llmin) < 0)
15548 exit(3);
15549 if (fprint_ll(f, llmax) < 0)
15550 exit(4);
15551 if (fclose(f) < 0)
15552 exit(5);
15553 exit(0);
15554
15555 ;
15556 return 0;
15557}
15558_ACEOF
15559if ac_fn_c_try_run "$LINENO"; then :
15560
15561 llong_min=`$AWK '{print $1}' conftest.llminmax`
15562 llong_max=`$AWK '{print $2}' conftest.llminmax`
15563
15564 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_max" >&5
15565$as_echo "$llong_max" >&6; }
15566
15567cat >>confdefs.h <<_ACEOF
15568#define LLONG_MAX ${llong_max}LL
15569_ACEOF
15570
15571 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for min value of long long" >&5
15572$as_echo_n "checking for min value of long long... " >&6; }
15573 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_min" >&5
15574$as_echo "$llong_min" >&6; }
15575
15576cat >>confdefs.h <<_ACEOF
15577#define LLONG_MIN ${llong_min}LL
15578_ACEOF
15579
15580
15581else
15582
15583 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
15584$as_echo "not found" >&6; }
15585
15586fi
15587rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
15588 conftest.$ac_objext conftest.beam conftest.$ac_ext
15589fi
15590
15591fi
15592
15593ac_fn_c_check_decl "$LINENO" "UINT32_MAX" "ac_cv_have_decl_UINT32_MAX" "
15594#ifdef HAVE_SYS_LIMITS_H
15595# include <sys/limits.h>
15596#endif
15597#ifdef HAVE_LIMITS_H
15598# include <limits.h>
15599#endif
15600#ifdef HAVE_STDINT_H
15601# include <stdint.h>
15602#endif
15603
15604"
15605if test "x$ac_cv_have_decl_UINT32_MAX" = xyes; then :
15606 ac_have_decl=1
15607else
15608 ac_have_decl=0
15609fi
15610
15611cat >>confdefs.h <<_ACEOF
15612#define HAVE_DECL_UINT32_MAX $ac_have_decl
15613_ACEOF
15614
15615
15616# More checks for data types
15617{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int type" >&5
15618$as_echo_n "checking for u_int type... " >&6; }
15619if ${ac_cv_have_u_int+:} false; then :
15620 $as_echo_n "(cached) " >&6
15621else
15622
15623 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15624/* end confdefs.h. */
15625 #include <sys/types.h>
15626int
15627main ()
15628{
15629 u_int a; a = 1;
15630 ;
15631 return 0;
15632}
15633_ACEOF
15634if ac_fn_c_try_compile "$LINENO"; then :
15635 ac_cv_have_u_int="yes"
15636else
15637 ac_cv_have_u_int="no"
15638
15639fi
15640rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15641
15642fi
15643{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int" >&5
15644$as_echo "$ac_cv_have_u_int" >&6; }
15645if test "x$ac_cv_have_u_int" = "xyes" ; then
15646
15647$as_echo "#define HAVE_U_INT 1" >>confdefs.h
15648
15649 have_u_int=1
15650fi
15651
15652{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types" >&5
15653$as_echo_n "checking for intXX_t types... " >&6; }
15654if ${ac_cv_have_intxx_t+:} false; then :
15655 $as_echo_n "(cached) " >&6
15656else
15657
15658 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15659/* end confdefs.h. */
15660 #include <sys/types.h>
15661int
15662main ()
15663{
15664 int8_t a; int16_t b; int32_t c; a = b = c = 1;
15665 ;
15666 return 0;
15667}
15668_ACEOF
15669if ac_fn_c_try_compile "$LINENO"; then :
15670 ac_cv_have_intxx_t="yes"
15671else
15672 ac_cv_have_intxx_t="no"
15673
15674fi
15675rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15676
15677fi
15678{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_intxx_t" >&5
15679$as_echo "$ac_cv_have_intxx_t" >&6; }
15680if test "x$ac_cv_have_intxx_t" = "xyes" ; then
15681
15682$as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
15683
15684 have_intxx_t=1
15685fi
15686
15687if (test -z "$have_intxx_t" && \
15688 test "x$ac_cv_header_stdint_h" = "xyes")
15689then
15690 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types in stdint.h" >&5
15691$as_echo_n "checking for intXX_t types in stdint.h... " >&6; }
15692 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15693/* end confdefs.h. */
15694 #include <stdint.h>
15695int
15696main ()
15697{
15698 int8_t a; int16_t b; int32_t c; a = b = c = 1;
15699 ;
15700 return 0;
15701}
15702_ACEOF
15703if ac_fn_c_try_compile "$LINENO"; then :
15704
15705 $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
15706
15707 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15708$as_echo "yes" >&6; }
15709
15710else
15711 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15712$as_echo "no" >&6; }
15713
15714fi
15715rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15716fi
15717
15718{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for int64_t type" >&5
15719$as_echo_n "checking for int64_t type... " >&6; }
15720if ${ac_cv_have_int64_t+:} false; then :
15721 $as_echo_n "(cached) " >&6
15722else
15723
15724 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15725/* end confdefs.h. */
15726
15727#include <sys/types.h>
15728#ifdef HAVE_STDINT_H
15729# include <stdint.h>
15730#endif
15731#include <sys/socket.h>
15732#ifdef HAVE_SYS_BITYPES_H
15733# include <sys/bitypes.h>
15734#endif
15735
15736int
15737main ()
15738{
15739
15740int64_t a; a = 1;
15741
15742 ;
15743 return 0;
15744}
15745_ACEOF
15746if ac_fn_c_try_compile "$LINENO"; then :
15747 ac_cv_have_int64_t="yes"
15748else
15749 ac_cv_have_int64_t="no"
15750
15751fi
15752rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15753
15754fi
15755{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_int64_t" >&5
15756$as_echo "$ac_cv_have_int64_t" >&6; }
15757if test "x$ac_cv_have_int64_t" = "xyes" ; then
15758
15759$as_echo "#define HAVE_INT64_T 1" >>confdefs.h
15760
15761fi
15762
15763{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types" >&5
15764$as_echo_n "checking for u_intXX_t types... " >&6; }
15765if ${ac_cv_have_u_intxx_t+:} false; then :
15766 $as_echo_n "(cached) " >&6
15767else
15768
15769 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15770/* end confdefs.h. */
15771 #include <sys/types.h>
15772int
15773main ()
15774{
15775 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
15776 ;
15777 return 0;
15778}
15779_ACEOF
15780if ac_fn_c_try_compile "$LINENO"; then :
15781 ac_cv_have_u_intxx_t="yes"
15782else
15783 ac_cv_have_u_intxx_t="no"
15784
15785fi
15786rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15787
15788fi
15789{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_intxx_t" >&5
15790$as_echo "$ac_cv_have_u_intxx_t" >&6; }
15791if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
15792
15793$as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
15794
15795 have_u_intxx_t=1
15796fi
15797
15798if test -z "$have_u_intxx_t" ; then
15799 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types in sys/socket.h" >&5
15800$as_echo_n "checking for u_intXX_t types in sys/socket.h... " >&6; }
15801 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15802/* end confdefs.h. */
15803 #include <sys/socket.h>
15804int
15805main ()
15806{
15807 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
15808 ;
15809 return 0;
15810}
15811_ACEOF
15812if ac_fn_c_try_compile "$LINENO"; then :
15813
15814 $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
15815
15816 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15817$as_echo "yes" >&6; }
15818
15819else
15820 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15821$as_echo "no" >&6; }
15822
15823fi
15824rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15825fi
15826
15827{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t types" >&5
15828$as_echo_n "checking for u_int64_t types... " >&6; }
15829if ${ac_cv_have_u_int64_t+:} false; then :
15830 $as_echo_n "(cached) " >&6
15831else
15832
15833 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15834/* end confdefs.h. */
15835 #include <sys/types.h>
15836int
15837main ()
15838{
15839 u_int64_t a; a = 1;
15840 ;
15841 return 0;
15842}
15843_ACEOF
15844if ac_fn_c_try_compile "$LINENO"; then :
15845 ac_cv_have_u_int64_t="yes"
15846else
15847 ac_cv_have_u_int64_t="no"
15848
15849fi
15850rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15851
15852fi
15853{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int64_t" >&5
15854$as_echo "$ac_cv_have_u_int64_t" >&6; }
15855if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
15856
15857$as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
15858
15859 have_u_int64_t=1
15860fi
15861
15862if (test -z "$have_u_int64_t" && \
15863 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
15864then
15865 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t type in sys/bitypes.h" >&5
15866$as_echo_n "checking for u_int64_t type in sys/bitypes.h... " >&6; }
15867 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15868/* end confdefs.h. */
15869 #include <sys/bitypes.h>
15870int
15871main ()
15872{
15873 u_int64_t a; a = 1
15874 ;
15875 return 0;
15876}
15877_ACEOF
15878if ac_fn_c_try_compile "$LINENO"; then :
15879
15880 $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
15881
15882 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15883$as_echo "yes" >&6; }
15884
15885else
15886 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15887$as_echo "no" >&6; }
15888
15889fi
15890rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15891fi
15892
15893if test -z "$have_u_intxx_t" ; then
15894 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types" >&5
15895$as_echo_n "checking for uintXX_t types... " >&6; }
15896if ${ac_cv_have_uintxx_t+:} false; then :
15897 $as_echo_n "(cached) " >&6
15898else
15899
15900 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15901/* end confdefs.h. */
15902
15903#include <sys/types.h>
15904
15905int
15906main ()
15907{
15908
15909 uint8_t a;
15910 uint16_t b;
15911 uint32_t c;
15912 a = b = c = 1;
15913
15914 ;
15915 return 0;
15916}
15917_ACEOF
15918if ac_fn_c_try_compile "$LINENO"; then :
15919 ac_cv_have_uintxx_t="yes"
15920else
15921 ac_cv_have_uintxx_t="no"
15922
15923fi
15924rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15925
15926fi
15927{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_uintxx_t" >&5
15928$as_echo "$ac_cv_have_uintxx_t" >&6; }
15929 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
15930
15931$as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15932
15933 fi
15934fi
15935
15936if (test -z "$have_uintxx_t" && \
15937 test "x$ac_cv_header_stdint_h" = "xyes")
15938then
15939 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in stdint.h" >&5
15940$as_echo_n "checking for uintXX_t types in stdint.h... " >&6; }
15941 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15942/* end confdefs.h. */
15943 #include <stdint.h>
15944int
15945main ()
15946{
15947 uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;
15948 ;
15949 return 0;
15950}
15951_ACEOF
15952if ac_fn_c_try_compile "$LINENO"; then :
15953
15954 $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15955
15956 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15957$as_echo "yes" >&6; }
15958
15959else
15960 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15961$as_echo "no" >&6; }
15962
15963fi
15964rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15965fi
15966
15967if (test -z "$have_uintxx_t" && \
15968 test "x$ac_cv_header_inttypes_h" = "xyes")
15969then
15970 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in inttypes.h" >&5
15971$as_echo_n "checking for uintXX_t types in inttypes.h... " >&6; }
15972 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15973/* end confdefs.h. */
15974 #include <inttypes.h>
15975int
15976main ()
15977{
15978 uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;
15979 ;
15980 return 0;
15981}
15982_ACEOF
15983if ac_fn_c_try_compile "$LINENO"; then :
15984
15985 $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15986
15987 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15988$as_echo "yes" >&6; }
15989
15990else
15991 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15992$as_echo "no" >&6; }
15993
15994fi
15995rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15996fi
15997
15998if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
15999 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
16000then
16001 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t and u_intXX_t types in sys/bitypes.h" >&5
16002$as_echo_n "checking for intXX_t and u_intXX_t types in sys/bitypes.h... " >&6; }
16003 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16004/* end confdefs.h. */
16005
16006#include <sys/bitypes.h>
16007
16008int
16009main ()
16010{
16011
16012 int8_t a; int16_t b; int32_t c;
16013 u_int8_t e; u_int16_t f; u_int32_t g;
16014 a = b = c = e = f = g = 1;
16015
16016 ;
16017 return 0;
16018}
16019_ACEOF
16020if ac_fn_c_try_compile "$LINENO"; then :
16021
16022 $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
16023
16024 $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
16025
16026 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16027$as_echo "yes" >&6; }
16028
16029else
16030 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16031$as_echo "no" >&6; }
16032
16033fi
16034rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16035fi
16036
16037
16038{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_char" >&5
16039$as_echo_n "checking for u_char... " >&6; }
16040if ${ac_cv_have_u_char+:} false; then :
16041 $as_echo_n "(cached) " >&6
16042else
16043
16044 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16045/* end confdefs.h. */
16046 #include <sys/types.h>
16047int
16048main ()
16049{
16050 u_char foo; foo = 125;
16051 ;
16052 return 0;
16053}
16054_ACEOF
16055if ac_fn_c_try_compile "$LINENO"; then :
16056 ac_cv_have_u_char="yes"
16057else
16058 ac_cv_have_u_char="no"
16059
16060fi
16061rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16062
16063fi
16064{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_char" >&5
16065$as_echo "$ac_cv_have_u_char" >&6; }
16066if test "x$ac_cv_have_u_char" = "xyes" ; then
16067
16068$as_echo "#define HAVE_U_CHAR 1" >>confdefs.h
16069
16070fi
16071
16072ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "
16073#include <sys/types.h>
16074#ifdef HAVE_STDINT_H
16075# include <stdint.h>
16076#endif
16077
16078"
16079if test "x$ac_cv_type_intmax_t" = xyes; then :
16080
16081cat >>confdefs.h <<_ACEOF
16082#define HAVE_INTMAX_T 1
16083_ACEOF
16084
16085
16086fi
16087ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "
16088#include <sys/types.h>
16089#ifdef HAVE_STDINT_H
16090# include <stdint.h>
16091#endif
16092
16093"
16094if test "x$ac_cv_type_uintmax_t" = xyes; then :
16095
16096cat >>confdefs.h <<_ACEOF
16097#define HAVE_UINTMAX_T 1
16098_ACEOF
16099
16100
16101fi
16102
16103
16104
16105 ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h>
16106#include <sys/socket.h>
16107"
16108if test "x$ac_cv_type_socklen_t" = xyes; then :
16109
16110else
16111
16112 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5
16113$as_echo_n "checking for socklen_t equivalent... " >&6; }
16114 if ${curl_cv_socklen_t_equiv+:} false; then :
16115 $as_echo_n "(cached) " >&6
16116else
16117
16118 # Systems have either "struct sockaddr *" or
16119 # "void *" as the second argument to getpeername
16120 curl_cv_socklen_t_equiv=
16121 for arg2 in "struct sockaddr" void; do
16122 for t in int size_t unsigned long "unsigned long"; do
16123 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16124/* end confdefs.h. */
16125
16126 #include <sys/types.h>
16127 #include <sys/socket.h>
16128
16129 int getpeername (int, $arg2 *, $t *);
16130
16131int
16132main ()
16133{
16134
16135 $t len;
16136 getpeername(0,0,&len);
16137
16138 ;
16139 return 0;
16140}
16141_ACEOF
16142if ac_fn_c_try_compile "$LINENO"; then :
16143
16144 curl_cv_socklen_t_equiv="$t"
16145 break
16146
16147fi
16148rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16149 done
16150 done
16151
16152 if test "x$curl_cv_socklen_t_equiv" = x; then
16153 as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5
16154 fi
16155
16156fi
16157
16158 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $curl_cv_socklen_t_equiv" >&5
16159$as_echo "$curl_cv_socklen_t_equiv" >&6; }
16160
16161cat >>confdefs.h <<_ACEOF
16162#define socklen_t $curl_cv_socklen_t_equiv
16163_ACEOF
16164
16165fi
16166
16167
16168
16169ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "#include <signal.h>
16170"
16171if test "x$ac_cv_type_sig_atomic_t" = xyes; then :
16172
16173cat >>confdefs.h <<_ACEOF
16174#define HAVE_SIG_ATOMIC_T 1
16175_ACEOF
16176
16177
16178fi
16179
16180ac_fn_c_check_type "$LINENO" "fsblkcnt_t" "ac_cv_type_fsblkcnt_t" "
16181#include <sys/types.h>
16182#ifdef HAVE_SYS_BITYPES_H
16183#include <sys/bitypes.h>
16184#endif
16185#ifdef HAVE_SYS_STATFS_H
16186#include <sys/statfs.h>
16187#endif
16188#ifdef HAVE_SYS_STATVFS_H
16189#include <sys/statvfs.h>
16190#endif
16191
16192"
16193if test "x$ac_cv_type_fsblkcnt_t" = xyes; then :
16194
16195cat >>confdefs.h <<_ACEOF
16196#define HAVE_FSBLKCNT_T 1
16197_ACEOF
16198
16199
16200fi
16201ac_fn_c_check_type "$LINENO" "fsfilcnt_t" "ac_cv_type_fsfilcnt_t" "
16202#include <sys/types.h>
16203#ifdef HAVE_SYS_BITYPES_H
16204#include <sys/bitypes.h>
16205#endif
16206#ifdef HAVE_SYS_STATFS_H
16207#include <sys/statfs.h>
16208#endif
16209#ifdef HAVE_SYS_STATVFS_H
16210#include <sys/statvfs.h>
16211#endif
16212
16213"
16214if test "x$ac_cv_type_fsfilcnt_t" = xyes; then :
16215
16216cat >>confdefs.h <<_ACEOF
16217#define HAVE_FSFILCNT_T 1
16218_ACEOF
16219
16220
16221fi
16222
16223
16224ac_fn_c_check_member "$LINENO" "struct statfs" "f_files" "ac_cv_member_struct_statfs_f_files" "
16225#include <sys/param.h>
16226#include <sys/types.h>
16227#ifdef HAVE_SYS_BITYPES_H
16228#include <sys/bitypes.h>
16229#endif
16230#ifdef HAVE_SYS_STATFS_H
16231#include <sys/statfs.h>
16232#endif
16233#ifdef HAVE_SYS_STATVFS_H
16234#include <sys/statvfs.h>
16235#endif
16236#ifdef HAVE_SYS_VFS_H
16237#include <sys/vfs.h>
16238#endif
16239#ifdef HAVE_SYS_MOUNT_H
16240#include <sys/mount.h>
16241#endif
16242
16243"
16244if test "x$ac_cv_member_struct_statfs_f_files" = xyes; then :
16245
16246cat >>confdefs.h <<_ACEOF
16247#define HAVE_STRUCT_STATFS_F_FILES 1
16248_ACEOF
16249
16250
16251fi
16252ac_fn_c_check_member "$LINENO" "struct statfs" "f_flags" "ac_cv_member_struct_statfs_f_flags" "
16253#include <sys/param.h>
16254#include <sys/types.h>
16255#ifdef HAVE_SYS_BITYPES_H
16256#include <sys/bitypes.h>
16257#endif
16258#ifdef HAVE_SYS_STATFS_H
16259#include <sys/statfs.h>
16260#endif
16261#ifdef HAVE_SYS_STATVFS_H
16262#include <sys/statvfs.h>
16263#endif
16264#ifdef HAVE_SYS_VFS_H
16265#include <sys/vfs.h>
16266#endif
16267#ifdef HAVE_SYS_MOUNT_H
16268#include <sys/mount.h>
16269#endif
16270
16271"
16272if test "x$ac_cv_member_struct_statfs_f_flags" = xyes; then :
16273
16274cat >>confdefs.h <<_ACEOF
16275#define HAVE_STRUCT_STATFS_F_FLAGS 1
16276_ACEOF
16277
16278
16279fi
16280
16281
16282
16283ac_fn_c_check_type "$LINENO" "in_addr_t" "ac_cv_type_in_addr_t" "#include <sys/types.h>
16284#include <netinet/in.h>
16285"
16286if test "x$ac_cv_type_in_addr_t" = xyes; then :
16287
16288cat >>confdefs.h <<_ACEOF
16289#define HAVE_IN_ADDR_T 1
16290_ACEOF
16291
16292
16293fi
16294ac_fn_c_check_type "$LINENO" "in_port_t" "ac_cv_type_in_port_t" "#include <sys/types.h>
16295#include <netinet/in.h>
16296"
16297if test "x$ac_cv_type_in_port_t" = xyes; then :
16298
16299cat >>confdefs.h <<_ACEOF
16300#define HAVE_IN_PORT_T 1
16301_ACEOF
16302
16303
16304fi
16305
16306
16307{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for size_t" >&5
16308$as_echo_n "checking for size_t... " >&6; }
16309if ${ac_cv_have_size_t+:} false; then :
16310 $as_echo_n "(cached) " >&6
16311else
16312
16313 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16314/* end confdefs.h. */
16315 #include <sys/types.h>
16316int
16317main ()
16318{
16319 size_t foo; foo = 1235;
16320 ;
16321 return 0;
16322}
16323_ACEOF
16324if ac_fn_c_try_compile "$LINENO"; then :
16325 ac_cv_have_size_t="yes"
16326else
16327 ac_cv_have_size_t="no"
16328
16329fi
16330rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16331
16332fi
16333{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_size_t" >&5
16334$as_echo "$ac_cv_have_size_t" >&6; }
16335if test "x$ac_cv_have_size_t" = "xyes" ; then
16336
16337$as_echo "#define HAVE_SIZE_T 1" >>confdefs.h
16338
16339fi
16340
16341{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
16342$as_echo_n "checking for ssize_t... " >&6; }
16343if ${ac_cv_have_ssize_t+:} false; then :
16344 $as_echo_n "(cached) " >&6
16345else
16346
16347 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16348/* end confdefs.h. */
16349 #include <sys/types.h>
16350int
16351main ()
16352{
16353 ssize_t foo; foo = 1235;
16354 ;
16355 return 0;
16356}
16357_ACEOF
16358if ac_fn_c_try_compile "$LINENO"; then :
16359 ac_cv_have_ssize_t="yes"
16360else
16361 ac_cv_have_ssize_t="no"
16362
16363fi
16364rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16365
16366fi
16367{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ssize_t" >&5
16368$as_echo "$ac_cv_have_ssize_t" >&6; }
16369if test "x$ac_cv_have_ssize_t" = "xyes" ; then
16370
16371$as_echo "#define HAVE_SSIZE_T 1" >>confdefs.h
16372
16373fi
16374
16375{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_t" >&5
16376$as_echo_n "checking for clock_t... " >&6; }
16377if ${ac_cv_have_clock_t+:} false; then :
16378 $as_echo_n "(cached) " >&6
16379else
16380
16381 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16382/* end confdefs.h. */
16383 #include <time.h>
16384int
16385main ()
16386{
16387 clock_t foo; foo = 1235;
16388 ;
16389 return 0;
16390}
16391_ACEOF
16392if ac_fn_c_try_compile "$LINENO"; then :
16393 ac_cv_have_clock_t="yes"
16394else
16395 ac_cv_have_clock_t="no"
16396
16397fi
16398rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16399
16400fi
16401{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_clock_t" >&5
16402$as_echo "$ac_cv_have_clock_t" >&6; }
16403if test "x$ac_cv_have_clock_t" = "xyes" ; then
16404
16405$as_echo "#define HAVE_CLOCK_T 1" >>confdefs.h
16406
16407fi
16408
16409{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sa_family_t" >&5
16410$as_echo_n "checking for sa_family_t... " >&6; }
16411if ${ac_cv_have_sa_family_t+:} false; then :
16412 $as_echo_n "(cached) " >&6
16413else
16414
16415 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16416/* end confdefs.h. */
16417
16418#include <sys/types.h>
16419#include <sys/socket.h>
16420
16421int
16422main ()
16423{
16424 sa_family_t foo; foo = 1235;
16425 ;
16426 return 0;
16427}
16428_ACEOF
16429if ac_fn_c_try_compile "$LINENO"; then :
16430 ac_cv_have_sa_family_t="yes"
16431else
16432 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16433/* end confdefs.h. */
16434
16435#include <sys/types.h>
16436#include <sys/socket.h>
16437#include <netinet/in.h>
16438
16439int
16440main ()
16441{
16442 sa_family_t foo; foo = 1235;
16443 ;
16444 return 0;
16445}
16446_ACEOF
16447if ac_fn_c_try_compile "$LINENO"; then :
16448 ac_cv_have_sa_family_t="yes"
16449else
16450 ac_cv_have_sa_family_t="no"
16451
16452fi
16453rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16454
16455fi
16456rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16457
16458fi
16459{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_sa_family_t" >&5
16460$as_echo "$ac_cv_have_sa_family_t" >&6; }
16461if test "x$ac_cv_have_sa_family_t" = "xyes" ; then
16462
16463$as_echo "#define HAVE_SA_FAMILY_T 1" >>confdefs.h
16464
16465fi
16466
16467{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pid_t" >&5
16468$as_echo_n "checking for pid_t... " >&6; }
16469if ${ac_cv_have_pid_t+:} false; then :
16470 $as_echo_n "(cached) " >&6
16471else
16472
16473 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16474/* end confdefs.h. */
16475 #include <sys/types.h>
16476int
16477main ()
16478{
16479 pid_t foo; foo = 1235;
16480 ;
16481 return 0;
16482}
16483_ACEOF
16484if ac_fn_c_try_compile "$LINENO"; then :
16485 ac_cv_have_pid_t="yes"
16486else
16487 ac_cv_have_pid_t="no"
16488
16489fi
16490rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16491
16492fi
16493{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_pid_t" >&5
16494$as_echo "$ac_cv_have_pid_t" >&6; }
16495if test "x$ac_cv_have_pid_t" = "xyes" ; then
16496
16497$as_echo "#define HAVE_PID_T 1" >>confdefs.h
16498
16499fi
16500
16501{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mode_t" >&5
16502$as_echo_n "checking for mode_t... " >&6; }
16503if ${ac_cv_have_mode_t+:} false; then :
16504 $as_echo_n "(cached) " >&6
16505else
16506
16507 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16508/* end confdefs.h. */
16509 #include <sys/types.h>
16510int
16511main ()
16512{
16513 mode_t foo; foo = 1235;
16514 ;
16515 return 0;
16516}
16517_ACEOF
16518if ac_fn_c_try_compile "$LINENO"; then :
16519 ac_cv_have_mode_t="yes"
16520else
16521 ac_cv_have_mode_t="no"
16522
16523fi
16524rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16525
16526fi
16527{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_mode_t" >&5
16528$as_echo "$ac_cv_have_mode_t" >&6; }
16529if test "x$ac_cv_have_mode_t" = "xyes" ; then
16530
16531$as_echo "#define HAVE_MODE_T 1" >>confdefs.h
16532
16533fi
16534
16535
16536{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_storage" >&5
16537$as_echo_n "checking for struct sockaddr_storage... " >&6; }
16538if ${ac_cv_have_struct_sockaddr_storage+:} false; then :
16539 $as_echo_n "(cached) " >&6
16540else
16541
16542 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16543/* end confdefs.h. */
16544
16545#include <sys/types.h>
16546#include <sys/socket.h>
16547
16548int
16549main ()
16550{
16551 struct sockaddr_storage s;
16552 ;
16553 return 0;
16554}
16555_ACEOF
16556if ac_fn_c_try_compile "$LINENO"; then :
16557 ac_cv_have_struct_sockaddr_storage="yes"
16558else
16559 ac_cv_have_struct_sockaddr_storage="no"
16560
16561fi
16562rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16563
16564fi
16565{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_storage" >&5
16566$as_echo "$ac_cv_have_struct_sockaddr_storage" >&6; }
16567if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then
16568
16569$as_echo "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h
16570
16571fi
16572
16573{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_in6" >&5
16574$as_echo_n "checking for struct sockaddr_in6... " >&6; }
16575if ${ac_cv_have_struct_sockaddr_in6+:} false; then :
16576 $as_echo_n "(cached) " >&6
16577else
16578
16579 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16580/* end confdefs.h. */
16581
16582#include <sys/types.h>
16583#include <netinet/in.h>
16584
16585int
16586main ()
16587{
16588 struct sockaddr_in6 s; s.sin6_family = 0;
16589 ;
16590 return 0;
16591}
16592_ACEOF
16593if ac_fn_c_try_compile "$LINENO"; then :
16594 ac_cv_have_struct_sockaddr_in6="yes"
16595else
16596 ac_cv_have_struct_sockaddr_in6="no"
16597
16598fi
16599rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16600
16601fi
16602{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_in6" >&5
16603$as_echo "$ac_cv_have_struct_sockaddr_in6" >&6; }
16604if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then
16605
16606$as_echo "#define HAVE_STRUCT_SOCKADDR_IN6 1" >>confdefs.h
16607
16608fi
16609
16610{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct in6_addr" >&5
16611$as_echo_n "checking for struct in6_addr... " >&6; }
16612if ${ac_cv_have_struct_in6_addr+:} false; then :
16613 $as_echo_n "(cached) " >&6
16614else
16615
16616 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16617/* end confdefs.h. */
16618
16619#include <sys/types.h>
16620#include <netinet/in.h>
16621
16622int
16623main ()
16624{
16625 struct in6_addr s; s.s6_addr[0] = 0;
16626 ;
16627 return 0;
16628}
16629_ACEOF
16630if ac_fn_c_try_compile "$LINENO"; then :
16631 ac_cv_have_struct_in6_addr="yes"
16632else
16633 ac_cv_have_struct_in6_addr="no"
16634
16635fi
16636rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16637
16638fi
16639{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_in6_addr" >&5
16640$as_echo "$ac_cv_have_struct_in6_addr" >&6; }
16641if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then
16642
16643$as_echo "#define HAVE_STRUCT_IN6_ADDR 1" >>confdefs.h
16644
16645
16646 ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_scope_id" "ac_cv_member_struct_sockaddr_in6_sin6_scope_id" "
16647#ifdef HAVE_SYS_TYPES_H
16648#include <sys/types.h>
16649#endif
16650#include <netinet/in.h>
16651
16652"
16653if test "x$ac_cv_member_struct_sockaddr_in6_sin6_scope_id" = xyes; then :
16654
16655cat >>confdefs.h <<_ACEOF
16656#define HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1
16657_ACEOF
16658
16659
16660fi
16661
16662fi
16663
16664{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct addrinfo" >&5
16665$as_echo_n "checking for struct addrinfo... " >&6; }
16666if ${ac_cv_have_struct_addrinfo+:} false; then :
16667 $as_echo_n "(cached) " >&6
16668else
16669
16670 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16671/* end confdefs.h. */
16672
16673#include <sys/types.h>
16674#include <sys/socket.h>
16675#include <netdb.h>
16676
16677int
16678main ()
16679{
16680 struct addrinfo s; s.ai_flags = AI_PASSIVE;
16681 ;
16682 return 0;
16683}
16684_ACEOF
16685if ac_fn_c_try_compile "$LINENO"; then :
16686 ac_cv_have_struct_addrinfo="yes"
16687else
16688 ac_cv_have_struct_addrinfo="no"
16689
16690fi
16691rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16692
16693fi
16694{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_addrinfo" >&5
16695$as_echo "$ac_cv_have_struct_addrinfo" >&6; }
16696if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then
16697
16698$as_echo "#define HAVE_STRUCT_ADDRINFO 1" >>confdefs.h
16699
16700fi
16701
16702{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
16703$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
16704if ${ac_cv_header_time+:} false; then :
16705 $as_echo_n "(cached) " >&6
16706else
16707 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16708/* end confdefs.h. */
16709#include <sys/types.h>
16710#include <sys/time.h>
16711#include <time.h>
16712
16713int
16714main ()
16715{
16716if ((struct tm *) 0)
16717return 0;
16718 ;
16719 return 0;
16720}
16721_ACEOF
16722if ac_fn_c_try_compile "$LINENO"; then :
16723 ac_cv_header_time=yes
16724else
16725 ac_cv_header_time=no
16726fi
16727rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16728fi
16729{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
16730$as_echo "$ac_cv_header_time" >&6; }
16731if test $ac_cv_header_time = yes; then
16732
16733$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
16734
16735fi
16736
16737
16738{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5
16739$as_echo_n "checking for struct timeval... " >&6; }
16740if ${ac_cv_have_struct_timeval+:} false; then :
16741 $as_echo_n "(cached) " >&6
16742else
16743
16744 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16745/* end confdefs.h. */
16746 #include <sys/time.h>
16747int
16748main ()
16749{
16750 struct timeval tv; tv.tv_sec = 1;
16751 ;
16752 return 0;
16753}
16754_ACEOF
16755if ac_fn_c_try_compile "$LINENO"; then :
16756 ac_cv_have_struct_timeval="yes"
16757else
16758 ac_cv_have_struct_timeval="no"
16759
16760fi
16761rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16762
16763fi
16764{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_timeval" >&5
16765$as_echo "$ac_cv_have_struct_timeval" >&6; }
16766if test "x$ac_cv_have_struct_timeval" = "xyes" ; then
16767
16768$as_echo "#define HAVE_STRUCT_TIMEVAL 1" >>confdefs.h
16769
16770 have_struct_timeval=1
16771fi
16772
16773{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec" >&5
16774$as_echo_n "checking for struct timespec... " >&6; }
16775if ${ac_cv_have_struct_timespec+:} false; then :
16776 $as_echo_n "(cached) " >&6
16777else
16778
16779 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16780/* end confdefs.h. */
16781
16782 #ifdef TIME_WITH_SYS_TIME
16783 # include <sys/time.h>
16784 # include <time.h>
16785 #else
16786 # ifdef HAVE_SYS_TIME_H
16787 # include <sys/time.h>
16788 # else
16789 # include <time.h>
16790 # endif
16791 #endif
16792
16793int
16794main ()
16795{
16796 struct timespec ts; ts.tv_sec = 1;
16797 ;
16798 return 0;
16799}
16800_ACEOF
16801if ac_fn_c_try_compile "$LINENO"; then :
16802 ac_cv_have_struct_timespec="yes"
16803else
16804 ac_cv_have_struct_timespec="no"
16805
16806fi
16807rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16808
16809fi
16810{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_timespec" >&5
16811$as_echo "$ac_cv_have_struct_timespec" >&6; }
16812if test "x$ac_cv_have_struct_timespec" = "xyes" ; then
16813
16814$as_echo "#define HAVE_STRUCT_TIMESPEC 1" >>confdefs.h
16815
16816 have_struct_timespec=1
16817fi
16818
16819# We need int64_t or else certain parts of the compile will fail.
16820if test "x$ac_cv_have_int64_t" = "xno" && \
16821 test "x$ac_cv_sizeof_long_int" != "x8" && \
16822 test "x$ac_cv_sizeof_long_long_int" = "x0" ; then
16823 echo "OpenSSH requires int64_t support. Contact your vendor or install"
16824 echo "an alternative compiler (I.E., GCC) before continuing."
16825 echo ""
16826 exit 1;
16827else
16828 if test "$cross_compiling" = yes; then :
16829 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
16830$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
16831
16832else
16833 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16834/* end confdefs.h. */
16835
16836#include <stdio.h>
16837#include <stdlib.h>
16838#include <string.h>
16839#ifdef HAVE_SNPRINTF
16840main()
16841{
16842 char buf[50];
16843 char expected_out[50];
16844 int mazsize = 50 ;
16845#if (SIZEOF_LONG_INT == 8)
16846 long int num = 0x7fffffffffffffff;
16847#else
16848 long long num = 0x7fffffffffffffffll;
16849#endif
16850 strcpy(expected_out, "9223372036854775807");
16851 snprintf(buf, mazsize, "%lld", num);
16852 if(strcmp(buf, expected_out) != 0)
16853 exit(1);
16854 exit(0);
16855}
16856#else
16857main() { exit(0); }
16858#endif
16859
16860_ACEOF
16861if ac_fn_c_try_run "$LINENO"; then :
16862 true
16863else
16864 $as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
16865
16866fi
16867rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
16868 conftest.$ac_objext conftest.beam conftest.$ac_ext
16869fi
16870
16871fi
16872
16873
16874# look for field 'ut_host' in header 'utmp.h'
16875 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16876 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host
16877 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmp.h" >&5
16878$as_echo_n "checking for ut_host field in utmp.h... " >&6; }
16879 if eval \${$ossh_varname+:} false; then :
16880 $as_echo_n "(cached) " >&6
16881else
16882
16883 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16884/* end confdefs.h. */
16885#include <utmp.h>
16886
16887_ACEOF
16888if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16889 $EGREP "ut_host" >/dev/null 2>&1; then :
16890 eval "$ossh_varname=yes"
16891else
16892 eval "$ossh_varname=no"
16893fi
16894rm -f conftest*
16895
16896fi
16897
16898 ossh_result=`eval 'echo $'"$ossh_varname"`
16899 if test -n "`echo $ossh_varname`"; then
16900 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16901$as_echo "$ossh_result" >&6; }
16902 if test "x$ossh_result" = "xyes"; then
16903
16904$as_echo "#define HAVE_HOST_IN_UTMP 1" >>confdefs.h
16905
16906 fi
16907 else
16908 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16909$as_echo "no" >&6; }
16910 fi
16911
16912
16913# look for field 'ut_host' in header 'utmpx.h'
16914 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16915 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host
16916 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmpx.h" >&5
16917$as_echo_n "checking for ut_host field in utmpx.h... " >&6; }
16918 if eval \${$ossh_varname+:} false; then :
16919 $as_echo_n "(cached) " >&6
16920else
16921
16922 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16923/* end confdefs.h. */
16924#include <utmpx.h>
16925
16926_ACEOF
16927if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16928 $EGREP "ut_host" >/dev/null 2>&1; then :
16929 eval "$ossh_varname=yes"
16930else
16931 eval "$ossh_varname=no"
16932fi
16933rm -f conftest*
16934
16935fi
16936
16937 ossh_result=`eval 'echo $'"$ossh_varname"`
16938 if test -n "`echo $ossh_varname`"; then
16939 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16940$as_echo "$ossh_result" >&6; }
16941 if test "x$ossh_result" = "xyes"; then
16942
16943$as_echo "#define HAVE_HOST_IN_UTMPX 1" >>confdefs.h
16944
16945 fi
16946 else
16947 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16948$as_echo "no" >&6; }
16949 fi
16950
16951
16952# look for field 'syslen' in header 'utmpx.h'
16953 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16954 ossh_varname="ossh_cv_$ossh_safe""_has_"syslen
16955 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslen field in utmpx.h" >&5
16956$as_echo_n "checking for syslen field in utmpx.h... " >&6; }
16957 if eval \${$ossh_varname+:} false; then :
16958 $as_echo_n "(cached) " >&6
16959else
16960
16961 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16962/* end confdefs.h. */
16963#include <utmpx.h>
16964
16965_ACEOF
16966if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16967 $EGREP "syslen" >/dev/null 2>&1; then :
16968 eval "$ossh_varname=yes"
16969else
16970 eval "$ossh_varname=no"
16971fi
16972rm -f conftest*
16973
16974fi
16975
16976 ossh_result=`eval 'echo $'"$ossh_varname"`
16977 if test -n "`echo $ossh_varname`"; then
16978 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16979$as_echo "$ossh_result" >&6; }
16980 if test "x$ossh_result" = "xyes"; then
16981
16982$as_echo "#define HAVE_SYSLEN_IN_UTMPX 1" >>confdefs.h
16983
16984 fi
16985 else
16986 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16987$as_echo "no" >&6; }
16988 fi
16989
16990
16991# look for field 'ut_pid' in header 'utmp.h'
16992 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16993 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_pid
16994 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_pid field in utmp.h" >&5
16995$as_echo_n "checking for ut_pid field in utmp.h... " >&6; }
16996 if eval \${$ossh_varname+:} false; then :
16997 $as_echo_n "(cached) " >&6
16998else
16999
17000 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17001/* end confdefs.h. */
17002#include <utmp.h>
17003
17004_ACEOF
17005if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17006 $EGREP "ut_pid" >/dev/null 2>&1; then :
17007 eval "$ossh_varname=yes"
17008else
17009 eval "$ossh_varname=no"
17010fi
17011rm -f conftest*
17012
17013fi
17014
17015 ossh_result=`eval 'echo $'"$ossh_varname"`
17016 if test -n "`echo $ossh_varname`"; then
17017 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17018$as_echo "$ossh_result" >&6; }
17019 if test "x$ossh_result" = "xyes"; then
17020
17021$as_echo "#define HAVE_PID_IN_UTMP 1" >>confdefs.h
17022
17023 fi
17024 else
17025 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17026$as_echo "no" >&6; }
17027 fi
17028
17029
17030# look for field 'ut_type' in header 'utmp.h'
17031 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
17032 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type
17033 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmp.h" >&5
17034$as_echo_n "checking for ut_type field in utmp.h... " >&6; }
17035 if eval \${$ossh_varname+:} false; then :
17036 $as_echo_n "(cached) " >&6
17037else
17038
17039 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17040/* end confdefs.h. */
17041#include <utmp.h>
17042
17043_ACEOF
17044if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17045 $EGREP "ut_type" >/dev/null 2>&1; then :
17046 eval "$ossh_varname=yes"
17047else
17048 eval "$ossh_varname=no"
17049fi
17050rm -f conftest*
17051
17052fi
17053
17054 ossh_result=`eval 'echo $'"$ossh_varname"`
17055 if test -n "`echo $ossh_varname`"; then
17056 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17057$as_echo "$ossh_result" >&6; }
17058 if test "x$ossh_result" = "xyes"; then
17059
17060$as_echo "#define HAVE_TYPE_IN_UTMP 1" >>confdefs.h
17061
17062 fi
17063 else
17064 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17065$as_echo "no" >&6; }
17066 fi
17067
17068
17069# look for field 'ut_type' in header 'utmpx.h'
17070 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17071 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type
17072 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmpx.h" >&5
17073$as_echo_n "checking for ut_type field in utmpx.h... " >&6; }
17074 if eval \${$ossh_varname+:} false; then :
17075 $as_echo_n "(cached) " >&6
17076else
17077
17078 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17079/* end confdefs.h. */
17080#include <utmpx.h>
17081
17082_ACEOF
17083if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17084 $EGREP "ut_type" >/dev/null 2>&1; then :
17085 eval "$ossh_varname=yes"
17086else
17087 eval "$ossh_varname=no"
17088fi
17089rm -f conftest*
17090
17091fi
17092
17093 ossh_result=`eval 'echo $'"$ossh_varname"`
17094 if test -n "`echo $ossh_varname`"; then
17095 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17096$as_echo "$ossh_result" >&6; }
17097 if test "x$ossh_result" = "xyes"; then
17098
17099$as_echo "#define HAVE_TYPE_IN_UTMPX 1" >>confdefs.h
17100
17101 fi
17102 else
17103 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17104$as_echo "no" >&6; }
17105 fi
17106
17107
17108# look for field 'ut_tv' in header 'utmp.h'
17109 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
17110 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv
17111 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmp.h" >&5
17112$as_echo_n "checking for ut_tv field in utmp.h... " >&6; }
17113 if eval \${$ossh_varname+:} false; then :
17114 $as_echo_n "(cached) " >&6
17115else
17116
17117 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17118/* end confdefs.h. */
17119#include <utmp.h>
17120
17121_ACEOF
17122if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17123 $EGREP "ut_tv" >/dev/null 2>&1; then :
17124 eval "$ossh_varname=yes"
17125else
17126 eval "$ossh_varname=no"
17127fi
17128rm -f conftest*
17129
17130fi
17131
17132 ossh_result=`eval 'echo $'"$ossh_varname"`
17133 if test -n "`echo $ossh_varname`"; then
17134 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17135$as_echo "$ossh_result" >&6; }
17136 if test "x$ossh_result" = "xyes"; then
17137
17138$as_echo "#define HAVE_TV_IN_UTMP 1" >>confdefs.h
17139
17140 fi
17141 else
17142 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17143$as_echo "no" >&6; }
17144 fi
17145
17146
17147# look for field 'ut_id' in header 'utmp.h'
17148 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
17149 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id
17150 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmp.h" >&5
17151$as_echo_n "checking for ut_id field in utmp.h... " >&6; }
17152 if eval \${$ossh_varname+:} false; then :
17153 $as_echo_n "(cached) " >&6
17154else
17155
17156 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17157/* end confdefs.h. */
17158#include <utmp.h>
17159
17160_ACEOF
17161if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17162 $EGREP "ut_id" >/dev/null 2>&1; then :
17163 eval "$ossh_varname=yes"
17164else
17165 eval "$ossh_varname=no"
17166fi
17167rm -f conftest*
17168
17169fi
17170
17171 ossh_result=`eval 'echo $'"$ossh_varname"`
17172 if test -n "`echo $ossh_varname`"; then
17173 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17174$as_echo "$ossh_result" >&6; }
17175 if test "x$ossh_result" = "xyes"; then
17176
17177$as_echo "#define HAVE_ID_IN_UTMP 1" >>confdefs.h
17178
17179 fi
17180 else
17181 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17182$as_echo "no" >&6; }
17183 fi
17184
17185
17186# look for field 'ut_id' in header 'utmpx.h'
17187 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17188 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id
17189 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmpx.h" >&5
17190$as_echo_n "checking for ut_id field in utmpx.h... " >&6; }
17191 if eval \${$ossh_varname+:} false; then :
17192 $as_echo_n "(cached) " >&6
17193else
17194
17195 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17196/* end confdefs.h. */
17197#include <utmpx.h>
17198
17199_ACEOF
17200if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17201 $EGREP "ut_id" >/dev/null 2>&1; then :
17202 eval "$ossh_varname=yes"
17203else
17204 eval "$ossh_varname=no"
17205fi
17206rm -f conftest*
17207
17208fi
17209
17210 ossh_result=`eval 'echo $'"$ossh_varname"`
17211 if test -n "`echo $ossh_varname`"; then
17212 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17213$as_echo "$ossh_result" >&6; }
17214 if test "x$ossh_result" = "xyes"; then
17215
17216$as_echo "#define HAVE_ID_IN_UTMPX 1" >>confdefs.h
17217
17218 fi
17219 else
17220 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17221$as_echo "no" >&6; }
17222 fi
17223
17224
17225# look for field 'ut_addr' in header 'utmp.h'
17226 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
17227 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr
17228 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmp.h" >&5
17229$as_echo_n "checking for ut_addr field in utmp.h... " >&6; }
17230 if eval \${$ossh_varname+:} false; then :
17231 $as_echo_n "(cached) " >&6
17232else
17233
17234 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17235/* end confdefs.h. */
17236#include <utmp.h>
17237
17238_ACEOF
17239if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17240 $EGREP "ut_addr" >/dev/null 2>&1; then :
17241 eval "$ossh_varname=yes"
17242else
17243 eval "$ossh_varname=no"
17244fi
17245rm -f conftest*
17246
17247fi
17248
17249 ossh_result=`eval 'echo $'"$ossh_varname"`
17250 if test -n "`echo $ossh_varname`"; then
17251 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17252$as_echo "$ossh_result" >&6; }
17253 if test "x$ossh_result" = "xyes"; then
17254
17255$as_echo "#define HAVE_ADDR_IN_UTMP 1" >>confdefs.h
17256
17257 fi
17258 else
17259 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17260$as_echo "no" >&6; }
17261 fi
17262
17263
17264# look for field 'ut_addr' in header 'utmpx.h'
17265 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17266 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr
17267 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmpx.h" >&5
17268$as_echo_n "checking for ut_addr field in utmpx.h... " >&6; }
17269 if eval \${$ossh_varname+:} false; then :
17270 $as_echo_n "(cached) " >&6
17271else
17272
17273 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17274/* end confdefs.h. */
17275#include <utmpx.h>
17276
17277_ACEOF
17278if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17279 $EGREP "ut_addr" >/dev/null 2>&1; then :
17280 eval "$ossh_varname=yes"
17281else
17282 eval "$ossh_varname=no"
17283fi
17284rm -f conftest*
17285
17286fi
17287
17288 ossh_result=`eval 'echo $'"$ossh_varname"`
17289 if test -n "`echo $ossh_varname`"; then
17290 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17291$as_echo "$ossh_result" >&6; }
17292 if test "x$ossh_result" = "xyes"; then
17293
17294$as_echo "#define HAVE_ADDR_IN_UTMPX 1" >>confdefs.h
17295
17296 fi
17297 else
17298 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17299$as_echo "no" >&6; }
17300 fi
17301
17302
17303# look for field 'ut_addr_v6' in header 'utmp.h'
17304 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
17305 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6
17306 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmp.h" >&5
17307$as_echo_n "checking for ut_addr_v6 field in utmp.h... " >&6; }
17308 if eval \${$ossh_varname+:} false; then :
17309 $as_echo_n "(cached) " >&6
17310else
17311
17312 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17313/* end confdefs.h. */
17314#include <utmp.h>
17315
17316_ACEOF
17317if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17318 $EGREP "ut_addr_v6" >/dev/null 2>&1; then :
17319 eval "$ossh_varname=yes"
17320else
17321 eval "$ossh_varname=no"
17322fi
17323rm -f conftest*
17324
17325fi
17326
17327 ossh_result=`eval 'echo $'"$ossh_varname"`
17328 if test -n "`echo $ossh_varname`"; then
17329 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17330$as_echo "$ossh_result" >&6; }
17331 if test "x$ossh_result" = "xyes"; then
17332
17333$as_echo "#define HAVE_ADDR_V6_IN_UTMP 1" >>confdefs.h
17334
17335 fi
17336 else
17337 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17338$as_echo "no" >&6; }
17339 fi
17340
17341
17342# look for field 'ut_addr_v6' in header 'utmpx.h'
17343 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17344 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6
17345 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmpx.h" >&5
17346$as_echo_n "checking for ut_addr_v6 field in utmpx.h... " >&6; }
17347 if eval \${$ossh_varname+:} false; then :
17348 $as_echo_n "(cached) " >&6
17349else
17350
17351 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17352/* end confdefs.h. */
17353#include <utmpx.h>
17354
17355_ACEOF
17356if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17357 $EGREP "ut_addr_v6" >/dev/null 2>&1; then :
17358 eval "$ossh_varname=yes"
17359else
17360 eval "$ossh_varname=no"
17361fi
17362rm -f conftest*
17363
17364fi
17365
17366 ossh_result=`eval 'echo $'"$ossh_varname"`
17367 if test -n "`echo $ossh_varname`"; then
17368 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17369$as_echo "$ossh_result" >&6; }
17370 if test "x$ossh_result" = "xyes"; then
17371
17372$as_echo "#define HAVE_ADDR_V6_IN_UTMPX 1" >>confdefs.h
17373
17374 fi
17375 else
17376 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17377$as_echo "no" >&6; }
17378 fi
17379
17380
17381# look for field 'ut_exit' in header 'utmp.h'
17382 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
17383 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_exit
17384 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_exit field in utmp.h" >&5
17385$as_echo_n "checking for ut_exit field in utmp.h... " >&6; }
17386 if eval \${$ossh_varname+:} false; then :
17387 $as_echo_n "(cached) " >&6
17388else
17389
17390 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17391/* end confdefs.h. */
17392#include <utmp.h>
17393
17394_ACEOF
17395if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17396 $EGREP "ut_exit" >/dev/null 2>&1; then :
17397 eval "$ossh_varname=yes"
17398else
17399 eval "$ossh_varname=no"
17400fi
17401rm -f conftest*
17402
17403fi
17404
17405 ossh_result=`eval 'echo $'"$ossh_varname"`
17406 if test -n "`echo $ossh_varname`"; then
17407 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17408$as_echo "$ossh_result" >&6; }
17409 if test "x$ossh_result" = "xyes"; then
17410
17411$as_echo "#define HAVE_EXIT_IN_UTMP 1" >>confdefs.h
17412
17413 fi
17414 else
17415 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17416$as_echo "no" >&6; }
17417 fi
17418
17419
17420# look for field 'ut_time' in header 'utmp.h'
17421 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
17422 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time
17423 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmp.h" >&5
17424$as_echo_n "checking for ut_time field in utmp.h... " >&6; }
17425 if eval \${$ossh_varname+:} false; then :
17426 $as_echo_n "(cached) " >&6
17427else
17428
17429 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17430/* end confdefs.h. */
17431#include <utmp.h>
17432
17433_ACEOF
17434if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17435 $EGREP "ut_time" >/dev/null 2>&1; then :
17436 eval "$ossh_varname=yes"
17437else
17438 eval "$ossh_varname=no"
17439fi
17440rm -f conftest*
17441
17442fi
17443
17444 ossh_result=`eval 'echo $'"$ossh_varname"`
17445 if test -n "`echo $ossh_varname`"; then
17446 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17447$as_echo "$ossh_result" >&6; }
17448 if test "x$ossh_result" = "xyes"; then
17449
17450$as_echo "#define HAVE_TIME_IN_UTMP 1" >>confdefs.h
17451
17452 fi
17453 else
17454 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17455$as_echo "no" >&6; }
17456 fi
17457
17458
17459# look for field 'ut_time' in header 'utmpx.h'
17460 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17461 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time
17462 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmpx.h" >&5
17463$as_echo_n "checking for ut_time field in utmpx.h... " >&6; }
17464 if eval \${$ossh_varname+:} false; then :
17465 $as_echo_n "(cached) " >&6
17466else
17467
17468 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17469/* end confdefs.h. */
17470#include <utmpx.h>
17471
17472_ACEOF
17473if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17474 $EGREP "ut_time" >/dev/null 2>&1; then :
17475 eval "$ossh_varname=yes"
17476else
17477 eval "$ossh_varname=no"
17478fi
17479rm -f conftest*
17480
17481fi
17482
17483 ossh_result=`eval 'echo $'"$ossh_varname"`
17484 if test -n "`echo $ossh_varname`"; then
17485 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17486$as_echo "$ossh_result" >&6; }
17487 if test "x$ossh_result" = "xyes"; then
17488
17489$as_echo "#define HAVE_TIME_IN_UTMPX 1" >>confdefs.h
17490
17491 fi
17492 else
17493 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17494$as_echo "no" >&6; }
17495 fi
17496
17497
17498# look for field 'ut_tv' in header 'utmpx.h'
17499 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17500 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv
17501 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmpx.h" >&5
17502$as_echo_n "checking for ut_tv field in utmpx.h... " >&6; }
17503 if eval \${$ossh_varname+:} false; then :
17504 $as_echo_n "(cached) " >&6
17505else
17506
17507 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17508/* end confdefs.h. */
17509#include <utmpx.h>
17510
17511_ACEOF
17512if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17513 $EGREP "ut_tv" >/dev/null 2>&1; then :
17514 eval "$ossh_varname=yes"
17515else
17516 eval "$ossh_varname=no"
17517fi
17518rm -f conftest*
17519
17520fi
17521
17522 ossh_result=`eval 'echo $'"$ossh_varname"`
17523 if test -n "`echo $ossh_varname`"; then
17524 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17525$as_echo "$ossh_result" >&6; }
17526 if test "x$ossh_result" = "xyes"; then
17527
17528$as_echo "#define HAVE_TV_IN_UTMPX 1" >>confdefs.h
17529
17530 fi
17531 else
17532 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17533$as_echo "no" >&6; }
17534 fi
17535
17536
17537# look for field 'ut_ss' in header 'utmpx.h'
17538 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
17539 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_ss
17540 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_ss field in utmpx.h" >&5
17541$as_echo_n "checking for ut_ss field in utmpx.h... " >&6; }
17542 if eval \${$ossh_varname+:} false; then :
17543 $as_echo_n "(cached) " >&6
17544else
17545
17546 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17547/* end confdefs.h. */
17548#include <utmpx.h>
17549
17550_ACEOF
17551if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17552 $EGREP "ut_ss" >/dev/null 2>&1; then :
17553 eval "$ossh_varname=yes"
17554else
17555 eval "$ossh_varname=no"
17556fi
17557rm -f conftest*
17558
17559fi
17560
17561 ossh_result=`eval 'echo $'"$ossh_varname"`
17562 if test -n "`echo $ossh_varname`"; then
17563 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
17564$as_echo "$ossh_result" >&6; }
17565 if test "x$ossh_result" = "xyes"; then
17566
17567$as_echo "#define HAVE_SS_IN_UTMPX 1" >>confdefs.h
17568
17569 fi
17570 else
17571 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17572$as_echo "no" >&6; }
17573 fi
17574
17575
17576ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default"
17577if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
17578
17579cat >>confdefs.h <<_ACEOF
17580#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
17581_ACEOF
17582
17583
17584fi
17585
17586ac_fn_c_check_member "$LINENO" "struct stat" "st_mtim" "ac_cv_member_struct_stat_st_mtim" "$ac_includes_default"
17587if test "x$ac_cv_member_struct_stat_st_mtim" = xyes; then :
17588
17589cat >>confdefs.h <<_ACEOF
17590#define HAVE_STRUCT_STAT_ST_MTIM 1
17591_ACEOF
17592
17593
17594fi
17595
17596ac_fn_c_check_member "$LINENO" "struct stat" "st_mtime" "ac_cv_member_struct_stat_st_mtime" "$ac_includes_default"
17597if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
17598
17599cat >>confdefs.h <<_ACEOF
17600#define HAVE_STRUCT_STAT_ST_MTIME 1
17601_ACEOF
17602
17603
17604fi
17605
17606ac_fn_c_check_member "$LINENO" "struct passwd" "pw_gecos" "ac_cv_member_struct_passwd_pw_gecos" "
17607#include <sys/types.h>
17608#include <pwd.h>
17609
17610"
17611if test "x$ac_cv_member_struct_passwd_pw_gecos" = xyes; then :
17612
17613cat >>confdefs.h <<_ACEOF
17614#define HAVE_STRUCT_PASSWD_PW_GECOS 1
17615_ACEOF
17616
17617
17618fi
17619ac_fn_c_check_member "$LINENO" "struct passwd" "pw_class" "ac_cv_member_struct_passwd_pw_class" "
17620#include <sys/types.h>
17621#include <pwd.h>
17622
17623"
17624if test "x$ac_cv_member_struct_passwd_pw_class" = xyes; then :
17625
17626cat >>confdefs.h <<_ACEOF
17627#define HAVE_STRUCT_PASSWD_PW_CLASS 1
17628_ACEOF
17629
17630
17631fi
17632ac_fn_c_check_member "$LINENO" "struct passwd" "pw_change" "ac_cv_member_struct_passwd_pw_change" "
17633#include <sys/types.h>
17634#include <pwd.h>
17635
17636"
17637if test "x$ac_cv_member_struct_passwd_pw_change" = xyes; then :
17638
17639cat >>confdefs.h <<_ACEOF
17640#define HAVE_STRUCT_PASSWD_PW_CHANGE 1
17641_ACEOF
17642
17643
17644fi
17645ac_fn_c_check_member "$LINENO" "struct passwd" "pw_expire" "ac_cv_member_struct_passwd_pw_expire" "
17646#include <sys/types.h>
17647#include <pwd.h>
17648
17649"
17650if test "x$ac_cv_member_struct_passwd_pw_expire" = xyes; then :
17651
17652cat >>confdefs.h <<_ACEOF
17653#define HAVE_STRUCT_PASSWD_PW_EXPIRE 1
17654_ACEOF
17655
17656
17657fi
17658
17659
17660ac_fn_c_check_member "$LINENO" "struct __res_state" "retrans" "ac_cv_member_struct___res_state_retrans" "
17661#include <stdio.h>
17662#if HAVE_SYS_TYPES_H
17663# include <sys/types.h>
17664#endif
17665#include <netinet/in.h>
17666#include <arpa/nameser.h>
17667#include <resolv.h>
17668
17669"
17670if test "x$ac_cv_member_struct___res_state_retrans" = xyes; then :
17671
17672else
17673
17674$as_echo "#define __res_state state" >>confdefs.h
17675
17676fi
17677
17678
17679{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ss_family field in struct sockaddr_storage" >&5
17680$as_echo_n "checking for ss_family field in struct sockaddr_storage... " >&6; }
17681if ${ac_cv_have_ss_family_in_struct_ss+:} false; then :
17682 $as_echo_n "(cached) " >&6
17683else
17684
17685 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17686/* end confdefs.h. */
17687
17688#include <sys/types.h>
17689#include <sys/socket.h>
17690
17691int
17692main ()
17693{
17694 struct sockaddr_storage s; s.ss_family = 1;
17695 ;
17696 return 0;
17697}
17698_ACEOF
17699if ac_fn_c_try_compile "$LINENO"; then :
17700 ac_cv_have_ss_family_in_struct_ss="yes"
17701else
17702 ac_cv_have_ss_family_in_struct_ss="no"
17703fi
17704rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17705
17706fi
17707{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ss_family_in_struct_ss" >&5
17708$as_echo "$ac_cv_have_ss_family_in_struct_ss" >&6; }
17709if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then
17710
17711$as_echo "#define HAVE_SS_FAMILY_IN_SS 1" >>confdefs.h
17712
17713fi
17714
17715{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __ss_family field in struct sockaddr_storage" >&5
17716$as_echo_n "checking for __ss_family field in struct sockaddr_storage... " >&6; }
17717if ${ac_cv_have___ss_family_in_struct_ss+:} false; then :
17718 $as_echo_n "(cached) " >&6
17719else
17720
17721 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17722/* end confdefs.h. */
17723
17724#include <sys/types.h>
17725#include <sys/socket.h>
17726
17727int
17728main ()
17729{
17730 struct sockaddr_storage s; s.__ss_family = 1;
17731 ;
17732 return 0;
17733}
17734_ACEOF
17735if ac_fn_c_try_compile "$LINENO"; then :
17736 ac_cv_have___ss_family_in_struct_ss="yes"
17737else
17738 ac_cv_have___ss_family_in_struct_ss="no"
17739
17740fi
17741rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17742
17743fi
17744{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___ss_family_in_struct_ss" >&5
17745$as_echo "$ac_cv_have___ss_family_in_struct_ss" >&6; }
17746if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then
17747
17748$as_echo "#define HAVE___SS_FAMILY_IN_SS 1" >>confdefs.h
17749
17750fi
17751
17752{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_accrights field in struct msghdr" >&5
17753$as_echo_n "checking for msg_accrights field in struct msghdr... " >&6; }
17754if ${ac_cv_have_accrights_in_msghdr+:} false; then :
17755 $as_echo_n "(cached) " >&6
17756else
17757
17758 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17759/* end confdefs.h. */
17760
17761#include <sys/types.h>
17762#include <sys/socket.h>
17763#include <sys/uio.h>
17764#include <stdlib.h>
17765
17766int
17767main ()
17768{
17769
17770#ifdef msg_accrights
17771#error "msg_accrights is a macro"
17772exit(1);
17773#endif
17774struct msghdr m;
17775m.msg_accrights = 0;
17776exit(0);
17777
17778 ;
17779 return 0;
17780}
17781_ACEOF
17782if ac_fn_c_try_compile "$LINENO"; then :
17783 ac_cv_have_accrights_in_msghdr="yes"
17784else
17785 ac_cv_have_accrights_in_msghdr="no"
17786
17787fi
17788rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17789
17790fi
17791{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_accrights_in_msghdr" >&5
17792$as_echo "$ac_cv_have_accrights_in_msghdr" >&6; }
17793if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then
17794
17795$as_echo "#define HAVE_ACCRIGHTS_IN_MSGHDR 1" >>confdefs.h
17796
17797fi
17798
17799{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct statvfs.f_fsid is integral type" >&5
17800$as_echo_n "checking if struct statvfs.f_fsid is integral type... " >&6; }
17801cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17802/* end confdefs.h. */
17803
17804#include <sys/param.h>
17805#include <sys/stat.h>
17806#ifdef HAVE_SYS_TIME_H
17807# include <sys/time.h>
17808#endif
17809#ifdef HAVE_SYS_MOUNT_H
17810#include <sys/mount.h>
17811#endif
17812#ifdef HAVE_SYS_STATVFS_H
17813#include <sys/statvfs.h>
17814#endif
17815
17816int
17817main ()
17818{
17819 struct statvfs s; s.f_fsid = 0;
17820 ;
17821 return 0;
17822}
17823_ACEOF
17824if ac_fn_c_try_compile "$LINENO"; then :
17825 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17826$as_echo "yes" >&6; }
17827else
17828 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17829$as_echo "no" >&6; }
17830
17831 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fsid_t has member val" >&5
17832$as_echo_n "checking if fsid_t has member val... " >&6; }
17833 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17834/* end confdefs.h. */
17835
17836#include <sys/types.h>
17837#include <sys/statvfs.h>
17838
17839int
17840main ()
17841{
17842 fsid_t t; t.val[0] = 0;
17843 ;
17844 return 0;
17845}
17846_ACEOF
17847if ac_fn_c_try_compile "$LINENO"; then :
17848 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17849$as_echo "yes" >&6; }
17850
17851$as_echo "#define FSID_HAS_VAL 1" >>confdefs.h
17852
17853else
17854 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17855$as_echo "no" >&6; }
17856fi
17857rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17858
17859 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if f_fsid has member __val" >&5
17860$as_echo_n "checking if f_fsid has member __val... " >&6; }
17861 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17862/* end confdefs.h. */
17863
17864#include <sys/types.h>
17865#include <sys/statvfs.h>
17866
17867int
17868main ()
17869{
17870 fsid_t t; t.__val[0] = 0;
17871 ;
17872 return 0;
17873}
17874_ACEOF
17875if ac_fn_c_try_compile "$LINENO"; then :
17876 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17877$as_echo "yes" >&6; }
17878
17879$as_echo "#define FSID_HAS___VAL 1" >>confdefs.h
17880
17881else
17882 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17883$as_echo "no" >&6; }
17884fi
17885rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17886
17887fi
17888rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17889
17890{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_control field in struct msghdr" >&5
17891$as_echo_n "checking for msg_control field in struct msghdr... " >&6; }
17892if ${ac_cv_have_control_in_msghdr+:} false; then :
17893 $as_echo_n "(cached) " >&6
17894else
17895
17896 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17897/* end confdefs.h. */
17898
17899#include <sys/types.h>
17900#include <sys/socket.h>
17901#include <sys/uio.h>
17902#include <stdlib.h>
17903
17904int
17905main ()
17906{
17907
17908#ifdef msg_control
17909#error "msg_control is a macro"
17910exit(1);
17911#endif
17912struct msghdr m;
17913m.msg_control = 0;
17914exit(0);
17915
17916 ;
17917 return 0;
17918}
17919_ACEOF
17920if ac_fn_c_try_compile "$LINENO"; then :
17921 ac_cv_have_control_in_msghdr="yes"
17922else
17923 ac_cv_have_control_in_msghdr="no"
17924
17925fi
17926rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17927
17928fi
17929{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_control_in_msghdr" >&5
17930$as_echo "$ac_cv_have_control_in_msghdr" >&6; }
17931if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then
17932
17933$as_echo "#define HAVE_CONTROL_IN_MSGHDR 1" >>confdefs.h
17934
17935fi
17936
17937{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines __progname" >&5
17938$as_echo_n "checking if libc defines __progname... " >&6; }
17939if ${ac_cv_libc_defines___progname+:} false; then :
17940 $as_echo_n "(cached) " >&6
17941else
17942
17943 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17944/* end confdefs.h. */
17945 #include <stdio.h>
17946int
17947main ()
17948{
17949 extern char *__progname; printf("%s", __progname);
17950 ;
17951 return 0;
17952}
17953_ACEOF
17954if ac_fn_c_try_link "$LINENO"; then :
17955 ac_cv_libc_defines___progname="yes"
17956else
17957 ac_cv_libc_defines___progname="no"
17958
17959fi
17960rm -f core conftest.err conftest.$ac_objext \
17961 conftest$ac_exeext conftest.$ac_ext
17962
17963fi
17964{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines___progname" >&5
17965$as_echo "$ac_cv_libc_defines___progname" >&6; }
17966if test "x$ac_cv_libc_defines___progname" = "xyes" ; then
17967
17968$as_echo "#define HAVE___PROGNAME 1" >>confdefs.h
17969
17970fi
17971
17972{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __FUNCTION__" >&5
17973$as_echo_n "checking whether $CC implements __FUNCTION__... " >&6; }
17974if ${ac_cv_cc_implements___FUNCTION__+:} false; then :
17975 $as_echo_n "(cached) " >&6
17976else
17977
17978 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17979/* end confdefs.h. */
17980 #include <stdio.h>
17981int
17982main ()
17983{
17984 printf("%s", __FUNCTION__);
17985 ;
17986 return 0;
17987}
17988_ACEOF
17989if ac_fn_c_try_link "$LINENO"; then :
17990 ac_cv_cc_implements___FUNCTION__="yes"
17991else
17992 ac_cv_cc_implements___FUNCTION__="no"
17993
17994fi
17995rm -f core conftest.err conftest.$ac_objext \
17996 conftest$ac_exeext conftest.$ac_ext
17997
17998fi
17999{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___FUNCTION__" >&5
18000$as_echo "$ac_cv_cc_implements___FUNCTION__" >&6; }
18001if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then
18002
18003$as_echo "#define HAVE___FUNCTION__ 1" >>confdefs.h
18004
18005fi
18006
18007{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __func__" >&5
18008$as_echo_n "checking whether $CC implements __func__... " >&6; }
18009if ${ac_cv_cc_implements___func__+:} false; then :
18010 $as_echo_n "(cached) " >&6
18011else
18012
18013 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18014/* end confdefs.h. */
18015 #include <stdio.h>
18016int
18017main ()
18018{
18019 printf("%s", __func__);
18020 ;
18021 return 0;
18022}
18023_ACEOF
18024if ac_fn_c_try_link "$LINENO"; then :
18025 ac_cv_cc_implements___func__="yes"
18026else
18027 ac_cv_cc_implements___func__="no"
18028
18029fi
18030rm -f core conftest.err conftest.$ac_objext \
18031 conftest$ac_exeext conftest.$ac_ext
18032
18033fi
18034{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___func__" >&5
18035$as_echo "$ac_cv_cc_implements___func__" >&6; }
18036if test "x$ac_cv_cc_implements___func__" = "xyes" ; then
18037
18038$as_echo "#define HAVE___func__ 1" >>confdefs.h
18039
18040fi
18041
18042{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether va_copy exists" >&5
18043$as_echo_n "checking whether va_copy exists... " >&6; }
18044if ${ac_cv_have_va_copy+:} false; then :
18045 $as_echo_n "(cached) " >&6
18046else
18047
18048 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18049/* end confdefs.h. */
18050
18051#include <stdarg.h>
18052va_list x,y;
18053
18054int
18055main ()
18056{
18057 va_copy(x,y);
18058 ;
18059 return 0;
18060}
18061_ACEOF
18062if ac_fn_c_try_link "$LINENO"; then :
18063 ac_cv_have_va_copy="yes"
18064else
18065 ac_cv_have_va_copy="no"
18066
18067fi
18068rm -f core conftest.err conftest.$ac_objext \
18069 conftest$ac_exeext conftest.$ac_ext
18070
18071fi
18072{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_va_copy" >&5
18073$as_echo "$ac_cv_have_va_copy" >&6; }
18074if test "x$ac_cv_have_va_copy" = "xyes" ; then
18075
18076$as_echo "#define HAVE_VA_COPY 1" >>confdefs.h
18077
18078fi
18079
18080{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __va_copy exists" >&5
18081$as_echo_n "checking whether __va_copy exists... " >&6; }
18082if ${ac_cv_have___va_copy+:} false; then :
18083 $as_echo_n "(cached) " >&6
18084else
18085
18086 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18087/* end confdefs.h. */
18088
18089#include <stdarg.h>
18090va_list x,y;
18091
18092int
18093main ()
18094{
18095 __va_copy(x,y);
18096 ;
18097 return 0;
18098}
18099_ACEOF
18100if ac_fn_c_try_link "$LINENO"; then :
18101 ac_cv_have___va_copy="yes"
18102else
18103 ac_cv_have___va_copy="no"
18104
18105fi
18106rm -f core conftest.err conftest.$ac_objext \
18107 conftest$ac_exeext conftest.$ac_ext
18108
18109fi
18110{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___va_copy" >&5
18111$as_echo "$ac_cv_have___va_copy" >&6; }
18112if test "x$ac_cv_have___va_copy" = "xyes" ; then
18113
18114$as_echo "#define HAVE___VA_COPY 1" >>confdefs.h
18115
18116fi
18117
18118{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt has optreset support" >&5
18119$as_echo_n "checking whether getopt has optreset support... " >&6; }
18120if ${ac_cv_have_getopt_optreset+:} false; then :
18121 $as_echo_n "(cached) " >&6
18122else
18123
18124 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18125/* end confdefs.h. */
18126 #include <getopt.h>
18127int
18128main ()
18129{
18130 extern int optreset; optreset = 0;
18131 ;
18132 return 0;
18133}
18134_ACEOF
18135if ac_fn_c_try_link "$LINENO"; then :
18136 ac_cv_have_getopt_optreset="yes"
18137else
18138 ac_cv_have_getopt_optreset="no"
18139
18140fi
18141rm -f core conftest.err conftest.$ac_objext \
18142 conftest$ac_exeext conftest.$ac_ext
18143
18144fi
18145{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_getopt_optreset" >&5
18146$as_echo "$ac_cv_have_getopt_optreset" >&6; }
18147if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then
18148
18149$as_echo "#define HAVE_GETOPT_OPTRESET 1" >>confdefs.h
18150
18151fi
18152
18153{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_errlist" >&5
18154$as_echo_n "checking if libc defines sys_errlist... " >&6; }
18155if ${ac_cv_libc_defines_sys_errlist+:} false; then :
18156 $as_echo_n "(cached) " >&6
18157else
18158
18159 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18160/* end confdefs.h. */
18161 #include <stdio.h>
18162int
18163main ()
18164{
18165 extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);
18166 ;
18167 return 0;
18168}
18169_ACEOF
18170if ac_fn_c_try_link "$LINENO"; then :
18171 ac_cv_libc_defines_sys_errlist="yes"
18172else
18173 ac_cv_libc_defines_sys_errlist="no"
18174
18175fi
18176rm -f core conftest.err conftest.$ac_objext \
18177 conftest$ac_exeext conftest.$ac_ext
18178
18179fi
18180{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_errlist" >&5
18181$as_echo "$ac_cv_libc_defines_sys_errlist" >&6; }
18182if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then
18183
18184$as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h
18185
18186fi
18187
18188
18189{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_nerr" >&5
18190$as_echo_n "checking if libc defines sys_nerr... " >&6; }
18191if ${ac_cv_libc_defines_sys_nerr+:} false; then :
18192 $as_echo_n "(cached) " >&6
18193else
18194
18195 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18196/* end confdefs.h. */
18197 #include <stdio.h>
18198int
18199main ()
18200{
18201 extern int sys_nerr; printf("%i", sys_nerr);
18202 ;
18203 return 0;
18204}
18205_ACEOF
18206if ac_fn_c_try_link "$LINENO"; then :
18207 ac_cv_libc_defines_sys_nerr="yes"
18208else
18209 ac_cv_libc_defines_sys_nerr="no"
18210
18211fi
18212rm -f core conftest.err conftest.$ac_objext \
18213 conftest$ac_exeext conftest.$ac_ext
18214
18215fi
18216{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_nerr" >&5
18217$as_echo "$ac_cv_libc_defines_sys_nerr" >&6; }
18218if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then
18219
18220$as_echo "#define HAVE_SYS_NERR 1" >>confdefs.h
18221
18222fi
18223
18224# Check libraries needed by DNS fingerprint support
18225{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getrrsetbyname" >&5
18226$as_echo_n "checking for library containing getrrsetbyname... " >&6; }
18227if ${ac_cv_search_getrrsetbyname+:} false; then :
18228 $as_echo_n "(cached) " >&6
18229else
18230 ac_func_search_save_LIBS=$LIBS
18231cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18232/* end confdefs.h. */
18233
18234/* Override any GCC internal prototype to avoid an error.
18235 Use char because int might match the return type of a GCC
18236 builtin and then its argument prototype would still apply. */
18237#ifdef __cplusplus
18238extern "C"
18239#endif
18240char getrrsetbyname ();
18241int
18242main ()
18243{
18244return getrrsetbyname ();
18245 ;
18246 return 0;
18247}
18248_ACEOF
18249for ac_lib in '' resolv; do
18250 if test -z "$ac_lib"; then
18251 ac_res="none required"
18252 else
18253 ac_res=-l$ac_lib
18254 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
18255 fi
18256 if ac_fn_c_try_link "$LINENO"; then :
18257 ac_cv_search_getrrsetbyname=$ac_res
18258fi
18259rm -f core conftest.err conftest.$ac_objext \
18260 conftest$ac_exeext
18261 if ${ac_cv_search_getrrsetbyname+:} false; then :
18262 break
18263fi
18264done
18265if ${ac_cv_search_getrrsetbyname+:} false; then :
18266
18267else
18268 ac_cv_search_getrrsetbyname=no
18269fi
18270rm conftest.$ac_ext
18271LIBS=$ac_func_search_save_LIBS
18272fi
18273{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getrrsetbyname" >&5
18274$as_echo "$ac_cv_search_getrrsetbyname" >&6; }
18275ac_res=$ac_cv_search_getrrsetbyname
18276if test "$ac_res" != no; then :
18277 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18278
18279$as_echo "#define HAVE_GETRRSETBYNAME 1" >>confdefs.h
18280
18281else
18282
18283 # Needed by our getrrsetbyname()
18284 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_query" >&5
18285$as_echo_n "checking for library containing res_query... " >&6; }
18286if ${ac_cv_search_res_query+:} false; then :
18287 $as_echo_n "(cached) " >&6
18288else
18289 ac_func_search_save_LIBS=$LIBS
18290cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18291/* end confdefs.h. */
18292
18293/* Override any GCC internal prototype to avoid an error.
18294 Use char because int might match the return type of a GCC
18295 builtin and then its argument prototype would still apply. */
18296#ifdef __cplusplus
18297extern "C"
18298#endif
18299char res_query ();
18300int
18301main ()
18302{
18303return res_query ();
18304 ;
18305 return 0;
18306}
18307_ACEOF
18308for ac_lib in '' resolv; do
18309 if test -z "$ac_lib"; then
18310 ac_res="none required"
18311 else
18312 ac_res=-l$ac_lib
18313 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
18314 fi
18315 if ac_fn_c_try_link "$LINENO"; then :
18316 ac_cv_search_res_query=$ac_res
18317fi
18318rm -f core conftest.err conftest.$ac_objext \
18319 conftest$ac_exeext
18320 if ${ac_cv_search_res_query+:} false; then :
18321 break
18322fi
18323done
18324if ${ac_cv_search_res_query+:} false; then :
18325
18326else
18327 ac_cv_search_res_query=no
18328fi
18329rm conftest.$ac_ext
18330LIBS=$ac_func_search_save_LIBS
18331fi
18332{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_res_query" >&5
18333$as_echo "$ac_cv_search_res_query" >&6; }
18334ac_res=$ac_cv_search_res_query
18335if test "$ac_res" != no; then :
18336 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18337
18338fi
18339
18340 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
18341$as_echo_n "checking for library containing dn_expand... " >&6; }
18342if ${ac_cv_search_dn_expand+:} false; then :
18343 $as_echo_n "(cached) " >&6
18344else
18345 ac_func_search_save_LIBS=$LIBS
18346cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18347/* end confdefs.h. */
18348
18349/* Override any GCC internal prototype to avoid an error.
18350 Use char because int might match the return type of a GCC
18351 builtin and then its argument prototype would still apply. */
18352#ifdef __cplusplus
18353extern "C"
18354#endif
18355char dn_expand ();
18356int
18357main ()
18358{
18359return dn_expand ();
18360 ;
18361 return 0;
18362}
18363_ACEOF
18364for ac_lib in '' resolv; do
18365 if test -z "$ac_lib"; then
18366 ac_res="none required"
18367 else
18368 ac_res=-l$ac_lib
18369 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
18370 fi
18371 if ac_fn_c_try_link "$LINENO"; then :
18372 ac_cv_search_dn_expand=$ac_res
18373fi
18374rm -f core conftest.err conftest.$ac_objext \
18375 conftest$ac_exeext
18376 if ${ac_cv_search_dn_expand+:} false; then :
18377 break
18378fi
18379done
18380if ${ac_cv_search_dn_expand+:} false; then :
18381
18382else
18383 ac_cv_search_dn_expand=no
18384fi
18385rm conftest.$ac_ext
18386LIBS=$ac_func_search_save_LIBS
18387fi
18388{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5
18389$as_echo "$ac_cv_search_dn_expand" >&6; }
18390ac_res=$ac_cv_search_dn_expand
18391if test "$ac_res" != no; then :
18392 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18393
18394fi
18395
18396 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if res_query will link" >&5
18397$as_echo_n "checking if res_query will link... " >&6; }
18398 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18399/* end confdefs.h. */
18400
18401#include <sys/types.h>
18402#include <netinet/in.h>
18403#include <arpa/nameser.h>
18404#include <netdb.h>
18405#include <resolv.h>
18406
18407int
18408main ()
18409{
18410
18411 res_query (0, 0, 0, 0, 0);
18412
18413 ;
18414 return 0;
18415}
18416_ACEOF
18417if ac_fn_c_try_link "$LINENO"; then :
18418 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18419$as_echo "yes" >&6; }
18420else
18421 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18422$as_echo "no" >&6; }
18423 saved_LIBS="$LIBS"
18424 LIBS="$LIBS -lresolv"
18425 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5
18426$as_echo_n "checking for res_query in -lresolv... " >&6; }
18427 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18428/* end confdefs.h. */
18429
18430#include <sys/types.h>
18431#include <netinet/in.h>
18432#include <arpa/nameser.h>
18433#include <netdb.h>
18434#include <resolv.h>
18435
18436int
18437main ()
18438{
18439
18440 res_query (0, 0, 0, 0, 0);
18441
18442 ;
18443 return 0;
18444}
18445_ACEOF
18446if ac_fn_c_try_link "$LINENO"; then :
18447 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18448$as_echo "yes" >&6; }
18449else
18450 LIBS="$saved_LIBS"
18451 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18452$as_echo "no" >&6; }
18453fi
18454rm -f core conftest.err conftest.$ac_objext \
18455 conftest$ac_exeext conftest.$ac_ext
18456
18457fi
18458rm -f core conftest.err conftest.$ac_objext \
18459 conftest$ac_exeext conftest.$ac_ext
18460 for ac_func in _getshort _getlong
18461do :
18462 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
18463ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
18464if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
18465 cat >>confdefs.h <<_ACEOF
18466#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
18467_ACEOF
18468
18469fi
18470done
18471
18472 ac_fn_c_check_decl "$LINENO" "_getshort" "ac_cv_have_decl__getshort" "#include <sys/types.h>
18473 #include <arpa/nameser.h>
18474"
18475if test "x$ac_cv_have_decl__getshort" = xyes; then :
18476 ac_have_decl=1
18477else
18478 ac_have_decl=0
18479fi
18480
18481cat >>confdefs.h <<_ACEOF
18482#define HAVE_DECL__GETSHORT $ac_have_decl
18483_ACEOF
18484ac_fn_c_check_decl "$LINENO" "_getlong" "ac_cv_have_decl__getlong" "#include <sys/types.h>
18485 #include <arpa/nameser.h>
18486"
18487if test "x$ac_cv_have_decl__getlong" = xyes; then :
18488 ac_have_decl=1
18489else
18490 ac_have_decl=0
18491fi
18492
18493cat >>confdefs.h <<_ACEOF
18494#define HAVE_DECL__GETLONG $ac_have_decl
18495_ACEOF
18496
18497 ac_fn_c_check_member "$LINENO" "HEADER" "ad" "ac_cv_member_HEADER_ad" "#include <arpa/nameser.h>
18498"
18499if test "x$ac_cv_member_HEADER_ad" = xyes; then :
18500
18501$as_echo "#define HAVE_HEADER_AD 1" >>confdefs.h
18502
18503fi
18504
18505
18506fi
18507
18508
18509{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct __res_state _res is an extern" >&5
18510$as_echo_n "checking if struct __res_state _res is an extern... " >&6; }
18511cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18512/* end confdefs.h. */
18513
18514#include <stdio.h>
18515#if HAVE_SYS_TYPES_H
18516# include <sys/types.h>
18517#endif
18518#include <netinet/in.h>
18519#include <arpa/nameser.h>
18520#include <resolv.h>
18521extern struct __res_state _res;
18522
18523int
18524main ()
18525{
18526
18527struct __res_state *volatile p = &_res; /* force resolution of _res */
18528return 0;
18529
18530 ;
18531 return 0;
18532}
18533_ACEOF
18534if ac_fn_c_try_link "$LINENO"; then :
18535 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18536$as_echo "yes" >&6; }
18537
18538$as_echo "#define HAVE__RES_EXTERN 1" >>confdefs.h
18539
18540
18541else
18542 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18543$as_echo "no" >&6; }
18544
18545fi
18546rm -f core conftest.err conftest.$ac_objext \
18547 conftest$ac_exeext conftest.$ac_ext
18548
18549# Check whether user wants SELinux support
18550SELINUX_MSG="no"
18551LIBSELINUX=""
18552
18553# Check whether --with-selinux was given.
18554if test "${with_selinux+set}" = set; then :
18555 withval=$with_selinux; if test "x$withval" != "xno" ; then
18556 save_LIBS="$LIBS"
18557
18558$as_echo "#define WITH_SELINUX 1" >>confdefs.h
18559
18560 SELINUX_MSG="yes"
18561 ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
18562if test "x$ac_cv_header_selinux_selinux_h" = xyes; then :
18563
18564else
18565 as_fn_error $? "SELinux support requires selinux.h header" "$LINENO" 5
18566fi
18567
18568
18569 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setexeccon in -lselinux" >&5
18570$as_echo_n "checking for setexeccon in -lselinux... " >&6; }
18571if ${ac_cv_lib_selinux_setexeccon+:} false; then :
18572 $as_echo_n "(cached) " >&6
18573else
18574 ac_check_lib_save_LIBS=$LIBS
18575LIBS="-lselinux $LIBS"
18576cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18577/* end confdefs.h. */
18578
18579/* Override any GCC internal prototype to avoid an error.
18580 Use char because int might match the return type of a GCC
18581 builtin and then its argument prototype would still apply. */
18582#ifdef __cplusplus
18583extern "C"
18584#endif
18585char setexeccon ();
18586int
18587main ()
18588{
18589return setexeccon ();
18590 ;
18591 return 0;
18592}
18593_ACEOF
18594if ac_fn_c_try_link "$LINENO"; then :
18595 ac_cv_lib_selinux_setexeccon=yes
18596else
18597 ac_cv_lib_selinux_setexeccon=no
18598fi
18599rm -f core conftest.err conftest.$ac_objext \
18600 conftest$ac_exeext conftest.$ac_ext
18601LIBS=$ac_check_lib_save_LIBS
18602fi
18603{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_setexeccon" >&5
18604$as_echo "$ac_cv_lib_selinux_setexeccon" >&6; }
18605if test "x$ac_cv_lib_selinux_setexeccon" = xyes; then :
18606 LIBSELINUX="-lselinux"
18607 LIBS="$LIBS -lselinux"
18608
18609else
18610 as_fn_error $? "SELinux support requires libselinux library" "$LINENO" 5
18611fi
18612
18613 for ac_func in getseuserbyname get_default_context_with_level
18614do :
18615 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
18616ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
18617if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
18618 cat >>confdefs.h <<_ACEOF
18619#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
18620_ACEOF
18621
18622fi
18623done
18624
18625 LIBS="$save_LIBS $LIBSELINUX"
18626 fi
18627
18628fi
18629
18630
18631
18632# Check whether user wants Kerberos 5 support
18633KRB5_MSG="no"
18634
18635# Check whether --with-kerberos5 was given.
18636if test "${with_kerberos5+set}" = set; then :
18637 withval=$with_kerberos5; if test "x$withval" != "xno" ; then
18638 if test "x$withval" = "xyes" ; then
18639 KRB5ROOT="/usr/local"
18640 else
18641 KRB5ROOT=${withval}
18642 fi
18643
18644
18645$as_echo "#define KRB5 1" >>confdefs.h
18646
18647 KRB5_MSG="yes"
18648
18649 if test -n "$ac_tool_prefix"; then
18650 # Extract the first word of "${ac_tool_prefix}krb5-config", so it can be a program name with args.
18651set dummy ${ac_tool_prefix}krb5-config; ac_word=$2
18652{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18653$as_echo_n "checking for $ac_word... " >&6; }
18654if ${ac_cv_path_KRB5CONF+:} false; then :
18655 $as_echo_n "(cached) " >&6
18656else
18657 case $KRB5CONF in
18658 [\\/]* | ?:[\\/]*)
18659 ac_cv_path_KRB5CONF="$KRB5CONF" # Let the user override the test with a path.
18660 ;;
18661 *)
18662 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18663as_dummy="$KRB5ROOT/bin:$PATH"
18664for as_dir in $as_dummy
18665do
18666 IFS=$as_save_IFS
18667 test -z "$as_dir" && as_dir=.
18668 for ac_exec_ext in '' $ac_executable_extensions; do
18669 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18670 ac_cv_path_KRB5CONF="$as_dir/$ac_word$ac_exec_ext"
18671 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18672 break 2
18673 fi
18674done
18675 done
18676IFS=$as_save_IFS
18677
18678 ;;
18679esac
18680fi
18681KRB5CONF=$ac_cv_path_KRB5CONF
18682if test -n "$KRB5CONF"; then
18683 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KRB5CONF" >&5
18684$as_echo "$KRB5CONF" >&6; }
18685else
18686 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18687$as_echo "no" >&6; }
18688fi
18689
18690
18691fi
18692if test -z "$ac_cv_path_KRB5CONF"; then
18693 ac_pt_KRB5CONF=$KRB5CONF
18694 # Extract the first word of "krb5-config", so it can be a program name with args.
18695set dummy krb5-config; ac_word=$2
18696{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18697$as_echo_n "checking for $ac_word... " >&6; }
18698if ${ac_cv_path_ac_pt_KRB5CONF+:} false; then :
18699 $as_echo_n "(cached) " >&6
18700else
18701 case $ac_pt_KRB5CONF in
18702 [\\/]* | ?:[\\/]*)
18703 ac_cv_path_ac_pt_KRB5CONF="$ac_pt_KRB5CONF" # Let the user override the test with a path.
18704 ;;
18705 *)
18706 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18707as_dummy="$KRB5ROOT/bin:$PATH"
18708for as_dir in $as_dummy
18709do
18710 IFS=$as_save_IFS
18711 test -z "$as_dir" && as_dir=.
18712 for ac_exec_ext in '' $ac_executable_extensions; do
18713 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18714 ac_cv_path_ac_pt_KRB5CONF="$as_dir/$ac_word$ac_exec_ext"
18715 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18716 break 2
18717 fi
18718done
18719 done
18720IFS=$as_save_IFS
18721
18722 ;;
18723esac
18724fi
18725ac_pt_KRB5CONF=$ac_cv_path_ac_pt_KRB5CONF
18726if test -n "$ac_pt_KRB5CONF"; then
18727 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_KRB5CONF" >&5
18728$as_echo "$ac_pt_KRB5CONF" >&6; }
18729else
18730 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18731$as_echo "no" >&6; }
18732fi
18733
18734 if test "x$ac_pt_KRB5CONF" = x; then
18735 KRB5CONF="$KRB5ROOT/bin/krb5-config"
18736 else
18737 case $cross_compiling:$ac_tool_warned in
18738yes:)
18739{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
18740$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
18741ac_tool_warned=yes ;;
18742esac
18743 KRB5CONF=$ac_pt_KRB5CONF
18744 fi
18745else
18746 KRB5CONF="$ac_cv_path_KRB5CONF"
18747fi
18748
18749 if test -x $KRB5CONF ; then
18750 K5CFLAGS="`$KRB5CONF --cflags`"
18751 K5LIBS="`$KRB5CONF --libs`"
18752 CPPFLAGS="$CPPFLAGS $K5CFLAGS"
18753
18754 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gssapi support" >&5
18755$as_echo_n "checking for gssapi support... " >&6; }
18756 if $KRB5CONF | grep gssapi >/dev/null ; then
18757 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18758$as_echo "yes" >&6; }
18759
18760$as_echo "#define GSSAPI 1" >>confdefs.h
18761
18762 GSSCFLAGS="`$KRB5CONF --cflags gssapi`"
18763 GSSLIBS="`$KRB5CONF --libs gssapi`"
18764 CPPFLAGS="$CPPFLAGS $GSSCFLAGS"
18765 else
18766 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18767$as_echo "no" >&6; }
18768 fi
18769 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
18770$as_echo_n "checking whether we are using Heimdal... " >&6; }
18771 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18772/* end confdefs.h. */
18773 #include <krb5.h>
18774
18775int
18776main ()
18777{
18778 char *tmp = heimdal_version;
18779 ;
18780 return 0;
18781}
18782_ACEOF
18783if ac_fn_c_try_compile "$LINENO"; then :
18784 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18785$as_echo "yes" >&6; }
18786
18787$as_echo "#define HEIMDAL 1" >>confdefs.h
18788
18789else
18790 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18791$as_echo "no" >&6; }
18792
18793fi
18794rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
18795 else
18796 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include"
18797 LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib"
18798 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
18799$as_echo_n "checking whether we are using Heimdal... " >&6; }
18800 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18801/* end confdefs.h. */
18802 #include <krb5.h>
18803
18804int
18805main ()
18806{
18807 char *tmp = heimdal_version;
18808 ;
18809 return 0;
18810}
18811_ACEOF
18812if ac_fn_c_try_compile "$LINENO"; then :
18813 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18814$as_echo "yes" >&6; }
18815 $as_echo "#define HEIMDAL 1" >>confdefs.h
18816
18817 K5LIBS="-lkrb5"
18818 K5LIBS="$K5LIBS -lcom_err -lasn1"
18819 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for net_write in -lroken" >&5
18820$as_echo_n "checking for net_write in -lroken... " >&6; }
18821if ${ac_cv_lib_roken_net_write+:} false; then :
18822 $as_echo_n "(cached) " >&6
18823else
18824 ac_check_lib_save_LIBS=$LIBS
18825LIBS="-lroken $LIBS"
18826cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18827/* end confdefs.h. */
18828
18829/* Override any GCC internal prototype to avoid an error.
18830 Use char because int might match the return type of a GCC
18831 builtin and then its argument prototype would still apply. */
18832#ifdef __cplusplus
18833extern "C"
18834#endif
18835char net_write ();
18836int
18837main ()
18838{
18839return net_write ();
18840 ;
18841 return 0;
18842}
18843_ACEOF
18844if ac_fn_c_try_link "$LINENO"; then :
18845 ac_cv_lib_roken_net_write=yes
18846else
18847 ac_cv_lib_roken_net_write=no
18848fi
18849rm -f core conftest.err conftest.$ac_objext \
18850 conftest$ac_exeext conftest.$ac_ext
18851LIBS=$ac_check_lib_save_LIBS
18852fi
18853{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_roken_net_write" >&5
18854$as_echo "$ac_cv_lib_roken_net_write" >&6; }
18855if test "x$ac_cv_lib_roken_net_write" = xyes; then :
18856 K5LIBS="$K5LIBS -lroken"
18857fi
18858
18859 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5
18860$as_echo_n "checking for des_cbc_encrypt in -ldes... " >&6; }
18861if ${ac_cv_lib_des_des_cbc_encrypt+:} false; then :
18862 $as_echo_n "(cached) " >&6
18863else
18864 ac_check_lib_save_LIBS=$LIBS
18865LIBS="-ldes $LIBS"
18866cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18867/* end confdefs.h. */
18868
18869/* Override any GCC internal prototype to avoid an error.
18870 Use char because int might match the return type of a GCC
18871 builtin and then its argument prototype would still apply. */
18872#ifdef __cplusplus
18873extern "C"
18874#endif
18875char des_cbc_encrypt ();
18876int
18877main ()
18878{
18879return des_cbc_encrypt ();
18880 ;
18881 return 0;
18882}
18883_ACEOF
18884if ac_fn_c_try_link "$LINENO"; then :
18885 ac_cv_lib_des_des_cbc_encrypt=yes
18886else
18887 ac_cv_lib_des_des_cbc_encrypt=no
18888fi
18889rm -f core conftest.err conftest.$ac_objext \
18890 conftest$ac_exeext conftest.$ac_ext
18891LIBS=$ac_check_lib_save_LIBS
18892fi
18893{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_cbc_encrypt" >&5
18894$as_echo "$ac_cv_lib_des_des_cbc_encrypt" >&6; }
18895if test "x$ac_cv_lib_des_des_cbc_encrypt" = xyes; then :
18896 K5LIBS="$K5LIBS -ldes"
18897fi
18898
18899
18900else
18901 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18902$as_echo "no" >&6; }
18903 K5LIBS="-lkrb5 -lk5crypto -lcom_err"
18904
18905fi
18906rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
18907 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
18908$as_echo_n "checking for library containing dn_expand... " >&6; }
18909if ${ac_cv_search_dn_expand+:} false; then :
18910 $as_echo_n "(cached) " >&6
18911else
18912 ac_func_search_save_LIBS=$LIBS
18913cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18914/* end confdefs.h. */
18915
18916/* Override any GCC internal prototype to avoid an error.
18917 Use char because int might match the return type of a GCC
18918 builtin and then its argument prototype would still apply. */
18919#ifdef __cplusplus
18920extern "C"
18921#endif
18922char dn_expand ();
18923int
18924main ()
18925{
18926return dn_expand ();
18927 ;
18928 return 0;
18929}
18930_ACEOF
18931for ac_lib in '' resolv; do
18932 if test -z "$ac_lib"; then
18933 ac_res="none required"
18934 else
18935 ac_res=-l$ac_lib
18936 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
18937 fi
18938 if ac_fn_c_try_link "$LINENO"; then :
18939 ac_cv_search_dn_expand=$ac_res
18940fi
18941rm -f core conftest.err conftest.$ac_objext \
18942 conftest$ac_exeext
18943 if ${ac_cv_search_dn_expand+:} false; then :
18944 break
18945fi
18946done
18947if ${ac_cv_search_dn_expand+:} false; then :
18948
18949else
18950 ac_cv_search_dn_expand=no
18951fi
18952rm conftest.$ac_ext
18953LIBS=$ac_func_search_save_LIBS
18954fi
18955{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5
18956$as_echo "$ac_cv_search_dn_expand" >&6; }
18957ac_res=$ac_cv_search_dn_expand
18958if test "$ac_res" != no; then :
18959 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18960
18961fi
18962
18963
18964 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi_krb5" >&5
18965$as_echo_n "checking for gss_init_sec_context in -lgssapi_krb5... " >&6; }
18966if ${ac_cv_lib_gssapi_krb5_gss_init_sec_context+:} false; then :
18967 $as_echo_n "(cached) " >&6
18968else
18969 ac_check_lib_save_LIBS=$LIBS
18970LIBS="-lgssapi_krb5 $LIBS"
18971cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18972/* end confdefs.h. */
18973
18974/* Override any GCC internal prototype to avoid an error.
18975 Use char because int might match the return type of a GCC
18976 builtin and then its argument prototype would still apply. */
18977#ifdef __cplusplus
18978extern "C"
18979#endif
18980char gss_init_sec_context ();
18981int
18982main ()
18983{
18984return gss_init_sec_context ();
18985 ;
18986 return 0;
18987}
18988_ACEOF
18989if ac_fn_c_try_link "$LINENO"; then :
18990 ac_cv_lib_gssapi_krb5_gss_init_sec_context=yes
18991else
18992 ac_cv_lib_gssapi_krb5_gss_init_sec_context=no
18993fi
18994rm -f core conftest.err conftest.$ac_objext \
18995 conftest$ac_exeext conftest.$ac_ext
18996LIBS=$ac_check_lib_save_LIBS
18997fi
18998{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&5
18999$as_echo "$ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&6; }
19000if test "x$ac_cv_lib_gssapi_krb5_gss_init_sec_context" = xyes; then :
19001 $as_echo "#define GSSAPI 1" >>confdefs.h
19002
19003 GSSLIBS="-lgssapi_krb5"
19004else
19005 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi" >&5
19006$as_echo_n "checking for gss_init_sec_context in -lgssapi... " >&6; }
19007if ${ac_cv_lib_gssapi_gss_init_sec_context+:} false; then :
19008 $as_echo_n "(cached) " >&6
19009else
19010 ac_check_lib_save_LIBS=$LIBS
19011LIBS="-lgssapi $LIBS"
19012cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19013/* end confdefs.h. */
19014
19015/* Override any GCC internal prototype to avoid an error.
19016 Use char because int might match the return type of a GCC
19017 builtin and then its argument prototype would still apply. */
19018#ifdef __cplusplus
19019extern "C"
19020#endif
19021char gss_init_sec_context ();
19022int
19023main ()
19024{
19025return gss_init_sec_context ();
19026 ;
19027 return 0;
19028}
19029_ACEOF
19030if ac_fn_c_try_link "$LINENO"; then :
19031 ac_cv_lib_gssapi_gss_init_sec_context=yes
19032else
19033 ac_cv_lib_gssapi_gss_init_sec_context=no
19034fi
19035rm -f core conftest.err conftest.$ac_objext \
19036 conftest$ac_exeext conftest.$ac_ext
19037LIBS=$ac_check_lib_save_LIBS
19038fi
19039{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_gss_init_sec_context" >&5
19040$as_echo "$ac_cv_lib_gssapi_gss_init_sec_context" >&6; }
19041if test "x$ac_cv_lib_gssapi_gss_init_sec_context" = xyes; then :
19042 $as_echo "#define GSSAPI 1" >>confdefs.h
19043
19044 GSSLIBS="-lgssapi"
19045else
19046 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgss" >&5
19047$as_echo_n "checking for gss_init_sec_context in -lgss... " >&6; }
19048if ${ac_cv_lib_gss_gss_init_sec_context+:} false; then :
19049 $as_echo_n "(cached) " >&6
19050else
19051 ac_check_lib_save_LIBS=$LIBS
19052LIBS="-lgss $LIBS"
19053cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19054/* end confdefs.h. */
19055
19056/* Override any GCC internal prototype to avoid an error.
19057 Use char because int might match the return type of a GCC
19058 builtin and then its argument prototype would still apply. */
19059#ifdef __cplusplus
19060extern "C"
19061#endif
19062char gss_init_sec_context ();
19063int
19064main ()
19065{
19066return gss_init_sec_context ();
19067 ;
19068 return 0;
19069}
19070_ACEOF
19071if ac_fn_c_try_link "$LINENO"; then :
19072 ac_cv_lib_gss_gss_init_sec_context=yes
19073else
19074 ac_cv_lib_gss_gss_init_sec_context=no
19075fi
19076rm -f core conftest.err conftest.$ac_objext \
19077 conftest$ac_exeext conftest.$ac_ext
19078LIBS=$ac_check_lib_save_LIBS
19079fi
19080{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_gss_init_sec_context" >&5
19081$as_echo "$ac_cv_lib_gss_gss_init_sec_context" >&6; }
19082if test "x$ac_cv_lib_gss_gss_init_sec_context" = xyes; then :
19083 $as_echo "#define GSSAPI 1" >>confdefs.h
19084
19085 GSSLIBS="-lgss"
19086else
19087 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api library - build may fail" >&5
19088$as_echo "$as_me: WARNING: Cannot find any suitable gss-api library - build may fail" >&2;}
19089fi
19090
19091
19092fi
19093
19094
19095fi
19096
19097
19098 ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
19099if test "x$ac_cv_header_gssapi_h" = xyes; then :
19100
19101else
19102 unset ac_cv_header_gssapi_h
19103 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
19104 for ac_header in gssapi.h
19105do :
19106 ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
19107if test "x$ac_cv_header_gssapi_h" = xyes; then :
19108 cat >>confdefs.h <<_ACEOF
19109#define HAVE_GSSAPI_H 1
19110_ACEOF
19111
19112else
19113 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api header - build may fail" >&5
19114$as_echo "$as_me: WARNING: Cannot find any suitable gss-api header - build may fail" >&2;}
19115
19116fi
19117
19118done
19119
19120
19121
19122fi
19123
19124
19125
19126 oldCPP="$CPPFLAGS"
19127 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
19128 ac_fn_c_check_header_mongrel "$LINENO" "gssapi_krb5.h" "ac_cv_header_gssapi_krb5_h" "$ac_includes_default"
19129if test "x$ac_cv_header_gssapi_krb5_h" = xyes; then :
19130
19131else
19132 CPPFLAGS="$oldCPP"
19133fi
19134
19135
19136
19137 fi
19138 if test -n "${rpath_opt}" ; then
19139 LDFLAGS="$LDFLAGS ${rpath_opt}${KRB5ROOT}/lib"
19140 fi
19141 if test ! -z "$blibpath" ; then
19142 blibpath="$blibpath:${KRB5ROOT}/lib"
19143 fi
19144
19145 for ac_header in gssapi.h gssapi/gssapi.h
19146do :
19147 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
19148ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
19149if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
19150 cat >>confdefs.h <<_ACEOF
19151#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
19152_ACEOF
19153
19154fi
19155
19156done
19157
19158 for ac_header in gssapi_krb5.h gssapi/gssapi_krb5.h
19159do :
19160 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
19161ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
19162if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
19163 cat >>confdefs.h <<_ACEOF
19164#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
19165_ACEOF
19166
19167fi
19168
19169done
19170
19171 for ac_header in gssapi_generic.h gssapi/gssapi_generic.h
19172do :
19173 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
19174ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
19175if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
19176 cat >>confdefs.h <<_ACEOF
19177#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
19178_ACEOF
19179
19180fi
19181
19182done
19183
19184
19185 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing k_hasafs" >&5
19186$as_echo_n "checking for library containing k_hasafs... " >&6; }
19187if ${ac_cv_search_k_hasafs+:} false; then :
19188 $as_echo_n "(cached) " >&6
19189else
19190 ac_func_search_save_LIBS=$LIBS
19191cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19192/* end confdefs.h. */
19193
19194/* Override any GCC internal prototype to avoid an error.
19195 Use char because int might match the return type of a GCC
19196 builtin and then its argument prototype would still apply. */
19197#ifdef __cplusplus
19198extern "C"
19199#endif
19200char k_hasafs ();
19201int
19202main ()
19203{
19204return k_hasafs ();
19205 ;
19206 return 0;
19207}
19208_ACEOF
19209for ac_lib in '' kafs; do
19210 if test -z "$ac_lib"; then
19211 ac_res="none required"
19212 else
19213 ac_res=-l$ac_lib
19214 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
19215 fi
19216 if ac_fn_c_try_link "$LINENO"; then :
19217 ac_cv_search_k_hasafs=$ac_res
19218fi
19219rm -f core conftest.err conftest.$ac_objext \
19220 conftest$ac_exeext
19221 if ${ac_cv_search_k_hasafs+:} false; then :
19222 break
19223fi
19224done
19225if ${ac_cv_search_k_hasafs+:} false; then :
19226
19227else
19228 ac_cv_search_k_hasafs=no
19229fi
19230rm conftest.$ac_ext
19231LIBS=$ac_func_search_save_LIBS
19232fi
19233{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_k_hasafs" >&5
19234$as_echo "$ac_cv_search_k_hasafs" >&6; }
19235ac_res=$ac_cv_search_k_hasafs
19236if test "$ac_res" != no; then :
19237 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
19238
19239$as_echo "#define USE_AFS 1" >>confdefs.h
19240
19241fi
19242
19243
19244 ac_fn_c_check_decl "$LINENO" "GSS_C_NT_HOSTBASED_SERVICE" "ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" "
19245#ifdef HAVE_GSSAPI_H
19246# include <gssapi.h>
19247#elif defined(HAVE_GSSAPI_GSSAPI_H)
19248# include <gssapi/gssapi.h>
19249#endif
19250
19251#ifdef HAVE_GSSAPI_GENERIC_H
19252# include <gssapi_generic.h>
19253#elif defined(HAVE_GSSAPI_GSSAPI_GENERIC_H)
19254# include <gssapi/gssapi_generic.h>
19255#endif
19256
19257"
19258if test "x$ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" = xyes; then :
19259 ac_have_decl=1
19260else
19261 ac_have_decl=0
19262fi
19263
19264cat >>confdefs.h <<_ACEOF
19265#define HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE $ac_have_decl
19266_ACEOF
19267
19268 saved_LIBS="$LIBS"
19269 LIBS="$LIBS $K5LIBS"
19270 for ac_func in krb5_cc_new_unique krb5_get_error_message krb5_free_error_message
19271do :
19272 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
19273ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
19274if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
19275 cat >>confdefs.h <<_ACEOF
19276#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
19277_ACEOF
19278
19279fi
19280done
19281
19282 LIBS="$saved_LIBS"
19283
19284 fi
19285
19286
19287fi
19288
19289
19290
19291
19292# Looking for programs, paths and files
19293
19294PRIVSEP_PATH=/var/empty
19295
19296# Check whether --with-privsep-path was given.
19297if test "${with_privsep_path+set}" = set; then :
19298 withval=$with_privsep_path;
19299 if test -n "$withval" && test "x$withval" != "xno" && \
19300 test "x${withval}" != "xyes"; then
19301 PRIVSEP_PATH=$withval
19302 fi
19303
19304
19305fi
19306
19307
19308
19309
19310# Check whether --with-xauth was given.
19311if test "${with_xauth+set}" = set; then :
19312 withval=$with_xauth;
19313 if test -n "$withval" && test "x$withval" != "xno" && \
19314 test "x${withval}" != "xyes"; then
19315 xauth_path=$withval
19316 fi
19317
19318else
19319
19320 TestPath="$PATH"
19321 TestPath="${TestPath}${PATH_SEPARATOR}/usr/X/bin"
19322 TestPath="${TestPath}${PATH_SEPARATOR}/usr/bin/X11"
19323 TestPath="${TestPath}${PATH_SEPARATOR}/usr/X11R6/bin"
19324 TestPath="${TestPath}${PATH_SEPARATOR}/usr/openwin/bin"
19325 # Extract the first word of "xauth", so it can be a program name with args.
19326set dummy xauth; ac_word=$2
19327{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
19328$as_echo_n "checking for $ac_word... " >&6; }
19329if ${ac_cv_path_xauth_path+:} false; then :
19330 $as_echo_n "(cached) " >&6
19331else
19332 case $xauth_path in
19333 [\\/]* | ?:[\\/]*)
19334 ac_cv_path_xauth_path="$xauth_path" # Let the user override the test with a path.
19335 ;;
19336 *)
19337 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
19338for as_dir in $TestPath
19339do
19340 IFS=$as_save_IFS
19341 test -z "$as_dir" && as_dir=.
19342 for ac_exec_ext in '' $ac_executable_extensions; do
19343 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
19344 ac_cv_path_xauth_path="$as_dir/$ac_word$ac_exec_ext"
19345 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
19346 break 2
19347 fi
19348done
19349 done
19350IFS=$as_save_IFS
19351
19352 ;;
19353esac
19354fi
19355xauth_path=$ac_cv_path_xauth_path
19356if test -n "$xauth_path"; then
19357 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xauth_path" >&5
19358$as_echo "$xauth_path" >&6; }
19359else
19360 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19361$as_echo "no" >&6; }
19362fi
19363
19364
19365 if (test ! -z "$xauth_path" && test -x "/usr/openwin/bin/xauth") ; then
19366 xauth_path="/usr/openwin/bin/xauth"
19367 fi
19368
19369
19370fi
19371
19372
19373STRIP_OPT=-s
19374# Check whether --enable-strip was given.
19375if test "${enable_strip+set}" = set; then :
19376 enableval=$enable_strip;
19377 if test "x$enableval" = "xno" ; then
19378 STRIP_OPT=
19379 fi
19380
19381
19382fi
19383
19384
19385
19386if test -z "$xauth_path" ; then
19387 XAUTH_PATH="undefined"
19388
19389else
19390
19391cat >>confdefs.h <<_ACEOF
19392#define XAUTH_PATH "$xauth_path"
19393_ACEOF
19394
19395 XAUTH_PATH=$xauth_path
19396
19397fi
19398
19399# Check for mail directory
19400
19401# Check whether --with-maildir was given.
19402if test "${with_maildir+set}" = set; then :
19403 withval=$with_maildir;
19404 if test "X$withval" != X && test "x$withval" != xno && \
19405 test "x${withval}" != xyes; then
19406
19407cat >>confdefs.h <<_ACEOF
19408#define MAIL_DIRECTORY "$withval"
19409_ACEOF
19410
19411 fi
19412
19413else
19414
19415 if test "X$maildir" != "X"; then
19416 cat >>confdefs.h <<_ACEOF
19417#define MAIL_DIRECTORY "$maildir"
19418_ACEOF
19419
19420 else
19421 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Discovering system mail directory" >&5
19422$as_echo_n "checking Discovering system mail directory... " >&6; }
19423 if test "$cross_compiling" = yes; then :
19424
19425 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&5
19426$as_echo "$as_me: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&2;}
19427
19428
19429else
19430 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19431/* end confdefs.h. */
19432
19433#include <stdio.h>
19434#include <stdlib.h>
19435#include <string.h>
19436#ifdef HAVE_PATHS_H
19437#include <paths.h>
19438#endif
19439#ifdef HAVE_MAILLOCK_H
19440#include <maillock.h>
19441#endif
19442#define DATA "conftest.maildir"
19443
19444int
19445main ()
19446{
19447
19448 FILE *fd;
19449 int rc;
19450
19451 fd = fopen(DATA,"w");
19452 if(fd == NULL)
19453 exit(1);
19454
19455#if defined (_PATH_MAILDIR)
19456 if ((rc = fprintf(fd ,"_PATH_MAILDIR:%s\n", _PATH_MAILDIR)) <0)
19457 exit(1);
19458#elif defined (MAILDIR)
19459 if ((rc = fprintf(fd ,"MAILDIR:%s\n", MAILDIR)) <0)
19460 exit(1);
19461#elif defined (_PATH_MAIL)
19462 if ((rc = fprintf(fd ,"_PATH_MAIL:%s\n", _PATH_MAIL)) <0)
19463 exit(1);
19464#else
19465 exit (2);
19466#endif
19467
19468 exit(0);
19469
19470 ;
19471 return 0;
19472}
19473_ACEOF
19474if ac_fn_c_try_run "$LINENO"; then :
19475
19476 maildir_what=`awk -F: '{print $1}' conftest.maildir`
19477 maildir=`awk -F: '{print $2}' conftest.maildir \
19478 | sed 's|/$||'`
19479 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: $maildir from $maildir_what" >&5
19480$as_echo "Using: $maildir from $maildir_what" >&6; }
19481 if test "x$maildir_what" != "x_PATH_MAILDIR"; then
19482 cat >>confdefs.h <<_ACEOF
19483#define MAIL_DIRECTORY "$maildir"
19484_ACEOF
19485
19486 fi
19487
19488else
19489
19490 if test "X$ac_status" = "X2";then
19491# our test program didn't find it. Default to /var/spool/mail
19492 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: default value of /var/spool/mail" >&5
19493$as_echo "Using: default value of /var/spool/mail" >&6; }
19494 cat >>confdefs.h <<_ACEOF
19495#define MAIL_DIRECTORY "/var/spool/mail"
19496_ACEOF
19497
19498 else
19499 { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** not found ***" >&5
19500$as_echo "*** not found ***" >&6; }
19501 fi
19502
19503fi
19504rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
19505 conftest.$ac_objext conftest.beam conftest.$ac_ext
19506fi
19507
19508 fi
19509
19510
19511fi
19512 # maildir
19513
19514if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then
19515 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptmx test" >&5
19516$as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptmx test" >&2;}
19517 disable_ptmx_check=yes
19518fi
19519if test -z "$no_dev_ptmx" ; then
19520 if test "x$disable_ptmx_check" != "xyes" ; then
19521 as_ac_File=`$as_echo "ac_cv_file_"/dev/ptmx"" | $as_tr_sh`
19522{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptmx\"" >&5
19523$as_echo_n "checking for \"/dev/ptmx\"... " >&6; }
19524if eval \${$as_ac_File+:} false; then :
19525 $as_echo_n "(cached) " >&6
19526else
19527 test "$cross_compiling" = yes &&
19528 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
19529if test -r ""/dev/ptmx""; then
19530 eval "$as_ac_File=yes"
19531else
19532 eval "$as_ac_File=no"
19533fi
19534fi
19535eval ac_res=\$$as_ac_File
19536 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19537$as_echo "$ac_res" >&6; }
19538if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
19539
19540
19541cat >>confdefs.h <<_ACEOF
19542#define HAVE_DEV_PTMX 1
19543_ACEOF
19544
19545 have_dev_ptmx=1
19546
19547
19548fi
19549
19550 fi
19551fi
19552
19553if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then
19554 as_ac_File=`$as_echo "ac_cv_file_"/dev/ptc"" | $as_tr_sh`
19555{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptc\"" >&5
19556$as_echo_n "checking for \"/dev/ptc\"... " >&6; }
19557if eval \${$as_ac_File+:} false; then :
19558 $as_echo_n "(cached) " >&6
19559else
19560 test "$cross_compiling" = yes &&
19561 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
19562if test -r ""/dev/ptc""; then
19563 eval "$as_ac_File=yes"
19564else
19565 eval "$as_ac_File=no"
19566fi
19567fi
19568eval ac_res=\$$as_ac_File
19569 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19570$as_echo "$ac_res" >&6; }
19571if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
19572
19573
19574cat >>confdefs.h <<_ACEOF
19575#define HAVE_DEV_PTS_AND_PTC 1
19576_ACEOF
19577
19578 have_dev_ptc=1
19579
19580
19581fi
19582
19583else
19584 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptc test" >&5
19585$as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptc test" >&2;}
19586fi
19587
19588# Options from here on. Some of these are preset by platform above
19589
19590# Check whether --with-mantype was given.
19591if test "${with_mantype+set}" = set; then :
19592 withval=$with_mantype;
19593 case "$withval" in
19594 man|cat|doc)
19595 MANTYPE=$withval
19596 ;;
19597 *)
19598 as_fn_error $? "invalid man type: $withval" "$LINENO" 5
19599 ;;
19600 esac
19601
19602
19603fi
19604
19605if test -z "$MANTYPE"; then
19606 if ${MANDOC} ${srcdir}/ssh.1 >/dev/null 2>&1; then
19607 MANTYPE=doc
19608 elif ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then
19609 MANTYPE=doc
19610 elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then
19611 MANTYPE=man
19612 else
19613 MANTYPE=cat
19614 fi
19615fi
19616
19617if test "$MANTYPE" = "doc"; then
19618 mansubdir=man;
19619else
19620 mansubdir=$MANTYPE;
19621fi
19622
19623
19624# Check whether to enable MD5 passwords
19625MD5_MSG="no"
19626
19627# Check whether --with-md5-passwords was given.
19628if test "${with_md5_passwords+set}" = set; then :
19629 withval=$with_md5_passwords;
19630 if test "x$withval" != "xno" ; then
19631
19632$as_echo "#define HAVE_MD5_PASSWORDS 1" >>confdefs.h
19633
19634 MD5_MSG="yes"
19635 fi
19636
19637
19638fi
19639
19640
19641# Whether to disable shadow password support
19642
19643# Check whether --with-shadow was given.
19644if test "${with_shadow+set}" = set; then :
19645 withval=$with_shadow;
19646 if test "x$withval" = "xno" ; then
19647 $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
19648
19649 disable_shadow=yes
19650 fi
19651
19652
19653fi
19654
19655
19656if test -z "$disable_shadow" ; then
19657 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the systems has expire shadow information" >&5
19658$as_echo_n "checking if the systems has expire shadow information... " >&6; }
19659 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19660/* end confdefs.h. */
19661
19662#include <sys/types.h>
19663#include <shadow.h>
19664struct spwd sp;
19665
19666int
19667main ()
19668{
19669 sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0;
19670 ;
19671 return 0;
19672}
19673_ACEOF
19674if ac_fn_c_try_compile "$LINENO"; then :
19675 sp_expire_available=yes
19676fi
19677rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19678
19679 if test "x$sp_expire_available" = "xyes" ; then
19680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19681$as_echo "yes" >&6; }
19682
19683$as_echo "#define HAS_SHADOW_EXPIRE 1" >>confdefs.h
19684
19685 else
19686 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19687$as_echo "no" >&6; }
19688 fi
19689fi
19690
19691# Use ip address instead of hostname in $DISPLAY
19692if test ! -z "$IPADDR_IN_DISPLAY" ; then
19693 DISPLAY_HACK_MSG="yes"
19694
19695$as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h
19696
19697else
19698 DISPLAY_HACK_MSG="no"
19699
19700# Check whether --with-ipaddr-display was given.
19701if test "${with_ipaddr_display+set}" = set; then :
19702 withval=$with_ipaddr_display;
19703 if test "x$withval" != "xno" ; then
19704 $as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h
19705
19706 DISPLAY_HACK_MSG="yes"
19707 fi
19708
19709
19710fi
19711
19712fi
19713
19714# check for /etc/default/login and use it if present.
19715# Check whether --enable-etc-default-login was given.
19716if test "${enable_etc_default_login+set}" = set; then :
19717 enableval=$enable_etc_default_login; if test "x$enableval" = "xno"; then
19718 { $as_echo "$as_me:${as_lineno-$LINENO}: /etc/default/login handling disabled" >&5
19719$as_echo "$as_me: /etc/default/login handling disabled" >&6;}
19720 etc_default_login=no
19721 else
19722 etc_default_login=yes
19723 fi
19724else
19725 if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes";
19726 then
19727 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking /etc/default/login" >&5
19728$as_echo "$as_me: WARNING: cross compiling: not checking /etc/default/login" >&2;}
19729 etc_default_login=no
19730 else
19731 etc_default_login=yes
19732 fi
19733
19734fi
19735
19736
19737if test "x$etc_default_login" != "xno"; then
19738 as_ac_File=`$as_echo "ac_cv_file_"/etc/default/login"" | $as_tr_sh`
19739{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/etc/default/login\"" >&5
19740$as_echo_n "checking for \"/etc/default/login\"... " >&6; }
19741if eval \${$as_ac_File+:} false; then :
19742 $as_echo_n "(cached) " >&6
19743else
19744 test "$cross_compiling" = yes &&
19745 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
19746if test -r ""/etc/default/login""; then
19747 eval "$as_ac_File=yes"
19748else
19749 eval "$as_ac_File=no"
19750fi
19751fi
19752eval ac_res=\$$as_ac_File
19753 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19754$as_echo "$ac_res" >&6; }
19755if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
19756 external_path_file=/etc/default/login
19757fi
19758
19759 if test "x$external_path_file" = "x/etc/default/login"; then
19760
19761$as_echo "#define HAVE_ETC_DEFAULT_LOGIN 1" >>confdefs.h
19762
19763 fi
19764fi
19765
19766if test $ac_cv_func_login_getcapbool = "yes" && \
19767 test $ac_cv_header_login_cap_h = "yes" ; then
19768 external_path_file=/etc/login.conf
19769fi
19770
19771# Whether to mess with the default path
19772SERVER_PATH_MSG="(default)"
19773
19774# Check whether --with-default-path was given.
19775if test "${with_default_path+set}" = set; then :
19776 withval=$with_default_path;
19777 if test "x$external_path_file" = "x/etc/login.conf" ; then
19778 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
19779--with-default-path=PATH has no effect on this system.
19780Edit /etc/login.conf instead." >&5
19781$as_echo "$as_me: WARNING:
19782--with-default-path=PATH has no effect on this system.
19783Edit /etc/login.conf instead." >&2;}
19784 elif test "x$withval" != "xno" ; then
19785 if test ! -z "$external_path_file" ; then
19786 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
19787--with-default-path=PATH will only be used if PATH is not defined in
19788$external_path_file ." >&5
19789$as_echo "$as_me: WARNING:
19790--with-default-path=PATH will only be used if PATH is not defined in
19791$external_path_file ." >&2;}
19792 fi
19793 user_path="$withval"
19794 SERVER_PATH_MSG="$withval"
19795 fi
19796
19797else
19798 if test "x$external_path_file" = "x/etc/login.conf" ; then
19799 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Make sure the path to scp is in /etc/login.conf" >&5
19800$as_echo "$as_me: WARNING: Make sure the path to scp is in /etc/login.conf" >&2;}
19801 else
19802 if test ! -z "$external_path_file" ; then
19803 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
19804If PATH is defined in $external_path_file, ensure the path to scp is included,
19805otherwise scp will not work." >&5
19806$as_echo "$as_me: WARNING:
19807If PATH is defined in $external_path_file, ensure the path to scp is included,
19808otherwise scp will not work." >&2;}
19809 fi
19810 if test "$cross_compiling" = yes; then :
19811 user_path="/usr/bin:/bin:/usr/sbin:/sbin"
19812
19813else
19814 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19815/* end confdefs.h. */
19816
19817/* find out what STDPATH is */
19818#include <stdio.h>
19819#include <stdlib.h>
19820#ifdef HAVE_PATHS_H
19821# include <paths.h>
19822#endif
19823#ifndef _PATH_STDPATH
19824# ifdef _PATH_USERPATH /* Irix */
19825# define _PATH_STDPATH _PATH_USERPATH
19826# else
19827# define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin"
19828# endif
19829#endif
19830#include <sys/types.h>
19831#include <sys/stat.h>
19832#include <fcntl.h>
19833#define DATA "conftest.stdpath"
19834
19835int
19836main ()
19837{
19838
19839 FILE *fd;
19840 int rc;
19841
19842 fd = fopen(DATA,"w");
19843 if(fd == NULL)
19844 exit(1);
19845
19846 if ((rc = fprintf(fd,"%s", _PATH_STDPATH)) < 0)
19847 exit(1);
19848
19849 exit(0);
19850
19851 ;
19852 return 0;
19853}
19854_ACEOF
19855if ac_fn_c_try_run "$LINENO"; then :
19856 user_path=`cat conftest.stdpath`
19857else
19858 user_path="/usr/bin:/bin:/usr/sbin:/sbin"
19859fi
19860rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
19861 conftest.$ac_objext conftest.beam conftest.$ac_ext
19862fi
19863
19864# make sure $bindir is in USER_PATH so scp will work
19865 t_bindir="${bindir}"
19866 while echo "${t_bindir}" | egrep '\$\{|NONE/' >/dev/null 2>&1; do
19867 t_bindir=`eval echo ${t_bindir}`
19868 case $t_bindir in
19869 NONE/*) t_bindir=`echo $t_bindir | sed "s~NONE~$prefix~"` ;;
19870 esac
19871 case $t_bindir in
19872 NONE/*) t_bindir=`echo $t_bindir | sed "s~NONE~$ac_default_prefix~"` ;;
19873 esac
19874 done
19875 echo $user_path | grep ":$t_bindir" > /dev/null 2>&1
19876 if test $? -ne 0 ; then
19877 echo $user_path | grep "^$t_bindir" > /dev/null 2>&1
19878 if test $? -ne 0 ; then
19879 user_path=$user_path:$t_bindir
19880 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Adding $t_bindir to USER_PATH so scp will work" >&5
19881$as_echo "Adding $t_bindir to USER_PATH so scp will work" >&6; }
19882 fi
19883 fi
19884 fi
19885
19886fi
19887
19888if test "x$external_path_file" != "x/etc/login.conf" ; then
19889
19890cat >>confdefs.h <<_ACEOF
19891#define USER_PATH "$user_path"
19892_ACEOF
19893
19894
19895fi
19896
19897# Set superuser path separately to user path
19898
19899# Check whether --with-superuser-path was given.
19900if test "${with_superuser_path+set}" = set; then :
19901 withval=$with_superuser_path;
19902 if test -n "$withval" && test "x$withval" != "xno" && \
19903 test "x${withval}" != "xyes"; then
19904
19905cat >>confdefs.h <<_ACEOF
19906#define SUPERUSER_PATH "$withval"
19907_ACEOF
19908
19909 superuser_path=$withval
19910 fi
19911
19912
19913fi
19914
19915
19916
19917{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to convert IPv4 in IPv6-mapped addresses" >&5
19918$as_echo_n "checking if we need to convert IPv4 in IPv6-mapped addresses... " >&6; }
19919IPV4_IN6_HACK_MSG="no"
19920
19921# Check whether --with-4in6 was given.
19922if test "${with_4in6+set}" = set; then :
19923 withval=$with_4in6;
19924 if test "x$withval" != "xno" ; then
19925 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19926$as_echo "yes" >&6; }
19927
19928$as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h
19929
19930 IPV4_IN6_HACK_MSG="yes"
19931 else
19932 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19933$as_echo "no" >&6; }
19934 fi
19935
19936else
19937
19938 if test "x$inet6_default_4in6" = "xyes"; then
19939 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (default)" >&5
19940$as_echo "yes (default)" >&6; }
19941 $as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h
19942
19943 IPV4_IN6_HACK_MSG="yes"
19944 else
19945 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (default)" >&5
19946$as_echo "no (default)" >&6; }
19947 fi
19948
19949
19950fi
19951
19952
19953# Whether to enable BSD auth support
19954BSD_AUTH_MSG=no
19955
19956# Check whether --with-bsd-auth was given.
19957if test "${with_bsd_auth+set}" = set; then :
19958 withval=$with_bsd_auth;
19959 if test "x$withval" != "xno" ; then
19960
19961$as_echo "#define BSD_AUTH 1" >>confdefs.h
19962
19963 BSD_AUTH_MSG=yes
19964 fi
19965
19966
19967fi
19968
19969
19970# Where to place sshd.pid
19971piddir=/var/run
19972# make sure the directory exists
19973if test ! -d $piddir ; then
19974 piddir=`eval echo ${sysconfdir}`
19975 case $piddir in
19976 NONE/*) piddir=`echo $piddir | sed "s~NONE~$ac_default_prefix~"` ;;
19977 esac
19978fi
19979
19980
19981# Check whether --with-pid-dir was given.
19982if test "${with_pid_dir+set}" = set; then :
19983 withval=$with_pid_dir;
19984 if test -n "$withval" && test "x$withval" != "xno" && \
19985 test "x${withval}" != "xyes"; then
19986 piddir=$withval
19987 if test ! -d $piddir ; then
19988 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** no $piddir directory on this system **" >&5
19989$as_echo "$as_me: WARNING: ** no $piddir directory on this system **" >&2;}
19990 fi
19991 fi
19992
19993
19994fi
19995
19996
19997
19998cat >>confdefs.h <<_ACEOF
19999#define _PATH_SSH_PIDDIR "$piddir"
20000_ACEOF
20001
20002
20003
20004# Check whether --enable-lastlog was given.
20005if test "${enable_lastlog+set}" = set; then :
20006 enableval=$enable_lastlog;
20007 if test "x$enableval" = "xno" ; then
20008 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
20009
20010 fi
20011
20012
20013fi
20014
20015# Check whether --enable-utmp was given.
20016if test "${enable_utmp+set}" = set; then :
20017 enableval=$enable_utmp;
20018 if test "x$enableval" = "xno" ; then
20019 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
20020
20021 fi
20022
20023
20024fi
20025
20026# Check whether --enable-utmpx was given.
20027if test "${enable_utmpx+set}" = set; then :
20028 enableval=$enable_utmpx;
20029 if test "x$enableval" = "xno" ; then
20030
20031$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
20032
20033 fi
20034
20035
20036fi
20037
20038# Check whether --enable-wtmp was given.
20039if test "${enable_wtmp+set}" = set; then :
20040 enableval=$enable_wtmp;
20041 if test "x$enableval" = "xno" ; then
20042 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
20043
20044 fi
20045
20046
20047fi
20048
20049# Check whether --enable-wtmpx was given.
20050if test "${enable_wtmpx+set}" = set; then :
20051 enableval=$enable_wtmpx;
20052 if test "x$enableval" = "xno" ; then
20053
20054$as_echo "#define DISABLE_WTMPX 1" >>confdefs.h
20055
20056 fi
20057
20058
20059fi
20060
20061# Check whether --enable-libutil was given.
20062if test "${enable_libutil+set}" = set; then :
20063 enableval=$enable_libutil;
20064 if test "x$enableval" = "xno" ; then
20065 $as_echo "#define DISABLE_LOGIN 1" >>confdefs.h
20066
20067 fi
20068
20069
20070fi
20071
20072# Check whether --enable-pututline was given.
20073if test "${enable_pututline+set}" = set; then :
20074 enableval=$enable_pututline;
20075 if test "x$enableval" = "xno" ; then
20076
20077$as_echo "#define DISABLE_PUTUTLINE 1" >>confdefs.h
20078
20079 fi
20080
20081
20082fi
20083
20084# Check whether --enable-pututxline was given.
20085if test "${enable_pututxline+set}" = set; then :
20086 enableval=$enable_pututxline;
20087 if test "x$enableval" = "xno" ; then
20088
20089$as_echo "#define DISABLE_PUTUTXLINE 1" >>confdefs.h
20090
20091 fi
20092
20093
20094fi
20095
20096
20097# Check whether --with-lastlog was given.
20098if test "${with_lastlog+set}" = set; then :
20099 withval=$with_lastlog;
20100 if test "x$withval" = "xno" ; then
20101 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
20102
20103 elif test -n "$withval" && test "x${withval}" != "xyes"; then
20104 conf_lastlog_location=$withval
20105 fi
20106
20107
20108fi
20109
20110
20111
20112{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines LASTLOG_FILE" >&5
20113$as_echo_n "checking if your system defines LASTLOG_FILE... " >&6; }
20114cat confdefs.h - <<_ACEOF >conftest.$ac_ext
20115/* end confdefs.h. */
20116
20117#include <sys/types.h>
20118#include <utmp.h>
20119#ifdef HAVE_LASTLOG_H
20120# include <lastlog.h>
20121#endif
20122#ifdef HAVE_PATHS_H
20123# include <paths.h>
20124#endif
20125#ifdef HAVE_LOGIN_H
20126# include <login.h>
20127#endif
20128
20129int
20130main ()
20131{
20132 char *lastlog = LASTLOG_FILE;
20133 ;
20134 return 0;
20135}
20136_ACEOF
20137if ac_fn_c_try_compile "$LINENO"; then :
20138 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
20139$as_echo "yes" >&6; }
20140else
20141
20142 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
20143$as_echo "no" >&6; }
20144 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines _PATH_LASTLOG" >&5
20145$as_echo_n "checking if your system defines _PATH_LASTLOG... " >&6; }
20146 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
20147/* end confdefs.h. */
20148
20149#include <sys/types.h>
20150#include <utmp.h>
20151#ifdef HAVE_LASTLOG_H
20152# include <lastlog.h>
20153#endif
20154#ifdef HAVE_PATHS_H
20155# include <paths.h>
20156#endif
20157
20158int
20159main ()
20160{
20161 char *lastlog = _PATH_LASTLOG;
20162 ;
20163 return 0;
20164}
20165_ACEOF
20166if ac_fn_c_try_compile "$LINENO"; then :
20167 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
20168$as_echo "yes" >&6; }
20169else
20170
20171 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
20172$as_echo "no" >&6; }
20173 system_lastlog_path=no
20174
20175fi
20176rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
20177
20178fi
20179rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
20180
20181if test -z "$conf_lastlog_location"; then
20182 if test x"$system_lastlog_path" = x"no" ; then
20183 for f in /var/log/lastlog /usr/adm/lastlog /var/adm/lastlog /etc/security/lastlog ; do
20184 if (test -d "$f" || test -f "$f") ; then
20185 conf_lastlog_location=$f
20186 fi
20187 done
20188 if test -z "$conf_lastlog_location"; then
20189 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** Cannot find lastlog **" >&5
20190$as_echo "$as_me: WARNING: ** Cannot find lastlog **" >&2;}
20191 fi
20192 fi
20193fi
20194
20195if test -n "$conf_lastlog_location"; then
20196
20197cat >>confdefs.h <<_ACEOF
20198#define CONF_LASTLOG_FILE "$conf_lastlog_location"
20199_ACEOF
20200
20201fi
20202
20203{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines UTMP_FILE" >&5
20204$as_echo_n "checking if your system defines UTMP_FILE... " >&6; }
20205cat confdefs.h - <<_ACEOF >conftest.$ac_ext
20206/* end confdefs.h. */
20207
20208#include <sys/types.h>
20209#include <utmp.h>
20210#ifdef HAVE_PATHS_H
20211# include <paths.h>
20212#endif
20213
20214int
20215main ()
20216{
20217 char *utmp = UTMP_FILE;
20218 ;
20219 return 0;
20220}
20221_ACEOF
20222if ac_fn_c_try_compile "$LINENO"; then :
20223 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
20224$as_echo "yes" >&6; }
20225else
20226 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
20227$as_echo "no" >&6; }
20228 system_utmp_path=no
20229
20230fi
20231rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
20232if test -z "$conf_utmp_location"; then
20233 if test x"$system_utmp_path" = x"no" ; then
20234 for f in /etc/utmp /usr/adm/utmp /var/run/utmp; do
20235 if test -f $f ; then
20236 conf_utmp_location=$f
20237 fi
20238 done
20239 if test -z "$conf_utmp_location"; then
20240 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
20241
20242 fi
20243 fi
20244fi
20245if test -n "$conf_utmp_location"; then
20246
20247cat >>confdefs.h <<_ACEOF
20248#define CONF_UTMP_FILE "$conf_utmp_location"
20249_ACEOF
20250
20251fi
20252
20253{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMP_FILE" >&5
20254$as_echo_n "checking if your system defines WTMP_FILE... " >&6; }
20255cat confdefs.h - <<_ACEOF >conftest.$ac_ext
20256/* end confdefs.h. */
20257
20258#include <sys/types.h>
20259#include <utmp.h>
20260#ifdef HAVE_PATHS_H
20261# include <paths.h>
20262#endif
20263
20264int
20265main ()
20266{
20267 char *wtmp = WTMP_FILE;
20268 ;
20269 return 0;
20270}
20271_ACEOF
20272if ac_fn_c_try_compile "$LINENO"; then :
20273 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
20274$as_echo "yes" >&6; }
20275else
20276 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
20277$as_echo "no" >&6; }
20278 system_wtmp_path=no
20279
20280fi
20281rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
20282if test -z "$conf_wtmp_location"; then
20283 if test x"$system_wtmp_path" = x"no" ; then
20284 for f in /usr/adm/wtmp /var/log/wtmp; do
20285 if test -f $f ; then
20286 conf_wtmp_location=$f
20287 fi
20288 done
20289 if test -z "$conf_wtmp_location"; then
20290 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
20291
20292 fi
20293 fi
20294fi
20295if test -n "$conf_wtmp_location"; then
20296
20297cat >>confdefs.h <<_ACEOF
20298#define CONF_WTMP_FILE "$conf_wtmp_location"
20299_ACEOF
20300
20301fi
20302
20303{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMPX_FILE" >&5
20304$as_echo_n "checking if your system defines WTMPX_FILE... " >&6; }
20305cat confdefs.h - <<_ACEOF >conftest.$ac_ext
20306/* end confdefs.h. */
20307
20308#include <sys/types.h>
20309#include <utmp.h>
20310#ifdef HAVE_UTMPX_H
20311#include <utmpx.h>
20312#endif
20313#ifdef HAVE_PATHS_H
20314# include <paths.h>
20315#endif
20316
20317int
20318main ()
20319{
20320 char *wtmpx = WTMPX_FILE;
20321 ;
20322 return 0;
20323}
20324_ACEOF
20325if ac_fn_c_try_compile "$LINENO"; then :
20326 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
20327$as_echo "yes" >&6; }
20328else
20329 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
20330$as_echo "no" >&6; }
20331 system_wtmpx_path=no
20332
20333fi
20334rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
20335if test -z "$conf_wtmpx_location"; then
20336 if test x"$system_wtmpx_path" = x"no" ; then
20337 $as_echo "#define DISABLE_WTMPX 1" >>confdefs.h
20338
20339 fi
20340else
20341
20342cat >>confdefs.h <<_ACEOF
20343#define CONF_WTMPX_FILE "$conf_wtmpx_location"
20344_ACEOF
20345
20346fi
20347
20348
20349if test ! -z "$blibpath" ; then
20350 LDFLAGS="$LDFLAGS $blibflags$blibpath"
20351 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&5
20352$as_echo "$as_me: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&2;}
20353fi
20354
20355ac_fn_c_check_member "$LINENO" "struct lastlog" "ll_line" "ac_cv_member_struct_lastlog_ll_line" "
20356#ifdef HAVE_SYS_TYPES_H
20357#include <sys/types.h>
20358#endif
20359#ifdef HAVE_UTMP_H
20360#include <utmp.h>
20361#endif
20362#ifdef HAVE_UTMPX_H
20363#include <utmpx.h>
20364#endif
20365#ifdef HAVE_LASTLOG_H
20366#include <lastlog.h>
20367#endif
20368
20369"
20370if test "x$ac_cv_member_struct_lastlog_ll_line" = xyes; then :
20371
20372else
20373
20374 if test x$SKIP_DISABLE_LASTLOG_DEFINE != "xyes" ; then
20375 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
20376
20377 fi
20378
20379fi
20380
20381
20382ac_fn_c_check_member "$LINENO" "struct utmp" "ut_line" "ac_cv_member_struct_utmp_ut_line" "
20383#ifdef HAVE_SYS_TYPES_H
20384#include <sys/types.h>
20385#endif
20386#ifdef HAVE_UTMP_H
20387#include <utmp.h>
20388#endif
20389#ifdef HAVE_UTMPX_H
20390#include <utmpx.h>
20391#endif
20392#ifdef HAVE_LASTLOG_H
20393#include <lastlog.h>
20394#endif
20395
20396"
20397if test "x$ac_cv_member_struct_utmp_ut_line" = xyes; then :
20398
20399else
20400
20401 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
20402
20403 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
20404
20405
20406fi
20407
20408
20409CFLAGS="$CFLAGS $werror_flags"
20410
20411if test "x$ac_cv_func_getaddrinfo" != "xyes" ; then
20412 TEST_SSH_IPV6=no
20413else
20414 TEST_SSH_IPV6=yes
20415fi
20416ac_fn_c_check_decl "$LINENO" "BROKEN_GETADDRINFO" "ac_cv_have_decl_BROKEN_GETADDRINFO" "$ac_includes_default"
20417if test "x$ac_cv_have_decl_BROKEN_GETADDRINFO" = xyes; then :
20418 TEST_SSH_IPV6=no
20419fi
20420
20421TEST_SSH_IPV6=$TEST_SSH_IPV6
20422
20423TEST_SSH_UTF8=$TEST_SSH_UTF8
20424
20425TEST_MALLOC_OPTIONS=$TEST_MALLOC_OPTIONS
20426
20427UNSUPPORTED_ALGORITHMS=$unsupported_algorithms
20428
20429DEPEND=$(cat $srcdir/.depend)
20430
20431
20432CFLAGS="${CFLAGS} ${CFLAGS_AFTER}"
20433LDFLAGS="${LDFLAGS} ${LDFLAGS_AFTER}"
20434
20435# Make a copy of CFLAGS/LDFLAGS without PIE options.
20436LDFLAGS_NOPIE=`echo "$LDFLAGS" | sed 's/ -pie//'`
20437CFLAGS_NOPIE=`echo "$CFLAGS" | sed 's/ -fPIE//'`
20438
20439
20440
20441
20442ac_config_files="$ac_config_files Makefile buildpkg.sh opensshd.init openssh.xml openbsd-compat/Makefile openbsd-compat/regress/Makefile survey.sh"
20443
20444cat >confcache <<\_ACEOF
20445# This file is a shell script that caches the results of configure
20446# tests run on this system so they can be shared between configure
20447# scripts and configure runs, see configure's option --config-cache.
20448# It is not useful on other systems. If it contains results you don't
20449# want to keep, you may remove or edit it.
20450#
20451# config.status only pays attention to the cache file if you give it
20452# the --recheck option to rerun configure.
20453#
20454# `ac_cv_env_foo' variables (set or unset) will be overridden when
20455# loading this file, other *unset* `ac_cv_foo' will be assigned the
20456# following values.
20457
20458_ACEOF
20459
20460# The following way of writing the cache mishandles newlines in values,
20461# but we know of no workaround that is simple, portable, and efficient.
20462# So, we kill variables containing newlines.
20463# Ultrix sh set writes to stderr and can't be redirected directly,
20464# and sets the high bit in the cache file unless we assign to the vars.
20465(
20466 for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
20467 eval ac_val=\$$ac_var
20468 case $ac_val in #(
20469 *${as_nl}*)
20470 case $ac_var in #(
20471 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
20472$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
20473 esac
20474 case $ac_var in #(
20475 _ | IFS | as_nl) ;; #(
20476 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
20477 *) { eval $ac_var=; unset $ac_var;} ;;
20478 esac ;;
20479 esac
20480 done
20481
20482 (set) 2>&1 |
20483 case $as_nl`(ac_space=' '; set) 2>&1` in #(
20484 *${as_nl}ac_space=\ *)
20485 # `set' does not quote correctly, so add quotes: double-quote
20486 # substitution turns \\\\ into \\, and sed turns \\ into \.
20487 sed -n \
20488 "s/'/'\\\\''/g;
20489 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
20490 ;; #(
20491 *)
20492 # `set' quotes correctly as required by POSIX, so do not add quotes.
20493 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
20494 ;;
20495 esac |
20496 sort
20497) |
20498 sed '
20499 /^ac_cv_env_/b end
20500 t clear
20501 :clear
20502 s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
20503 t end
20504 s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
20505 :end' >>confcache
20506if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
20507 if test -w "$cache_file"; then
20508 if test "x$cache_file" != "x/dev/null"; then
20509 { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
20510$as_echo "$as_me: updating cache $cache_file" >&6;}
20511 if test ! -f "$cache_file" || test -h "$cache_file"; then
20512 cat confcache >"$cache_file"
20513 else
20514 case $cache_file in #(
20515 */* | ?:*)
20516 mv -f confcache "$cache_file"$$ &&
20517 mv -f "$cache_file"$$ "$cache_file" ;; #(
20518 *)
20519 mv -f confcache "$cache_file" ;;
20520 esac
20521 fi
20522 fi
20523 else
20524 { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
20525$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
20526 fi
20527fi
20528rm -f confcache
20529
20530test "x$prefix" = xNONE && prefix=$ac_default_prefix
20531# Let make expand exec_prefix.
20532test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
20533
20534DEFS=-DHAVE_CONFIG_H
20535
20536ac_libobjs=
20537ac_ltlibobjs=
20538U=
20539for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
20540 # 1. Remove the extension, and $U if already installed.
20541 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
20542 ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
20543 # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
20544 # will be set to the directory where LIBOBJS objects are built.
20545 as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
20546 as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
20547done
20548LIBOBJS=$ac_libobjs
20549
20550LTLIBOBJS=$ac_ltlibobjs
20551
20552
20553
20554
20555: "${CONFIG_STATUS=./config.status}"
20556ac_write_fail=0
20557ac_clean_files_save=$ac_clean_files
20558ac_clean_files="$ac_clean_files $CONFIG_STATUS"
20559{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
20560$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
20561as_write_fail=0
20562cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
20563#! $SHELL
20564# Generated by $as_me.
20565# Run this file to recreate the current configuration.
20566# Compiler output produced by configure, useful for debugging
20567# configure, is in config.log if it exists.
20568
20569debug=false
20570ac_cs_recheck=false
20571ac_cs_silent=false
20572
20573SHELL=\${CONFIG_SHELL-$SHELL}
20574export SHELL
20575_ASEOF
20576cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
20577## -------------------- ##
20578## M4sh Initialization. ##
20579## -------------------- ##
20580
20581# Be more Bourne compatible
20582DUALCASE=1; export DUALCASE # for MKS sh
20583if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
20584 emulate sh
20585 NULLCMD=:
20586 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
20587 # is contrary to our usage. Disable this feature.
20588 alias -g '${1+"$@"}'='"$@"'
20589 setopt NO_GLOB_SUBST
20590else
20591 case `(set -o) 2>/dev/null` in #(
20592 *posix*) :
20593 set -o posix ;; #(
20594 *) :
20595 ;;
20596esac
20597fi
20598
20599
20600as_nl='
20601'
20602export as_nl
20603# Printing a long string crashes Solaris 7 /usr/bin/printf.
20604as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
20605as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
20606as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
20607# Prefer a ksh shell builtin over an external printf program on Solaris,
20608# but without wasting forks for bash or zsh.
20609if test -z "$BASH_VERSION$ZSH_VERSION" \
20610 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
20611 as_echo='print -r --'
20612 as_echo_n='print -rn --'
20613elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
20614 as_echo='printf %s\n'
20615 as_echo_n='printf %s'
20616else
20617 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
20618 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
20619 as_echo_n='/usr/ucb/echo -n'
20620 else
20621 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
20622 as_echo_n_body='eval
20623 arg=$1;
20624 case $arg in #(
20625 *"$as_nl"*)
20626 expr "X$arg" : "X\\(.*\\)$as_nl";
20627 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
20628 esac;
20629 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
20630 '
20631 export as_echo_n_body
20632 as_echo_n='sh -c $as_echo_n_body as_echo'
20633 fi
20634 export as_echo_body
20635 as_echo='sh -c $as_echo_body as_echo'
20636fi
20637
20638# The user is always right.
20639if test "${PATH_SEPARATOR+set}" != set; then
20640 PATH_SEPARATOR=:
20641 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
20642 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
20643 PATH_SEPARATOR=';'
20644 }
20645fi
20646
20647
20648# IFS
20649# We need space, tab and new line, in precisely that order. Quoting is
20650# there to prevent editors from complaining about space-tab.
20651# (If _AS_PATH_WALK were called with IFS unset, it would disable word
20652# splitting by setting IFS to empty value.)
20653IFS=" "" $as_nl"
20654
20655# Find who we are. Look in the path if we contain no directory separator.
20656as_myself=
20657case $0 in #((
20658 *[\\/]* ) as_myself=$0 ;;
20659 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20660for as_dir in $PATH
20661do
20662 IFS=$as_save_IFS
20663 test -z "$as_dir" && as_dir=.
20664 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
20665 done
20666IFS=$as_save_IFS
20667
20668 ;;
20669esac
20670# We did not find ourselves, most probably we were run as `sh COMMAND'
20671# in which case we are not to be found in the path.
20672if test "x$as_myself" = x; then
20673 as_myself=$0
20674fi
20675if test ! -f "$as_myself"; then
20676 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
20677 exit 1
20678fi
20679
20680# Unset variables that we do not need and which cause bugs (e.g. in
20681# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
20682# suppresses any "Segmentation fault" message there. '((' could
20683# trigger a bug in pdksh 5.2.14.
20684for as_var in BASH_ENV ENV MAIL MAILPATH
20685do eval test x\${$as_var+set} = xset \
20686 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
20687done
20688PS1='$ '
20689PS2='> '
20690PS4='+ '
20691
20692# NLS nuisances.
20693LC_ALL=C
20694export LC_ALL
20695LANGUAGE=C
20696export LANGUAGE
20697
20698# CDPATH.
20699(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
20700
20701
20702# as_fn_error STATUS ERROR [LINENO LOG_FD]
20703# ----------------------------------------
20704# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
20705# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
20706# script with STATUS, using 1 if that was 0.
20707as_fn_error ()
20708{
20709 as_status=$1; test $as_status -eq 0 && as_status=1
20710 if test "$4"; then
20711 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
20712 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
20713 fi
20714 $as_echo "$as_me: error: $2" >&2
20715 as_fn_exit $as_status
20716} # as_fn_error
20717
20718
20719# as_fn_set_status STATUS
20720# -----------------------
20721# Set $? to STATUS, without forking.
20722as_fn_set_status ()
20723{
20724 return $1
20725} # as_fn_set_status
20726
20727# as_fn_exit STATUS
20728# -----------------
20729# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
20730as_fn_exit ()
20731{
20732 set +e
20733 as_fn_set_status $1
20734 exit $1
20735} # as_fn_exit
20736
20737# as_fn_unset VAR
20738# ---------------
20739# Portably unset VAR.
20740as_fn_unset ()
20741{
20742 { eval $1=; unset $1;}
20743}
20744as_unset=as_fn_unset
20745# as_fn_append VAR VALUE
20746# ----------------------
20747# Append the text in VALUE to the end of the definition contained in VAR. Take
20748# advantage of any shell optimizations that allow amortized linear growth over
20749# repeated appends, instead of the typical quadratic growth present in naive
20750# implementations.
20751if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
20752 eval 'as_fn_append ()
20753 {
20754 eval $1+=\$2
20755 }'
20756else
20757 as_fn_append ()
20758 {
20759 eval $1=\$$1\$2
20760 }
20761fi # as_fn_append
20762
20763# as_fn_arith ARG...
20764# ------------------
20765# Perform arithmetic evaluation on the ARGs, and store the result in the
20766# global $as_val. Take advantage of shells that can avoid forks. The arguments
20767# must be portable across $(()) and expr.
20768if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
20769 eval 'as_fn_arith ()
20770 {
20771 as_val=$(( $* ))
20772 }'
20773else
20774 as_fn_arith ()
20775 {
20776 as_val=`expr "$@" || test $? -eq 1`
20777 }
20778fi # as_fn_arith
20779
20780
20781if expr a : '\(a\)' >/dev/null 2>&1 &&
20782 test "X`expr 00001 : '.*\(...\)'`" = X001; then
20783 as_expr=expr
20784else
20785 as_expr=false
20786fi
20787
20788if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
20789 as_basename=basename
20790else
20791 as_basename=false
20792fi
20793
20794if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
20795 as_dirname=dirname
20796else
20797 as_dirname=false
20798fi
20799
20800as_me=`$as_basename -- "$0" ||
20801$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
20802 X"$0" : 'X\(//\)$' \| \
20803 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
20804$as_echo X/"$0" |
20805 sed '/^.*\/\([^/][^/]*\)\/*$/{
20806 s//\1/
20807 q
20808 }
20809 /^X\/\(\/\/\)$/{
20810 s//\1/
20811 q
20812 }
20813 /^X\/\(\/\).*/{
20814 s//\1/
20815 q
20816 }
20817 s/.*/./; q'`
20818
20819# Avoid depending upon Character Ranges.
20820as_cr_letters='abcdefghijklmnopqrstuvwxyz'
20821as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
20822as_cr_Letters=$as_cr_letters$as_cr_LETTERS
20823as_cr_digits='0123456789'
20824as_cr_alnum=$as_cr_Letters$as_cr_digits
20825
20826ECHO_C= ECHO_N= ECHO_T=
20827case `echo -n x` in #(((((
20828-n*)
20829 case `echo 'xy\c'` in
20830 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
20831 xy) ECHO_C='\c';;
20832 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
20833 ECHO_T=' ';;
20834 esac;;
20835*)
20836 ECHO_N='-n';;
20837esac
20838
20839rm -f conf$$ conf$$.exe conf$$.file
20840if test -d conf$$.dir; then
20841 rm -f conf$$.dir/conf$$.file
20842else
20843 rm -f conf$$.dir
20844 mkdir conf$$.dir 2>/dev/null
20845fi
20846if (echo >conf$$.file) 2>/dev/null; then
20847 if ln -s conf$$.file conf$$ 2>/dev/null; then
20848 as_ln_s='ln -s'
20849 # ... but there are two gotchas:
20850 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
20851 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
20852 # In both cases, we have to default to `cp -pR'.
20853 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
20854 as_ln_s='cp -pR'
20855 elif ln conf$$.file conf$$ 2>/dev/null; then
20856 as_ln_s=ln
20857 else
20858 as_ln_s='cp -pR'
20859 fi
20860else
20861 as_ln_s='cp -pR'
20862fi
20863rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
20864rmdir conf$$.dir 2>/dev/null
20865
20866
20867# as_fn_mkdir_p
20868# -------------
20869# Create "$as_dir" as a directory, including parents if necessary.
20870as_fn_mkdir_p ()
20871{
20872
20873 case $as_dir in #(
20874 -*) as_dir=./$as_dir;;
20875 esac
20876 test -d "$as_dir" || eval $as_mkdir_p || {
20877 as_dirs=
20878 while :; do
20879 case $as_dir in #(
20880 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
20881 *) as_qdir=$as_dir;;
20882 esac
20883 as_dirs="'$as_qdir' $as_dirs"
20884 as_dir=`$as_dirname -- "$as_dir" ||
20885$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
20886 X"$as_dir" : 'X\(//\)[^/]' \| \
20887 X"$as_dir" : 'X\(//\)$' \| \
20888 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
20889$as_echo X"$as_dir" |
20890 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
20891 s//\1/
20892 q
20893 }
20894 /^X\(\/\/\)[^/].*/{
20895 s//\1/
20896 q
20897 }
20898 /^X\(\/\/\)$/{
20899 s//\1/
20900 q
20901 }
20902 /^X\(\/\).*/{
20903 s//\1/
20904 q
20905 }
20906 s/.*/./; q'`
20907 test -d "$as_dir" && break
20908 done
20909 test -z "$as_dirs" || eval "mkdir $as_dirs"
20910 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
20911
20912
20913} # as_fn_mkdir_p
20914if mkdir -p . 2>/dev/null; then
20915 as_mkdir_p='mkdir -p "$as_dir"'
20916else
20917 test -d ./-p && rmdir ./-p
20918 as_mkdir_p=false
20919fi
20920
20921
20922# as_fn_executable_p FILE
20923# -----------------------
20924# Test if FILE is an executable regular file.
20925as_fn_executable_p ()
20926{
20927 test -f "$1" && test -x "$1"
20928} # as_fn_executable_p
20929as_test_x='test -x'
20930as_executable_p=as_fn_executable_p
20931
20932# Sed expression to map a string onto a valid CPP name.
20933as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
20934
20935# Sed expression to map a string onto a valid variable name.
20936as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
20937
20938
20939exec 6>&1
20940## ----------------------------------- ##
20941## Main body of $CONFIG_STATUS script. ##
20942## ----------------------------------- ##
20943_ASEOF
20944test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
20945
20946cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20947# Save the log message, to keep $0 and so on meaningful, and to
20948# report actual input values of CONFIG_FILES etc. instead of their
20949# values after options handling.
20950ac_log="
20951This file was extended by OpenSSH $as_me Portable, which was
20952generated by GNU Autoconf 2.69. Invocation command line was
20953
20954 CONFIG_FILES = $CONFIG_FILES
20955 CONFIG_HEADERS = $CONFIG_HEADERS
20956 CONFIG_LINKS = $CONFIG_LINKS
20957 CONFIG_COMMANDS = $CONFIG_COMMANDS
20958 $ $0 $@
20959
20960on `(hostname || uname -n) 2>/dev/null | sed 1q`
20961"
20962
20963_ACEOF
20964
20965case $ac_config_files in *"
20966"*) set x $ac_config_files; shift; ac_config_files=$*;;
20967esac
20968
20969case $ac_config_headers in *"
20970"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
20971esac
20972
20973
20974cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20975# Files that config.status was made for.
20976config_files="$ac_config_files"
20977config_headers="$ac_config_headers"
20978
20979_ACEOF
20980
20981cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20982ac_cs_usage="\
20983\`$as_me' instantiates files and other configuration actions
20984from templates according to the current configuration. Unless the files
20985and actions are specified as TAGs, all are instantiated by default.
20986
20987Usage: $0 [OPTION]... [TAG]...
20988
20989 -h, --help print this help, then exit
20990 -V, --version print version number and configuration settings, then exit
20991 --config print configuration, then exit
20992 -q, --quiet, --silent
20993 do not print progress messages
20994 -d, --debug don't remove temporary files
20995 --recheck update $as_me by reconfiguring in the same conditions
20996 --file=FILE[:TEMPLATE]
20997 instantiate the configuration file FILE
20998 --header=FILE[:TEMPLATE]
20999 instantiate the configuration header FILE
21000
21001Configuration files:
21002$config_files
21003
21004Configuration headers:
21005$config_headers
21006
21007Report bugs to <openssh-unix-dev@mindrot.org>."
21008
21009_ACEOF
21010cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21011ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
21012ac_cs_version="\\
21013OpenSSH config.status Portable
21014configured by $0, generated by GNU Autoconf 2.69,
21015 with options \\"\$ac_cs_config\\"
21016
21017Copyright (C) 2012 Free Software Foundation, Inc.
21018This config.status script is free software; the Free Software Foundation
21019gives unlimited permission to copy, distribute and modify it."
21020
21021ac_pwd='$ac_pwd'
21022srcdir='$srcdir'
21023INSTALL='$INSTALL'
21024MKDIR_P='$MKDIR_P'
21025AWK='$AWK'
21026test -n "\$AWK" || AWK=awk
21027_ACEOF
21028
21029cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21030# The default lists apply if the user does not specify any file.
21031ac_need_defaults=:
21032while test $# != 0
21033do
21034 case $1 in
21035 --*=?*)
21036 ac_option=`expr "X$1" : 'X\([^=]*\)='`
21037 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
21038 ac_shift=:
21039 ;;
21040 --*=)
21041 ac_option=`expr "X$1" : 'X\([^=]*\)='`
21042 ac_optarg=
21043 ac_shift=:
21044 ;;
21045 *)
21046 ac_option=$1
21047 ac_optarg=$2
21048 ac_shift=shift
21049 ;;
21050 esac
21051
21052 case $ac_option in
21053 # Handling of the options.
21054 -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
21055 ac_cs_recheck=: ;;
21056 --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
21057 $as_echo "$ac_cs_version"; exit ;;
21058 --config | --confi | --conf | --con | --co | --c )
21059 $as_echo "$ac_cs_config"; exit ;;
21060 --debug | --debu | --deb | --de | --d | -d )
21061 debug=: ;;
21062 --file | --fil | --fi | --f )
21063 $ac_shift
21064 case $ac_optarg in
21065 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
21066 '') as_fn_error $? "missing file argument" ;;
21067 esac
21068 as_fn_append CONFIG_FILES " '$ac_optarg'"
21069 ac_need_defaults=false;;
21070 --header | --heade | --head | --hea )
21071 $ac_shift
21072 case $ac_optarg in
21073 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
21074 esac
21075 as_fn_append CONFIG_HEADERS " '$ac_optarg'"
21076 ac_need_defaults=false;;
21077 --he | --h)
21078 # Conflict between --help and --header
21079 as_fn_error $? "ambiguous option: \`$1'
21080Try \`$0 --help' for more information.";;
21081 --help | --hel | -h )
21082 $as_echo "$ac_cs_usage"; exit ;;
21083 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
21084 | -silent | --silent | --silen | --sile | --sil | --si | --s)
21085 ac_cs_silent=: ;;
21086
21087 # This is an error.
21088 -*) as_fn_error $? "unrecognized option: \`$1'
21089Try \`$0 --help' for more information." ;;
21090
21091 *) as_fn_append ac_config_targets " $1"
21092 ac_need_defaults=false ;;
21093
21094 esac
21095 shift
21096done
21097
21098ac_configure_extra_args=
21099
21100if $ac_cs_silent; then
21101 exec 6>/dev/null
21102 ac_configure_extra_args="$ac_configure_extra_args --silent"
21103fi
21104
21105_ACEOF
21106cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21107if \$ac_cs_recheck; then
21108 set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
21109 shift
21110 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
21111 CONFIG_SHELL='$SHELL'
21112 export CONFIG_SHELL
21113 exec "\$@"
21114fi
21115
21116_ACEOF
21117cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21118exec 5>>config.log
21119{
21120 echo
21121 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
21122## Running $as_me. ##
21123_ASBOX
21124 $as_echo "$ac_log"
21125} >&5
21126
21127_ACEOF
21128cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21129_ACEOF
21130
21131cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21132
21133# Handling of arguments.
21134for ac_config_target in $ac_config_targets
21135do
21136 case $ac_config_target in
21137 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
21138 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
21139 "buildpkg.sh") CONFIG_FILES="$CONFIG_FILES buildpkg.sh" ;;
21140 "opensshd.init") CONFIG_FILES="$CONFIG_FILES opensshd.init" ;;
21141 "openssh.xml") CONFIG_FILES="$CONFIG_FILES openssh.xml" ;;
21142 "openbsd-compat/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/Makefile" ;;
21143 "openbsd-compat/regress/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/regress/Makefile" ;;
21144 "survey.sh") CONFIG_FILES="$CONFIG_FILES survey.sh" ;;
21145
21146 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
21147 esac
21148done
21149
21150
21151# If the user did not use the arguments to specify the items to instantiate,
21152# then the envvar interface is used. Set only those that are not.
21153# We use the long form for the default assignment because of an extremely
21154# bizarre bug on SunOS 4.1.3.
21155if $ac_need_defaults; then
21156 test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
21157 test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
21158fi
21159
21160# Have a temporary directory for convenience. Make it in the build tree
21161# simply because there is no reason against having it here, and in addition,
21162# creating and moving files from /tmp can sometimes cause problems.
21163# Hook for its removal unless debugging.
21164# Note that there is a small window in which the directory will not be cleaned:
21165# after its creation but before its name has been assigned to `$tmp'.
21166$debug ||
21167{
21168 tmp= ac_tmp=
21169 trap 'exit_status=$?
21170 : "${ac_tmp:=$tmp}"
21171 { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
21172' 0
21173 trap 'as_fn_exit 1' 1 2 13 15
21174}
21175# Create a (secure) tmp directory for tmp files.
21176
21177{
21178 tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
21179 test -d "$tmp"
21180} ||
21181{
21182 tmp=./conf$$-$RANDOM
21183 (umask 077 && mkdir "$tmp")
21184} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
21185ac_tmp=$tmp
21186
21187# Set up the scripts for CONFIG_FILES section.
21188# No need to generate them if there are no CONFIG_FILES.
21189# This happens for instance with `./config.status config.h'.
21190if test -n "$CONFIG_FILES"; then
21191
21192
21193ac_cr=`echo X | tr X '\015'`
21194# On cygwin, bash can eat \r inside `` if the user requested igncr.
21195# But we know of no other shell where ac_cr would be empty at this
21196# point, so we can use a bashism as a fallback.
21197if test "x$ac_cr" = x; then
21198 eval ac_cr=\$\'\\r\'
21199fi
21200ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
21201if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
21202 ac_cs_awk_cr='\\r'
21203else
21204 ac_cs_awk_cr=$ac_cr
21205fi
21206
21207echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
21208_ACEOF
21209
21210
21211{
21212 echo "cat >conf$$subs.awk <<_ACEOF" &&
21213 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
21214 echo "_ACEOF"
21215} >conf$$subs.sh ||
21216 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
21217ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
21218ac_delim='%!_!# '
21219for ac_last_try in false false false false false :; do
21220 . ./conf$$subs.sh ||
21221 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
21222
21223 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
21224 if test $ac_delim_n = $ac_delim_num; then
21225 break
21226 elif $ac_last_try; then
21227 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
21228 else
21229 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
21230 fi
21231done
21232rm -f conf$$subs.sh
21233
21234cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21235cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
21236_ACEOF
21237sed -n '
21238h
21239s/^/S["/; s/!.*/"]=/
21240p
21241g
21242s/^[^!]*!//
21243:repl
21244t repl
21245s/'"$ac_delim"'$//
21246t delim
21247:nl
21248h
21249s/\(.\{148\}\)..*/\1/
21250t more1
21251s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
21252p
21253n
21254b repl
21255:more1
21256s/["\\]/\\&/g; s/^/"/; s/$/"\\/
21257p
21258g
21259s/.\{148\}//
21260t nl
21261:delim
21262h
21263s/\(.\{148\}\)..*/\1/
21264t more2
21265s/["\\]/\\&/g; s/^/"/; s/$/"/
21266p
21267b
21268:more2
21269s/["\\]/\\&/g; s/^/"/; s/$/"\\/
21270p
21271g
21272s/.\{148\}//
21273t delim
21274' <conf$$subs.awk | sed '
21275/^[^""]/{
21276 N
21277 s/\n//
21278}
21279' >>$CONFIG_STATUS || ac_write_fail=1
21280rm -f conf$$subs.awk
21281cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21282_ACAWK
21283cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
21284 for (key in S) S_is_set[key] = 1
21285 FS = ""
21286
21287}
21288{
21289 line = $ 0
21290 nfields = split(line, field, "@")
21291 substed = 0
21292 len = length(field[1])
21293 for (i = 2; i < nfields; i++) {
21294 key = field[i]
21295 keylen = length(key)
21296 if (S_is_set[key]) {
21297 value = S[key]
21298 line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
21299 len += length(value) + length(field[++i])
21300 substed = 1
21301 } else
21302 len += 1 + keylen
21303 }
21304
21305 print line
21306}
21307
21308_ACAWK
21309_ACEOF
21310cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21311if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
21312 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
21313else
21314 cat
21315fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
21316 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
21317_ACEOF
21318
21319# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
21320# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
21321# trailing colons and then remove the whole line if VPATH becomes empty
21322# (actually we leave an empty line to preserve line numbers).
21323if test "x$srcdir" = x.; then
21324 ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
21325h
21326s///
21327s/^/:/
21328s/[ ]*$/:/
21329s/:\$(srcdir):/:/g
21330s/:\${srcdir}:/:/g
21331s/:@srcdir@:/:/g
21332s/^:*//
21333s/:*$//
21334x
21335s/\(=[ ]*\).*/\1/
21336G
21337s/\n//
21338s/^[^=]*=[ ]*$//
21339}'
21340fi
21341
21342cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21343fi # test -n "$CONFIG_FILES"
21344
21345# Set up the scripts for CONFIG_HEADERS section.
21346# No need to generate them if there are no CONFIG_HEADERS.
21347# This happens for instance with `./config.status Makefile'.
21348if test -n "$CONFIG_HEADERS"; then
21349cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
21350BEGIN {
21351_ACEOF
21352
21353# Transform confdefs.h into an awk script `defines.awk', embedded as
21354# here-document in config.status, that substitutes the proper values into
21355# config.h.in to produce config.h.
21356
21357# Create a delimiter string that does not exist in confdefs.h, to ease
21358# handling of long lines.
21359ac_delim='%!_!# '
21360for ac_last_try in false false :; do
21361 ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
21362 if test -z "$ac_tt"; then
21363 break
21364 elif $ac_last_try; then
21365 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
21366 else
21367 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
21368 fi
21369done
21370
21371# For the awk script, D is an array of macro values keyed by name,
21372# likewise P contains macro parameters if any. Preserve backslash
21373# newline sequences.
21374
21375ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
21376sed -n '
21377s/.\{148\}/&'"$ac_delim"'/g
21378t rset
21379:rset
21380s/^[ ]*#[ ]*define[ ][ ]*/ /
21381t def
21382d
21383:def
21384s/\\$//
21385t bsnl
21386s/["\\]/\\&/g
21387s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
21388D["\1"]=" \3"/p
21389s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
21390d
21391:bsnl
21392s/["\\]/\\&/g
21393s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
21394D["\1"]=" \3\\\\\\n"\\/p
21395t cont
21396s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
21397t cont
21398d
21399:cont
21400n
21401s/.\{148\}/&'"$ac_delim"'/g
21402t clear
21403:clear
21404s/\\$//
21405t bsnlc
21406s/["\\]/\\&/g; s/^/"/; s/$/"/p
21407d
21408:bsnlc
21409s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
21410b cont
21411' <confdefs.h | sed '
21412s/'"$ac_delim"'/"\\\
21413"/g' >>$CONFIG_STATUS || ac_write_fail=1
21414
21415cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21416 for (key in D) D_is_set[key] = 1
21417 FS = ""
21418}
21419/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
21420 line = \$ 0
21421 split(line, arg, " ")
21422 if (arg[1] == "#") {
21423 defundef = arg[2]
21424 mac1 = arg[3]
21425 } else {
21426 defundef = substr(arg[1], 2)
21427 mac1 = arg[2]
21428 }
21429 split(mac1, mac2, "(") #)
21430 macro = mac2[1]
21431 prefix = substr(line, 1, index(line, defundef) - 1)
21432 if (D_is_set[macro]) {
21433 # Preserve the white space surrounding the "#".
21434 print prefix "define", macro P[macro] D[macro]
21435 next
21436 } else {
21437 # Replace #undef with comments. This is necessary, for example,
21438 # in the case of _POSIX_SOURCE, which is predefined and required
21439 # on some systems where configure will not decide to define it.
21440 if (defundef == "undef") {
21441 print "/*", prefix defundef, macro, "*/"
21442 next
21443 }
21444 }
21445}
21446{ print }
21447_ACAWK
21448_ACEOF
21449cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21450 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
21451fi # test -n "$CONFIG_HEADERS"
21452
21453
21454eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
21455shift
21456for ac_tag
21457do
21458 case $ac_tag in
21459 :[FHLC]) ac_mode=$ac_tag; continue;;
21460 esac
21461 case $ac_mode$ac_tag in
21462 :[FHL]*:*);;
21463 :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
21464 :[FH]-) ac_tag=-:-;;
21465 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
21466 esac
21467 ac_save_IFS=$IFS
21468 IFS=:
21469 set x $ac_tag
21470 IFS=$ac_save_IFS
21471 shift
21472 ac_file=$1
21473 shift
21474
21475 case $ac_mode in
21476 :L) ac_source=$1;;
21477 :[FH])
21478 ac_file_inputs=
21479 for ac_f
21480 do
21481 case $ac_f in
21482 -) ac_f="$ac_tmp/stdin";;
21483 *) # Look for the file first in the build tree, then in the source tree
21484 # (if the path is not absolute). The absolute path cannot be DOS-style,
21485 # because $ac_f cannot contain `:'.
21486 test -f "$ac_f" ||
21487 case $ac_f in
21488 [\\/$]*) false;;
21489 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
21490 esac ||
21491 as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
21492 esac
21493 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
21494 as_fn_append ac_file_inputs " '$ac_f'"
21495 done
21496
21497 # Let's still pretend it is `configure' which instantiates (i.e., don't
21498 # use $as_me), people would be surprised to read:
21499 # /* config.h. Generated by config.status. */
21500 configure_input='Generated from '`
21501 $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
21502 `' by configure.'
21503 if test x"$ac_file" != x-; then
21504 configure_input="$ac_file. $configure_input"
21505 { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
21506$as_echo "$as_me: creating $ac_file" >&6;}
21507 fi
21508 # Neutralize special characters interpreted by sed in replacement strings.
21509 case $configure_input in #(
21510 *\&* | *\|* | *\\* )
21511 ac_sed_conf_input=`$as_echo "$configure_input" |
21512 sed 's/[\\\\&|]/\\\\&/g'`;; #(
21513 *) ac_sed_conf_input=$configure_input;;
21514 esac
21515
21516 case $ac_tag in
21517 *:-:* | *:-) cat >"$ac_tmp/stdin" \
21518 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
21519 esac
21520 ;;
21521 esac
21522
21523 ac_dir=`$as_dirname -- "$ac_file" ||
21524$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
21525 X"$ac_file" : 'X\(//\)[^/]' \| \
21526 X"$ac_file" : 'X\(//\)$' \| \
21527 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
21528$as_echo X"$ac_file" |
21529 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
21530 s//\1/
21531 q
21532 }
21533 /^X\(\/\/\)[^/].*/{
21534 s//\1/
21535 q
21536 }
21537 /^X\(\/\/\)$/{
21538 s//\1/
21539 q
21540 }
21541 /^X\(\/\).*/{
21542 s//\1/
21543 q
21544 }
21545 s/.*/./; q'`
21546 as_dir="$ac_dir"; as_fn_mkdir_p
21547 ac_builddir=.
21548
21549case "$ac_dir" in
21550.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
21551*)
21552 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
21553 # A ".." for each directory in $ac_dir_suffix.
21554 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
21555 case $ac_top_builddir_sub in
21556 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
21557 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
21558 esac ;;
21559esac
21560ac_abs_top_builddir=$ac_pwd
21561ac_abs_builddir=$ac_pwd$ac_dir_suffix
21562# for backward compatibility:
21563ac_top_builddir=$ac_top_build_prefix
21564
21565case $srcdir in
21566 .) # We are building in place.
21567 ac_srcdir=.
21568 ac_top_srcdir=$ac_top_builddir_sub
21569 ac_abs_top_srcdir=$ac_pwd ;;
21570 [\\/]* | ?:[\\/]* ) # Absolute name.
21571 ac_srcdir=$srcdir$ac_dir_suffix;
21572 ac_top_srcdir=$srcdir
21573 ac_abs_top_srcdir=$srcdir ;;
21574 *) # Relative name.
21575 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
21576 ac_top_srcdir=$ac_top_build_prefix$srcdir
21577 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
21578esac
21579ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
21580
21581
21582 case $ac_mode in
21583 :F)
21584 #
21585 # CONFIG_FILE
21586 #
21587
21588 case $INSTALL in
21589 [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
21590 *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
21591 esac
21592 ac_MKDIR_P=$MKDIR_P
21593 case $MKDIR_P in
21594 [\\/$]* | ?:[\\/]* ) ;;
21595 */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
21596 esac
21597_ACEOF
21598
21599cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21600# If the template does not know about datarootdir, expand it.
21601# FIXME: This hack should be removed a few years after 2.60.
21602ac_datarootdir_hack=; ac_datarootdir_seen=
21603ac_sed_dataroot='
21604/datarootdir/ {
21605 p
21606 q
21607}
21608/@datadir@/p
21609/@docdir@/p
21610/@infodir@/p
21611/@localedir@/p
21612/@mandir@/p'
21613case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
21614*datarootdir*) ac_datarootdir_seen=yes;;
21615*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
21616 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
21617$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
21618_ACEOF
21619cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21620 ac_datarootdir_hack='
21621 s&@datadir@&$datadir&g
21622 s&@docdir@&$docdir&g
21623 s&@infodir@&$infodir&g
21624 s&@localedir@&$localedir&g
21625 s&@mandir@&$mandir&g
21626 s&\\\${datarootdir}&$datarootdir&g' ;;
21627esac
21628_ACEOF
21629
21630# Neutralize VPATH when `$srcdir' = `.'.
21631# Shell code in configure.ac might set extrasub.
21632# FIXME: do we really want to maintain this feature?
21633cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
21634ac_sed_extra="$ac_vpsub
21635$extrasub
21636_ACEOF
21637cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
21638:t
21639/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
21640s|@configure_input@|$ac_sed_conf_input|;t t
21641s&@top_builddir@&$ac_top_builddir_sub&;t t
21642s&@top_build_prefix@&$ac_top_build_prefix&;t t
21643s&@srcdir@&$ac_srcdir&;t t
21644s&@abs_srcdir@&$ac_abs_srcdir&;t t
21645s&@top_srcdir@&$ac_top_srcdir&;t t
21646s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
21647s&@builddir@&$ac_builddir&;t t
21648s&@abs_builddir@&$ac_abs_builddir&;t t
21649s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
21650s&@INSTALL@&$ac_INSTALL&;t t
21651s&@MKDIR_P@&$ac_MKDIR_P&;t t
21652$ac_datarootdir_hack
21653"
21654eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
21655 >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21656
21657test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
21658 { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
21659 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
21660 "$ac_tmp/out"`; test -z "$ac_out"; } &&
21661 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
21662which seems to be undefined. Please make sure it is defined" >&5
21663$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
21664which seems to be undefined. Please make sure it is defined" >&2;}
21665
21666 rm -f "$ac_tmp/stdin"
21667 case $ac_file in
21668 -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
21669 *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
21670 esac \
21671 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21672 ;;
21673 :H)
21674 #
21675 # CONFIG_HEADER
21676 #
21677 if test x"$ac_file" != x-; then
21678 {
21679 $as_echo "/* $configure_input */" \
21680 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
21681 } >"$ac_tmp/config.h" \
21682 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21683 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
21684 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
21685$as_echo "$as_me: $ac_file is unchanged" >&6;}
21686 else
21687 rm -f "$ac_file"
21688 mv "$ac_tmp/config.h" "$ac_file" \
21689 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
21690 fi
21691 else
21692 $as_echo "/* $configure_input */" \
21693 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
21694 || as_fn_error $? "could not create -" "$LINENO" 5
21695 fi
21696 ;;
21697
21698
21699 esac
21700
21701done # for ac_tag
21702
21703
21704as_fn_exit 0
21705_ACEOF
21706ac_clean_files=$ac_clean_files_save
21707
21708test $ac_write_fail = 0 ||
21709 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
21710
21711
21712# configure is writing to config.log, and then calls config.status.
21713# config.status does its own redirection, appending to config.log.
21714# Unfortunately, on DOS this fails, as config.log is still kept open
21715# by configure, so config.status won't be able to write to it; its
21716# output is simply discarded. So we exec the FD to /dev/null,
21717# effectively closing config.log, so it can be properly (re)opened and
21718# appended to by config.status. When coming back to configure, we
21719# need to make the FD available again.
21720if test "$no_create" != yes; then
21721 ac_cs_success=:
21722 ac_config_status_args=
21723 test "$silent" = yes &&
21724 ac_config_status_args="$ac_config_status_args --quiet"
21725 exec 5>/dev/null
21726 $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
21727 exec 5>>config.log
21728 # Use ||, not &&, to avoid exiting from the if with $? = 1, which
21729 # would make configure fail if this is the last instruction.
21730 $ac_cs_success || as_fn_exit 1
21731fi
21732if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
21733 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
21734$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
21735fi
21736
21737
21738# Print summary of options
21739
21740# Someone please show me a better way :)
21741A=`eval echo ${prefix}` ; A=`eval echo ${A}`
21742B=`eval echo ${bindir}` ; B=`eval echo ${B}`
21743C=`eval echo ${sbindir}` ; C=`eval echo ${C}`
21744D=`eval echo ${sysconfdir}` ; D=`eval echo ${D}`
21745E=`eval echo ${libexecdir}/ssh-askpass` ; E=`eval echo ${E}`
21746F=`eval echo ${mandir}/${mansubdir}X` ; F=`eval echo ${F}`
21747G=`eval echo ${piddir}` ; G=`eval echo ${G}`
21748H=`eval echo ${PRIVSEP_PATH}` ; H=`eval echo ${H}`
21749I=`eval echo ${user_path}` ; I=`eval echo ${I}`
21750J=`eval echo ${superuser_path}` ; J=`eval echo ${J}`
21751
21752echo ""
21753echo "OpenSSH has been configured with the following options:"
21754echo " User binaries: $B"
21755echo " System binaries: $C"
21756echo " Configuration files: $D"
21757echo " Askpass program: $E"
21758echo " Manual pages: $F"
21759echo " PID file: $G"
21760echo " Privilege separation chroot path: $H"
21761if test "x$external_path_file" = "x/etc/login.conf" ; then
21762echo " At runtime, sshd will use the path defined in $external_path_file"
21763echo " Make sure the path to scp is present, otherwise scp will not work"
21764else
21765echo " sshd default user PATH: $I"
21766 if test ! -z "$external_path_file"; then
21767echo " (If PATH is set in $external_path_file it will be used instead. If"
21768echo " used, ensure the path to scp is present, otherwise scp will not work.)"
21769 fi
21770fi
21771if test ! -z "$superuser_path" ; then
21772echo " sshd superuser user PATH: $J"
21773fi
21774echo " Manpage format: $MANTYPE"
21775echo " PAM support: $PAM_MSG"
21776echo " OSF SIA support: $SIA_MSG"
21777echo " KerberosV support: $KRB5_MSG"
21778echo " SELinux support: $SELINUX_MSG"
21779echo " MD5 password support: $MD5_MSG"
21780echo " libedit support: $LIBEDIT_MSG"
21781echo " libldns support: $LDNS_MSG"
21782echo " Solaris process contract support: $SPC_MSG"
21783echo " Solaris project support: $SP_MSG"
21784echo " Solaris privilege support: $SPP_MSG"
21785echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG"
21786echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
21787echo " BSD Auth support: $BSD_AUTH_MSG"
21788echo " Random number source: $RAND_MSG"
21789echo " Privsep sandbox style: $SANDBOX_STYLE"
21790echo " PKCS#11 support: $enable_pkcs11"
21791echo " U2F/FIDO support: $enable_sk"
21792
21793echo ""
21794
21795echo " Host: ${host}"
21796echo " Compiler: ${CC}"
21797echo " Compiler flags: ${CFLAGS}"
21798echo "Preprocessor flags: ${CPPFLAGS}"
21799echo " Linker flags: ${LDFLAGS}"
21800echo " Libraries: ${LIBS}"
21801if test ! -z "${SSHDLIBS}"; then
21802echo " +for sshd: ${SSHDLIBS}"
21803fi
21804
21805echo ""
21806
21807if test "x$MAKE_PACKAGE_SUPPORTED" = "xyes" ; then
21808 echo "SVR4 style packages are supported with \"make package\""
21809 echo ""
21810fi
21811
21812if test "x$PAM_MSG" = "xyes" ; then
21813 echo "PAM is enabled. You may need to install a PAM control file "
21814 echo "for sshd, otherwise password authentication may fail. "
21815 echo "Example PAM control files can be found in the contrib/ "
21816 echo "subdirectory"
21817 echo ""
21818fi
21819
21820if test ! -z "$NO_PEERCHECK" ; then
21821 echo "WARNING: the operating system that you are using does not"
21822 echo "appear to support getpeereid(), getpeerucred() or the"
21823 echo "SO_PEERCRED getsockopt() option. These facilities are used to"
21824 echo "enforce security checks to prevent unauthorised connections to"
21825 echo "ssh-agent. Their absence increases the risk that a malicious"
21826 echo "user can connect to your agent."
21827 echo ""
21828fi
21829
21830if test "$AUDIT_MODULE" = "bsm" ; then
21831 echo "WARNING: BSM audit support is currently considered EXPERIMENTAL."
21832 echo "See the Solaris section in README.platform for details."
21833fi
diff --git a/moduli.0 b/moduli.0
new file mode 100644
index 000000000..dbbac1830
--- /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.8 September 26, 2012 OpenBSD 6.8
diff --git a/scp.0 b/scp.0
new file mode 100644
index 000000000..826457f6a
--- /dev/null
+++ b/scp.0
@@ -0,0 +1,186 @@
1SCP(1) General Commands Manual SCP(1)
2
3NAME
4 scp M-bM-^@M-^S OpenSSH secure file copy
5
6SYNOPSIS
7 scp [-346ABCpqrTv] [-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 -A Allows forwarding of ssh-agent(1) to the remote system. The
39 default is not to forward an authentication agent.
40
41 -B Selects batch mode (prevents asking for passwords or
42 passphrases).
43
44 -C Compression enable. Passes the -C flag to ssh(1) to enable
45 compression.
46
47 -c cipher
48 Selects the cipher to use for encrypting the data transfer. This
49 option is directly passed to ssh(1).
50
51 -F ssh_config
52 Specifies an alternative per-user configuration file for ssh.
53 This option is directly passed to ssh(1).
54
55 -i identity_file
56 Selects the file from which the identity (private key) for public
57 key authentication is read. This option is directly passed to
58 ssh(1).
59
60 -J destination
61 Connect to the target host by first making an scp connection to
62 the jump host described by destination and then establishing a
63 TCP forwarding to the ultimate destination from there. Multiple
64 jump hops may be specified separated by comma characters. This
65 is a shortcut to specify a ProxyJump configuration directive.
66 This option is directly passed to ssh(1).
67
68 -l limit
69 Limits the used bandwidth, specified in Kbit/s.
70
71 -o ssh_option
72 Can be used to pass options to ssh in the format used in
73 ssh_config(5). This is useful for specifying options for which
74 there is no separate scp command-line flag. For full details of
75 the options listed below, and their possible values, see
76 ssh_config(5).
77
78 AddressFamily
79 BatchMode
80 BindAddress
81 BindInterface
82 CanonicalDomains
83 CanonicalizeFallbackLocal
84 CanonicalizeHostname
85 CanonicalizeMaxDots
86 CanonicalizePermittedCNAMEs
87 CASignatureAlgorithms
88 CertificateFile
89 ChallengeResponseAuthentication
90 CheckHostIP
91 Ciphers
92 Compression
93 ConnectionAttempts
94 ConnectTimeout
95 ControlMaster
96 ControlPath
97 ControlPersist
98 GlobalKnownHostsFile
99 GSSAPIAuthentication
100 GSSAPIDelegateCredentials
101 HashKnownHosts
102 Host
103 HostbasedAuthentication
104 HostbasedKeyTypes
105 HostKeyAlgorithms
106 HostKeyAlias
107 Hostname
108 IdentitiesOnly
109 IdentityAgent
110 IdentityFile
111 IPQoS
112 KbdInteractiveAuthentication
113 KbdInteractiveDevices
114 KexAlgorithms
115 LogLevel
116 MACs
117 NoHostAuthenticationForLocalhost
118 NumberOfPasswordPrompts
119 PasswordAuthentication
120 PKCS11Provider
121 Port
122 PreferredAuthentications
123 ProxyCommand
124 ProxyJump
125 PubkeyAcceptedKeyTypes
126 PubkeyAuthentication
127 RekeyLimit
128 SendEnv
129 ServerAliveInterval
130 ServerAliveCountMax
131 SetEnv
132 StrictHostKeyChecking
133 TCPKeepAlive
134 UpdateHostKeys
135 User
136 UserKnownHostsFile
137 VerifyHostKeyDNS
138
139 -P port
140 Specifies the port to connect to on the remote host. Note that
141 this option is written with a capital M-bM-^@M-^XPM-bM-^@M-^Y, because -p is already
142 reserved for preserving the times and modes of the file.
143
144 -p Preserves modification times, access times, and modes from the
145 original file.
146
147 -q Quiet mode: disables the progress meter as well as warning and
148 diagnostic messages from ssh(1).
149
150 -r Recursively copy entire directories. Note that scp follows
151 symbolic links encountered in the tree traversal.
152
153 -S program
154 Name of program to use for the encrypted connection. The program
155 must understand ssh(1) options.
156
157 -T Disable strict filename checking. By default when copying files
158 from a remote host to a local directory scp checks that the
159 received filenames match those requested on the command-line to
160 prevent the remote end from sending unexpected or unwanted files.
161 Because of differences in how various operating systems and
162 shells interpret filename wildcards, these checks may cause
163 wanted files to be rejected. This option disables these checks
164 at the expense of fully trusting that the server will not send
165 unexpected filenames.
166
167 -v Verbose mode. Causes scp and ssh(1) to print debugging messages
168 about their progress. This is helpful in debugging connection,
169 authentication, and configuration problems.
170
171EXIT STATUS
172 The scp utility exitsM-BM- 0 on success, andM-BM- >0 if an error occurs.
173
174SEE ALSO
175 sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5),
176 sshd(8)
177
178HISTORY
179 scp is based on the rcp program in BSD source code from the Regents of
180 the University of California.
181
182AUTHORS
183 Timo Rinne <tri@iki.fi>
184 Tatu Ylonen <ylo@cs.hut.fi>
185
186OpenBSD 6.8 August 3, 2020 OpenBSD 6.8
diff --git a/sftp-server.0 b/sftp-server.0
new file mode 100644
index 000000000..36c5f846f
--- /dev/null
+++ b/sftp-server.0
@@ -0,0 +1,98 @@
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 denied_requests] [-p allowed_requests] [-u umask]
9 sftp-server -Q protocol_feature
10
11DESCRIPTION
12 sftp-server is a program that speaks the server side of SFTP protocol to
13 stdout and expects client requests from stdin. sftp-server is not
14 intended to be called directly, but from sshd(8) using the Subsystem
15 option.
16
17 Command-line flags to sftp-server should be specified in the Subsystem
18 declaration. See sshd_config(5) for more information.
19
20 Valid options are:
21
22 -d start_directory
23 specifies an alternate starting directory for users. The
24 pathname may contain the following tokens that are expanded at
25 runtime: %% is replaced by a literal '%', %d is replaced by the
26 home directory of the user being authenticated, and %u is
27 replaced by the username of that user. The default is to use the
28 user's home directory. This option is useful in conjunction with
29 the sshd_config(5) ChrootDirectory option.
30
31 -e Causes sftp-server to print logging information to stderr instead
32 of syslog for debugging.
33
34 -f log_facility
35 Specifies the facility code that is used when logging messages
36 from sftp-server. The possible values are: DAEMON, USER, AUTH,
37 LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
38 The default is AUTH.
39
40 -h Displays sftp-server usage information.
41
42 -l log_level
43 Specifies which messages will be logged by sftp-server. The
44 possible values are: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG,
45 DEBUG1, DEBUG2, and DEBUG3. INFO and VERBOSE log transactions
46 that sftp-server performs on behalf of the client. DEBUG and
47 DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher
48 levels of debugging output. The default is ERROR.
49
50 -P denied_requests
51 Specify a comma-separated list of SFTP protocol requests that are
52 banned by the server. sftp-server will reply to any denied
53 request with a failure. The -Q flag can be used to determine the
54 supported request types. If both denied and allowed lists are
55 specified, then the denied list is applied before the allowed
56 list.
57
58 -p allowed_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 allowed list will be logged and replied to with a failure
62 message.
63
64 Care must be taken when using this feature to ensure that
65 requests made implicitly by SFTP clients are permitted.
66
67 -Q protocol_feature
68 Query protocol features supported by sftp-server. At present the
69 only feature that may be queried is M-bM-^@M-^\requestsM-bM-^@M-^], which may be used
70 to deny or allow specific requests (flags -P and -p
71 respectively).
72
73 -R Places this instance of sftp-server into a read-only mode.
74 Attempts to open files for writing, as well as other operations
75 that change the state of the filesystem, will be denied.
76
77 -u umask
78 Sets an explicit umask(2) to be applied to newly-created files
79 and directories, instead of the user's default mask.
80
81 On some systems, sftp-server must be able to access /dev/log for logging
82 to work, and use of sftp-server in a chroot configuration therefore
83 requires that syslogd(8) establish a logging socket inside the chroot
84 directory.
85
86SEE ALSO
87 sftp(1), ssh(1), sshd_config(5), sshd(8)
88
89 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
90 filexfer-02.txt, October 2001, work in progress material.
91
92HISTORY
93 sftp-server first appeared in OpenBSD 2.8.
94
95AUTHORS
96 Markus Friedl <markus@openbsd.org>
97
98OpenBSD 6.8 June 22, 2020 OpenBSD 6.8
diff --git a/sftp.0 b/sftp.0
new file mode 100644
index 000000000..99288ebcf
--- /dev/null
+++ b/sftp.0
@@ -0,0 +1,402 @@
1SFTP(1) General Commands Manual SFTP(1)
2
3NAME
4 sftp M-bM-^@M-^S OpenSSH secure file transfer
5
6SYNOPSIS
7 sftp [-46AaCfNpqrv] [-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 Allows forwarding of ssh-agent(1) to the remote system. The
42 default is not to forward an authentication agent.
43
44 -a Attempt to continue interrupted transfers rather than overwriting
45 existing partial or complete copies of files. If the partial
46 contents differ from those being transferred, then the resultant
47 file is likely to be corrupt.
48
49 -B buffer_size
50 Specify the size of the buffer that sftp uses when transferring
51 files. Larger buffers require fewer round trips at the cost of
52 higher memory consumption. The default is 32768 bytes.
53
54 -b batchfile
55 Batch mode reads a series of commands from an input batchfile
56 instead of stdin. Since it lacks user interaction it should be
57 used in conjunction with non-interactive authentication to
58 obviate the need to enter a password at connection time (see
59 sshd(8) and ssh-keygen(1) for details).
60
61 A batchfile of M-bM-^@M-^X-M-bM-^@M-^Y may be used to indicate standard input. sftp
62 will abort if any of the following commands fail: get, put,
63 reget, reput, rename, ln, rm, mkdir, chdir, ls, lchdir, chmod,
64 chown, chgrp, lpwd, df, symlink, and lmkdir.
65
66 Termination on error can be suppressed on a command by command
67 basis by prefixing the command with a M-bM-^@M-^X-M-bM-^@M-^Y character (for example,
68 -rm /tmp/blah*). Echo of the command may be suppressed by
69 prefixing the command with a M-bM-^@M-^X@M-bM-^@M-^Y character. These two prefixes
70 may be combined in any order, for example -@ls /bsd.
71
72 -C Enables compression (via ssh's -C flag).
73
74 -c cipher
75 Selects the cipher to use for encrypting the data transfers.
76 This option is directly passed to ssh(1).
77
78 -D sftp_server_path
79 Connect directly to a local sftp server (rather than via ssh(1)).
80 This option may be useful in debugging the client and server.
81
82 -F ssh_config
83 Specifies an alternative per-user configuration file for ssh(1).
84 This option is directly passed to ssh(1).
85
86 -f Requests that files be flushed to disk immediately after
87 transfer. When uploading files, this feature is only enabled if
88 the server implements the "fsync@openssh.com" extension.
89
90 -i identity_file
91 Selects the file from which the identity (private key) for public
92 key authentication is read. This option is directly passed to
93 ssh(1).
94
95 -J destination
96 Connect to the target host by first making an sftp connection to
97 the jump host described by destination and then establishing a
98 TCP forwarding to the ultimate destination from there. Multiple
99 jump hops may be specified separated by comma characters. This
100 is a shortcut to specify a ProxyJump configuration directive.
101 This option is directly passed to ssh(1).
102
103 -l limit
104 Limits the used bandwidth, specified in Kbit/s.
105
106 -N Disables quiet mode, e.g. to override the implicit quiet mode set
107 by the -b flag.
108
109 -o ssh_option
110 Can be used to pass options to ssh in the format used in
111 ssh_config(5). This is useful for specifying options for which
112 there is no separate sftp command-line flag. For example, to
113 specify an alternate port use: sftp -oPort=24. For full details
114 of the options listed below, and their possible values, see
115 ssh_config(5).
116
117 AddressFamily
118 BatchMode
119 BindAddress
120 BindInterface
121 CanonicalDomains
122 CanonicalizeFallbackLocal
123 CanonicalizeHostname
124 CanonicalizeMaxDots
125 CanonicalizePermittedCNAMEs
126 CASignatureAlgorithms
127 CertificateFile
128 ChallengeResponseAuthentication
129 CheckHostIP
130 Ciphers
131 Compression
132 ConnectionAttempts
133 ConnectTimeout
134 ControlMaster
135 ControlPath
136 ControlPersist
137 GlobalKnownHostsFile
138 GSSAPIAuthentication
139 GSSAPIDelegateCredentials
140 HashKnownHosts
141 Host
142 HostbasedAuthentication
143 HostbasedKeyTypes
144 HostKeyAlgorithms
145 HostKeyAlias
146 Hostname
147 IdentitiesOnly
148 IdentityAgent
149 IdentityFile
150 IPQoS
151 KbdInteractiveAuthentication
152 KbdInteractiveDevices
153 KexAlgorithms
154 LogLevel
155 MACs
156 NoHostAuthenticationForLocalhost
157 NumberOfPasswordPrompts
158 PasswordAuthentication
159 PKCS11Provider
160 Port
161 PreferredAuthentications
162 ProxyCommand
163 ProxyJump
164 PubkeyAcceptedKeyTypes
165 PubkeyAuthentication
166 RekeyLimit
167 SendEnv
168 ServerAliveInterval
169 ServerAliveCountMax
170 SetEnv
171 StrictHostKeyChecking
172 TCPKeepAlive
173 UpdateHostKeys
174 User
175 UserKnownHostsFile
176 VerifyHostKeyDNS
177
178 -P port
179 Specifies the port to connect to on the remote host.
180
181 -p Preserves modification times, access times, and modes from the
182 original files transferred.
183
184 -q Quiet mode: disables the progress meter as well as warning and
185 diagnostic messages from ssh(1).
186
187 -R num_requests
188 Specify how many requests may be outstanding at any one time.
189 Increasing this may slightly improve file transfer speed but will
190 increase memory usage. The default is 64 outstanding requests.
191
192 -r Recursively copy entire directories when uploading and
193 downloading. Note that sftp does not follow symbolic links
194 encountered in the tree traversal.
195
196 -S program
197 Name of the program to use for the encrypted connection. The
198 program must understand ssh(1) options.
199
200 -s subsystem | sftp_server
201 Specifies the SSH2 subsystem or the path for an sftp server on
202 the remote host. A path is useful when the remote sshd(8) does
203 not have an sftp subsystem configured.
204
205 -v Raise logging level. This option is also passed to ssh.
206
207INTERACTIVE COMMANDS
208 Once in interactive mode, sftp understands a set of commands similar to
209 those of ftp(1). Commands are case insensitive. Pathnames that contain
210 spaces must be enclosed in quotes. Any special characters contained
211 within pathnames that are recognized by glob(3) must be escaped with
212 backslashes (M-bM-^@M-^X\M-bM-^@M-^Y).
213
214 bye Quit sftp.
215
216 cd [path]
217 Change remote directory to path. If path is not specified, then
218 change directory to the one the session started in.
219
220 chgrp [-h] grp path
221 Change group of file path to grp. If the -h flag is specified,
222 then symlinks will not be followed. path may contain glob(7)
223 characters and may match multiple files. grp must be a numeric
224 GID.
225
226 chmod [-h] mode path
227 Change permissions of file path to mode. If the -h flag is
228 specified, then symlinks will not be followed. path may contain
229 glob(7) characters and may match multiple files.
230
231 chown [-h] own path
232 Change owner of file path to own. If the -h flag is specified,
233 then symlinks will not be followed. path may contain glob(7)
234 characters and may match multiple files. own must be a numeric
235 UID.
236
237 df [-hi] [path]
238 Display usage information for the filesystem holding the current
239 directory (or path if specified). If the -h flag is specified,
240 the capacity information will be displayed using "human-readable"
241 suffixes. The -i flag requests display of inode information in
242 addition to capacity information. This command is only supported
243 on servers that implement the M-bM-^@M-^\statvfs@openssh.comM-bM-^@M-^] extension.
244
245 exit Quit sftp.
246
247 get [-afpR] remote-path [local-path]
248 Retrieve the remote-path and store it on the local machine. If
249 the local path name is not specified, it is given the same name
250 it has on the remote machine. remote-path may contain glob(7)
251 characters and may match multiple files. If it does and
252 local-path is specified, then local-path must specify a
253 directory.
254
255 If the -a flag is specified, then attempt to resume partial
256 transfers of existing files. Note that resumption assumes that
257 any partial copy of the local file matches the remote copy. If
258 the remote file contents differ from the partial local copy then
259 the resultant file is likely to be corrupt.
260
261 If the -f flag is specified, then fsync(2) will be called after
262 the file transfer has completed to flush the file to disk.
263
264 If the -p flag is specified, then full file permissions and
265 access times are copied too.
266
267 If the -R flag is specified then directories will be copied
268 recursively. Note that sftp does not follow symbolic links when
269 performing recursive transfers.
270
271 help Display help text.
272
273 lcd [path]
274 Change local directory to path. If path is not specified, then
275 change directory to the local user's home directory.
276
277 lls [ls-options [path]]
278 Display local directory listing of either path or current
279 directory if path is not specified. ls-options may contain any
280 flags supported by the local system's ls(1) command. path may
281 contain glob(7) characters and may match multiple files.
282
283 lmkdir path
284 Create local directory specified by path.
285
286 ln [-s] oldpath newpath
287 Create a link from oldpath to newpath. If the -s flag is
288 specified the created link is a symbolic link, otherwise it is a
289 hard link.
290
291 lpwd Print local working directory.
292
293 ls [-1afhlnrSt] [path]
294 Display a remote directory listing of either path or the current
295 directory if path is not specified. path may contain glob(7)
296 characters and may match multiple files.
297
298 The following flags are recognized and alter the behaviour of ls
299 accordingly:
300
301 -1 Produce single columnar output.
302
303 -a List files beginning with a dot (M-bM-^@M-^X.M-bM-^@M-^Y).
304
305 -f Do not sort the listing. The default sort order is
306 lexicographical.
307
308 -h When used with a long format option, use unit suffixes:
309 Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte,
310 and Exabyte in order to reduce the number of digits to
311 four or fewer using powers of 2 for sizes (K=1024,
312 M=1048576, etc.).
313
314 -l Display additional details including permissions and
315 ownership information.
316
317 -n Produce a long listing with user and group information
318 presented numerically.
319
320 -r Reverse the sort order of the listing.
321
322 -S Sort the listing by file size.
323
324 -t Sort the listing by last modification time.
325
326 lumask umask
327 Set local umask to umask.
328
329 mkdir path
330 Create remote directory specified by path.
331
332 progress
333 Toggle display of progress meter.
334
335 put [-afpR] local-path [remote-path]
336 Upload local-path and store it on the remote machine. If the
337 remote path name is not specified, it is given the same name it
338 has on the local machine. local-path may contain glob(7)
339 characters and may match multiple files. If it does and
340 remote-path is specified, then remote-path must specify a
341 directory.
342
343 If the -a flag is specified, then attempt to resume partial
344 transfers of existing files. Note that resumption assumes that
345 any partial copy of the remote file matches the local copy. If
346 the local file contents differ from the remote local copy then
347 the resultant file is likely to be corrupt.
348
349 If the -f flag is specified, then a request will be sent to the
350 server to call fsync(2) after the file has been transferred.
351 Note that this is only supported by servers that implement the
352 "fsync@openssh.com" extension.
353
354 If the -p flag is specified, then full file permissions and
355 access times are copied too.
356
357 If the -R flag is specified then directories will be copied
358 recursively. Note that sftp does not follow symbolic links when
359 performing recursive transfers.
360
361 pwd Display remote working directory.
362
363 quit Quit sftp.
364
365 reget [-fpR] remote-path [local-path]
366 Resume download of remote-path. Equivalent to get with the -a
367 flag set.
368
369 reput [-fpR] local-path [remote-path]
370 Resume upload of local-path. Equivalent to put with the -a flag
371 set.
372
373 rename oldpath newpath
374 Rename remote file from oldpath to newpath.
375
376 rm path
377 Delete remote file specified by path.
378
379 rmdir path
380 Remove remote directory specified by path.
381
382 symlink oldpath newpath
383 Create a symbolic link from oldpath to newpath.
384
385 version
386 Display the sftp protocol version.
387
388 !command
389 Execute command in local shell.
390
391 ! Escape to local shell.
392
393 ? Synonym for help.
394
395SEE ALSO
396 ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5),
397 glob(7), sftp-server(8), sshd(8)
398
399 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
400 filexfer-00.txt, January 2001, work in progress material.
401
402OpenBSD 6.8 August 3, 2020 OpenBSD 6.8
diff --git a/ssh-add.0 b/ssh-add.0
new file mode 100644
index 000000000..d73af0f43
--- /dev/null
+++ b/ssh-add.0
@@ -0,0 +1,152 @@
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. If
47 the argument list consists of M-bM-^@M-^\-M-bM-^@M-^] then ssh-add will read public
48 keys to be removed from standard input.
49
50 -E fingerprint_hash
51 Specifies the hash algorithm used when displaying key
52 fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The
53 default is M-bM-^@M-^\sha256M-bM-^@M-^].
54
55 -e pkcs11
56 Remove keys provided by the PKCS#11 shared library pkcs11.
57
58 -K Load resident keys from a FIDO authenticator.
59
60 -k When loading keys into or deleting keys from the agent, process
61 plain private keys only and skip certificates.
62
63 -L Lists public key parameters of all identities currently
64 represented by the agent.
65
66 -l Lists fingerprints of all identities currently represented by the
67 agent.
68
69 -q Be quiet after a successful operation.
70
71 -S provider
72 Specifies a path to a library that will be used when adding FIDO
73 authenticator-hosted keys, overriding the default of using the
74 internal USB HID support.
75
76 -s pkcs11
77 Add keys provided by the PKCS#11 shared library pkcs11.
78
79 -T pubkey ...
80 Tests whether the private keys that correspond to the specified
81 pubkey files are usable by performing sign and verify operations
82 on each.
83
84 -t life
85 Set a maximum lifetime when adding identities to an agent. The
86 lifetime may be specified in seconds or in a time format
87 specified in sshd_config(5).
88
89 -v Verbose mode. Causes ssh-add to print debugging messages about
90 its progress. This is helpful in debugging problems. Multiple
91 -v options increase the verbosity. The maximum is 3.
92
93 -X Unlock the agent.
94
95 -x Lock the agent with a password.
96
97ENVIRONMENT
98 DISPLAY, SSH_ASKPASS and SSH_ASKPASS_REQUIRE
99 If ssh-add needs a passphrase, it will read the passphrase from
100 the current terminal if it was run from a terminal. If ssh-add
101 does not have a terminal associated with it but DISPLAY and
102 SSH_ASKPASS are set, it will execute the program specified by
103 SSH_ASKPASS (by default M-bM-^@M-^\ssh-askpassM-bM-^@M-^]) and open an X11 window to
104 read the passphrase. This is particularly useful when calling
105 ssh-add from a .xsession or related script.
106
107 SSH_ASKPASS_REQUIRE allows further control over the use of an
108 askpass program. If this variable is set to M-bM-^@M-^\neverM-bM-^@M-^] then ssh-add
109 will never attempt to use one. If it is set to M-bM-^@M-^\preferM-bM-^@M-^], then
110 ssh-add will prefer to use the askpass program instead of the TTY
111 when requesting passwords. Finally, if the variable is set to
112 M-bM-^@M-^\forceM-bM-^@M-^], then the askpass program will be used for all passphrase
113 input regardless of whether DISPLAY is set.
114
115 SSH_AUTH_SOCK
116 Identifies the path of a UNIX-domain socket used to communicate
117 with the agent.
118
119 SSH_SK_PROVIDER
120 Specifies a path to a library that will be used when loading any
121 FIDO authenticator-hosted keys, overriding the default of using
122 the built-in USB HID support.
123
124FILES
125 ~/.ssh/id_dsa
126 ~/.ssh/id_ecdsa
127 ~/.ssh/id_ecdsa_sk
128 ~/.ssh/id_ed25519
129 ~/.ssh/id_ed25519_sk
130 ~/.ssh/id_rsa
131 Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519,
132 authenticator-hosted Ed25519 or RSA authentication identity of
133 the user.
134
135 Identity files should not be readable by anyone but the user. Note that
136 ssh-add ignores identity files if they are accessible by others.
137
138EXIT STATUS
139 Exit status is 0 on success, 1 if the specified command fails, and 2 if
140 ssh-add is unable to contact the authentication agent.
141
142SEE ALSO
143 ssh(1), ssh-agent(1), ssh-askpass(1), ssh-keygen(1), sshd(8)
144
145AUTHORS
146 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
147 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
148 de Raadt and Dug Song removed many bugs, re-added newer features and
149 created OpenSSH. Markus Friedl contributed the support for SSH protocol
150 versions 1.5 and 2.0.
151
152OpenBSD 6.8 July 14, 2020 OpenBSD 6.8
diff --git a/ssh-agent.0 b/ssh-agent.0
new file mode 100644
index 000000000..71dddc27c
--- /dev/null
+++ b/ssh-agent.0
@@ -0,0 +1,119 @@
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 allowed_providers] [-t life]
9 ssh-agent [-a bind_address] [-E fingerprint_hash] [-P allowed_providers]
10 [-t life] command [arg ...]
11 ssh-agent [-c | -s] -k
12
13DESCRIPTION
14 ssh-agent is a program to hold private keys used for public key
15 authentication. Through use of environment variables the agent can be
16 located and automatically used for authentication when logging in to
17 other machines using ssh(1).
18
19 The options are as follows:
20
21 -a bind_address
22 Bind the agent to the UNIX-domain socket bind_address. The
23 default is $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>.
24
25 -c Generate C-shell commands on stdout. This is the default if
26 SHELL looks like it's a csh style of shell.
27
28 -D Foreground mode. When this option is specified ssh-agent will
29 not fork.
30
31 -d Debug mode. When this option is specified ssh-agent will not
32 fork and will write debug information to standard error.
33
34 -E fingerprint_hash
35 Specifies the hash algorithm used when displaying key
36 fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The
37 default is M-bM-^@M-^\sha256M-bM-^@M-^].
38
39 -k Kill the current agent (given by the SSH_AGENT_PID environment
40 variable).
41
42 -P allowed_providers
43 Specify a pattern-list of acceptable paths for PKCS#11 provider
44 and FIDO authenticator middleware shared libraries that may be
45 used with the -S or -s options to ssh-add(1). Libraries that do
46 not match the pattern list will be refused. See PATTERNS in
47 ssh_config(5) for a description of pattern-list syntax. The
48 default list is M-bM-^@M-^\/usr/lib/*,/usr/local/lib/*M-bM-^@M-^].
49
50 -s Generate Bourne shell commands on stdout. This is the default if
51 SHELL does not look like it's a csh style of shell.
52
53 -t life
54 Set a default value for the maximum lifetime of identities added
55 to the agent. The lifetime may be specified in seconds or in a
56 time format specified in sshd_config(5). A lifetime specified
57 for an identity with ssh-add(1) overrides this value. Without
58 this option the default maximum lifetime is forever.
59
60 command [arg ...]
61 If a command (and optional arguments) is given, this is executed
62 as a subprocess of the agent. The agent exits automatically when
63 the command given on the command line terminates.
64
65 There are two main ways to get an agent set up. The first is at the
66 start of an X session, where all other windows or programs are started as
67 children of the ssh-agent program. The agent starts a command under
68 which its environment variables are exported, for example ssh-agent xterm
69 &. When the command terminates, so does the agent.
70
71 The second method is used for a login session. When ssh-agent is
72 started, it prints the shell commands required to set its environment
73 variables, which in turn can be evaluated in the calling shell, for
74 example eval `ssh-agent -s`.
75
76 In both cases, ssh(1) looks at these environment variables and uses them
77 to establish a connection to the agent.
78
79 The agent initially does not have any private keys. Keys are added using
80 ssh-add(1) or by ssh(1) when AddKeysToAgent is set in ssh_config(5).
81 Multiple identities may be stored in ssh-agent concurrently and ssh(1)
82 will automatically use them if present. ssh-add(1) is also used to
83 remove keys from ssh-agent and to query the keys that are held in one.
84
85 Connections to ssh-agent may be forwarded from further remote hosts using
86 the -A option to ssh(1) (but see the caveats documented therein),
87 avoiding the need for authentication data to be stored on other machines.
88 Authentication passphrases and private keys never go over the network:
89 the connection to the agent is forwarded over SSH remote connections and
90 the result is returned to the requester, allowing the user access to
91 their identities anywhere in the network in a secure fashion.
92
93ENVIRONMENT
94 SSH_AGENT_PID When ssh-agent starts, it stores the name of the agent's
95 process ID (PID) in this variable.
96
97 SSH_AUTH_SOCK When ssh-agent starts, it creates a UNIX-domain socket and
98 stores its pathname in this variable. It is accessible
99 only to the current user, but is easily abused by root or
100 another instance of the same user.
101
102FILES
103 $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
104 UNIX-domain sockets used to contain the connection to the
105 authentication agent. These sockets should only be readable by
106 the owner. The sockets should get automatically removed when the
107 agent exits.
108
109SEE ALSO
110 ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5), sshd(8)
111
112AUTHORS
113 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
114 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
115 de Raadt and Dug Song removed many bugs, re-added newer features and
116 created OpenSSH. Markus Friedl contributed the support for SSH protocol
117 versions 1.5 and 2.0.
118
119OpenBSD 6.8 June 22, 2020 OpenBSD 6.8
diff --git a/ssh-keygen.0 b/ssh-keygen.0
new file mode 100644
index 000000000..111eb9e08
--- /dev/null
+++ b/ssh-keygen.0
@@ -0,0 +1,809 @@
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] [-a rounds] [-b bits] [-C comment] [-f output_keyfile]
8 [-m format] [-N new_passphrase] [-O option]
9 [-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa]
10 [-w provider]
11 ssh-keygen -p [-a rounds] [-f keyfile] [-m format] [-N new_passphrase]
12 [-P old_passphrase]
13 ssh-keygen -i [-f input_keyfile] [-m key_format]
14 ssh-keygen -e [-f input_keyfile] [-m key_format]
15 ssh-keygen -y [-f input_keyfile]
16 ssh-keygen -c [-a rounds] [-C comment] [-f keyfile] [-P passphrase]
17 ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
18 ssh-keygen -B [-f input_keyfile]
19 ssh-keygen -D pkcs11
20 ssh-keygen -F hostname [-lv] [-f known_hosts_file]
21 ssh-keygen -H [-f known_hosts_file]
22 ssh-keygen -K [-a rounds] [-w provider]
23 ssh-keygen -R hostname [-f known_hosts_file]
24 ssh-keygen -r hostname [-g] [-f input_keyfile]
25 ssh-keygen -M generate [-O option] output_file
26 ssh-keygen -M screen [-f input_file] [-O option] output_file
27 ssh-keygen -I certificate_identity -s ca_key [-hU] [-D pkcs11_provider]
28 [-n principals] [-O option] [-V validity_interval]
29 [-z serial_number] file ...
30 ssh-keygen -L [-f input_keyfile]
31 ssh-keygen -A [-a rounds] [-f prefix_path]
32 ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
33 file ...
34 ssh-keygen -Q [-l] -f krl_file file ...
35 ssh-keygen -Y find-principals -s signature_file -f allowed_signers_file
36 ssh-keygen -Y check-novalidate -n namespace -s signature_file
37 ssh-keygen -Y sign -f key_file -n namespace file ...
38 ssh-keygen -Y verify -f allowed_signers_file -I signer_identity
39 -n namespace -s signature_file [-r revocation_file]
40
41DESCRIPTION
42 ssh-keygen generates, manages and converts authentication keys for
43 ssh(1). ssh-keygen can create keys for use by SSH protocol version 2.
44
45 The type of key to be generated is specified with the -t option. If
46 invoked without any arguments, ssh-keygen will generate an RSA key.
47
48 ssh-keygen is also used to generate groups for use in Diffie-Hellman
49 group exchange (DH-GEX). See the MODULI GENERATION section for details.
50
51 Finally, ssh-keygen can be used to generate and update Key Revocation
52 Lists, and to test whether given keys have been revoked by one. See the
53 KEY REVOCATION LISTS section for details.
54
55 Normally each user wishing to use SSH with public key authentication runs
56 this once to create the authentication key in ~/.ssh/id_dsa,
57 ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519,
58 ~/.ssh/id_ed25519_sk or ~/.ssh/id_rsa. Additionally, the system
59 administrator may use this to generate host keys, as seen in /etc/rc.
60
61 Normally this program generates the key and asks for a file in which to
62 store the private key. The public key is stored in a file with the same
63 name but M-bM-^@M-^\.pubM-bM-^@M-^] appended. The program also asks for a passphrase. The
64 passphrase may be empty to indicate no passphrase (host keys must have an
65 empty passphrase), or it may be a string of arbitrary length. A
66 passphrase is similar to a password, except it can be a phrase with a
67 series of words, punctuation, numbers, whitespace, or any string of
68 characters you want. Good passphrases are 10-30 characters long, are not
69 simple sentences or otherwise easily guessable (English prose has only
70 1-2 bits of entropy per character, and provides very bad passphrases),
71 and contain a mix of upper and lowercase letters, numbers, and non-
72 alphanumeric characters. The passphrase can be changed later by using
73 the -p option.
74
75 There is no way to recover a lost passphrase. If the passphrase is lost
76 or forgotten, a new key must be generated and the corresponding public
77 key copied to other machines.
78
79 ssh-keygen will by default write keys in an OpenSSH-specific format.
80 This format is preferred as it offers better protection for keys at rest
81 as well as allowing storage of key comments within the private key file
82 itself. The key comment may be useful to help identify the key. The
83 comment is initialized to M-bM-^@M-^\user@hostM-bM-^@M-^] when the key is created, but can be
84 changed using the -c option.
85
86 It is still possible for ssh-keygen to write the previously-used PEM
87 format private keys using the -m flag. This may be used when generating
88 new keys, and existing new-format keys may be converted using this option
89 in conjunction with the -p (change passphrase) flag.
90
91 After a key is generated, ssh-keygen will ask where the keys should be
92 placed to be activated.
93
94 The options are as follows:
95
96 -A For each of the key types (rsa, dsa, ecdsa and ed25519) for which
97 host keys do not exist, generate the host keys with the default
98 key file path, an empty passphrase, default bits for the key
99 type, and default comment. If -f has also been specified, its
100 argument is used as a prefix to the default path for the
101 resulting host key files. This is used by /etc/rc to generate
102 new host keys.
103
104 -a rounds
105 When saving a private key, this option specifies the number of
106 KDF (key derivation function) rounds used. Higher numbers result
107 in slower passphrase verification and increased resistance to
108 brute-force password cracking (should the keys be stolen). The
109 default is 16 rounds.
110
111 -B Show the bubblebabble digest of specified private or public key
112 file.
113
114 -b bits
115 Specifies the number of bits in the key to create. For RSA keys,
116 the minimum size is 1024 bits and the default is 3072 bits.
117 Generally, 3072 bits is considered sufficient. DSA keys must be
118 exactly 1024 bits as specified by FIPS 186-2. For ECDSA keys,
119 the -b flag determines the key length by selecting from one of
120 three elliptic curve sizes: 256, 384 or 521 bits. Attempting to
121 use bit lengths other than these three values for ECDSA keys will
122 fail. ECDSA-SK, Ed25519 and Ed25519-SK keys have a fixed length
123 and the -b flag will be ignored.
124
125 -C comment
126 Provides a new comment.
127
128 -c Requests changing the comment in the private and public key
129 files. The program will prompt for the file containing the
130 private keys, for the passphrase if the key has one, and for the
131 new comment.
132
133 -D pkcs11
134 Download the public keys provided by the PKCS#11 shared library
135 pkcs11. When used in combination with -s, this option indicates
136 that a CA key resides in a PKCS#11 token (see the CERTIFICATES
137 section for details).
138
139 -E fingerprint_hash
140 Specifies the hash algorithm used when displaying key
141 fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The
142 default is M-bM-^@M-^\sha256M-bM-^@M-^].
143
144 -e This option will read a private or public OpenSSH key file and
145 print to stdout a public key in one of the formats specified by
146 the -m option. The default export format is M-bM-^@M-^\RFC4716M-bM-^@M-^]. This
147 option allows exporting OpenSSH keys for use by other programs,
148 including several commercial SSH implementations.
149
150 -F hostname | [hostname]:port
151 Search for the specified hostname (with optional port number) in
152 a known_hosts file, listing any occurrences found. This option
153 is useful to find hashed host names or addresses and may also be
154 used in conjunction with the -H option to print found keys in a
155 hashed format.
156
157 -f filename
158 Specifies the filename of the key file.
159
160 -g Use generic DNS format when printing fingerprint resource records
161 using the -r command.
162
163 -H Hash a known_hosts file. This replaces all hostnames and
164 addresses with hashed representations within the specified file;
165 the original content is moved to a file with a .old suffix.
166 These hashes may be used normally by ssh and sshd, but they do
167 not reveal identifying information should the file's contents be
168 disclosed. This option will not modify existing hashed hostnames
169 and is therefore safe to use on files that mix hashed and non-
170 hashed names.
171
172 -h When signing a key, create a host certificate instead of a user
173 certificate. Please see the CERTIFICATES section for details.
174
175 -I certificate_identity
176 Specify the key identity when signing a public key. Please see
177 the CERTIFICATES section for details.
178
179 -i This option will read an unencrypted private (or public) key file
180 in the format specified by the -m option and print an OpenSSH
181 compatible private (or public) key to stdout. This option allows
182 importing keys from other software, including several commercial
183 SSH implementations. The default import format is M-bM-^@M-^\RFC4716M-bM-^@M-^].
184
185 -K Download resident keys from a FIDO authenticator. Public and
186 private key files will be written to the current directory for
187 each downloaded key. If multiple FIDO authenticators are
188 attached, keys will be downloaded from the first touched
189 authenticator.
190
191 -k Generate a KRL file. In this mode, ssh-keygen will generate a
192 KRL file at the location specified via the -f flag that revokes
193 every key or certificate presented on the command line.
194 Keys/certificates to be revoked may be specified by public key
195 file or using the format described in the KEY REVOCATION LISTS
196 section.
197
198 -L Prints the contents of one or more certificates.
199
200 -l Show fingerprint of specified public key file. For RSA and DSA
201 keys ssh-keygen tries to find the matching public key file and
202 prints its fingerprint. If combined with -v, a visual ASCII art
203 representation of the key is supplied with the fingerprint.
204
205 -M generate
206 Generate candidate Diffie-Hellman Group Exchange (DH-GEX)
207 parameters for eventual use by the
208 M-bM-^@M-^Xdiffie-hellman-group-exchange-*M-bM-^@M-^Y key exchange methods. The
209 numbers generated by this operation must be further screened
210 before use. See the MODULI GENERATION section for more
211 information.
212
213 -M screen
214 Screen candidate parameters for Diffie-Hellman Group Exchange.
215 This will accept a list of candidate numbers and test that they
216 are safe (Sophie Germain) primes with acceptable group
217 generators. The results of this operation may be added to the
218 /etc/moduli file. See the MODULI GENERATION section for more
219 information.
220
221 -m key_format
222 Specify a key format for key generation, the -i (import), -e
223 (export) conversion options, and the -p change passphrase
224 operation. The latter may be used to convert between OpenSSH
225 private key and PEM private key formats. The supported key
226 formats are: M-bM-^@M-^\RFC4716M-bM-^@M-^] (RFC 4716/SSH2 public or private key),
227 M-bM-^@M-^\PKCS8M-bM-^@M-^] (PKCS8 public or private key) or M-bM-^@M-^\PEMM-bM-^@M-^] (PEM public key).
228 By default OpenSSH will write newly-generated private keys in its
229 own format, but when converting public keys for export the
230 default format is M-bM-^@M-^\RFC4716M-bM-^@M-^]. Setting a format of M-bM-^@M-^\PEMM-bM-^@M-^] when
231 generating or updating a supported private key type will cause
232 the key to be stored in the legacy PEM private key format.
233
234 -N new_passphrase
235 Provides the new passphrase.
236
237 -n principals
238 Specify one or more principals (user or host names) to be
239 included in a certificate when signing a key. Multiple
240 principals may be specified, separated by commas. Please see the
241 CERTIFICATES section for details.
242
243 -O option
244 Specify a key/value option. These are specific to the operation
245 that ssh-keygen has been requested to perform.
246
247 When signing certificates, one of the options listed in the
248 CERTIFICATES section may be specified here.
249
250 When performing moduli generation or screening, one of the
251 options listed in the MODULI GENERATION section may be specified.
252
253 When generating a key that will be hosted on a FIDO
254 authenticator, this flag may be used to specify key-specific
255 options. Those supported at present are:
256
257 application
258 Override the default FIDO application/origin string of
259 M-bM-^@M-^\ssh:M-bM-^@M-^]. This may be useful when generating host or
260 domain-specific resident keys. The specified application
261 string must begin with M-bM-^@M-^\ssh:M-bM-^@M-^].
262
263 challenge=path
264 Specifies a path to a challenge string that will be
265 passed to the FIDO token during key generation. The
266 challenge string may be used as part of an out-of-band
267 protocol for key enrollment (a random challenge is used
268 by default).
269
270 device Explicitly specify a fido(4) device to use, rather than
271 letting the token middleware select one.
272
273 no-touch-required
274 Indicate that the generated private key should not
275 require touch events (user presence) when making
276 signatures. Note that sshd(8) will refuse such
277 signatures by default, unless overridden via an
278 authorized_keys option.
279
280 resident
281 Indicate that the key should be stored on the FIDO
282 authenticator itself. Resident keys may be supported on
283 FIDO2 tokens and typically require that a PIN be set on
284 the token prior to generation. Resident keys may be
285 loaded off the token using ssh-add(1).
286
287 user A username to be associated with a resident key,
288 overriding the empty default username. Specifying a
289 username may be useful when generating multiple resident
290 keys for the same application name.
291
292 verify-required
293 Indicate that this private key should require user
294 verification for each signature. Not all FIDO tokens
295 support this option. Currently PIN authentication is the
296 only supported verification method, but other methods may
297 be supported in the future.
298
299 write-attestation=path
300 May be used at key generation time to record the
301 attestation data returned from FIDO tokens during key
302 generation. Please note that this information is
303 potentially sensitive. By default, this information is
304 discarded.
305
306 The -O option may be specified multiple times.
307
308 -P passphrase
309 Provides the (old) passphrase.
310
311 -p Requests changing the passphrase of a private key file instead of
312 creating a new private key. The program will prompt for the file
313 containing the private key, for the old passphrase, and twice for
314 the new passphrase.
315
316 -Q Test whether keys have been revoked in a KRL. If the -l option
317 is also specified then the contents of the KRL will be printed.
318
319 -q Silence ssh-keygen.
320
321 -R hostname | [hostname]:port
322 Removes all keys belonging to the specified hostname (with
323 optional port number) from a known_hosts file. This option is
324 useful to delete hashed hosts (see the -H option above).
325
326 -r hostname
327 Print the SSHFP fingerprint resource record named hostname for
328 the specified public key file.
329
330 -s ca_key
331 Certify (sign) a public key using the specified CA key. Please
332 see the CERTIFICATES section for details.
333
334 When generating a KRL, -s specifies a path to a CA public key
335 file used to revoke certificates directly by key ID or serial
336 number. See the KEY REVOCATION LISTS section for details.
337
338 -t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa
339 Specifies the type of key to create. The possible values are
340 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-^].
341
342 This flag may also be used to specify the desired signature type
343 when signing certificates using an RSA CA key. The available RSA
344 signature variants are M-bM-^@M-^\ssh-rsaM-bM-^@M-^] (SHA1 signatures, not
345 recommended), M-bM-^@M-^\rsa-sha2-256M-bM-^@M-^], and M-bM-^@M-^\rsa-sha2-512M-bM-^@M-^] (the default).
346
347 -U When used in combination with -s, this option indicates that a CA
348 key resides in a ssh-agent(1). See the CERTIFICATES section for
349 more information.
350
351 -u Update a KRL. When specified with -k, keys listed via the
352 command line are added to the existing KRL rather than a new KRL
353 being created.
354
355 -V validity_interval
356 Specify a validity interval when signing a certificate. A
357 validity interval may consist of a single time, indicating that
358 the certificate is valid beginning now and expiring at that time,
359 or may consist of two times separated by a colon to indicate an
360 explicit time interval.
361
362 The start time may be specified as the string M-bM-^@M-^\alwaysM-bM-^@M-^] to
363 indicate the certificate has no specified start time, a date in
364 YYYYMMDD format, a time in YYYYMMDDHHMM[SS] format, a relative
365 time (to the current time) consisting of a minus sign followed by
366 an interval in the format described in the TIME FORMATS section
367 of sshd_config(5).
368
369 The end time may be specified as a YYYYMMDD date, a
370 YYYYMMDDHHMM[SS] time, a relative time starting with a plus
371 character or the string M-bM-^@M-^\foreverM-bM-^@M-^] to indicate that the
372 certificate has no expiry date.
373
374 For example: M-bM-^@M-^\+52w1dM-bM-^@M-^] (valid from now to 52 weeks and one day
375 from now), M-bM-^@M-^\-4w:+4wM-bM-^@M-^] (valid from four weeks ago to four weeks
376 from now), M-bM-^@M-^\20100101123000:20110101123000M-bM-^@M-^] (valid from 12:30 PM,
377 January 1st, 2010 to 12:30 PM, January 1st, 2011), M-bM-^@M-^\-1d:20110101M-bM-^@M-^]
378 (valid from yesterday to midnight, January 1st, 2011).
379 M-bM-^@M-^\-1m:foreverM-bM-^@M-^] (valid from one minute ago and never expiring).
380
381 -v Verbose mode. Causes ssh-keygen to print debugging messages
382 about its progress. This is helpful for debugging moduli
383 generation. Multiple -v options increase the verbosity. The
384 maximum is 3.
385
386 -w provider
387 Specifies a path to a library that will be used when creating
388 FIDO authenticator-hosted keys, overriding the default of using
389 the internal USB HID support.
390
391 -Y find-principals
392 Find the principal(s) associated with the public key of a
393 signature, provided using the -s flag in an authorized signers
394 file provided using the -f flag. The format of the allowed
395 signers file is documented in the ALLOWED SIGNERS section below.
396 If one or more matching principals are found, they are returned
397 on standard output.
398
399 -Y check-novalidate
400 Checks that a signature generated using ssh-keygen -Y sign has a
401 valid structure. This does not validate if a signature comes
402 from an authorized signer. When testing a signature, ssh-keygen
403 accepts a message on standard input and a signature namespace
404 using -n. A file containing the corresponding signature must
405 also be supplied using the -s flag. Successful testing of the
406 signature is signalled by ssh-keygen returning a zero exit
407 status.
408
409 -Y sign
410 Cryptographically sign a file or some data using a SSH key. When
411 signing, ssh-keygen accepts zero or more files to sign on the
412 command-line - if no files are specified then ssh-keygen will
413 sign data presented on standard input. Signatures are written to
414 the path of the input file with M-bM-^@M-^\.sigM-bM-^@M-^] appended, or to standard
415 output if the message to be signed was read from standard input.
416
417 The key used for signing is specified using the -f option and may
418 refer to either a private key, or a public key with the private
419 half available via ssh-agent(1). An additional signature
420 namespace, used to prevent signature confusion across different
421 domains of use (e.g. file signing vs email signing) must be
422 provided via the -n flag. Namespaces are arbitrary strings, and
423 may include: M-bM-^@M-^\fileM-bM-^@M-^] for file signing, M-bM-^@M-^\emailM-bM-^@M-^] for email signing.
424 For custom uses, it is recommended to use names following a
425 NAMESPACE@YOUR.DOMAIN pattern to generate unambiguous namespaces.
426
427 -Y verify
428 Request to verify a signature generated using ssh-keygen -Y sign
429 as described above. When verifying a signature, ssh-keygen
430 accepts a message on standard input and a signature namespace
431 using -n. A file containing the corresponding signature must
432 also be supplied using the -s flag, along with the identity of
433 the signer using -I and a list of allowed signers via the -f
434 flag. The format of the allowed signers file is documented in
435 the ALLOWED SIGNERS section below. A file containing revoked
436 keys can be passed using the -r flag. The revocation file may be
437 a KRL or a one-per-line list of public keys. Successful
438 verification by an authorized signer is signalled by ssh-keygen
439 returning a zero exit status.
440
441 -y This option will read a private OpenSSH format file and print an
442 OpenSSH public key to stdout.
443
444 -z serial_number
445 Specifies a serial number to be embedded in the certificate to
446 distinguish this certificate from others from the same CA. If
447 the serial_number is prefixed with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the
448 serial number will be incremented for each certificate signed on
449 a single command-line. The default serial number is zero.
450
451 When generating a KRL, the -z flag is used to specify a KRL
452 version number.
453
454MODULI GENERATION
455 ssh-keygen may be used to generate groups for the Diffie-Hellman Group
456 Exchange (DH-GEX) protocol. Generating these groups is a two-step
457 process: first, candidate primes are generated using a fast, but memory
458 intensive process. These candidate primes are then tested for
459 suitability (a CPU-intensive process).
460
461 Generation of primes is performed using the -M generate option. The
462 desired length of the primes may be specified by the -O bits option. For
463 example:
464
465 # ssh-keygen -M generate -O bits=2048 moduli-2048.candidates
466
467 By default, the search for primes begins at a random point in the desired
468 length range. This may be overridden using the -O start option, which
469 specifies a different start point (in hex).
470
471 Once a set of candidates have been generated, they must be screened for
472 suitability. This may be performed using the -M screen option. In this
473 mode ssh-keygen will read candidates from standard input (or a file
474 specified using the -f option). For example:
475
476 # ssh-keygen -M screen -f moduli-2048.candidates moduli-2048
477
478 By default, each candidate will be subjected to 100 primality tests.
479 This may be overridden using the -O prime-tests option. The DH generator
480 value will be chosen automatically for the prime under consideration. If
481 a specific generator is desired, it may be requested using the -O
482 generator option. Valid generator values are 2, 3, and 5.
483
484 Screened DH groups may be installed in /etc/moduli. It is important that
485 this file contains moduli of a range of bit lengths and that both ends of
486 a connection share common moduli.
487
488 A number of options are available for moduli generation and screening via
489 the -O flag:
490
491 lines=number
492 Exit after screening the specified number of lines while
493 performing DH candidate screening.
494
495 start-line=line-number
496 Start screening at the specified line number while performing DH
497 candidate screening.
498
499 checkpoint=filename
500 Write the last line processed to the specified file while
501 performing DH candidate screening. This will be used to skip
502 lines in the input file that have already been processed if the
503 job is restarted.
504
505 memory=mbytes
506 Specify the amount of memory to use (in megabytes) when
507 generating candidate moduli for DH-GEX.
508
509 start=hex-value
510 Specify start point (in hex) when generating candidate moduli for
511 DH-GEX.
512
513 generator=value
514 Specify desired generator (in decimal) when testing candidate
515 moduli for DH-GEX.
516
517CERTIFICATES
518 ssh-keygen supports signing of keys to produce certificates that may be
519 used for user or host authentication. Certificates consist of a public
520 key, some identity information, zero or more principal (user or host)
521 names and a set of options that are signed by a Certification Authority
522 (CA) key. Clients or servers may then trust only the CA key and verify
523 its signature on a certificate rather than trusting many user/host keys.
524 Note that OpenSSH certificates are a different, and much simpler, format
525 to the X.509 certificates used in ssl(8).
526
527 ssh-keygen supports two types of certificates: user and host. User
528 certificates authenticate users to servers, whereas host certificates
529 authenticate server hosts to users. To generate a user certificate:
530
531 $ ssh-keygen -s /path/to/ca_key -I key_id /path/to/user_key.pub
532
533 The resultant certificate will be placed in /path/to/user_key-cert.pub.
534 A host certificate requires the -h option:
535
536 $ ssh-keygen -s /path/to/ca_key -I key_id -h /path/to/host_key.pub
537
538 The host certificate will be output to /path/to/host_key-cert.pub.
539
540 It is possible to sign using a CA key stored in a PKCS#11 token by
541 providing the token library using -D and identifying the CA key by
542 providing its public half as an argument to -s:
543
544 $ ssh-keygen -s ca_key.pub -D libpkcs11.so -I key_id user_key.pub
545
546 Similarly, it is possible for the CA key to be hosted in a ssh-agent(1).
547 This is indicated by the -U flag and, again, the CA key must be
548 identified by its public half.
549
550 $ ssh-keygen -Us ca_key.pub -I key_id user_key.pub
551
552 In all cases, key_id is a "key identifier" that is logged by the server
553 when the certificate is used for authentication.
554
555 Certificates may be limited to be valid for a set of principal
556 (user/host) names. By default, generated certificates are valid for all
557 users or hosts. To generate a certificate for a specified set of
558 principals:
559
560 $ ssh-keygen -s ca_key -I key_id -n user1,user2 user_key.pub
561 $ ssh-keygen -s ca_key -I key_id -h -n host.domain host_key.pub
562
563 Additional limitations on the validity and use of user certificates may
564 be specified through certificate options. A certificate option may
565 disable features of the SSH session, may be valid only when presented
566 from particular source addresses or may force the use of a specific
567 command.
568
569 The options that are valid for user certificates are:
570
571 clear Clear all enabled permissions. This is useful for clearing the
572 default set of permissions so permissions may be added
573 individually.
574
575 critical:name[=contents]
576 extension:name[=contents]
577 Includes an arbitrary certificate critical option or extension.
578 The specified name should include a domain suffix, e.g.
579 M-bM-^@M-^\name@example.comM-bM-^@M-^]. If contents is specified then it is included
580 as the contents of the extension/option encoded as a string,
581 otherwise the extension/option is created with no contents
582 (usually indicating a flag). Extensions may be ignored by a
583 client or server that does not recognise them, whereas unknown
584 critical options will cause the certificate to be refused.
585
586 force-command=command
587 Forces the execution of command instead of any shell or command
588 specified by the user when the certificate is used for
589 authentication.
590
591 no-agent-forwarding
592 Disable ssh-agent(1) forwarding (permitted by default).
593
594 no-port-forwarding
595 Disable port forwarding (permitted by default).
596
597 no-pty Disable PTY allocation (permitted by default).
598
599 no-user-rc
600 Disable execution of ~/.ssh/rc by sshd(8) (permitted by default).
601
602 no-x11-forwarding
603 Disable X11 forwarding (permitted by default).
604
605 permit-agent-forwarding
606 Allows ssh-agent(1) forwarding.
607
608 permit-port-forwarding
609 Allows port forwarding.
610
611 permit-pty
612 Allows PTY allocation.
613
614 permit-user-rc
615 Allows execution of ~/.ssh/rc by sshd(8).
616
617 permit-X11-forwarding
618 Allows X11 forwarding.
619
620 no-touch-required
621 Do not require signatures made using this key include
622 demonstration of user presence (e.g. by having the user touch the
623 authenticator). This option only makes sense for the FIDO
624 authenticator algorithms ecdsa-sk and ed25519-sk.
625
626 source-address=address_list
627 Restrict the source addresses from which the certificate is
628 considered valid. The address_list is a comma-separated list of
629 one or more address/netmask pairs in CIDR format.
630
631 verify-required
632 Require signatures made using this key indicate that the user was
633 first verified. This option only makes sense for the FIDO
634 authenticator algorithms ecdsa-sk and ed25519-sk. Currently PIN
635 authentication is the only supported verification method, but
636 other methods may be supported in the future.
637
638 At present, no standard options are valid for host keys.
639
640 Finally, certificates may be defined with a validity lifetime. The -V
641 option allows specification of certificate start and end times. A
642 certificate that is presented at a time outside this range will not be
643 considered valid. By default, certificates are valid from UNIX Epoch to
644 the distant future.
645
646 For certificates to be used for user or host authentication, the CA
647 public key must be trusted by sshd(8) or ssh(1). Please refer to those
648 manual pages for details.
649
650KEY REVOCATION LISTS
651 ssh-keygen is able to manage OpenSSH format Key Revocation Lists (KRLs).
652 These binary files specify keys or certificates to be revoked using a
653 compact format, taking as little as one bit per certificate if they are
654 being revoked by serial number.
655
656 KRLs may be generated using the -k flag. This option reads one or more
657 files from the command line and generates a new KRL. The files may
658 either contain a KRL specification (see below) or public keys, listed one
659 per line. Plain public keys are revoked by listing their hash or
660 contents in the KRL and certificates revoked by serial number or key ID
661 (if the serial is zero or not available).
662
663 Revoking keys using a KRL specification offers explicit control over the
664 types of record used to revoke keys and may be used to directly revoke
665 certificates by serial number or key ID without having the complete
666 original certificate on hand. A KRL specification consists of lines
667 containing one of the following directives followed by a colon and some
668 directive-specific information.
669
670 serial: serial_number[-serial_number]
671 Revokes a certificate with the specified serial number. Serial
672 numbers are 64-bit values, not including zero and may be
673 expressed in decimal, hex or octal. If two serial numbers are
674 specified separated by a hyphen, then the range of serial numbers
675 including and between each is revoked. The CA key must have been
676 specified on the ssh-keygen command line using the -s option.
677
678 id: key_id
679 Revokes a certificate with the specified key ID string. The CA
680 key must have been specified on the ssh-keygen command line using
681 the -s option.
682
683 key: public_key
684 Revokes the specified key. If a certificate is listed, then it
685 is revoked as a plain public key.
686
687 sha1: public_key
688 Revokes the specified key by including its SHA1 hash in the KRL.
689
690 sha256: public_key
691 Revokes the specified key by including its SHA256 hash in the
692 KRL. KRLs that revoke keys by SHA256 hash are not supported by
693 OpenSSH versions prior to 7.9.
694
695 hash: fingerprint
696 Revokes a key using a fingerprint hash, as obtained from a
697 sshd(8) authentication log message or the ssh-keygen -l flag.
698 Only SHA256 fingerprints are supported here and resultant KRLs
699 are not supported by OpenSSH versions prior to 7.9.
700
701 KRLs may be updated using the -u flag in addition to -k. When this
702 option is specified, keys listed via the command line are merged into the
703 KRL, adding to those already there.
704
705 It is also possible, given a KRL, to test whether it revokes a particular
706 key (or keys). The -Q flag will query an existing KRL, testing each key
707 specified on the command line. If any key listed on the command line has
708 been revoked (or an error encountered) then ssh-keygen will exit with a
709 non-zero exit status. A zero exit status will only be returned if no key
710 was revoked.
711
712ALLOWED SIGNERS
713 When verifying signatures, ssh-keygen uses a simple list of identities
714 and keys to determine whether a signature comes from an authorized
715 source. This "allowed signers" file uses a format patterned after the
716 AUTHORIZED_KEYS FILE FORMAT described in sshd(8). Each line of the file
717 contains the following space-separated fields: principals, options,
718 keytype, base64-encoded key. Empty lines and lines starting with a M-bM-^@M-^X#M-bM-^@M-^Y
719 are ignored as comments.
720
721 The principals field is a pattern-list (See PATTERNS in ssh_config(5))
722 consisting of one or more comma-separated USER@DOMAIN identity patterns
723 that are accepted for signing. When verifying, the identity presented
724 via the -I option must match a principals pattern in order for the
725 corresponding key to be considered acceptable for verification.
726
727 The options (if present) consist of comma-separated option
728 specifications. No spaces are permitted, except within double quotes.
729 The following option specifications are supported (note that option
730 keywords are case-insensitive):
731
732 cert-authority
733 Indicates that this key is accepted as a certificate authority
734 (CA) and that certificates signed by this CA may be accepted for
735 verification.
736
737 namespaces="namespace-list"
738 Specifies a pattern-list of namespaces that are accepted for this
739 key. If this option is present, the signature namespace embedded
740 in the signature object and presented on the verification
741 command-line must match the specified list before the key will be
742 considered acceptable.
743
744 When verifying signatures made by certificates, the expected principal
745 name must match both the principals pattern in the allowed signers file
746 and the principals embedded in the certificate itself.
747
748 An example allowed signers file:
749
750 # Comments allowed at start of line
751 user1@example.com,user2@example.com ssh-rsa AAAAX1...
752 # A certificate authority, trusted for all principals in a domain.
753 *@example.com cert-authority ssh-ed25519 AAAB4...
754 # A key that is accepted only for file signing.
755 user2@example.com namespaces="file" ssh-ed25519 AAA41...
756
757ENVIRONMENT
758 SSH_SK_PROVIDER
759 Specifies a path to a library that will be used when loading any
760 FIDO authenticator-hosted keys, overriding the default of using
761 the built-in USB HID support.
762
763FILES
764 ~/.ssh/id_dsa
765 ~/.ssh/id_ecdsa
766 ~/.ssh/id_ecdsa_sk
767 ~/.ssh/id_ed25519
768 ~/.ssh/id_ed25519_sk
769 ~/.ssh/id_rsa
770 Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519,
771 authenticator-hosted Ed25519 or RSA authentication identity of
772 the user. This file should not be readable by anyone but the
773 user. It is possible to specify a passphrase when generating the
774 key; that passphrase will be used to encrypt the private part of
775 this file using 128-bit AES. This file is not automatically
776 accessed by ssh-keygen but it is offered as the default file for
777 the private key. ssh(1) will read this file when a login attempt
778 is made.
779
780 ~/.ssh/id_dsa.pub
781 ~/.ssh/id_ecdsa.pub
782 ~/.ssh/id_ecdsa_sk.pub
783 ~/.ssh/id_ed25519.pub
784 ~/.ssh/id_ed25519_sk.pub
785 ~/.ssh/id_rsa.pub
786 Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519,
787 authenticator-hosted Ed25519 or RSA public key for
788 authentication. The contents of this file should be added to
789 ~/.ssh/authorized_keys on all machines where the user wishes to
790 log in using public key authentication. There is no need to keep
791 the contents of this file secret.
792
793 /etc/moduli
794 Contains Diffie-Hellman groups used for DH-GEX. The file format
795 is described in moduli(5).
796
797SEE ALSO
798 ssh(1), ssh-add(1), ssh-agent(1), moduli(5), sshd(8)
799
800 The Secure Shell (SSH) Public Key File Format, RFC 4716, 2006.
801
802AUTHORS
803 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
804 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
805 de Raadt and Dug Song removed many bugs, re-added newer features and
806 created OpenSSH. Markus Friedl contributed the support for SSH protocol
807 versions 1.5 and 2.0.
808
809OpenBSD 6.8 September 9, 2020 OpenBSD 6.8
diff --git a/ssh-keyscan.0 b/ssh-keyscan.0
new file mode 100644
index 000000000..1a5fefcbf
--- /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.8 November 30, 2019 OpenBSD 6.8
diff --git a/ssh-keysign.0 b/ssh-keysign.0
new file mode 100644
index 000000000..b4ec3cc64
--- /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.8 November 30, 2019 OpenBSD 6.8
diff --git a/ssh-pkcs11-helper.0 b/ssh-pkcs11-helper.0
new file mode 100644
index 000000000..973b551a5
--- /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.8 November 30, 2019 OpenBSD 6.8
diff --git a/ssh-sk-helper.0 b/ssh-sk-helper.0
new file mode 100644
index 000000000..091f00e74
--- /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.8 December 21, 2019 OpenBSD 6.8
diff --git a/ssh.0 b/ssh.0
new file mode 100644
index 000000000..86ae53765
--- /dev/null
+++ b/ssh.0
@@ -0,0 +1,1002 @@
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_ASKPASS_REQUIRE Allows further control over the use of an askpass
790 program. If this variable is set to M-bM-^@M-^\neverM-bM-^@M-^] then
791 ssh will never attempt to use one. If it is set to
792 M-bM-^@M-^\preferM-bM-^@M-^], then ssh will prefer to use the askpass
793 program instead of the TTY when requesting
794 passwords. Finally, if the variable is set to
795 M-bM-^@M-^\forceM-bM-^@M-^], then the askpass program will be used for
796 all passphrase input regardless of whether DISPLAY
797 is set.
798
799 SSH_AUTH_SOCK Identifies the path of a UNIX-domain socket used to
800 communicate with the agent.
801
802 SSH_CONNECTION Identifies the client and server ends of the
803 connection. The variable contains four space-
804 separated values: client IP address, client port
805 number, server IP address, and server port number.
806
807 SSH_ORIGINAL_COMMAND This variable contains the original command line if
808 a forced command is executed. It can be used to
809 extract the original arguments.
810
811 SSH_TTY This is set to the name of the tty (path to the
812 device) associated with the current shell or
813 command. If the current session has no tty, this
814 variable is not set.
815
816 SSH_TUNNEL Optionally set by sshd(8) to contain the interface
817 names assigned if tunnel forwarding was requested
818 by the client.
819
820 SSH_USER_AUTH Optionally set by sshd(8), this variable may
821 contain a pathname to a file that lists the
822 authentication methods successfully used when the
823 session was established, including any public keys
824 that were used.
825
826 TZ This variable is set to indicate the present time
827 zone if it was set when the daemon was started
828 (i.e. the daemon passes the value on to new
829 connections).
830
831 USER Set to the name of the user logging in.
832
833 Additionally, ssh reads ~/.ssh/environment, and adds lines of the format
834 M-bM-^@M-^\VARNAME=valueM-bM-^@M-^] to the environment if the file exists and users are
835 allowed to change their environment. For more information, see the
836 PermitUserEnvironment option in sshd_config(5).
837
838FILES
839 ~/.rhosts
840 This file is used for host-based authentication (see above). On
841 some machines this file may need to be world-readable if the
842 user's home directory is on an NFS partition, because sshd(8)
843 reads it as root. Additionally, this file must be owned by the
844 user, and must not have write permissions for anyone else. The
845 recommended permission for most machines is read/write for the
846 user, and not accessible by others.
847
848 ~/.shosts
849 This file is used in exactly the same way as .rhosts, but allows
850 host-based authentication without permitting login with
851 rlogin/rsh.
852
853 ~/.ssh/
854 This directory is the default location for all user-specific
855 configuration and authentication information. There is no
856 general requirement to keep the entire contents of this directory
857 secret, but the recommended permissions are read/write/execute
858 for the user, and not accessible by others.
859
860 ~/.ssh/authorized_keys
861 Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
862 for logging in as this user. The format of this file is
863 described in the sshd(8) manual page. This file is not highly
864 sensitive, but the recommended permissions are read/write for the
865 user, and not accessible by others.
866
867 ~/.ssh/config
868 This is the per-user configuration file. The file format and
869 configuration options are described in ssh_config(5). Because of
870 the potential for abuse, this file must have strict permissions:
871 read/write for the user, and not writable by others.
872
873 ~/.ssh/environment
874 Contains additional definitions for environment variables; see
875 ENVIRONMENT, above.
876
877 ~/.ssh/id_dsa
878 ~/.ssh/id_ecdsa
879 ~/.ssh/id_ecdsa_sk
880 ~/.ssh/id_ed25519
881 ~/.ssh/id_ed25519_sk
882 ~/.ssh/id_rsa
883 Contains the private key for authentication. These files contain
884 sensitive data and should be readable by the user but not
885 accessible by others (read/write/execute). ssh will simply
886 ignore a private key file if it is accessible by others. It is
887 possible to specify a passphrase when generating the key which
888 will be used to encrypt the sensitive part of this file using
889 AES-128.
890
891 ~/.ssh/id_dsa.pub
892 ~/.ssh/id_ecdsa.pub
893 ~/.ssh/id_ecdsa_sk.pub
894 ~/.ssh/id_ed25519.pub
895 ~/.ssh/id_ed25519_sk.pub
896 ~/.ssh/id_rsa.pub
897 Contains the public key for authentication. These files are not
898 sensitive and can (but need not) be readable by anyone.
899
900 ~/.ssh/known_hosts
901 Contains a list of host keys for all hosts the user has logged
902 into that are not already in the systemwide list of known host
903 keys. See sshd(8) for further details of the format of this
904 file.
905
906 ~/.ssh/rc
907 Commands in this file are executed by ssh when the user logs in,
908 just before the user's shell (or command) is started. See the
909 sshd(8) manual page for more information.
910
911 /etc/hosts.equiv
912 This file is for host-based authentication (see above). It
913 should only be writable by root.
914
915 /etc/shosts.equiv
916 This file is used in exactly the same way as hosts.equiv, but
917 allows host-based authentication without permitting login with
918 rlogin/rsh.
919
920 /etc/ssh/ssh_config
921 Systemwide configuration file. The file format and configuration
922 options are described in ssh_config(5).
923
924 /etc/ssh/ssh_host_key
925 /etc/ssh/ssh_host_dsa_key
926 /etc/ssh/ssh_host_ecdsa_key
927 /etc/ssh/ssh_host_ed25519_key
928 /etc/ssh/ssh_host_rsa_key
929 These files contain the private parts of the host keys and are
930 used for host-based authentication.
931
932 /etc/ssh/ssh_known_hosts
933 Systemwide list of known host keys. This file should be prepared
934 by the system administrator to contain the public host keys of
935 all machines in the organization. It should be world-readable.
936 See sshd(8) for further details of the format of this file.
937
938 /etc/ssh/sshrc
939 Commands in this file are executed by ssh when the user logs in,
940 just before the user's shell (or command) is started. See the
941 sshd(8) manual page for more information.
942
943EXIT STATUS
944 ssh exits with the exit status of the remote command or with 255 if an
945 error occurred.
946
947SEE ALSO
948 scp(1), sftp(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh-keyscan(1),
949 tun(4), ssh_config(5), ssh-keysign(8), sshd(8)
950
951STANDARDS
952 S. Lehtinen and C. Lonvick, The Secure Shell (SSH) Protocol Assigned
953 Numbers, RFC 4250, January 2006.
954
955 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Protocol Architecture,
956 RFC 4251, January 2006.
957
958 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Authentication Protocol,
959 RFC 4252, January 2006.
960
961 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Transport Layer
962 Protocol, RFC 4253, January 2006.
963
964 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Connection Protocol, RFC
965 4254, January 2006.
966
967 J. Schlyter and W. Griffin, Using DNS to Securely Publish Secure Shell
968 (SSH) Key Fingerprints, RFC 4255, January 2006.
969
970 F. Cusack and M. Forssen, Generic Message Exchange Authentication for the
971 Secure Shell Protocol (SSH), RFC 4256, January 2006.
972
973 J. Galbraith and P. Remaker, The Secure Shell (SSH) Session Channel Break
974 Extension, RFC 4335, January 2006.
975
976 M. Bellare, T. Kohno, and C. Namprempre, The Secure Shell (SSH) Transport
977 Layer Encryption Modes, RFC 4344, January 2006.
978
979 B. Harris, Improved Arcfour Modes for the Secure Shell (SSH) Transport
980 Layer Protocol, RFC 4345, January 2006.
981
982 M. Friedl, N. Provos, and W. Simpson, Diffie-Hellman Group Exchange for
983 the Secure Shell (SSH) Transport Layer Protocol, RFC 4419, March 2006.
984
985 J. Galbraith and R. Thayer, The Secure Shell (SSH) Public Key File
986 Format, RFC 4716, November 2006.
987
988 D. Stebila and J. Green, Elliptic Curve Algorithm Integration in the
989 Secure Shell Transport Layer, RFC 5656, December 2009.
990
991 A. Perrig and D. Song, Hash Visualization: a New Technique to improve
992 Real-World Security, 1999, International Workshop on Cryptographic
993 Techniques and E-Commerce (CrypTEC '99).
994
995AUTHORS
996 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
997 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
998 de Raadt and Dug Song removed many bugs, re-added newer features and
999 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1000 versions 1.5 and 2.0.
1001
1002OpenBSD 6.8 July 15, 2020 OpenBSD 6.8
diff --git a/ssh_config.0 b/ssh_config.0
new file mode 100644
index 000000000..ae98748d2
--- /dev/null
+++ b/ssh_config.0
@@ -0,0 +1,1194 @@
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. Alternately, this option may be specified as a time
102 interval using the format described in the TIME FORMATS section
103 of sshd_config(5) to specify the key's lifetime in ssh-agent(1),
104 after which it will automatically be removed. The argument must
105 be no (the default), yes, confirm (optionally followed by a time
106 interval), ask or a time interval.
107
108 AddressFamily
109 Specifies which address family to use when connecting. Valid
110 arguments are any (the default), inet (use IPv4 only), or inet6
111 (use IPv6 only).
112
113 BatchMode
114 If set to yes, user interaction such as password prompts and host
115 key confirmation requests will be disabled. This option is
116 useful in scripts and other batch jobs where no user is present
117 to interact with ssh(1). The argument must be yes or no (the
118 default).
119
120 BindAddress
121 Use the specified address on the local machine as the source
122 address of the connection. Only useful on systems with more than
123 one address.
124
125 BindInterface
126 Use the address of the specified interface on the local machine
127 as the source address of the connection.
128
129 CanonicalDomains
130 When CanonicalizeHostname is enabled, this option specifies the
131 list of domain suffixes in which to search for the specified
132 destination host.
133
134 CanonicalizeFallbackLocal
135 Specifies whether to fail with an error when hostname
136 canonicalization fails. The default, yes, will attempt to look
137 up the unqualified hostname using the system resolver's search
138 rules. A value of no will cause ssh(1) to fail instantly if
139 CanonicalizeHostname is enabled and the target hostname cannot be
140 found in any of the domains specified by CanonicalDomains.
141
142 CanonicalizeHostname
143 Controls whether explicit hostname canonicalization is performed.
144 The default, no, is not to perform any name rewriting and let the
145 system resolver handle all hostname lookups. If set to yes then,
146 for connections that do not use a ProxyCommand or ProxyJump,
147 ssh(1) will attempt to canonicalize the hostname specified on the
148 command line using the CanonicalDomains suffixes and
149 CanonicalizePermittedCNAMEs rules. If CanonicalizeHostname is
150 set to always, then canonicalization is applied to proxied
151 connections too.
152
153 If this option is enabled, then the configuration files are
154 processed again using the new target name to pick up any new
155 configuration in matching Host and Match stanzas.
156
157 CanonicalizeMaxDots
158 Specifies the maximum number of dot characters in a hostname
159 before canonicalization is disabled. The default, 1, allows a
160 single dot (i.e. hostname.subdomain).
161
162 CanonicalizePermittedCNAMEs
163 Specifies rules to determine whether CNAMEs should be followed
164 when canonicalizing hostnames. The rules consist of one or more
165 arguments of source_domain_list:target_domain_list, where
166 source_domain_list is a pattern-list of domains that may follow
167 CNAMEs in canonicalization, and target_domain_list is a pattern-
168 list of domains that they may resolve to.
169
170 For example, "*.a.example.com:*.b.example.com,*.c.example.com"
171 will allow hostnames matching "*.a.example.com" to be
172 canonicalized to names in the "*.b.example.com" or
173 "*.c.example.com" domains.
174
175 CASignatureAlgorithms
176 Specifies which algorithms are allowed for signing of
177 certificates by certificate authorities (CAs). The default is:
178
179 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
180 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
181
182 ssh(1) will not accept host certificates signed using algorithms
183 other than those specified.
184
185 CertificateFile
186 Specifies a file from which the user's certificate is read. A
187 corresponding private key must be provided separately in order to
188 use this certificate either from an IdentityFile directive or -i
189 flag to ssh(1), via ssh-agent(1), or via a PKCS11Provider or
190 SecurityKeyProvider.
191
192 Arguments to CertificateFile may use the tilde syntax to refer to
193 a user's home directory, the tokens described in the TOKENS
194 section and environment variables as described in the ENVIRONMENT
195 VARIABLES section.
196
197 It is possible to have multiple certificate files specified in
198 configuration files; these certificates will be tried in
199 sequence. Multiple CertificateFile directives will add to the
200 list of certificates used for authentication.
201
202 ChallengeResponseAuthentication
203 Specifies whether to use challenge-response authentication. The
204 argument to this keyword must be yes (the default) or no.
205
206 CheckHostIP
207 If set to yes (the default), ssh(1) will additionally check the
208 host IP address in the known_hosts file. This allows it to
209 detect if a host key changed due to DNS spoofing and will add
210 addresses of destination hosts to ~/.ssh/known_hosts in the
211 process, regardless of the setting of StrictHostKeyChecking. If
212 the option is set to no, the check will not be executed.
213
214 Ciphers
215 Specifies the ciphers allowed and their order of preference.
216 Multiple ciphers must be comma-separated. If the specified list
217 begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified ciphers will be
218 appended to the default set instead of replacing them. If the
219 specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified
220 ciphers (including wildcards) will be removed from the default
221 set instead of replacing them. If the specified list begins with
222 a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified ciphers will be placed at the
223 head of the default set.
224
225 The supported ciphers are:
226
227 3des-cbc
228 aes128-cbc
229 aes192-cbc
230 aes256-cbc
231 aes128-ctr
232 aes192-ctr
233 aes256-ctr
234 aes128-gcm@openssh.com
235 aes256-gcm@openssh.com
236 chacha20-poly1305@openssh.com
237
238 The default is:
239
240 chacha20-poly1305@openssh.com,
241 aes128-ctr,aes192-ctr,aes256-ctr,
242 aes128-gcm@openssh.com,aes256-gcm@openssh.com
243
244 The list of available ciphers may also be obtained using "ssh -Q
245 cipher".
246
247 ClearAllForwardings
248 Specifies that all local, remote, and dynamic port forwardings
249 specified in the configuration files or on the command line be
250 cleared. This option is primarily useful when used from the
251 ssh(1) command line to clear port forwardings set in
252 configuration files, and is automatically set by scp(1) and
253 sftp(1). The argument must be yes or no (the default).
254
255 Compression
256 Specifies whether to use compression. The argument must be yes
257 or no (the default).
258
259 ConnectionAttempts
260 Specifies the number of tries (one per second) to make before
261 exiting. The argument must be an integer. This may be useful in
262 scripts if the connection sometimes fails. The default is 1.
263
264 ConnectTimeout
265 Specifies the timeout (in seconds) used when connecting to the
266 SSH server, instead of using the default system TCP timeout.
267 This timeout is applied both to establishing the connection and
268 to performing the initial SSH protocol handshake and key
269 exchange.
270
271 ControlMaster
272 Enables the sharing of multiple sessions over a single network
273 connection. When set to yes, ssh(1) will listen for connections
274 on a control socket specified using the ControlPath argument.
275 Additional sessions can connect to this socket using the same
276 ControlPath with ControlMaster set to no (the default). These
277 sessions will try to reuse the master instance's network
278 connection rather than initiating new ones, but will fall back to
279 connecting normally if the control socket does not exist, or is
280 not listening.
281
282 Setting this to ask will cause ssh(1) to listen for control
283 connections, but require confirmation using ssh-askpass(1). If
284 the ControlPath cannot be opened, ssh(1) will continue without
285 connecting to a master instance.
286
287 X11 and ssh-agent(1) forwarding is supported over these
288 multiplexed connections, however the display and agent forwarded
289 will be the one belonging to the master connection i.e. it is not
290 possible to forward multiple displays or agents.
291
292 Two additional options allow for opportunistic multiplexing: try
293 to use a master connection but fall back to creating a new one if
294 one does not already exist. These options are: auto and autoask.
295 The latter requires confirmation like the ask option.
296
297 ControlPath
298 Specify the path to the control socket used for connection
299 sharing as described in the ControlMaster section above or the
300 string none to disable connection sharing. Arguments to
301 ControlPath may use the tilde syntax to refer to a user's home
302 directory, the tokens described in the TOKENS section and
303 environment variables as described in the ENVIRONMENT VARIABLES
304 section. It is recommended that any ControlPath used for
305 opportunistic connection sharing include at least %h, %p, and %r
306 (or alternatively %C) and be placed in a directory that is not
307 writable by other users. This ensures that shared connections
308 are uniquely identified.
309
310 ControlPersist
311 When used in conjunction with ControlMaster, specifies that the
312 master connection should remain open in the background (waiting
313 for future client connections) after the initial client
314 connection has been closed. If set to no (the default), then the
315 master connection will not be placed into the background, and
316 will close as soon as the initial client connection is closed.
317 If set to yes or 0, then the master connection will remain in the
318 background indefinitely (until killed or closed via a mechanism
319 such as the "ssh -O exit"). If set to a time in seconds, or a
320 time in any of the formats documented in sshd_config(5), then the
321 backgrounded master connection will automatically terminate after
322 it has remained idle (with no client connections) for the
323 specified time.
324
325 DynamicForward
326 Specifies that a TCP port on the local machine be forwarded over
327 the secure channel, and the application protocol is then used to
328 determine where to connect to from the remote machine.
329
330 The argument must be [bind_address:]port. IPv6 addresses can be
331 specified by enclosing addresses in square brackets. By default,
332 the local port is bound in accordance with the GatewayPorts
333 setting. However, an explicit bind_address may be used to bind
334 the connection to a specific address. The bind_address of
335 localhost indicates that the listening port be bound for local
336 use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port
337 should be available from all interfaces.
338
339 Currently the SOCKS4 and SOCKS5 protocols are supported, and
340 ssh(1) will act as a SOCKS server. Multiple forwardings may be
341 specified, and additional forwardings can be given on the command
342 line. Only the superuser can forward privileged ports.
343
344 EnableSSHKeysign
345 Setting this option to yes in the global client configuration
346 file /etc/ssh/ssh_config enables the use of the helper program
347 ssh-keysign(8) during HostbasedAuthentication. The argument must
348 be yes or no (the default). This option should be placed in the
349 non-hostspecific section. See ssh-keysign(8) for more
350 information.
351
352 EscapeChar
353 Sets the escape character (default: M-bM-^@M-^X~M-bM-^@M-^Y). The escape character
354 can also be set on the command line. The argument should be a
355 single character, M-bM-^@M-^X^M-bM-^@M-^Y followed by a letter, or none to disable
356 the escape character entirely (making the connection transparent
357 for binary data).
358
359 ExitOnForwardFailure
360 Specifies whether ssh(1) should terminate the connection if it
361 cannot set up all requested dynamic, tunnel, local, and remote
362 port forwardings, (e.g. if either end is unable to bind and
363 listen on a specified port). Note that ExitOnForwardFailure does
364 not apply to connections made over port forwardings and will not,
365 for example, cause ssh(1) to exit if TCP connections to the
366 ultimate forwarding destination fail. The argument must be yes
367 or no (the default).
368
369 FingerprintHash
370 Specifies the hash algorithm used when displaying key
371 fingerprints. Valid options are: md5 and sha256 (the default).
372
373 ForwardAgent
374 Specifies whether the connection to the authentication agent (if
375 any) will be forwarded to the remote machine. The argument may
376 be yes, no (the default), an explicit path to an agent socket or
377 the name of an environment variable (beginning with M-bM-^@M-^X$M-bM-^@M-^Y) in which
378 to find the path.
379
380 Agent forwarding should be enabled with caution. Users with the
381 ability to bypass file permissions on the remote host (for the
382 agent's Unix-domain socket) can access the local agent through
383 the forwarded connection. An attacker cannot obtain key material
384 from the agent, however they can perform operations on the keys
385 that enable them to authenticate using the identities loaded into
386 the agent.
387
388 ForwardX11
389 Specifies whether X11 connections will be automatically
390 redirected over the secure channel and DISPLAY set. The argument
391 must be yes or no (the default).
392
393 X11 forwarding should be enabled with caution. Users with the
394 ability to bypass file permissions on the remote host (for the
395 user's X11 authorization database) can access the local X11
396 display through the forwarded connection. An attacker may then
397 be able to perform activities such as keystroke monitoring if the
398 ForwardX11Trusted option is also enabled.
399
400 ForwardX11Timeout
401 Specify a timeout for untrusted X11 forwarding using the format
402 described in the TIME FORMATS section of sshd_config(5). X11
403 connections received by ssh(1) after this time will be refused.
404 Setting ForwardX11Timeout to zero will disable the timeout and
405 permit X11 forwarding for the life of the connection. The
406 default is to disable untrusted X11 forwarding after twenty
407 minutes has elapsed.
408
409 ForwardX11Trusted
410 If this option is set to yes, remote X11 clients will have full
411 access to the original X11 display.
412
413 If this option is set to no (the default), remote X11 clients
414 will be considered untrusted and prevented from stealing or
415 tampering with data belonging to trusted X11 clients.
416 Furthermore, the xauth(1) token used for the session will be set
417 to expire after 20 minutes. Remote clients will be refused
418 access after this time.
419
420 See the X11 SECURITY extension specification for full details on
421 the restrictions imposed on untrusted clients.
422
423 GatewayPorts
424 Specifies whether remote hosts are allowed to connect to local
425 forwarded ports. By default, ssh(1) binds local port forwardings
426 to the loopback address. This prevents other remote hosts from
427 connecting to forwarded ports. GatewayPorts can be used to
428 specify that ssh should bind local port forwardings to the
429 wildcard address, thus allowing remote hosts to connect to
430 forwarded ports. The argument must be yes or no (the default).
431
432 GlobalKnownHostsFile
433 Specifies one or more files to use for the global host key
434 database, separated by whitespace. The default is
435 /etc/ssh/ssh_known_hosts, /etc/ssh/ssh_known_hosts2.
436
437 GSSAPIAuthentication
438 Specifies whether user authentication based on GSSAPI is allowed.
439 The default is no.
440
441 GSSAPIDelegateCredentials
442 Forward (delegate) credentials to the server. The default is no.
443
444 HashKnownHosts
445 Indicates that ssh(1) should hash host names and addresses when
446 they are added to ~/.ssh/known_hosts. These hashed names may be
447 used normally by ssh(1) and sshd(8), but they do not visually
448 reveal identifying information if the file's contents are
449 disclosed. The default is no. Note that existing names and
450 addresses in known hosts files will not be converted
451 automatically, but may be manually hashed using ssh-keygen(1).
452
453 HostbasedAuthentication
454 Specifies whether to try rhosts based authentication with public
455 key authentication. The argument must be yes or no (the
456 default).
457
458 HostbasedKeyTypes
459 Specifies the key types that will be used for hostbased
460 authentication as a comma-separated list of patterns.
461 Alternately if the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
462 then the specified key types will be appended to the default set
463 instead of replacing them. If the specified list begins with a
464 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
465 will be removed from the default set instead of replacing them.
466 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
467 specified key types will be placed at the head of the default
468 set. The default for this option is:
469
470 ecdsa-sha2-nistp256-cert-v01@openssh.com,
471 ecdsa-sha2-nistp384-cert-v01@openssh.com,
472 ecdsa-sha2-nistp521-cert-v01@openssh.com,
473 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
474 ssh-ed25519-cert-v01@openssh.com,
475 sk-ssh-ed25519-cert-v01@openssh.com,
476 rsa-sha2-512-cert-v01@openssh.com,
477 rsa-sha2-256-cert-v01@openssh.com,
478 ssh-rsa-cert-v01@openssh.com,
479 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
480 sk-ecdsa-sha2-nistp256@openssh.com,
481 ssh-ed25519,sk-ssh-ed25519@openssh.com,
482 rsa-sha2-512,rsa-sha2-256,ssh-rsa
483
484 The -Q option of ssh(1) may be used to list supported key types.
485
486 HostKeyAlgorithms
487 Specifies the host key algorithms that the client wants to use in
488 order of preference. Alternately if the specified list begins
489 with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified key types will be
490 appended to the default set instead of replacing them. If the
491 specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified
492 key types (including wildcards) will be removed from the default
493 set instead of replacing them. If the specified list begins with
494 a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified key types will be placed at
495 the head of the default set. The default for this option is:
496
497 ecdsa-sha2-nistp256-cert-v01@openssh.com,
498 ecdsa-sha2-nistp384-cert-v01@openssh.com,
499 ecdsa-sha2-nistp521-cert-v01@openssh.com,
500 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
501 ssh-ed25519-cert-v01@openssh.com,
502 sk-ssh-ed25519-cert-v01@openssh.com,
503 rsa-sha2-512-cert-v01@openssh.com,
504 rsa-sha2-256-cert-v01@openssh.com,
505 ssh-rsa-cert-v01@openssh.com,
506 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
507 sk-ecdsa-sha2-nistp256@openssh.com,
508 ssh-ed25519,sk-ssh-ed25519@openssh.com,
509 rsa-sha2-512,rsa-sha2-256,ssh-rsa
510
511 If hostkeys are known for the destination host then this default
512 is modified to prefer their algorithms.
513
514 The list of available key types may also be obtained using "ssh
515 -Q HostKeyAlgorithms".
516
517 HostKeyAlias
518 Specifies an alias that should be used instead of the real host
519 name when looking up or saving the host key in the host key
520 database files and when validating host certificates. This
521 option is useful for tunneling SSH connections or for multiple
522 servers running on a single host.
523
524 Hostname
525 Specifies the real host name to log into. This can be used to
526 specify nicknames or abbreviations for hosts. Arguments to
527 Hostname accept the tokens described in the TOKENS section.
528 Numeric IP addresses are also permitted (both on the command line
529 and in Hostname specifications). The default is the name given
530 on the command line.
531
532 IdentitiesOnly
533 Specifies that ssh(1) should only use the configured
534 authentication identity and certificate files (either the default
535 files, or those explicitly configured in the ssh_config files or
536 passed on the ssh(1) command-line), even if ssh-agent(1) or a
537 PKCS11Provider or SecurityKeyProvider offers more identities.
538 The argument to this keyword must be yes or no (the default).
539 This option is intended for situations where ssh-agent offers
540 many different identities.
541
542 IdentityAgent
543 Specifies the UNIX-domain socket used to communicate with the
544 authentication agent.
545
546 This option overrides the SSH_AUTH_SOCK environment variable and
547 can be used to select a specific agent. Setting the socket name
548 to none disables the use of an authentication agent. If the
549 string "SSH_AUTH_SOCK" is specified, the location of the socket
550 will be read from the SSH_AUTH_SOCK environment variable.
551 Otherwise if the specified value begins with a M-bM-^@M-^X$M-bM-^@M-^Y character,
552 then it will be treated as an environment variable containing the
553 location of the socket.
554
555 Arguments to IdentityAgent may use the tilde syntax to refer to a
556 user's home directory, the tokens described in the TOKENS section
557 and environment variables as described in the ENVIRONMENT
558 VARIABLES section.
559
560 IdentityFile
561 Specifies a file from which the user's DSA, ECDSA, authenticator-
562 hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA
563 authentication identity is read. The default is ~/.ssh/id_dsa,
564 ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk, ~/.ssh/id_ed25519,
565 ~/.ssh/id_ed25519_sk and ~/.ssh/id_rsa. Additionally, any
566 identities represented by the authentication agent will be used
567 for authentication unless IdentitiesOnly is set. If no
568 certificates have been explicitly specified by CertificateFile,
569 ssh(1) will try to load certificate information from the filename
570 obtained by appending -cert.pub to the path of a specified
571 IdentityFile.
572
573 Arguments to IdentityFile may use the tilde syntax to refer to a
574 user's home directory or the tokens described in the TOKENS
575 section.
576
577 It is possible to have multiple identity files specified in
578 configuration files; all these identities will be tried in
579 sequence. Multiple IdentityFile directives will add to the list
580 of identities tried (this behaviour differs from that of other
581 configuration directives).
582
583 IdentityFile may be used in conjunction with IdentitiesOnly to
584 select which identities in an agent are offered during
585 authentication. IdentityFile may also be used in conjunction
586 with CertificateFile in order to provide any certificate also
587 needed for authentication with the identity.
588
589 IgnoreUnknown
590 Specifies a pattern-list of unknown options to be ignored if they
591 are encountered in configuration parsing. This may be used to
592 suppress errors if ssh_config contains options that are
593 unrecognised by ssh(1). It is recommended that IgnoreUnknown be
594 listed early in the configuration file as it will not be applied
595 to unknown options that appear before it.
596
597 Include
598 Include the specified configuration file(s). Multiple pathnames
599 may be specified and each pathname may contain glob(7) wildcards
600 and, for user configurations, shell-like M-bM-^@M-^X~M-bM-^@M-^Y references to user
601 home directories. Wildcards will be expanded and processed in
602 lexical order. Files without absolute paths are assumed to be in
603 ~/.ssh if included in a user configuration file or /etc/ssh if
604 included from the system configuration file. Include directive
605 may appear inside a Match or Host block to perform conditional
606 inclusion.
607
608 IPQoS Specifies the IPv4 type-of-service or DSCP class for connections.
609 Accepted values are af11, af12, af13, af21, af22, af23, af31,
610 af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3, cs4, cs5, cs6,
611 cs7, ef, le, lowdelay, throughput, reliability, a numeric value,
612 or none to use the operating system default. This option may
613 take one or two arguments, separated by whitespace. If one
614 argument is specified, it is used as the packet class
615 unconditionally. If two values are specified, the first is
616 automatically selected for interactive sessions and the second
617 for non-interactive sessions. The default is af21 (Low-Latency
618 Data) for interactive sessions and cs1 (Lower Effort) for non-
619 interactive sessions.
620
621 KbdInteractiveAuthentication
622 Specifies whether to use keyboard-interactive authentication.
623 The argument to this keyword must be yes (the default) or no.
624
625 KbdInteractiveDevices
626 Specifies the list of methods to use in keyboard-interactive
627 authentication. Multiple method names must be comma-separated.
628 The default is to use the server specified list. The methods
629 available vary depending on what the server supports. For an
630 OpenSSH server, it may be zero or more of: bsdauth and pam.
631
632 KexAlgorithms
633 Specifies the available KEX (Key Exchange) algorithms. Multiple
634 algorithms must be comma-separated. If the specified list begins
635 with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified methods will be appended
636 to the default set instead of replacing them. If the specified
637 list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified methods
638 (including wildcards) will be removed from the default set
639 instead of replacing them. If the specified list begins with a
640 M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified methods will be placed at the
641 head of the default set. The default is:
642
643 curve25519-sha256,curve25519-sha256@libssh.org,
644 ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
645 diffie-hellman-group-exchange-sha256,
646 diffie-hellman-group16-sha512,
647 diffie-hellman-group18-sha512,
648 diffie-hellman-group14-sha256
649
650 The list of available key exchange algorithms may also be
651 obtained using "ssh -Q kex".
652
653 LocalCommand
654 Specifies a command to execute on the local machine after
655 successfully connecting to the server. The command string
656 extends to the end of the line, and is executed with the user's
657 shell. Arguments to LocalCommand accept the tokens described in
658 the TOKENS section.
659
660 The command is run synchronously and does not have access to the
661 session of the ssh(1) that spawned it. It should not be used for
662 interactive commands.
663
664 This directive is ignored unless PermitLocalCommand has been
665 enabled.
666
667 LocalForward
668 Specifies that a TCP port on the local machine be forwarded over
669 the secure channel to the specified host and port from the remote
670 machine. The first argument specifies the listener and may be
671 [bind_address:]port or a Unix domain socket path. The second
672 argument is the destination and may be host:hostport or a Unix
673 domain socket path if the remote host supports it.
674
675 IPv6 addresses can be specified by enclosing addresses in square
676 brackets. Multiple forwardings may be specified, and additional
677 forwardings can be given on the command line. Only the superuser
678 can forward privileged ports. By default, the local port is
679 bound in accordance with the GatewayPorts setting. However, an
680 explicit bind_address may be used to bind the connection to a
681 specific address. The bind_address of localhost indicates that
682 the listening port be bound for local use only, while an empty
683 address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from
684 all interfaces. Unix domain socket paths may use the tokens
685 described in the TOKENS section and environment variables as
686 described in the ENVIRONMENT VARIABLES section.
687
688 LogLevel
689 Gives the verbosity level that is used when logging messages from
690 ssh(1). The possible values are: QUIET, FATAL, ERROR, INFO,
691 VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
692 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
693 higher levels of verbose output.
694
695 MACs Specifies the MAC (message authentication code) algorithms in
696 order of preference. The MAC algorithm is used for data
697 integrity protection. Multiple algorithms must be comma-
698 separated. If the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
699 then the specified algorithms will be appended to the default set
700 instead of replacing them. If the specified list begins with a
701 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified algorithms (including
702 wildcards) will be removed from the default set instead of
703 replacing them. If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y
704 character, then the specified algorithms will be placed at the
705 head of the default set.
706
707 The algorithms that contain "-etm" calculate the MAC after
708 encryption (encrypt-then-mac). These are considered safer and
709 their use recommended.
710
711 The default is:
712
713 umac-64-etm@openssh.com,umac-128-etm@openssh.com,
714 hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
715 hmac-sha1-etm@openssh.com,
716 umac-64@openssh.com,umac-128@openssh.com,
717 hmac-sha2-256,hmac-sha2-512,hmac-sha1
718
719 The list of available MAC algorithms may also be obtained using
720 "ssh -Q mac".
721
722 NoHostAuthenticationForLocalhost
723 Disable host authentication for localhost (loopback addresses).
724 The argument to this keyword must be yes or no (the default).
725
726 NumberOfPasswordPrompts
727 Specifies the number of password prompts before giving up. The
728 argument to this keyword must be an integer. The default is 3.
729
730 PasswordAuthentication
731 Specifies whether to use password authentication. The argument
732 to this keyword must be yes (the default) or no.
733
734 PermitLocalCommand
735 Allow local command execution via the LocalCommand option or
736 using the !command escape sequence in ssh(1). The argument must
737 be yes or no (the default).
738
739 PKCS11Provider
740 Specifies which PKCS#11 provider to use or none to indicate that
741 no provider should be used (the default). The argument to this
742 keyword is a path to the PKCS#11 shared library ssh(1) should use
743 to communicate with a PKCS#11 token providing keys for user
744 authentication.
745
746 Port Specifies the port number to connect on the remote host. The
747 default is 22.
748
749 PreferredAuthentications
750 Specifies the order in which the client should try authentication
751 methods. This allows a client to prefer one method (e.g.
752 keyboard-interactive) over another method (e.g. password). The
753 default is:
754
755 gssapi-with-mic,hostbased,publickey,
756 keyboard-interactive,password
757
758 ProxyCommand
759 Specifies the command to use to connect to the server. The
760 command string extends to the end of the line, and is executed
761 using the user's shell M-bM-^@M-^XexecM-bM-^@M-^Y directive to avoid a lingering
762 shell process.
763
764 Arguments to ProxyCommand accept the tokens described in the
765 TOKENS section. The command can be basically anything, and
766 should read from its standard input and write to its standard
767 output. It should eventually connect an sshd(8) server running
768 on some machine, or execute sshd -i somewhere. Host key
769 management will be done using the Hostname of the host being
770 connected (defaulting to the name typed by the user). Setting
771 the command to none disables this option entirely. Note that
772 CheckHostIP is not available for connects with a proxy command.
773
774 This directive is useful in conjunction with nc(1) and its proxy
775 support. For example, the following directive would connect via
776 an HTTP proxy at 192.0.2.0:
777
778 ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
779
780 ProxyJump
781 Specifies one or more jump proxies as either [user@]host[:port]
782 or an ssh URI. Multiple proxies may be separated by comma
783 characters and will be visited sequentially. Setting this option
784 will cause ssh(1) to connect to the target host by first making a
785 ssh(1) connection to the specified ProxyJump host and then
786 establishing a TCP forwarding to the ultimate target from there.
787
788 Note that this option will compete with the ProxyCommand option -
789 whichever is specified first will prevent later instances of the
790 other from taking effect.
791
792 Note also that the configuration for the destination host (either
793 supplied via the command-line or the configuration file) is not
794 generally applied to jump hosts. ~/.ssh/config should be used if
795 specific configuration is required for jump hosts.
796
797 ProxyUseFdpass
798 Specifies that ProxyCommand will pass a connected file descriptor
799 back to ssh(1) instead of continuing to execute and pass data.
800 The default is no.
801
802 PubkeyAcceptedKeyTypes
803 Specifies the key types that will be used for public key
804 authentication as a comma-separated list of patterns. If the
805 specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the key types
806 after it will be appended to the default instead of replacing it.
807 If the specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the
808 specified key types (including wildcards) will be removed from
809 the default set instead of replacing them. If the specified list
810 begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified key types will be
811 placed at the head of the default set. The default for this
812 option is:
813
814 ecdsa-sha2-nistp256-cert-v01@openssh.com,
815 ecdsa-sha2-nistp384-cert-v01@openssh.com,
816 ecdsa-sha2-nistp521-cert-v01@openssh.com,
817 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
818 ssh-ed25519-cert-v01@openssh.com,
819 sk-ssh-ed25519-cert-v01@openssh.com,
820 rsa-sha2-512-cert-v01@openssh.com,
821 rsa-sha2-256-cert-v01@openssh.com,
822 ssh-rsa-cert-v01@openssh.com,
823 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
824 sk-ecdsa-sha2-nistp256@openssh.com,
825 ssh-ed25519,sk-ssh-ed25519@openssh.com,
826 rsa-sha2-512,rsa-sha2-256,ssh-rsa
827
828 The list of available key types may also be obtained using "ssh
829 -Q PubkeyAcceptedKeyTypes".
830
831 PubkeyAuthentication
832 Specifies whether to try public key authentication. The argument
833 to this keyword must be yes (the default) or no.
834
835 RekeyLimit
836 Specifies the maximum amount of data that may be transmitted
837 before the session key is renegotiated, optionally followed a
838 maximum amount of time that may pass before the session key is
839 renegotiated. The first argument is specified in bytes and may
840 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,
841 Megabytes, or Gigabytes, respectively. The default is between
842 M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second
843 value is specified in seconds and may use any of the units
844 documented in the TIME FORMATS section of sshd_config(5). The
845 default value for RekeyLimit is default none, which means that
846 rekeying is performed after the cipher's default amount of data
847 has been sent or received and no time based rekeying is done.
848
849 RemoteCommand
850 Specifies a command to execute on the remote machine after
851 successfully connecting to the server. The command string
852 extends to the end of the line, and is executed with the user's
853 shell. Arguments to RemoteCommand accept the tokens described in
854 the TOKENS section.
855
856 RemoteForward
857 Specifies that a TCP port on the remote machine be forwarded over
858 the secure channel. The remote port may either be forwarded to a
859 specified host and port from the local machine, or may act as a
860 SOCKS 4/5 proxy that allows a remote client to connect to
861 arbitrary destinations from the local machine. The first
862 argument is the listening specification and may be
863 [bind_address:]port or, if the remote host supports it, a Unix
864 domain socket path. If forwarding to a specific destination then
865 the second argument must be host:hostport or a Unix domain socket
866 path, otherwise if no destination argument is specified then the
867 remote forwarding will be established as a SOCKS proxy.
868
869 IPv6 addresses can be specified by enclosing addresses in square
870 brackets. Multiple forwardings may be specified, and additional
871 forwardings can be given on the command line. Privileged ports
872 can be forwarded only when logging in as root on the remote
873 machine. Unix domain socket paths may use the tokens described
874 in the TOKENS section and environment variables as described in
875 the ENVIRONMENT VARIABLES section.
876
877 If the port argument is 0, the listen port will be dynamically
878 allocated on the server and reported to the client at run time.
879
880 If the bind_address is not specified, the default is to only bind
881 to loopback addresses. If the bind_address is M-bM-^@M-^X*M-bM-^@M-^Y or an empty
882 string, then the forwarding is requested to listen on all
883 interfaces. Specifying a remote bind_address will only succeed
884 if the server's GatewayPorts option is enabled (see
885 sshd_config(5)).
886
887 RequestTTY
888 Specifies whether to request a pseudo-tty for the session. The
889 argument may be one of: no (never request a TTY), yes (always
890 request a TTY when standard input is a TTY), force (always
891 request a TTY) or auto (request a TTY when opening a login
892 session). This option mirrors the -t and -T flags for ssh(1).
893
894 RevokedHostKeys
895 Specifies revoked host public keys. Keys listed in this file
896 will be refused for host authentication. Note that if this file
897 does not exist or is not readable, then host authentication will
898 be refused for all hosts. Keys may be specified as a text file,
899 listing one public key per line, or as an OpenSSH Key Revocation
900 List (KRL) as generated by ssh-keygen(1). For more information
901 on KRLs, see the KEY REVOCATION LISTS section in ssh-keygen(1).
902
903 SecurityKeyProvider
904 Specifies a path to a library that will be used when loading any
905 FIDO authenticator-hosted keys, overriding the default of using
906 the built-in USB HID support.
907
908 If the specified value begins with a M-bM-^@M-^X$M-bM-^@M-^Y character, then it will
909 be treated as an environment variable containing the path to the
910 library.
911
912 SendEnv
913 Specifies what variables from the local environ(7) should be sent
914 to the server. The server must also support it, and the server
915 must be configured to accept these environment variables. Note
916 that the TERM environment variable is always sent whenever a
917 pseudo-terminal is requested as it is required by the protocol.
918 Refer to AcceptEnv in sshd_config(5) for how to configure the
919 server. Variables are specified by name, which may contain
920 wildcard characters. Multiple environment variables may be
921 separated by whitespace or spread across multiple SendEnv
922 directives.
923
924 See PATTERNS for more information on patterns.
925
926 It is possible to clear previously set SendEnv variable names by
927 prefixing patterns with -. The default is not to send any
928 environment variables.
929
930 ServerAliveCountMax
931 Sets the number of server alive messages (see below) which may be
932 sent without ssh(1) receiving any messages back from the server.
933 If this threshold is reached while server alive messages are
934 being sent, ssh will disconnect from the server, terminating the
935 session. It is important to note that the use of server alive
936 messages is very different from TCPKeepAlive (below). The server
937 alive messages are sent through the encrypted channel and
938 therefore will not be spoofable. The TCP keepalive option
939 enabled by TCPKeepAlive is spoofable. The server alive mechanism
940 is valuable when the client or server depend on knowing when a
941 connection has become unresponsive.
942
943 The default value is 3. If, for example, ServerAliveInterval
944 (see below) is set to 15 and ServerAliveCountMax is left at the
945 default, if the server becomes unresponsive, ssh will disconnect
946 after approximately 45 seconds.
947
948 ServerAliveInterval
949 Sets a timeout interval in seconds after which if no data has
950 been received from the server, ssh(1) will send a message through
951 the encrypted channel to request a response from the server. The
952 default is 0, indicating that these messages will not be sent to
953 the server.
954
955 SetEnv Directly specify one or more environment variables and their
956 contents to be sent to the server. Similarly to SendEnv, the
957 server must be prepared to accept the environment variable.
958
959 StreamLocalBindMask
960 Sets the octal file creation mode mask (umask) used when creating
961 a Unix-domain socket file for local or remote port forwarding.
962 This option is only used for port forwarding to a Unix-domain
963 socket file.
964
965 The default value is 0177, which creates a Unix-domain socket
966 file that is readable and writable only by the owner. Note that
967 not all operating systems honor the file mode on Unix-domain
968 socket files.
969
970 StreamLocalBindUnlink
971 Specifies whether to remove an existing Unix-domain socket file
972 for local or remote port forwarding before creating a new one.
973 If the socket file already exists and StreamLocalBindUnlink is
974 not enabled, ssh will be unable to forward the port to the Unix-
975 domain socket file. This option is only used for port forwarding
976 to a Unix-domain socket file.
977
978 The argument must be yes or no (the default).
979
980 StrictHostKeyChecking
981 If this flag is set to yes, ssh(1) will never automatically add
982 host keys to the ~/.ssh/known_hosts file, and refuses to connect
983 to hosts whose host key has changed. This provides maximum
984 protection against man-in-the-middle (MITM) attacks, though it
985 can be annoying when the /etc/ssh/ssh_known_hosts file is poorly
986 maintained or when connections to new hosts are frequently made.
987 This option forces the user to manually add all new hosts.
988
989 If this flag is set to M-bM-^@M-^\accept-newM-bM-^@M-^] then ssh will automatically
990 add new host keys to the user known hosts files, but will not
991 permit connections to hosts with changed host keys. If this flag
992 is set to M-bM-^@M-^\noM-bM-^@M-^] or M-bM-^@M-^\offM-bM-^@M-^], ssh will automatically add new host keys
993 to the user known hosts files and allow connections to hosts with
994 changed hostkeys to proceed, subject to some restrictions. If
995 this flag is set to ask (the default), new host keys will be
996 added to the user known host files only after the user has
997 confirmed that is what they really want to do, and ssh will
998 refuse to connect to hosts whose host key has changed. The host
999 keys of known hosts will be verified automatically in all cases.
1000
1001 SyslogFacility
1002 Gives the facility code that is used when logging messages from
1003 ssh(1). The possible values are: DAEMON, USER, AUTH, LOCAL0,
1004 LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The
1005 default is USER.
1006
1007 TCPKeepAlive
1008 Specifies whether the system should send TCP keepalive messages
1009 to the other side. If they are sent, death of the connection or
1010 crash of one of the machines will be properly noticed. However,
1011 this means that connections will die if the route is down
1012 temporarily, and some people find it annoying.
1013
1014 The default is yes (to send TCP keepalive messages), and the
1015 client will notice if the network goes down or the remote host
1016 dies. This is important in scripts, and many users want it too.
1017
1018 To disable TCP keepalive messages, the value should be set to no.
1019 See also ServerAliveInterval for protocol-level keepalives.
1020
1021 Tunnel Request tun(4) device forwarding between the client and the
1022 server. The argument must be yes, point-to-point (layer 3),
1023 ethernet (layer 2), or no (the default). Specifying yes requests
1024 the default tunnel mode, which is point-to-point.
1025
1026 TunnelDevice
1027 Specifies the tun(4) devices to open on the client (local_tun)
1028 and the server (remote_tun).
1029
1030 The argument must be local_tun[:remote_tun]. The devices may be
1031 specified by numerical ID or the keyword any, which uses the next
1032 available tunnel device. If remote_tun is not specified, it
1033 defaults to any. The default is any:any.
1034
1035 UpdateHostKeys
1036 Specifies whether ssh(1) should accept notifications of
1037 additional hostkeys from the server sent after authentication has
1038 completed and add them to UserKnownHostsFile. The argument must
1039 be yes, no or ask. This option allows learning alternate
1040 hostkeys for a server and supports graceful key rotation by
1041 allowing a server to send replacement public keys before old ones
1042 are removed. Additional hostkeys are only accepted if the key
1043 used to authenticate the host was already trusted or explicitly
1044 accepted by the user.
1045
1046 UpdateHostKeys is enabled by default if the user has not
1047 overridden the default UserKnownHostsFile setting, otherwise
1048 UpdateHostKeys will be set to ask.
1049
1050 If UpdateHostKeys is set to ask, then the user is asked to
1051 confirm the modifications to the known_hosts file. Confirmation
1052 is currently incompatible with ControlPersist, and will be
1053 disabled if it is enabled.
1054
1055 Presently, only sshd(8) from OpenSSH 6.8 and greater support the
1056 "hostkeys@openssh.com" protocol extension used to inform the
1057 client of all the server's hostkeys.
1058
1059 User Specifies the user to log in as. This can be useful when a
1060 different user name is used on different machines. This saves
1061 the trouble of having to remember to give the user name on the
1062 command line.
1063
1064 UserKnownHostsFile
1065 Specifies one or more files to use for the user host key
1066 database, separated by whitespace. Each filename may use tilde
1067 notation to refer to the user's home directory, the tokens
1068 described in the TOKENS section and environment variables as
1069 described in the ENVIRONMENT VARIABLES section. The default is
1070 ~/.ssh/known_hosts, ~/.ssh/known_hosts2.
1071
1072 VerifyHostKeyDNS
1073 Specifies whether to verify the remote key using DNS and SSHFP
1074 resource records. If this option is set to yes, the client will
1075 implicitly trust keys that match a secure fingerprint from DNS.
1076 Insecure fingerprints will be handled as if this option was set
1077 to ask. If this option is set to ask, information on fingerprint
1078 match will be displayed, but the user will still need to confirm
1079 new host keys according to the StrictHostKeyChecking option. The
1080 default is no.
1081
1082 See also VERIFYING HOST KEYS in ssh(1).
1083
1084 VisualHostKey
1085 If this flag is set to yes, an ASCII art representation of the
1086 remote host key fingerprint is printed in addition to the
1087 fingerprint string at login and for unknown host keys. If this
1088 flag is set to no (the default), no fingerprint strings are
1089 printed at login and only the fingerprint string will be printed
1090 for unknown host keys.
1091
1092 XAuthLocation
1093 Specifies the full pathname of the xauth(1) program. The default
1094 is /usr/X11R6/bin/xauth.
1095
1096PATTERNS
1097 A pattern consists of zero or more non-whitespace characters, M-bM-^@M-^X*M-bM-^@M-^Y (a
1098 wildcard that matches zero or more characters), or M-bM-^@M-^X?M-bM-^@M-^Y (a wildcard that
1099 matches exactly one character). For example, to specify a set of
1100 declarations for any host in the ".co.uk" set of domains, the following
1101 pattern could be used:
1102
1103 Host *.co.uk
1104
1105 The following pattern would match any host in the 192.168.0.[0-9] network
1106 range:
1107
1108 Host 192.168.0.?
1109
1110 A pattern-list is a comma-separated list of patterns. Patterns within
1111 pattern-lists may be negated by preceding them with an exclamation mark
1112 (M-bM-^@M-^X!M-bM-^@M-^Y). For example, to allow a key to be used from anywhere within an
1113 organization except from the "dialup" pool, the following entry (in
1114 authorized_keys) could be used:
1115
1116 from="!*.dialup.example.com,*.example.com"
1117
1118 Note that a negated match will never produce a positive result by itself.
1119 For example, attempting to match "host3" against the following pattern-
1120 list will fail:
1121
1122 from="!host1,!host2"
1123
1124 The solution here is to include a term that will yield a positive match,
1125 such as a wildcard:
1126
1127 from="!host1,!host2,*"
1128
1129TOKENS
1130 Arguments to some keywords can make use of tokens, which are expanded at
1131 runtime:
1132
1133 %% A literal M-bM-^@M-^X%M-bM-^@M-^Y.
1134 %C Hash of %l%h%p%r.
1135 %d Local user's home directory.
1136 %h The remote hostname.
1137 %i The local user ID.
1138 %k The host key alias if specified, otherwise the orignal remote
1139 hostname given on the command line.
1140 %L The local hostname.
1141 %l The local hostname, including the domain name.
1142 %n The original remote hostname, as given on the command line.
1143 %p The remote port.
1144 %r The remote username.
1145 %T The local tun(4) or tap(4) network interface assigned if
1146 tunnel forwarding was requested, or "NONE" otherwise.
1147 %u The local username.
1148
1149 CertificateFile, ControlPath, IdentityAgent, IdentityFile, LocalForward,
1150 Match exec, RemoteCommand, RemoteForward, and UserKnownHostsFile accept
1151 the tokens %%, %C, %d, %h, %i, %L, %l, %n, %p, %r, and %u.
1152
1153 Hostname accepts the tokens %% and %h.
1154
1155 LocalCommand accepts all tokens.
1156
1157 ProxyCommand accepts the tokens %%, %h, %n, %p, and %r.
1158
1159ENVIRONMENT VARIABLES
1160 Arguments to some keywords can be expanded at runtime from environment
1161 variables on the client by enclosing them in ${}, for example
1162 ${HOME}/.ssh would refer to the user's .ssh directory. If a specified
1163 environment variable does not exist then an error will be returned and
1164 the setting for that keyword will be ignored.
1165
1166 The keywords CertificateFile, ControlPath, IdentityAgent, IdentityFile
1167 and UserKnownHostsFile support environment variables. The keywords
1168 LocalForward and RemoteForward support environment variables only for
1169 Unix domain socket paths.
1170
1171FILES
1172 ~/.ssh/config
1173 This is the per-user configuration file. The format of this file
1174 is described above. This file is used by the SSH client.
1175 Because of the potential for abuse, this file must have strict
1176 permissions: read/write for the user, and not writable by others.
1177
1178 /etc/ssh/ssh_config
1179 Systemwide configuration file. This file provides defaults for
1180 those values that are not specified in the user's configuration
1181 file, and for those users who do not have a configuration file.
1182 This file must be world-readable.
1183
1184SEE ALSO
1185 ssh(1)
1186
1187AUTHORS
1188 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1189 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1190 de Raadt and Dug Song removed many bugs, re-added newer features and
1191 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1192 versions 1.5 and 2.0.
1193
1194OpenBSD 6.8 August 11, 2020 OpenBSD 6.8
diff --git a/sshd.0 b/sshd.0
new file mode 100644
index 000000000..e32e0082c
--- /dev/null
+++ b/sshd.0
@@ -0,0 +1,672 @@
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 verify-required
395 Require that signatures made using this key attest that they
396 verified the user, e.g. via a PIN. This option only makes sense
397 for the FIDO authenticator algorithms ecdsa-sk and ed25519-sk.
398
399 restrict
400 Enable all restrictions, i.e. disable port, agent and X11
401 forwarding, as well as disabling PTY allocation and execution of
402 ~/.ssh/rc. If any future restriction capabilities are added to
403 authorized_keys files they will be included in this set.
404
405 tunnel="n"
406 Force a tun(4) device on the server. Without this option, the
407 next available device will be used if the client requests a
408 tunnel.
409
410 user-rc
411 Enables execution of ~/.ssh/rc previously disabled by the
412 restrict option.
413
414 X11-forwarding
415 Permits X11 forwarding previously disabled by the restrict
416 option.
417
418 An example authorized_keys file:
419
420 # Comments allowed at start of line
421 ssh-rsa AAAAB3Nza...LiPk== user@example.net
422 from="*.sales.example.net,!pc.sales.example.net" ssh-rsa
423 AAAAB2...19Q== john@example.net
424 command="dump /home",no-pty,no-port-forwarding ssh-rsa
425 AAAAC3...51R== example.net
426 permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa
427 AAAAB5...21S==
428 permitlisten="localhost:8080",permitopen="localhost:22000" ssh-rsa
429 AAAAB5...21S==
430 tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAA...==
431 jane@example.net
432 restrict,command="uptime" ssh-rsa AAAA1C8...32Tv==
433 user@example.net
434 restrict,pty,command="nethack" ssh-rsa AAAA1f8...IrrC5==
435 user@example.net
436 no-touch-required sk-ecdsa-sha2-nistp256@openssh.com AAAAInN...Ko==
437 user@example.net
438
439SSH_KNOWN_HOSTS FILE FORMAT
440 The /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts files contain host
441 public keys for all known hosts. The global file should be prepared by
442 the administrator (optional), and the per-user file is maintained
443 automatically: whenever the user connects to an unknown host, its key is
444 added to the per-user file.
445
446 Each line in these files contains the following fields: markers
447 (optional), hostnames, keytype, base64-encoded key, comment. The fields
448 are separated by spaces.
449
450 The marker is optional, but if it is present then it must be one of
451 M-bM-^@M-^\@cert-authorityM-bM-^@M-^], to indicate that the line contains a certification
452 authority (CA) key, or M-bM-^@M-^\@revokedM-bM-^@M-^], to indicate that the key contained on
453 the line is revoked and must not ever be accepted. Only one marker
454 should be used on a key line.
455
456 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
457 wildcards); each pattern in turn is matched against the host name. When
458 sshd is authenticating a client, such as when using
459 HostbasedAuthentication, this will be the canonical client host name.
460 When ssh(1) is authenticating a server, this will be the host name given
461 by the user, the value of the ssh(1) HostkeyAlias if it was specified, or
462 the canonical server hostname if the ssh(1) CanonicalizeHostname option
463 was used.
464
465 A pattern may also be preceded by M-bM-^@M-^X!M-bM-^@M-^Y to indicate negation: if the host
466 name matches a negated pattern, it is not accepted (by that line) even if
467 it matched another pattern on the line. A hostname or address may
468 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
469 and a non-standard port number.
470
471 Alternately, hostnames may be stored in a hashed form which hides host
472 names and addresses should the file's contents be disclosed. Hashed
473 hostnames start with a M-bM-^@M-^X|M-bM-^@M-^Y character. Only one hashed hostname may
474 appear on a single line and none of the above negation or wildcard
475 operators may be applied.
476
477 The keytype and base64-encoded key are taken directly from the host key;
478 they can be obtained, for example, from /etc/ssh/ssh_host_rsa_key.pub.
479 The optional comment field continues to the end of the line, and is not
480 used.
481
482 Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are ignored as comments.
483
484 When performing host authentication, authentication is accepted if any
485 matching line has the proper key; either one that matches exactly or, if
486 the server has presented a certificate for authentication, the key of the
487 certification authority that signed the certificate. For a key to be
488 trusted as a certification authority, it must use the M-bM-^@M-^\@cert-authorityM-bM-^@M-^]
489 marker described above.
490
491 The known hosts file also provides a facility to mark keys as revoked,
492 for example when it is known that the associated private key has been
493 stolen. Revoked keys are specified by including the M-bM-^@M-^\@revokedM-bM-^@M-^] marker at
494 the beginning of the key line, and are never accepted for authentication
495 or as certification authorities, but instead will produce a warning from
496 ssh(1) when they are encountered.
497
498 It is permissible (but not recommended) to have several lines or
499 different host keys for the same names. This will inevitably happen when
500 short forms of host names from different domains are put in the file. It
501 is possible that the files contain conflicting information;
502 authentication is accepted if valid information can be found from either
503 file.
504
505 Note that the lines in these files are typically hundreds of characters
506 long, and you definitely don't want to type in the host keys by hand.
507 Rather, generate them by a script, ssh-keyscan(1) or by taking, for
508 example, /etc/ssh/ssh_host_rsa_key.pub and adding the host names at the
509 front. ssh-keygen(1) also offers some basic automated editing for
510 ~/.ssh/known_hosts including removing hosts matching a host name and
511 converting all host names to their hashed representations.
512
513 An example ssh_known_hosts file:
514
515 # Comments allowed at start of line
516 closenet,...,192.0.2.53 1024 37 159...93 closenet.example.net
517 cvs.example.net,192.0.2.10 ssh-rsa AAAA1234.....=
518 # A hashed hostname
519 |1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa
520 AAAA1234.....=
521 # A revoked key
522 @revoked * ssh-rsa AAAAB5W...
523 # A CA key, accepted for any host in *.mydomain.com or *.mydomain.org
524 @cert-authority *.mydomain.org,*.mydomain.com ssh-rsa AAAAB5W...
525
526FILES
527 ~/.hushlogin
528 This file is used to suppress printing the last login time and
529 /etc/motd, if PrintLastLog and PrintMotd, respectively, are
530 enabled. It does not suppress printing of the banner specified
531 by Banner.
532
533 ~/.rhosts
534 This file is used for host-based authentication (see ssh(1) for
535 more information). On some machines this file may need to be
536 world-readable if the user's home directory is on an NFS
537 partition, because sshd reads it as root. Additionally, this
538 file must be owned by the user, and must not have write
539 permissions for anyone else. The recommended permission for most
540 machines is read/write for the user, and not accessible by
541 others.
542
543 ~/.shosts
544 This file is used in exactly the same way as .rhosts, but allows
545 host-based authentication without permitting login with
546 rlogin/rsh.
547
548 ~/.ssh/
549 This directory is the default location for all user-specific
550 configuration and authentication information. There is no
551 general requirement to keep the entire contents of this directory
552 secret, but the recommended permissions are read/write/execute
553 for the user, and not accessible by others.
554
555 ~/.ssh/authorized_keys
556 Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
557 for logging in as this user. The format of this file is
558 described above. The content of the file is not highly
559 sensitive, but the recommended permissions are read/write for the
560 user, and not accessible by others.
561
562 If this file, the ~/.ssh directory, or the user's home directory
563 are writable by other users, then the file could be modified or
564 replaced by unauthorized users. In this case, sshd will not
565 allow it to be used unless the StrictModes option has been set to
566 M-bM-^@M-^\noM-bM-^@M-^].
567
568 ~/.ssh/environment
569 This file is read into the environment at login (if it exists).
570 It can only contain empty lines, comment lines (that start with
571 M-bM-^@M-^X#M-bM-^@M-^Y), and assignment lines of the form name=value. The file
572 should be writable only by the user; it need not be readable by
573 anyone else. Environment processing is disabled by default and
574 is controlled via the PermitUserEnvironment option.
575
576 ~/.ssh/known_hosts
577 Contains a list of host keys for all hosts the user has logged
578 into that are not already in the systemwide list of known host
579 keys. The format of this file is described above. This file
580 should be writable only by root/the owner and can, but need not
581 be, world-readable.
582
583 ~/.ssh/rc
584 Contains initialization routines to be run before the user's home
585 directory becomes accessible. This file should be writable only
586 by the user, and need not be readable by anyone else.
587
588 /etc/hosts.equiv
589 This file is for host-based authentication (see ssh(1)). It
590 should only be writable by root.
591
592 /etc/moduli
593 Contains Diffie-Hellman groups used for the "Diffie-Hellman Group
594 Exchange" key exchange method. The file format is described in
595 moduli(5). If no usable groups are found in this file then fixed
596 internal groups will be used.
597
598 /etc/motd
599 See motd(5).
600
601 /etc/nologin
602 If this file exists, sshd refuses to let anyone except root log
603 in. The contents of the file are displayed to anyone trying to
604 log in, and non-root connections are refused. The file should be
605 world-readable.
606
607 /etc/shosts.equiv
608 This file is used in exactly the same way as hosts.equiv, but
609 allows host-based authentication without permitting login with
610 rlogin/rsh.
611
612 /etc/ssh/ssh_host_ecdsa_key
613 /etc/ssh/ssh_host_ed25519_key
614 /etc/ssh/ssh_host_rsa_key
615 These files contain the private parts of the host keys. These
616 files should only be owned by root, readable only by root, and
617 not accessible to others. Note that sshd does not start if these
618 files are group/world-accessible.
619
620 /etc/ssh/ssh_host_ecdsa_key.pub
621 /etc/ssh/ssh_host_ed25519_key.pub
622 /etc/ssh/ssh_host_rsa_key.pub
623 These files contain the public parts of the host keys. These
624 files should be world-readable but writable only by root. Their
625 contents should match the respective private parts. These files
626 are not really used for anything; they are provided for the
627 convenience of the user so their contents can be copied to known
628 hosts files. These files are created using ssh-keygen(1).
629
630 /etc/ssh/ssh_known_hosts
631 Systemwide list of known host keys. This file should be prepared
632 by the system administrator to contain the public host keys of
633 all machines in the organization. The format of this file is
634 described above. This file should be writable only by root/the
635 owner and should be world-readable.
636
637 /etc/ssh/sshd_config
638 Contains configuration data for sshd. The file format and
639 configuration options are described in sshd_config(5).
640
641 /etc/ssh/sshrc
642 Similar to ~/.ssh/rc, it can be used to specify machine-specific
643 login-time initializations globally. This file should be
644 writable only by root, and should be world-readable.
645
646 /var/empty
647 chroot(2) directory used by sshd during privilege separation in
648 the pre-authentication phase. The directory should not contain
649 any files and must be owned by root and not group or world-
650 writable.
651
652 /var/run/sshd.pid
653 Contains the process ID of the sshd listening for connections (if
654 there are several daemons running concurrently for different
655 ports, this contains the process ID of the one started last).
656 The content of this file is not sensitive; it can be world-
657 readable.
658
659SEE ALSO
660 scp(1), sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1),
661 ssh-keyscan(1), chroot(2), login.conf(5), moduli(5), sshd_config(5),
662 inetd(8), sftp-server(8)
663
664AUTHORS
665 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
666 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
667 de Raadt and Dug Song removed many bugs, re-added newer features and
668 created OpenSSH. Markus Friedl contributed the support for SSH protocol
669 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
670 for privilege separation.
671
672OpenBSD 6.8 August 27, 2020 OpenBSD 6.8
diff --git a/sshd_config.0 b/sshd_config.0
new file mode 100644
index 000000000..8132c3f15
--- /dev/null
+++ b/sshd_config.0
@@ -0,0 +1,1153 @@
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 that will be expanded and processed in lexical order. Files
502 without absolute paths are assumed to be in /etc/ssh. An Include
503 directive may appear inside a Match block to perform conditional
504 inclusion.
505
506 IPQoS Specifies the IPv4 type-of-service or DSCP class for the
507 connection. Accepted values are af11, af12, af13, af21, af22,
508 af23, af31, af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3,
509 cs4, cs5, cs6, cs7, ef, le, lowdelay, throughput, reliability, a
510 numeric value, or none to use the operating system default. This
511 option may take one or two arguments, separated by whitespace.
512 If one argument is specified, it is used as the packet class
513 unconditionally. If two values are specified, the first is
514 automatically selected for interactive sessions and the second
515 for non-interactive sessions. The default is af21 (Low-Latency
516 Data) for interactive sessions and cs1 (Lower Effort) for non-
517 interactive sessions.
518
519 KbdInteractiveAuthentication
520 Specifies whether to allow keyboard-interactive authentication.
521 The argument to this keyword must be yes or no. The default is
522 to use whatever value ChallengeResponseAuthentication is set to
523 (by default yes).
524
525 KerberosAuthentication
526 Specifies whether the password provided by the user for
527 PasswordAuthentication will be validated through the Kerberos
528 KDC. To use this option, the server needs a Kerberos servtab
529 which allows the verification of the KDC's identity. The default
530 is no.
531
532 KerberosGetAFSToken
533 If AFS is active and the user has a Kerberos 5 TGT, attempt to
534 acquire an AFS token before accessing the user's home directory.
535 The default is no.
536
537 KerberosOrLocalPasswd
538 If password authentication through Kerberos fails then the
539 password will be validated via any additional local mechanism
540 such as /etc/passwd. The default is yes.
541
542 KerberosTicketCleanup
543 Specifies whether to automatically destroy the user's ticket
544 cache file on logout. The default is yes.
545
546 KexAlgorithms
547 Specifies the available KEX (Key Exchange) algorithms. Multiple
548 algorithms must be comma-separated. Alternately if the specified
549 list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified methods will
550 be appended to the default set instead of replacing them. If the
551 specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified
552 methods (including wildcards) will be removed from the default
553 set instead of replacing them. If the specified list begins with
554 a M-bM-^@M-^X^M-bM-^@M-^Y character, then the specified methods will be placed at the
555 head of the default set. The supported algorithms are:
556
557 curve25519-sha256
558 curve25519-sha256@libssh.org
559 diffie-hellman-group1-sha1
560 diffie-hellman-group14-sha1
561 diffie-hellman-group14-sha256
562 diffie-hellman-group16-sha512
563 diffie-hellman-group18-sha512
564 diffie-hellman-group-exchange-sha1
565 diffie-hellman-group-exchange-sha256
566 ecdh-sha2-nistp256
567 ecdh-sha2-nistp384
568 ecdh-sha2-nistp521
569 sntrup4591761x25519-sha512@tinyssh.org
570
571 The default is:
572
573 curve25519-sha256,curve25519-sha256@libssh.org,
574 ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
575 diffie-hellman-group-exchange-sha256,
576 diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,
577 diffie-hellman-group14-sha256
578
579 The list of available key exchange algorithms may also be
580 obtained using "ssh -Q KexAlgorithms".
581
582 ListenAddress
583 Specifies the local addresses sshd(8) should listen on. The
584 following forms may be used:
585
586 ListenAddress hostname|address [rdomain domain]
587 ListenAddress hostname:port [rdomain domain]
588 ListenAddress IPv4_address:port [rdomain domain]
589 ListenAddress [hostname|address]:port [rdomain domain]
590
591 The optional rdomain qualifier requests sshd(8) listen in an
592 explicit routing domain. If port is not specified, sshd will
593 listen on the address and all Port options specified. The
594 default is to listen on all local addresses on the current
595 default routing domain. Multiple ListenAddress options are
596 permitted. For more information on routing domains, see
597 rdomain(4).
598
599 LoginGraceTime
600 The server disconnects after this time if the user has not
601 successfully logged in. If the value is 0, there is no time
602 limit. The default is 120 seconds.
603
604 LogLevel
605 Gives the verbosity level that is used when logging messages from
606 sshd(8). The possible values are: QUIET, FATAL, ERROR, INFO,
607 VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
608 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
609 higher levels of debugging output. Logging with a DEBUG level
610 violates the privacy of users and is not recommended.
611
612 MACs Specifies the available MAC (message authentication code)
613 algorithms. The MAC algorithm is used for data integrity
614 protection. Multiple algorithms must be comma-separated. If the
615 specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified
616 algorithms will be appended to the default set instead of
617 replacing them. If the specified list begins with a M-bM-^@M-^X-M-bM-^@M-^Y
618 character, then the specified algorithms (including wildcards)
619 will be removed from the default set instead of replacing them.
620 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
621 specified algorithms will be placed at the head of the default
622 set.
623
624 The algorithms that contain "-etm" calculate the MAC after
625 encryption (encrypt-then-mac). These are considered safer and
626 their use recommended. The supported MACs are:
627
628 hmac-md5
629 hmac-md5-96
630 hmac-sha1
631 hmac-sha1-96
632 hmac-sha2-256
633 hmac-sha2-512
634 umac-64@openssh.com
635 umac-128@openssh.com
636 hmac-md5-etm@openssh.com
637 hmac-md5-96-etm@openssh.com
638 hmac-sha1-etm@openssh.com
639 hmac-sha1-96-etm@openssh.com
640 hmac-sha2-256-etm@openssh.com
641 hmac-sha2-512-etm@openssh.com
642 umac-64-etm@openssh.com
643 umac-128-etm@openssh.com
644
645 The default is:
646
647 umac-64-etm@openssh.com,umac-128-etm@openssh.com,
648 hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
649 hmac-sha1-etm@openssh.com,
650 umac-64@openssh.com,umac-128@openssh.com,
651 hmac-sha2-256,hmac-sha2-512,hmac-sha1
652
653 The list of available MAC algorithms may also be obtained using
654 "ssh -Q mac".
655
656 Match Introduces a conditional block. If all of the criteria on the
657 Match line are satisfied, the keywords on the following lines
658 override those set in the global section of the config file,
659 until either another Match line or the end of the file. If a
660 keyword appears in multiple Match blocks that are satisfied, only
661 the first instance of the keyword is applied.
662
663 The arguments to Match are one or more criteria-pattern pairs or
664 the single token All which matches all criteria. The available
665 criteria are User, Group, Host, LocalAddress, LocalPort, RDomain,
666 and Address (with RDomain representing the rdomain(4) on which
667 the connection was received).
668
669 The match patterns may consist of single entries or comma-
670 separated lists and may use the wildcard and negation operators
671 described in the PATTERNS section of ssh_config(5).
672
673 The patterns in an Address criteria may additionally contain
674 addresses to match in CIDR address/masklen format, such as
675 192.0.2.0/24 or 2001:db8::/32. Note that the mask length
676 provided must be consistent with the address - it is an error to
677 specify a mask length that is too long for the address or one
678 with bits set in this host portion of the address. For example,
679 192.0.2.0/33 and 192.0.2.0/8, respectively.
680
681 Only a subset of keywords may be used on the lines following a
682 Match keyword. Available keywords are AcceptEnv,
683 AllowAgentForwarding, AllowGroups, AllowStreamLocalForwarding,
684 AllowTcpForwarding, AllowUsers, AuthenticationMethods,
685 AuthorizedKeysCommand, AuthorizedKeysCommandUser,
686 AuthorizedKeysFile, AuthorizedPrincipalsCommand,
687 AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile,
688 Banner, ChrootDirectory, ClientAliveCountMax,
689 ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand,
690 GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes,
691 HostbasedAuthentication, HostbasedUsesNameFromPacketOnly,
692 IgnoreRhosts, Include, IPQoS, KbdInteractiveAuthentication,
693 KerberosAuthentication, LogLevel, MaxAuthTries, MaxSessions,
694 PasswordAuthentication, PermitEmptyPasswords, PermitListen,
695 PermitOpen, PermitRootLogin, PermitTTY, PermitTunnel,
696 PermitUserRC, PubkeyAcceptedKeyTypes, PubkeyAuthentication,
697 RekeyLimit, RevokedKeys, RDomain, SetEnv, StreamLocalBindMask,
698 StreamLocalBindUnlink, TrustedUserCAKeys, X11DisplayOffset,
699 X11Forwarding and X11UseLocalhost.
700
701 MaxAuthTries
702 Specifies the maximum number of authentication attempts permitted
703 per connection. Once the number of failures reaches half this
704 value, additional failures are logged. The default is 6.
705
706 MaxSessions
707 Specifies the maximum number of open shell, login or subsystem
708 (e.g. sftp) sessions permitted per network connection. Multiple
709 sessions may be established by clients that support connection
710 multiplexing. Setting MaxSessions to 1 will effectively disable
711 session multiplexing, whereas setting it to 0 will prevent all
712 shell, login and subsystem sessions while still permitting
713 forwarding. The default is 10.
714
715 MaxStartups
716 Specifies the maximum number of concurrent unauthenticated
717 connections to the SSH daemon. Additional connections will be
718 dropped until authentication succeeds or the LoginGraceTime
719 expires for a connection. The default is 10:30:100.
720
721 Alternatively, random early drop can be enabled by specifying the
722 three colon separated values start:rate:full (e.g. "10:30:60").
723 sshd(8) will refuse connection attempts with a probability of
724 rate/100 (30%) if there are currently start (10) unauthenticated
725 connections. The probability increases linearly and all
726 connection attempts are refused if the number of unauthenticated
727 connections reaches full (60).
728
729 PasswordAuthentication
730 Specifies whether password authentication is allowed. The
731 default is yes.
732
733 PermitEmptyPasswords
734 When password authentication is allowed, it specifies whether the
735 server allows login to accounts with empty password strings. The
736 default is no.
737
738 PermitListen
739 Specifies the addresses/ports on which a remote TCP port
740 forwarding may listen. The listen specification must be one of
741 the following forms:
742
743 PermitListen port
744 PermitListen host:port
745
746 Multiple permissions may be specified by separating them with
747 whitespace. An argument of any can be used to remove all
748 restrictions and permit any listen requests. An argument of none
749 can be used to prohibit all listen requests. The host name may
750 contain wildcards as described in the PATTERNS section in
751 ssh_config(5). The wildcard M-bM-^@M-^X*M-bM-^@M-^Y can also be used in place of a
752 port number to allow all ports. By default all port forwarding
753 listen requests are permitted. Note that the GatewayPorts option
754 may further restrict which addresses may be listened on. Note
755 also that ssh(1) will request a listen host of M-bM-^@M-^\localhostM-bM-^@M-^] if no
756 listen host was specifically requested, and this name is treated
757 differently to explicit localhost addresses of M-bM-^@M-^\127.0.0.1M-bM-^@M-^] and
758 M-bM-^@M-^\::1M-bM-^@M-^].
759
760 PermitOpen
761 Specifies the destinations to which TCP port forwarding is
762 permitted. The forwarding specification must be one of the
763 following forms:
764
765 PermitOpen host:port
766 PermitOpen IPv4_addr:port
767 PermitOpen [IPv6_addr]:port
768
769 Multiple forwards may be specified by separating them with
770 whitespace. An argument of any can be used to remove all
771 restrictions and permit any forwarding requests. An argument of
772 none can be used to prohibit all forwarding requests. The
773 wildcard M-bM-^@M-^X*M-bM-^@M-^Y can be used for host or port to allow all hosts or
774 ports respectively. Otherwise, no pattern matching or address
775 lookups are performed on supplied names. By default all port
776 forwarding requests are permitted.
777
778 PermitRootLogin
779 Specifies whether root can log in using ssh(1). The argument
780 must be yes, prohibit-password, forced-commands-only, or no. The
781 default is prohibit-password.
782
783 If this option is set to prohibit-password (or its deprecated
784 alias, without-password), password and keyboard-interactive
785 authentication are disabled for root.
786
787 If this option is set to forced-commands-only, root login with
788 public key authentication will be allowed, but only if the
789 command option has been specified (which may be useful for taking
790 remote backups even if root login is normally not allowed). All
791 other authentication methods are disabled for root.
792
793 If this option is set to no, root is not allowed to log in.
794
795 PermitTTY
796 Specifies whether pty(4) allocation is permitted. The default is
797 yes.
798
799 PermitTunnel
800 Specifies whether tun(4) device forwarding is allowed. The
801 argument must be yes, point-to-point (layer 3), ethernet (layer
802 2), or no. Specifying yes permits both point-to-point and
803 ethernet. The default is no.
804
805 Independent of this setting, the permissions of the selected
806 tun(4) device must allow access to the user.
807
808 PermitUserEnvironment
809 Specifies whether ~/.ssh/environment and environment= options in
810 ~/.ssh/authorized_keys are processed by sshd(8). Valid options
811 are yes, no or a pattern-list specifying which environment
812 variable names to accept (for example "LANG,LC_*"). The default
813 is no. Enabling environment processing may enable users to
814 bypass access restrictions in some configurations using
815 mechanisms such as LD_PRELOAD.
816
817 PermitUserRC
818 Specifies whether any ~/.ssh/rc file is executed. The default is
819 yes.
820
821 PidFile
822 Specifies the file that contains the process ID of the SSH
823 daemon, or none to not write one. The default is
824 /var/run/sshd.pid.
825
826 Port Specifies the port number that sshd(8) listens on. The default
827 is 22. Multiple options of this type are permitted. See also
828 ListenAddress.
829
830 PrintLastLog
831 Specifies whether sshd(8) should print the date and time of the
832 last user login when a user logs in interactively. The default
833 is yes.
834
835 PrintMotd
836 Specifies whether sshd(8) should print /etc/motd when a user logs
837 in interactively. (On some systems it is also printed by the
838 shell, /etc/profile, or equivalent.) The default is yes.
839
840 PubkeyAcceptedKeyTypes
841 Specifies the key types that will be accepted for public key
842 authentication as a list of comma-separated patterns.
843 Alternately if the specified list begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
844 then the specified key types will be appended to the default set
845 instead of replacing them. If the specified list begins with a
846 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
847 will be removed from the default set instead of replacing them.
848 If the specified list begins with a M-bM-^@M-^X^M-bM-^@M-^Y character, then the
849 specified key types will be placed at the head of the default
850 set. The default for this option is:
851
852 ecdsa-sha2-nistp256-cert-v01@openssh.com,
853 ecdsa-sha2-nistp384-cert-v01@openssh.com,
854 ecdsa-sha2-nistp521-cert-v01@openssh.com,
855 sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
856 ssh-ed25519-cert-v01@openssh.com,
857 sk-ssh-ed25519-cert-v01@openssh.com,
858 rsa-sha2-512-cert-v01@openssh.com,
859 rsa-sha2-256-cert-v01@openssh.com,
860 ssh-rsa-cert-v01@openssh.com,
861 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
862 sk-ecdsa-sha2-nistp256@openssh.com,
863 ssh-ed25519,sk-ssh-ed25519@openssh.com,
864 rsa-sha2-512,rsa-sha2-256,ssh-rsa
865
866 The list of available key types may also be obtained using "ssh
867 -Q PubkeyAcceptedKeyTypes".
868
869 PubkeyAuthOptions
870 Sets one or more public key authentication options. The
871 supported keywords are: none (the default; indicating no
872 additional options are enabled), touch-required and
873 verify-required.
874
875 The touch-required option causes public key authentication using
876 a FIDO authenticator algorithm (i.e. ecdsa-sk or ed25519-sk) to
877 always require the signature to attest that a physically present
878 user explicitly confirmed the authentication (usually by touching
879 the authenticator). By default, sshd(8) requires user presence
880 unless overridden with an authorized_keys option. The
881 touch-required flag disables this override.
882
883 The verify-required option requires a FIDO key signature attest
884 that the user was verified, e.g. via a PIN.
885
886 Neither the touch-required or verify-required options have any
887 effect for other, non-FIDO, public key types.
888
889 PubkeyAuthentication
890 Specifies whether public key authentication is allowed. The
891 default is yes.
892
893 RekeyLimit
894 Specifies the maximum amount of data that may be transmitted
895 before the session key is renegotiated, optionally followed a
896 maximum amount of time that may pass before the session key is
897 renegotiated. The first argument is specified in bytes and may
898 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,
899 Megabytes, or Gigabytes, respectively. The default is between
900 M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second
901 value is specified in seconds and may use any of the units
902 documented in the TIME FORMATS section. The default value for
903 RekeyLimit is default none, which means that rekeying is
904 performed after the cipher's default amount of data has been sent
905 or received and no time based rekeying is done.
906
907 RevokedKeys
908 Specifies revoked public keys file, or none to not use one. Keys
909 listed in this file will be refused for public key
910 authentication. Note that if this file is not readable, then
911 public key authentication will be refused for all users. Keys
912 may be specified as a text file, listing one public key per line,
913 or as an OpenSSH Key Revocation List (KRL) as generated by
914 ssh-keygen(1). For more information on KRLs, see the KEY
915 REVOCATION LISTS section in ssh-keygen(1).
916
917 RDomain
918 Specifies an explicit routing domain that is applied after
919 authentication has completed. The user session, as well and any
920 forwarded or listening IP sockets, will be bound to this
921 rdomain(4). If the routing domain is set to %D, then the domain
922 in which the incoming connection was received will be applied.
923
924 SecurityKeyProvider
925 Specifies a path to a library that will be used when loading FIDO
926 authenticator-hosted keys, overriding the default of using the
927 built-in USB HID support.
928
929 SetEnv Specifies one or more environment variables to set in child
930 sessions started by sshd(8) as M-bM-^@M-^\NAME=VALUEM-bM-^@M-^]. The environment
931 value may be quoted (e.g. if it contains whitespace characters).
932 Environment variables set by SetEnv override the default
933 environment and any variables specified by the user via AcceptEnv
934 or PermitUserEnvironment.
935
936 StreamLocalBindMask
937 Sets the octal file creation mode mask (umask) used when creating
938 a Unix-domain socket file for local or remote port forwarding.
939 This option is only used for port forwarding to a Unix-domain
940 socket file.
941
942 The default value is 0177, which creates a Unix-domain socket
943 file that is readable and writable only by the owner. Note that
944 not all operating systems honor the file mode on Unix-domain
945 socket files.
946
947 StreamLocalBindUnlink
948 Specifies whether to remove an existing Unix-domain socket file
949 for local or remote port forwarding before creating a new one.
950 If the socket file already exists and StreamLocalBindUnlink is
951 not enabled, sshd will be unable to forward the port to the Unix-
952 domain socket file. This option is only used for port forwarding
953 to a Unix-domain socket file.
954
955 The argument must be yes or no. The default is no.
956
957 StrictModes
958 Specifies whether sshd(8) should check file modes and ownership
959 of the user's files and home directory before accepting login.
960 This is normally desirable because novices sometimes accidentally
961 leave their directory or files world-writable. The default is
962 yes. Note that this does not apply to ChrootDirectory, whose
963 permissions and ownership are checked unconditionally.
964
965 Subsystem
966 Configures an external subsystem (e.g. file transfer daemon).
967 Arguments should be a subsystem name and a command (with optional
968 arguments) to execute upon subsystem request.
969
970 The command sftp-server implements the SFTP file transfer
971 subsystem.
972
973 Alternately the name internal-sftp implements an in-process SFTP
974 server. This may simplify configurations using ChrootDirectory
975 to force a different filesystem root on clients.
976
977 By default no subsystems are defined.
978
979 SyslogFacility
980 Gives the facility code that is used when logging messages from
981 sshd(8). The possible values are: DAEMON, USER, AUTH, LOCAL0,
982 LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The
983 default is AUTH.
984
985 TCPKeepAlive
986 Specifies whether the system should send TCP keepalive messages
987 to the other side. If they are sent, death of the connection or
988 crash of one of the machines will be properly noticed. However,
989 this means that connections will die if the route is down
990 temporarily, and some people find it annoying. On the other
991 hand, if TCP keepalives are not sent, sessions may hang
992 indefinitely on the server, leaving "ghost" users and consuming
993 server resources.
994
995 The default is yes (to send TCP keepalive messages), and the
996 server will notice if the network goes down or the client host
997 crashes. This avoids infinitely hanging sessions.
998
999 To disable TCP keepalive messages, the value should be set to no.
1000
1001 TrustedUserCAKeys
1002 Specifies a file containing public keys of certificate
1003 authorities that are trusted to sign user certificates for
1004 authentication, or none to not use one. Keys are listed one per
1005 line; empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are allowed. If
1006 a certificate is presented for authentication and has its signing
1007 CA key listed in this file, then it may be used for
1008 authentication for any user listed in the certificate's
1009 principals list. Note that certificates that lack a list of
1010 principals will not be permitted for authentication using
1011 TrustedUserCAKeys. For more details on certificates, see the
1012 CERTIFICATES section in ssh-keygen(1).
1013
1014 UseDNS Specifies whether sshd(8) should look up the remote host name,
1015 and to check that the resolved host name for the remote IP
1016 address maps back to the very same IP address.
1017
1018 If this option is set to no (the default) then only addresses and
1019 not host names may be used in ~/.ssh/authorized_keys from and
1020 sshd_config Match Host directives.
1021
1022 UsePAM Enables the Pluggable Authentication Module interface. If set to
1023 yes this will enable PAM authentication using
1024 ChallengeResponseAuthentication and PasswordAuthentication in
1025 addition to PAM account and session module processing for all
1026 authentication types.
1027
1028 Because PAM challenge-response authentication usually serves an
1029 equivalent role to password authentication, you should disable
1030 either PasswordAuthentication or ChallengeResponseAuthentication.
1031
1032 If UsePAM is enabled, you will not be able to run sshd(8) as a
1033 non-root user. The default is no.
1034
1035 VersionAddendum
1036 Optionally specifies additional text to append to the SSH
1037 protocol banner sent by the server upon connection. The default
1038 is none.
1039
1040 X11DisplayOffset
1041 Specifies the first display number available for sshd(8)'s X11
1042 forwarding. This prevents sshd from interfering with real X11
1043 servers. The default is 10.
1044
1045 X11Forwarding
1046 Specifies whether X11 forwarding is permitted. The argument must
1047 be yes or no. The default is no.
1048
1049 When X11 forwarding is enabled, there may be additional exposure
1050 to the server and to client displays if the sshd(8) proxy display
1051 is configured to listen on the wildcard address (see
1052 X11UseLocalhost), though this is not the default. Additionally,
1053 the authentication spoofing and authentication data verification
1054 and substitution occur on the client side. The security risk of
1055 using X11 forwarding is that the client's X11 display server may
1056 be exposed to attack when the SSH client requests forwarding (see
1057 the warnings for ForwardX11 in ssh_config(5)). A system
1058 administrator may have a stance in which they want to protect
1059 clients that may expose themselves to attack by unwittingly
1060 requesting X11 forwarding, which can warrant a no setting.
1061
1062 Note that disabling X11 forwarding does not prevent users from
1063 forwarding X11 traffic, as users can always install their own
1064 forwarders.
1065
1066 X11UseLocalhost
1067 Specifies whether sshd(8) should bind the X11 forwarding server
1068 to the loopback address or to the wildcard address. By default,
1069 sshd binds the forwarding server to the loopback address and sets
1070 the hostname part of the DISPLAY environment variable to
1071 localhost. This prevents remote hosts from connecting to the
1072 proxy display. However, some older X11 clients may not function
1073 with this configuration. X11UseLocalhost may be set to no to
1074 specify that the forwarding server should be bound to the
1075 wildcard address. The argument must be yes or no. The default
1076 is yes.
1077
1078 XAuthLocation
1079 Specifies the full pathname of the xauth(1) program, or none to
1080 not use one. The default is /usr/X11R6/bin/xauth.
1081
1082TIME FORMATS
1083 sshd(8) command-line arguments and configuration file options that
1084 specify time may be expressed using a sequence of the form:
1085 time[qualifier], where time is a positive integer value and qualifier is
1086 one of the following:
1087
1088 M-bM-^_M-(noneM-bM-^_M-) seconds
1089 s | S seconds
1090 m | M minutes
1091 h | H hours
1092 d | D days
1093 w | W weeks
1094
1095 Each member of the sequence is added together to calculate the total time
1096 value.
1097
1098 Time format examples:
1099
1100 600 600 seconds (10 minutes)
1101 10m 10 minutes
1102 1h30m 1 hour 30 minutes (90 minutes)
1103
1104TOKENS
1105 Arguments to some keywords can make use of tokens, which are expanded at
1106 runtime:
1107
1108 %% A literal M-bM-^@M-^X%M-bM-^@M-^Y.
1109 %D The routing domain in which the incoming connection was
1110 received.
1111 %F The fingerprint of the CA key.
1112 %f The fingerprint of the key or certificate.
1113 %h The home directory of the user.
1114 %i The key ID in the certificate.
1115 %K The base64-encoded CA key.
1116 %k The base64-encoded key or certificate for authentication.
1117 %s The serial number of the certificate.
1118 %T The type of the CA key.
1119 %t The key or certificate type.
1120 %U The numeric user ID of the target user.
1121 %u The username.
1122
1123 AuthorizedKeysCommand accepts the tokens %%, %f, %h, %k, %t, %U, and %u.
1124
1125 AuthorizedKeysFile accepts the tokens %%, %h, %U, and %u.
1126
1127 AuthorizedPrincipalsCommand accepts the tokens %%, %F, %f, %h, %i, %K,
1128 %k, %s, %T, %t, %U, and %u.
1129
1130 AuthorizedPrincipalsFile accepts the tokens %%, %h, %U, and %u.
1131
1132 ChrootDirectory accepts the tokens %%, %h, %U, and %u.
1133
1134 RoutingDomain accepts the token %D.
1135
1136FILES
1137 /etc/ssh/sshd_config
1138 Contains configuration data for sshd(8). This file should be
1139 writable by root only, but it is recommended (though not
1140 necessary) that it be world-readable.
1141
1142SEE ALSO
1143 sftp-server(8), sshd(8)
1144
1145AUTHORS
1146 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1147 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1148 de Raadt and Dug Song removed many bugs, re-added newer features and
1149 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1150 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
1151 for privilege separation.
1152
1153OpenBSD 6.8 August 27, 2020 OpenBSD 6.8