summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10342
-rw-r--r--config.h.in1975
-rwxr-xr-xconfigure20824
-rw-r--r--moduli.074
-rw-r--r--scp.0182
-rw-r--r--sftp-server.096
-rw-r--r--sftp.0396
-rw-r--r--ssh-add.0133
-rw-r--r--ssh-agent.0120
-rw-r--r--ssh-keygen.0599
-rw-r--r--ssh-keyscan.096
-rw-r--r--ssh-keysign.052
-rw-r--r--ssh-pkcs11-helper.035
-rw-r--r--ssh.0980
-rw-r--r--ssh_config.01119
-rw-r--r--sshd.0653
-rw-r--r--sshd_config.01092
17 files changed, 38768 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000000000..fdc0a0619
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,10342 @@
1commit fd0fa130ecf06d7d092932adcd5d77f1549bfc8d
2Author: Damien Miller <djm@mindrot.org>
3Date: Thu Apr 18 08:52:57 2019 +1000
4
5 makedepend
6
7commit 5de397a876b587ba05a9169237deffdc71f273b0
8Author: Damien Miller <djm@mindrot.org>
9Date: Fri Apr 5 11:29:51 2019 -0700
10
11 second thoughts: leave README in place
12
13 A number of contrib/* files refer to the existing README so let's leave
14 it in place for release and add the new markdown version in parallel.
15
16 I'll get rid of README after release.
17
18commit 5d3127d9274519b25ed10e320f45045ba8d7f3be
19Author: Damien Miller <djm@mindrot.org>
20Date: Fri Apr 5 11:29:31 2019 -0700
21
22 Revert "rewrite README"
23
24 This reverts commit 9444d82678cb7781820da4d1c23b3c2b9fb1e12f.
25
26commit 9444d82678cb7781820da4d1c23b3c2b9fb1e12f
27Author: Damien Miller <djm@mindrot.org>
28Date: Fri Apr 5 11:21:48 2019 -0700
29
30 rewrite README
31
32 Include basic build instructions and comments on commonly-used build-
33 time flags, links to the manual pages and other resources.
34
35 Now in Markdown format for better viewing on github, etc.
36
37commit a924de0c4908902433813ba205bee1446bd1a157
38Author: Damien Miller <djm@mindrot.org>
39Date: Fri Apr 5 03:41:52 2019 +1100
40
41 update versions
42
43commit 312dcee739bca5d6878c536537b2a8a497314b75
44Author: djm@openbsd.org <djm@openbsd.org>
45Date: Wed Apr 3 15:48:45 2019 +0000
46
47 upstream: openssh-8.0
48
49 OpenBSD-Commit-ID: 5aafdf218679dab982fea20771afd643be9a127b
50
51commit 885bc114692046d55e2a170b932bdc0092fa3456
52Author: Damien Miller <djm@mindrot.org>
53Date: Thu Apr 4 02:47:40 2019 +1100
54
55 session: Do not use removed API
56
57 from Jakub Jelen
58
59commit 9d7b2882b0c9a5e9bf8312ce4075bf178e2b98be
60Author: djm@openbsd.org <djm@openbsd.org>
61Date: Fri Mar 29 11:31:40 2019 +0000
62
63 upstream: when logging/fataling on error, include a bit more detail
64
65 than just the function name and the error message
66
67 OpenBSD-Commit-ID: dd72d7eba2215fcb89be516c378f633ea5bcca9f
68
69commit 79a87d32783d6c9db40af8f35e091d9d30365ae7
70Author: Darren Tucker <dtucker@dtucker.net>
71Date: Wed Apr 3 06:27:45 2019 +1100
72
73 Remove "struct ssh" from sys_auth_record_login.
74
75 It's not needed, and is not available from the call site in loginrec.c
76 Should only affect AIX, spotted by Kevin Brott.
77
78commit 138c0d52cdc90f9895333b82fc57d81cce7a3d90
79Author: Darren Tucker <dtucker@dtucker.net>
80Date: Tue Apr 2 18:21:35 2019 +1100
81
82 Adapt custom_failed_login to new prototype.
83
84 Spotted by Kevin Brott.
85
86commit a0ca4009ab2f0b1007ec8ab6864dbf9b760a8ed5
87Author: Darren Tucker <dtucker@dtucker.net>
88Date: Mon Apr 1 20:07:23 2019 +1100
89
90 Add includes.h for compat layer.
91
92 Should fix build on AIX 7.2.
93
94commit 00991151786ce9b1d577bdad1f83a81d19c8236d
95Author: Tim Rice <tim@multitalents.net>
96Date: Sun Mar 31 22:14:22 2019 -0700
97
98 Stop USL compilers for erroring with "integral constant expression expected"
99
100commit 43f47ebbdd4037b569c23b8f4f7981f53b567f1d
101Author: Tim Rice <tim@multitalents.net>
102Date: Sun Mar 31 19:22:19 2019 -0700
103
104 Only use O_NOFOLLOW in fchownat and fchmodat if defined
105
106commit 342d6e51589b184c337cccfc4c788b60ff8b3765
107Author: Jakub Jelen <jjelen@redhat.com>
108Date: Fri Mar 29 12:29:41 2019 +0100
109
110 Adjust softhsm2 path on Fedora Linux for regress
111
112 The SoftHSM lives in Fedora in /usr/lib64/pkcs11/libsofthsm2.so
113
114commit f5abb05f8c7358dacdcb866fe2813f6d8efd5830
115Author: Darren Tucker <dtucker@dtucker.net>
116Date: Thu Mar 28 09:26:14 2019 +1100
117
118 Only use O_NOFOLLOW in utimensat if defined.
119
120 Fixes build on systems that don't have it (Solaris <=9) Found by
121 Tom G. Christensen.
122
123commit 786cd4c1837fdc3fe7b4befe54a3f37db7df8715
124Author: Corinna Vinschen <vinschen@redhat.com>
125Date: Wed Mar 27 18:18:21 2019 +0100
126
127 drop old Cygwin considerations
128
129 - Cygwin supports non-DOS characters in filenames
130 - Cygwin does not support Windows XP anymore
131
132 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
133
134commit 21da87f439b48a85b951ef1518fe85ac0273e719
135Author: djm@openbsd.org <djm@openbsd.org>
136Date: Wed Mar 27 09:29:14 2019 +0000
137
138 upstream: fix interaction between ClientAliveInterval and RekeyLimit
139
140 that could cause connection to close incorrectly; Report and patch from Jakub
141 Jelen in bz#2757; ok dtucker@ markus@
142
143 OpenBSD-Commit-ID: 17229a8a65bd8e6c2080318ec2b7a61e1aede3fb
144
145commit 4f0019a9afdb4a94d83b75e82dbbbe0cbe826c56
146Author: djm@openbsd.org <djm@openbsd.org>
147Date: Mon Mar 25 22:34:52 2019 +0000
148
149 upstream: Fix authentication failures when "AuthenticationMethods
150
151 any" in a Match block overrides a more restrictive global default.
152
153 Spotted by jmc@, ok markus@
154
155 OpenBSD-Commit-ID: a90a4fe2ab81d0eeeb8fdfc21af81f7eabda6666
156
157commit d6e5def308610f194c0ec3ef97a34a3e9630e190
158Author: djm@openbsd.org <djm@openbsd.org>
159Date: Mon Mar 25 22:33:44 2019 +0000
160
161 upstream: whitespace
162
163 OpenBSD-Commit-ID: 106e853ae8a477e8385bc53824d3884a8159db07
164
165commit 26e0cef07b04479537c971dec898741df1290fe5
166Author: dtucker@openbsd.org <dtucker@openbsd.org>
167Date: Mon Mar 25 16:19:44 2019 +0000
168
169 upstream: Expand comment to document rationale for default key
170
171 sizes. "seems worthwhile" deraadt.
172
173 OpenBSD-Commit-ID: 72e5c0983d7da1fb72f191870f36cb58263a2456
174
175commit f47269ea67eb4ff87454bf0d2a03e55532786482
176Author: dtucker@openbsd.org <dtucker@openbsd.org>
177Date: Mon Mar 25 15:49:00 2019 +0000
178
179 upstream: Increase the default RSA key size to 3072 bits. Based on
180
181 the estimates from NIST Special Publication 800-57, 3k bits provides security
182 equivalent to 128 bits which is the smallest symmetric cipher we enable by
183 default. ok markus@ deraadt@
184
185 OpenBSD-Commit-ID: 461dd32ebe808f88f4fc3ec74749b0e6bef2276b
186
187commit 62949c5b37af28d8490d94866e314a76be683a5e
188Author: jmc@openbsd.org <jmc@openbsd.org>
189Date: Fri Mar 22 20:58:34 2019 +0000
190
191 upstream: full stop in the wrong place;
192
193 OpenBSD-Commit-ID: 478a0567c83553a2aebf95d0f1bd67ac1b1253e4
194
195commit 1b1332b5bb975d759a50b37f0e8bc8cfb07a0bb0
196Author: jmc@openbsd.org <jmc@openbsd.org>
197Date: Sat Mar 16 19:14:21 2019 +0000
198
199 upstream: benno helped me clean up the tcp forwarding section;
200
201 OpenBSD-Commit-ID: d4bec27edefde636fb632b7f0b7c656b9c7b7f08
202
203commit 2aee9a49f668092ac5c9d34e904ef7a9722e541d
204Author: markus@openbsd.org <markus@openbsd.org>
205Date: Fri Mar 8 17:24:43 2019 +0000
206
207 upstream: fix use-after-free in ssh-pkcs11; found by hshoexer w/AFL
208
209 OpenBSD-Commit-ID: febce81cca72b71f70513fbee4ff52ca050f675c
210
211commit 9edbd7821e6837e98e7e95546cede804dac96754
212Author: Darren Tucker <dtucker@dtucker.net>
213Date: Thu Mar 14 10:17:28 2019 +1100
214
215 Fix build when configured --without-openssl.
216
217 ok djm@
218
219commit 825ab32f0d04a791e9d19d743c61ff8ed9b4d8e5
220Author: Darren Tucker <dtucker@dtucker.net>
221Date: Thu Mar 14 08:51:17 2019 +1100
222
223 On Cygwin run sshd as SYSTEM where possible.
224
225 Seteuid now creates user token using S4U. We don't create a token
226 from scratch anymore, so we don't need the "Create a process token"
227 privilege. The service can run under SYSTEM again...
228
229 ...unless Cygwin is running on Windows Vista or Windows 7 in the
230 WOW64 32 bit emulation layer. It turns out that WOW64 on these systems
231 didn't implement MsV1_0 S4U Logon so we still need the fallback
232 to NtCreateToken for these systems.
233
234 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
235
236commit a212107bfdf4d3e870ab7a443e4d906e5b9578c3
237Author: Darren Tucker <dtucker@dtucker.net>
238Date: Wed Mar 13 10:49:16 2019 +1100
239
240 Replace alloca with xcalloc.
241
242 The latter checks for memory exhaustion and integer overflow and may be
243 at a less predictable place. Sanity check by vinschen at redhat.com, ok
244 djm@
245
246commit daa7505aadca68ba1a2c70cbdfce423208eb91ee
247Author: Darren Tucker <dtucker@dtucker.net>
248Date: Tue Mar 12 09:19:19 2019 +1100
249
250 Use Cygwin-specific matching only for users+groups.
251
252 Patch from vinschen at redhat.com, updated a little by me.
253
254commit fd10cf027b56f9aaa80c9e3844626a05066589a4
255Author: dtucker@openbsd.org <dtucker@openbsd.org>
256Date: Wed Mar 6 22:14:23 2019 +0000
257
258 upstream: Move checks for lists of users or groups into their own
259
260 function. This is a no-op on OpenBSD but will make things easier in
261 -portable, eg on systems where these checks should be case-insensitive. ok
262 djm@
263
264 OpenBSD-Commit-ID: 8bc9c8d98670e23f8eaaaefe29c1f98e7ba0487e
265
266commit ab5fee8eb6a011002fd9e32b1597f02aa8804a25
267Author: dtucker@openbsd.org <dtucker@openbsd.org>
268Date: Wed Mar 6 21:06:59 2019 +0000
269
270 upstream: Reset last-seen time when sending a keepalive. Prevents
271
272 sending two keepalives successively and prematurely terminating connection
273 when ClientAliveCount=1. While there, collapse two similar tests into one.
274 ok markus@
275
276 OpenBSD-Commit-ID: 043670d201dfe222537a2a4bed16ce1087de5ddd
277
278commit c13b74530f9f1d9df7aeae012004b31b2de4438e
279Author: naddy@openbsd.org <naddy@openbsd.org>
280Date: Tue Mar 5 16:17:12 2019 +0000
281
282 upstream: PKCS#11 support is no longer limited to RSA; ok benno@
283
284 kn@
285
286 OpenBSD-Commit-ID: 1a9bec64d530aed5f434a960e7515a3e80cbc826
287
288commit e9552d6043db7cd170ac6ba1b4d2c7a5eb2c3201
289Author: djm@openbsd.org <djm@openbsd.org>
290Date: Fri Mar 1 03:29:32 2019 +0000
291
292 upstream: in ssh_set_newkeys(), mention the direction that we're
293
294 keying in debug messages. Previously it would be difficult to tell which
295 direction it was talking about
296
297 OpenBSD-Commit-ID: c2b71bfcceb2a7389b9d0b497fb2122a406a522d
298
299commit 76a24b3fa193a9ca3e47a8779d497cb06500798b
300Author: djm@openbsd.org <djm@openbsd.org>
301Date: Fri Mar 1 02:32:39 2019 +0000
302
303 upstream: Fix two race conditions in sshd relating to SIGHUP:
304
305 1. Recently-forked child processes will briefly remain listening to
306 listen_socks. If the main server sshd process completes its restart
307 via execv() before these sockets are closed by the child processes
308 then it can fail to listen at the desired addresses/ports and/or
309 fail to restart.
310
311 2. When a SIGHUP is received, there may be forked child processes that
312 are awaiting their reexecution state. If the main server sshd
313 process restarts before passing this state, these child processes
314 will yield errors and use a fallback path of reading the current
315 sshd_config from the filesystem rather than use the one that sshd
316 was started with.
317
318 To fix both of these cases, we reuse the startup_pipes that are shared
319 between the main server sshd and forked children. Previously this was
320 used solely to implement tracking of pre-auth child processes for
321 MaxStartups, but this extends the messaging over these pipes to include
322 a child->parent message that the parent process is safe to restart. This
323 message is sent from the child after it has completed its preliminaries:
324 closing listen_socks and receiving its reexec state.
325
326 bz#2953, reported by Michal Koutný; ok markus@ dtucker@
327
328 OpenBSD-Commit-ID: 7df09eacfa3ce13e9a7b1e9f17276ecc924d65ab
329
330commit de817e9dfab99473017d28cdf69e60397d00ea21
331Author: djm@openbsd.org <djm@openbsd.org>
332Date: Fri Mar 1 02:16:47 2019 +0000
333
334 upstream: mention PKCS11Provide=none, reword a little and remove
335
336 mention of RSA keys only (since we support ECDSA now and might support others
337 in the future). Inspired by Jakub Jelen via bz#2974
338
339 OpenBSD-Commit-ID: a92e3686561bf624ccc64ab320c96c9e9a263aa5
340
341commit 95a8058c1a90a27acbb91392ba206854abc85226
342Author: djm@openbsd.org <djm@openbsd.org>
343Date: Fri Mar 1 02:08:50 2019 +0000
344
345 upstream: let PKCS11Provider=none do what users expect
346
347 print PKCS11Provider instead of obsolete SmartcardDevice in config dump.
348
349 bz#2974 ok dtucker@
350
351 OpenBSD-Commit-ID: c303d6f0230a33aa2dd92dc9b68843d56a64f846
352
353commit 8e7bac35aa576d2fd7560836da83733e864ce649
354Author: markus@openbsd.org <markus@openbsd.org>
355Date: Wed Feb 27 19:37:01 2019 +0000
356
357 upstream: dup stdout/in for proxycommand=-, otherwise stdout might
358
359 be redirected to /dev/null; ok djm@
360
361 OpenBSD-Commit-ID: 97dfce4c47ed4055042de8ebde85b7d88793e595
362
363commit 9b61130fbd95d196bce81ebeca94a4cb7c0d5ba0
364Author: djm@openbsd.org <djm@openbsd.org>
365Date: Sat Feb 23 08:20:43 2019 +0000
366
367 upstream: openssh-7.9 accidentally reused the server's algorithm lists
368
369 in the client for KEX, ciphers and MACs. The ciphers and MACs were identical
370 between the client and server, but the error accidentially disabled the
371 diffie-hellman-group-exchange-sha1 KEX method.
372
373 This fixes the client code to use the correct method list, but
374 because nobody complained, it also disables the
375 diffie-hellman-group-exchange-sha1 KEX method.
376
377 Reported by nuxi AT vault24.org via bz#2697; ok dtucker
378
379 OpenBSD-Commit-ID: e30c33a23c10fd536fefa120e86af1842e33fd57
380
381commit 37638c752041d591371900df820f070037878a2d
382Author: Corinna Vinschen <vinschen@redhat.com>
383Date: Wed Feb 20 13:41:25 2019 +0100
384
385 Cygwin: implement case-insensitive Unicode user and group name matching
386
387 The previous revert enabled case-insensitive user names again. This
388 patch implements the case-insensitive user and group name matching.
389 To allow Unicode chars, implement the matcher using wchar_t chars in
390 Cygwin-specific code. Keep the generic code changes as small as possible.
391 Cygwin: implement case-insensitive Unicode user and group name matching
392
393 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
394
395commit bed1d43698807a07bb4ddb93a46b0bd84b9970b3
396Author: Darren Tucker <dtucker@dtucker.net>
397Date: Fri Feb 22 15:21:21 2019 +1100
398
399 Revert unintended parts of previous commit.
400
401commit f02afa350afac1b2f2d1413259a27a4ba1e2ca24
402Author: Corinna Vinschen <vinschen@redhat.com>
403Date: Wed Feb 20 13:41:24 2019 +0100
404
405 Revert "[auth.c] On Cygwin, refuse usernames that have differences in case"
406
407 This reverts commit acc9b29486dfd649dfda474e5c1a03b317449f1c.
408
409 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
410
411commit 4c55b674835478eb80a1a7aeae588aa654e2a433
412Author: Corinna Vinschen <vinschen@redhat.com>
413Date: Sat Feb 16 14:13:43 2019 +0100
414
415 Add tags to .gitignore
416
417 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
418
419commit 625b62634c33eaef4b80d07529954fe5c6435fe5
420Author: djm@openbsd.org <djm@openbsd.org>
421Date: Fri Feb 22 03:37:11 2019 +0000
422
423 upstream: perform removal of agent-forwarding directory in forward
424
425 setup error path with user's privileged. This is a no-op as this code always
426 runs with user privilege now that we no longer support running sshd with
427 privilege separation disabled, but as long as the privsep skeleton is there
428 we should follow the rules.
429 MIME-Version: 1.0
430 Content-Type: text/plain; charset=UTF-8
431 Content-Transfer-Encoding: 8bit
432
433 bz#2969 with patch from Erik Sjölund
434
435 OpenBSD-Commit-ID: 2b708401a5a8d6133c865d7698d9852210dca846
436
437commit d9ecfaba0b2f1887d20e4368230632e709ca83be
438Author: jmc@openbsd.org <jmc@openbsd.org>
439Date: Mon Feb 18 07:02:34 2019 +0000
440
441 upstream: sync the description of ~/.ssh/config with djm's updated
442
443 description in ssh.1; issue pointed out by andreas kahari
444
445 ok dtucker djm
446
447 OpenBSD-Commit-ID: 1b01ef0ae2c6328165150badae317ec92e52b01c
448
449commit 38e83e4f219c752ebb1560633b73f06f0392018b
450Author: djm@openbsd.org <djm@openbsd.org>
451Date: Tue Feb 12 23:53:10 2019 +0000
452
453 upstream: fix regression in r1.302 reported by naddy@ - only the first
454
455 public key from the agent was being attempted for use.
456
457 OpenBSD-Commit-ID: 07116aea521a04888718b2157f1ca723b2f46c8d
458
459commit 5c68ea8da790d711e6dd5f4c30d089c54032c59a
460Author: djm@openbsd.org <djm@openbsd.org>
461Date: Mon Feb 11 09:44:42 2019 +0000
462
463 upstream: cleanup GSSAPI authentication context after completion of the
464
465 authmethod. Move function-static GSSAPI state to the client Authctxt
466 structure. Make static a bunch of functions that aren't used outside this
467 file.
468
469 Based on patch from Markus Schmidt <markus@blueflash.cc>; ok markus@
470
471 OpenBSD-Commit-ID: 497fb792c0ddb4f1ba631b6eed526861f115dbe5
472
473commit a8c807f1956f81a92a758d3d0237d0ff06d0be5d
474Author: benno@openbsd.org <benno@openbsd.org>
475Date: Sun Feb 10 16:35:41 2019 +0000
476
477 upstream: ssh-keygen -D pkcs11.so needs to initialize pkcs11
478
479 interactive, so it can ask for the smartcards PIN. ok markus@
480
481 OpenBSD-Commit-ID: 1be7ccf88f1876e0fc4d7c9b3f96019ac5655bab
482
483commit 3d896c157c722bc47adca51a58dca859225b5874
484Author: djm@openbsd.org <djm@openbsd.org>
485Date: Sun Feb 10 11:15:52 2019 +0000
486
487 upstream: when checking that filenames sent by the server side
488
489 match what the client requested, be prepared to handle shell-style brace
490 alternations, e.g. "{foo,bar}".
491
492 "looks good to me" millert@ + in snaps for the last week courtesy
493 deraadt@
494
495 OpenBSD-Commit-ID: 3b1ce7639b0b25b2248e3a30f561a548f6815f3e
496
497commit 318e4f8548a4f5c0c913f61e27d4fc21ffb1eaae
498Author: djm@openbsd.org <djm@openbsd.org>
499Date: Sun Feb 10 11:10:57 2019 +0000
500
501 upstream: syslog when connection is dropped for attempting to run a
502
503 command when ForceCommand=internal-sftp is in effect; bz2960; ok dtucker@
504
505 OpenBSD-Commit-ID: 8c87fa66d7fc6c0fffa3a3c28e8ab5e8dde234b8
506
507commit 2ff2e19653b8c0798b8b8eff209651bdb1be2761
508Author: Damien Miller <djm@mindrot.org>
509Date: Fri Feb 8 14:53:35 2019 +1100
510
511 don't set $MAIL if UsePam=yes
512
513 PAM typically specifies the user environment if it's enabled, so don't
514 second guess. bz#2937; ok dtucker@
515
516commit 03e92dd27d491fe6d1a54e7b2f44ef1b0a916e52
517Author: Damien Miller <djm@mindrot.org>
518Date: Fri Feb 8 14:50:36 2019 +1100
519
520 use same close logic for stderr as stdout
521
522 Avoids sending SIGPIPE to child processes after their parent exits
523 if they attempt to write to stderr.
524
525 Analysis and patch from JD Paul; patch reworked by Jakub Jelen and
526 myself. bz#2071; ok dtucker@
527
528commit 8c53d409baeeaf652c0c125a9b164edc9dbeb6de
529Author: dtucker@openbsd.org <dtucker@openbsd.org>
530Date: Tue Feb 5 11:35:56 2019 +0000
531
532 upstream: Adapt code in the non-USE_PIPES codepath to the new packet
533
534 API. This code is not normally reachable since USE_PIPES is always defined.
535 bz#2961, patch from adrian.fita at gmail com.
536
537 OpenBSD-Commit-ID: 8d8428d678d1d5eb4bb21921df34e8173e6d238a
538
539commit 7a7fdca78de4b4774950be056099e579ef595414
540Author: djm@openbsd.org <djm@openbsd.org>
541Date: Mon Feb 4 23:37:54 2019 +0000
542
543 upstream: fix NULL-deref crash in PKCS#11 code when attempting
544
545 login to a token requiring a PIN; reported by benno@ fix mostly by markus@
546
547 OpenBSD-Commit-ID: 438d0b114b1b4ba25a9869733db1921209aa9a31
548
549commit cac302a4b42a988e54d32eb254b29b79b648dbf5
550Author: dtucker@openbsd.org <dtucker@openbsd.org>
551Date: Mon Feb 4 02:39:42 2019 +0000
552
553 upstream: Remove obsolete "Protocol" from commented out examples. Patch
554
555 from samy.mahmoudi at gmail com.
556
557 OpenBSD-Commit-ID: 16aede33dae299725a03abdac5dcb4d73f5d0cbf
558
559commit 483b3b638500fd498b4b529356e5a0e18cf76891
560Author: dtucker@openbsd.org <dtucker@openbsd.org>
561Date: Fri Feb 1 03:52:23 2019 +0000
562
563 upstream: Save connection timeout and restore for 2nd and
564
565 subsequent attempts, preventing them from having no timeout. bz#2918, ok
566 djm@
567
568 OpenBSD-Commit-ID: 4977f1d0521d9b6bba0c9a20d3d226cefac48292
569
570commit 5f004620fdc1b2108139300ee12f4014530fb559
571Author: markus@openbsd.org <markus@openbsd.org>
572Date: Wed Jan 30 19:51:15 2019 +0000
573
574 upstream: Add authors for public domain sntrup4591761 code;
575
576 confirmed by Daniel J. Bernstein
577
578 OpenBSD-Commit-ID: b4621f22b8b8ef13e063c852af5e54dbbfa413c1
579
580commit 2c21b75a7be6ebdcbceaebb43157c48dbb36f3d8
581Author: jmc@openbsd.org <jmc@openbsd.org>
582Date: Sun Jan 27 07:14:11 2019 +0000
583
584 upstream: add -T to usage();
585
586 OpenBSD-Commit-ID: a7ae14d9436c64e1bd05022329187ea3a0ce1899
587
588commit 19a0f0529d3df04118da829528cac7ceff380b24
589Author: dtucker@openbsd.org <dtucker@openbsd.org>
590Date: Mon Jan 28 03:50:39 2019 +0000
591
592 upstream: The test sshd_config in in $OBJ.
593
594 OpenBSD-Regress-ID: 1e5d908a286d8e7de3a15a0020c8857f3a7c9172
595
596commit 8fe25440206319d15b52d12b948a5dfdec14dca3
597Author: dtucker@openbsd.org <dtucker@openbsd.org>
598Date: Mon Jan 28 03:28:10 2019 +0000
599
600 upstream: Remove leftover debugging.
601
602 OpenBSD-Regress-ID: 3d86c3d4867e46b35af3fd2ac8c96df0ffdcfeb9
603
604commit e30d32364d12c351eec9e14be6c61116f9d6cc90
605Author: dtucker@openbsd.org <dtucker@openbsd.org>
606Date: Mon Jan 28 00:12:36 2019 +0000
607
608 upstream: Enable ssh-dss for the agent test. Disable it for the
609
610 certificate test.
611
612 OpenBSD-Regress-ID: 388c1e03e1def539d350f139b37d69f12334668d
613
614commit ffdde469ed56249f5dc8af98da468dde35531398
615Author: dtucker@openbsd.org <dtucker@openbsd.org>
616Date: Mon Jan 28 00:08:26 2019 +0000
617
618 upstream: Count the number of key types instead of assuming there
619
620 are only two.
621
622 OpenBSD-Regress-ID: 0998702c41235782cf0beee396ec49b5056eaed9
623
624commit 1d05b4adcba08ab068466e5c08dee2f5417ec53a
625Author: Corinna Vinschen <vinschen@redhat.com>
626Date: Sat Jan 26 23:42:40 2019 +0100
627
628 Cygwin: only tweak sshd_config file if it's new, drop creating sshd user
629
630 The sshd_config tweaks were executed even if the old file was
631 still in place. Fix that. Also disable sshd user creation.
632 It's not used on Cygwin.
633
634commit 89843de0c4c733501f6b4f988098e6e06963df37
635Author: Corinna Vinschen <vinschen@redhat.com>
636Date: Sat Jan 26 23:03:12 2019 +0100
637
638 Cygwin: Change service name to cygsshd
639
640 Microsoft hijacked the sshd service name without asking.
641
642commit 2a9b3a2ce411d16cda9c79ab713c55f65b0ec257
643Author: dtucker@openbsd.org <dtucker@openbsd.org>
644Date: Sun Jan 27 06:30:53 2019 +0000
645
646 upstream: Generate all key supported key types and enable for keyscan
647
648 test.
649
650 OpenBSD-Regress-ID: 72f72ff49946c61bc949e1692dd9e3d71370891b
651
652commit 391ffc4b9d31fa1f4ad566499fef9176ff8a07dc
653Author: djm@openbsd.org <djm@openbsd.org>
654Date: Sat Jan 26 22:41:28 2019 +0000
655
656 upstream: check in scp client that filenames sent during
657
658 remote->local directory copies satisfy the wildcard specified by the user.
659
660 This checking provides some protection against a malicious server
661 sending unexpected filenames, but it comes at a risk of rejecting wanted
662 files due to differences between client and server wildcard expansion rules.
663
664 For this reason, this also adds a new -T flag to disable the check.
665
666 reported by Harry Sintonen
667 fix approach suggested by markus@;
668 has been in snaps for ~1wk courtesy deraadt@
669
670 OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda
671
672commit c2c18a39683db382a15b438632afab3f551d50ce
673Author: djm@openbsd.org <djm@openbsd.org>
674Date: Sat Jan 26 22:35:01 2019 +0000
675
676 upstream: make ssh-keyscan return a non-zero exit status if it
677
678 finds no keys. bz#2903
679
680 OpenBSD-Commit-ID: 89f1081fb81d950ebb48e6e73d21807b2723d488
681
682commit 05b9a466700b44d49492edc2aa415fc2e8913dfe
683Author: dtucker@openbsd.org <dtucker@openbsd.org>
684Date: Thu Jan 24 17:00:29 2019 +0000
685
686 upstream: Accept the host key fingerprint as a synonym for "yes"
687
688 when accepting an unknown host key. This allows you to paste a fingerprint
689 obtained out of band into the yes/no prompt and have the client do the
690 comparison for you. ok markus@ djm@
691
692 OpenBSD-Commit-ID: 3c47d10b9f43d3d345e044fd9ec09709583a2767
693
694commit bdc6c63c80b55bcbaa66b5fde31c1cb1d09a41eb
695Author: dtucker@openbsd.org <dtucker@openbsd.org>
696Date: Thu Jan 24 16:52:17 2019 +0000
697
698 upstream: Have progressmeter force an update at the beginning and
699
700 end of each transfer. Fixes the problem recently introduces where very quick
701 transfers do not display the progressmeter at all. Spotted by naddy@
702
703 OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a
704
705commit 258e6ca003e47f944688ad8b8de087b58a7d966c
706Author: dtucker@openbsd.org <dtucker@openbsd.org>
707Date: Thu Jan 24 02:42:23 2019 +0000
708
709 upstream: Check for both EAGAIN and EWOULDBLOCK. This is a no-op
710
711 in OpenBSD (they are the same value) but makes things easier in -portable
712 where they may be distinct values. "sigh ok" deraadt@
713
714 (ID sync only, portable already had this change).
715
716 OpenBSD-Commit-ID: 91f2bc7c0ecec905915ed59fa37feb9cc90e17d7
717
718commit 281ce042579b834cdc1e74314f1fb2eeb75d2612
719Author: dtucker@openbsd.org <dtucker@openbsd.org>
720Date: Thu Jan 24 02:34:52 2019 +0000
721
722 upstream: Always initialize 2nd arg to hpdelim2. It populates that
723
724 *ONLY IF* there's a delimiter. If there's not (the common case) it checked
725 uninitialized memory, which usually passed, but if not would cause spurious
726 failures when the uninitialized memory happens to contain "/". ok deraadt.
727
728 OpenBSD-Commit-ID: 4291611eaf2a53d4c92f4a57c7f267c9f944e0d3
729
730commit d05ea255678d9402beda4416cd0360f3e5dfe938
731Author: dtucker@openbsd.org <dtucker@openbsd.org>
732Date: Wed Jan 23 21:50:56 2019 +0000
733
734 upstream: Remove support for obsolete host/port syntax.
735
736 host/port was added in 2001 as an alternative to host:port syntax for
737 the benefit of IPv6 users. These days there are establised standards
738 for this like [::1]:22 and the slash syntax is easily mistaken for CIDR
739 notation, which OpenSSH now supports for some things. Remove the slash
740 notation from ListenAddress and PermitOpen. bz#2335, patch from jjelen
741 at redhat.com, ok markus@
742
743 OpenBSD-Commit-ID: fae5f4e23c51a368d6b2d98376069ac2b10ad4b7
744
745commit 177d6c80c557a5e060cd343a0c116a2f1a7f43db
746Author: dtucker@openbsd.org <dtucker@openbsd.org>
747Date: Wed Jan 23 20:48:52 2019 +0000
748
749 upstream: Remove duplicate word. bz#2958, patch from jjelen at
750
751 redhat.com
752
753 OpenBSD-Commit-ID: cca3965a8333f2b6aae48b79ec1d72f7a830dd2c
754
755commit be3e6cba95dffe5fcf190c713525b48c837e7875
756Author: dtucker@openbsd.org <dtucker@openbsd.org>
757Date: Wed Jan 23 09:49:00 2019 +0000
758
759 upstream: Remove 3 as a guess for possible generator during moduli
760
761 generation. It's not mentioned in RFC4419 and it's not possible for
762 Sophie-Germain primes greater than 5. bz#2330, from Christian Wittenhorst ,
763 ok djm@ tb@
764
765 OpenBSD-Commit-ID: 1467652e6802ad3333b0959282d8d49dfe22c8cd
766
767commit 8976f1c4b2721c26e878151f52bdf346dfe2d54c
768Author: dtucker@openbsd.org <dtucker@openbsd.org>
769Date: Wed Jan 23 08:01:46 2019 +0000
770
771 upstream: Sanitize scp filenames via snmprintf. To do this we move
772
773 the progressmeter formatting outside of signal handler context and have the
774 atomicio callback called for EINTR too. bz#2434 with contributions from djm
775 and jjelen at redhat.com, ok djm@
776
777 OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8
778
779commit 6249451f381755f792c6b9e2c2f80cdc699c14e2
780Author: Darren Tucker <dtucker@dtucker.net>
781Date: Thu Jan 24 10:00:20 2019 +1100
782
783 For broken read/readv comparisons, poll(RW).
784
785 In the cases where we can't compare to read or readv function pointers
786 for some reason we currently ifdef out the poll() used to block while
787 waiting for reads or writes, falling back to busy waiting. This restores
788 the poll() in this case, but has it always check for read or write,
789 removing an inline ifdef in the process.
790
791commit 5cb503dff4db251520e8bf7d23b9c97c06eee031
792Author: Darren Tucker <dtucker@dtucker.net>
793Date: Thu Jan 24 09:55:16 2019 +1100
794
795 Include unistd.h for strmode().
796
797commit f236ca2741f29b5c443c0b2db3aa9afb9ad9befe
798Author: Darren Tucker <dtucker@dtucker.net>
799Date: Thu Jan 24 09:50:58 2019 +1100
800
801 Also undef SIMPLEQ_FOREACH_SAFE.
802
803 Prevents macro redefinition warning on at least NetBSD 6.1.
804
805commit be063945e4e7d46b1734d973bf244c350fae172a
806Author: djm@openbsd.org <djm@openbsd.org>
807Date: Wed Jan 23 04:51:02 2019 +0000
808
809 upstream: allow auto-incrementing certificate serial number for certs
810
811 signed in a single commandline.
812
813 OpenBSD-Commit-ID: 39881087641efb8cd83c7ec13b9c98280633f45b
814
815commit 851f80328931975fe68f71af363c4537cb896da2
816Author: djm@openbsd.org <djm@openbsd.org>
817Date: Wed Jan 23 04:16:22 2019 +0000
818
819 upstream: move a bunch of global flag variables to main(); make the
820
821 rest static
822
823 OpenBSD-Commit-ID: fa431d92584e81fe99f95882f4c56b43fe3242dc
824
825commit 2265402dc7d701a9aca9f8a7b7b0fd45b65c479f
826Author: Damien Miller <djm@mindrot.org>
827Date: Wed Jan 23 13:03:16 2019 +1100
828
829 depend
830
831commit 2c223878e53cc46def760add459f5f7c4fb43e35
832Author: djm@openbsd.org <djm@openbsd.org>
833Date: Wed Jan 23 02:01:10 2019 +0000
834
835 upstream: switch mainloop from select(2) to poll(2); ok deraadt@
836
837 OpenBSD-Commit-ID: 37645419a330037d297f6f0adc3b3663e7ae7b2e
838
839commit bb956eaa94757ad058ff43631c3a7d6c94d38c2f
840Author: djm@openbsd.org <djm@openbsd.org>
841Date: Wed Jan 23 00:30:41 2019 +0000
842
843 upstream: pass most arguments to the KEX hash functions as sshbuf
844
845 rather than pointer+length; ok markus@
846
847 OpenBSD-Commit-ID: ef0c89c52ccc89817a13a5205725148a28492bf7
848
849commit d691588b8e29622c66abf8932362b522cf7f4051
850Author: djm@openbsd.org <djm@openbsd.org>
851Date: Tue Jan 22 22:58:50 2019 +0000
852
853 upstream: backoff reading messages from active connections when the
854
855 input buffer is too full to read one, or if the output buffer is too full to
856 enqueue a response; feedback & ok dtucker@
857
858 OpenBSD-Commit-ID: df3c5b6d57c968975875de40d8955cbfed05a6c8
859
860commit f99ef8de967949a1fc25a5c28263ea32736e5943
861Author: djm@openbsd.org <djm@openbsd.org>
862Date: Tue Jan 22 20:48:01 2019 +0000
863
864 upstream: add -m to usage(); reminded by jmc@
865
866 OpenBSD-Commit-ID: bca476a5236e8f94210290b3e6a507af0434613e
867
868commit 41923ce06ac149453debe472238e0cca7d5a2e5f
869Author: djm@openbsd.org <djm@openbsd.org>
870Date: Tue Jan 22 12:03:58 2019 +0000
871
872 upstream: Correct some bugs in PKCS#11 token PIN handling at
873
874 initial login, the attempt at reading the PIN could be skipped in some cases
875 especially on devices with integrated PIN readers.
876
877 based on patch from Daniel Kucera in bz#2652; ok markus@
878
879 OpenBSD-Commit-ID: fad70a61c60610afe8bb0db538c90e343e75e58e
880
881commit 2162171ad517501ba511fa9f8191945d01857bb4
882Author: djm@openbsd.org <djm@openbsd.org>
883Date: Tue Jan 22 12:00:50 2019 +0000
884
885 upstream: Support keys that set the CKA_ALWAYS_AUTHENTICATE by
886
887 requring a fresh login after the C_SignInit operation.
888
889 based on patch from Jakub Jelen in bz#2638; ok markus
890
891 OpenBSD-Commit-ID: a76e66996ba7c0923b46b74d46d499b811786661
892
893commit 7a2cb18a215b2cb335da3dc99489c52a91f4925b
894Author: djm@openbsd.org <djm@openbsd.org>
895Date: Tue Jan 22 11:51:25 2019 +0000
896
897 upstream: Mention that configuration for the destination host is
898
899 not applied to any ProxyJump/-J hosts. This has confused a few people...
900
901 OpenBSD-Commit-ID: 03f4f641df6ca236c1bfc69836a256b873db868b
902
903commit ecd2f33cb772db4fa76776543599f1c1ab6f9fa0
904Author: djm@openbsd.org <djm@openbsd.org>
905Date: Tue Jan 22 11:40:42 2019 +0000
906
907 upstream: Include -m in the synopsis for a few more commands that
908
909 support it
910
911 Be more explicit in the description of -m about where it may be used
912
913 Prompted by Jakub Jelen in bz2904
914
915 OpenBSD-Commit-ID: 3b398ac5e05d8a6356710d0ff114536c9d71046c
916
917commit ff5d2cf4ca373bb4002eef395ed2cbe2ff0826c1
918Author: djm@openbsd.org <djm@openbsd.org>
919Date: Tue Jan 22 11:26:16 2019 +0000
920
921 upstream: print the full pubkey being attempted at loglevel >=
922
923 debug2; bz2939
924
925 OpenBSD-Commit-ID: ac0fe5ca1429ebf4d460bad602adc96de0d7e290
926
927commit 180b520e2bab33b566b4b0cbac7d5f9940935011
928Author: djm@openbsd.org <djm@openbsd.org>
929Date: Tue Jan 22 11:19:42 2019 +0000
930
931 upstream: clarify: ssh-keygen -e only writes public keys, never
932
933 private
934
935 OpenBSD-Commit-ID: 7de7ff6d274d82febf9feb641e2415ffd6a30bfb
936
937commit c45616a199c322ca674315de88e788f1d2596e26
938Author: djm@openbsd.org <djm@openbsd.org>
939Date: Tue Jan 22 11:00:15 2019 +0000
940
941 upstream: mention the new vs. old key formats in the introduction
942
943 and give some hints on how keys may be converted or written in the old
944 format.
945
946 OpenBSD-Commit-ID: 9c90a9f92eddc249e07fad1204d0e15c8aa13823
947
948commit fd8eb1383a34c986a00ef13d745ae9bd3ea21760
949Author: jmc@openbsd.org <jmc@openbsd.org>
950Date: Tue Jan 22 06:58:31 2019 +0000
951
952 upstream: tweak previous;
953
954 OpenBSD-Commit-ID: d2a80e389da8e7ed71978643d8cbaa8605b597a8
955
956commit 68e924d5473c00057f8532af57741d258c478223
957Author: tb@openbsd.org <tb@openbsd.org>
958Date: Mon Jan 21 23:55:12 2019 +0000
959
960 upstream: Forgot to add -J to the synopsis.
961
962 OpenBSD-Commit-ID: 26d95e409a0b72526526fc56ca1caca5cc3d3c5e
963
964commit 622dedf1a884f2927a9121e672bd9955e12ba108
965Author: tb@openbsd.org <tb@openbsd.org>
966Date: Mon Jan 21 22:50:42 2019 +0000
967
968 upstream: Add a -J option as a shortcut for -o Proxyjump= to scp(1)
969
970 and sftp(1) to match ssh(1)'s interface.
971
972 ok djm
973
974 OpenBSD-Commit-ID: a75bc2d5f329caa7229a7e9fe346c4f41c2663fc
975
976commit c882d74652800150d538e22c80dd2bd3cdd5fae2
977Author: Darren Tucker <dtucker@dtucker.net>
978Date: Tue Jan 22 20:38:40 2019 +1100
979
980 Allow building against OpenSSL dev (3.x) version.
981
982commit d5520393572eb24aa0e001a1c61f49b104396e45
983Author: Damien Miller <djm@mindrot.org>
984Date: Tue Jan 22 10:50:40 2019 +1100
985
986 typo
987
988commit 2de9cec54230998ab10161576f77860a2559ccb7
989Author: Damien Miller <djm@mindrot.org>
990Date: Tue Jan 22 10:49:52 2019 +1100
991
992 add missing header
993
994commit 533cfb01e49a2a30354e191669dc3159e03e99a7
995Author: djm@openbsd.org <djm@openbsd.org>
996Date: Mon Jan 21 22:18:24 2019 +0000
997
998 upstream: switch sntrup implementation source from supercop to
999
1000 libpqcrypto; the latter is almost identical but doesn't rely on signed
1001 underflow to implement an optimised integer sort; from markus@
1002
1003 OpenBSD-Commit-ID: cd09bbf0e0fcef1bedca69fdf7990dc360567cf8
1004
1005commit d50ab3cd6fb859888a26b4d4e333239b4f6bf573
1006Author: Damien Miller <djm@mindrot.org>
1007Date: Tue Jan 22 00:02:23 2019 +1100
1008
1009 new files need includes.h
1010
1011commit c7670b091a7174760d619ef6738b4f26b2093301
1012Author: djm@openbsd.org <djm@openbsd.org>
1013Date: Mon Jan 21 12:53:35 2019 +0000
1014
1015 upstream: add "-v" flags to ssh-add and ssh-pkcs11-helper to turn up
1016
1017 debug verbosity.
1018
1019 Make ssh-agent turn on ssh-pkcs11-helper's verbosity when it is run
1020 in debug mode ("ssh-agent -d"), so we get to see errors from the
1021 PKCS#11 code.
1022
1023 ok markus@
1024
1025 OpenBSD-Commit-ID: 0a798643c6a92a508df6bd121253ba1c8bee659d
1026
1027commit 49d8c8e214d39acf752903566b105d06c565442a
1028Author: djm@openbsd.org <djm@openbsd.org>
1029Date: Mon Jan 21 12:50:12 2019 +0000
1030
1031 upstream: adapt to changes in KEX APIs and file removals
1032
1033 OpenBSD-Regress-ID: 54d6857e7c58999c7a6d40942ab0fed3529f43ca
1034
1035commit 35ecc53a83f8e8baab2e37549addfd05c73c30f1
1036Author: djm@openbsd.org <djm@openbsd.org>
1037Date: Mon Jan 21 12:35:20 2019 +0000
1038
1039 upstream: adapt to changes in KEX API and file removals
1040
1041 OpenBSD-Regress-ID: 92cad022d3b0d11e08f3e0055d6a14b8f994c0d7
1042
1043commit 7d69aae64c35868cc4f644583ab973113a79480e
1044Author: djm@openbsd.org <djm@openbsd.org>
1045Date: Mon Jan 21 12:29:35 2019 +0000
1046
1047 upstream: adapt to bignum1 API removal and bignum2 API change
1048
1049 OpenBSD-Regress-ID: cea6ff270f3d560de86b355a87a2c95b55a5ca63
1050
1051commit beab553f0a9578ef9bffe28b2c779725e77b39ec
1052Author: djm@openbsd.org <djm@openbsd.org>
1053Date: Mon Jan 21 09:13:41 2019 +0000
1054
1055 upstream: remove hack to use non-system libcrypto
1056
1057 OpenBSD-Regress-ID: ce72487327eee4dfae1ab0212a1f33871fe0809f
1058
1059commit 4dc06bd57996f1a46b4c3bababe0d09bc89098f7
1060Author: Damien Miller <djm@mindrot.org>
1061Date: Mon Jan 21 23:14:04 2019 +1100
1062
1063 depend
1064
1065commit 70edd73edc4df54e5eee50cd27c25427b34612f8
1066Author: djm@openbsd.org <djm@openbsd.org>
1067Date: Mon Jan 21 12:08:13 2019 +0000
1068
1069 upstream: fix reversed arguments to kex_load_hostkey(); manifested as
1070
1071 errors in cert-hostkey.sh regress failures.
1072
1073 OpenBSD-Commit-ID: 12dab63850b844f84d5a67e86d9e21a42fba93ba
1074
1075commit f1185abbf0c9108e639297addc77f8757ee00eb3
1076Author: djm@openbsd.org <djm@openbsd.org>
1077Date: Mon Jan 21 11:22:00 2019 +0000
1078
1079 upstream: forgot to cvs add this file in previous series of commits;
1080
1081 grrr
1082
1083 OpenBSD-Commit-ID: bcff316c3e7da8fd15333e05d244442c3aaa66b0
1084
1085commit 7bef390b625bdc080f0fd4499ef03cef60fca4fa
1086Author: djm@openbsd.org <djm@openbsd.org>
1087Date: Mon Jan 21 10:44:21 2019 +0000
1088
1089 upstream: nothing shall escape this purge
1090
1091 OpenBSD-Commit-ID: 4795b0ff142b45448f7e15f3c2f77a947191b217
1092
1093commit aaca72d6f1279b842066e07bff797019efeb2c23
1094Author: djm@openbsd.org <djm@openbsd.org>
1095Date: Mon Jan 21 10:40:11 2019 +0000
1096
1097 upstream: rename kex->kem_client_pub -> kex->client_pub now that
1098
1099 KEM has been renamed to kexgen
1100
1101 from markus@ ok djm@
1102
1103 OpenBSD-Commit-ID: fac6da5dc63530ad0da537db022a9a4cfbe8bed8
1104
1105commit 70867e1ca2eb08bbd494fe9c568df4fd3b35b867
1106Author: djm@openbsd.org <djm@openbsd.org>
1107Date: Mon Jan 21 10:38:54 2019 +0000
1108
1109 upstream: merge kexkem[cs] into kexgen
1110
1111 from markus@ ok djm@
1112
1113 OpenBSD-Commit-ID: 87d886b7f1812ff9355fda1435f6ea9b71a0ac89
1114
1115commit 71e67fff946396caa110a7964da23480757258ff
1116Author: djm@openbsd.org <djm@openbsd.org>
1117Date: Mon Jan 21 10:35:09 2019 +0000
1118
1119 upstream: pass values used in KEX hash computation as sshbuf
1120
1121 rather than pointer+len
1122
1123 suggested by me; implemented by markus@ ok me
1124
1125 OpenBSD-Commit-ID: 994f33c464f4a9e0f1d21909fa3e379f5a0910f0
1126
1127commit 4b83e2a2cc0c12e671a77eaba1c1245894f4e884
1128Author: djm@openbsd.org <djm@openbsd.org>
1129Date: Mon Jan 21 10:33:49 2019 +0000
1130
1131 upstream: remove kex_derive_keys_bn wrapper; no unused since the
1132
1133 DH-like KEX methods have moved to KEM
1134
1135 from markus@ ok djm@
1136
1137 OpenBSD-Commit-ID: bde9809103832f349545e4f5bb733d316db9a060
1138
1139commit 92dda34e373832f34a1944e5d9ebbebb184dedc1
1140Author: djm@openbsd.org <djm@openbsd.org>
1141Date: Mon Jan 21 10:29:56 2019 +0000
1142
1143 upstream: use KEM API for vanilla ECDH
1144
1145 from markus@ ok djm@
1146
1147 OpenBSD-Commit-ID: 6fbff96339a929835536b5730585d1d6057a352c
1148
1149commit b72357217cbe510a3ae155307a7be6b9181f1d1b
1150Author: Damien Miller <djm@mindrot.org>
1151Date: Mon Jan 21 23:11:21 2019 +1100
1152
1153 fixup missing ssherr.h
1154
1155commit 9c9c97e14fe190931f341876ad98213e1e1dc19f
1156Author: djm@openbsd.org <djm@openbsd.org>
1157Date: Mon Jan 21 10:28:01 2019 +0000
1158
1159 upstream: use KEM API for vanilla DH KEX
1160
1161 from markus@ ok djm@
1162
1163 OpenBSD-Commit-ID: af56466426b08a8be275412ae2743319e3d277c9
1164
1165commit 2f6a9ddbbf6ca8623c53c323ff17fb6d68d66970
1166Author: djm@openbsd.org <djm@openbsd.org>
1167Date: Mon Jan 21 10:24:09 2019 +0000
1168
1169 upstream: use KEM API for vanilla c25519 KEX
1170
1171 OpenBSD-Commit-ID: 38d937b85ff770886379dd66a8f32ab0c1c35c1f
1172
1173commit dfd591618cdf2c96727ac0eb65f89cf54af0d97e
1174Author: djm@openbsd.org <djm@openbsd.org>
1175Date: Mon Jan 21 10:20:12 2019 +0000
1176
1177 upstream: Add support for a PQC KEX/KEM:
1178
1179 sntrup4591761x25519-sha512@tinyssh.org using the Streamlined NTRU Prime
1180 4591^761 implementation from SUPERCOP coupled with X25519 as a stop-loss. Not
1181 enabled by default.
1182
1183 introduce KEM API; a simplified framework for DH-ish KEX methods.
1184
1185 from markus@ feedback & ok djm@
1186
1187 OpenBSD-Commit-ID: d687f76cffd3561dd73eb302d17a1c3bf321d1a7
1188
1189commit b1b2ff4ed559051d1035419f8f236275fa66d5d6
1190Author: djm@openbsd.org <djm@openbsd.org>
1191Date: Mon Jan 21 10:07:22 2019 +0000
1192
1193 upstream: factor out kex_verify_hostkey() - again, duplicated
1194
1195 almost exactly across client and server for several KEX methods.
1196
1197 from markus@ ok djm@
1198
1199 OpenBSD-Commit-ID: 4e4a16d949dadde002a0aacf6d280a684e20829c
1200
1201commit bb39bafb6dc520cc097780f4611a52da7f19c3e2
1202Author: djm@openbsd.org <djm@openbsd.org>
1203Date: Mon Jan 21 10:05:09 2019 +0000
1204
1205 upstream: factor out kex_load_hostkey() - this is duplicated in
1206
1207 both the client and server implementations for most KEX methods.
1208
1209 from markus@ ok djm@
1210
1211 OpenBSD-Commit-ID: 8232fa7c21fbfbcaf838313b0c166dc6c8762f3c
1212
1213commit dec5e9d33891e3bc3f1395d7db0e56fdc7f86dfc
1214Author: djm@openbsd.org <djm@openbsd.org>
1215Date: Mon Jan 21 10:03:37 2019 +0000
1216
1217 upstream: factor out kex_dh_compute_key() - it's shared between
1218
1219 plain DH KEX and DH GEX in both the client and server implementations
1220
1221 from markus@ ok djm@
1222
1223 OpenBSD-Commit-ID: 12186e18791fffcd4642c82e7e0cfdd7ea37e2ec
1224
1225commit e93bd98eab79b9a78f64ee8dd4dffc4d3979c7ae
1226Author: djm@openbsd.org <djm@openbsd.org>
1227Date: Mon Jan 21 10:00:23 2019 +0000
1228
1229 upstream: factor out DH keygen; it's identical between the client
1230
1231 and the server
1232
1233 from markus@ ok djm@
1234
1235 OpenBSD-Commit-ID: 2be57f6a0d44f1ab2c8de2b1b5d6f530c387fae9
1236
1237commit 5ae3f6d314465026d028af82609c1d49ad197655
1238Author: djm@openbsd.org <djm@openbsd.org>
1239Date: Mon Jan 21 09:55:52 2019 +0000
1240
1241 upstream: save the derived session id in kex_derive_keys() rather
1242
1243 than making each kex method implementation do it.
1244
1245 from markus@ ok djm@
1246
1247 OpenBSD-Commit-ID: d61ade9c8d1e13f665f8663c552abff8c8a30673
1248
1249commit 7be8572b32a15d5c3dba897f252e2e04e991c307
1250Author: djm@openbsd.org <djm@openbsd.org>
1251Date: Mon Jan 21 09:54:11 2019 +0000
1252
1253 upstream: Make sshpkt_get_bignum2() allocate the bignum it is
1254
1255 parsing rather than make the caller do it. Saves a lot of boilerplate code.
1256
1257 from markus@ ok djm@
1258
1259 OpenBSD-Commit-ID: 576bf784f9a240f5a1401f7005364e59aed3bce9
1260
1261commit 803178bd5da7e72be94ba5b4c4c196d4b542da4d
1262Author: djm@openbsd.org <djm@openbsd.org>
1263Date: Mon Jan 21 09:52:25 2019 +0000
1264
1265 upstream: remove obsolete (SSH v.1) sshbuf_get/put_bignum1
1266
1267 functions
1268
1269 from markus@ ok djm@
1270
1271 OpenBSD-Commit-ID: 0380b1b2d9de063de3c5a097481a622e6a04943e
1272
1273commit f3ebaffd8714be31d4345f90af64992de4b3bba2
1274Author: djm@openbsd.org <djm@openbsd.org>
1275Date: Mon Jan 21 09:49:37 2019 +0000
1276
1277 upstream: fix all-zero check in kexc25519_shared_key
1278
1279 from markus@ ok djm@
1280
1281 OpenBSD-Commit-ID: 60b1d364e0d9d34d1d1ef1620cb92e36cf06712d
1282
1283commit 9d1a9771d0ad3a83af733bf3d2650b53f43c269f
1284Author: jmc@openbsd.org <jmc@openbsd.org>
1285Date: Mon Jan 21 07:09:10 2019 +0000
1286
1287 upstream: - -T was added to the first synopsis by mistake - since
1288
1289 "..." denotes optional, no need to surround it in []
1290
1291 ok djm
1292
1293 OpenBSD-Commit-ID: 918f6d8eed4e0d8d9ef5eadae1b8983d796f0e25
1294
1295commit 2f0bad2bf85391dbb41315ab55032ec522660617
1296Author: Darren Tucker <dtucker@dtucker.net>
1297Date: Mon Jan 21 21:28:27 2019 +1100
1298
1299 Make --with-rpath take a flag instead of yes/no.
1300
1301 Linkers need various flags for -rpath and similar, so make --with-rpath
1302 take an optional flag argument which is passed to the linker. ok djm@
1303
1304commit 23490a6c970ea1d03581a3b4208f2eb7a675f453
1305Author: Damien Miller <djm@mindrot.org>
1306Date: Mon Jan 21 15:05:43 2019 +1100
1307
1308 fix previous test
1309
1310commit b6dd3277f2c49f9584a2097bc792e8f480397e87
1311Author: Darren Tucker <dtucker@dtucker.net>
1312Date: Mon Jan 21 13:50:17 2019 +1100
1313
1314 Wrap ECC static globals in EC_KEY_METHOD_NEW too.
1315
1316commit b2eb9db35b7191613f2f4b934d57b25938bb34b3
1317Author: Damien Miller <djm@mindrot.org>
1318Date: Mon Jan 21 12:53:40 2019 +1100
1319
1320 pass TEST_SSH_SSHPKCS11HELPER to regress tests
1321
1322commit ba58a529f45b3dae2db68607d8c54ae96e90e705
1323Author: Damien Miller <djm@mindrot.org>
1324Date: Mon Jan 21 12:31:29 2019 +1100
1325
1326 make agent-pkcs11 search harder for softhsm2.so
1327
1328commit 662be40c62339ab645113c930ce689466f028938
1329Author: djm@openbsd.org <djm@openbsd.org>
1330Date: Mon Jan 21 02:05:38 2019 +0000
1331
1332 upstream: always print the caller's error message in ossl_error(),
1333
1334 even when there are no libcrypto errors to report.
1335
1336 OpenBSD-Commit-ID: 09ebaa8f706e0eccedd209775baa1eee2ada806a
1337
1338commit ce46c3a077dfb4c531ccffcfff03f37775725b75
1339Author: djm@openbsd.org <djm@openbsd.org>
1340Date: Mon Jan 21 02:01:03 2019 +0000
1341
1342 upstream: get the ex_data (pkcs11_key object) back from the keys at
1343
1344 the index at which it was inserted, rather than assuming index 0
1345
1346 OpenBSD-Commit-ID: 1f3a6ce0346c8014e895e50423bef16401510aa8
1347
1348commit 0a5f2ea35626022299ece3c8817a1abe8cf37b3e
1349Author: djm@openbsd.org <djm@openbsd.org>
1350Date: Mon Jan 21 01:05:00 2019 +0000
1351
1352 upstream: GSSAPI code got missed when converting to new packet API
1353
1354 OpenBSD-Commit-ID: 37e4f06ab4a0f4214430ff462ba91acba28b7851
1355
1356commit 2efcf812b4c1555ca3aff744820a3b3bccd68298
1357Author: Damien Miller <djm@mindrot.org>
1358Date: Mon Jan 21 11:57:21 2019 +1100
1359
1360 Fix -Wunused when compiling PKCS#11 without ECDSA
1361
1362commit 3c0c657ed7cd335fc05c0852d88232ca7e92a5d9
1363Author: djm@openbsd.org <djm@openbsd.org>
1364Date: Sun Jan 20 23:26:44 2019 +0000
1365
1366 upstream: allow override of ssh-pkcs11-helper binary via
1367
1368 $TEST_SSH_SSHPKCS11HELPER from markus@
1369
1370 OpenBSD-Regress-ID: 7382a3d76746f5a792d106912a5819fd5e49e469
1371
1372commit 760ae37b4505453c6fa4faf1aa39a8671ab053af
1373Author: djm@openbsd.org <djm@openbsd.org>
1374Date: Sun Jan 20 23:25:25 2019 +0000
1375
1376 upstream: adapt agent-pkcs11.sh test to softhsm2 and add support
1377
1378 for ECDSA keys
1379
1380 work by markus@, ok djm@
1381
1382 OpenBSD-Regress-ID: 1ebc2be0e88eff1b6d8be2f9c00cdc60723509fe
1383
1384commit b2ce8b31a1f974a13e6d12e0a0c132b50bc45115
1385Author: djm@openbsd.org <djm@openbsd.org>
1386Date: Sun Jan 20 23:24:19 2019 +0000
1387
1388 upstream: add "extra:" target to run some extra tests that are not
1389
1390 enabled by default (currently includes agent-pkcs11.sh); from markus@
1391
1392 OpenBSD-Regress-ID: 9a969e1adcd117fea174d368dcb9c61eb50a2a3c
1393
1394commit 632976418d60b7193597bbc6ac7ca33981a41aab
1395Author: djm@openbsd.org <djm@openbsd.org>
1396Date: Mon Jan 21 00:47:34 2019 +0000
1397
1398 upstream: use ECDSA_SIG_set0() instead of poking signature values into
1399
1400 structure directly; the latter works on LibreSSL but not on OpenSSL. From
1401 portable.
1402
1403 OpenBSD-Commit-ID: 5b22a1919d9cee907d3f8a029167f70a481891c6
1404
1405commit 5de6ac2bad11175135d9b819b3546db0ca0b4878
1406Author: Damien Miller <djm@mindrot.org>
1407Date: Mon Jan 21 11:44:19 2019 +1100
1408
1409 remove HAVE_DLOPEN that snuck in
1410
1411 portable doesn't use this
1412
1413commit e2cb445d786f7572da2af93e3433308eaed1093a
1414Author: Damien Miller <djm@mindrot.org>
1415Date: Mon Jan 21 11:32:28 2019 +1100
1416
1417 conditionalise ECDSA PKCS#11 support
1418
1419 Require EC_KEY_METHOD support in libcrypto, evidenced by presence
1420 of EC_KEY_METHOD_new() function.
1421
1422commit fcb1b0937182d0137a3c357c89735d0dc5869d54
1423Author: djm@openbsd.org <djm@openbsd.org>
1424Date: Sun Jan 20 23:12:35 2019 +0000
1425
1426 upstream: we use singleton pkcs#11 RSA_METHOD and EC_KEY_METHOD
1427
1428 now, so there is no need to keep a copy of each in the pkcs11_key object.
1429
1430 work by markus@, ok djm@
1431
1432 OpenBSD-Commit-ID: 43b4856516e45c0595f17a8e95b2daee05f12faa
1433
1434commit 6529409e85890cd6df7e5e81d04e393b1d2e4b0b
1435Author: djm@openbsd.org <djm@openbsd.org>
1436Date: Sun Jan 20 23:11:11 2019 +0000
1437
1438 upstream: KNF previous; from markus@
1439
1440 OpenBSD-Commit-ID: 3dfe35e25b310c3968b1e4e53a0cb1d03bda5395
1441
1442commit 58622a8c82f4e2aad630580543f51ba537c1f39e
1443Author: djm@openbsd.org <djm@openbsd.org>
1444Date: Sun Jan 20 23:10:33 2019 +0000
1445
1446 upstream: use OpenSSL's RSA reference counting hooks to
1447
1448 implicitly clean up pkcs11_key objects when their owning RSA object's
1449 reference count drops to zero. Simplifies the cleanup path and makes it more
1450 like ECDSA's
1451
1452 work by markus@, ok djm@
1453
1454 OpenBSD-Commit-ID: 74b9c98f405cd78f7148e9e4a4982336cd3df25c
1455
1456commit f118542fc82a3b3ab0360955b33bc5a271ea709f
1457Author: djm@openbsd.org <djm@openbsd.org>
1458Date: Sun Jan 20 23:08:24 2019 +0000
1459
1460 upstream: make the PKCS#11 RSA code more like the new PKCS#11
1461
1462 ECDSA code: use a single custom RSA_METHOD instead of a method per key
1463
1464 suggested by me, but markus@ did all the work.
1465 ok djm@
1466
1467 OpenBSD-Commit-ID: 8aafcebe923dc742fc5537a995cee549d07e4b2e
1468
1469commit 445cfce49dfc904c6b8ab25afa2f43130296c1a5
1470Author: djm@openbsd.org <djm@openbsd.org>
1471Date: Sun Jan 20 23:05:52 2019 +0000
1472
1473 upstream: fix leak of ECDSA pkcs11_key objects
1474
1475 work by markus, ok djm@
1476
1477 OpenBSD-Commit-ID: 9fc0c4f1d640aaa5f19b8d70f37ea19b8ad284a1
1478
1479commit 8a2467583f0b5760787273796ec929190c3f16ee
1480Author: djm@openbsd.org <djm@openbsd.org>
1481Date: Sun Jan 20 23:03:26 2019 +0000
1482
1483 upstream: use EVP_PKEY_get0_EC_KEY() instead of direct access of
1484
1485 EC_KEY internals as that won't work on OpenSSL
1486
1487 work by markus@, feedback and ok djm@
1488
1489 OpenBSD-Commit-ID: 4a99cdb89fbd6f5155ef8c521c99dc66e2612700
1490
1491commit 24757c1ae309324e98d50e5935478655be04e549
1492Author: djm@openbsd.org <djm@openbsd.org>
1493Date: Sun Jan 20 23:01:59 2019 +0000
1494
1495 upstream: cleanup PKCS#11 ECDSA pubkey loading: the returned
1496
1497 object should never have a DER header
1498
1499 work by markus; feedback and ok djm@
1500
1501 OpenBSD-Commit-ID: b617fa585eddbbf0b1245b58b7a3c4b8d613db17
1502
1503commit 749aef30321595435ddacef2f31d7a8f2b289309
1504Author: djm@openbsd.org <djm@openbsd.org>
1505Date: Sun Jan 20 23:00:12 2019 +0000
1506
1507 upstream: cleanup unnecessary code in ECDSA pkcs#11 signature
1508
1509 work by markus@, feedback and ok djm@
1510
1511 OpenBSD-Commit-ID: affa5ca7d58d59fbd16169f77771dcdbd2b0306d
1512
1513commit 0c50992af49b562970dd0ba3f8f151f1119e260e
1514Author: djm@openbsd.org <djm@openbsd.org>
1515Date: Sun Jan 20 22:57:45 2019 +0000
1516
1517 upstream: cleanup pkcs#11 client code: use sshkey_new in instead
1518
1519 of stack- allocating a sshkey
1520
1521 work by markus@, ok djm@
1522
1523 OpenBSD-Commit-ID: a048eb6ec8aa7fa97330af927022c0da77521f91
1524
1525commit 854bd8674ee5074a239f7cadf757d55454802e41
1526Author: djm@openbsd.org <djm@openbsd.org>
1527Date: Sun Jan 20 22:54:30 2019 +0000
1528
1529 upstream: allow override of the pkcs#11 helper binary via
1530
1531 $SSH_PKCS11_HELPER; needed for regress tests.
1532
1533 work by markus@, ok me
1534
1535 OpenBSD-Commit-ID: f78d8185500bd7c37aeaf7bd27336db62f0f7a83
1536
1537commit 93f02107f44d63a016d8c23ebd2ca9205c495c48
1538Author: djm@openbsd.org <djm@openbsd.org>
1539Date: Sun Jan 20 22:51:37 2019 +0000
1540
1541 upstream: add support for ECDSA keys in PKCS#11 tokens
1542
1543 Work by markus@ and Pedro Martelletto, feedback and ok me@
1544
1545 OpenBSD-Commit-ID: a37d651e221341376636056512bddfc16efb4424
1546
1547commit aa22c20e0c36c2fc610cfcc793b0d14079c38814
1548Author: djm@openbsd.org <djm@openbsd.org>
1549Date: Sun Jan 20 22:03:29 2019 +0000
1550
1551 upstream: add option to test whether keys in an agent are usable,
1552
1553 by performing a signature and a verification using each key "ssh-add -T
1554 pubkey [...]"
1555
1556 work by markus@, ok djm@
1557
1558 OpenBSD-Commit-ID: 931b888a600b6a883f65375bd5f73a4776c6d19b
1559
1560commit a36b0b14a12971086034d53c0c3dfbad07665abe
1561Author: tb@openbsd.org <tb@openbsd.org>
1562Date: Sun Jan 20 02:01:59 2019 +0000
1563
1564 upstream: Fix BN_is_prime_* calls in SSH, the API returns -1 on
1565
1566 error.
1567
1568 Found thanks to BoringSSL's commit 53409ee3d7595ed37da472bc73b010cd2c8a5ffd
1569 by David Benjamin.
1570
1571 ok djm, dtucker
1572
1573 OpenBSD-Commit-ID: 1ee832be3c44b1337f76b8562ec6d203f3b072f8
1574
1575commit ec4776bb01dd8d61fddc7d2a31ab10bf3d3d829a
1576Author: dtucker@openbsd.org <dtucker@openbsd.org>
1577Date: Sun Jan 20 01:12:40 2019 +0000
1578
1579 upstream: DH-GEX min value is now specified in RFC8270. ok djm@
1580
1581 OpenBSD-Commit-ID: 1229d0feb1d0ecefe05bf67a17578b263e991acc
1582
1583commit c90a7928c4191303e76a8c58b9008d464287ae1b
1584Author: Darren Tucker <dtucker@dtucker.net>
1585Date: Mon Jan 21 09:22:36 2019 +1100
1586
1587 Check for cc before gcc.
1588
1589 If cc is something other than gcc and is the system compiler prefer using
1590 that, unless otherwise told via $CC. ok djm@
1591
1592commit 9b655dc9c9a353f0a527f0c6c43a5e35653c9503
1593Author: Damien Miller <djm@mindrot.org>
1594Date: Sun Jan 20 14:55:27 2019 +1100
1595
1596 last bits of old packet API / active_state global
1597
1598commit 3f0786bbe73609ac96e5a0d91425ee21129f8e04
1599Author: Damien Miller <djm@mindrot.org>
1600Date: Sun Jan 20 10:22:18 2019 +1100
1601
1602 remove PAM dependencies on old packet API
1603
1604 Requires some caching of values, because the PAM code isn't
1605 always called with packet context.
1606
1607commit 08f66d9f17e12c1140d1f1cf5c4dce67e915d3cc
1608Author: Damien Miller <djm@mindrot.org>
1609Date: Sun Jan 20 09:58:45 2019 +1100
1610
1611 remove vestiges of old packet API from loginrec.c
1612
1613commit c327813ea1d740e3e367109c17873815aba1328e
1614Author: Damien Miller <djm@mindrot.org>
1615Date: Sun Jan 20 09:45:38 2019 +1100
1616
1617 depend
1618
1619commit 135e302cfdbe91817294317c337cc38c3ff01cba
1620Author: djm@openbsd.org <djm@openbsd.org>
1621Date: Sat Jan 19 22:30:52 2019 +0000
1622
1623 upstream: fix error in refactor: use ssh_packet_disconnect() instead of
1624
1625 sshpkt_error(). The first one logs the error and exits (what we want) instead
1626 of just logging and blundering on.
1627
1628 OpenBSD-Commit-ID: 39f51b43641dce9ce0f408ea6c0e6e077e2e91ae
1629
1630commit 245c6a0b220b58686ee35bc5fc1c359e9be2faaa
1631Author: djm@openbsd.org <djm@openbsd.org>
1632Date: Sat Jan 19 21:45:31 2019 +0000
1633
1634 upstream: remove last traces of old packet API!
1635
1636 with & ok markus@
1637
1638 OpenBSD-Commit-ID: 9bd10437026423eb8245636ad34797a20fbafd7d
1639
1640commit 04c091fc199f17dacf8921df0a06634b454e2722
1641Author: djm@openbsd.org <djm@openbsd.org>
1642Date: Sat Jan 19 21:43:56 2019 +0000
1643
1644 upstream: remove last references to active_state
1645
1646 with & ok markus@
1647
1648 OpenBSD-Commit-ID: 78619a50ea7e4ca2f3b54d4658b3227277490ba2
1649
1650commit ec00f918b8ad90295044266c433340a8adc93452
1651Author: djm@openbsd.org <djm@openbsd.org>
1652Date: Sat Jan 19 21:43:07 2019 +0000
1653
1654 upstream: convert monitor.c to new packet API
1655
1656 with & ok markus@
1657
1658 OpenBSD-Commit-ID: 61ecd154bd9804461a0cf5f495a29d919e0014d5
1659
1660commit 6350e0316981489d4205952d6904d6fedba5bfe0
1661Author: djm@openbsd.org <djm@openbsd.org>
1662Date: Sat Jan 19 21:42:30 2019 +0000
1663
1664 upstream: convert sshd.c to new packet API
1665
1666 with & ok markus@
1667
1668 OpenBSD-Commit-ID: ea569d3eaf9b5cf1bad52779fbfa5fa0b28af891
1669
1670commit a5e2ad88acff2b7d131ee6d5dc5d339b0f8c6a6d
1671Author: djm@openbsd.org <djm@openbsd.org>
1672Date: Sat Jan 19 21:41:53 2019 +0000
1673
1674 upstream: convert session.c to new packet API
1675
1676 with & ok markus@
1677
1678 OpenBSD-Commit-ID: fae817207e23099ddd248960c984f7b7f26ea68e
1679
1680commit 3a00a921590d4c4b7e96df11bb10e6f9253ad45e
1681Author: djm@openbsd.org <djm@openbsd.org>
1682Date: Sat Jan 19 21:41:18 2019 +0000
1683
1684 upstream: convert auth.c to new packet API
1685
1686 with & ok markus@
1687
1688 OpenBSD-Commit-ID: 7e10359f614ff522b52a3f05eec576257794e8e4
1689
1690commit 7ec5cb4d15ed2f2c5c9f5d00e6b361d136fc1e2d
1691Author: djm@openbsd.org <djm@openbsd.org>
1692Date: Sat Jan 19 21:40:48 2019 +0000
1693
1694 upstream: convert serverloop.c to new packet API
1695
1696 with & ok markus@
1697
1698 OpenBSD-Commit-ID: c92dd19b55457541478f95c0d6b318426d86d885
1699
1700commit 64c9598ac05332d1327cbf55334dee4172d216c4
1701Author: djm@openbsd.org <djm@openbsd.org>
1702Date: Sat Jan 19 21:40:21 2019 +0000
1703
1704 upstream: convert the remainder of sshconnect2.c to new packet
1705
1706 API
1707
1708 with & ok markus@
1709
1710 OpenBSD-Commit-ID: 0986d324f2ceb5e8a12ac21c1bb10b3b4b1e0f71
1711
1712commit bc5e1169d101d16e3a5962a928db2bc49a8ef5a3
1713Author: djm@openbsd.org <djm@openbsd.org>
1714Date: Sat Jan 19 21:39:12 2019 +0000
1715
1716 upstream: convert the remainder of clientloop.c to new packet API
1717
1718 with & ok markus@
1719
1720 OpenBSD-Commit-ID: ce2fbbacb86a290f31da1e7bf04cddf2bdae3d1e
1721
1722commit 5ebce136a6105f084db8f0d7ee41981d42daec40
1723Author: Damien Miller <djm@mindrot.org>
1724Date: Sun Jan 20 09:44:53 2019 +1100
1725
1726 upstream: convert auth2.c to new packet API
1727
1728 OpenBSD-Commit-ID: ed831bb95ad228c6791bc18b60ce7a2edef2c999
1729
1730commit 172a592a53ebe8649c4ac0d7946e6c08eb151af6
1731Author: djm@openbsd.org <djm@openbsd.org>
1732Date: Sat Jan 19 21:37:48 2019 +0000
1733
1734 upstream: convert servconf.c to new packet API
1735
1736 with & ok markus@
1737
1738 OpenBSD-Commit-ID: 126553aecca302c9e02fd77e333b9cb217e623b4
1739
1740commit 8cc7a679d29cf6ecccfa08191e688c7f81ef95c2
1741Author: djm@openbsd.org <djm@openbsd.org>
1742Date: Sat Jan 19 21:37:13 2019 +0000
1743
1744 upstream: convert channels.c to new packet API
1745
1746 with & ok markus@
1747
1748 OpenBSD-Commit-ID: 0b8279b56113cbd4011fc91315c0796b63dc862c
1749
1750commit 06232038c794c7dfcb087be0ab0b3e65b09fd396
1751Author: djm@openbsd.org <djm@openbsd.org>
1752Date: Sat Jan 19 21:36:38 2019 +0000
1753
1754 upstream: convert sshconnect.c to new packet API
1755
1756 with & ok markus@
1757
1758 OpenBSD-Commit-ID: 222337cf6c96c347f1022d976fac74b4257c061f
1759
1760commit 25b2ed667216314471bb66752442c55b95792dc3
1761Author: djm@openbsd.org <djm@openbsd.org>
1762Date: Sat Jan 19 21:36:06 2019 +0000
1763
1764 upstream: convert ssh.c to new packet API
1765
1766 with & ok markus@
1767
1768 OpenBSD-Commit-ID: eb146878b24e85c2a09ee171afa6797c166a2e21
1769
1770commit e3128b38623eef2fa8d6e7ae934d3bd08c7e973e
1771Author: djm@openbsd.org <djm@openbsd.org>
1772Date: Sat Jan 19 21:35:25 2019 +0000
1773
1774 upstream: convert mux.c to new packet API
1775
1776 with & ok markus@
1777
1778 OpenBSD-Commit-ID: 4e3893937bae66416e984b282d8f0f800aafd802
1779
1780commit ed1df7226caf3a943a36d580d4d4e9275f8a61ee
1781Author: djm@openbsd.org <djm@openbsd.org>
1782Date: Sat Jan 19 21:34:45 2019 +0000
1783
1784 upstream: convert sshconnect2.c to new packet API
1785
1786 with & ok markus@
1787
1788 OpenBSD-Commit-ID: 1cb869e0d6e03539f943235641ea070cae2ebc58
1789
1790commit 23f22a4aaa923c61ec49a99ebaa383656e87fa40
1791Author: djm@openbsd.org <djm@openbsd.org>
1792Date: Sat Jan 19 21:33:57 2019 +0000
1793
1794 upstream: convert clientloop.c to new packet API
1795
1796 with & ok markus@
1797
1798 OpenBSD-Commit-ID: 497b36500191f452a22abf283aa8d4a9abaee7fa
1799
1800commit ad60b1179c9682ca5aef0b346f99ef68cbbbc4e5
1801Author: djm@openbsd.org <djm@openbsd.org>
1802Date: Sat Jan 19 21:33:13 2019 +0000
1803
1804 upstream: allow sshpkt_fatal() to take a varargs format; we'll
1805
1806 use this to give packet-related fatal error messages more context (esp. the
1807 remote endpoint) ok markus@
1808
1809 OpenBSD-Commit-ID: de57211f9543426b515a8a10a4f481666b2b2a50
1810
1811commit 0fa174ebe129f3d0aeaf4e2d1dd8de745870d0ff
1812Author: djm@openbsd.org <djm@openbsd.org>
1813Date: Sat Jan 19 21:31:32 2019 +0000
1814
1815 upstream: begin landing remaining refactoring of packet parsing
1816
1817 API, started almost exactly six years ago.
1818
1819 This change stops including the old packet_* API by default and makes
1820 each file that requires the old API include it explicitly. We will
1821 commit file-by-file refactoring to remove the old API in consistent
1822 steps.
1823
1824 with & ok markus@
1825
1826 OpenBSD-Commit-ID: 93c98a6b38f6911fd1ae025a1ec57807fb4d4ef4
1827
1828commit 4ae7f80dfd02f2bde912a67c9f338f61e90fa79f
1829Author: tb@openbsd.org <tb@openbsd.org>
1830Date: Sat Jan 19 04:15:56 2019 +0000
1831
1832 upstream: Print an \r in front of the password prompt so parts of
1833
1834 a password that was entered too early are likely clobbered by the prompt.
1835 Idea from doas.
1836
1837 from and ok djm
1838 "i like it" deraadt
1839
1840 OpenBSD-Commit-ID: 5fb97c68df6d8b09ab37f77bca1d84d799c4084e
1841
1842commit a6258e5dc314c7d504ac9f0fbc3be96475581dbe
1843Author: Darren Tucker <dtucker@dtucker.net>
1844Date: Fri Jan 18 11:09:01 2019 +1100
1845
1846 Add minimal fchownat and fchmodat implementations.
1847
1848 Fixes builds on at least OS X Lion, NetBSD 6 and Solaris 10.
1849
1850commit 091093d25802b87d3b2b09f2c88d9f33e1ae5562
1851Author: Darren Tucker <dtucker@dtucker.net>
1852Date: Fri Jan 18 12:11:42 2019 +1300
1853
1854 Add a minimal implementation of utimensat().
1855
1856 Some systems (eg older OS X) do not have utimensat, so provide minimal
1857 implementation in compat layer. Fixes build on at least El Capitan.
1858
1859commit 609644027dde1f82213699cb6599e584c7efcb75
1860Author: djm@openbsd.org <djm@openbsd.org>
1861Date: Tue Jan 1 22:20:16 2019 +0000
1862
1863 upstream: regress bits for banner processing refactor (this test was
1864
1865 depending on ssh returning a particular error message for banner parsing
1866 failure)
1867
1868 reminded by bluhm@
1869
1870 OpenBSD-Regress-ID: f24fc303d40931157431df589b386abf5e1be575
1871
1872commit f47d72ddad75b93d3cbc781718b0fa9046c03df8
1873Author: djm@openbsd.org <djm@openbsd.org>
1874Date: Thu Jan 17 04:45:09 2019 +0000
1875
1876 upstream: tun_fwd_ifnames variable should b
1877
1878 =?UTF-8?q?e=20extern;=20from=20Hanno=20B=C3=B6ck?=
1879 MIME-Version: 1.0
1880 Content-Type: text/plain; charset=UTF-8
1881 Content-Transfer-Encoding: 8bit
1882
1883 OpenBSD-Commit-ID: d53dede6e521161bf04d39d09947db6253a38271
1884
1885commit 943d0965263cae1c080ce5a9d0b5aa341885e55d
1886Author: djm@openbsd.org <djm@openbsd.org>
1887Date: Thu Jan 17 04:20:53 2019 +0000
1888
1889 upstream: include time.h for time(3)/nanosleep(2); from Ian
1890
1891 McKellar
1892
1893 OpenBSD-Commit-ID: 6412ccd06a88f65b207a1089345f51fa1244ea51
1894
1895commit dbb4dec6d5d671b5e9d67ef02162a610ad052068
1896Author: djm@openbsd.org <djm@openbsd.org>
1897Date: Thu Jan 17 01:50:24 2019 +0000
1898
1899 upstream: many of the global variables in this file can be made static;
1900
1901 patch from Markus Schmidt
1902
1903 OpenBSD-Commit-ID: f3db619f67beb53257b21bac0e92b4fb7d5d5737
1904
1905commit 60d8c84e0887514c99c9ce071965fafaa1c3d34a
1906Author: djm@openbsd.org <djm@openbsd.org>
1907Date: Wed Jan 16 23:23:45 2019 +0000
1908
1909 upstream: Add "-h" flag to sftp chown/chgrp/chmod commands to
1910
1911 request they do not follow symlinks. Requires recently-committed
1912 lsetstat@openssh.com extension on the server side.
1913
1914 ok markus@ dtucker@
1915
1916 OpenBSD-Commit-ID: f93bb3f6f7eb2fb7ef1e59126e72714f1626d604
1917
1918commit dbbc7e0eab7262f34b8e0cd6efecd1c77b905ed0
1919Author: djm@openbsd.org <djm@openbsd.org>
1920Date: Wed Jan 16 23:22:10 2019 +0000
1921
1922 upstream: add support for a "lsetstat@openssh.com" extension. This
1923
1924 replicates the functionality of the existing SSH2_FXP_SETSTAT operation but
1925 does not follow symlinks. Based on a patch from Bert Haverkamp in bz#2067 but
1926 with more attribute modifications supported.
1927
1928 ok markus@ dtucker@
1929
1930 OpenBSD-Commit-ID: f7234f6e90db19655d55d936a115ee4ccb6aaf80
1931
1932commit 4a526941d328fc3d97068c6a4cbd9b71b70fe5e1
1933Author: djm@openbsd.org <djm@openbsd.org>
1934Date: Fri Jan 4 03:27:50 2019 +0000
1935
1936 upstream: eliminate function-static attempt counters for
1937
1938 passwd/kbdint authmethods by moving them to the client authctxt; Patch from
1939 Markus Schmidt, ok markus@
1940
1941 OpenBSD-Commit-ID: 4df4404a5d5416eb056f68e0e2f4fa91ba3b3f7f
1942
1943commit 8a8183474c41bd6cebaa917346b549af2239ba2f
1944Author: djm@openbsd.org <djm@openbsd.org>
1945Date: Fri Jan 4 03:23:00 2019 +0000
1946
1947 upstream: fix memory leak of ciphercontext when rekeying; bz#2942
1948
1949 Patch from Markus Schmidt; ok markus@
1950
1951 OpenBSD-Commit-ID: 7877f1b82e249986f1ef98d0ae76ce987d332bdd
1952
1953commit 5bed70afce0907b6217418d0655724c99b683d93
1954Author: djm@openbsd.org <djm@openbsd.org>
1955Date: Tue Jan 1 23:10:53 2019 +0000
1956
1957 upstream: static on global vars, const on handler tables that contain
1958
1959 function pointers; from Mike Frysinger
1960
1961 OpenBSD-Commit-ID: 7ef2305e50d3caa6326286db43cf2cfaf03960e0
1962
1963commit 007a88b48c97d092ed2f501bbdcb70d9925277be
1964Author: djm@openbsd.org <djm@openbsd.org>
1965Date: Thu Dec 27 23:02:11 2018 +0000
1966
1967 upstream: Request RSA-SHA2 signatures for
1968
1969 rsa-sha2-{256|512}-cert-v01@openssh.com cert algorithms; ok markus@
1970
1971 OpenBSD-Commit-ID: afc6f7ca216ccd821656d1c911d2a3deed685033
1972
1973commit eb347d086c35428c47fe52b34588cbbc9b49d9a6
1974Author: djm@openbsd.org <djm@openbsd.org>
1975Date: Thu Dec 27 03:37:49 2018 +0000
1976
1977 upstream: ssh_packet_set_state() now frees ssh->kex implicitly, so
1978
1979 don't do explicit kex_free() beforehand
1980
1981 OpenBSD-Regress-ID: f2f73bad47f62a2040ccba0a72cadcb12eda49cf
1982
1983commit bb542f0cf6f7511a22a08c492861e256a82376a9
1984Author: tedu@openbsd.org <tedu@openbsd.org>
1985Date: Sat Dec 15 00:50:21 2018 +0000
1986
1987 upstream: remove unused and problematic sudo clean. ok espie
1988
1989 OpenBSD-Regress-ID: ca90c20a15a85b661e13e98b80c10e65cd662f7b
1990
1991commit 0a843d9a0e805f14653a555f5c7a8ba99d62c12d
1992Author: djm@openbsd.org <djm@openbsd.org>
1993Date: Thu Dec 27 03:25:24 2018 +0000
1994
1995 upstream: move client/server SSH-* banners to buffers under
1996
1997 ssh->kex and factor out the banner exchange. This eliminates some common code
1998 from the client and server.
1999
2000 Also be more strict about handling \r characters - these should only
2001 be accepted immediately before \n (pointed out by Jann Horn).
2002
2003 Inspired by a patch from Markus Schmidt.
2004 (lots of) feedback and ok markus@
2005
2006 OpenBSD-Commit-ID: 1cc7885487a6754f63641d7d3279b0941890275b
2007
2008commit 434b587afe41c19391821e7392005068fda76248
2009Author: dtucker@openbsd.org <dtucker@openbsd.org>
2010Date: Fri Dec 7 04:36:09 2018 +0000
2011
2012 upstream: Fix calculation of initial bandwidth limits. Account for
2013
2014 written bytes before the initial timer check so that the first buffer written
2015 is accounted. Set the threshold after which the timer is checked such that
2016 the limit starts being computed as soon as possible, ie after the second
2017 buffer is written. This prevents an initial burst of traffic and provides a
2018 more accurate bandwidth limit. bz#2927, ok djm.
2019
2020 OpenBSD-Commit-ID: ff3ef76e4e43040ec198c2718d5682c36b255cb6
2021
2022commit a6a0788cbbe8dfce2819ee43b09c80725742e21c
2023Author: djm@openbsd.org <djm@openbsd.org>
2024Date: Fri Dec 7 03:39:40 2018 +0000
2025
2026 upstream: only consider the ext-info-c extension during the initial
2027
2028 KEX. It shouldn't be sent in subsequent ones, but if it is present we should
2029 ignore it.
2030
2031 This prevents sshd from sending a SSH_MSG_EXT_INFO for REKEX for buggy
2032 these clients. Reported by Jakub Jelen via bz2929; ok dtucker@
2033
2034 OpenBSD-Commit-ID: 91564118547f7807030ec537480303e2371902f9
2035
2036commit 63bba57a32c5bb6158d57cf4c47022daf89c14a0
2037Author: djm@openbsd.org <djm@openbsd.org>
2038Date: Fri Dec 7 03:33:18 2018 +0000
2039
2040 upstream: fix option letter pasto in previous
2041
2042 OpenBSD-Commit-ID: e26c8bf2f2a808f3c47960e1e490d2990167ec39
2043
2044commit 737e4edd82406595815efadc28ed5161b8b0c01a
2045Author: djm@openbsd.org <djm@openbsd.org>
2046Date: Fri Dec 7 03:32:26 2018 +0000
2047
2048 upstream: mention that the ssh-keygen -F (find host in
2049
2050 authorized_keys) and -R (remove host from authorized_keys) options may accept
2051 either a bare hostname or a [hostname]:port combo. bz#2935
2052
2053 OpenBSD-Commit-ID: 5535cf4ce78375968b0d2cd7aa316fa3eb176780
2054
2055commit 8a22ffaa13391cfe5b40316d938fe0fb931e9296
2056Author: Damien Miller <djm@mindrot.org>
2057Date: Fri Dec 7 15:41:16 2018 +1100
2058
2059 expose $SSH_CONNECTION in the PAM environment
2060
2061 This makes the connection 4-tuple available to PAM modules that
2062 wish to use it in decision-making. bz#2741
2063
2064commit a784fa8c7a7b084d63bae82ccfea902131bb45c5
2065Author: Kevin Adler <kadler@us.ibm.com>
2066Date: Wed Dec 12 22:12:45 2018 -0600
2067
2068 Don't pass loginmsg by address now that it's an sshbuf*
2069
2070 In 120a1ec74, loginmsg was changed from the legacy Buffer type
2071 to struct sshbuf*, but it missed changing calls to
2072 sys_auth_allowed_user and sys_auth_record_login which passed
2073 loginmsg by address. Now that it's a pointer, just pass it directly.
2074
2075 This only affects AIX, unless there are out of tree users.
2076
2077commit 285310b897969a63ef224d39e7cc2b7316d86940
2078Author: djm@openbsd.org <djm@openbsd.org>
2079Date: Fri Dec 7 02:31:20 2018 +0000
2080
2081 upstream: no need to allocate channels_pre/channels_post in
2082
2083 channel_init_channels() as we do it anyway in channel_handler_init() that we
2084 call at the end of the function. Fix from Markus Schmidt via bz#2938
2085
2086 OpenBSD-Commit-ID: 74893638af49e3734f1e33a54af1b7ea533373ed
2087
2088commit 87d6cf1cbc91df6815db8fe0acc7c910bc3d18e4
2089Author: djm@openbsd.org <djm@openbsd.org>
2090Date: Fri Nov 30 02:24:52 2018 +0000
2091
2092 upstream: don't attempt to connect to empty SSH_AUTH_SOCK; bz#293
2093
2094 OpenBSD-Commit-ID: 0e8fc8f19f14b21adef7109e0faa583d87c0e929
2095
2096commit 91b19198c3f604f5eef2c56dbe36f29478243141
2097Author: djm@openbsd.org <djm@openbsd.org>
2098Date: Wed Nov 28 06:00:38 2018 +0000
2099
2100 upstream: don't truncate user or host name in "user@host's
2101
2102 OpenBSD-Commit-ID: e6ca01a8d58004b7f2cac0b1b7ce8f87e425e360
2103
2104commit dd0cf6318d9b4b3533bda1e3bc021b2cd7246b7a
2105Author: jmc@openbsd.org <jmc@openbsd.org>
2106Date: Fri Nov 23 06:58:28 2018 +0000
2107
2108 upstream: tweak previous;
2109
2110 OpenBSD-Commit-ID: 08f096922eb00c98251501c193ff9e83fbb5de4f
2111
2112commit 8a85f5458d1c802471ca899c97f89946f6666e61
2113Author: Darren Tucker <dtucker@dtucker.net>
2114Date: Sun Nov 25 21:44:05 2018 +1100
2115
2116 Include stdio.h for FILE if needed.
2117
2118commit 16fb23f25454991272bfe4598cc05d20fcd25116
2119Author: Darren Tucker <dtucker@dtucker.net>
2120Date: Sun Nov 25 14:05:57 2018 +1100
2121
2122 Reverse order of OpenSSL init functions.
2123
2124 Try the new init function (OPENSSL_init_crypto) before falling back to
2125 the old one (OpenSSL_add_all_algorithms).
2126
2127commit 98f878d2272bf8dff21f2a0265d963c29e33fed2
2128Author: Darren Tucker <dtucker@dtucker.net>
2129Date: Sun Nov 25 14:05:08 2018 +1100
2130
2131 Improve OpenSSL_add_all_algorithms check.
2132
2133 OpenSSL_add_all_algorithms() may be a macro so check for that too.
2134
2135commit 9e34e0c59ab04514f9de9934a772283f7f372afe
2136Author: djm@openbsd.org <djm@openbsd.org>
2137Date: Fri Nov 23 05:08:07 2018 +0000
2138
2139 upstream: add a ssh_config "Match final" predicate
2140
2141 Matches in same pass as "Match canonical" but doesn't require
2142 hostname canonicalisation be enabled. bz#2906 ok markus
2143
2144 OpenBSD-Commit-ID: fba1dfe9f6e0cabcd0e2b3be13f7a434199beffa
2145
2146commit 4da58d58736b065b1182b563d10ad6765d811c6d
2147Author: dtucker@openbsd.org <dtucker@openbsd.org>
2148Date: Fri Nov 23 02:53:57 2018 +0000
2149
2150 upstream: Remove now-unneeded ifdef SIGINFO around handler since it is
2151
2152 now always used for SIGUSR1 even when SIGINFO is not defined. This will make
2153 things simpler in -portable.
2154
2155 OpenBSD-Regress-ID: 4ff0265b335820b0646d37beb93f036ded0dc43f
2156
2157commit c721d5877509875c8515df0215fa1dab862013bc
2158Author: Darren Tucker <dtucker@dtucker.net>
2159Date: Fri Nov 23 14:11:20 2018 +1100
2160
2161 Move RANDOM_SEED_SIZE outside ifdef.
2162
2163 RANDOM_SEED_SIZE is used by both the OpenSSL and non-OpenSSL code
2164 This fixes the build with configureed --without-openssl.
2165
2166commit deb51552c3ce7ce72c8d0232e4f36f2e7c118c7d
2167Author: Darren Tucker <dtucker@dtucker.net>
2168Date: Thu Nov 22 19:59:28 2018 +1100
2169
2170 Resync with OpenBSD by pulling in an ifdef SIGINFO.
2171
2172commit 28c7b2cd050f4416bfcf3869a20e3ea138aa52fe
2173Author: Damien Miller <djm@mindrot.org>
2174Date: Fri Nov 23 10:45:20 2018 +1100
2175
2176 fix configure test for OpenSSL version
2177
2178 square brackets in case statements may be eaten by autoconf.
2179
2180 Report and fix from Filipp Gunbin; tweaked by naddy@
2181
2182commit 42c5ec4b97b6a1bae70f323952d0646af16ce710
2183Author: Damien Miller <djm@mindrot.org>
2184Date: Fri Nov 23 10:40:06 2018 +1100
2185
2186 refactor libcrypto initialisation
2187
2188 Don't call OpenSSL_add_all_algorithms() unless OpenSSL actually
2189 supports it.
2190
2191 Move all libcrypto initialisation to a single function, and call that
2192 from seed_rng() that is called early in each tool's main().
2193
2194 Prompted by patch from Rosen Penev
2195
2196commit 5b60b6c02009547a3e2a99d4886965de2a4719da
2197Author: dtucker@openbsd.org <dtucker@openbsd.org>
2198Date: Thu Nov 22 08:59:11 2018 +0000
2199
2200 upstream: Output info on SIGUSR1 as well as
2201
2202 SIGINFO to resync with portable. (ID sync only).
2203
2204 OpenBSD-Regress-ID: 699d153e2de22dce51a1b270c40a98472d1a1b16
2205
2206commit e4ae345dc75b34fd870c2e8690d831d2c1088eb7
2207Author: dtucker@openbsd.org <dtucker@openbsd.org>
2208Date: Thu Nov 22 08:48:32 2018 +0000
2209
2210 upstream: Append pid to temp files in /var/run and set a cleanup
2211
2212 trap for them. This allows multiple instances of tests to run without
2213 colliding.
2214
2215 OpenBSD-Regress-ID: 57add105ecdfc54752d8003acdd99eb68c3e0b4c
2216
2217commit f72d0f52effca5aa20a193217346615ecd3eed53
2218Author: dtucker@openbsd.org <dtucker@openbsd.org>
2219Date: Wed Oct 31 11:09:27 2018 +0000
2220
2221 upstream: UsePrivilegeSeparation no is deprecated
2222
2223 test "yes" and "sandbox".
2224
2225 OpenBSD-Regress-ID: 80e685ed8990766527dc629b1affc09a75bfe2da
2226
2227commit 35d0e5fefc419bddcbe09d7fc163d8cd3417125b
2228Author: djm@openbsd.org <djm@openbsd.org>
2229Date: Wed Oct 17 23:28:05 2018 +0000
2230
2231 upstream: add some knobs:
2232
2233 UNITTEST_FAST?= no # Skip slow tests (e.g. less intensive fuzzing).
2234 UNITTEST_SLOW?= no # Include slower tests (e.g. more intensive fuzzing).
2235 UNITTEST_VERBOSE?= no # Verbose test output (inc. per-test names).
2236
2237 useful if you want to run the tests as a smoke test to exercise the
2238 functionality without waiting for all the fuzzers to run.
2239
2240 OpenBSD-Regress-ID: e04d82ebec86068198cd903acf1c67563c57315e
2241
2242commit c1941293d9422a14dda372b4c21895e72aa7a063
2243Author: Darren Tucker <dtucker@dtucker.net>
2244Date: Thu Nov 22 15:52:26 2018 +1100
2245
2246 Resync Makefile.inc with upstream.
2247
2248 It's unused in -portable, but having it out of sync makes other syncs
2249 fail to apply.
2250
2251commit 928f1231f65f88cd4c73e6e0edd63d2cf6295d77
2252Author: djm@openbsd.org <djm@openbsd.org>
2253Date: Mon Nov 19 04:12:32 2018 +0000
2254
2255 upstream: silence (to log level debug2) failure messages when
2256
2257 loading the default hostkeys. Hostkeys explicitly specified in the
2258 configuration or on the command-line are still reported as errors, and
2259 failure to load at least one host key remains a fatal error.
2260 MIME-Version: 1.0
2261 Content-Type: text/plain; charset=UTF-8
2262 Content-Transfer-Encoding: 8bit
2263
2264 Based on patch from Dag-Erling Smørgrav via
2265 https://github.com/openssh/openssh-portable/pull/103
2266
2267 ok markus@
2268
2269 OpenBSD-Commit-ID: ffc2e35a75d1008effaf05a5e27425041c27b684
2270
2271commit 7fca94edbe8ca9f879da9fdd2afd959c4180f4c7
2272Author: dtucker@openbsd.org <dtucker@openbsd.org>
2273Date: Sun Nov 18 22:43:29 2018 +0000
2274
2275 upstream: Fix inverted logic for redirecting ProxyCommand stderr to
2276
2277 /dev/null. Fixes mosh in proxycommand mode that was broken by the previous
2278 ProxyCommand change that was reported by matthieu@. ok djm@ danj@
2279
2280 OpenBSD-Commit-ID: c6fc9641bc250221a0a81c6beb2e72d603f8add6
2281
2282commit ccef7c4faf914993b53035cd2b25ce02ab039c9d
2283Author: djm@openbsd.org <djm@openbsd.org>
2284Date: Fri Nov 16 06:17:38 2018 +0000
2285
2286 upstream: redirect stderr of ProxyCommands to /dev/null when ssh is
2287
2288 started with ControlPersist; based on patch from Steffen Prohaska
2289
2290 OpenBSD-Commit-ID: 1bcaa14a03ae80369d31021271ec75dce2597957
2291
2292commit 15182fd96845a03216d7ac5a2cf31c4e77e406e3
2293Author: djm@openbsd.org <djm@openbsd.org>
2294Date: Fri Nov 16 06:10:29 2018 +0000
2295
2296 upstream: make grandparent-parent-child sshbuf chains robust to
2297
2298 use-after-free faults if the ancestors are freed before the descendents.
2299 Nothing in OpenSSH uses this deallocation pattern. Reported by Jann Horn
2300
2301 OpenBSD-Commit-ID: d93501d1d2734245aac802a252b9bb2eccdba0f2
2302
2303commit 2a35862e664afde774d4a72497d394fe7306ccb5
2304Author: djm@openbsd.org <djm@openbsd.org>
2305Date: Fri Nov 16 03:26:01 2018 +0000
2306
2307 upstream: use path_absolute() for pathname checks; from Manoj Ampalam
2308
2309 OpenBSD-Commit-ID: 482ce71a5ea5c5f3bc4d00fd719481a6a584d925
2310
2311commit d0d1dfa55be1c5c0d77ab3096b198a64235f936d
2312Author: Darren Tucker <dtucker@dtucker.net>
2313Date: Fri Nov 16 14:11:44 2018 +1100
2314
2315 Test for OPENSSL_init_crypto before using.
2316
2317 Check for the presence of OPENSSL_init_crypto and all the flags we want
2318 before trying to use it (bz#2931).
2319
2320commit 6010c0303a422a9c5fa8860c061bf7105eb7f8b2
2321Author: djm@openbsd.org <djm@openbsd.org>
2322Date: Fri Nov 16 03:03:10 2018 +0000
2323
2324 upstream: disallow empty incoming filename or ones that refer to the
2325
2326 current directory; based on report/patch from Harry Sintonen
2327
2328 OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9
2329
2330commit aaed635e3a401cfcc4cc97f33788179c458901c3
2331Author: djm@openbsd.org <djm@openbsd.org>
2332Date: Fri Nov 16 02:46:20 2018 +0000
2333
2334 upstream: fix bug in client that was keeping a redundant ssh-agent
2335
2336 socket around for the life of the connection; bz#2912; reported by Simon
2337 Tatham; ok dtucker@
2338
2339 OpenBSD-Commit-ID: 4ded588301183d343dce3e8c5fc1398e35058478
2340
2341commit e76135e3007f1564427b2956c628923d8dc2f75a
2342Author: djm@openbsd.org <djm@openbsd.org>
2343Date: Fri Nov 16 02:43:56 2018 +0000
2344
2345 upstream: fix bug in HostbasedAcceptedKeyTypes and
2346
2347 PubkeyAcceptedKeyTypes options. If only RSA-SHA2 siganture types were
2348 specified, then authentication would always fail for RSA keys as the monitor
2349 checks only the base key (not the signature algorithm) type against
2350 *AcceptedKeyTypes. bz#2746; reported by Jakub Jelen; ok dtucker
2351
2352 OpenBSD-Commit-ID: 117bc3dc54578dbdb515a1d3732988cb5b00461b
2353
2354commit 5c1a63562cac0574c226224075b0829a50b48c9d
2355Author: djm@openbsd.org <djm@openbsd.org>
2356Date: Fri Nov 16 02:30:20 2018 +0000
2357
2358 upstream: support a prefix of '@' to suppress echo of sftp batch
2359
2360 commands; bz#2926; ok dtucker@
2361
2362 OpenBSD-Commit-ID: 9d635636bc84aeae796467e059f7634de990a79d
2363
2364commit 90ef45f7aac33eaf55ec344e101548a01e570f29
2365Author: schwarze@openbsd.org <schwarze@openbsd.org>
2366Date: Tue Nov 13 07:22:45 2018 +0000
2367
2368 upstream: fix markup error (missing blank before delimiter); from
2369
2370 Mike Frysinger <vapier at gentoo dot org>
2371
2372 OpenBSD-Commit-ID: 1bc5392f795ca86318d695e0947eaf71a5a4f6d9
2373
2374commit 960e7c672dc106f3b759c081de3edb4d1138b36e
2375Author: djm@openbsd.org <djm@openbsd.org>
2376Date: Fri Nov 9 02:57:58 2018 +0000
2377
2378 upstream: typo in error message; caught by Debian lintian, via
2379
2380 Colin Watson
2381
2382 OpenBSD-Commit-ID: bff614c7bd1f4ca491a84e9b5999f848d0d66758
2383
2384commit 81f1620c836e6c79c0823ba44acca605226a80f1
2385Author: djm@openbsd.org <djm@openbsd.org>
2386Date: Fri Nov 9 02:56:22 2018 +0000
2387
2388 upstream: correct local variable name; from yawang AT microsoft.com
2389
2390 OpenBSD-Commit-ID: a0c228390856a215bb66319c89cb3959d3af8c87
2391
2392commit 1293740e800fa2e5ccd38842a2e4970c6f3b9831
2393Author: dtucker@openbsd.org <dtucker@openbsd.org>
2394Date: Wed Oct 31 11:20:05 2018 +0000
2395
2396 upstream: Import new moduli.
2397
2398 OpenBSD-Commit-ID: c07772f58028fda683ee6abd41c73da3ff70d403
2399
2400commit 46925ae28e53fc9add336a4fcdb7ed4b86c3591c
2401Author: djm@openbsd.org <djm@openbsd.org>
2402Date: Fri Oct 26 01:23:03 2018 +0000
2403
2404 upstream: mention ssh-ed25519-cert-v01@openssh.com in list of cert
2405
2406 key type at start of doc
2407
2408 OpenBSD-Commit-ID: b46b0149256d67f05f2d5d01e160634ed1a67324
2409
2410commit 8d8340e2c215155637fe19cb1a837f71b2d55f7b
2411Author: Darren Tucker <dtucker@dtucker.net>
2412Date: Fri Nov 16 13:32:13 2018 +1100
2413
2414 Remove fallback check for /usr/local/ssl.
2415
2416 If configure could not find a working OpenSSL installation it would
2417 fall back to checking in /usr/local/ssl. This made sense back when
2418 systems did not ship with OpenSSL, but most do and OpenSSL 1.1 doesn't
2419 use that as a default any more. The fallback behaviour also meant
2420 that if you pointed --with-ssl-dir at a specific directory and it
2421 didn't work, it would silently use either the system libs or the ones
2422 in /usr/local/ssl. If you want to use /usr/local/ssl you'll need to
2423 pass configure --with-ssl-dir=/usr/local/ssl. ok djm@
2424
2425commit ce93472134fb22eff73edbcd173a21ae38889331
2426Author: Darren Tucker <dtucker@dtucker.net>
2427Date: Fri Nov 16 12:44:01 2018 +1100
2428
2429 Fix check for OpenSSL 1.0.1 exactly.
2430
2431 Both INSTALL and configure.ac claim OpenSSL >= 1.0.1 is supported; fix
2432 compile-time check for 1.0.1 to match.
2433
2434commit f2970868f86161a22b2c377057fa3891863a692a
2435Author: Darren Tucker <dtucker@dtucker.net>
2436Date: Sun Nov 11 15:58:20 2018 +1100
2437
2438 Improve warnings in cygwin service setup.
2439
2440 bz#2922, patch from vinschen at redhat.com.
2441
2442commit bd2d54fc1eee84bf87158a1277a50e6c8a303339
2443Author: Darren Tucker <dtucker@dtucker.net>
2444Date: Sun Nov 11 15:54:54 2018 +1100
2445
2446 Remove hardcoded service name in cygwin setup.
2447
2448 bz#2922, patch from Christian.Lupien at USherbrooke.ca, sanity check
2449 by vinschen at redhat.com.
2450
2451commit d0153c77bf7964e694f1d26c56c41a571b8e9466
2452Author: Dag-Erling Smørgrav <des@des.no>
2453Date: Tue Oct 9 23:03:40 2018 +0200
2454
2455 AC_CHECK_SIZEOF() no longer needs a second argument.
2456
2457commit 9b47b083ca9d866249ada9f02dbd57c87b13806e
2458Author: Manoj Ampalam <manojamp@microsoft.com>
2459Date: Thu Nov 8 22:41:59 2018 -0800
2460
2461 Fix error message w/out nistp521.
2462
2463 Correct error message when OpenSSL doesn't support certain ECDSA key
2464 lengths.
2465
2466commit 624d19ac2d56fa86a22417c35536caceb3be346f
2467Author: Eneas U de Queiroz <cote2004-github@yahoo.com>
2468Date: Tue Oct 9 16:17:42 2018 -0300
2469
2470 fix compilation with openssl built without ECC
2471
2472 ECDSA code in openssh-compat.h and libressl-api-compat.c needs to be
2473 guarded by OPENSSL_HAS_ECC
2474
2475 Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
2476
2477commit 1801cd11d99d05a66ab5248c0555f55909a355ce
2478Author: Darren Tucker <dtucker@dtucker.net>
2479Date: Thu Nov 8 15:03:11 2018 +1100
2480
2481 Simplify OpenSSL 1.1 function checks.
2482
2483 Replace AC_SEARCH_LIBS checks for OpenSSL 1.1 functions with a single
2484 AC_CHECK_FUNCS. ok djm@
2485
2486commit bc32f118d484e4d71d2a0828fd4eab7e4176c9af
2487Author: Darren Tucker <dtucker@dtucker.net>
2488Date: Mon Nov 5 17:31:24 2018 +1100
2489
2490 Fix pasto for HAVE_EVP_CIPHER_CTX_SET_IV.
2491
2492 Prevents unnecessary redefinition. Patch from mforney at mforney.org.
2493
2494commit 3719df60c66abc4b47200d41f571d67772f293ba
2495Author: Darren Tucker <dtucker@dtucker.net>
2496Date: Wed Oct 31 22:21:03 2018 +1100
2497
2498 Import new moduli.
2499
2500commit 595605d4abede475339d6a1f07a8cc674c11d1c3
2501Author: Darren Tucker <dtucker@dtucker.net>
2502Date: Sun Oct 28 15:18:13 2018 +1100
2503
2504 Update check for minimum OpenSSL version.
2505
2506commit 6ab75aba340d827140d7ba719787aabaf39a0355
2507Author: Darren Tucker <dtucker@dtucker.net>
2508Date: Sun Oct 28 15:16:31 2018 +1100
2509
2510 Update required OpenSSL versions to match current.
2511
2512commit c801b0e38eae99427f37869370151b78f8e15c5d
2513Author: Darren Tucker <dtucker@dtucker.net>
2514Date: Sun Oct 28 14:34:12 2018 +1100
2515
2516 Use detected version functions in openssl compat.
2517
2518 Use detected functions in compat layer instead of guessing based on
2519 versions. Really fixes builds with LibreSSL, not just configure.
2520
2521commit 262d81a259d4aa1507c709ec9d5caa21c7740722
2522Author: Darren Tucker <dtucker@dtucker.net>
2523Date: Sat Oct 27 16:45:59 2018 +1100
2524
2525 Check for the existence of openssl version funcs.
2526
2527 Check for the existence of openssl version functions and use the ones
2528 detected instead of trying to guess based on the int32 version
2529 identifier. Fixes builds with LibreSSL.
2530
2531commit 406a24b25d6a2bdd70cacd16de7e899dcb2a8829
2532Author: Damien Miller <djm@mindrot.org>
2533Date: Fri Oct 26 13:43:28 2018 +1100
2534
2535 fix builds on OpenSSL <= 1.0.x
2536
2537 I thought OpenSSL 1.0.x offered the new-style OpenSSL_version_num() API
2538 to obtain version number, but they don't.
2539
2540commit 859754bdeb41373d372e36b5dc89c547453addb3
2541Author: Damien Miller <djm@mindrot.org>
2542Date: Tue Oct 23 17:10:41 2018 +1100
2543
2544 remove remaining references to SSLeay
2545
2546 Prompted by Rosen Penev
2547
2548commit b9fea45a68946c8dfeace72ad1f6657c18f2a98a
2549Author: Damien Miller <djm@mindrot.org>
2550Date: Tue Oct 23 17:10:35 2018 +1100
2551
2552 regen depend
2553
2554commit a65784c9f9c5d00cf1a0e235090170abc8d07c73
2555Author: djm@openbsd.org <djm@openbsd.org>
2556Date: Tue Oct 23 05:56:35 2018 +0000
2557
2558 upstream: refer to OpenSSL not SSLeay;
2559
2560 we're old, but we don't have to act it
2561
2562 OpenBSD-Commit-ID: 9ca38d11f8ed19e61a55108d1e892d696cee08ec
2563
2564commit c0a35265907533be10ca151ac797f34ae0d68969
2565Author: Damien Miller <djm@mindrot.org>
2566Date: Mon Oct 22 11:22:50 2018 +1100
2567
2568 fix compile for openssl 1.0.x w/ --with-ssl-engine
2569
2570 bz#2921, patch from cotequeiroz
2571
2572commit 31b49525168245abe16ad49d7b7f519786b53a38
2573Author: Darren Tucker <dtucker@dtucker.net>
2574Date: Mon Oct 22 20:05:18 2018 +1100
2575
2576 Include openssl compatibility.
2577
2578 Patch from rosenp at gmail.com via openssh-unix-dev.
2579
2580commit a4fc253f5f44f0e4c47aafe2a17d2c46481d3c04
2581Author: djm@openbsd.org <djm@openbsd.org>
2582Date: Fri Oct 19 03:12:42 2018 +0000
2583
2584 upstream: when printing certificate contents "ssh-keygen -Lf
2585
2586 /path/certificate", include the algorithm that the CA used to sign the cert.
2587
2588 OpenBSD-Commit-ID: 1ea20b5048a851a7a0758dcb9777a211a2c0dddd
2589
2590commit 83b3d99d2b47321b7ebb8db6f6ea04f3808bc069
2591Author: florian@openbsd.org <florian@openbsd.org>
2592Date: Mon Oct 15 11:28:50 2018 +0000
2593
2594 upstream: struct sockaddr_storage is guaranteed to be large enough,
2595
2596 no need to check the size. OK kn, deraadt
2597
2598 OpenBSD-Commit-ID: 0aa56e92eb49c79f495b31a5093109ec5841f439
2599
2600commit aede1c34243a6f7feae2fb2cb686ade5f9be6f3d
2601Author: Damien Miller <djm@mindrot.org>
2602Date: Wed Oct 17 11:01:20 2018 +1100
2603
2604 Require OpenSSL 1.1.x series 1.1.0g or greater
2605
2606 Previous versions have a bug with EVP_CipherInit() when passed a
2607 NULL EVP_CIPHER, per https://github.com/openssl/openssl/pull/4613
2608
2609 ok dtucker@
2610
2611commit 08300c211409c212e010fe2e2f2883e573a04ce2
2612Author: Damien Miller <djm@mindrot.org>
2613Date: Wed Oct 17 08:12:02 2018 +1100
2614
2615 unbreak compilation with --with-ssl-engine
2616
2617 Missing last argument to OPENSSL_init_crypto()
2618
2619commit 1673274aee67ce0eb6f00578b6f3d2bcbd58f937
2620Author: Darren Tucker <dtucker@dtucker.net>
2621Date: Tue Oct 16 14:45:57 2018 +1100
2622
2623 Remove gcc spectre mitigation flags.
2624
2625 Current impementions of the gcc spectre mitigation flags cause
2626 miscompilations when combined with other flags and do not provide much
2627 protection. Found by fweimer at redhat.com, ok djm@
2628
2629commit 4e23deefd7959ef83c73ed9cce574423438f6133
2630Author: Damien Miller <djm@mindrot.org>
2631Date: Tue Oct 16 10:51:52 2018 +1100
2632
2633 Avoid deprecated OPENSSL_config when using 1.1.x
2634
2635 OpenSSL 1.1.x soft-deprecated OPENSSL_config in favour of
2636 OPENSSL_init_crypto; pointed out by Jakub Jelen
2637
2638commit 797cdd9c8468ed1125ce60d590ae3f1397866af4
2639Author: Darren Tucker <dtucker@dtucker.net>
2640Date: Fri Oct 12 16:58:47 2018 +1100
2641
2642 Don't avoid our *sprintf replacements.
2643
2644 Don't let systems with broken printf(3) avoid our replacements
2645 via asprintf(3)/vasprintf(3) calling libc internally. From djm@
2646
2647commit e526127cbd2f8ad88fb41229df0c9b850c722830
2648Author: Darren Tucker <dtucker@dtucker.net>
2649Date: Fri Oct 12 16:43:35 2018 +1100
2650
2651 Check if snprintf understands %zu.
2652
2653 If the platforms snprintf and friends don't understand %zu, use the
2654 compat replacement. Prevents segfaults on those platforms.
2655
2656commit cf39f875191708c5f2f1a3c1c9019f106e74aea3
2657Author: Damien Miller <djm@mindrot.org>
2658Date: Fri Oct 12 09:48:05 2018 +1100
2659
2660 remove stale link, tweak
2661
2662commit a7205e68decf7de2005810853b4ce6b222b65e2a
2663Author: Damien Miller <djm@mindrot.org>
2664Date: Fri Oct 12 09:47:20 2018 +1100
2665
2666 update version numbers ahead of release
2667
2668commit 1a4a9cf80f5b92b9d1dadd0bfa8867c04d195391
2669Author: djm@openbsd.org <djm@openbsd.org>
2670Date: Thu Oct 11 03:48:04 2018 +0000
2671
2672 upstream: don't send new-style rsa-sha2-*-cert-v01@openssh.com names to
2673
2674 older OpenSSH that can't handle them. spotted by Adam Eijdenberg; ok dtucker
2675
2676 OpenBSD-Commit-ID: 662bbc402e3d7c9b6c322806269698106a6ae631
2677
2678commit dc8ddcdf1a95e011c263486c25869bb5bf4e30ec
2679Author: Damien Miller <djm@mindrot.org>
2680Date: Thu Oct 11 13:08:59 2018 +1100
2681
2682 update depends
2683
2684commit 26841ac265603fd2253e6832e03602823dbb4022
2685Author: Damien Miller <djm@mindrot.org>
2686Date: Thu Oct 11 13:02:11 2018 +1100
2687
2688 some more duplicated key algorithm lines
2689
2690 From Adam Eijdenberg
2691
2692commit 5d9d17603bfbb620195a4581025052832b4c4adc
2693Author: Damien Miller <djm@mindrot.org>
2694Date: Thu Oct 11 11:56:36 2018 +1100
2695
2696 fix duplicated algorithm specification lines
2697
2698 Spotted by Adam Eijdenberg
2699
2700commit ebfafd9c7a5b2a7fb515ee95dbe0e44e11d0a663
2701Author: djm@openbsd.org <djm@openbsd.org>
2702Date: Thu Oct 11 00:52:46 2018 +0000
2703
2704 upstream: typo in plain RSA algorithm counterpart names for
2705
2706 certificates; spotted by Adam Eijdenberg; ok dtucker@
2707
2708 OpenBSD-Commit-ID: bfcdeb6f4fc9e7607f5096574c8f118f2e709e00
2709
2710commit c29b111e7d87c2324ff71c80653dd8da168c13b9
2711Author: Damien Miller <djm@mindrot.org>
2712Date: Thu Oct 11 11:29:35 2018 +1100
2713
2714 check pw_passwd != NULL here too
2715
2716 Again, for systems with broken NIS implementations.
2717
2718 Prompted by coolbugcheckers AT gmail.com
2719
2720commit fe8e8f349a553ef4c567acd418aac769a82b7729
2721Author: Damien Miller <djm@mindrot.org>
2722Date: Thu Oct 11 11:03:15 2018 +1100
2723
2724 check for NULL return from shadow_pw()
2725
2726 probably unreachable on this platform; pointed out by
2727 coolbugcheckers AT gmail.com
2728
2729commit acc59cbe7a1fb169e1c3caba65a39bd74d6e030d
2730Author: deraadt@openbsd.org <deraadt@openbsd.org>
2731Date: Wed Oct 10 16:43:49 2018 +0000
2732
2733 upstream: introducing openssh 7.9
2734
2735 OpenBSD-Commit-ID: 42d526a9fe01a40dd299ac58014d3349adf40e25
2736
2737commit 12731158c75c8760a8bea06350eeb3e763fe1a07
2738Author: Damien Miller <djm@mindrot.org>
2739Date: Thu Oct 11 10:29:29 2018 +1100
2740
2741 supply callback to PEM_read_bio_PrivateKey
2742
2743 OpenSSL 1.1.0i has changed the behaviour of their PEM APIs,
2744 so that empty passphrases are interpreted differently. This
2745 probabalistically breaks loading some keys, because the PEM format
2746 is terrible and doesn't include a proper MAC.
2747
2748 Avoid this by providing a basic callback to avoid passing empty
2749 passphrases to OpenSSL in cases where one is required.
2750
2751 Based on patch from Jakub Jelen in bz#2913; ok dtucker@
2752
2753commit d1d301a1dd5d6cc3a9ed93ab7ab09dda4cb456e0
2754Author: Damien Miller <djm@mindrot.org>
2755Date: Wed Oct 10 14:57:00 2018 +1100
2756
2757 in pick_salt() avoid dereference of NULL passwords
2758
2759 Apparently some NIS implementations can leave pw->pw_passwd (or the
2760 shadow equivalent) NULL.
2761
2762 bz#2909; based on patch from Todd Eigenschink
2763
2764commit edbb6febccee084d212fdc0cb05b40cb1c646ab1
2765Author: djm@openbsd.org <djm@openbsd.org>
2766Date: Tue Oct 9 05:42:23 2018 +0000
2767
2768 upstream: Treat all PEM_read_bio_PrivateKey() errors when a passphrase
2769
2770 is specified as "incorrect passphrase" instead of trying to choose between
2771 that and "invalid format".
2772
2773 libcrypto can return ASN1 parsing errors rather than the expected
2774 decrypt error in certain infrequent cases when trying to decrypt/parse
2775 PEM private keys when supplied with an invalid passphrase.
2776
2777 Report and repro recipe from Thomas Deutschmann in bz#2901
2778
2779 ok markus@
2780
2781 OpenBSD-Commit-ID: b1d4cd92395f9743f81c0d23aab2524109580870
2782
2783commit 2581333d564d8697837729b3d07d45738eaf5a54
2784Author: naddy@openbsd.org <naddy@openbsd.org>
2785Date: Fri Oct 5 14:26:09 2018 +0000
2786
2787 upstream: Support using service names for port numbers.
2788
2789 * Try to resolve a port specification with getservbyname(3) if a
2790 numeric conversion fails.
2791 * Make the "Port" option in ssh_config handle its argument as a
2792 port rather than a plain integer.
2793
2794 ok dtucker@ deraadt@
2795
2796 OpenBSD-Commit-ID: e7f03633133205ab3dfbc67f9df7475fabae660d
2797
2798commit e0d6501e86734c48c8c503f81e1c0926e98c5c4c
2799Author: djm@openbsd.org <djm@openbsd.org>
2800Date: Thu Oct 4 07:47:35 2018 +0000
2801
2802 upstream: when the peer sends a channel-close message, make sure we
2803
2804 close the local extended read fd (stderr) along with the regular read fd
2805 (stdout). Avoids weird stuck processed in multiplexing mode.
2806
2807 Report and analysis by Nelson Elhage and Geoffrey Thomas in bz#2863
2808
2809 ok dtucker@ markus@
2810
2811 OpenBSD-Commit-ID: a48a2467fe938de4de69d2e7193d5fa701f12ae9
2812
2813commit 6f1aabb128246f445e33b8844fad3de9cb1d18cb
2814Author: djm@openbsd.org <djm@openbsd.org>
2815Date: Thu Oct 4 01:04:52 2018 +0000
2816
2817 upstream: factor out channel status formatting from
2818
2819 channel_open_message() so we can use it in other debug messages
2820
2821 OpenBSD-Commit-ID: 9c3903ca28fcabad57f566c9d0045b41ab7d52ba
2822
2823commit f1dd179e122bdfdb7ca3072d9603607740efda05
2824Author: djm@openbsd.org <djm@openbsd.org>
2825Date: Thu Oct 4 00:10:11 2018 +0000
2826
2827 upstream: include a little more information about the status and
2828
2829 disposition of channel's extended (stderr) fd; makes debugging some things a
2830 bit easier. No behaviour change.
2831
2832 OpenBSD-Commit-ID: 483eb6467dc7d5dbca8eb109c453e7a43075f7ce
2833
2834commit 2d1428b11c8b6f616f070f2ecedce12328526944
2835Author: djm@openbsd.org <djm@openbsd.org>
2836Date: Thu Oct 4 00:04:41 2018 +0000
2837
2838 upstream: explicit_bzero here to be consistent with other kex*.c;
2839
2840 report from coolbugcheckers AT gmail.com
2841
2842 OpenBSD-Commit-ID: a90f146c5b5f5b1408700395e394f70b440856cb
2843
2844commit 5eff5b858e717e901e6af6596306a114de9f79f2
2845Author: djm@openbsd.org <djm@openbsd.org>
2846Date: Wed Oct 3 06:38:35 2018 +0000
2847
2848 upstream: Allow ssh_config IdentityAgent directive to accept
2849
2850 environment variable names as well as explicit paths. ok dtucker@
2851
2852 OpenBSD-Commit-ID: 2f0996e103876c53d8c9dd51dcce9889d700767b
2853
2854commit a46ac4d86b25414d78b632e8173578b37e5f8a83
2855Author: djm@openbsd.org <djm@openbsd.org>
2856Date: Tue Oct 2 12:51:58 2018 +0000
2857
2858 upstream: mention INFO@openssh.com for sending SIGINFO
2859
2860 OpenBSD-Commit-ID: 132471eeb0df658210afd27852fe65131b26e900
2861
2862commit ff3a411cae0b484274b7900ef52ff4dad3e12876
2863Author: Damien Miller <djm@mindrot.org>
2864Date: Tue Oct 2 22:49:40 2018 +1000
2865
2866 only support SIGINFO on systems with SIGINFO
2867
2868commit cd98925c6405e972dc9f211afc7e75e838abe81c
2869Author: djm@openbsd.org <djm@openbsd.org>
2870Date: Tue Oct 2 12:40:07 2018 +0000
2871
2872 upstream: Add server support for signalling sessions via the SSH
2873
2874 channel/ session protocol. Signalling is only supported to sesssions that are
2875 not subsystems and were not started with a forced command.
2876
2877 Long requested in bz#1424
2878
2879 Based on a patch from markus@ and reworked by dtucker@;
2880 ok markus@ dtucker@
2881
2882 OpenBSD-Commit-ID: 4bea826f575862eaac569c4bedd1056a268be1c3
2883
2884commit dba50258333f2604a87848762af07ba2cc40407a
2885Author: djm@openbsd.org <djm@openbsd.org>
2886Date: Wed Sep 26 07:32:44 2018 +0000
2887
2888 upstream: remove big ugly TODO comment from start of file. Some of
2889
2890 the mentioned tasks are obsolete and, of the remainder, most are already
2891 captured in PROTOCOL.mux where they better belong
2892
2893 OpenBSD-Commit-ID: 16d9d76dee42a5bb651c9d6740f7f0ef68aeb407
2894
2895commit 92b61a38ee9b765f5049f03cd1143e13f3878905
2896Author: djm@openbsd.org <djm@openbsd.org>
2897Date: Wed Sep 26 07:30:05 2018 +0000
2898
2899 upstream: Document mux proxy mode; added by Markus in openssh-7.4
2900
2901 Also add a little bit of information about the overall packet format
2902
2903 OpenBSD-Commit-ID: bdb6f6ea8580ef96792e270cae7857786ad84a95
2904
2905commit 9d883a1ce4f89b175fd77405ff32674620703fb2
2906Author: djm@openbsd.org <djm@openbsd.org>
2907Date: Wed Sep 26 01:48:57 2018 +0000
2908
2909 upstream: s/process_mux_master/mux_master_process/ in mux master
2910
2911 function names,
2912
2913 Gives better symmetry with the existing mux_client_*() names and makes
2914 it more obvious when a message comes from the master vs client (they
2915 are interleved in ControlMaster=auto mode).
2916
2917 no functional change beyond prefixing a could of log messages with
2918 __func__ where they were previously lacking.
2919
2920 OpenBSD-Commit-ID: b01f7c3fdf92692e1713a822a89dc499333daf75
2921
2922commit c2fa53cd6462da82d3a851dc3a4a3f6b920337c8
2923Author: Darren Tucker <dtucker@dtucker.net>
2924Date: Sat Sep 22 14:41:24 2018 +1000
2925
2926 Remove unused variable in _ssh_compat_fflush.
2927
2928commit d1b3540c21212624af907488960d703c7d987b42
2929Author: Darren Tucker <dtucker@dtucker.net>
2930Date: Thu Sep 20 18:08:43 2018 +1000
2931
2932 Import updated moduli.
2933
2934commit b5e412a8993ad17b9e1141c78408df15d3d987e1
2935Author: djm@openbsd.org <djm@openbsd.org>
2936Date: Fri Sep 21 12:46:22 2018 +0000
2937
2938 upstream: Allow ssh_config ForwardX11Timeout=0 to disable the
2939
2940 timeout and allow X11 connections in untrusted mode indefinitely. ok dtucker@
2941
2942 OpenBSD-Commit-ID: ea1ceed3f540b48e5803f933e59a03b20db10c69
2943
2944commit cb24d9fcc901429d77211f274031653476864ec6
2945Author: djm@openbsd.org <djm@openbsd.org>
2946Date: Fri Sep 21 12:23:17 2018 +0000
2947
2948 upstream: when compiled with GSSAPI support, cache supported method
2949
2950 OIDs by calling ssh_gssapi_prepare_supported_oids() regardless of whether
2951 GSSAPI authentication is enabled in the main config.
2952
2953 This avoids sandbox violations for configurations that enable GSSAPI
2954 auth later, e.g.
2955
2956 Match user djm
2957 GSSAPIAuthentication yes
2958
2959 bz#2107; ok dtucker@
2960
2961 OpenBSD-Commit-ID: a5dd42d87c74e27cfb712b15b0f97ab20e0afd1d
2962
2963commit bbc8af72ba68da014d4de6e21a85eb5123384226
2964Author: djm@openbsd.org <djm@openbsd.org>
2965Date: Fri Sep 21 12:20:12 2018 +0000
2966
2967 upstream: In sshkey_in_file(), ignore keys that are considered for
2968
2969 being too short (i.e. SSH_ERR_KEY_LENGTH). These keys will not be considered
2970 to be "in the file". This allows key revocation lists to contain short keys
2971 without the entire revocation list being considered invalid.
2972
2973 bz#2897; ok dtucker
2974
2975 OpenBSD-Commit-ID: d9f3d857d07194a42ad7e62889a74dc3f9d9924b
2976
2977commit 383a33d160cefbfd1b40fef81f72eadbf9303a66
2978Author: djm@openbsd.org <djm@openbsd.org>
2979Date: Fri Sep 21 03:11:36 2018 +0000
2980
2981 upstream: Treat connections with ProxyJump specified the same as ones
2982
2983 with a ProxyCommand set with regards to hostname canonicalisation (i.e. don't
2984 try to canonicalise the hostname unless CanonicalizeHostname is set to
2985 'always').
2986
2987 Patch from Sven Wegener via bz#2896
2988
2989 OpenBSD-Commit-ID: 527ff501cf98bf65fb4b29ed0cb847dda10f4d37
2990
2991commit 0cbed248ed81584129b67c348dbb801660f25a6a
2992Author: djm@openbsd.org <djm@openbsd.org>
2993Date: Thu Sep 20 23:40:16 2018 +0000
2994
2995 upstream: actually make CASignatureAlgorithms available as a config
2996
2997 option
2998
2999 OpenBSD-Commit-ID: 93fa7ff58314ed7b1ab7744090a6a91232e6ae52
3000
3001commit 62528870c0ec48cd86a37dd7320fb85886c3e6ee
3002Author: dtucker@openbsd.org <dtucker@openbsd.org>
3003Date: Thu Sep 20 08:07:03 2018 +0000
3004
3005 upstream: Import updated moduli.
3006
3007 OpenBSD-Commit-ID: 04431e8e7872f49a2129bf080a6b73c19d576d40
3008
3009commit e6933a2ffa0659d57f3c7b7c457b2c62b2a84613
3010Author: jmc@openbsd.org <jmc@openbsd.org>
3011Date: Thu Sep 20 06:58:48 2018 +0000
3012
3013 upstream: reorder CASignatureAlgorithms, and add them to the
3014
3015 various -o lists; ok djm
3016
3017 OpenBSD-Commit-ID: ecb88baecc3c54988b4d1654446ea033da359288
3018
3019commit aa083aa9624ea7b764d5a81c4c676719a1a3e42b
3020Author: djm@openbsd.org <djm@openbsd.org>
3021Date: Thu Sep 20 03:31:49 2018 +0000
3022
3023 upstream: fix "ssh -Q sig" to show correct signature algorithm list
3024
3025 (it was erroneously showing certificate algorithms); prompted by markus@
3026
3027 OpenBSD-Commit-ID: 1cdee002f2f0c21456979deeb887fc889afb154d
3028
3029commit ecac7e1f7add6b28874959a11f2238d149dc2c07
3030Author: djm@openbsd.org <djm@openbsd.org>
3031Date: Thu Sep 20 03:30:44 2018 +0000
3032
3033 upstream: add CASignatureAlgorithms option for the client, allowing
3034
3035 it to specify which signature algorithms may be used by CAs when signing
3036 certificates. Useful if you want to ban RSA/SHA1; ok markus@
3037
3038 OpenBSD-Commit-ID: 9159e5e9f67504829bf53ff222057307a6e3230f
3039
3040commit 86e5737c39153af134158f24d0cab5827cbd5852
3041Author: djm@openbsd.org <djm@openbsd.org>
3042Date: Thu Sep 20 03:28:06 2018 +0000
3043
3044 upstream: Add sshd_config CASignatureAlgorithms option to allow
3045
3046 control over which signature algorithms a CA may use when signing
3047 certificates. In particular, this allows a sshd to ban certificates signed
3048 with RSA/SHA1.
3049
3050 ok markus@
3051
3052 OpenBSD-Commit-ID: b05c86ef8b52b913ed48d54a9b9c1a7714d96bac
3053
3054commit f80e68ea7d62e2dfafc12f1a60ab544ae4033a0f
3055Author: djm@openbsd.org <djm@openbsd.org>
3056Date: Wed Sep 19 02:03:02 2018 +0000
3057
3058 upstream: Make "ssh-add -q" do what it says on the tin: silence
3059
3060 output from successful operations.
3061
3062 Based on patch from Thijs van Dijk; ok dtucker@ deraadt@
3063
3064 OpenBSD-Commit-ID: c4f754ecc055c10af166116ce7515104aa8522e1
3065
3066commit 5e532320e9e51de720d5f3cc2596e95d29f6e98f
3067Author: millert@openbsd.org <millert@openbsd.org>
3068Date: Mon Sep 17 15:40:14 2018 +0000
3069
3070 upstream: When choosing a prime from the moduli file, avoid
3071
3072 re-using the linenum variable for something that is not a line number to
3073 avoid the confusion that resulted in the bug in rev. 1.64. This also lets us
3074 pass the actual linenum to parse_prime() so the error messages include the
3075 correct line number. OK markus@ some time ago.
3076
3077 OpenBSD-Commit-ID: 4d8e5d3e924d6e8eb70053e3defa23c151a00084
3078
3079commit cce8cbe0ed7d1ba3a575310e0b63c193326ae616
3080Author: Darren Tucker <dtucker@dtucker.net>
3081Date: Sat Sep 15 19:44:06 2018 +1000
3082
3083 Fix openssl-1.1 fallout for --without-openssl.
3084
3085 ok djm@
3086
3087commit 149519b9f201dac755f3cba4789f4d76fecf0ee1
3088Author: Damien Miller <djm@mindrot.org>
3089Date: Sat Sep 15 19:37:48 2018 +1000
3090
3091 add futex(2) syscall to seccomp sandbox
3092
3093 Apparently needed for some glibc/openssl combinations.
3094
3095 Patch from Arkadiusz Miśkiewicz
3096
3097commit 4488ae1a6940af704c4dbf70f55bf2f756a16536
3098Author: Damien Miller <djm@mindrot.org>
3099Date: Sat Sep 15 19:36:55 2018 +1000
3100
3101 really add source for authopt_fuzz this time
3102
3103commit 9201784b4a257c8345fbd740bcbdd70054885707
3104Author: Damien Miller <djm@mindrot.org>
3105Date: Sat Sep 15 19:35:40 2018 +1000
3106
3107 remove accidentally checked-in authopt_fuzz binary
3108
3109commit beb9e522dc7717df08179f9e59f36b361bfa14ab
3110Author: djm@openbsd.org <djm@openbsd.org>
3111Date: Fri Sep 14 05:26:27 2018 +0000
3112
3113 upstream: second try, deals properly with missing and private-only
3114
3115 Use consistent format in debug log for keys readied, offered and
3116 received during public key authentication.
3117
3118 This makes it a little easier to see what is going on, as each message
3119 now contains (where available) the key filename, its type and fingerprint,
3120 and whether the key is hosted in an agent or a token.
3121
3122 OpenBSD-Commit-ID: f1c6a8e9cfc4e108c359db77f24f9a40e1e25ea7
3123
3124commit 6bc5a24ac867bfdc3ed615589d69ac640f51674b
3125Author: Damien Miller <djm@mindrot.org>
3126Date: Fri Sep 14 15:16:34 2018 +1000
3127
3128 fuzzer harness for authorized_keys option parsing
3129
3130commit 6c8b82fc6929b6a9a3f645151b6ec26c5507d9ef
3131Author: djm@openbsd.org <djm@openbsd.org>
3132Date: Fri Sep 14 04:44:04 2018 +0000
3133
3134 upstream: revert following; deals badly with agent keys
3135
3136 revision 1.285
3137 date: 2018/09/14 04:17:12; author: djm; state: Exp; lines: +47 -26; commitid: lflGFcNb2X2HebaK;
3138 Use consistent format in debug log for keys readied, offered and
3139 received during public key authentication.
3140
3141 This makes it a little easier to see what is going on, as each message
3142 now contains the key filename, its type and fingerprint, and whether
3143 the key is hosted in an agent or a token.
3144
3145 OpenBSD-Commit-ID: e496bd004e452d4b051f33ed9ae6a54ab918f56d
3146
3147commit 6da046f9c3374ce7e269ded15d8ff8bc45017301
3148Author: djm@openbsd.org <djm@openbsd.org>
3149Date: Fri Sep 14 04:17:44 2018 +0000
3150
3151 upstream: garbage-collect moribund ssh_new_private() API.
3152
3153 OpenBSD-Commit-ID: 7c05bf13b094093dfa01848a9306c82eb6e95f6c
3154
3155commit 1f24ac5fc05252ceb1c1d0e8cab6a283b883c780
3156Author: djm@openbsd.org <djm@openbsd.org>
3157Date: Fri Sep 14 04:17:12 2018 +0000
3158
3159 upstream: Use consistent format in debug log for keys readied,
3160
3161 offered and received during public key authentication.
3162
3163 This makes it a little easier to see what is going on, as each message
3164 now contains the key filename, its type and fingerprint, and whether
3165 the key is hosted in an agent or a token.
3166
3167 OpenBSD-Commit-ID: 2a01d59285a8a7e01185bb0a43316084b4f06a1f
3168
3169commit 488c9325bb7233e975dbfbf89fa055edc3d3eddc
3170Author: millert@openbsd.org <millert@openbsd.org>
3171Date: Thu Sep 13 15:23:32 2018 +0000
3172
3173 upstream: Fix warnings caused by user_from_uid() and group_from_gid()
3174
3175 now returning const char *.
3176
3177 OpenBSD-Commit-ID: b5fe571ea77cfa7b9035062829ab05eb87d7cc6f
3178
3179commit 0aa1f230846ebce698e52051a107f3127024a05a
3180Author: Damien Miller <djm@mindrot.org>
3181Date: Fri Sep 14 10:31:47 2018 +1000
3182
3183 allow SIGUSR1 as synonym for SIGINFO
3184
3185 Lets users on those unfortunate operating systems that lack SIGINFO
3186 still be able to obtain progress information from unit tests :)
3187
3188commit d64e78526596f098096113fcf148216798c327ff
3189Author: Damien Miller <djm@mindrot.org>
3190Date: Thu Sep 13 19:05:48 2018 +1000
3191
3192 add compat header
3193
3194commit a3fd8074e2e2f06602e25618721f9556c731312c
3195Author: djm@openbsd.org <djm@openbsd.org>
3196Date: Thu Sep 13 09:03:20 2018 +0000
3197
3198 upstream: missed a bit of openssl-1.0.x API in this unittest
3199
3200 OpenBSD-Regress-ID: a73a54d7f7381856a3f3a2d25947bee7a9a5dbc9
3201
3202commit 86e0a9f3d249d5580390daf58e015e68b01cef10
3203Author: djm@openbsd.org <djm@openbsd.org>
3204Date: Thu Sep 13 05:06:51 2018 +0000
3205
3206 upstream: use only openssl-1.1.x API here too
3207
3208 OpenBSD-Regress-ID: ae877064597c349954b1b443769723563cecbc8f
3209
3210commit 48f54b9d12c1c79fba333bc86d455d8f4cda8cfc
3211Author: Damien Miller <djm@mindrot.org>
3212Date: Thu Sep 13 12:13:50 2018 +1000
3213
3214 adapt -portable to OpenSSL 1.1x API
3215
3216 Polyfill missing API with replacement functions extracted from LibreSSL
3217
3218commit 86112951d63d48839f035b5795be62635a463f99
3219Author: Damien Miller <djm@mindrot.org>
3220Date: Thu Sep 13 12:12:42 2018 +1000
3221
3222 forgot to stage these test files in commit d70d061
3223
3224commit 482d23bcacdd3664f21cc82a5135f66fc598275f
3225Author: djm@openbsd.org <djm@openbsd.org>
3226Date: Thu Sep 13 02:08:33 2018 +0000
3227
3228 upstream: hold our collective noses and use the openssl-1.1.x API in
3229
3230 OpenSSH; feedback and ok tb@ jsing@ markus@
3231
3232 OpenBSD-Commit-ID: cacbcac87ce5da0d3ca7ef1b38a6f7fb349e4417
3233
3234commit d70d061828730a56636ab6f1f24fe4a8ccefcfc1
3235Author: djm@openbsd.org <djm@openbsd.org>
3236Date: Wed Sep 12 01:36:45 2018 +0000
3237
3238 upstream: Include certs with multiple RSA signature variants in
3239
3240 test data Ensure that cert->signature_key is populated correctly
3241
3242 OpenBSD-Regress-ID: 56e68f70fe46cb3a193ca207385bdb301fd6603a
3243
3244commit f803b2682992cfededd40c91818b653b5d923ef5
3245Author: djm@openbsd.org <djm@openbsd.org>
3246Date: Wed Sep 12 01:23:48 2018 +0000
3247
3248 upstream: test revocation by explicit hash and by fingerprint
3249
3250 OpenBSD-Regress-ID: 079c18a9ab9663f4af419327c759fc1e2bc78fd8
3251
3252commit 2de78bc7da70e1338b32feeefcc6045cf49efcd4
3253Author: djm@openbsd.org <djm@openbsd.org>
3254Date: Wed Sep 12 01:22:43 2018 +0000
3255
3256 upstream: s/sshkey_demote/sshkey_from_private/g
3257
3258 OpenBSD-Regress-ID: 782bde7407d94a87aa8d1db7c23750e09d4443c4
3259
3260commit 41c115a5ea1cb79a6a3182773c58a23f760e8076
3261Author: Damien Miller <djm@mindrot.org>
3262Date: Wed Sep 12 16:50:01 2018 +1000
3263
3264 delete the correct thing; kexfuzz binary
3265
3266commit f0fcd7e65087db8c2496f13ed39d772f8e38b088
3267Author: djm@openbsd.org <djm@openbsd.org>
3268Date: Wed Sep 12 06:18:59 2018 +0000
3269
3270 upstream: fix edit mistake; spotted by jmc@
3271
3272 OpenBSD-Commit-ID: dd724e1c52c9d6084f4cd260ec7e1b2b138261c6
3273
3274commit 4cc259bac699f4d2a5c52b92230f9e488c88a223
3275Author: djm@openbsd.org <djm@openbsd.org>
3276Date: Wed Sep 12 01:34:02 2018 +0000
3277
3278 upstream: add SSH_ALLOWED_CA_SIGALGS - the default list of
3279
3280 signature algorithms that are allowed for CA signatures. Notably excludes
3281 ssh-dsa.
3282
3283 ok markus@
3284
3285 OpenBSD-Commit-ID: 1628e4181dc8ab71909378eafe5d06159a22deb4
3286
3287commit ba9e788315b1f6a350f910cb2a9e95b2ce584e89
3288Author: djm@openbsd.org <djm@openbsd.org>
3289Date: Wed Sep 12 01:32:54 2018 +0000
3290
3291 upstream: add sshkey_check_cert_sigtype() that checks a
3292
3293 cert->signature_type against a supplied whitelist; ok markus
3294
3295 OpenBSD-Commit-ID: caadb8073292ed7a9535e5adc067d11d356d9302
3296
3297commit a70fd4ad7bd9f2ed223ff635a3d41e483057f23b
3298Author: djm@openbsd.org <djm@openbsd.org>
3299Date: Wed Sep 12 01:31:30 2018 +0000
3300
3301 upstream: add cert->signature_type field and keep it in sync with
3302
3303 certificate signature wrt loading and certification operations; ok markus@
3304
3305 OpenBSD-Commit-ID: e8b8b9f76b66707a0cd926109c4383db8f664df3
3306
3307commit 357128ac48630a9970e3af0e6ff820300a28da47
3308Author: djm@openbsd.org <djm@openbsd.org>
3309Date: Wed Sep 12 01:30:10 2018 +0000
3310
3311 upstream: Add "ssh -Q sig" to allow listing supported signature
3312
3313 algorithms ok markus@
3314
3315 OpenBSD-Commit-ID: 7a8c6eb6c249dc37823ba5081fce64876d10fe2b
3316
3317commit 9405c6214f667be604a820c6823b27d0ea77937d
3318Author: djm@openbsd.org <djm@openbsd.org>
3319Date: Wed Sep 12 01:21:34 2018 +0000
3320
3321 upstream: allow key revocation by SHA256 hash and allow ssh-keygen
3322
3323 to create KRLs using SHA256/base64 key fingerprints; ok markus@
3324
3325 OpenBSD-Commit-ID: a0590fd34e7f1141f2873ab3acc57442560e6a94
3326
3327commit 50e2687ee0941c0ea216d6ffea370ffd2c1f14b9
3328Author: djm@openbsd.org <djm@openbsd.org>
3329Date: Wed Sep 12 01:19:12 2018 +0000
3330
3331 upstream: log certificate fingerprint in authentication
3332
3333 success/failure message (previously we logged only key ID and CA key
3334 fingerprint).
3335
3336 ok markus@
3337
3338 OpenBSD-Commit-ID: a8ef2d172b7f1ddbcce26d6434b2de6d94f6c05d
3339
3340commit de37ca909487d23e5844aca289b3f5e75d3f1e1f
3341Author: dtucker@openbsd.org <dtucker@openbsd.org>
3342Date: Fri Sep 7 04:26:56 2018 +0000
3343
3344 upstream: Add FALLTHROUGH comments where appropriate. Patch from
3345
3346 jjelen at redhat via bz#2687.
3347
3348 OpenBSD-Commit-ID: c48eb457be697a19d6d2950c6d0879f3ccc851d3
3349
3350commit 247766cd3111d5d8c6ea39833a3257ca8fb820f2
3351Author: djm@openbsd.org <djm@openbsd.org>
3352Date: Fri Sep 7 01:42:54 2018 +0000
3353
3354 upstream: ssh -MM requires confirmation for all operations that
3355
3356 change the multiplexing state, not just new sessions.
3357
3358 mention that confirmation is checked via ssh-askpass
3359
3360 OpenBSD-Commit-ID: 0f1b45551ebb9cc5c9a4fe54ad3b23ce90f1f5c2
3361
3362commit db8bb80e3ac1bcb3e1305d846cd98c6b869bf03f
3363Author: mestre@openbsd.org <mestre@openbsd.org>
3364Date: Tue Aug 28 12:25:53 2018 +0000
3365
3366 upstream: fix misplaced parenthesis inside if-clause. it's harmless
3367
3368 and the only issue is showing an unknown error (since it's not defined)
3369 during fatal(), if it ever an error occurs inside that condition.
3370
3371 OK deraadt@ markus@ djm@
3372
3373 OpenBSD-Commit-ID: acb0a8e6936bfbe590504752d01d1d251a7101d8
3374
3375commit 086cc614f550b7d4f100c95e472a6b6b823938ab
3376Author: mestre@openbsd.org <mestre@openbsd.org>
3377Date: Tue Aug 28 12:17:45 2018 +0000
3378
3379 upstream: fix build with DEBUG_PK enabled
3380
3381 OK dtucker@
3382
3383 OpenBSD-Commit-ID: ec1568cf27726e9638a0415481c20c406e7b441c
3384
3385commit 2678833013e97f8b18f09779b7f70bcbf5eb2ab2
3386Author: Darren Tucker <dtucker@dtucker.net>
3387Date: Fri Sep 7 14:41:53 2018 +1000
3388
3389 Handle ngroups>_SC_NGROUPS_MAX.
3390
3391 Based on github pull request #99 from Darren Maffat at Oracle: Solaris'
3392 getgrouplist considers _SC_NGROUPS_MAX more of a guideline and can return
3393 a larger number of groups. In this case, retry getgrouplist with a
3394 larger array and defer allocating groups_byname. ok djm@
3395
3396commit 039bf2a81797b8f3af6058d34005a4896a363221
3397Author: Darren Tucker <dtucker@dtucker.net>
3398Date: Fri Sep 7 14:06:57 2018 +1000
3399
3400 Initial len for the fmt=NULL case.
3401
3402 Patch from jjelen at redhat via bz#2687. (OpenSSH never calls
3403 setproctitle with a null format so len is always initialized).
3404
3405commit ea9c06e11d2e8fb2f4d5e02f8a41e23d2bd31ca9
3406Author: Darren Tucker <dtucker@dtucker.net>
3407Date: Fri Sep 7 14:01:39 2018 +1000
3408
3409 Include stdlib.h.
3410
3411 Patch from jjelen at redhat via bz#2687.
3412
3413commit 9617816dbe73ec4d65075f4d897443f63a97c87f
3414Author: Damien Miller <djm@mindrot.org>
3415Date: Mon Aug 27 13:08:01 2018 +1000
3416
3417 document some more regress control env variables
3418
3419 Specifically SKIP_UNIT, USE_VALGRING and LTESTS. Sort the list of
3420 environment variables.
3421
3422 Based on patch from Jakub Jelen
3423
3424commit 71508e06fab14bc415a79a08f5535ad7bffa93d9
3425Author: Damien Miller <djm@mindrot.org>
3426Date: Thu Aug 23 15:41:42 2018 +1000
3427
3428 shorten temporary SSH_REGRESS_TMP path
3429
3430 Previous path was exceeding max socket length on at least one platform (OSX)
3431
3432commit 26739cf5bdc9030a583b41ae5261dedd862060f0
3433Author: Damien Miller <djm@mindrot.org>
3434Date: Thu Aug 23 13:06:02 2018 +1000
3435
3436 rebuild dependencies
3437
3438commit ff729025c7463cf5d0a8d1ca1823306e48c6d4cf
3439Author: Damien Miller <djm@mindrot.org>
3440Date: Thu Aug 23 13:03:32 2018 +1000
3441
3442 fix path in distclean target
3443
3444 Patch from Jakub Jelen
3445
3446commit 7fef173c28f7462dcd8ee017fdf12b5073f54c02
3447Author: djm@openbsd.org <djm@openbsd.org>
3448Date: Thu Aug 23 03:01:08 2018 +0000
3449
3450 upstream: memleak introduced in r1.83; from Colin Watson
3451
3452 OpenBSD-Commit-ID: 5c019104c280cbd549a264a7217b67665e5732dc
3453
3454commit b8ae02a2896778b8984c7f51566c7f0f56fa8b56
3455Author: schwarze@openbsd.org <schwarze@openbsd.org>
3456Date: Tue Aug 21 13:56:27 2018 +0000
3457
3458 upstream: AIX reports the CODESET as "ISO8859-1" in the POSIX locale.
3459
3460 Treating that as a safe encoding is OK because even when other systems return
3461 that string for real ISO8859-1, it is still safe in the sense that it is
3462 ASCII-compatible and stateless.
3463
3464 Issue reported by Val dot Baranov at duke dot edu. Additional
3465 information provided by Michael dot Felt at felt dot demon dot nl.
3466 Tested by Michael Felt on AIX 6.1 and by Val Baranov on AIX 7.1.
3467 Tweak and OK djm@.
3468
3469 OpenBSD-Commit-ID: 36f1210e0b229817d10eb490d6038f507b8256a7
3470
3471commit bc44ee088ad269d232e514f037c87ada4c2fd3f0
3472Author: Tim Rice <tim@multitalents.net>
3473Date: Tue Aug 21 08:57:24 2018 -0700
3474
3475 modified: openbsd-compat/port-uw.c
3476 remove obsolete and un-needed include
3477
3478commit 829fc28a9c54e3f812ee7248c7a3e31eeb4f0b3a
3479Author: Damien Miller <djm@mindrot.org>
3480Date: Mon Aug 20 15:57:29 2018 +1000
3481
3482 Missing unistd.h for regress/mkdtemp.c
3483
3484commit c8313e492355a368a91799131520d92743d8d16c
3485Author: Damien Miller <djm@mindrot.org>
3486Date: Fri Aug 17 05:45:20 2018 +1000
3487
3488 update version numbers in anticipation of release
3489
3490commit 477b49a34b89f506f4794b35e3c70b3e2e83cd38
3491Author: Corinna Vinschen <vinschen@redhat.com>
3492Date: Mon Aug 13 17:08:51 2018 +0200
3493
3494 configure: work around GCC shortcoming on Cygwin
3495
3496 Cygwin's latest 7.x GCC allows to specify -mfunction-return=thunk
3497 as well as -mindirect-branch=thunk on the command line, albeit
3498 producing invalid code, leading to an error at link stage.
3499
3500 The check in configure.ac only checks if the option is present,
3501 but not if it produces valid code.
3502
3503 This patch fixes it by special-casing Cygwin. Another solution
3504 may be to change these to linker checks.
3505
3506 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
3507
3508commit b0917945efa374be7648d67dbbaaff323ab39edc
3509Author: Corinna Vinschen <vinschen@redhat.com>
3510Date: Mon Aug 13 17:05:05 2018 +0200
3511
3512 cygwin: add missing stdarg.h include
3513
3514 Further header file standarization in Cygwin uncovered a lazy
3515 indirect include in bsd-cygwin_util.c
3516
3517 Signed-off-by: Corinna Vinschen <vinschen@redhat.com>
3518
3519commit c3903c38b0fd168ab3d925c2b129d1a599593426
3520Author: djm@openbsd.org <djm@openbsd.org>
3521Date: Mon Aug 13 02:41:05 2018 +0000
3522
3523 upstream: revert compat.[ch] section of the following change. It
3524
3525 causes double-free under some circumstances.
3526
3527 --
3528
3529 date: 2018/07/31 03:07:24; author: djm; state: Exp; lines: +33 -18; commitid: f7g4UI8eeOXReTPh;
3530 fix some memory leaks spotted by Coverity via Jakub Jelen in bz#2366
3531 feedback and ok dtucker@
3532
3533 OpenBSD-Commit-ID: 1e77547f60fdb5e2ffe23e2e4733c54d8d2d1137
3534
3535commit 1b9dd4aa15208100fbc3650f33ea052255578282
3536Author: djm@openbsd.org <djm@openbsd.org>
3537Date: Sun Aug 12 20:19:13 2018 +0000
3538
3539 upstream: better diagnosics on alg list assembly errors; ok
3540
3541 deraadt@ markus@
3542
3543 OpenBSD-Commit-ID: 5a557e74b839daf13cc105924d2af06a1560faee
3544
3545commit e36a5f61b0f5bebf6d49c215d228cd99dfe86e28
3546Author: Damien Miller <djm@mindrot.org>
3547Date: Sat Aug 11 18:08:45 2018 -0700
3548
3549 Some AIX fixes; report from Michael Felt
3550
3551commit 2f4766ceefe6657c5ad5fe92d13c411872acae0e
3552Author: dtucker@openbsd.org <dtucker@openbsd.org>
3553Date: Fri Aug 10 01:35:49 2018 +0000
3554
3555 upstream: The script that cooks up PuTTY format host keys does not
3556
3557 understand the new key format so convert back to old format to create the
3558 PuTTY key and remove it once done.
3559
3560 OpenBSD-Regress-ID: 2a449a18846c3a144bc645135b551ba6177e38d3
3561
3562commit e1b26ce504662a5d5b991091228984ccfd25f280
3563Author: djm@openbsd.org <djm@openbsd.org>
3564Date: Fri Aug 10 00:44:01 2018 +0000
3565
3566 upstream: improve
3567
3568 OpenBSD-Commit-ID: 40d839db0977b4e7ac8b647b16d5411d4faf2f60
3569
3570commit 7c712966a3139622f7fb55045368d05de4e6782c
3571Author: djm@openbsd.org <djm@openbsd.org>
3572Date: Fri Aug 10 00:42:29 2018 +0000
3573
3574 upstream: Describe pubkey format, prompted by bz#2853
3575
3576 While I'm here, describe and link to the remaining local PROTOCOL.*
3577 docs that weren't already mentioned (PROTOCOL.key, PROTOCOL.krl and
3578 PROTOCOL.mux)
3579
3580 OpenBSD-Commit-ID: 2a900f9b994ba4d53e7aeb467d44d75829fd1231
3581
3582commit ef100a2c5a8ed83afac0b8f36520815803da227a
3583Author: djm@openbsd.org <djm@openbsd.org>
3584Date: Fri Aug 10 00:27:15 2018 +0000
3585
3586 upstream: fix numbering
3587
3588 OpenBSD-Commit-ID: bc7a1764dff23fa4c5ff0e3379c9c4d5b63c9596
3589
3590commit ed7bd5d93fe14c7bd90febd29b858ea985d14d45
3591Author: djm@openbsd.org <djm@openbsd.org>
3592Date: Wed Aug 8 01:16:01 2018 +0000
3593
3594 upstream: Use new private key format by default. This format is
3595
3596 suported by OpenSSH >= 6.5 (released January 2014), so it should be supported
3597 by most OpenSSH versions in active use.
3598
3599 It is possible to convert new-format private keys to the older
3600 format using "ssh-keygen -f /path/key -pm PEM".
3601
3602 ok deraadt dtucker
3603
3604 OpenBSD-Commit-ID: e3bd4f2509a2103bfa2f710733426af3ad6d8ab8
3605
3606commit 967226a1bdde59ea137e8f0df871854ff7b91366
3607Author: djm@openbsd.org <djm@openbsd.org>
3608Date: Sat Aug 4 00:55:06 2018 +0000
3609
3610 upstream: invalidate dh->priv_key after freeing it in error path;
3611
3612 avoids unlikely double-free later. Reported by Viktor Dukhovni via
3613 https://github.com/openssh/openssh-portable/pull/96 feedback jsing@ tb@
3614
3615 OpenBSD-Commit-ID: e317eb17c3e05500ae851f279ef6486f0457c805
3616
3617commit 74287f5df9966a0648b4a68417451dd18f079ab8
3618Author: djm@openbsd.org <djm@openbsd.org>
3619Date: Tue Jul 31 03:10:27 2018 +0000
3620
3621 upstream: delay bailout for invalid authentic
3622
3623 =?UTF-8?q?ating=20user=20until=20after=20the=20packet=20containing=20the?=
3624 =?UTF-8?q?=20request=20has=20been=20fully=20parsed.=20Reported=20by=20Dar?=
3625 =?UTF-8?q?iusz=20Tytko=20and=20Micha=C5=82=20Sajdak;=20ok=20deraadt?=
3626 MIME-Version: 1.0
3627 Content-Type: text/plain; charset=UTF-8
3628 Content-Transfer-Encoding: 8bit
3629
3630 OpenBSD-Commit-ID: b4891882fbe413f230fe8ac8a37349b03bd0b70d
3631
3632commit 1a66079c0669813306cc69e5776a4acd9fb49015
3633Author: djm@openbsd.org <djm@openbsd.org>
3634Date: Tue Jul 31 03:07:24 2018 +0000
3635
3636 upstream: fix some memory leaks spotted by Coverity via Jakub Jelen
3637
3638 in bz#2366 feedback and ok dtucker@
3639
3640 OpenBSD-Commit-ID: 8402bbae67d578bedbadb0ce68ff7c5a136ef563
3641
3642commit 87f08be054b7eeadbb9cdeb3fb4872be79ccf218
3643Author: Damien Miller <djm@mindrot.org>
3644Date: Fri Jul 20 13:18:28 2018 +1000
3645
3646 Remove support for S/Key
3647
3648 Most people will 1) be using modern multi-factor authentication methods
3649 like TOTP/OATH etc and 2) be getting support for multi-factor
3650 authentication via PAM or BSD Auth.
3651
3652commit 5d14019ba2ff54acbfd20a6b9b96bb860a8c7c31
3653Author: markus@openbsd.org <markus@openbsd.org>
3654Date: Fri Jul 27 12:03:17 2018 +0000
3655
3656 upstream: avoid expensive channel_open_message() calls; ok djm@
3657
3658 OpenBSD-Commit-ID: aea3b5512ad681cd8710367d743e8a753d4425d9
3659
3660commit e655ee04a3cb7999dbf9641b25192353e2b69418
3661Author: dtucker@openbsd.org <dtucker@openbsd.org>
3662Date: Fri Jul 27 05:34:42 2018 +0000
3663
3664 upstream: Now that ssh can't be setuid, remove the
3665
3666 original_real_uid and original_effective_uid globals and replace with calls
3667 to plain getuid(). ok djm@
3668
3669 OpenBSD-Commit-ID: 92561c0cd418d34e6841e20ba09160583e27b68c
3670
3671commit 73ddb25bae4c33a0db361ac13f2e3a60d7c6c4a5
3672Author: dtucker@openbsd.org <dtucker@openbsd.org>
3673Date: Fri Jul 27 05:13:02 2018 +0000
3674
3675 upstream: Remove uid checks from low port binds. Now that ssh
3676
3677 cannot be setuid and sshd always has privsep on, we can remove the uid checks
3678 for low port binds and just let the system do the check. We leave a sanity
3679 check for the !privsep case so long as the code is stil there. with & ok
3680 djm@
3681
3682 OpenBSD-Commit-ID: 9535cfdbd1cd54486fdbedfaee44ce4367ec7ca0
3683
3684commit c12033e102760d043bc5c98e6c8180e4d331b0df
3685Author: dtucker@openbsd.org <dtucker@openbsd.org>
3686Date: Fri Jul 27 03:55:22 2018 +0000
3687
3688 upstream: ssh(1) no longer supports being setuid root. Remove reference
3689
3690 to crc32 which went with protocol 1. Pointed out by deraadt@.
3691
3692 OpenBSD-Commit-ID: f8763c25fd96ed91dd1abdab5667fd2e27e377b6
3693
3694commit 4492e2ec4e1956a277ef507f51d66e5c2aafaaf8
3695Author: Damien Miller <djm@mindrot.org>
3696Date: Fri Jul 27 14:15:28 2018 +1000
3697
3698 correct snprintf truncation check in closefrom()
3699
3700 Truncation cannot happen unless the system has set PATH_MAX to some
3701 nonsensically low value.
3702
3703 bz#2862, patch from Daniel Le
3704
3705commit 149cab325a8599a003364ed833f878449c15f259
3706Author: Darren Tucker <dtucker@dtucker.net>
3707Date: Fri Jul 27 13:46:06 2018 +1000
3708
3709 Include stdarg.h in mkdtemp for va_list.
3710
3711commit 6728f31bdfdc864d192773c32465b1860e23f556
3712Author: deraadt@openbsd.org <deraadt@openbsd.org>
3713Date: Wed Jul 25 17:12:35 2018 +0000
3714
3715 upstream: Don't redefine Makefile choices which come correct from
3716
3717 bsd.*.mk ok markus
3718
3719 OpenBSD-Commit-ID: 814b2f670df75759e1581ecef530980b2b3d7e0f
3720
3721commit 21fd477a855753c1a8e450963669e28e39c3b5d2
3722Author: deraadt@openbsd.org <deraadt@openbsd.org>
3723Date: Wed Jul 25 13:56:23 2018 +0000
3724
3725 upstream: fix indent; Clemens Goessnitzer
3726
3727 OpenBSD-Commit-ID: b5149a6d92b264d35f879d24608087b254857a83
3728
3729commit 8e433c2083db8664c41499ee146448ea7ebe7dbf
3730Author: beck@openbsd.org <beck@openbsd.org>
3731Date: Wed Jul 25 13:10:56 2018 +0000
3732
3733 upstream: Use the caller provided (copied) pwent struct in
3734
3735 load_public_identity_files instead of calling getpwuid() again and discarding
3736 the argument. This prevents a client crash where tilde_expand_filename calls
3737 getpwuid() again before the pwent pointer is used. Issue noticed and reported
3738 by Pierre-Olivier Martel <pom@apple.com> ok djm@ deraadt@
3739
3740 OpenBSD-Commit-ID: a067d74b5b098763736c94cc1368de8ea3f0b157
3741
3742commit e2127abb105ae72b6fda64fff150e6b24b3f1317
3743Author: jmc@openbsd.org <jmc@openbsd.org>
3744Date: Mon Jul 23 19:53:55 2018 +0000
3745
3746 upstream: oops, failed to notice that SEE ALSO got messed up;
3747
3748 OpenBSD-Commit-ID: 61c1306542cefdc6e59ac331751afe961557427d
3749
3750commit ddf1b797c2d26bbbc9d410aa4f484cbe94673587
3751Author: kn@openbsd.org <kn@openbsd.org>
3752Date: Mon Jul 23 19:02:49 2018 +0000
3753
3754 upstream: Point to glob in section 7 for the actual list of special
3755
3756 characters instead the C API in section 3.
3757
3758 OK millert jmc nicm, "the right idea" deraadt
3759
3760 OpenBSD-Commit-ID: a74fd215488c382809e4d041613aeba4a4b1ffc6
3761
3762commit 01c98d9661d0ed6156e8602b650f72eed9fc4d12
3763Author: dtucker@openbsd.org <dtucker@openbsd.org>
3764Date: Sun Jul 22 12:16:59 2018 +0000
3765
3766 upstream: Switch authorized_keys example from ssh-dss to ssh-rsa
3767
3768 since the former is no longer enabled by default. Pointed out by Daniel A.
3769 Maierhofer, ok jmc
3770
3771 OpenBSD-Commit-ID: 6a196cef53d7524e0c9b58cdbc1b5609debaf8c7
3772
3773commit 472269f8fe19343971c2d08f504ab5cbb8234b33
3774Author: djm@openbsd.org <djm@openbsd.org>
3775Date: Fri Jul 20 05:01:10 2018 +0000
3776
3777 upstream: slightly-clearer description for AuthenticationMethods - the
3778
3779 lists have comma-separated elements; bz#2663 from Hans Meier
3780
3781 OpenBSD-Commit-ID: 931c983d0fde4764d0942fb2c2b5017635993b5a
3782
3783commit c59aca8adbdf7f5597084ad360a19bedb3f80970
3784Author: Damien Miller <djm@mindrot.org>
3785Date: Fri Jul 20 14:53:42 2018 +1000
3786
3787 Create control sockets in clean temp directories
3788
3789 Adds a regress/mkdtemp tool and uses it to create empty temp
3790 directories for tests needing control sockets.
3791
3792 Patch from Colin Watson via bz#2660; ok dtucker
3793
3794commit 6ad8648e83e4f4ace37b742a05c2a6b6b872514e
3795Author: djm@openbsd.org <djm@openbsd.org>
3796Date: Fri Jul 20 03:46:34 2018 +0000
3797
3798 upstream: remove unused zlib.h
3799
3800 OpenBSD-Commit-ID: 8d274a9b467c7958df12668b49144056819f79f1
3801
3802commit 3ba6e6883527fe517b6e4a824876e2fe62af22fc
3803Author: dtucker@openbsd.org <dtucker@openbsd.org>
3804Date: Thu Jul 19 23:03:16 2018 +0000
3805
3806 upstream: Fix typo in comment. From Alexandru Iacob via github.
3807
3808 OpenBSD-Commit-ID: eff4ec07c6c8c5483533da43a4dda37d72ef7f1d
3809
3810commit c77bc73c91bc656e343a1961756e09dd1b170820
3811Author: Darren Tucker <dtucker@dtucker.net>
3812Date: Fri Jul 20 13:48:51 2018 +1000
3813
3814 Explicitly include openssl before zlib.
3815
3816 Some versions of OpenSSL have "free_func" in their headers, which zlib
3817 typedefs. Including openssl after zlib (eg via sshkey.h) results in
3818 "syntax error before `free_func'", which this fixes.
3819
3820commit 95d41e90eafcd1286a901e8e361e4a37b98aeb52
3821Author: dtucker@openbsd.org <dtucker@openbsd.org>
3822Date: Thu Jul 19 10:28:47 2018 +0000
3823
3824 upstream: Deprecate UsePrivilegedPort now that support for running
3825
3826 ssh(1) setuid has been removed, remove supporting code and clean up
3827 references to it in the man pages
3828
3829 We have not shipped ssh(1) the setuid bit since 2002. If ayone
3830 really needs to make connections from a low port number this can
3831 be implemented via a small setuid ProxyCommand.
3832
3833 ok markus@ jmc@ djm@
3834
3835 OpenBSD-Commit-ID: d03364610b7123ae4c6792f5274bd147b6de717e
3836
3837commit 258dc8bb07dfb35a46e52b0822a2c5b7027df60a
3838Author: dtucker@openbsd.org <dtucker@openbsd.org>
3839Date: Wed Jul 18 11:34:04 2018 +0000
3840
3841 upstream: Remove support for running ssh(1) setuid and fatal if
3842
3843 attempted. Do not link uidwap.c into ssh any more. Neuters
3844 UsePrivilegedPort, which will be marked as deprecated shortly. ok markus@
3845 djm@
3846
3847 OpenBSD-Commit-ID: c4ba5bf9c096f57a6ed15b713a1d7e9e2e373c42
3848
3849commit ac590760b251506b0a152551abbf8e8d6dc2f527
3850Author: dtucker@openbsd.org <dtucker@openbsd.org>
3851Date: Mon Jul 16 22:25:01 2018 +0000
3852
3853 upstream: Slot 0 in the hostbased key array was previously RSA1,
3854
3855 but that is now gone and the slot is unused so remove it. Remove two
3856 now-unused macros, and add an array bounds check to the two remaining ones
3857 (array is statically sized, so mostly a safety check on future changes). ok
3858 markus@
3859
3860 OpenBSD-Commit-ID: 2e4c0ca6cc1d8daeccead2aa56192a3f9d5e1e7a
3861
3862commit 26efc2f5df0e3bcf6a6bbdd0506fd682d60c2145
3863Author: dtucker@openbsd.org <dtucker@openbsd.org>
3864Date: Mon Jul 16 11:05:41 2018 +0000
3865
3866 upstream: Remove support for loading HostBasedAuthentication keys
3867
3868 directly in ssh(1) and always use ssh-keysign. This removes one of the few
3869 remaining reasons why ssh(1) might be setuid. ok markus@
3870
3871 OpenBSD-Commit-ID: 97f01e1448707129a20d75f86bad5d27c3cf0b7d
3872
3873commit 3eb7f1038d17af7aea3c2c62d1e30cd545607640
3874Author: djm@openbsd.org <djm@openbsd.org>
3875Date: Mon Jul 16 07:06:50 2018 +0000
3876
3877 upstream: keep options.identity_file_userprovided array in sync when we
3878
3879 load keys, fixing some spurious error messages; ok markus
3880
3881 OpenBSD-Commit-ID: c63e3d5200ee2cf9e35bda98de847302566c6a00
3882
3883commit 2f131e1b34502aa19f345e89cabf6fa3fc097f09
3884Author: djm@openbsd.org <djm@openbsd.org>
3885Date: Mon Jul 16 03:09:59 2018 +0000
3886
3887 upstream: memleak in unittest; found by valgrind
3888
3889 OpenBSD-Regress-ID: 168c23b0fb09fc3d0b438628990d3fd9260a8a5e
3890
3891commit de2997a4cf22ca0a524f0e5b451693c583e2fd89
3892Author: djm@openbsd.org <djm@openbsd.org>
3893Date: Mon Jul 16 03:09:13 2018 +0000
3894
3895 upstream: memleaks; found by valgrind
3896
3897 OpenBSD-Commit-ID: 6c3ba22be53e753c899545f771e8399fc93cd844
3898
3899commit 61cc0003eb37fa07603c969c12b7c795caa498f3
3900Author: Darren Tucker <dtucker@dtucker.net>
3901Date: Sat Jul 14 16:49:01 2018 +1000
3902
3903 Undef a few new macros in sys-queue.h.
3904
3905 Prevents macro redefinition warnings on OSX.
3906
3907commit 30a2c213877a54a44dfdffb6ca8db70be5b457e0
3908Author: Darren Tucker <dtucker@dtucker.net>
3909Date: Fri Jul 13 13:40:20 2018 +1000
3910
3911 Include unistd.h for geteuid declaration.
3912
3913commit 1dd32c23f2a85714dfafe2a9cc516971d187caa4
3914Author: Darren Tucker <dtucker@dtucker.net>
3915Date: Fri Jul 13 13:38:10 2018 +1000
3916
3917 Fallout from buffer conversion in AUDIT_EVENTS.
3918
3919 Supply missing "int r" and fix error path for sshbuf_new().
3920
3921commit 7449c178e943e5c4f6c8416a4e41d93b70c11c9e
3922Author: djm@openbsd.org <djm@openbsd.org>
3923Date: Fri Jul 13 02:13:50 2018 +0000
3924
3925 upstream: make this use ssh_proxy rather than starting/stopping a
3926
3927 daemon for each testcase
3928
3929 OpenBSD-Regress-ID: 608b7655ea65b1ba8fff5a13ce9caa60ef0c8166
3930
3931commit dbab02f9208d9baa134cec1d007054ec82b96ca9
3932Author: djm@openbsd.org <djm@openbsd.org>
3933Date: Fri Jul 13 02:13:19 2018 +0000
3934
3935 upstream: fix leaks in unit test; with this, all unit tests are
3936
3937 leak free (as far as valgrind can spot anyway)
3938
3939 OpenBSD-Regress-ID: b824d8b27998365379963440e5d18b95ca03aa17
3940
3941commit 2f6accff5085eb79b0dbe262d8b85ed017d1a51c
3942Author: Damien Miller <djm@mindrot.org>
3943Date: Fri Jul 13 11:39:25 2018 +1000
3944
3945 Enable leak checks for unit tests with valgrind
3946
3947 Leave the leak checking on unconditionally when running with valgrind.
3948 The unit tests are leak-free and I want them to stay that way.
3949
3950commit e46cfbd9db5e907b821bf4fd0184d4dab99815ee
3951Author: Damien Miller <djm@mindrot.org>
3952Date: Fri Jul 13 11:38:59 2018 +1000
3953
3954 increase timeout to match cfgmatch.sh
3955
3956 lets test pass under valgrind (on my workstation at least)
3957
3958commit 6aa1bf475cf3e7a2149acc5a1e80e904749f064c
3959Author: Damien Miller <djm@mindrot.org>
3960Date: Thu Jul 12 14:54:18 2018 +1000
3961
3962 rm regress/misc/kexfuzz/*.o in distclean target
3963
3964commit eef1447ddb559c03725a23d4aa6d03f40e8b0049
3965Author: Damien Miller <djm@mindrot.org>
3966Date: Thu Jul 12 14:49:26 2018 +1000
3967
3968 repair !WITH_OPENSSL build
3969
3970commit 4d3b2f36fd831941d1627ac587faae37b6d3570f
3971Author: Damien Miller <djm@mindrot.org>
3972Date: Thu Jul 12 14:49:14 2018 +1000
3973
3974 missing headers
3975
3976commit 3f420a692b293921216549c1099c2e46ff284eae
3977Author: Darren Tucker <dtucker@dtucker.net>
3978Date: Thu Jul 12 14:57:46 2018 +1000
3979
3980 Remove key.h from portable files too.
3981
3982 Commit 5467fbcb removed key.h so stop including it in portable files
3983 too. Fixes builds on lots of platforms.
3984
3985commit e2c4af311543093f16005c10044f7e06af0426f0
3986Author: djm@openbsd.org <djm@openbsd.org>
3987Date: Thu Jul 12 04:35:25 2018 +0000
3988
3989 upstream: remove prototype to long-gone function
3990
3991 OpenBSD-Commit-ID: 0414642ac7ce01d176b9f359091a66a8bbb640bd
3992
3993commit 394a842e60674bf8ee5130b9f15b01452a0b0285
3994Author: markus@openbsd.org <markus@openbsd.org>
3995Date: Wed Jul 11 18:55:11 2018 +0000
3996
3997 upstream: treat ssh_packet_write_wait() errors as fatal; ok djm@
3998
3999 OpenBSD-Commit-ID: f88ba43c9d54ed2d911218aa8d3f6285430629c3
4000
4001commit 5467fbcb09528ecdcb914f4f2452216c24796790
4002Author: markus@openbsd.org <markus@openbsd.org>
4003Date: Wed Jul 11 18:53:29 2018 +0000
4004
4005 upstream: remove legacy key emulation layer; ok djm@
4006
4007 OpenBSD-Commit-ID: 2b1f9619259e222bbd4fe9a8d3a0973eafb9dd8d
4008
4009commit 5dc4c59d5441a19c99e7945779f7ec9051126c25
4010Author: martijn@openbsd.org <martijn@openbsd.org>
4011Date: Wed Jul 11 08:19:35 2018 +0000
4012
4013 upstream: s/wuth/with/ in comment
4014
4015 OpenBSD-Commit-ID: 9de41468afd75f54a7f47809d2ad664aa577902c
4016
4017commit 1c688801e9dd7f9889fb2a29bc2b6fbfbc35a11f
4018Author: Darren Tucker <dtucker@dtucker.net>
4019Date: Wed Jul 11 12:12:38 2018 +1000
4020
4021 Include stdlib.h for declaration of free.
4022
4023 Fixes build with -Werror on at least Fedora and probably others.
4024
4025commit fccfa239def497615f92ed28acc57cfe63da3666
4026Author: Damien Miller <djm@mindrot.org>
4027Date: Wed Jul 11 10:19:56 2018 +1000
4028
4029 VALGRIND_CHECK_LEAKS logic was backwards :(
4030
4031commit 416287d45fcde0a8e66eee8b99aa73bd58607588
4032Author: Darren Tucker <dtucker@dtucker.net>
4033Date: Wed Jul 11 10:10:26 2018 +1000
4034
4035 Fix sshbuf_new error path in skey.
4036
4037commit 7aab109b8b90a353c1af780524f1ac0d3af47bab
4038Author: Darren Tucker <dtucker@dtucker.net>
4039Date: Wed Jul 11 10:06:18 2018 +1000
4040
4041 Supply missing third arg in skey.
4042
4043 During the change to the new buffer api the third arg to
4044 sshbuf_get_cstring was ommitted. Fixes build when configured with skey.
4045
4046commit 380320bb72cc353a901790ab04b6287fd335dc4a
4047Author: Darren Tucker <dtucker@dtucker.net>
4048Date: Wed Jul 11 10:03:34 2018 +1000
4049
4050 Supply some more missing "int r" in skey
4051
4052commit d20720d373d8563ee737d1a45dc5e0804d622dbc
4053Author: Damien Miller <djm@mindrot.org>
4054Date: Wed Jul 11 09:56:36 2018 +1000
4055
4056 disable valgrind memleak checking by default
4057
4058 Add VALGRIND_CHECK_LEAKS knob to turn it back on.
4059
4060commit 79c9d35018f3a5e30ae437880b669aa8636cd3cd
4061Author: Darren Tucker <dtucker@dtucker.net>
4062Date: Wed Jul 11 09:54:00 2018 +1000
4063
4064 Supply missing "int r" in skey code.
4065
4066commit 984bacfaacbbe31c35191b828fb5b5b2f0362c36
4067Author: sf@openbsd.org <sf@openbsd.org>
4068Date: Tue Jul 10 09:36:58 2018 +0000
4069
4070 upstream: re-remove some pre-auth compression bits
4071
4072 This time, make sure to not remove things that are necessary for
4073 pre-auth compression on the client. Add a comment that pre-auth
4074 compression is still supported in the client.
4075
4076 ok markus@
4077
4078 OpenBSD-Commit-ID: 282c6fec7201f18a5c333bbb68d9339734d2f784
4079
4080commit 120a1ec74e8d9d29f4eb9a27972ddd22351ddef9
4081Author: Damien Miller <djm@mindrot.org>
4082Date: Tue Jul 10 19:39:52 2018 +1000
4083
4084 Adapt portable to legacy buffer API removal
4085
4086commit 0f3958c1e6ffb8ea4ba27e2a97a00326fce23246
4087Author: djm@openbsd.org <djm@openbsd.org>
4088Date: Tue Jul 10 09:13:30 2018 +0000
4089
4090 upstream: kerberos/gssapi fixes for buffer removal
4091
4092 OpenBSD-Commit-ID: 1cdf56fec95801e4563c47f21696f04cd8b60c4c
4093
4094commit c74ae8e7c45f325f3387abd48fa7dfef07a08069
4095Author: djm@openbsd.org <djm@openbsd.org>
4096Date: Tue Jul 10 06:45:29 2018 +0000
4097
4098 upstream: buffer.[ch] and bufaux.c are no more
4099
4100 OpenBSD-Commit-ID: d1a1852284e554f39525eb4d4891b207cfb3d3a0
4101
4102commit a881e5a133d661eca923fb0633a03152ab2b70b2
4103Author: djm@openbsd.org <djm@openbsd.org>
4104Date: Tue Jul 10 06:43:52 2018 +0000
4105
4106 upstream: one mention of Buffer that almost got away :)
4107
4108 OpenBSD-Commit-ID: 30d7c27a90b4544ad5dfacf654595710cd499f02
4109
4110commit 49f47e656b60bcd1d1db98d88105295f4b4e600d
4111Author: markus@openbsd.org <markus@openbsd.org>
4112Date: Mon Jul 9 21:59:10 2018 +0000
4113
4114 upstream: replace cast with call to sshbuf_mutable_ptr(); ok djm@
4115
4116 OpenBSD-Commit-ID: 4dfe9d29fa93d9231645c89084f7217304f7ba29
4117
4118commit cb30cd47041edb03476be1c8ef7bc1f4b69d1555
4119Author: markus@openbsd.org <markus@openbsd.org>
4120Date: Mon Jul 9 21:56:06 2018 +0000
4121
4122 upstream: remove legacy buffer API emulation layer; ok djm@
4123
4124 OpenBSD-Commit-ID: 2dd5dc17cbc23195be4299fa93be2707a0e08ad9
4125
4126commit 235c7c4e3bf046982c2d8242f30aacffa01073d1
4127Author: markus@openbsd.org <markus@openbsd.org>
4128Date: Mon Jul 9 21:53:45 2018 +0000
4129
4130 upstream: sshd: switch monitor to sshbuf API; lots of help & ok
4131
4132 djm@
4133
4134 OpenBSD-Commit-ID: d89bd02d33974fd35ca0b8940d88572227b34a48
4135
4136commit b8d9214d969775e409e1408ecdf0d58fad99b344
4137Author: markus@openbsd.org <markus@openbsd.org>
4138Date: Mon Jul 9 21:37:55 2018 +0000
4139
4140 upstream: sshd: switch GSSAPI to sshbuf API; ok djm@
4141
4142 OpenBSD-Commit-ID: e48449ab4be3f006f7ba33c66241b7d652973e30
4143
4144commit c7d39ac8dc3587c5f05bdd5bcd098eb5c201c0c8
4145Author: markus@openbsd.org <markus@openbsd.org>
4146Date: Mon Jul 9 21:35:50 2018 +0000
4147
4148 upstream: sshd: switch authentication to sshbuf API; ok djm@
4149
4150 OpenBSD-Commit-ID: 880aa06bce4b140781e836bb56bec34873290641
4151
4152commit c3cb7790e9efb14ba74b2d9f543ad593b3d55b31
4153Author: markus@openbsd.org <markus@openbsd.org>
4154Date: Mon Jul 9 21:29:36 2018 +0000
4155
4156 upstream: sshd: switch config to sshbuf API; ok djm@
4157
4158 OpenBSD-Commit-ID: 72b02017bac7feac48c9dceff8355056bea300bd
4159
4160commit 2808d18ca47ad3d251836c555f0e22aaca03d15c
4161Author: markus@openbsd.org <markus@openbsd.org>
4162Date: Mon Jul 9 21:26:02 2018 +0000
4163
4164 upstream: sshd: switch loginmsg to sshbuf API; ok djm@
4165
4166 OpenBSD-Commit-ID: f3cb4e54bff15c593602d95cc43e32ee1a4bac42
4167
4168commit 89dd615b8b531979be63f05f9d5624367c9b28e6
4169Author: markus@openbsd.org <markus@openbsd.org>
4170Date: Mon Jul 9 21:20:26 2018 +0000
4171
4172 upstream: ttymodes: switch to sshbuf API; ok djm@
4173
4174 OpenBSD-Commit-ID: 5df340c5965e822c9da21e19579d08dea3cbe429
4175
4176commit f4608a7065480516ab46214f554e5f853fb7870f
4177Author: markus@openbsd.org <markus@openbsd.org>
4178Date: Mon Jul 9 21:18:10 2018 +0000
4179
4180 upstream: client: switch mux to sshbuf API; with & ok djm@
4181
4182 OpenBSD-Commit-ID: 5948fb98d704f9c4e075b92edda64e0290b5feb2
4183
4184commit cecee2d607099a7bba0a84803e2325d15be4277b
4185Author: markus@openbsd.org <markus@openbsd.org>
4186Date: Mon Jul 9 21:03:30 2018 +0000
4187
4188 upstream: client: switch to sshbuf API; ok djm@
4189
4190 OpenBSD-Commit-ID: 60cb0356114acc7625ab85105f6f6a7cd44a8d05
4191
4192commit ff55f4ad898137d4703e7a2bcc81167dfe8e9324
4193Author: markus@openbsd.org <markus@openbsd.org>
4194Date: Mon Jul 9 20:39:28 2018 +0000
4195
4196 upstream: pkcs11: switch to sshbuf API; ok djm@
4197
4198 OpenBSD-Commit-ID: 98cc4e800f1617c51caf59a6cb3006f14492db79
4199
4200commit 168b46f405d6736960ba7930389eecb9b6710b7e
4201Author: sf@openbsd.org <sf@openbsd.org>
4202Date: Mon Jul 9 13:37:10 2018 +0000
4203
4204 upstream: Revert previous two commits
4205
4206 It turns out we still support pre-auth compression on the client.
4207 Therefore revert the previous two commits:
4208
4209 date: 2018/07/06 09:06:14; author: sf; commitid: yZVYKIRtUZWD9CmE;
4210 Rename COMP_DELAYED to COMP_ZLIB
4211
4212 Only delayed compression is supported nowadays.
4213
4214 ok markus@
4215
4216 date: 2018/07/06 09:05:01; author: sf; commitid: rEGuT5UgI9f6kddP;
4217 Remove leftovers from pre-authentication compression
4218
4219 Support for this has been removed in 2016.
4220 COMP_DELAYED will be renamed in a later commit.
4221
4222 ok markus@
4223
4224 OpenBSD-Commit-ID: cdfef526357e4e1483c86cf599491b2dafb77772
4225
4226commit ab39267fa1243d02b6c330615539fc4b21e17dc4
4227Author: sf@openbsd.org <sf@openbsd.org>
4228Date: Fri Jul 6 09:06:14 2018 +0000
4229
4230 upstream: Rename COMP_DELAYED to COMP_ZLIB
4231
4232 Only delayed compression is supported nowadays.
4233
4234 ok markus@
4235
4236 OpenBSD-Commit-ID: 5b1dbaf3d9a4085aaa10fec0b7a4364396561821
4237
4238commit 95db395d2e56a6f868193aead6cadb2493f036c6
4239Author: sf@openbsd.org <sf@openbsd.org>
4240Date: Fri Jul 6 09:05:01 2018 +0000
4241
4242 upstream: Remove leftovers from pre-authentication compression
4243
4244 Support for this has been removed in 2016.
4245 COMP_DELAYED will be renamed in a later commit.
4246
4247 ok markus@
4248
4249 OpenBSD-Commit-ID: 6a99616c832627157113fcb0cf5a752daf2e6b58
4250
4251commit f28a4d5cd24c4aa177e96b4f96957991e552cb70
4252Author: sf@openbsd.org <sf@openbsd.org>
4253Date: Fri Jul 6 09:03:02 2018 +0000
4254
4255 upstream: Remove unused ssh_packet_start_compression()
4256
4257 ok markus@
4258
4259 OpenBSD-Commit-ID: 9d34cf2f59aca5422021ae2857190578187dc2b4
4260
4261commit 872517ddbb72deaff31d4760f28f2b0a1c16358f
4262Author: Darren Tucker <dtucker@dtucker.net>
4263Date: Fri Jul 6 13:32:02 2018 +1000
4264
4265 Defer setting bufsiz in getdelim.
4266
4267 Do not write to bufsiz until we are sure the malloc has succeeded,
4268 in case any callers rely on it (which they shouldn't). ok djm@
4269
4270commit 3deb56f7190a414dc264e21e087a934fa1847283
4271Author: Darren Tucker <dtucker@dtucker.net>
4272Date: Thu Jul 5 13:32:01 2018 +1000
4273
4274 Fix other callers of read_environment_file.
4275
4276 read_environment_file recently gained an extra argument Some platform
4277 specific code also calls it so add the argument to those too. Fixes
4278 build on Solaris and AIX.
4279
4280commit 314908f451e6b2d4ccf6212ad246fa4619c721d3
4281Author: djm@openbsd.org <djm@openbsd.org>
4282Date: Wed Jul 4 13:51:45 2018 +0000
4283
4284 upstream: deal with API rename: match_filter_list() =>
4285
4286 match_filter_blacklist()
4287
4288 OpenBSD-Regress-ID: 2da342be913efeb51806351af906fab01ba4367f
4289
4290commit 89f54cdf6b9cf1cf5528fd33897f1443913ddfb4
4291Author: djm@openbsd.org <djm@openbsd.org>
4292Date: Wed Jul 4 13:51:12 2018 +0000
4293
4294 upstream: exercise new expansion behaviour of
4295
4296 PubkeyAcceptedKeyTypes and, by proxy, test kex_assemble_names()
4297
4298 ok markus@
4299
4300 OpenBSD-Regress-ID: 292978902e14d5729aa87e492dd166c842f72736
4301
4302commit 187633f24c71564e970681c8906df5a6017dcccf
4303Author: djm@openbsd.org <djm@openbsd.org>
4304Date: Tue Jul 3 13:53:26 2018 +0000
4305
4306 upstream: add a comment that could have saved me 45 minutes of wild
4307
4308 goose chasing
4309
4310 OpenBSD-Regress-ID: d469b29ffadd3402c090e21b792d627d46fa5297
4311
4312commit 312d2f2861a2598ed08587cb6c45c0e98a85408f
4313Author: djm@openbsd.org <djm@openbsd.org>
4314Date: Wed Jul 4 13:49:31 2018 +0000
4315
4316 upstream: repair PubkeyAcceptedKeyTypes (and friends) after RSA
4317
4318 signature work - returns ability to add/remove/specify algorithms by
4319 wildcard.
4320
4321 Algorithm lists are now fully expanded when the server/client configs
4322 are finalised, so errors are reported early and the config dumps
4323 (e.g. "ssh -G ...") now list the actual algorithms selected.
4324
4325 Clarify that, while wildcards are accepted in algorithm lists, they
4326 aren't full pattern-lists that support negation.
4327
4328 (lots of) feedback, ok markus@
4329
4330 OpenBSD-Commit-ID: a8894c5c81f399a002f02ff4fe6b4fa46b1f3207
4331
4332commit 303af5803bd74bf05d375c04e1a83b40c30b2be5
4333Author: djm@openbsd.org <djm@openbsd.org>
4334Date: Tue Jul 3 11:43:49 2018 +0000
4335
4336 upstream: some magic for RSA-SHA2 checks
4337
4338 OpenBSD-Regress-ID: e5a9b11368ff6d86e7b25ad10ebe43359b471cd4
4339
4340commit 7d68e262944c1fff1574600fe0e5e92ec8b398f5
4341Author: Damien Miller <djm@mindrot.org>
4342Date: Tue Jul 3 23:27:11 2018 +1000
4343
4344 depend
4345
4346commit b4d4eda633af433d20232cbf7e855ceac8b83fe5
4347Author: djm@openbsd.org <djm@openbsd.org>
4348Date: Tue Jul 3 13:20:25 2018 +0000
4349
4350 upstream: some finesse to fix RSA-SHA2 certificate authentication
4351
4352 for certs hosted in ssh-agent
4353
4354 OpenBSD-Commit-ID: e5fd5edd726137dda2d020e1cdebc464110a010f
4355
4356commit d78b75df4a57e0f92295f24298e5f2930e71c172
4357Author: djm@openbsd.org <djm@openbsd.org>
4358Date: Tue Jul 3 13:07:58 2018 +0000
4359
4360 upstream: check correct variable; unbreak agent keys
4361
4362 OpenBSD-Commit-ID: c36981fdf1f3ce04966d3310826a3e1e6233d93e
4363
4364commit 2f30300c5e15929d0e34013f38d73e857f445e12
4365Author: djm@openbsd.org <djm@openbsd.org>
4366Date: Tue Jul 3 11:42:12 2018 +0000
4367
4368 upstream: crank version number to 7.8; needed for new compat flag
4369
4370 for prior version; part of RSA-SHA2 strictification, ok markus@
4371
4372 OpenBSD-Commit-ID: 84a11fc0efd2674c050712336b5093f5d408e32b
4373
4374commit 4ba0d54794814ec0de1ec87987d0c3b89379b436
4375Author: djm@openbsd.org <djm@openbsd.org>
4376Date: Tue Jul 3 11:39:54 2018 +0000
4377
4378 upstream: Improve strictness and control over RSA-SHA2 signature
4379
4380 In ssh, when an agent fails to return a RSA-SHA2 signature when
4381 requested and falls back to RSA-SHA1 instead, retry the signature to
4382 ensure that the public key algorithm sent in the SSH_MSG_USERAUTH
4383 matches the one in the signature itself.
4384
4385 In sshd, strictly enforce that the public key algorithm sent in the
4386 SSH_MSG_USERAUTH message matches what appears in the signature.
4387
4388 Make the sshd_config PubkeyAcceptedKeyTypes and
4389 HostbasedAcceptedKeyTypes options control accepted signature algorithms
4390 (previously they selected supported key types). This allows these
4391 options to ban RSA-SHA1 in favour of RSA-SHA2.
4392
4393 Add new signature algorithms "rsa-sha2-256-cert-v01@openssh.com" and
4394 "rsa-sha2-512-cert-v01@openssh.com" to force use of RSA-SHA2 signatures
4395 with certificate keys.
4396
4397 feedback and ok markus@
4398
4399 OpenBSD-Commit-ID: c6e9f6d45eed8962ad502d315d7eaef32c419dde
4400
4401commit 95344c257412b51199ead18d54eaed5bafb75617
4402Author: djm@openbsd.org <djm@openbsd.org>
4403Date: Tue Jul 3 10:59:35 2018 +0000
4404
4405 upstream: allow sshd_config PermitUserEnvironment to accept a
4406
4407 pattern-list of whitelisted environment variable names in addition to yes|no.
4408
4409 bz#1800, feedback and ok markus@
4410
4411 OpenBSD-Commit-ID: 77dc2b468e0bf04b53f333434ba257008a1fdf24
4412
4413commit 6f56fe4b9578b0627667f8bce69d4d938a88324c
4414Author: millert@openbsd.org <millert@openbsd.org>
4415Date: Tue Jun 26 11:23:59 2018 +0000
4416
4417 upstream: Fix "WARNING: line 6 disappeared in /etc/moduli, giving up"
4418
4419 when choosing a prime. An extra increment of linenum snuck in as part of the
4420 conversion to getline(). OK djm@ markus@
4421
4422 OpenBSD-Commit-ID: 0019225cb52ed621b71cd9f19ee2e78e57e3dd38
4423
4424commit 1eee79a11c1b3594f055b01e387c49c9a6e80005
4425Author: dtucker@openbsd.org <dtucker@openbsd.org>
4426Date: Mon Jul 2 14:13:30 2018 +0000
4427
4428 upstream: One ampersand is enough to backgroud an process. OpenBSD
4429
4430 doesn't seem to mind, but some platforms in -portable object to the second.
4431
4432 OpenBSD-Regress-ID: d6c3e404871764343761dc25c3bbe29c2621ff74
4433
4434commit 6301e6c787d4e26bfae1119ab4f747bbcaa94e44
4435Author: Darren Tucker <dtucker@dtucker.net>
4436Date: Mon Jul 2 21:16:58 2018 +1000
4437
4438 Add implementation of getline.
4439
4440 Add getline for the benefit of platforms that don't have it. Sourced
4441 from NetBSD (OpenBSD's implementation is a little too chummy with the
4442 internals of FILE).
4443
4444commit 84623e0037628f9992839063151f7a9f5f13099a
4445Author: djm@openbsd.org <djm@openbsd.org>
4446Date: Tue Jun 26 02:02:36 2018 +0000
4447
4448 upstream: whitespace
4449
4450 OpenBSD-Commit-ID: 9276951caf4daf555f6d262e95720e7f79244572
4451
4452commit 90e51d672711c19a36573be1785caf35019ae7a8
4453Author: djm@openbsd.org <djm@openbsd.org>
4454Date: Mon Jun 25 22:28:33 2018 +0000
4455
4456 upstream: fix NULL dereference in open_listen_match_tcpip()
4457
4458 OpenBSD-Commit-ID: c968c1d29e392352383c0f9681fcc1e93620c4a9
4459
4460commit f535ff922a67d9fcc5ee69d060d1b21c8bb01d14
4461Author: jmc@openbsd.org <jmc@openbsd.org>
4462Date: Tue Jun 19 05:36:57 2018 +0000
4463
4464 upstream: spelling;
4465
4466 OpenBSD-Commit-ID: db542918185243bea17202383a581851736553cc
4467
4468commit 80e199d6175904152aafc5c297096c3e18297691
4469Author: djm@openbsd.org <djm@openbsd.org>
4470Date: Tue Jun 19 03:02:17 2018 +0000
4471
4472 upstream: test PermitListen with bare port numbers
4473
4474 OpenBSD-Regress-ID: 4b50a02dfb0ccaca08247f3877c444126ba901b3
4475
4476commit 87ddd676da0f3abd08b778b12b53b91b670dc93c
4477Author: djm@openbsd.org <djm@openbsd.org>
4478Date: Tue Jun 19 02:59:41 2018 +0000
4479
4480 upstream: allow bare port numbers to appear in PermitListen directives,
4481
4482 e.g.
4483
4484 PermitListen 2222 8080
4485
4486 is equivalent to:
4487
4488 PermitListen *:2222 *:8080
4489
4490 Some bonus manpage improvements, mostly from markus@
4491
4492 "looks fine" markus@
4493
4494 OpenBSD-Commit-ID: 6546b0cc5aab7f53d65ad0a348ca0ae591d6dd24
4495
4496commit 26f96ca10ad0ec5da9b05b99de1e1ccea15a11be
4497Author: djm@openbsd.org <djm@openbsd.org>
4498Date: Fri Jun 15 07:01:11 2018 +0000
4499
4500 upstream: invalidate supplemental group cache used by
4501
4502 temporarily_use_uid() when the target uid differs; could cause failure to
4503 read authorized_keys under some configurations. patch by Jakub Jelen via
4504 bz2873; ok dtucker, markus
4505
4506 OpenBSD-Commit-ID: 48a345f0ee90f6c465a078eb5e89566b23abd8a1
4507
4508commit 89a85d724765b6b82e0135ee5a1181fdcccea9c6
4509Author: djm@openbsd.org <djm@openbsd.org>
4510Date: Sun Jun 10 23:45:41 2018 +0000
4511
4512 upstream: unbreak SendEnv; patch from tb@
4513
4514 OpenBSD-Commit-ID: fc808daced813242563b80976e1478de95940056
4515
4516commit acf4260f0951f89c64e1ebbc4c92f451768871ad
4517Author: jmc@openbsd.org <jmc@openbsd.org>
4518Date: Sat Jun 9 06:36:31 2018 +0000
4519
4520 upstream: sort previous;
4521
4522 OpenBSD-Commit-ID: 27d80d8b8ca99bc33971dee905e8ffd0053ec411
4523
4524commit 1678d4236451060b735cb242d2e26e1ac99f0947
4525Author: djm@openbsd.org <djm@openbsd.org>
4526Date: Sat Jun 9 03:18:11 2018 +0000
4527
4528 upstream: slightly better wording re handing of $TERM, from Jakub
4529
4530 Jelen via bz2386
4531
4532 OpenBSD-Commit-ID: 14bea3f069a93c8be66a7b97794255a91fece964
4533
4534commit 28013759f09ed3ebf7e8335e83a62936bd7a7f47
4535Author: djm@openbsd.org <djm@openbsd.org>
4536Date: Sat Jun 9 03:03:10 2018 +0000
4537
4538 upstream: add a SetEnv directive for sshd_config to allow an
4539
4540 administrator to explicitly specify environment variables set in sessions
4541 started by sshd. These override the default environment and any variables set
4542 by user configuration (PermitUserEnvironment, etc), but not the SSH_*
4543 variables set by sshd itself.
4544
4545 ok markus@
4546
4547 OpenBSD-Commit-ID: b6a96c0001ccd7dd211df6cae9e961c20fd718c0
4548
4549commit 7082bb58a2eb878d23ec674587c742e5e9673c36
4550Author: djm@openbsd.org <djm@openbsd.org>
4551Date: Sat Jun 9 03:01:12 2018 +0000
4552
4553 upstream: add a SetEnv directive to ssh_config that allows setting
4554
4555 environment variables for the remote session (subject to the server accepting
4556 them)
4557
4558 refactor SendEnv to remove the arbitrary limit of variable names.
4559
4560 ok markus@
4561
4562 OpenBSD-Commit-ID: cfbb00d9b0e10c1ffff1d83424351fd961d1f2be
4563
4564commit 3b9798bda15bd3f598f5ef07595d64e23504da91
4565Author: djm@openbsd.org <djm@openbsd.org>
4566Date: Sat Jun 9 02:58:02 2018 +0000
4567
4568 upstream: reorder child environment preparation so that variables
4569
4570 read from ~/.ssh/environment (if enabled) do not override SSH_* variables set
4571 by the server.
4572
4573 OpenBSD-Commit-ID: 59f9d4c213cdcef2ef21f4b4ae006594dcf2aa7a
4574
4575commit 0368889f82f63c82ff8db9f8c944d89e7c657db4
4576Author: djm@openbsd.org <djm@openbsd.org>
4577Date: Fri Jun 8 03:35:36 2018 +0000
4578
4579 upstream: fix incorrect expansion of %i in
4580
4581 load_public_identity_files(); reported by Roumen Petrov
4582
4583 OpenBSD-Commit-ID: a827289e77149b5e0850d72a350c8b0300e7ef25
4584
4585commit 027607fc2db6a0475a3380f8d95c635482714cb0
4586Author: djm@openbsd.org <djm@openbsd.org>
4587Date: Fri Jun 8 01:55:40 2018 +0000
4588
4589 upstream: fix some over-long lines and __func__ up some debug
4590
4591 messages
4592
4593 OpenBSD-Commit-ID: c70a60b4c8207d9f242fc2351941ba50916bb267
4594
4595commit 6ff6fda705bc204456a5fa12518dde6e8790bb02
4596Author: jmc@openbsd.org <jmc@openbsd.org>
4597Date: Thu Jun 7 11:26:14 2018 +0000
4598
4599 upstream: tweak previous;
4600
4601 OpenBSD-Commit-ID: f98f16af10b28e24bcecb806cb71ea994b648fd6
4602
4603commit f2c06ab8dd90582030991f631a2715216bf45e5a
4604Author: Darren Tucker <dtucker@dtucker.net>
4605Date: Fri Jun 8 17:43:36 2018 +1000
4606
4607 Remove ability to override $LD.
4608
4609 Since autoconf always uses $CC to link C programs, allowing users to
4610 override LD caused mismatches between what LD_LINK_IFELSE thought worked
4611 and what ld thought worked. If you do need to do this kind of thing you
4612 need to set a compiler flag such as gcc's -fuse-ld in LDFLAGS.
4613
4614commit e1542a80797b4ea40a91d2896efdcc76a57056d2
4615Author: Darren Tucker <dtucker@dtucker.net>
4616Date: Fri Jun 8 13:55:59 2018 +1000
4617
4618 Better detection of unsupported compiler options.
4619
4620 Should prevent "unsupported -Wl,-z,retpoline" warnings during linking.
4621 ok djm@
4622
4623commit 57379dbd013ad32ee3f9989bf5f5741065428360
4624Author: djm@openbsd.org <djm@openbsd.org>
4625Date: Thu Jun 7 14:29:43 2018 +0000
4626
4627 upstream: test the correct configuration option name
4628
4629 OpenBSD-Regress-ID: 492279ea9f65657f97a970e0e7c7fd0b339fee23
4630
4631commit 6d41815e202fbd6182c79780b6cc90e1ec1c9981
4632Author: djm@openbsd.org <djm@openbsd.org>
4633Date: Thu Jun 7 09:26:42 2018 +0000
4634
4635 upstream: some permitlisten fixes from markus@ that I missed in my
4636
4637 insomnia-fueled commits last night
4638
4639 OpenBSD-Commit-ID: 26f23622e928996086e85b1419cc1c0f136e359c
4640
4641commit 4319f7a868d86d435fa07112fcb6153895d03a7f
4642Author: djm@openbsd.org <djm@openbsd.org>
4643Date: Thu Jun 7 04:46:34 2018 +0000
4644
4645 upstream: permitlisten/PermitListen unit test from Markus
4646
4647 OpenBSD-Regress-ID: ab12eb42f0e14926980441cf7c058a6d1d832ea5
4648
4649commit fa09076410ffc2d34d454145af23c790d728921e
4650Author: djm@openbsd.org <djm@openbsd.org>
4651Date: Thu Jun 7 04:31:51 2018 +0000
4652
4653 upstream: fix regression caused by recent permitlisten option commit:
4654
4655 authorized_keys lines that contained permitopen/permitlisten were being
4656 treated as invalid.
4657
4658 OpenBSD-Commit-ID: 7ef41d63a5a477b405d142dc925b67d9e7aaa31b
4659
4660commit 7f90635216851f6cb4bf3999e98b825f85d604f8
4661Author: markus@openbsd.org <markus@openbsd.org>
4662Date: Wed Jun 6 18:29:18 2018 +0000
4663
4664 upstream: switch config file parsing to getline(3) as this avoids
4665
4666 static limits noted by gerhard@; ok dtucker@, djm@
4667
4668 OpenBSD-Commit-ID: 6d702eabef0fa12e5a1d75c334a8c8b325298b5c
4669
4670commit 392db2bc83215986a91c0b65feb0e40e7619ce7e
4671Author: djm@openbsd.org <djm@openbsd.org>
4672Date: Wed Jun 6 18:25:33 2018 +0000
4673
4674 upstream: regress test for PermitOpen
4675
4676 OpenBSD-Regress-ID: ce8b5f28fc039f09bb297fc4a92319e65982ddaf
4677
4678commit 803d896ef30758135e2f438bdd1a0be27989e018
4679Author: djm@openbsd.org <djm@openbsd.org>
4680Date: Wed Jun 6 18:24:15 2018 +0000
4681
4682 upstream: man bits for permitlisten authorized_keys option
4683
4684 OpenBSD-Commit-ID: 86910af8f781a4ac5980fea125442eb25466dd78
4685
4686commit 04df43208b5b460d7360e1598f876b92a32f5922
4687Author: djm@openbsd.org <djm@openbsd.org>
4688Date: Wed Jun 6 18:24:00 2018 +0000
4689
4690 upstream: man bits for PermitListen
4691
4692 OpenBSD-Commit-ID: 35b200cba4e46a16a4db6a80ef11838ab0fad67c
4693
4694commit 93c06ab6b77514e0447fe4f1d822afcbb2a9be08
4695Author: djm@openbsd.org <djm@openbsd.org>
4696Date: Wed Jun 6 18:23:32 2018 +0000
4697
4698 upstream: permitlisten option for authorized_keys; ok markus@
4699
4700 OpenBSD-Commit-ID: 8650883018d7aa893173d703379e4456a222c672
4701
4702commit 115063a6647007286cc8ca70abfd2a7585f26ccc
4703Author: djm@openbsd.org <djm@openbsd.org>
4704Date: Wed Jun 6 18:22:41 2018 +0000
4705
4706 upstream: Add a PermitListen directive to control which server-side
4707
4708 addresses may be listened on when the client requests remote forwarding (ssh
4709 -R).
4710
4711 This is the converse of the existing PermitOpen directive and this
4712 includes some refactoring to share much of its implementation.
4713
4714 feedback and ok markus@
4715
4716 OpenBSD-Commit-ID: 15a931238c61a3f2ac74ea18a98c933e358e277f
4717
4718commit 7703ae5f5d42eb302ded51705166ff6e19c92892
4719Author: Darren Tucker <dtucker@dtucker.net>
4720Date: Wed Jun 6 16:04:29 2018 +1000
4721
4722 Use ssh-keygen -A to generate missing host keys.
4723
4724 Instead of testing for each specific key type, use ssh-keygen -A to
4725 generate any missing host key types.
4726
4727commit e8d59fef1098e24f408248dc64e5c8efa5d01f3c
4728Author: jmc@openbsd.org <jmc@openbsd.org>
4729Date: Fri Jun 1 06:23:10 2018 +0000
4730
4731 upstream: add missing punctuation after %i in ssh_config.5, and
4732
4733 make the grammatical format in sshd_config.5 match that in ssh_config.5;
4734
4735 OpenBSD-Commit-ID: e325663b9342f3d556e223e5306e0d5fa1a74fa0
4736
4737commit a1f737d6a99314e291a87856122cb4dbaf64c641
4738Author: jmc@openbsd.org <jmc@openbsd.org>
4739Date: Fri Jun 1 05:52:26 2018 +0000
4740
4741 upstream: oops - further adjustment to text neccessary;
4742
4743 OpenBSD-Commit-ID: 23585576c807743112ab956be0fb3c786bdef025
4744
4745commit 294028493471e0bd0c7ffe55dc0c0a67cba6ec41
4746Author: jmc@openbsd.org <jmc@openbsd.org>
4747Date: Fri Jun 1 05:50:18 2018 +0000
4748
4749 upstream: %U needs to be escaped; tweak text;
4750
4751 OpenBSD-Commit-ID: 30887b73ece257273fb619ab6f4e86dc92ddc15e
4752
4753commit e5019da3c5a31e6e729a565f2b886a80c4be96cc
4754Author: dtucker@openbsd.org <dtucker@openbsd.org>
4755Date: Fri Jun 1 04:31:48 2018 +0000
4756
4757 upstream: Apply umask to all incoming files and directories not
4758
4759 just files. This makes sure it gets applied to directories too, and prevents
4760 a race where files get chmodded after creation. bz#2839, ok djm@
4761
4762 OpenBSD-Commit-ID: 3168ee6c7c39093adac4fd71039600cfa296203b
4763
4764commit a1dcafc41c376332493b9385ee39f9754dc145ec
4765Author: djm@openbsd.org <djm@openbsd.org>
4766Date: Fri Jun 1 03:52:37 2018 +0000
4767
4768 upstream: Adapt to extra default verboisity from ssh-keygen when
4769
4770 searching for and hashing known_hosts entries in a single operation
4771 (ssh-keygen -HF ...) Patch from Anton Kremenetsky
4772
4773 OpenBSD-Regress-ID: 519585a4de35c4611285bd6a7272766c229b19dd
4774
4775commit 76f314c75dffd4a55839d50ee23622edad52c168
4776Author: djm@openbsd.org <djm@openbsd.org>
4777Date: Tue May 22 00:22:49 2018 +0000
4778
4779 upstream: Add TEST_SSH_FAIL_FATAL variable, to force all failures
4780
4781 to instantly abort the test. Useful in capturing clean logs for individual
4782 failure cases.
4783
4784 OpenBSD-Regress-ID: feba18cf338c2328b9601bd4093cabdd9baa3af1
4785
4786commit 065c8c055df8d83ae7c92e5e524a579d87668aab
4787Author: dtucker@openbsd.org <dtucker@openbsd.org>
4788Date: Fri May 11 03:51:06 2018 +0000
4789
4790 upstream: Clean up comment.
4791
4792 OpenBSD-Regress-ID: 6adb35f384d447e7dcb9f170d4f0d546d3973e10
4793
4794commit 01b048c8eba3b021701bd0ab26257fc82903cba8
4795Author: djm@openbsd.org <djm@openbsd.org>
4796Date: Fri Jun 1 04:21:29 2018 +0000
4797
4798 upstream: whitespace
4799
4800 OpenBSD-Commit-ID: e5edb5e843ddc9b73a8e46518899be41d5709add
4801
4802commit 854ae209f992465a276de0b5f10ef770510c2418
4803Author: djm@openbsd.org <djm@openbsd.org>
4804Date: Fri Jun 1 04:05:29 2018 +0000
4805
4806 upstream: make ssh_remote_ipaddr() capable of being called after
4807
4808 the ssh->state has been torn down; bz#2773
4809
4810 OpenBSD-Commit-ID: 167f12523613ca3d16d7716a690e7afa307dc7eb
4811
4812commit 3e088aaf236ef35beeef3c9be93fd53700df5861
4813Author: djm@openbsd.org <djm@openbsd.org>
4814Date: Fri Jun 1 03:51:34 2018 +0000
4815
4816 upstream: return correct exit code when searching for and hashing
4817
4818 known_hosts entries in a single operation (ssh-keygen -HF hostname); bz2772
4819 Report and fix from Anton Kremenetsky
4820
4821 OpenBSD-Commit-ID: ac10ca13eb9bb0bc50fcd42ad11c56c317437b58
4822
4823commit 9c935dd9bf05628826ad2495d3e8bdf3d3271c21
4824Author: djm@openbsd.org <djm@openbsd.org>
4825Date: Fri Jun 1 03:33:53 2018 +0000
4826
4827 upstream: make UID available as a %-expansion everywhere that the
4828
4829 username is available currently. In the client this is via %i, in the server
4830 %U (since %i was already used in the client in some places for this, but used
4831 for something different in the server); bz#2870, ok dtucker@
4832
4833 OpenBSD-Commit-ID: c7e912b0213713316cb55db194b3a6415b3d4b95
4834
4835commit d8748b91d1d6c108c0c260ed41fa55f37b9ef34b
4836Author: djm@openbsd.org <djm@openbsd.org>
4837Date: Fri Jun 1 03:11:49 2018 +0000
4838
4839 upstream: prefer argv0 to "ssh" when re-executing ssh for ProxyJump
4840
4841 directive; bz2831, feedback and ok dtucker@
4842
4843 OpenBSD-Commit-ID: 3cec709a131499fbb0c1ea8a0a9e0b0915ce769e
4844
4845commit fbb4b5fd4f8e0bb89732670a01954e18b69e15ba
4846Author: djm@openbsd.org <djm@openbsd.org>
4847Date: Fri May 25 07:11:01 2018 +0000
4848
4849 upstream: Do not ban PTY allocation when a sshd session is restricted
4850
4851 because the user password is expired as it breaks password change dialog.
4852
4853 regression in openssh-7.7 reported by Daniel Wagner
4854
4855 OpenBSD-Commit-ID: 9fc09c584c6f1964b00595e3abe7f83db4d90d73
4856
4857commit f6a59a22b0c157c4c4e5fd7232f868138223be64
4858Author: djm@openbsd.org <djm@openbsd.org>
4859Date: Fri May 25 04:25:46 2018 +0000
4860
4861 upstream: Fix return value confusion in several functions (readdir,
4862
4863 download and fsync). These should return -1 on error, not a sftp status code.
4864
4865 patch from Petr Cerny in bz#2871
4866
4867 OpenBSD-Commit-ID: 651aa0220ad23c9167d9297a436162d741f97a09
4868
4869commit 1da5934b860ac0378d52d3035b22b6670f6a967e
4870Author: dtucker@openbsd.org <dtucker@openbsd.org>
4871Date: Fri May 25 03:20:59 2018 +0000
4872
4873 upstream: If select() fails in ssh_packet_read_seqnr go directly to
4874
4875 the error path instead of trying to read from the socket on the way out,
4876 which resets errno and causes the true error to be misreported. ok djm@
4877
4878 OpenBSD-Commit-ID: 2614edaadbd05a957aa977728aa7a030af7c6f0a
4879
4880commit 4ef75926ef517d539f2c7aac3188b09f315c86a7
4881Author: Damien Miller <djm@mindrot.org>
4882Date: Fri May 25 13:36:58 2018 +1000
4883
4884 Permit getuid()/geteuid() syscalls.
4885
4886 Requested for Linux/s390; patch from Eduardo Barretto via bz#2752;
4887 ok dtucker
4888
4889commit 4b22fd8ecefd059a66140be67f352eb6145a9d88
4890Author: djm@openbsd.org <djm@openbsd.org>
4891Date: Tue May 22 00:13:26 2018 +0000
4892
4893 upstream: support ProxyJump=none to disable ProxyJump
4894
4895 functionality; bz#2869 ok dtucker@
4896
4897 OpenBSD-Commit-ID: 1c06ee08eb78451b5837fcfd8cbebc5ff3a67a01
4898
4899commit f41bcd70f55b4f0fc4d8e1039cb361ac922b23fb
4900Author: jmc@openbsd.org <jmc@openbsd.org>
4901Date: Tue May 15 05:40:11 2018 +0000
4902
4903 upstream: correct keyowrd name (permitemptypasswords); from brendan
4904
4905 macdonell
4906
4907 OpenBSD-Commit-ID: ef1bdbc936b2ea693ee37a4c20a94d4d43f5fda3
4908
4909commit f18bc97151340127859634d20d79fd39ec8a7f39
4910Author: djm@openbsd.org <djm@openbsd.org>
4911Date: Fri May 11 04:01:11 2018 +0000
4912
4913 upstream: Emphasise that -w implicitly sets Tunnel=point-to-point
4914
4915 and that users should specify an explicit Tunnel directive if they don't want
4916 this. bz#2365.
4917
4918 OpenBSD-Commit-ID: 1a8d9c67ae213ead180481900dbbb3e04864560d
4919
4920commit 32e4e94e1511fe0020fbfbb62399d31b2d22a801
4921Author: Damien Miller <djm@mindrot.org>
4922Date: Mon May 14 14:40:08 2018 +1000
4923
4924 sync fmt_scaled.c
4925
4926 revision 1.17
4927 date: 2018/05/14 04:39:04; author: djm; state: Exp; lines: +5 -2;
4928 commitid: 53zY8GjViUBnWo8Z;
4929 constrain fractional part to [0-9] (less confusing to static analysis); ok ian@
4930
4931commit 54268d589e85ecc43d3eba8d83f327bdada9d696
4932Author: Damien Miller <djm@mindrot.org>
4933Date: Fri May 11 14:04:40 2018 +1000
4934
4935 fix key-options.sh on platforms without openpty(3)
4936
4937 Skip the pty tests if the platform lacks openpty(3) and has to chown(2)
4938 the pty device explicitly. This typically requires root permissions that
4939 this test lacks.
4940
4941 bz#2856 ok dtucker@
4942
4943commit b2140a739be4c3b43cc1dc08322dca39a1e39d20
4944Author: djm@openbsd.org <djm@openbsd.org>
4945Date: Fri May 11 03:38:51 2018 +0000
4946
4947 upstream: implement EMFILE mitigation for ssh-agent: remember the
4948
4949 fd rlimit and stop accepting new connections when it is exceeded (with some
4950 grace). Accept is resumed when enough connections are closed.
4951
4952 bz#2576. feedback deraadt; ok dtucker@
4953
4954 OpenBSD-Commit-ID: 6a85d9cec7b85741961e7116a49f8dae777911ea
4955
4956commit fdba503fdfc647ee8a244002f1581e869c1f3d90
4957Author: dtucker@openbsd.org <dtucker@openbsd.org>
4958Date: Fri May 11 03:22:55 2018 +0000
4959
4960 upstream: Explicit cast when snprintf'ing an uint64. Prevents
4961
4962 warnings on platforms where int64 is long not long long. ok djm@
4963
4964 OpenBSD-Commit-ID: 9c5359e2fbfce11dea2d93f7bc257e84419bd001
4965
4966commit e7751aa4094d51a9bc00778aa8d07e22934c55ee
4967Author: bluhm@openbsd.org <bluhm@openbsd.org>
4968Date: Thu Apr 26 14:47:03 2018 +0000
4969
4970 upstream: Since the previous commit, ssh regress test sftp-chroot was
4971
4972 failing. The sftp program terminated with the wrong exit code as sftp called
4973 fatal() instad of exit(0). So when the sigchld handler waits for the child,
4974 remember that it was found. Then don't expect that main() can wait again. OK
4975 dtucker@
4976
4977 OpenBSD-Commit-ID: bfafd940c0de5297940c71ddf362053db0232266
4978
4979commit 7c15301841e2e9d37cae732400de63ae9c0961d6
4980Author: Darren Tucker <dtucker@dtucker.net>
4981Date: Sun Apr 29 17:54:12 2018 +1000
4982
4983 Use includes.h instead of config.h.
4984
4985 This ensures it picks up the definition of DEF_WEAK, the lack of which
4986 can cause compile errors in some cases (eg modern AIX). From
4987 michael at felt.demon.nl.
4988
4989commit cec338967a666b7c8ad8b88175f2faeddf268116
4990Author: Darren Tucker <dtucker@dtucker.net>
4991Date: Thu Apr 19 09:53:14 2018 +1000
4992
4993 Omit 3des-cbc if OpenSSL built without DES.
4994
4995 Patch from hongxu.jia at windriver.com, ok djm@
4996
4997commit a575ddd58835759393d2dddd16ebe5abdb56485e
4998Author: djm@openbsd.org <djm@openbsd.org>
4999Date: Mon Apr 16 22:50:44 2018 +0000
5000
5001 upstream: Disable SSH2_MSG_DEBUG messages for Twisted Conch clients
5002
5003 without version numbers since they choke on them under some circumstances.
5004 https://twistedmatrix.com/trac/ticket/9422 via Colin Watson
5005
5006 Newer Conch versions have a version number in their ident string and
5007 handle debug messages okay. https://twistedmatrix.com/trac/ticket/9424
5008
5009 OpenBSD-Commit-ID: 6cf7be262af0419c58ddae11324d9c0dc1577539
5010
5011commit 390c7000a8946db565b66eab9e52fb11948711fa
5012Author: djm@openbsd.org <djm@openbsd.org>
5013Date: Sat Apr 14 21:50:41 2018 +0000
5014
5015 upstream: don't free the %C expansion, it's used later for
5016
5017 LocalCommand
5018
5019 OpenBSD-Commit-ID: 857b5cb37b2d856bfdfce61289a415257a487fb1
5020
5021commit 3455f1e7c48e2e549192998d330214975b9b1dc7
5022Author: djm@openbsd.org <djm@openbsd.org>
5023Date: Fri Apr 13 05:04:12 2018 +0000
5024
5025 upstream: notify user immediately when underlying ssh process dies;
5026
5027 patch from Thomas Kuthan in bz2719; ok dtucker@
5028
5029 OpenBSD-Commit-ID: 78fac88c2f08054d1fc5162c43c24162b131cf78
5030
5031commit 1c5b4bc827f4abc3e65888cda061ad5edf1b8c7c
5032Author: Darren Tucker <dtucker@dtucker.net>
5033Date: Fri Apr 13 16:23:57 2018 +1000
5034
5035 Allow nanosleep in preauth privsep child.
5036
5037 The new timing attack mitigation code uses nanosleep in the preauth
5038 codepath, allow in systrace andbox too.
5039
5040commit 0e73428038d5ecfa5d2a28cff26661502a7aff4e
5041Author: Darren Tucker <dtucker@dtucker.net>
5042Date: Fri Apr 13 16:06:29 2018 +1000
5043
5044 Allow nanosleep in preauth privsep child.
5045
5046 The new timing attack mitigation code uses nanosleep in the preauth
5047 codepath, allow in sandbox.
5048
5049commit e9d910b0289c820852f7afa67f584cef1c05fe95
5050Author: dtucker@openbsd.org <dtucker@openbsd.org>
5051Date: Fri Apr 13 03:57:26 2018 +0000
5052
5053 upstream: Defend against user enumeration timing attacks. This
5054
5055 establishes a minimum time for each failed authentication attempt (5ms) and
5056 adds a per-user constant derived from a host secret (0-4ms). Based on work
5057 by joona.kannisto at tut.fi, ok markus@ djm@.
5058
5059 OpenBSD-Commit-ID: b7845b355bb7381703339c8fb0e57e81a20ae5ca
5060
5061commit d97874cbd909eb706886cd0cdd418f812c119ef9
5062Author: Darren Tucker <dtucker@dtucker.net>
5063Date: Fri Apr 13 13:43:55 2018 +1000
5064
5065 Using "==" in shell tests is not portable.
5066
5067 Patch from rsbecker at nexbridge.com.
5068
5069commit cfb1d9bc76734681e3dea532a1504fcd466fbe91
5070Author: Damien Miller <djm@mindrot.org>
5071Date: Fri Apr 13 13:38:06 2018 +1000
5072
5073 Fix tunnel forwarding broken in 7.7p1
5074
5075 bz2855, ok dtucker@
5076
5077commit afa6e79b76fb52a0c09a29688b5c0d125eb08302
5078Author: Damien Miller <djm@mindrot.org>
5079Date: Fri Apr 13 13:31:42 2018 +1000
5080
5081 prefer to use getrandom() for PRNG seeding
5082
5083 Only applies when built --without-openssl. Thanks Jann Horn for
5084 reminder.
5085
5086commit 575fac34a97f69bc217b235f81de9f8f433eceed
5087Author: Darren Tucker <dtucker@dtucker.net>
5088Date: Fri Apr 13 13:13:33 2018 +1000
5089
5090 Revert $REGRESSTMP changes.
5091
5092 Revert 3fd2d229 and subsequent changes as they turned out to be a
5093 portability hassle.
5094
5095commit 10479cc2a4acd6faaf643eb305233b49d70c31c1
5096Author: Damien Miller <djm@mindrot.org>
5097Date: Tue Apr 10 10:19:02 2018 +1000
5098
5099 Many typo fixes from Karsten Weiss
5100
5101 Spotted using https://github.com/lucasdemarchi/codespell
5102
5103commit 907da2f88519b34189fd03fac96de0c52d448233
5104Author: djm@openbsd.org <djm@openbsd.org>
5105Date: Tue Apr 10 00:14:10 2018 +0000
5106
5107 upstream: more typos spotted by Karsten Weiss using codespell
5108
5109 OpenBSD-Regress-ID: d906a2aea0663810a658b7d0bc61a1d2907d4d69
5110
5111commit 37e5f4a7ab9a8026e5fc2f47dafb0f1b123d39e9
5112Author: djm@openbsd.org <djm@openbsd.org>
5113Date: Tue Apr 10 00:13:27 2018 +0000
5114
5115 upstream: make this a bit more portable-friendly
5116
5117 OpenBSD-Regress-ID: 62f7b9e055e8dfaab92b3825f158beeb4ca3f963
5118
5119commit 001aa55484852370488786bd40e9fdad4b465811
5120Author: djm@openbsd.org <djm@openbsd.org>
5121Date: Tue Apr 10 00:10:49 2018 +0000
5122
5123 upstream: lots of typos in comments/docs. Patch from Karsten Weiss
5124
5125 after checking with codespell tool
5126 (https://github.com/lucasdemarchi/codespell)
5127
5128 OpenBSD-Commit-ID: 373222f12d7ab606598a2d36840c60be93568528
5129
5130commit 260ede2787fe80b18b8d5920455b4fb268519c7d
5131Author: djm@openbsd.org <djm@openbsd.org>
5132Date: Mon Apr 9 23:54:49 2018 +0000
5133
5134 upstream: don't kill ssh-agent's listening socket entriely if we
5135
5136 fail to accept a connection; bz#2837, patch from Lukas Kuster
5137
5138 OpenBSD-Commit-ID: 52413f5069179bebf30d38f524afe1a2133c738f
5139
5140commit ebc8b4656f9b0f834a642a9fb3c9fbca86a61838
5141Author: tj@openbsd.org <tj@openbsd.org>
5142Date: Mon Apr 9 20:41:22 2018 +0000
5143
5144 upstream: the UseLogin option was removed, so remove it here too.
5145
5146 ok dtucker
5147
5148 OpenBSD-Commit-ID: 7080be73a64d68e21f22f5408a67a0ba8b1b6b06
5149
5150commit 3e36f281851fc8e9c996b33f108b2ae167314fbe
5151Author: jmc@openbsd.org <jmc@openbsd.org>
5152Date: Sun Apr 8 07:36:02 2018 +0000
5153
5154 upstream: tweak previous;
5155
5156 OpenBSD-Commit-ID: 2b9c23022ea7b9dddb62864de4e906000f9d7474
5157
5158commit 8368571efd6693c5c57f850e23a2372acf3f865f
5159Author: jmc@openbsd.org <jmc@openbsd.org>
5160Date: Sat Apr 7 13:50:10 2018 +0000
5161
5162 upstream: tweak previous;
5163
5164 OpenBSD-Commit-ID: 38e347b6f8e888f5e0700d01abb1eba7caa154f9
5165
5166commit 555294a7279914ae6795b71bedf4e6011b7636df
5167Author: djm@openbsd.org <djm@openbsd.org>
5168Date: Fri Apr 6 13:02:39 2018 +0000
5169
5170 upstream: Allow "SendEnv -PATTERN" to clear environment variables
5171
5172 previously labeled for sendind. bz#1285 ok dtucker@
5173
5174 OpenBSD-Commit-ID: f6fec9e3d0f366f15903094fbe1754cb359a0df9
5175
5176commit 40f5f03544a07ebd2003b443d42e85cb51d94d59
5177Author: djm@openbsd.org <djm@openbsd.org>
5178Date: Fri Apr 6 04:15:45 2018 +0000
5179
5180 upstream: relax checking of authorized_keys environment="..."
5181
5182 options to allow underscores in variable names (regression introduced in
5183 7.7). bz2851, ok deraadt@
5184
5185 OpenBSD-Commit-ID: 69690ffe0c97ff393f2c76d25b4b3d2ed4e4ac9c
5186
5187commit 30fd7f9af0f553aaa2eeda5a1f53f26cfc222b5e
5188Author: djm@openbsd.org <djm@openbsd.org>
5189Date: Fri Apr 6 03:51:27 2018 +0000
5190
5191 upstream: add a couple of missed options to the config dump; patch
5192
5193 from Jakub Jelen via bz2835
5194
5195 OpenBSD-Commit-ID: 5970adadf6ef206bee0dddfc75d24c2019861446
5196
5197commit 8d6829be324452d2acd282d5f8ceb0adaa89a4de
5198Author: djm@openbsd.org <djm@openbsd.org>
5199Date: Fri Apr 6 03:34:27 2018 +0000
5200
5201 upstream: ssh does not accept -oInclude=... on the commandline, the
5202
5203 Include keyword is for configuration files only. bz#2840, patch from Jakub
5204 Jelen
5205
5206 OpenBSD-Commit-ID: 32d052b4a7a7f22df35fe3f71c368c02b02cacb0
5207
5208commit 00c5222ddc0c8edcaa4ea45ac03befdc8013d137
5209Author: djm@openbsd.org <djm@openbsd.org>
5210Date: Thu Apr 5 22:54:28 2018 +0000
5211
5212 upstream: We don't offer CBC cipher by default any more. Spotted by
5213
5214 Renaud Allard (via otto@)
5215
5216 OpenBSD-Commit-ID: a559b1eef741557dd959ae378b665a2977d92dca
5217
5218commit 5ee8448ad7c306f05a9f56769f95336a8269f379
5219Author: job@openbsd.org <job@openbsd.org>
5220Date: Wed Apr 4 15:12:17 2018 +0000
5221
5222 upstream: Update default IPQoS in ssh(1), sshd(8) to DSCP AF21 for
5223
5224 interactive and CS1 for bulk
5225
5226 AF21 was selected as this is the highest priority within the low-latency
5227 service class (and it is higher than what we have today). SSH is elastic
5228 and time-sensitive data, where a user is waiting for a response via the
5229 network in order to continue with a task at hand. As such, these flows
5230 should be considered foreground traffic, with delays or drops to such
5231 traffic directly impacting user-productivity.
5232
5233 For bulk SSH traffic, the CS1 "Lower Effort" marker was chosen to enable
5234 networks implementing a scavanger/lower-than-best effort class to
5235 discriminate scp(1) below normal activities, such as web surfing. In
5236 general this type of bulk SSH traffic is a background activity.
5237
5238 An advantage of using "AF21" for interactive SSH and "CS1" for bulk SSH
5239 is that they are recognisable values on all common platforms (IANA
5240 https://www.iana.org/assignments/dscp-registry/dscp-registry.xml), and
5241 for AF21 specifically a definition of the intended behavior exists
5242 https://tools.ietf.org/html/rfc4594#section-4.7 in addition to the definition
5243 of the Assured Forwarding PHB group https://tools.ietf.org/html/rfc2597, and
5244 for CS1 (Lower Effort) there is https://tools.ietf.org/html/rfc3662
5245
5246 The first three bits of "AF21" map to the equivalent IEEEE 802.1D PCP, IEEE
5247 802.11e, MPLS EXP/CoS and IP Precedence value of 2 (also known as "Immediate",
5248 or "AC_BE"), and CS1's first 3 bits map to IEEEE 802.1D PCP, IEEE 802.11e,
5249 MPLS/CoS and IP Precedence value 1 ("Background" or "AC_BK").
5250
5251 OK deraadt@, "no objection" djm@
5252
5253 OpenBSD-Commit-ID: d11d2a4484f461524ef0c20870523dfcdeb52181
5254
5255commit 424b544fbda963f973da80f884717c3e0a513288
5256Author: dtucker@openbsd.org <dtucker@openbsd.org>
5257Date: Tue Apr 3 02:14:08 2018 +0000
5258
5259 upstream: Import regenerated moduli file.
5260
5261 OpenBSD-Commit-ID: 1de0e85522051eb2ffa00437e1885e9d7b3e0c2e
5262
5263commit 323f66ce934df2da551f256f37d69822428e1ca1
5264Author: dtucker@openbsd.org <dtucker@openbsd.org>
5265Date: Fri Apr 6 04:18:35 2018 +0000
5266
5267 upstream: Add test for username options parsing order, prompted by
5268
5269 bz#2849.
5270
5271 OpenBSD-Regress-ID: 6985cd32f38596882a3ac172ff8c510693b65283
5272
5273commit e8f474554e3bda102a797a2fbab0594ccc66f097
5274Author: Damien Miller <djm@mindrot.org>
5275Date: Fri Apr 6 14:11:44 2018 +1000
5276
5277 Expose SSH_AUTH_INFO_0 to PAM auth modules
5278
5279 bz#2408, patch from Radoslaw Ejsmont; ok dtucker@
5280
5281commit 014ba209cf4c6a159baa30ecebbaddfa97da7100
5282Author: Darren Tucker <dtucker@dtucker.net>
5283Date: Tue Apr 3 12:18:00 2018 +1000
5284
5285 Import regenerated moduli file.
5286
5287commit a0349a1cc4a18967ad1dbff5389bcdf9da098814
5288Author: Damien Miller <djm@mindrot.org>
5289Date: Mon Apr 2 15:38:28 2018 +1000
5290
5291 update versions in .spec files
5292
5293commit 816ad38f79792f5617e3913be306ddb27e91091c
5294Author: Damien Miller <djm@mindrot.org>
5295Date: Mon Apr 2 15:38:20 2018 +1000
5296
5297 update version number
5298
5299commit 2c71ca1dd1efe458cb7dee3f8a1a566f913182c2
5300Author: Darren Tucker <dtucker@dtucker.net>
5301Date: Fri Mar 30 18:23:07 2018 +1100
5302
5303 Disable native strndup and strnlen on AIX.
5304
5305 On at least some revisions of AIX, strndup returns unterminated strings
5306 under some conditions, apparently because strnlen returns incorrect
5307 values in those cases. Disable both on AIX and use the replacements
5308 from openbsd-compat. Fixes problem with ECDSA keys there, ok djm.
5309
5310commit 6b5a17bc14e896e3904dc58d889b58934cfacd24
5311Author: Darren Tucker <dtucker@dtucker.net>
5312Date: Mon Mar 26 13:12:44 2018 +1100
5313
5314 Include ssh_api.h for struct ssh.
5315
5316 struct ssh is needed by implementations of sys_auth_passwd() that were
5317 converted in commit bba02a50. Needed to fix build on AIX, I assume for
5318 the other platforms too (although it should be harmless if not needed).
5319
5320commit bc3f80e4d191b8e48650045dfa8a682cd3aabd4d
5321Author: Darren Tucker <dtucker@dtucker.net>
5322Date: Mon Mar 26 12:58:09 2018 +1100
5323
5324 Remove UNICOS code missed during removal.
5325
5326 Fixes compile error on AIX.
5327
5328commit 9d57762c24882e2f000a21a0ffc8c5908a1fa738
5329Author: markus@openbsd.org <markus@openbsd.org>
5330Date: Sat Mar 24 19:29:03 2018 +0000
5331
5332 upstream: openssh-7.7
5333
5334 OpenBSD-Commit-ID: 274e614352460b9802c905f38fb5ea7ed5db3d41
5335
5336commit 4b7d8acdbbceef247dc035e611e577174ed8a87e
5337Author: Damien Miller <djm@mindrot.org>
5338Date: Mon Mar 26 09:37:02 2018 +1100
5339
5340 Remove authinfo.sh test dependency on printenv
5341
5342 Some platforms lack printenv in the default $PATH.
5343 Reported by Tom G. Christensen
5344
5345commit 4afeaf3dcb7dc70efd98fcfcb0ed28a6b40b820e
5346Author: Tim Rice <tim@multitalents.net>
5347Date: Sun Mar 25 10:00:21 2018 -0700
5348
5349 Use libiaf on all sysv5 systems
5350
5351commit bba02a5094b3db228ceac41cb4bfca165d0735f3
5352Author: Tim Rice <tim@multitalents.net>
5353Date: Sun Mar 25 09:17:33 2018 -0700
5354
5355 modified: auth-sia.c
5356 modified: openbsd-compat/port-aix.c
5357 modified: openbsd-compat/port-uw.c
5358
5359 propogate changes to auth-passwd.c in commit
5360 7c856857607112a3dfe6414696bf4c7ab7fb0cb3 to other providers
5361 of sys_auth_passwd()
5362
5363commit d7a7a39168bdfe273587bf85d779d60569100a3f
5364Author: markus@openbsd.org <markus@openbsd.org>
5365Date: Sat Mar 24 19:29:03 2018 +0000
5366
5367 upstream: openssh-7.7
5368
5369 OpenBSD-Commit-ID: 274e614352460b9802c905f38fb5ea7ed5db3d41
5370
5371commit 9efcaaac314c611c6c0326e8bac5b486c424bbd2
5372Author: markus@openbsd.org <markus@openbsd.org>
5373Date: Sat Mar 24 19:28:43 2018 +0000
5374
5375 upstream: fix bogus warning when signing cert keys using agent;
5376
5377 from djm; ok deraadt dtucker
5378
5379 OpenBSD-Commit-ID: 12e50836ba2040042383a8b71e12d7ea06e9633d
5380
5381commit 393436024d2e4b4c7a01f9cfa5854e7437896d11
5382Author: Darren Tucker <dtucker@dtucker.net>
5383Date: Sun Mar 25 09:40:46 2018 +1100
5384
5385 Replace /dev/stdin with "-".
5386
5387 For some reason sftp -b doesn't work with /dev/stdin on Cygwin, as noted
5388 and suggested by vinschen at redhat.com.
5389
5390commit b5974de1a1d419e316ffb6524b1b277dda2f3b49
5391Author: Darren Tucker <dtucker@dtucker.net>
5392Date: Fri Mar 23 13:21:14 2018 +1100
5393
5394 Provide $OBJ to paths in PuTTY interop tests.
5395
5396commit dc31e79454e9b9140b33ad380565fdb59b9c4f33
5397Author: dtucker@openbsd.org <dtucker@openbsd.org>
5398Date: Fri Mar 16 09:06:31 2018 +0000
5399
5400 upstream: Tell puttygen to use /dev/urandom instead of /dev/random. On
5401
5402 OpenBSD they are both non-blocking, but on many other -portable platforms it
5403 blocks, stalling tests.
5404
5405 OpenBSD-Regress-ID: 397d0d4c719c353f24d79f5b14775e0cfdf0e1cc
5406
5407commit cb1f94431ef319cd48618b8b771b58739a8210cf
5408Author: markus@openbsd.org <markus@openbsd.org>
5409Date: Thu Mar 22 07:06:11 2018 +0000
5410
5411 upstream: ssh/xmss: fix build; ok djm@
5412
5413 OpenBSD-Commit-ID: c9374ca41d4497f1c673ab681cc33f6e7c5dd186
5414
5415commit 27979da9e4074322611355598f69175b9ff10d39
5416Author: markus@openbsd.org <markus@openbsd.org>
5417Date: Thu Mar 22 07:05:48 2018 +0000
5418
5419 upstream: ssh/xmss: fix deserialize for certs; ok djm@
5420
5421 OpenBSD-Commit-ID: f44c41636c16ec83502039828beaf521c057dddc
5422
5423commit c6cb2565c9285eb54fa9dfbb3890f5464aff410f
5424Author: Darren Tucker <dtucker@dtucker.net>
5425Date: Thu Mar 22 17:00:28 2018 +1100
5426
5427 Save $? before case statement.
5428
5429 In some shells (FreeBSD 9, ash) the case statement resets $?, so save
5430 for later testing.
5431
5432commit 4c4e7f783b43b264c247233acb887ee10ed4ce4d
5433Author: djm@openbsd.org <djm@openbsd.org>
5434Date: Wed Mar 14 05:35:40 2018 +0000
5435
5436 upstream: rename recently-added "valid-before" key restriction to
5437
5438 "expiry-time" as the former is confusing wrt similar terminology in X.509;
5439 pointed out by jsing@
5440
5441 OpenBSD-Regress-ID: ac8b41dbfd90cffd525d58350c327195b0937793
5442
5443commit 500396b204c58e78ad9d081516a365a9f28dc3fd
5444Author: djm@openbsd.org <djm@openbsd.org>
5445Date: Mon Mar 12 00:56:03 2018 +0000
5446
5447 upstream: check valid-before option in authorized_keys
5448
5449 OpenBSD-Regress-ID: 7e1e4a84f7f099a290e5a4cbf4196f90ff2d7e11
5450
5451commit a76b5d26c2a51d7dd7a5164e683ab3f4419be215
5452Author: djm@openbsd.org <djm@openbsd.org>
5453Date: Mon Mar 12 00:54:04 2018 +0000
5454
5455 upstream: explicitly specify RSA/SHA-2 keytype here too
5456
5457 OpenBSD-Regress-ID: 74d7b24e8c72c27af6b481198344eb077e993a62
5458
5459commit 3a43297ce29d37c64e37c7e21282cb219e28d3d1
5460Author: djm@openbsd.org <djm@openbsd.org>
5461Date: Mon Mar 12 00:52:57 2018 +0000
5462
5463 upstream: exlicitly include RSA/SHA-2 keytypes in
5464
5465 PubkeyAcceptedKeyTypes here
5466
5467 OpenBSD-Regress-ID: 954d19e0032a74e31697fb1dc7e7d3d1b2d65fe9
5468
5469commit 037fdc1dc2d68e1d43f9c9e2586c02cabc8f7cc8
5470Author: jmc@openbsd.org <jmc@openbsd.org>
5471Date: Wed Mar 14 06:56:20 2018 +0000
5472
5473 upstream: sort expiry-time;
5474
5475 OpenBSD-Commit-ID: 8c7d82ee1e63e26ceb2b3d3a16514019f984f6bf
5476
5477commit abc0fa38c9bc136871f28e452c3465c3051fc785
5478Author: djm@openbsd.org <djm@openbsd.org>
5479Date: Wed Mar 14 05:35:40 2018 +0000
5480
5481 upstream: rename recently-added "valid-before" key restriction to
5482
5483 "expiry-time" as the former is confusing wrt similar terminology in X.509;
5484 pointed out by jsing@
5485
5486 OpenBSD-Commit-ID: 376939466a1f562f3950a22314bc6505733aaae6
5487
5488commit bf0fbf2b11a44f06a64b620af7d01ff171c28e13
5489Author: djm@openbsd.org <djm@openbsd.org>
5490Date: Mon Mar 12 00:52:01 2018 +0000
5491
5492 upstream: add valid-before="[time]" authorized_keys option. A
5493
5494 simple way of giving a key an expiry date. ok markus@
5495
5496 OpenBSD-Commit-ID: 1793b4dd5184fa87f42ed33c7b0f4f02bc877947
5497
5498commit fbd733ab7adc907118a6cf56c08ed90c7000043f
5499Author: Darren Tucker <dtucker@dtucker.net>
5500Date: Mon Mar 12 19:17:26 2018 +1100
5501
5502 Add AC_LANG_PROGRAM to AC_COMPILE_IFELSE.
5503
5504 The recently added MIPS ABI tests need AC_LANG_PROGRAM to prevent
5505 warnings from autoconf. Pointed out by klausz at haus-gisela.de.
5506
5507commit c7c458e8261b04d161763cd333d74e7a5842e917
5508Author: djm@openbsd.org <djm@openbsd.org>
5509Date: Wed Mar 7 23:53:08 2018 +0000
5510
5511 upstream: revert recent strdelim() change, it causes problems with
5512
5513 some configs.
5514
5515 revision 1.124
5516 date: 2018/03/02 03:02:11; author: djm; state: Exp; lines: +19 -8; commitid: nNRsCijZiGG6SUTT;
5517 Allow escaped quotes \" and \' in ssh_config and sshd_config quotes
5518 option strings. bz#1596 ok markus@
5519
5520 OpenBSD-Commit-ID: 59c40b1b81206d713c06b49d8477402c86babda5
5521
5522commit 0bcd871ccdf3baf2b642509ba4773d5be067cfa2
5523Author: jmc@openbsd.org <jmc@openbsd.org>
5524Date: Mon Mar 5 07:03:18 2018 +0000
5525
5526 upstream: move the input format details to -f; remove the output
5527
5528 format details and point to sshd(8), where it is documented;
5529
5530 ok dtucker
5531
5532 OpenBSD-Commit-ID: 95f17e47dae02a6ac7329708c8c893d4cad0004a
5533
5534commit 45011511a09e03493568506ce32f4891a174a3bd
5535Author: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
5536Date: Tue Jun 20 16:42:28 2017 +0100
5537
5538 configure.ac: properly set seccomp_audit_arch for MIPS64
5539
5540 Currently seccomp_audit_arch is set to AUDIT_ARCH_MIPS64 or
5541 AUDIT_ARCH_MIPSEL64 (depending on the endinness) when openssh is built
5542 for MIPS64. However, that's only valid for n64 ABI. The right macros for
5543 n32 ABI defined in seccomp.h are AUDIT_ARCH_MIPS64N32 and
5544 AUDIT_ARCH_MIPSEL64N32, for big and little endian respectively.
5545
5546 Because of that an sshd built for MIPS64 n32 rejects connection attempts
5547 and the output of strace reveals that the problem is related to seccomp
5548 audit:
5549
5550 [pid 194] prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, {len=57,
5551 filter=0x555d5da0}) = 0
5552 [pid 194] write(7, "\0\0\0]\0\0\0\5\0\0\0Ulist_hostkey_types: "..., 97) = ?
5553 [pid 193] <... poll resumed> ) = 2 ([{fd=5, revents=POLLIN|POLLHUP},
5554 {fd=6, revents=POLLHUP}])
5555 [pid 194] +++ killed by SIGSYS +++
5556
5557 This patch fixes that problem by setting the right value to
5558 seccomp_audit_arch taking into account the MIPS64 ABI.
5559
5560 Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
5561
5562commit 580086704c31de91dc7ba040a28e416bf1fefbca
5563Author: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
5564Date: Tue Jun 20 16:42:11 2017 +0100
5565
5566 configure.ac: detect MIPS ABI
5567
5568 Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
5569
5570commit cd4e937aa701f70366cd5b5969af525dff6fdf15
5571Author: Alan Yee <alyee@ucsd.edu>
5572Date: Wed Mar 7 15:12:14 2018 -0800
5573
5574 Use https URLs for links that support it.
5575
5576commit c0a0c3fc4a76b682db22146b28ddc46566db1ce9
5577Author: Darren Tucker <dtucker@dtucker.net>
5578Date: Mon Mar 5 20:03:07 2018 +1100
5579
5580 Disable UTMPX on SunOS4.
5581
5582commit 58fd4c5c0140f6636227ca7acbb149ab0c2509b9
5583Author: Darren Tucker <dtucker@dtucker.net>
5584Date: Mon Mar 5 19:28:08 2018 +1100
5585
5586 Check for and work around buggy fflush(NULL).
5587
5588 Some really old platforms (eg SunOS4) segfault on fflush(NULL) so check
5589 for and work around. With klausz at haus-gisela.de.
5590
5591commit 71e48bc7945f867029e50e06c665c66aed6d3c64
5592Author: Darren Tucker <dtucker@dtucker.net>
5593Date: Mon Mar 5 10:22:32 2018 +1100
5594
5595 Remove extra XMSS #endif
5596
5597 Extra #endif breaks compile with -DWITH_XMSS. Pointed out by Jack
5598 Schmidt via github.
5599
5600commit 055e09e2212ff52067786bf6d794ca9512ff7f0c
5601Author: dtucker@openbsd.org <dtucker@openbsd.org>
5602Date: Sat Mar 3 06:37:53 2018 +0000
5603
5604 upstream: Update RSA minimum modulus size to 1024. sshkey.h rev 1.18
5605
5606 bumped the minimum from 768 to 1024, update man page accordingly.
5607
5608 OpenBSD-Commit-ID: 27563ab4e866cd2aac40a5247876f6787c08a338
5609
5610commit 7e4fadd3248d6bb7d39d6688c76a613d35d2efc1
5611Author: djm@openbsd.org <djm@openbsd.org>
5612Date: Sun Mar 4 01:46:48 2018 +0000
5613
5614 upstream: for the pty control tests, just check that the PTY path
5615
5616 points to something in /dev (rather than checking the device node itself);
5617 makes life easier for portable, where systems with dynamic ptys can delete
5618 nodes before we get around to testing their existence.
5619
5620 OpenBSD-Regress-ID: b1e455b821e62572bccd98102f8dd9d09bb94994
5621
5622commit 13ef4cf53f24753fe920832b990b25c9c9cd0530
5623Author: Darren Tucker <dtucker@dtucker.net>
5624Date: Sat Mar 3 16:21:20 2018 +1100
5625
5626 Update PAM password change to new opts API.
5627
5628commit 33561e68e0b27366cb769295a077aabc6a49d2a1
5629Author: Darren Tucker <dtucker@dtucker.net>
5630Date: Sat Mar 3 14:56:09 2018 +1100
5631
5632 Add strndup for platforms that need it.
5633
5634 Some platforms don't have strndup, which includes Solaris 10, NetBSD 3
5635 and FreeBSD 6.
5636
5637commit e8a17feba95eef424303fb94441008f6c5347aaf
5638Author: Darren Tucker <dtucker@dtucker.net>
5639Date: Sat Mar 3 14:49:07 2018 +1100
5640
5641 Flatten and alphabetize object file lists.
5642
5643 This will make maintenance and changes easier. "no objection" tim@
5644
5645commit de1920d743d295f50e6905e5957c4172c038e8eb
5646Author: djm@openbsd.org <djm@openbsd.org>
5647Date: Sat Mar 3 03:16:17 2018 +0000
5648
5649 upstream: unit tests for new authorized_keys options API
5650
5651 OpenBSD-Regress-ID: 820f9ec9c6301f6ca330ad4052d85f0e67d0bdc1
5652
5653commit dc3e92df17556dc5b0ab19cee8dcb2a6ba348717
5654Author: djm@openbsd.org <djm@openbsd.org>
5655Date: Fri Mar 2 02:53:27 2018 +0000
5656
5657 upstream: fix testing of pty option, include positive test and
5658
5659 testing of restrict keyword
5660
5661 OpenBSD-Regress-ID: 4268f27c2706a0a95e725d9518c5bcbec9814c6d
5662
5663commit 3d1edd1ebbc0aabea8bbe61903060f37137f7c61
5664Author: djm@openbsd.org <djm@openbsd.org>
5665Date: Fri Mar 2 02:51:55 2018 +0000
5666
5667 upstream: better testing for port-forwarding and restrict flags in
5668
5669 authorized_keys
5670
5671 OpenBSD-Regress-ID: ee771df8955f2735df54746872c6228aff381daa
5672
5673commit 7c856857607112a3dfe6414696bf4c7ab7fb0cb3
5674Author: djm@openbsd.org <djm@openbsd.org>
5675Date: Sat Mar 3 03:15:51 2018 +0000
5676
5677 upstream: switch over to the new authorized_keys options API and
5678
5679 remove the legacy one.
5680
5681 Includes a fairly big refactor of auth2-pubkey.c to retain less state
5682 between key file lines.
5683
5684 feedback and ok markus@
5685
5686 OpenBSD-Commit-ID: dece6cae0f47751b9892080eb13d6625599573df
5687
5688commit 90c4bec8b5f9ec4c003ae4abdf13fc7766f00c8b
5689Author: djm@openbsd.org <djm@openbsd.org>
5690Date: Sat Mar 3 03:06:02 2018 +0000
5691
5692 upstream: Introduce a new API for handling authorized_keys options.
5693
5694 This API parses options to a dedicated structure rather than the old API's
5695 approach of setting global state. It also includes support for merging
5696 options, e.g. from authorized_keys, authorized_principals and/or
5697 certificates.
5698
5699 feedback and ok markus@
5700
5701 OpenBSD-Commit-ID: 98badda102cd575210d7802943e93a34232c80a2
5702
5703commit 26074380767e639ef89321610e146ae11016b385
5704Author: djm@openbsd.org <djm@openbsd.org>
5705Date: Sat Mar 3 03:01:50 2018 +0000
5706
5707 upstream: warn when the agent returns a signature type that was
5708
5709 different to what was requested. This might happen when an old/non-OpenSSH
5710 agent is asked to make a rsa-sha2-256/512 signature but only supports
5711 ssh-rsa. bz#2799 feedback and ok markus@
5712
5713 OpenBSD-Commit-ID: 760c0f9438c5c58abc16b5f98008ff2d95cb13ce
5714
5715commit f493d2b0b66fb003ed29f31dd66ff1aeb64be1fc
5716Author: jmc@openbsd.org <jmc@openbsd.org>
5717Date: Fri Mar 2 21:40:15 2018 +0000
5718
5719 upstream: apply a lick of paint; tweaks/ok dtucker
5720
5721 OpenBSD-Commit-ID: 518a6736338045e0037f503c21027d958d05e703
5722
5723commit 713d9cb510e0e7759398716cbe6dcf43e574be71
5724Author: djm@openbsd.org <djm@openbsd.org>
5725Date: Fri Mar 2 03:02:11 2018 +0000
5726
5727 upstream: Allow escaped quotes \" and \' in ssh_config and
5728
5729 sshd_config quotes option strings. bz#1596 ok markus@
5730
5731 OpenBSD-Commit-ID: dd3a29fc2dc905e8780198e5a6a30b096de1a1cb
5732
5733commit 94b4e2d29afaaaef89a95289b16c18bf5627f7cd
5734Author: djm@openbsd.org <djm@openbsd.org>
5735Date: Fri Mar 2 02:08:03 2018 +0000
5736
5737 upstream: refactor sshkey_read() to make it a little more, err,
5738
5739 readable. ok markus
5740
5741 OpenBSD-Commit-ID: 2e9247b5762fdac3b6335dc606d3822121714c28
5742
5743commit 5886b92968b360623491699247caddfb77a74d80
5744Author: markus@openbsd.org <markus@openbsd.org>
5745Date: Thu Mar 1 20:32:16 2018 +0000
5746
5747 upstream: missing #ifdef for _PATH_HOST_XMSS_KEY_FILE; report by
5748
5749 jmc@
5750
5751 OpenBSD-Commit-ID: 9039cb69a3f9886bfef096891a9e7fcbd620280b
5752
5753commit 3b36bed3d26f17f6a2b7e036e01777770fe1bcd4
5754Author: dtucker@openbsd.org <dtucker@openbsd.org>
5755Date: Mon Feb 26 12:14:53 2018 +0000
5756
5757 upstream: Remove unneeded (local) include. ok markus@
5758
5759 OpenBSD-Commit-ID: 132812dd2296b1caa8cb07d2408afc28e4e60f93
5760
5761commit 27b9f3950e0289e225b57b7b880a8f1859dcd70b
5762Author: dtucker@openbsd.org <dtucker@openbsd.org>
5763Date: Mon Feb 26 03:56:44 2018 +0000
5764
5765 upstream: Add $OpenBSD$ markers to xmss files to help keep synced
5766
5767 with portable. ok djm@.
5768
5769 OpenBSD-Commit-ID: 5233a27aafd1dfadad4b957225f95ae51eb365c1
5770
5771commit afd830847a82ebbd5aeab05bad6d2c8ce74df1cd
5772Author: dtucker@openbsd.org <dtucker@openbsd.org>
5773Date: Mon Feb 26 03:03:05 2018 +0000
5774
5775 upstream: Add newline at end of file to prevent compiler warnings.
5776
5777 OpenBSD-Commit-ID: 52f247d4eafe840c7c14c8befa71a760a8eeb063
5778
5779commit 941e0d3e9bb8d5e4eb70cc694441445faf037c84
5780Author: Darren Tucker <dtucker@dtucker.net>
5781Date: Wed Feb 28 19:59:35 2018 +1100
5782
5783 Add WITH_XMSS, move to prevent conflicts.
5784
5785 Add #ifdef WITH_XMSS to ssh-xmss.c, move it in the other files to after
5786 includes.h so it's less likely to conflict and will pick up WITH_XMSS if
5787 added to config.h.
5788
5789commit a10d8552d0d2438da4ed539275abcbf557d1e7a8
5790Author: Darren Tucker <dtucker@dtucker.net>
5791Date: Tue Feb 27 14:45:17 2018 +1100
5792
5793 Conditionally compile XMSS code.
5794
5795 The XMSS code is currently experimental and, unlike the rest of OpenSSH
5796 cannot currently be compiled with a c89 compiler.
5797
5798commit 146c3bd28c8dbee9c4b06465d9c9facab96b1e9b
5799Author: Darren Tucker <dtucker@dtucker.net>
5800Date: Mon Feb 26 12:51:29 2018 +1100
5801
5802 Check dlopen has RTLD_NOW before enabling pkcs11.
5803
5804commit 1323f120d06a26074c4d154fcbe7f49bcad3d741
5805Author: Darren Tucker <dtucker@dtucker.net>
5806Date: Tue Feb 27 08:41:25 2018 +1100
5807
5808 Check for attributes on prototype args.
5809
5810 Some compilers (gcc 2.9.53, 3.0 and probably others, see gcc bug #3481)
5811 do not accept __attribute__ on function pointer prototype args. Check for
5812 this and hide them if they're not accepted.
5813
5814commit f0b245b0439e600fab782d19e97980e9f2c2533c
5815Author: Darren Tucker <dtucker@dtucker.net>
5816Date: Mon Feb 26 11:43:48 2018 +1100
5817
5818 Check if HAVE_DECL_BZERO correctly.
5819
5820commit c7ef4a399155e1621a532cc5e08e6fa773658dd4
5821Author: Darren Tucker <dtucker@dtucker.net>
5822Date: Mon Feb 26 17:42:56 2018 +1100
5823
5824 Wrap <stdint.h> in #ifdef HAVE_STDINT_H.
5825
5826commit ac53ce46cf8165cbda7f57ee045f9f32e1e92b31
5827Author: Darren Tucker <dtucker@dtucker.net>
5828Date: Mon Feb 26 16:24:23 2018 +1100
5829
5830 Replace $(CURDIR) with $(PWD).
5831
5832 The former doesn't work on Solaris or BSDs.
5833
5834commit 534b2680a15d14e7e60274d5b29b812d44cc5a44
5835Author: Darren Tucker <dtucker@dtucker.net>
5836Date: Mon Feb 26 14:51:59 2018 +1100
5837
5838 Comment out hexdump().
5839
5840 Nothing currently uses them but they cause conflicts on at least
5841 FreeBSD, possibly others. ok djm@
5842
5843commit 5aea4aa522f61bb2f34c3055a7de203909dfae77
5844Author: Darren Tucker <dtucker@dtucker.net>
5845Date: Mon Feb 26 14:39:14 2018 +1100
5846
5847 typo: missing ;
5848
5849commit cd3ab57f9b388f8b1abf601dc4d78ff82d83b75e
5850Author: Darren Tucker <dtucker@dtucker.net>
5851Date: Mon Feb 26 14:37:06 2018 +1100
5852
5853 Hook up flock() compat code.
5854
5855 Also a couple of minor changes: fail if we can't lock instead of
5856 silently succeeding, and apply a couple of minor style fixes.
5857
5858commit b087998d1ba90dd1ddb6bfdb17873dc3e7392798
5859Author: Darren Tucker <dtucker@dtucker.net>
5860Date: Mon Feb 26 14:27:02 2018 +1100
5861
5862 Import flock() compat from NetBSD.
5863
5864 From NetBSD's src/trunk/tools/compat/flock.c, no OpenSSH changes yet.
5865
5866commit 89212533dde6798324e835b1499084658df4579e
5867Author: Darren Tucker <dtucker@dtucker.net>
5868Date: Mon Feb 26 12:32:14 2018 +1100
5869
5870 Fix breakage when REGRESSTMP not set.
5871
5872 BUILDDIR is not set where used for REGRESSTMP, use make's CURDIR
5873 instead. Pointed out by djm@.
5874
5875commit f885474137df4b89498c0b8834c2ac72c47aa4bd
5876Author: Damien Miller <djm@mindrot.org>
5877Date: Mon Feb 26 12:18:14 2018 +1100
5878
5879 XMSS-related files get includes.h
5880
5881commit 612faa34c72e421cdc9e63f624526bae62d557cc
5882Author: Damien Miller <djm@mindrot.org>
5883Date: Mon Feb 26 12:17:55 2018 +1100
5884
5885 object files end with .o - not .c
5886
5887commit bda709b8e13d3eef19e69c2d1684139e3af728f5
5888Author: Damien Miller <djm@mindrot.org>
5889Date: Mon Feb 26 12:17:22 2018 +1100
5890
5891 avoid inclusion of deprecated selinux/flask.h
5892
5893 Use string_to_security_class() instead.
5894
5895commit 2e396439365c4ca352cac222717d09b14f8a0dfd
5896Author: Damien Miller <djm@mindrot.org>
5897Date: Mon Feb 26 11:48:27 2018 +1100
5898
5899 updatedepend
5900
5901commit 1b11ea7c58cd5c59838b5fa574cd456d6047b2d4
5902Author: markus@openbsd.org <markus@openbsd.org>
5903Date: Fri Feb 23 15:58:37 2018 +0000
5904
5905 upstream: Add experimental support for PQC XMSS keys (Extended
5906
5907 Hash-Based Signatures) The code is not compiled in by default (see WITH_XMSS
5908 in Makefile.inc) Joint work with stefan-lukas_gazdag at genua.eu See
5909 https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12 ok
5910 djm@
5911
5912 OpenBSD-Commit-ID: ef3eccb96762a5d6f135d7daeef608df7776a7ac
5913
5914commit 7d330a1ac02076de98cfc8fda05353d57b603755
5915Author: jmc@openbsd.org <jmc@openbsd.org>
5916Date: Fri Feb 23 07:38:09 2018 +0000
5917
5918 upstream: some cleanup for BindInterface and ssh-keyscan;
5919
5920 OpenBSD-Commit-ID: 1a719ebeae22a166adf05bea5009add7075acc8c
5921
5922commit c7b5a47e3b9db9a0f0198f9c90c705f6307afc2b
5923Author: Darren Tucker <dtucker@dtucker.net>
5924Date: Sun Feb 25 23:55:41 2018 +1100
5925
5926 Invert sense of getpgrp test.
5927
5928 AC_FUNC_GETPGRP tests if getpgrp(0) works, which it does if it's not
5929 declared. Instead, test if the zero-arg version we want to use works.
5930
5931commit b39593a6de5290650a01adf8699c6460570403c2
5932Author: Darren Tucker <dtucker@dtucker.net>
5933Date: Sun Feb 25 13:25:15 2018 +1100
5934
5935 Add no-op getsid implmentation.
5936
5937commit 11057564eb6ab8fd987de50c3d7f394c6f6632b7
5938Author: Darren Tucker <dtucker@dtucker.net>
5939Date: Sun Feb 25 11:22:57 2018 +1100
5940
5941 bsd-statvfs: include sys/vfs.h, check for f_flags.
5942
5943commit e9dede06e5bc582a4aeb5b1cd5a7a640d7de3609
5944Author: Darren Tucker <dtucker@dtucker.net>
5945Date: Sun Feb 25 10:20:31 2018 +1100
5946
5947 Handle calloc(0,x) where different from malloc.
5948
5949 Configure assumes that if malloc(0) returns null then calloc(0,n)
5950 also does. On some old platforms (SunOS4) malloc behaves as expected
5951 (as determined by AC_FUNC_MALLOC) but calloc doesn't. Test for this
5952 at configure time and activate the replacement function if found, plus
5953 handle this case in rpl_calloc.
5954
5955commit 2eb4041493fd2635ffdc64a852d02b38c4955e0b
5956Author: Darren Tucker <dtucker@dtucker.net>
5957Date: Sat Feb 24 21:06:48 2018 +1100
5958
5959 Add prototype for readv if needed.
5960
5961commit 6c8c9a615b6d31db8a87bc25033f053d5b0a831e
5962Author: Darren Tucker <dtucker@dtucker.net>
5963Date: Sat Feb 24 20:46:37 2018 +1100
5964
5965 Check for raise and supply if needed.
5966
5967commit a9004425a032d7a7141a5437cfabfd02431e2a74
5968Author: Darren Tucker <dtucker@dtucker.net>
5969Date: Sat Feb 24 20:25:22 2018 +1100
5970
5971 Check for bzero and supply if needed.
5972
5973 Since explicit_bzero uses it via an indirect it needs to be a function
5974 not just a macro.
5975
5976commit 1a348359e4d2876203b5255941bae348557f4f54
5977Author: djm@openbsd.org <djm@openbsd.org>
5978Date: Fri Feb 23 05:14:05 2018 +0000
5979
5980 upstream: Add ssh-keyscan -D option to make it print its results in
5981
5982 SSHFP format bz#2821, ok dtucker@
5983
5984 OpenBSD-Commit-ID: 831446b582e0f298ca15c9d99c415c899e392221
5985
5986commit 3e19fb976a47b44b3d7c4f8355269f7f2c5dd82c
5987Author: dtucker@openbsd.org <dtucker@openbsd.org>
5988Date: Fri Feb 23 04:18:46 2018 +0000
5989
5990 upstream: Add missing braces.
5991
5992 Caught by the tinderbox's -Werror=misleading-indentation, ok djm@
5993
5994 OpenBSD-Commit-ID: d44656af594c3b2366eb87d6abcef83e1c88a6ca
5995
5996commit b59162da99399d89bd57f71c170c0003c55b1583
5997Author: Darren Tucker <dtucker@dtucker.net>
5998Date: Fri Feb 23 15:20:42 2018 +1100
5999
6000 Check for ifaddrs.h for BindInterface.
6001
6002 BindInterface required getifaddr and friends so disable if not available
6003 (eg Solaris 10). We should be able to add support for some systems with
6004 a bit more work but this gets the building again.
6005
6006commit a8dd6fe0aa10b6866830b4688a73ef966f0aed88
6007Author: Damien Miller <djm@mindrot.org>
6008Date: Fri Feb 23 14:19:11 2018 +1100
6009
6010 space before tab in previous
6011
6012commit b5e9263c7704247f9624c8f5c458e9181fcdbc09
6013Author: dtucker@openbsd.org <dtucker@openbsd.org>
6014Date: Fri Feb 9 03:40:22 2018 +0000
6015
6016 upstream: Replace fatal with exit in the case that we do not have
6017
6018 $SUDO set. Prevents test failures when neither sudo nor doas are configured.
6019
6020 OpenBSD-Regress-ID: 6a0464decc4f8ac7d6eded556a032b0fc521bc7b
6021
6022commit 3e9d3192ad43758ef761c5b0aa3ac5ccf8121ef2
6023Author: Darren Tucker <dtucker@dtucker.net>
6024Date: Fri Feb 23 14:10:53 2018 +1100
6025
6026 Use portable syntax for REGRESSTMP.
6027
6028commit 73282b61187883a2b2bb48e087fdda1d751d6059
6029Author: djm@openbsd.org <djm@openbsd.org>
6030Date: Fri Feb 23 03:03:00 2018 +0000
6031
6032 upstream: unbreak interop test after SSHv1 purge; patch from Colin
6033
6034 Watson via bz#2823
6035
6036 OpenBSD-Regress-ID: 807d30a597756ed6612bdf46dfebca74f49cb31a
6037
6038commit f8985dde5f46aedade0373365cbf86ed3f1aead2
6039Author: dtucker@openbsd.org <dtucker@openbsd.org>
6040Date: Fri Feb 9 03:42:57 2018 +0000
6041
6042 upstream: Skip sftp-chroot test when SUDO not set instead of
6043
6044 fatal().
6045
6046 OpenBSD-Regress-ID: cd4b5f1109b0dc09af4e5ea7d4968c43fbcbde88
6047
6048commit df88551c02d4e3445c44ff67ba8757cff718609a
6049Author: dtucker@openbsd.org <dtucker@openbsd.org>
6050Date: Fri Feb 9 03:40:22 2018 +0000
6051
6052 upstream: Replace fatal with exit in the case that we do not have
6053
6054 $SUDO set. Prevents test failures when neither sudo nor doas are configured.
6055
6056 OpenBSD-Regress-ID: 6a0464decc4f8ac7d6eded556a032b0fc521bc7b
6057
6058commit 3b252c20b19f093e87363de197f1100b79705dd3
6059Author: djm@openbsd.org <djm@openbsd.org>
6060Date: Thu Feb 8 08:46:20 2018 +0000
6061
6062 upstream: some helpers to check verbose/quiet mode
6063
6064 OpenBSD-Regress-ID: e736aac39e563f5360a0935080a71d5fdcb976de
6065
6066commit ac2e3026bbee1367e4cda34765d1106099be3287
6067Author: djm@openbsd.org <djm@openbsd.org>
6068Date: Fri Feb 23 02:34:33 2018 +0000
6069
6070 upstream: Add BindInterface ssh_config directive and -B
6071
6072 command-line argument to ssh(1) that directs it to bind its outgoing
6073 connection to the address of the specified network interface.
6074
6075 BindInterface prefers to use addresses that aren't loopback or link-
6076 local, but will fall back to those if no other addresses of the
6077 required family are available on that interface.
6078
6079 Based on patch by Mike Manning in bz#2820, ok dtucker@
6080
6081 OpenBSD-Commit-ID: c5064d285c2851f773dd736a2c342aa384fbf713
6082
6083commit fcdb9d777839a3fa034b3bc3067ba8c1f6886679
6084Author: djm@openbsd.org <djm@openbsd.org>
6085Date: Mon Feb 19 00:55:02 2018 +0000
6086
6087 upstream: emphasise that the hostkey rotation may send key types
6088
6089 that the client may not support, and that the client should simply disregard
6090 such keys (this is what ssh does already).
6091
6092 OpenBSD-Commit-ID: 65f8ffbc32ac8d12be8f913d7c0ea55bef8622bf
6093
6094commit ce066f688dc166506c082dac41ca686066e3de5f
6095Author: Darren Tucker <dtucker@dtucker.net>
6096Date: Thu Feb 22 20:45:09 2018 +1100
6097
6098 Add headers for sys/audit.h.
6099
6100 On some older platforms (at least sunos4, probably others) sys/audit.h
6101 requires some other headers. Patch from klausz at haus-gisela.de.
6102
6103commit 3fd2d2291a695c96a54269deae079bacce6e3fb9
6104Author: Darren Tucker <dtucker@dtucker.net>
6105Date: Mon Feb 19 18:37:40 2018 +1100
6106
6107 Add REGRESSTMP make var override.
6108
6109 Defaults to original location ($srcdir/regress) but allows overriding
6110 if desired, eg a directory in /tmp.
6111
6112commit f8338428588f3ecb5243c86336eccaa28809f97e
6113Author: Darren Tucker <dtucker@dtucker.net>
6114Date: Sun Feb 18 15:53:15 2018 +1100
6115
6116 Remove now-unused check for getrusage.
6117
6118 getrusage was used in ssh-rand-helper but that's now long gone.
6119 Patch from klauszh at haus-gisela.de.
6120
6121commit 8570177195f6a4b3173c0a25484a83641ee3faa6
6122Author: dtucker@openbsd.org <dtucker@openbsd.org>
6123Date: Fri Feb 16 04:43:11 2018 +0000
6124
6125 upstream: Don't send IUTF8 to servers that don't like them.
6126
6127 Some SSH servers eg "ConfD" drop the connection if the client sends the
6128 new IUTF8 (RFC8160) terminal mode even if it's not set. Add a bug bit
6129 for such servers and avoid sending IUTF8 to them. ok djm@
6130
6131 OpenBSD-Commit-ID: 26425855402d870c3c0a90491e72e2a8a342ceda
6132
6133commit f6dc2ba3c9d12be53057b9371f5109ec553a399f
6134Author: Darren Tucker <dtucker@dtucker.net>
6135Date: Fri Feb 16 17:32:28 2018 +1100
6136
6137 freezero should check for NULL.
6138
6139commit 680321f3eb46773883111e234b3c262142ff7c5b
6140Author: djm@openbsd.org <djm@openbsd.org>
6141Date: Fri Feb 16 02:40:45 2018 +0000
6142
6143 upstream: Mention recent DH KEX methods:
6144
6145 diffie-hellman-group14-sha256
6146 diffie-hellman-group16-sha512
6147 diffie-hellman-group18-sha512
6148
6149 From Jakub Jelen via bz#2826
6150
6151 OpenBSD-Commit-ID: 51bf769f06e55447f4bfa7306949e62d2401907a
6152
6153commit 88c50a5ae20902715f0fca306bb9c38514f71679
6154Author: djm@openbsd.org <djm@openbsd.org>
6155Date: Fri Feb 16 02:32:40 2018 +0000
6156
6157 upstream: stop loading DSA keys by default, remove sshd_config
6158
6159 stanza and manpage bits; from Colin Watson via bz#2662, ok dtucker@
6160
6161 OpenBSD-Commit-ID: d33a849f481684ff655c140f5eb1b4acda8c5c09
6162
6163commit d2b3db2860c962927def39a52f67f1c23f7b201a
6164Author: jsing@openbsd.org <jsing@openbsd.org>
6165Date: Wed Feb 14 16:27:24 2018 +0000
6166
6167 upstream: Ensure that D mod (P-1) and D mod (Q-1) are calculated in
6168
6169 constant time.
6170
6171 This avoids a potential side channel timing leak.
6172
6173 ok djm@ markus@
6174
6175 OpenBSD-Commit-ID: 71ff3c16be03290e63d8edab8fac053d8a82968c
6176
6177commit 4270efad7048535b4f250f493d70f9acfb201593
6178Author: jsing@openbsd.org <jsing@openbsd.org>
6179Date: Wed Feb 14 16:03:32 2018 +0000
6180
6181 upstream: Some obvious freezero() conversions.
6182
6183 This also zeros an ed25519_pk when it was not being zeroed previously.
6184
6185 ok djm@ dtucker@
6186
6187 OpenBSD-Commit-ID: 5c196a3c85c23ac0bd9b11bcadaedd90b7a2ce82
6188
6189commit affa6ba67ffccc30b85d6e98f36eb5afd9386882
6190Author: Darren Tucker <dtucker@dtucker.net>
6191Date: Thu Feb 15 22:32:04 2018 +1100
6192
6193 Remove execute bit from modpipe.c.
6194
6195commit 9879dca438526ae6dfd656fecb26b0558c29c731
6196Author: Darren Tucker <dtucker@dtucker.net>
6197Date: Thu Feb 15 22:26:16 2018 +1100
6198
6199 Update prngd link to point to sourceforge.
6200
6201commit b6973fa5152b1a0bafd2417b7c3ad96f6e87d014
6202Author: Darren Tucker <dtucker@dtucker.net>
6203Date: Thu Feb 15 22:22:38 2018 +1100
6204
6205 Remove references to UNICOS.
6206
6207commit f1ca487940449f0b64f38f1da575078257609966
6208Author: Darren Tucker <dtucker@dtucker.net>
6209Date: Thu Feb 15 22:18:37 2018 +1100
6210
6211 Remove extra newline.
6212
6213commit 6d4e980f3cf27f409489cf89cd46c21501b13731
6214Author: Darren Tucker <dtucker@dtucker.net>
6215Date: Thu Feb 15 22:16:54 2018 +1100
6216
6217 OpenSSH's builtin entropy gathering is long gone.
6218
6219commit 389125b25d1a1d7f22e907463b7e8eca74af79ea
6220Author: Darren Tucker <dtucker@dtucker.net>
6221Date: Thu Feb 15 21:43:01 2018 +1100
6222
6223 Replace remaining mysignal() with signal().
6224
6225 These seem to have been missed during the replacement of mysignal
6226 with #define signal in commit 5ade9ab. Both include the requisite
6227 headers to pick up the #define.
6228
6229commit 265d88d4e61e352de6791733c8b29fa3d7d0c26d
6230Author: Darren Tucker <dtucker@dtucker.net>
6231Date: Thu Feb 15 20:06:19 2018 +1100
6232
6233 Remove remaining now-obsolete cvs $Ids.
6234
6235commit 015749e9b1d2f6e14733466d19ba72f014d0845c
6236Author: Darren Tucker <dtucker@dtucker.net>
6237Date: Thu Feb 15 17:01:54 2018 +1100
6238
6239 Regenerate dependencies after UNICOS removal.
6240
6241commit ddc0f3814881ea279a6b6d4d98e03afc60ae1ed7
6242Author: Darren Tucker <dtucker@dtucker.net>
6243Date: Tue Feb 13 09:10:46 2018 +1100
6244
6245 Remove UNICOS support.
6246
6247 The code required to support it is quite invasive to the mainline
6248 code that is synced with upstream and is an ongoing maintenance burden.
6249 Both the hardware and software are literal museum pieces these days and
6250 we could not find anyone still running OpenSSH on one.
6251
6252commit 174bed686968494723e6db881208cc4dac0d020f
6253Author: Darren Tucker <dtucker@dtucker.net>
6254Date: Tue Feb 13 18:12:47 2018 +1100
6255
6256 Retpoline linker flag only needed for linking.
6257
6258commit 075e258c2cc41e1d7f3ea2d292c5342091728d40
6259Author: Darren Tucker <dtucker@dtucker.net>
6260Date: Tue Feb 13 17:36:43 2018 +1100
6261
6262 Default PidFile is sshd.pid not ssh.pid.
6263
6264commit 49f3c0ec47730ea264e2bd1e6ece11167d6384df
6265Author: Darren Tucker <dtucker@dtucker.net>
6266Date: Tue Feb 13 16:27:09 2018 +1100
6267
6268 Remove assigned-to-but-never-used variable.
6269
6270 'p' was removed in previous change but I neglected to remove the
6271 otherwise-unused assignment to it.
6272
6273commit b8bbff3b3fc823bf80c5ab226c94f13cb887d5b1
6274Author: djm@openbsd.org <djm@openbsd.org>
6275Date: Tue Feb 13 03:36:56 2018 +0000
6276
6277 upstream: remove space before tab
6278
6279 OpenBSD-Commit-ID: 674edd214d0a7332dd4623c9cf8117301b012890
6280
6281commit 05046d907c211cb9b4cd21b8eff9e7a46cd6c5ab
6282Author: dtucker@openbsd.org <dtucker@openbsd.org>
6283Date: Sun Feb 11 21:16:56 2018 +0000
6284
6285 upstream Don't reset signal handlers inside handlers.
6286
6287 The signal handlers from the original ssh1 code on which OpenSSH
6288 is based assume unreliable signals and reinstall their handlers.
6289 Since OpenBSD (and pretty much every current system) has reliable
6290 signals this is not needed. In the unlikely even that -portable
6291 is still being used on such systems we will deal with it in the
6292 compat layer. ok deraadt@
6293
6294 OpenBSD-Commit-ID: f53a1015cb6908431b92116130d285d71589612c
6295
6296commit 3c51143c639ac686687c7acf9b373b8c08195ffb
6297Author: Darren Tucker <dtucker@dtucker.net>
6298Date: Tue Feb 13 09:07:29 2018 +1100
6299
6300 Whitespace sync with upstream.
6301
6302commit 19edfd4af746bedf0df17f01953ba8c6d3186eb7
6303Author: Darren Tucker <dtucker@dtucker.net>
6304Date: Tue Feb 13 08:25:46 2018 +1100
6305
6306 Whitespace sync with upstream.
6307
6308commit fbfa6f980d7460b3e12b0ce88ed3b6018edf4711
6309Author: Darren Tucker <dtucker@dtucker.net>
6310Date: Sun Feb 11 21:25:11 2018 +1300
6311
6312 Move signal compat code into bsd-signal.{c,h}
6313
6314commit 24d2a33bd3bf5170700bfdd8675498aa09a79eab
6315Author: Darren Tucker <dtucker@dtucker.net>
6316Date: Sun Feb 11 21:20:39 2018 +1300
6317
6318 Include headers for linux/if.h.
6319
6320 Prevents configure-time "present but cannot be compiled" warning.
6321
6322commit bc02181c24fc551aab85eb2cff0f90380928ef43
6323Author: Darren Tucker <dtucker@dtucker.net>
6324Date: Sun Feb 11 19:45:47 2018 +1300
6325
6326 Fix test for -z,retpolineplt linker flag.
6327
6328commit 3377df00ea3fece5293db85fe63baef33bf5152e
6329Author: Darren Tucker <dtucker@dtucker.net>
6330Date: Sun Feb 11 09:32:37 2018 +1100
6331
6332 Add checks for Spectre v2 mitigation (retpoline)
6333
6334 This adds checks for gcc and clang flags for mitigations for Spectre
6335 variant 2, ie "retpoline". It'll automatically enabled if the compiler
6336 supports it as part of toolchain hardening flag. ok djm@
6337
6338commit d9e5cf078ea5380da6df767bb1773802ec557ef0
6339Author: djm@openbsd.org <djm@openbsd.org>
6340Date: Sat Feb 10 09:25:34 2018 +0000
6341
6342 upstream commit
6343
6344 constify some private key-related functions; based on
6345 https://github.com/openssh/openssh-portable/pull/56 by Vincent Brillault
6346
6347 OpenBSD-Commit-ID: dcb94a41834a15f4d00275cb5051616fdc4c988c
6348
6349commit a7c38215d564bf98e8e9eb40c1079e3adf686f15
6350Author: djm@openbsd.org <djm@openbsd.org>
6351Date: Sat Feb 10 09:03:54 2018 +0000
6352
6353 upstream commit
6354
6355 Mention ServerAliveTimeout in context of TCPKeepAlives;
6356 prompted by Christoph Anton Mitterer via github
6357
6358 OpenBSD-Commit-ID: f0cf1b5bd3f1fbf41d71c88d75d93afc1c880ca2
6359
6360commit 62562ceae61e4f7cf896566592bb840216e71061
6361Author: djm@openbsd.org <djm@openbsd.org>
6362Date: Sat Feb 10 06:54:38 2018 +0000
6363
6364 upstream commit
6365
6366 clarify IgnoreUserKnownHosts; based on github PR from
6367 Christoph Anton Mitterer.
6368
6369 OpenBSD-Commit-ID: 4fff2c17620c342fb2f1f9c2d2e679aab3e589c3
6370
6371commit 4f011daa4cada6450fa810f7563b8968639bb562
6372Author: djm@openbsd.org <djm@openbsd.org>
6373Date: Sat Feb 10 06:40:28 2018 +0000
6374
6375 upstream commit
6376
6377 Shorter, more accurate explanation of
6378 NoHostAuthenticationForLocalhost without the confusing example. Prompted by
6379 Christoph Anton Mitterer via github and bz#2293.
6380
6381 OpenBSD-Commit-ID: 19dc96bea25b80d78d416b581fb8506f1e7b76df
6382
6383commit 77e05394af21d3f5faa0c09ed3855e4505a5cf9f
6384Author: djm@openbsd.org <djm@openbsd.org>
6385Date: Sat Feb 10 06:15:12 2018 +0000
6386
6387 upstream commit
6388
6389 Disable RemoteCommand and RequestTTY in the ssh session
6390 started by scp. sftp is already doing this. From Camden Narzt via github; ok
6391 dtucker
6392
6393 OpenBSD-Commit-ID: 59e2611141c0b2ee579c6866e8eb9d7d8217bc6b
6394
6395commit ca613249a00b64b2eea9f52d3834b55c28cf2862
6396Author: djm@openbsd.org <djm@openbsd.org>
6397Date: Sat Feb 10 05:48:46 2018 +0000
6398
6399 upstream commit
6400
6401 Refuse to create a certificate with an unusable number of
6402 principals; Prompted by gdestuynder via github
6403
6404 OpenBSD-Commit-ID: 8cfae2451e8f07810e3e2546dfdcce66984cbd29
6405
6406commit b56ac069d46b6f800de34e1e935f98d050731d14
6407Author: djm@openbsd.org <djm@openbsd.org>
6408Date: Sat Feb 10 05:43:26 2018 +0000
6409
6410 upstream commit
6411
6412 fatal if we're unable to write all the public key; previously
6413 we would silently ignore errors writing the comment and terminating newline.
6414 Prompted by github PR from WillerZ; ok dtucker
6415
6416 OpenBSD-Commit-ID: 18fbfcfd4e8c6adbc84820039b64d70906e49831
6417
6418commit cdb10bd431f9f6833475c27e9a82ebb36fdb12db
6419Author: Darren Tucker <dtucker@dtucker.net>
6420Date: Sat Feb 10 11:18:38 2018 +1100
6421
6422 Add changelog entry for binary strip change.
6423
6424commit fbddd91897cfaf456bfc2081f39fb4a2208a0ebf
6425Author: Darren Tucker <dtucker@dtucker.net>
6426Date: Sat Feb 10 11:14:54 2018 +1100
6427
6428 Remove unused variables.
6429
6430commit 937d96587df99c16c611d828cded292fa474a32b
6431Author: Darren Tucker <dtucker@dtucker.net>
6432Date: Sat Feb 10 11:12:45 2018 +1100
6433
6434 Don't strip binaries so debuginfo gets built.
6435
6436 Tell install not to strip binaries during package creation so that the
6437 debuginfo package can be built.
6438
6439commit eb0865f330f59c889ec92696b97bd397090e720c
6440Author: Darren Tucker <dtucker@dtucker.net>
6441Date: Sat Feb 10 10:33:11 2018 +1100
6442
6443 Fix bogus dates in changelog.
6444
6445commit 7fbde1b34c1f6c9ca9e9d10805ba1e5e4538e165
6446Author: Darren Tucker <dtucker@dtucker.net>
6447Date: Sat Feb 10 10:25:15 2018 +1100
6448
6449 Remove SSH1 from description.
6450
6451commit 9c34a76f099c4e0634bf6ecc2f40ce93925402c4
6452Author: Darren Tucker <dtucker@dtucker.net>
6453Date: Sat Feb 10 10:19:16 2018 +1100
6454
6455 Add support for compat-openssl10 build dep.
6456
6457commit 04f4e8193cb5a5a751fcc356bd6656291fec539e
6458Author: Darren Tucker <dtucker@dtucker.net>
6459Date: Sat Feb 10 09:57:04 2018 +1100
6460
6461 Add leading zero so it'll work when rhel not set.
6462
6463 When rhel is not set it will error out with "bad if". Add leading zero
6464 as per https://fedoraproject.org/wiki/Packaging:DistTag so it'll work
6465 on non-RHEL.
6466
6467commit 12abd67a6af28476550807a443b38def2076bb92
6468Author: Darren Tucker <dtucker@dtucker.net>
6469Date: Sat Feb 10 09:56:34 2018 +1100
6470
6471 Update openssl-devel dependency.
6472
6473commit b33e7645f8813719d7f9173fef24463c8833ebb3
6474Author: nkadel <nkadel@gmail.com>
6475Date: Sun Nov 16 18:19:58 2014 -0500
6476
6477 Add mandir with-mandir' for RHEL 5 compatibility.
6478
6479 Activate '--mandir' and '--with-mandir' settings in setup for RHEL
6480 5 compatibility.
6481
6482commit 94f8bf360eb0162e39ddf39d69925c2e93511e40
6483Author: nkadel <nkadel@gmail.com>
6484Date: Sun Nov 16 18:18:51 2014 -0500
6485
6486 Discard 'K5DIR' reporting.
6487
6488 It does not work inside 'mock' build environment.
6489
6490commit bb7e54dbaf34b70b3e57acf7982f3a2136c94ee5
6491Author: nkadel <nkadel@gmail.com>
6492Date: Sun Nov 16 18:17:15 2014 -0500
6493
6494 Add 'dist' to 'rel' for OS specific RPM names.
6495
6496commit 87346f1f57f71150a9b8c7029d8c210e27027716
6497Author: nkadel <nkadel@gmail.com>
6498Date: Sun Nov 16 14:17:38 2014 -0500
6499
6500 Add openssh-devel >= 0.9.8f for redhat spec file.
6501
6502commit bec1478d710866d3c1b119343a35567a8fc71ec3
6503Author: nkadel <nkadel@gmail.com>
6504Date: Sun Nov 16 13:10:24 2014 -0500
6505
6506 Enhance BuildRequires for openssh-x11-askpass.
6507
6508commit 3104fcbdd3c70aefcb0cdc3ee24948907db8dc8f
6509Author: nkadel <nkadel@gmail.com>
6510Date: Sun Nov 16 13:04:14 2014 -0500
6511
6512 Always include x11-ssh-askpass SRPM.
6513
6514 Always include x11-ssh-askpass tarball in redhat SRPM, even if unused.
6515
6516commit c61d0d038d58eebc365f31830be6e04ce373ad1b
6517Author: Damien Miller <djm@mindrot.org>
6518Date: Sat Feb 10 09:43:12 2018 +1100
6519
6520 this is long unused; prompted by dtucker@
6521
6522commit 745771fb788e41bb7cdad34e5555bf82da3af7ed
6523Author: dtucker@openbsd.org <dtucker@openbsd.org>
6524Date: Fri Feb 9 02:37:36 2018 +0000
6525
6526 upstream commit
6527
6528 Remove unused sKerberosTgtPassing from enum. From
6529 calestyo via github pull req #11, ok djm@
6530
6531 OpenBSD-Commit-ID: 1008f8870865a7c4968b7aed402a0a9e3e5b9540
6532
6533commit 1f385f55332db830b0ae22a7663b98279ca2d657
6534Author: dtucker@openbsd.org <dtucker@openbsd.org>
6535Date: Thu Feb 8 04:12:32 2018 +0000
6536
6537 upstream commit
6538
6539 Rename struct umac_ctx to umac128_ctx too. In portable
6540 some linkers complain about two symbols with the same name having differing
6541 sizes. ok djm@
6542
6543 OpenBSD-Commit-ID: cbebf8bdd3310a9795b4939a1e112cfe24061ca3
6544
6545commit f1f047fb031c0081dbc8738f05bf5d4cc47acadf
6546Author: dtucker@openbsd.org <dtucker@openbsd.org>
6547Date: Wed Feb 7 22:52:45 2018 +0000
6548
6549 upstream commit
6550
6551 ssh_free checks for and handles NULL args, remove NULL
6552 checks from remaining callers. ok djm@
6553
6554 OpenBSD-Commit-ID: bb926825c53724c069df68a93a2597f9192f7e7b
6555
6556commit aee49b2a89b6b323c80dd3b431bd486e51f94c8c
6557Author: Darren Tucker <dtucker@dtucker.net>
6558Date: Thu Feb 8 12:36:22 2018 +1100
6559
6560 Set SO_REUSEADDR in regression test netcat.
6561
6562 Sometimes multiplex tests fail on Solaris with "netcat: local_listen:
6563 Address already in use" which is likely due to previous invocations
6564 leaving the port in TIME_WAIT. Set SO_REUSEADDR (in addition to
6565 SO_REUSEPORT which is alread set on platforms that support it). ok djm@
6566
6567commit 1749991c55bab716877b7c687cbfbf19189ac6f1
6568Author: jsing@openbsd.org <jsing@openbsd.org>
6569Date: Wed Feb 7 05:17:56 2018 +0000
6570
6571 upstream commit
6572
6573 Convert some explicit_bzero()/free() calls to freezero().
6574
6575 ok deraadt@ dtucker@
6576
6577 OpenBSD-Commit-ID: f566ab99149650ebe58b1d4b946ea726c3829609
6578
6579commit 94ec2b69d403f4318b7a0d9b17f8bc3efbf4d0d2
6580Author: jsing@openbsd.org <jsing@openbsd.org>
6581Date: Wed Feb 7 05:15:49 2018 +0000
6582
6583 upstream commit
6584
6585 Remove some #ifdef notyet code from OpenSSL 0.9.8 days.
6586
6587 These functions have never appeared in OpenSSL and are likely never to do
6588 so.
6589
6590 "kill it with fire" djm@
6591
6592 OpenBSD-Commit-ID: fee9560e283fd836efc2631ef381658cc673d23e
6593
6594commit 7cd31632e3a6607170ed0c9ed413a7ded5b9b377
6595Author: jsing@openbsd.org <jsing@openbsd.org>
6596Date: Wed Feb 7 02:06:50 2018 +0000
6597
6598 upstream commit
6599
6600 Remove all guards for calls to OpenSSL free functions -
6601 all of these functions handle NULL, from at least OpenSSL 1.0.1g onwards.
6602
6603 Prompted by dtucker@ asking about guards for RSA_free(), when looking at
6604 openssh-portable pr#84 on github.
6605
6606 ok deraadt@ dtucker@
6607
6608 OpenBSD-Commit-ID: 954f1c51b94297d0ae1f749271e184141e0cadae
6609
6610commit 3c000d57d46882eb736c6563edfc4995915c24a2
6611Author: Darren Tucker <dtucker@dtucker.net>
6612Date: Wed Feb 7 09:19:38 2018 +1100
6613
6614 Remove obsolete "Smartcard support" message
6615
6616 The configure checks that populated $SCARD_MSG were removed in commits
6617 7ea845e4 and d8f60022 when the smartcard support was replaced with
6618 PKCS#11.
6619
6620commit 3e615090de0ce36a833d811e01c28aec531247c4
6621Author: dtucker@openbsd.org <dtucker@openbsd.org>
6622Date: Tue Feb 6 06:01:54 2018 +0000
6623
6624 upstream commit
6625
6626 Replace "trojan horse" with the correct term (MITM).
6627 From maikel at predikkta.com via bz#2822, ok markus@
6628
6629 OpenBSD-Commit-ID: e86ac64c512057c89edfadb43302ac0aa81a6c53
6630
6631commit 3484380110d437c50e17f87d18544286328c75cb
6632Author: tb@openbsd.org <tb@openbsd.org>
6633Date: Mon Feb 5 05:37:46 2018 +0000
6634
6635 upstream commit
6636
6637 Add a couple of non-negativity checks to avoid close(-1).
6638
6639 ok djm
6640
6641 OpenBSD-Commit-ID: 4701ce0b37161c891c838d0931305f1d37a50880
6642
6643commit 5069320be93c8b2a6584b9f944c86f60c2b04e48
6644Author: tb@openbsd.org <tb@openbsd.org>
6645Date: Mon Feb 5 05:36:49 2018 +0000
6646
6647 upstream commit
6648
6649 The file descriptors for socket, stdin, stdout and stderr
6650 aren't necessarily distinct, so check if they are the same to avoid closing
6651 the same fd several times.
6652
6653 ok djm
6654
6655 OpenBSD-Commit-ID: 60d71fd22e9a32f5639d4ba6e25a2f417fc36ac1
6656
6657commit 2b428f90ea1b21d7a7c68ec1ee334253b3f9324d
6658Author: djm@openbsd.org <djm@openbsd.org>
6659Date: Mon Feb 5 04:02:53 2018 +0000
6660
6661 upstream commit
6662
6663 I accidentially a word
6664
6665 OpenBSD-Commit-ID: 4547ee713fa941da861e83ae7a3e6432f915e14a
6666
6667commit 130283d5c2545ff017c2162dc1258c5354e29399
6668Author: djm@openbsd.org <djm@openbsd.org>
6669Date: Thu Jan 25 03:34:43 2018 +0000
6670
6671 upstream commit
6672
6673 certificate options are case-sensitive; fix case on one
6674 that had it wrong.
6675
6676 move a badly-place sentence to a less bad place
6677
6678 OpenBSD-Commit-ID: 231e516bba860699a1eece6d48532d825f5f747b
6679
6680commit 89f09ee68730337015bf0c3f138504494a34e9a6
6681Author: Damien Miller <djm@mindrot.org>
6682Date: Wed Jan 24 12:20:44 2018 +1100
6683
6684 crypto_api.h needs includes.h
6685
6686commit c9c1bba06ad1c7cad8548549a68c071bd807af60
6687Author: stsp@openbsd.org <stsp@openbsd.org>
6688Date: Tue Jan 23 20:00:58 2018 +0000
6689
6690 upstream commit
6691
6692 Fix a logic bug in sshd_exchange_identification which
6693 prevented clients using major protocol version 2 from connecting to the
6694 server. ok millert@
6695
6696 OpenBSD-Commit-ID: 8668dec04586e27f1c0eb039ef1feb93d80a5ee9
6697
6698commit a60c5dcfa2538ffc94dc5b5adb3db5b6ed905bdb
6699Author: stsp@openbsd.org <stsp@openbsd.org>
6700Date: Tue Jan 23 18:33:49 2018 +0000
6701
6702 upstream commit
6703
6704 Add missing braces; fixes 'write: Socket is not
6705 connected' error in ssh. ok deraadt@
6706
6707 OpenBSD-Commit-ID: db73a3a9e147722d410866cac34d43ed52e1ad24
6708
6709commit 20d53ac283e1c60245ea464bdedd015ed9b38f4a
6710Author: Damien Miller <djm@mindrot.org>
6711Date: Tue Jan 23 16:49:43 2018 +1100
6712
6713 rebuild depends
6714
6715commit 552ea155be44f9c439c1f9f0c38f9e593428f838
6716Author: Damien Miller <djm@mindrot.org>
6717Date: Tue Jan 23 16:49:22 2018 +1100
6718
6719 one SSH_BUG_BANNER instance that got away
6720
6721commit 14b5c635d1190633b23ac3372379517fb645b0c2
6722Author: djm@openbsd.org <djm@openbsd.org>
6723Date: Tue Jan 23 05:27:21 2018 +0000
6724
6725 upstream commit
6726
6727 Drop compatibility hacks for some ancient SSH
6728 implementations, including ssh.com <=2.* and OpenSSH <= 3.*.
6729
6730 These versions were all released in or before 2001 and predate the
6731 final SSH RFCs. The hacks in question aren't necessary for RFC-
6732 compliant SSH implementations.
6733
6734 ok markus@
6735
6736 OpenBSD-Commit-ID: 4be81c67db57647f907f4e881fb9341448606138
6737
6738commit 7c77991f5de5d8475cbeb7cbb06d0c7d1611d7bb
6739Author: djm@openbsd.org <djm@openbsd.org>
6740Date: Tue Jan 23 05:17:04 2018 +0000
6741
6742 upstream commit
6743
6744 try harder to preserve errno during
6745 ssh_connect_direct() to make the final error message possibly accurate;
6746 bz#2814, ok dtucker@
6747
6748 OpenBSD-Commit-ID: 57de882cb47381c319b04499fef845dd0c2b46ca
6749
6750commit 9e9c4a7e57b96ab29fe6d7545ed09d2e5bddbdec
6751Author: djm@openbsd.org <djm@openbsd.org>
6752Date: Tue Jan 23 05:12:12 2018 +0000
6753
6754 upstream commit
6755
6756 unbreak support for clients that advertise a protocol
6757 version of "1.99" (indicating both v2 and v1 support). Busted by me during
6758 SSHv1 purge in r1.358; bz2810, ok dtucker
6759
6760 OpenBSD-Commit-ID: e8f9c2bee11afc16c872bb79d6abe9c555bd0e4b
6761
6762commit fc21ea97968264ad9bb86b13fedaaec8fd3bf97d
6763Author: djm@openbsd.org <djm@openbsd.org>
6764Date: Tue Jan 23 05:06:25 2018 +0000
6765
6766 upstream commit
6767
6768 don't attempt to force hostnames that are addresses to
6769 lowercase, but instead canonicalise them through getnameinfo/getaddrinfo to
6770 remove ambiguities (e.g. ::0001 => ::1) before they are matched against
6771 known_hosts; bz#2763, ok dtucker@
6772
6773 OpenBSD-Commit-ID: ba0863ff087e61e5c65efdbe53be3cb92c9aefa0
6774
6775commit d6364f6fb1a3d753d7ca9bf15b2adce961324513
6776Author: djm@openbsd.org <djm@openbsd.org>
6777Date: Tue Jan 23 05:01:15 2018 +0000
6778
6779 upstream commit
6780
6781 avoid modifying pw->pw_passwd; let endpwent() clean up
6782 for us, but keep a scrubbed copy; bz2777, ok dtucker@
6783
6784 OpenBSD-Commit-ID: 715afc0f59c6b82c4929a73279199ed241ce0752
6785
6786commit a69bbb07cd6fb4dfb9bdcacd370ab26d0a2b4215
6787Author: naddy@openbsd.org <naddy@openbsd.org>
6788Date: Sat Jan 13 00:24:09 2018 +0000
6789
6790 upstream commit
6791
6792 clarify authorship; prodded by and ok markus@
6793
6794 OpenBSD-Commit-ID: e1938eee58c89b064befdabe232835fa83bb378c
6795
6796commit 04214b30be3d3e73a01584db4e040d5ccbaaddd4
6797Author: markus@openbsd.org <markus@openbsd.org>
6798Date: Mon Jan 8 15:37:21 2018 +0000
6799
6800 upstream commit
6801
6802 group shared source files (e.g. SRCS_KEX) and allow
6803 compilation w/o OPENSSL ok djm@
6804
6805 OpenBSD-Commit-ID: fa728823ba21c4b45212750e1d3a4b2086fd1a62
6806
6807commit 25cf9105b849932fc3b141590c009e704f2eeba6
6808Author: markus@openbsd.org <markus@openbsd.org>
6809Date: Mon Jan 8 15:21:49 2018 +0000
6810
6811 upstream commit
6812
6813 move subprocess() so scp/sftp do not need uidswap.o; ok
6814 djm@
6815
6816 OpenBSD-Commit-ID: 6601b8360388542c2e5fef0f4085f8e54750bea8
6817
6818commit b0d34132b3ca26fe94013f01d7b92101e70b68bb
6819Author: markus@openbsd.org <markus@openbsd.org>
6820Date: Mon Jan 8 15:18:46 2018 +0000
6821
6822 upstream commit
6823
6824 switch ssh-pkcs11-helper to new API; ok djm@
6825
6826 OpenBSD-Commit-ID: e0c0ed2a568e25b1d2024f3e630f3fea837c2a42
6827
6828commit ec4a9831184c0c6ed5f7f0cfff01ede5455465a3
6829Author: markus@openbsd.org <markus@openbsd.org>
6830Date: Mon Jan 8 15:15:36 2018 +0000
6831
6832 upstream commit
6833
6834 split client/server kex; only ssh-keygen needs
6835 uuencode.o; only scp/sftp use progressmeter.o; ok djm@
6836
6837 OpenBSD-Commit-ID: f2c9feb26963615c4fece921906cf72e248b61ee
6838
6839commit ec77efeea06ac62ee1d76fe0b3225f3000775a9e
6840Author: markus@openbsd.org <markus@openbsd.org>
6841Date: Mon Jan 8 15:15:17 2018 +0000
6842
6843 upstream commit
6844
6845 only ssh-keygen needs uuencode.o; only scp/sftp use
6846 progressmeter.o
6847
6848 OpenBSD-Commit-ID: a337e886a49f96701ccbc4832bed086a68abfa85
6849
6850commit 25aae35d3d6ee86a8c4c0b1896acafc1eab30172
6851Author: markus@openbsd.org <markus@openbsd.org>
6852Date: Mon Jan 8 15:14:44 2018 +0000
6853
6854 upstream commit
6855
6856 uuencode.h is not used
6857
6858 OpenBSD-Commit-ID: 238eb4659f3c119904326b9e94a5e507a912796c
6859
6860commit 4f29309c4cb19bcb1774931db84cacc414f17d29
6861Author: Damien Miller <djm@mindrot.org>
6862Date: Wed Jan 3 19:50:43 2018 +1100
6863
6864 unbreak fuzz harness
6865
6866commit f6b50bf84dc0b61f22c887c00423e0ea7644e844
6867Author: djm@openbsd.org <djm@openbsd.org>
6868Date: Thu Dec 21 05:46:35 2017 +0000
6869
6870 upstream commit
6871
6872 another libssh casualty
6873
6874 OpenBSD-Regress-ID: 839b970560246de23e7c50215095fb527a5a83ec
6875
6876commit 5fb4fb5a0158318fb8ed7dbb32f3869bbf221f13
6877Author: djm@openbsd.org <djm@openbsd.org>
6878Date: Thu Dec 21 03:01:49 2017 +0000
6879
6880 upstream commit
6881
6882 missed one (unbreak after ssh/lib removal)
6883
6884 OpenBSD-Regress-ID: cfdd132143131769e2d2455e7892b5d55854c322
6885
6886commit e6c4134165d05447009437a96e7201276688807f
6887Author: djm@openbsd.org <djm@openbsd.org>
6888Date: Thu Dec 21 00:41:22 2017 +0000
6889
6890 upstream commit
6891
6892 unbreak unit tests after removal of src/usr.bin/ssh/lib
6893
6894 OpenBSD-Regress-ID: 3a79760494147b20761cbd2bd5c20e86c63dc8f9
6895
6896commit d45d69f2a937cea215c7f0424e5a4677b6d8c7fe
6897Author: djm@openbsd.org <djm@openbsd.org>
6898Date: Thu Dec 21 00:00:28 2017 +0000
6899
6900 upstream commit
6901
6902 revert stricter key type / signature type checking in
6903 userauth path; too much software generates inconsistent messages, so we need
6904 a better plan.
6905
6906 OpenBSD-Commit-ID: 4a44ddc991c803c4ecc8f1ad40e0ab4d22e1c519
6907
6908commit c5a6cbdb79752f7e761074abdb487953ea6db671
6909Author: djm@openbsd.org <djm@openbsd.org>
6910Date: Tue Dec 19 00:49:30 2017 +0000
6911
6912 upstream commit
6913
6914 explicitly test all key types and their certificate
6915 counterparts
6916
6917 refactor a little
6918
6919 OpenBSD-Regress-ID: e9ecd5580821b9ef8b7106919c6980d8e45ca8c4
6920
6921commit f689adb7a370b5572612d88be9837ca9aea75447
6922Author: dtucker@openbsd.org <dtucker@openbsd.org>
6923Date: Mon Dec 11 11:41:56 2017 +0000
6924
6925 upstream commit
6926
6927 use cmp in a loop instead of diff -N to compare
6928 directories. The former works on more platforms for Portable.
6929
6930 OpenBSD-Regress-ID: c3aa72807f9c488e8829a26ae50fe5bcc5b57099
6931
6932commit 748dd8e5de332b24c40f4b3bbedb902acb048c98
6933Author: Damien Miller <djm@mindrot.org>
6934Date: Tue Dec 19 16:17:59 2017 +1100
6935
6936 remove blocks.c from Makefile
6937
6938commit 278856320520e851063b06cef6ef1c60d4c5d652
6939Author: djm@openbsd.org <djm@openbsd.org>
6940Date: Tue Dec 19 00:24:34 2017 +0000
6941
6942 upstream commit
6943
6944 include signature type and CA key (if applicable) in some
6945 debug messages
6946
6947 OpenBSD-Commit-ID: b71615cc20e78cec7105bb6e940c03ce9ae414a5
6948
6949commit 7860731ef190b52119fa480f8064ab03c44a120a
6950Author: djm@openbsd.org <djm@openbsd.org>
6951Date: Mon Dec 18 23:16:23 2017 +0000
6952
6953 upstream commit
6954
6955 unbreak hostkey rotation; attempting to sign with a
6956 desired signature algorithm of kex->hostkey_alg is incorrect when the key
6957 type isn't capable of making those signatures. ok markus@
6958
6959 OpenBSD-Commit-ID: 35ae46864e1f5859831ec0d115ee5ea50953a906
6960
6961commit 966ef478339ad5e631fb684d2a8effe846ce3fd4
6962Author: djm@openbsd.org <djm@openbsd.org>
6963Date: Mon Dec 18 23:14:34 2017 +0000
6964
6965 upstream commit
6966
6967 log mismatched RSA signature types; ok markus@
6968
6969 OpenBSD-Commit-ID: 381bddfcc1e297a42292222f3bcb5ac2b7ea2418
6970
6971commit 349ecd4da3a985359694a74635748009be6baca6
6972Author: djm@openbsd.org <djm@openbsd.org>
6973Date: Mon Dec 18 23:13:42 2017 +0000
6974
6975 upstream commit
6976
6977 pass kex->hostkey_alg and kex->hostkey_nid from pre-auth
6978 to post-auth unpriviledged child processes; ok markus@
6979
6980 OpenBSD-Commit-ID: 4a35bc7af0a5f8a232d1361f79f4ebc376137302
6981
6982commit c9e37a8725c083441dd34a8a53768aa45c3c53fe
6983Author: millert@openbsd.org <millert@openbsd.org>
6984Date: Mon Dec 18 17:28:54 2017 +0000
6985
6986 upstream commit
6987
6988 Add helper function for uri handing in scp where a
6989 missing path simply means ".". Also fix exit code and add warnings when an
6990 invalid uri is encountered. OK otto@
6991
6992 OpenBSD-Commit-ID: 47dcf872380586dabf7fcc6e7baf5f8ad508ae1a
6993
6994commit 04c7e28f83062dc42f2380d1bb3a6bf0190852c0
6995Author: djm@openbsd.org <djm@openbsd.org>
6996Date: Mon Dec 18 02:25:15 2017 +0000
6997
6998 upstream commit
6999
7000 pass negotiated signing algorithm though to
7001 sshkey_verify() and check that the negotiated algorithm matches the type in
7002 the signature (only matters for RSA SHA1/SHA2 sigs). ok markus@
7003
7004 OpenBSD-Commit-ID: 735fb15bf4adc060d3bee9d047a4bcaaa81b1af9
7005
7006commit 931c78dfd7fe30669681a59e536bbe66535f3ee9
7007Author: djm@openbsd.org <djm@openbsd.org>
7008Date: Mon Dec 18 02:22:29 2017 +0000
7009
7010 upstream commit
7011
7012 sshkey_sigtype() function to return the type of a
7013 signature; ok markus@
7014
7015 OpenBSD-Commit-ID: d3772b065ad6eed97285589bfb544befed9032e8
7016
7017commit 4cdc5956f2fcc9e9078938db833142dc07d8f523
7018Author: naddy@openbsd.org <naddy@openbsd.org>
7019Date: Thu Dec 14 21:07:39 2017 +0000
7020
7021 upstream commit
7022
7023 Replace ED25519's private SHA-512 implementation with a
7024 call to the regular digest code. This speeds up compilation considerably. ok
7025 markus@
7026
7027 OpenBSD-Commit-ID: fcce8c3bcfe7389462a28228f63c823e80ade41c
7028
7029commit 012e5cb839faf76549e3b6101b192fe1a74d367e
7030Author: naddy@openbsd.org <naddy@openbsd.org>
7031Date: Tue Dec 12 15:06:12 2017 +0000
7032
7033 upstream commit
7034
7035 Create a persistent umac128.c source file: #define the
7036 output size and the name of the entry points for UMAC-128 before including
7037 umac.c. Idea from FreeBSD. ok dtucker@
7038
7039 OpenBSD-Commit-ID: 463cfacfa07cb8060a4d4961e63dca307bf3f4b1
7040
7041commit b35addfb4cd3b5cdb56a2a489d38e940ada926c7
7042Author: Darren Tucker <dtucker@zip.com.au>
7043Date: Mon Dec 11 16:23:28 2017 +1100
7044
7045 Update .depend with empty config.h
7046
7047commit 2d96f28246938e0ca474a939d8ac82ecd0de27e3
7048Author: Darren Tucker <dtucker@zip.com.au>
7049Date: Mon Dec 11 16:21:55 2017 +1100
7050
7051 Ensure config.h is always in dependencies.
7052
7053 Put an empty config.h into the dependency list to ensure that it's
7054 always listed and consistent.
7055
7056commit ac4987a55ee5d4dcc8e87f7ae7c1f87be7257d71
7057Author: deraadt@openbsd.org <deraadt@openbsd.org>
7058Date: Sun Dec 10 19:37:57 2017 +0000
7059
7060 upstream commit
7061
7062 ssh/lib hasn't worked towards our code-sharing goals for
7063 a quit while, perhaps it is too verbose? Change each */Makefile to
7064 specifying exactly what sources that program requires, compiling it seperate.
7065 Maybe we'll iterate by sorting those into seperatable chunks, splitting up
7066 files which contain common code + server/client specific code, or whatnot.
7067 But this isn't one step, or we'd have done it a long time ago.. ok dtucker
7068 markus djm
7069
7070 OpenBSD-Commit-ID: 5317f294d63a876bfc861e19773b1575f96f027d
7071
7072commit 48c23a39a8f1069a57264dd826f6c90aa12778d5
7073Author: dtucker@openbsd.org <dtucker@openbsd.org>
7074Date: Sun Dec 10 05:55:29 2017 +0000
7075
7076 upstream commit
7077
7078 Put remote client info back into the ClientAlive
7079 connection termination message. Based in part on diff from lars.nooden at
7080 gmail, ok djm
7081
7082 OpenBSD-Commit-ID: 80a0f619a29bbf2f32eb5297a69978a0e05d0ee0
7083
7084commit aabd75ec76575c1b17232e6526a644097cd798e5
7085Author: deraadt@openbsd.org <deraadt@openbsd.org>
7086Date: Fri Dec 8 03:45:52 2017 +0000
7087
7088 upstream commit
7089
7090 time_t printing needs %lld and (long long) casts ok djm
7091
7092 OpenBSD-Commit-ID: 4a93bc2b0d42a39b8f8de8bb74d07ad2e5e83ef7
7093
7094commit fd4eeeec16537870bd40d04836c7906ec141c17d
7095Author: djm@openbsd.org <djm@openbsd.org>
7096Date: Fri Dec 8 02:14:33 2017 +0000
7097
7098 upstream commit
7099
7100 fix ordering in previous to ensure errno isn't clobbered
7101 before logging.
7102
7103 OpenBSD-Commit-ID: e260bc1e145a9690dcb0d5aa9460c7b96a0c8ab2
7104
7105commit 155072fdb0d938015df828836beb2f18a294ab8a
7106Author: djm@openbsd.org <djm@openbsd.org>
7107Date: Fri Dec 8 02:13:02 2017 +0000
7108
7109 upstream commit
7110
7111 for some reason unix_listener() logged most errors twice
7112 with each message containing only some of the useful information; merge these
7113
7114 OpenBSD-Commit-ID: 1978a7594a9470c0dddcd719586066311b7c9a4a
7115
7116commit 79c0e1d29959304e5a49af1dbc58b144628c09f3
7117Author: Darren Tucker <dtucker@zip.com.au>
7118Date: Mon Dec 11 14:38:33 2017 +1100
7119
7120 Add autogenerated dependency info to Makefile.
7121
7122 Adds a .depend file containing dependency information generated by
7123 makedepend, which is appended to the generated Makefile by configure.
7124
7125 You can regen the file with "make -f Makefile.in depend" if necessary,
7126 but we'll be looking at some way to automatically keep this up to date.
7127
7128 "no objection" djm@
7129
7130commit f001de8fbf7f3faddddd8efd03df18e57601f7eb
7131Author: Darren Tucker <dtucker@zip.com.au>
7132Date: Mon Dec 11 13:42:51 2017 +1100
7133
7134 Fix pasto in ldns handling.
7135
7136 When ldns-config is not found, configure would check the wrong variable.
7137 ok djm@
7138
7139commit c5bfe83f67cb64e71cf2fe0d1500f6904b0099ee
7140Author: Darren Tucker <dtucker@zip.com.au>
7141Date: Sat Dec 9 10:12:23 2017 +1100
7142
7143 Portable switched to git so s/CVS/git/.
7144
7145commit bb82e61a40a4ee52e4eb904caaee2c27b763ab5b
7146Author: Darren Tucker <dtucker@zip.com.au>
7147Date: Sat Dec 9 08:06:00 2017 +1100
7148
7149 Remove now-used check for perl.
7150
7151commit e0ce54c0b9ca3a9388f9c50f4fa6cc25c28a3240
7152Author: djm@openbsd.org <djm@openbsd.org>
7153Date: Wed Dec 6 05:06:21 2017 +0000
7154
7155 upstream commit
7156
7157 don't accept junk after "yes" or "no" responses to
7158 hostkey prompts. bz#2803 reported by Maksim Derbasov; ok dtucker@
7159
7160 OpenBSD-Commit-ID: e1b159fb2253be973ce25eb7a7be26e6f967717c
7161
7162commit 609d96b3d58475a15b2eb6b3d463f2c5d8e510c0
7163Author: dtucker@openbsd.org <dtucker@openbsd.org>
7164Date: Tue Dec 5 23:59:47 2017 +0000
7165
7166 upstream commit
7167
7168 Replace atoi and strtol conversions for integer arguments
7169 to config keywords with a checking wrapper around strtonum. This will
7170 prevent and flag invalid and negative arguments to these keywords. ok djm@
7171
7172 OpenBSD-Commit-ID: 99ae3981f3d608a219ccb8d2fff635ae52c17998
7173
7174commit 168ecec13f9d7cb80c07df3bf7d414f4e4165e84
7175Author: dtucker@openbsd.org <dtucker@openbsd.org>
7176Date: Tue Dec 5 23:56:07 2017 +0000
7177
7178 upstream commit
7179
7180 Add missing break for rdomain. Prevents spurious
7181 "Deprecated option" warnings. ok djm@
7182
7183 OpenBSD-Commit-ID: ba28a675d39bb04a974586241c3cba71a9c6099a
7184
7185commit 927f8514ceffb1af380a5f63ab4d3f7709b1b198
7186Author: djm@openbsd.org <djm@openbsd.org>
7187Date: Tue Dec 5 01:30:19 2017 +0000
7188
7189 upstream commit
7190
7191 include the addr:port in bind/listen failure messages
7192
7193 OpenBSD-Commit-ID: fdadb69fe1b38692608809cf0376b71c2c28e58e
7194
7195commit a8c89499543e2d889629c4e5e8dcf47a655cf889
7196Author: dtucker@openbsd.org <dtucker@openbsd.org>
7197Date: Wed Nov 29 05:49:54 2017 +0000
7198
7199 upstream commit
7200
7201 Import updated moduli.
7202
7203 OpenBSD-Commit-ID: 524d210f982af6007aa936ca7f4c977f4d32f38a
7204
7205commit 3dde09ab38c8e1cfc28252be473541a81bc57097
7206Author: dtucker@openbsd.org <dtucker@openbsd.org>
7207Date: Tue Nov 28 21:10:22 2017 +0000
7208
7209 upstream commit
7210
7211 Have sftp print a warning about shell cleanliness when
7212 decoding the first packet fails, which is usually caused by shells polluting
7213 stdout of non-interactive starups. bz#2800, ok markus@ deraadt@.
7214
7215 OpenBSD-Commit-ID: 88d6a9bf3470f9324b76ba1cbd53e50120f685b5
7216
7217commit 6c8a246437f612ada8541076be2414846d767319
7218Author: Darren Tucker <dtucker@zip.com.au>
7219Date: Fri Dec 1 17:11:47 2017 +1100
7220
7221 Replace mkinstalldirs with mkdir -p.
7222
7223 Check for MIKDIR_P and use it instead of mkinstalldirs. Should fix "mkdir:
7224 cannot create directory:... File exists" during "make install".
7225 Patch from eb at emlix.com.
7226
7227commit 3058dd78d2e43ed0f82ad8eab8bb04b043a72023
7228Author: Darren Tucker <dtucker@zip.com.au>
7229Date: Fri Dec 1 17:07:08 2017 +1100
7230
7231 Pull in newer install-sh from autoconf-2.69.
7232
7233 Suggested by eb at emlix.com
7234
7235commit 79226e5413c5b0fda3511351a8511ff457e306d8
7236Author: Darren Tucker <dtucker@zip.com.au>
7237Date: Fri Dec 1 16:55:35 2017 +1100
7238
7239 Remove RSA1 host key generation.
7240
7241 SSH1 support is now gone, remove SSH1 key generation.
7242 Patch from eb at emlix.com.
7243
7244commit 2937dd02c572a12f33d5c334d518f6cbe0b645eb
7245Author: djm@openbsd.org <djm@openbsd.org>
7246Date: Tue Nov 28 06:09:38 2017 +0000
7247
7248 upstream commit
7249
7250 more whitespace errors
7251
7252 OpenBSD-Commit-ID: 5e11c125378327b648940b90145e0d98beb05abb
7253
7254commit 7f257bf3fd3a759f31098960cbbd1453fafc4164
7255Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7256Date: Tue Nov 28 06:04:51 2017 +0000
7257
7258 upstream commit
7259
7260 whitespace at EOL
7261
7262 OpenBSD-Commit-ID: 76d3965202b22d59c2784a8df3a8bfa5ee67b96a
7263
7264commit 5db6fbf1438b108e5df3e79a1b4de544373bc2d4
7265Author: dtucker@openbsd.org@openbsd.org <dtucker@openbsd.org@openbsd.org>
7266Date: Sat Nov 25 06:46:22 2017 +0000
7267
7268 upstream commit
7269
7270 Add monotime_ts and monotime_tv that return monotonic
7271 timespec and timeval respectively. Replace calls to gettimeofday() in packet
7272 timing with monotime_tv so that the callers will work over a clock step.
7273 Should prevent integer overflow during clock steps reported by wangle6 at
7274 huawei.com. "I like" markus@
7275
7276 OpenBSD-Commit-ID: 74d684264814ff806f197948b87aa732cb1b0b8a
7277
7278commit 2d638e986085bdf1a40310ed6e2307463db96ea0
7279Author: dtucker@openbsd.org@openbsd.org <dtucker@openbsd.org@openbsd.org>
7280Date: Sat Nov 25 05:58:47 2017 +0000
7281
7282 upstream commit
7283
7284 Remove get_current_time() and replace with calls to
7285 monotime_double() which uses CLOCK_MONOTONIC and works over clock steps. "I
7286 like" markus@
7287
7288 OpenBSD-Commit-ID: 3ad2f7d2414e2cfcaef99877a7a5b0baf2242952
7289
7290commit ba460acae48a36ef749cb23068f968f4d5d90a24
7291Author: Darren Tucker <dtucker@zip.com.au>
7292Date: Fri Nov 24 16:24:31 2017 +1100
7293
7294 Include string.h for explicit_bzero.
7295
7296commit a65655fb1a12b77fb22f9e71559b9d73030ec8ff
7297Author: Damien Miller <djm@mindrot.org>
7298Date: Fri Nov 24 10:23:47 2017 +1100
7299
7300 fix incorrect range of OpenSSL versions supported
7301
7302 Pointed out by Solar Designer
7303
7304commit 83a1e5dbec52d05775174f368e0c44b08619a308
7305Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7306Date: Wed Nov 15 02:10:16 2017 +0000
7307
7308 upstream commit
7309
7310 downgrade a couple more request parsing errors from
7311 process-fatal to just returning failure, making them consistent with the
7312 others that were already like that.
7313
7314 OpenBSD-Commit-ID: c111461f7a626690a2d53018ef26557b34652918
7315
7316commit 93c68a8f3da8e5e6acdc3396f54d73919165e242
7317Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7318Date: Wed Nov 15 00:13:40 2017 +0000
7319
7320 upstream commit
7321
7322 fix regression in 7.6: failure to parse a signature request
7323 message shouldn't be fatal to the process, just the request. Reported by Ron
7324 Frederick
7325
7326 OpenBSD-Commit-ID: e5d01b3819caa1a2ad51fc57d6ded43f48bbcc05
7327
7328commit 548d3a66feb64c405733932a6b1abeaf7198fa71
7329Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7330Date: Tue Nov 14 00:45:29 2017 +0000
7331
7332 upstream commit
7333
7334 fix problem in configuration parsing when in config dump mode
7335 (sshd -T) without providing a full connection specification (sshd -T -C ...)
7336
7337 spotted by bluhm@
7338
7339 OpenBSD-Commit-ID: 7125faf5740eaa9d3a2f25400a0bc85e94e28b8f
7340
7341commit 33edb6ebdc2f81ebed1bceadacdfb8910b64fb88
7342Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7343Date: Fri Nov 3 05:18:44 2017 +0000
7344
7345 upstream commit
7346
7347 reuse parse_multistate for parse_flag (yes/no arguments).
7348 Saves a few lines of code and makes the parser more consistent wrt case-
7349 sensitivity. bz#2664 ok dtucker@
7350
7351 OpenBSD-Commit-ID: b2ad1b6086858d5db71c7b11e5a74dba6d60efef
7352
7353commit d52131a98316e76c0caa348f09bf6f7b9b01a1b9
7354Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7355Date: Fri Nov 3 05:14:04 2017 +0000
7356
7357 upstream commit
7358
7359 allow certificate validity intervals that specify only a
7360 start or stop time (we already support specifying both or neither)
7361
7362 OpenBSD-Commit-ID: 9be486545603c003030bdb5c467d1318b46b4e42
7363
7364commit fbe8e7ac94c2fa380421a9205a8bc966549c2f91
7365Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7366Date: Fri Nov 3 03:46:52 2017 +0000
7367
7368 upstream commit
7369
7370 allow "cd" and "lcd" commands with no explicit path
7371 argument. lcd will change to the local user's home directory as usual. cd
7372 will change to the starting directory for session (because the protocol
7373 offers no way to obtain the remote user's home directory). bz#2760 ok
7374 dtucker@
7375
7376 OpenBSD-Commit-ID: 15333f5087cee8c1ed1330cac1bd0a3e6a767393
7377
7378commit 0208a48517b5e8e8b091f32fa4addcd67c31ca9e
7379Author: dtucker@openbsd.org@openbsd.org <dtucker@openbsd.org@openbsd.org>
7380Date: Fri Nov 3 03:18:53 2017 +0000
7381
7382 upstream commit
7383
7384 When doing a config test with sshd -T, only require the
7385 attributes that are actually used in Match criteria rather than (an
7386 incomplete list of) all criteria. ok djm@, man page help jmc@
7387
7388 OpenBSD-Commit-ID: b4e773c4212d3dea486d0259ae977551aab2c1fc
7389
7390commit c357eed5a52cd2f4ff358b17e30e3f9a800644da
7391Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7392Date: Fri Nov 3 02:32:19 2017 +0000
7393
7394 upstream commit
7395
7396 typos in ECDSA certificate names; bz#2787 reported by
7397 Mike Gerow
7398
7399 OpenBSD-Commit-ID: 824938b6aba1b31321324ba1f56c05f84834b163
7400
7401commit ecbf005b8fd80b81d0c61dfc1e96fe3da6099395
7402Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7403Date: Fri Nov 3 02:29:17 2017 +0000
7404
7405 upstream commit
7406
7407 Private keys in PEM format have been encrypted by AES-128 for
7408 a while (not 3DES). bz#2788 reported by Calum Mackay
7409
7410 OpenBSD-Commit-ID: bd33da7acbbb3c882f0a0ee56007a35ce0d8a11a
7411
7412commit 81c9ccdbf6ddbf9bfbd6f1f775a5a7c13e47e185
7413Author: Darren Tucker <dtucker@zip.com.au>
7414Date: Fri Nov 3 14:52:51 2017 +1100
7415
7416 Check for linux/if.h when enabling rdomain.
7417
7418 musl libc doesn't seem to have linux/if.h, so check for its presence
7419 before enabling rdomain support on Linux.
7420
7421commit fa1b834cce41a1ce3e6a8d57fb67ef18c9dd803f
7422Author: Darren Tucker <dtucker@zip.com.au>
7423Date: Fri Nov 3 14:09:45 2017 +1100
7424
7425 Add headers for sys/sysctl.h and net/route.h
7426
7427 On at least older OpenBSDs, sys/sysctl.h and net/route.h require
7428 sys/types and, in the case of sys/sysctl.h, sys/param.h for MAXLOGNAME.
7429
7430commit 41bff4da21fcd8a7c6a83a7e0f92b018f904f6fb
7431Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7432Date: Fri Nov 3 02:22:41 2017 +0000
7433
7434 upstream commit
7435
7436 avoid unused variable warnings for !WITH_OPENSSL; patch from
7437 Marcus Folkesson
7438
7439 OpenBSD-Commit-ID: c01d27a3f907acdc3dd4ea48170fac3ba236d229
7440
7441commit 6b373e4635a7470baa94253dd1dc8953663da9e8
7442Author: Marcus Folkesson <marcus.folkesson@gmail.com>
7443Date: Sat Oct 28 19:48:39 2017 +0200
7444
7445 only enable functions in dh.c when openssl is used
7446
7447 Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
7448
7449commit 939b30ba23848b572e15bf92f0f1a3d9cf3acc2b
7450Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7451Date: Wed Nov 1 00:04:15 2017 +0000
7452
7453 upstream commit
7454
7455 fix broken stdout in ControlPersist mode, introduced by me in
7456 r1.467 and reported by Alf Schlichting
7457
7458 OpenBSD-Commit-ID: 3750a16e02108fc25f747e4ebcedb7123c1ef509
7459
7460commit f21455a084f9cc3942cf1bde64055a4916849fed
7461Author: Darren Tucker <dtucker@zip.com.au>
7462Date: Tue Oct 31 10:09:33 2017 +1100
7463
7464 Include includes.h for HAVE_GETPAGESIZE.
7465
7466 The configure script checks for getpagesize() and sets HAVE_GETPAGESIZE in
7467 config.h, but bsd-getpagesize.c forgot to include includes.h (which
7468 indirectly includes config.h) so the checks always fails, causing linker
7469 issues when linking statically on systems with getpagesize().
7470
7471 Patch from Peter Korsgaard <peter at korsgaard.com>
7472
7473commit f2ad63c0718b93ac1d1e85f53fee33b06eef86b5
7474Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7475Date: Mon Oct 30 22:01:52 2017 +0000
7476
7477 upstream commit
7478
7479 whitespace at EOL
7480
7481 OpenBSD-Regress-ID: f4b5df99b28c6f63478deb916c6ed0e794685f07
7482
7483commit c6415b1f8f1d0c2735564371647fd6a177fb9a3e
7484Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7485Date: Mon Oct 30 21:59:43 2017 +0000
7486
7487 upstream commit
7488
7489 whitespace at EOL
7490
7491 OpenBSD-Regress-ID: 19b1394393deee4c8a2114a3b7d18189f27a15cd
7492
7493commit e4d4ddbbba0e585ca3ec3a455430750b4622a6d3
7494Author: millert@openbsd.org@openbsd.org <millert@openbsd.org@openbsd.org>
7495Date: Wed Oct 25 20:08:36 2017 +0000
7496
7497 upstream commit
7498
7499 Use printenv to test whether an SSH_USER_AUTH is set
7500 instead of using $SSH_USER_AUTH. The latter won't work with csh which treats
7501 unknown variables as an error when expanding them. OK markus@
7502
7503 OpenBSD-Regress-ID: f601e878dd8b71aa40381573dde3a8f567e6f2d1
7504
7505commit 116b1b439413a724ebb3320633a64dd0f3ee1fe7
7506Author: millert@openbsd.org@openbsd.org <millert@openbsd.org@openbsd.org>
7507Date: Tue Oct 24 19:33:32 2017 +0000
7508
7509 upstream commit
7510
7511 Add tests for URI parsing. OK markus@
7512
7513 OpenBSD-Regress-ID: 5d1df19874f3b916d1a2256a905526e17a98bd3b
7514
7515commit dbe0662e9cd482593a4a8bf58c6481bfe8a747a4
7516Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7517Date: Fri Oct 27 01:57:06 2017 +0000
7518
7519 upstream commit
7520
7521 whitespace at EOL
7522
7523 OpenBSD-Commit-ID: c95549cf5a07d56ea11aaff818415118720214f6
7524
7525commit d2135474344335a7c6ee643b6ade6db400fa76ee
7526Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7527Date: Fri Oct 27 01:01:17 2017 +0000
7528
7529 upstream commit
7530
7531 whitespace at EOL (lots)
7532
7533 OpenBSD-Commit-ID: 757257dd44116794ee1b5a45c6724973de181747
7534
7535commit b77c29a07f5a02c7c1998701c73d92bde7ae1608
7536Author: djm@openbsd.org@openbsd.org <djm@openbsd.org@openbsd.org>
7537Date: Fri Oct 27 00:18:41 2017 +0000
7538
7539 upstream commit
7540
7541 improve printing of rdomain on accept() a little
7542
7543 OpenBSD-Commit-ID: 5da58db2243606899cedaa646c70201b2d12247a
7544
7545commit 68d3bbb2e6dfbf117c46e942142795b2cdd0274b
7546Author: jmc@openbsd.org@openbsd.org <jmc@openbsd.org@openbsd.org>
7547Date: Thu Oct 26 06:44:01 2017 +0000
7548
7549 upstream commit
7550
7551 mark up the rdomain keyword;
7552
7553 OpenBSD-Commit-ID: 1b597d0ad0ad20e94dbd61ca066057e6f6313b8a
7554
7555commit 0b2e2896b9d0d6cfb59e9ec8271085296bd4e99b
7556Author: jmc@openbsd.org@openbsd.org <jmc@openbsd.org@openbsd.org>
7557Date: Wed Oct 25 06:19:46 2017 +0000
7558
7559 upstream commit
7560
7561 tweak the uri text, specifically removing some markup to
7562 make it a bit more readable;
7563
7564 issue reported by - and diff ok - millert
7565
7566 OpenBSD-Commit-ID: 8b56a20208040b2d0633536fd926e992de37ef3f
7567
7568commit 7530e77bdc9415386d2a8ea3d086e8b611b2ba40
7569Author: jmc@openbsd.org@openbsd.org <jmc@openbsd.org@openbsd.org>
7570Date: Wed Oct 25 06:18:06 2017 +0000
7571
7572 upstream commit
7573
7574 simplify macros in previous, and some minor tweaks;
7575
7576 OpenBSD-Commit-ID: 6efeca3d8b095b76e21b484607d9cc67ac9a11ca
7577
7578commit eb9c582b710dc48976b48eb2204218f6863bae9a
7579Author: Damien Miller <djm@mindrot.org>
7580Date: Tue Oct 31 00:46:29 2017 +1100
7581
7582 Switch upstream git repository.
7583
7584 Previously portable OpenSSH has synced against a conversion of OpenBSD's
7585 CVS repository made using the git cvsimport tool, but this has become
7586 increasingly unreliable.
7587
7588 As of this commit, portable OpenSSH now tracks a conversion of the
7589 OpenBSD CVS upstream made using the excellent cvs2gitdump tool from
7590 YASUOKA Masahiko: https://github.com/yasuoka/cvs2gitdump
7591
7592 cvs2gitdump is considerably more reliable than gitcvsimport and the old
7593 version of cvsps that it uses under the hood, and is the same tool used
7594 to export the entire OpenBSD repository to git (so we know it can cope
7595 with future growth).
7596
7597 These new conversions are mirrored at github, so interested parties can
7598 match portable OpenSSH commits to their upstream counterparts.
7599
7600 https://github.com/djmdjm/openbsd-openssh-src
7601 https://github.com/djmdjm/openbsd-openssh-regress
7602
7603 An unfortunate side effect of switching upstreams is that we must have
7604 a flag day, across which the upstream commit IDs will be inconsistent.
7605 The old commit IDs are recorded with the tags "Upstream-ID" for main
7606 directory commits and "Upstream-Regress-ID" for regress commits.
7607
7608 To make it clear that the commit IDs do not refer to the same
7609 things, the new repository will instead use "OpenBSD-ID" and
7610 "OpenBSD-Regress-ID" tags instead.
7611
7612 Apart from being a longwinded explanation of what is going on, this
7613 commit message also serves to synchronise our tools with the state of
7614 the tree, which happens to be:
7615
7616 OpenBSD-ID: 9c43a9968c7929613284ea18e9fb92e4e2a8e4c1
7617 OpenBSD-Regress-ID: b33b385719420bf3bc57d664feda6f699c147fef
7618
7619commit 2de5c6b53bf063ac698596ef4e23d8e3099656ea
7620Author: Damien Miller <djm@mindrot.org>
7621Date: Fri Oct 27 08:42:33 2017 +1100
7622
7623 fix rdomain compilation errors
7624
7625commit 6bd5b569fd6dfd5e8c8af20bbc41e45c2d6462ab
7626Author: Damien Miller <djm@mindrot.org>
7627Date: Wed Oct 25 14:15:42 2017 +1100
7628
7629 autoconf glue to enable Linux VRF
7630
7631commit 97c5aaf925d61641d599071abb56012cde265978
7632Author: Damien Miller <djm@mindrot.org>
7633Date: Wed Oct 25 14:09:56 2017 +1100
7634
7635 basic valid_rdomain() implementation for Linux
7636
7637commit ce1cca39d7935dd394080ce2df62f5ce5b51f485
7638Author: Damien Miller <djm@mindrot.org>
7639Date: Wed Oct 25 13:47:59 2017 +1100
7640
7641 implement get/set_rdomain() for Linux
7642
7643 Not enabled, pending implementation of valid_rdomain() and autoconf glue
7644
7645commit 6eee79f9b8d4a3b113b698383948a119acb82415
7646Author: Damien Miller <djm@mindrot.org>
7647Date: Wed Oct 25 13:22:29 2017 +1100
7648
7649 stubs for rdomain replacement functions
7650
7651commit f5594f939f844bbb688313697d6676238da355b3
7652Author: Damien Miller <djm@mindrot.org>
7653Date: Wed Oct 25 13:13:57 2017 +1100
7654
7655 rename port-tun.[ch] => port-net.[ch]
7656
7657 Ahead of adding rdomain support
7658
7659commit d685e5a31feea35fb99e1a31a70b3c60a7f2a0eb
7660Author: djm@openbsd.org <djm@openbsd.org>
7661Date: Wed Oct 25 02:10:39 2017 +0000
7662
7663 upstream commit
7664
7665 uninitialised variable in PermitTunnel printing code
7666
7667 Upstream-ID: f04dc33e42855704e116b8da61095ecc71bc9e9a
7668
7669commit 43c29bb7cfd46bbbc61e0ffa61a11e74d49a712f
7670Author: Damien Miller <djm@mindrot.org>
7671Date: Wed Oct 25 13:10:59 2017 +1100
7672
7673 provide hooks and fallbacks for rdomain support
7674
7675commit 3235473bc8e075fad7216b7cd62fcd2b0320ea04
7676Author: Damien Miller <djm@mindrot.org>
7677Date: Wed Oct 25 11:25:43 2017 +1100
7678
7679 check for net/route.h and sys/sysctl.h
7680
7681commit 4d5456c7de108e17603a0920c4d15bca87244921
7682Author: djm@openbsd.org <djm@openbsd.org>
7683Date: Wed Oct 25 00:21:37 2017 +0000
7684
7685 upstream commit
7686
7687 transfer ownership of stdout to the session channel by
7688 dup2'ing /dev/null to fd 1. This allows propagation of remote stdout close to
7689 the local side; reported by David Newall, ok markus@
7690
7691 Upstream-ID: 8d9ac18a11d89e6b0415f0cbf67b928ac67f0e79
7692
7693commit 68af80e6fdeaeb79432209db614386ff0f37e75f
7694Author: djm@openbsd.org <djm@openbsd.org>
7695Date: Wed Oct 25 00:19:47 2017 +0000
7696
7697 upstream commit
7698
7699 add a "rdomain" criteria for the sshd_config Match
7700 keyword to allow conditional configuration that depends on which rdomain(4) a
7701 connection was recevied on. ok markus@
7702
7703 Upstream-ID: 27d8fd5a3f1bae18c9c6e533afdf99bff887a4fb
7704
7705commit 35eb33fb957979e3fcbe6ea0eaee8bf4a217421a
7706Author: djm@openbsd.org <djm@openbsd.org>
7707Date: Wed Oct 25 00:17:08 2017 +0000
7708
7709 upstream commit
7710
7711 add sshd_config RDomain keyword to place sshd and the
7712 subsequent user session (including the shell and any TCP/IP forwardings) into
7713 the specified rdomain(4)
7714
7715 ok markus@
7716
7717 Upstream-ID: be2358e86346b5cacf20d90f59f980b87d1af0f5
7718
7719commit acf559e1cffbd1d6167cc1742729fc381069f06b
7720Author: djm@openbsd.org <djm@openbsd.org>
7721Date: Wed Oct 25 00:15:35 2017 +0000
7722
7723 upstream commit
7724
7725 Add optional rdomain qualifier to sshd_config's
7726 ListenAddress option to allow listening on a different rdomain(4), e.g.
7727
7728 ListenAddress 0.0.0.0 rdomain 4
7729
7730 Upstream-ID: 24b6622c376feeed9e9be8b9605e593695ac9091
7731
7732commit b9903ee8ee8671b447fc260c2bee3761e26c7227
7733Author: millert@openbsd.org <millert@openbsd.org>
7734Date: Tue Oct 24 19:41:45 2017 +0000
7735
7736 upstream commit
7737
7738 Kill dead store and some spaces vs. tabs indent in
7739 parse_user_host_path(). Noticed by markus@
7740
7741 Upstream-ID: 114fec91dadf9af46c7c94fd40fc630ea2de8200
7742
7743commit 0869627e00f4ee2a038cb62d7bd9ffad405e1800
7744Author: jmc@openbsd.org <jmc@openbsd.org>
7745Date: Tue Oct 24 06:27:42 2017 +0000
7746
7747 upstream commit
7748
7749 tweak previous; ok djm
7750
7751 Upstream-ID: 7d913981ab315296be1f759c67b6e17aea38fca9
7752
7753commit e3fa20e2e58fdc88a0e842358778f2de448b771b
7754Author: Damien Miller <djm@mindrot.org>
7755Date: Mon Oct 23 16:25:24 2017 +1100
7756
7757 avoid -Wsign-compare warning in argv copying
7758
7759commit b7548b12a6b2b4abf4d057192c353147e0abba08
7760Author: djm@openbsd.org <djm@openbsd.org>
7761Date: Mon Oct 23 05:08:00 2017 +0000
7762
7763 upstream commit
7764
7765 Expose devices allocated for tun/tap forwarding.
7766
7767 At the client, the device may be obtained from a new %T expansion
7768 for LocalCommand.
7769
7770 At the server, the allocated devices will be listed in a
7771 SSH_TUNNEL variable exposed to the environment of any user sessions
7772 started after the tunnel forwarding was established.
7773
7774 ok markus
7775
7776 Upstream-ID: e61e53f8ae80566e9ddc0d67a5df5bdf2f3c9f9e
7777
7778commit 887669ef032d63cf07f53cada216fa8a0c9a7d72
7779Author: millert@openbsd.org <millert@openbsd.org>
7780Date: Sat Oct 21 23:06:24 2017 +0000
7781
7782 upstream commit
7783
7784 Add URI support to ssh, sftp and scp. For example
7785 ssh://user@host or sftp://user@host/path. The connection parameters
7786 described in draft-ietf-secsh-scp-sftp-ssh-uri-04 are not implemented since
7787 the ssh fingerprint format in the draft uses md5 with no way to specify the
7788 hash function type. OK djm@
7789
7790 Upstream-ID: 4ba3768b662d6722de59e6ecb00abf2d4bf9cacc
7791
7792commit d27bff293cfeb2252f4c7a58babe5ad3262c6c98
7793Author: Damien Miller <djm@mindrot.org>
7794Date: Fri Oct 20 13:22:00 2017 +1100
7795
7796 Fix missed RCSID merges
7797
7798commit d3b6aeb546242c9e61721225ac4387d416dd3d5e
7799Author: djm@openbsd.org <djm@openbsd.org>
7800Date: Fri Oct 20 02:13:41 2017 +0000
7801
7802 upstream commit
7803
7804 more RCSIDs
7805
7806 Upstream-Regress-ID: 1aecbe3f8224793f0ec56741a86d619830eb33be
7807
7808commit b011edbb32e41aaab01386ce4c0efcc9ff681c4a
7809Author: djm@openbsd.org <djm@openbsd.org>
7810Date: Fri Oct 20 01:56:39 2017 +0000
7811
7812 upstream commit
7813
7814 add RCSIDs to these; they make syncing portable a bit
7815 easier
7816
7817 Upstream-ID: 56cb7021faea599736dd7e7f09c2e714425b1e68
7818
7819commit 6eb27597781dccaf0ec2b80107a9f0592a0cb464
7820Author: Damien Miller <djm@mindrot.org>
7821Date: Fri Oct 20 12:54:15 2017 +1100
7822
7823 upstream commit
7824
7825 Apply missing commit 1.11 to kexc25519s.c
7826
7827 Upstream-ID: 5f020e23a1ee6c3597af1f91511e68552cdf15e8
7828
7829commit 6f72280553cb6918859ebcacc717f2d2fafc1a27
7830Author: Damien Miller <djm@mindrot.org>
7831Date: Fri Oct 20 12:52:50 2017 +1100
7832
7833 upstream commit
7834
7835 Apply missing commit 1.127 to servconf.h
7836
7837 Upstream-ID: f14c4bac74a2b7cf1e3cff6bea5c447f192a7d15
7838
7839commit bb3e16ab25cb911238c2eb7455f9cf490cb143cc
7840Author: jmc@openbsd.org <jmc@openbsd.org>
7841Date: Wed Oct 18 05:36:59 2017 +0000
7842
7843 upstream commit
7844
7845 remove unused Pp;
7846
7847 Upstream-ID: 8ad26467f1f6a40be887234085a8e01a61a00550
7848
7849commit 05b69e99570553c8e1eafb895b1fbf1d098d2e14
7850Author: djm@openbsd.org <djm@openbsd.org>
7851Date: Wed Oct 18 02:49:44 2017 +0000
7852
7853 upstream commit
7854
7855 In the description of pattern-lists, clarify negated
7856 matches by explicitly stating that a negated match will never yield a
7857 positive result, and that at least one positive term in the pattern-list must
7858 match. bz#1918
7859
7860 Upstream-ID: 652d2f9d993f158fc5f83cef4a95cd9d95ae6a14
7861
7862commit eb80e26a15c10bc65fed8b8cdb476819a713c0fd
7863Author: djm@openbsd.org <djm@openbsd.org>
7864Date: Fri Oct 13 21:13:54 2017 +0000
7865
7866 upstream commit
7867
7868 log debug messages sent to peer; ok deraadt markus
7869
7870 Upstream-ID: 3b4fdc0a06ea5083f61d96e20043000f477103d9
7871
7872commit 071325f458d615d7740da5c1c1d5a8b68a0b4605
7873Author: jmc@openbsd.org <jmc@openbsd.org>
7874Date: Fri Oct 13 16:50:45 2017 +0000
7875
7876 upstream commit
7877
7878 trim permitrootlogin description somewhat, to avoid
7879 ambiguity; original diff from walter alejandro iglesias, tweaked by sthen and
7880 myself
7881
7882 ok sthen schwarze deraadt
7883
7884 Upstream-ID: 1749418b2bc073f3fdd25fe21f8263c3637fe5d2
7885
7886commit 10727487becb897a15f658e0cb2d05466236e622
7887Author: djm@openbsd.org <djm@openbsd.org>
7888Date: Fri Oct 13 06:45:18 2017 +0000
7889
7890 upstream commit
7891
7892 mention SSH_USER_AUTH in the list of environment
7893 variables
7894
7895 Upstream-ID: 1083397c3ee54b4933121ab058c70a0fc6383691
7896
7897commit 224f193d6a4b57e7a0cb2b9ecd3b6c54d721d8c2
7898Author: djm@openbsd.org <djm@openbsd.org>
7899Date: Fri Oct 13 06:24:51 2017 +0000
7900
7901 upstream commit
7902
7903 BIO_get_mem_data() is supposed to take a char* as pointer
7904 argument, so don't pass it a const char*
7905
7906 Upstream-ID: 1ccd91eb7f4dd4f0fa812d4f956987cd00b5f6ec
7907
7908commit cfa46825b5ef7097373ed8e31b01a4538a8db565
7909Author: benno@openbsd.org <benno@openbsd.org>
7910Date: Mon Oct 9 20:12:51 2017 +0000
7911
7912 upstream commit
7913
7914 clarify the order in which config statements are used. ok
7915 jmc@ djm@
7916
7917 Upstream-ID: e37e27bb6bbac71315e22cb9690fd8a556a501ed
7918
7919commit dceabc7ad7ebc7769c8214a1647af64c9a1d92e5
7920Author: djm@openbsd.org <djm@openbsd.org>
7921Date: Thu Oct 5 15:52:03 2017 +0000
7922
7923 upstream commit
7924
7925 replace statically-sized arrays in ServerOptions with
7926 dynamic ones managed by xrecallocarray, removing some arbitrary (though
7927 large) limits and saving a bit of memory; "much nicer" markus@
7928
7929 Upstream-ID: 1732720b2f478fe929d6687ac7b0a97ff2efe9d2
7930
7931commit 2b4f3ab050c2aaf6977604dd037041372615178d
7932Author: jmc@openbsd.org <jmc@openbsd.org>
7933Date: Thu Oct 5 12:56:50 2017 +0000
7934
7935 upstream commit
7936
7937 %C is hashed; from klemens nanni ok markus
7938
7939 Upstream-ID: 6ebed7b2e1b6ee5402a67875d74f5e2859d8f998
7940
7941commit a66714508b86d6814e9055fefe362d9fe4d49ab3
7942Author: djm@openbsd.org <djm@openbsd.org>
7943Date: Wed Oct 4 18:50:23 2017 +0000
7944
7945 upstream commit
7946
7947 exercise PermitOpen a little more thoroughly
7948
7949 Upstream-Regress-ID: f41592334e227a4c1f9a983044522de4502d5eac
7950
7951commit 609ecc8e57eb88e2eac976bd3cae7f7889aaeff6
7952Author: dtucker@openbsd.org <dtucker@openbsd.org>
7953Date: Tue Sep 26 22:39:25 2017 +0000
7954
7955 upstream commit
7956
7957 UsePrivilegeSeparation is gone, stop trying to test it.
7958
7959 Upstream-Regress-ID: 796a5057cfd79456a20ea935cc53f6eb80ace191
7960
7961commit 69bda0228861f3dacd4fb3d28b60ce9d103d254b
7962Author: djm@openbsd.org <djm@openbsd.org>
7963Date: Wed Oct 4 18:49:30 2017 +0000
7964
7965 upstream commit
7966
7967 fix (another) problem in PermitOpen introduced during the
7968 channels.c refactor: the third and subsequent arguments to PermitOpen were
7969 being silently ignored; ok markus@
7970
7971 Upstream-ID: 067c89f1f53cbc381628012ba776d6861e6782fd
7972
7973commit 66bf74a92131b7effe49fb0eefe5225151869dc5
7974Author: djm@openbsd.org <djm@openbsd.org>
7975Date: Mon Oct 2 19:33:20 2017 +0000
7976
7977 upstream commit
7978
7979 Fix PermitOpen crash; spotted by benno@, ok dtucker@ deraadt@
7980
7981 Upstream-ID: c2cc84ffac070d2e1ff76182c70ca230a387983c
7982
7983commit d63b38160a59039708fd952adc75a0b3da141560
7984Author: Damien Miller <djm@mindrot.org>
7985Date: Sun Oct 1 10:32:25 2017 +1100
7986
7987 update URL again
7988
7989 I spotted a typo in the draft so uploaded a new version...
7990
7991commit 6f64f596430cd3576c529f07acaaf2800aa17d58
7992Author: Damien Miller <djm@mindrot.org>
7993Date: Sun Oct 1 10:01:56 2017 +1100
7994
7995 sync release notes URL
7996
7997commit 35ff70a04dd71663a5ac1e73b90d16d270a06e0d
7998Author: Damien Miller <djm@mindrot.org>
7999Date: Sun Oct 1 10:01:25 2017 +1100
8000
8001 sync contrib/ssh-copy-id with upstream
8002
8003commit 290843b8ede85f8b30bf29cd7dceb805c3ea5b66
8004Author: Damien Miller <djm@mindrot.org>
8005Date: Sun Oct 1 09:59:19 2017 +1100
8006
8007 update version in RPM spec files
8008
8009commit 4e4e0bb223c5be88d87d5798c75cc6b0d4fef31d
8010Author: Damien Miller <djm@mindrot.org>
8011Date: Sun Oct 1 09:58:24 2017 +1100
8012
8013 update agent draft URL
8014
8015commit e4a798f001d2ecd8bf025c1d07658079f27cc604
8016Author: djm@openbsd.org <djm@openbsd.org>
8017Date: Sat Sep 30 22:26:33 2017 +0000
8018
8019 upstream commit
8020
8021 openssh-7.6; ok deraadt@
8022
8023 Upstream-ID: a39c3a5b63a1baae109ae1ae4c7c34c2a59acde0
8024
8025commit 5fa1407e16e7e5fda9769d53b626ce39d5588d4d
8026Author: jmc@openbsd.org <jmc@openbsd.org>
8027Date: Wed Sep 27 06:45:53 2017 +0000
8028
8029 upstream commit
8030
8031 tweak EposeAuthinfo; diff from lars nooden
8032
8033 tweaked by sthen; ok djm dtucker
8034
8035 Upstream-ID: 8f2ea5d2065184363e8be7a0ba24d98a3b259748
8036
8037commit bba69c246f0331f657fd6ec97724df99fc1ad174
8038Author: Damien Miller <djm@mindrot.org>
8039Date: Thu Sep 28 16:06:21 2017 -0700
8040
8041 don't fatal ./configure for LibreSSL
8042
8043commit 04dc070e8b4507d9d829f910b29be7e3b2414913
8044Author: Damien Miller <djm@mindrot.org>
8045Date: Thu Sep 28 14:54:34 2017 -0700
8046
8047 abort in configure when only openssl-1.1.x found
8048
8049 We don't support openssl-1.1.x yet (see multiple threads on the
8050 openssh-unix-dev@ mailing list for the reason), but previously
8051 ./configure would accept it and the compilation would subsequently
8052 fail. This makes ./configure display an explicit error message and
8053 abort.
8054
8055 ok dtucker@
8056
8057commit 74c1c3660acf996d9dc329e819179418dc115f2c
8058Author: Darren Tucker <dtucker@zip.com.au>
8059Date: Wed Sep 27 07:44:41 2017 +1000
8060
8061 Check for and handle calloc(p, 0) = NULL.
8062
8063 On some platforms (AIX, maybe others) allocating zero bytes of memory
8064 via the various *alloc functions returns NULL, which is permitted
8065 by the standards. Autoconf has some macros for detecting this (with
8066 the exception of calloc for some reason) so use these and if necessary
8067 activate shims for them. ok djm@
8068
8069commit 6a9481258a77b0b54b2a313d1761c87360c5f1f5
8070Author: markus@openbsd.org <markus@openbsd.org>
8071Date: Thu Sep 21 19:18:12 2017 +0000
8072
8073 upstream commit
8074
8075 test reverse dynamic forwarding with SOCKS
8076
8077 Upstream-Regress-ID: 95cf290470f7e5e2f691e4bc6ba19b91eced2f79
8078
8079commit 1b9f321605733754df60fac8c1d3283c89b74455
8080Author: Damien Miller <djm@mindrot.org>
8081Date: Tue Sep 26 16:55:55 2017 +1000
8082
8083 sync missing changes in dynamic-forward.sh
8084
8085commit 44fc334c7a9ebdd08addb6d5fa005369897fddeb
8086Author: Darren Tucker <dtucker@zip.com.au>
8087Date: Mon Sep 25 09:48:10 2017 +1000
8088
8089 Add minimal strsignal for platforms without it.
8090
8091commit 218e6f98df566fb9bd363f6aa47018cb65ede196
8092Author: djm@openbsd.org <djm@openbsd.org>
8093Date: Sun Sep 24 13:45:34 2017 +0000
8094
8095 upstream commit
8096
8097 fix inverted test on channel open failure path that
8098 "upgraded" a transient failure into a fatal error; reported by sthen and also
8099 seen by benno@; ok sthen@
8100
8101 Upstream-ID: b58b3fbb79ba224599c6cd6b60c934fc46c68472
8102
8103commit c704f641f7b8777497dc82e81f2ac89afec7e401
8104Author: djm@openbsd.org <djm@openbsd.org>
8105Date: Sun Sep 24 09:50:01 2017 +0000
8106
8107 upstream commit
8108
8109 write the correct buffer when tunnel forwarding; doesn't
8110 matter on OpenBSD (they are the same) but does matter on portable where we
8111 use an output filter to translate os-specific tun/tap headers
8112
8113 Upstream-ID: f1ca94eff48404827b12e1d12f6139ee99a72284
8114
8115commit 55486f5cef117354f0c64f991895835077b7c7f7
8116Author: djm@openbsd.org <djm@openbsd.org>
8117Date: Sat Sep 23 22:04:07 2017 +0000
8118
8119 upstream commit
8120
8121 fix tunnel forwarding problem introduced in refactor;
8122 reported by stsp@ ok markus@
8123
8124 Upstream-ID: 81a731cdae1122c8522134095d1a8b60fa9dcd04
8125
8126commit 609d7a66ce578abf259da2d5f6f68795c2bda731
8127Author: markus@openbsd.org <markus@openbsd.org>
8128Date: Thu Sep 21 19:16:53 2017 +0000
8129
8130 upstream commit
8131
8132 Add 'reverse' dynamic forwarding which combines dynamic
8133 forwarding (-D) with remote forwarding (-R) where the remote-forwarded port
8134 expects SOCKS-requests.
8135
8136 The SSH server code is unchanged and the parsing happens at the SSH
8137 clients side. Thus the full SOCKS-request is sent over the forwarded
8138 channel and the client parses c->output. Parsing happens in
8139 channel_before_prepare_select(), _before_ the select bitmask is
8140 computed in the pre[] handlers, but after network input processing
8141 in the post[] handlers.
8142
8143 help and ok djm@
8144
8145 Upstream-ID: aa25a6a3851064f34fe719e0bf15656ad5a64b89
8146
8147commit 36945fa103176c00b39731e1fc1919a0d0808b81
8148Author: dtucker@openbsd.org <dtucker@openbsd.org>
8149Date: Wed Sep 20 05:19:00 2017 +0000
8150
8151 upstream commit
8152
8153 Use strsignal in debug message instead of casting for the
8154 benefit of portable where sig_atomic_t might not be int. "much nicer"
8155 deraadt@
8156
8157 Upstream-ID: 2dac6c1e40511c700bd90664cd263ed2299dcf79
8158
8159commit 3e8d185af326bf183b6f78597d5e3d2eeb2dc40e
8160Author: millert@openbsd.org <millert@openbsd.org>
8161Date: Tue Sep 19 12:10:30 2017 +0000
8162
8163 upstream commit
8164
8165 Use explicit_bzero() instead of bzero() before free() to
8166 prevent the compiler from optimizing away the bzero() call. OK djm@
8167
8168 Upstream-ID: cdc6197e64c9684c7250e23d60863ee1b53cef1d
8169
8170commit 5b8da1f53854c0923ec6e927e86709e4d72737b6
8171Author: djm@openbsd.org <djm@openbsd.org>
8172Date: Tue Sep 19 04:24:22 2017 +0000
8173
8174 upstream commit
8175
8176 fix use-after-free in ~^Z escape handler path, introduced
8177 in channels.c refactor; spotted by millert@ "makes sense" deraadt@
8178
8179 Upstream-ID: 8fa2cdc65c23ad6420c1e59444b0c955b0589b22
8180
8181commit a3839d8d2b89ff1a80cadd4dd654336710de2c9e
8182Author: dtucker@openbsd.org <dtucker@openbsd.org>
8183Date: Mon Sep 18 12:03:24 2017 +0000
8184
8185 upstream commit
8186
8187 Prevent type mismatch warning in debug on platforms where
8188 sig_atomic_t != int. ok djm@
8189
8190 Upstream-ID: 306e2375eb0364a4c68e48f091739bea4f4892ed
8191
8192commit 30484e5e5f0b63d2c6ba32c6b85f06b6c6fa55fc
8193Author: dtucker@openbsd.org <dtucker@openbsd.org>
8194Date: Mon Sep 18 09:41:52 2017 +0000
8195
8196 upstream commit
8197
8198 Add braces missing after channels refactor. ok markus@
8199
8200 Upstream-ID: 72ab325c84e010680dbc88f226e2aa96b11a3980
8201
8202commit b79569190b9b76dfacc6d996faa482f16e8fc026
8203Author: Damien Miller <djm@mindrot.org>
8204Date: Tue Sep 19 12:29:23 2017 +1000
8205
8206 add freezero(3) replacement
8207
8208 ok dtucker@
8209
8210commit 161af8f5ec0961b10cc032efb5cc1b44ced5a92e
8211Author: Damien Miller <djm@mindrot.org>
8212Date: Tue Sep 19 10:18:56 2017 +1000
8213
8214 move FORTIFY_SOURCE into hardening options group
8215
8216 It's still on by default, but now it's possible to turn it off using
8217 --without-hardening. This is useful since it's known to cause problems
8218 with some -fsanitize options. ok dtucker@
8219
8220commit 09eacf856e0fe1a6e3fe597ec8032b7046292914
8221Author: bluhm@openbsd.org <bluhm@openbsd.org>
8222Date: Wed Sep 13 14:58:26 2017 +0000
8223
8224 upstream commit
8225
8226 Print SKIPPED if sudo and doas configuration is missing.
8227 Prevents that running the regression test with wrong environment is reported
8228 as failure. Keep the fatal there to avoid interfering with other setups for
8229 portable ssh. OK dtucker@
8230
8231 Upstream-Regress-ID: f0dc60023caef496ded341ac5aade2a606fa234e
8232
8233commit cdede10899892f25f1ccdccd7a3fe5e5ef0aa49a
8234Author: dtucker@openbsd.org <dtucker@openbsd.org>
8235Date: Mon Aug 7 03:52:55 2017 +0000
8236
8237 upstream commit
8238
8239 Remove obsolete privsep=no fallback test.
8240
8241 Upstream-Regress-ID: 7d6e1baa1678ac6be50c2a1555662eb1047638df
8242
8243commit ec218c105daa9f5b192f7aa890fdb2d4fdc4e9d8
8244Author: dtucker@openbsd.org <dtucker@openbsd.org>
8245Date: Mon Aug 7 00:53:51 2017 +0000
8246
8247 upstream commit
8248
8249 Remove non-privsep test since disabling privsep is now
8250 deprecated.
8251
8252 Upstream-Regress-ID: 77ad3f3d8d52e87f514a80f285c6c1229b108ce8
8253
8254commit 239c57d5bc2253e27e3e6ad7ac52ec8c377ee24e
8255Author: dtucker@openbsd.org <dtucker@openbsd.org>
8256Date: Fri Jul 28 10:32:08 2017 +0000
8257
8258 upstream commit
8259
8260 Don't call fatal from stop_sshd since it calls cleanup
8261 which calls stop_sshd which will probably fail in the same way. Instead,
8262 just bail. Differentiate between sshd dying without cleanup and not shutting
8263 down.
8264
8265 Upstream-Regress-ID: f97315f538618b349e2b0bea02d6b0c9196c6bc4
8266
8267commit aea59a0d9f120f2a87c7f494a0d9c51eaa79b8ba
8268Author: djm@openbsd.org <djm@openbsd.org>
8269Date: Thu Sep 14 04:32:21 2017 +0000
8270
8271 upstream commit
8272
8273 Revert commitid: gJtIN6rRTS3CHy9b.
8274
8275 -------------
8276 identify the case where SSHFP records are missing but other DNS RR
8277 types are present and display a more useful error message for this
8278 case; patch by Thordur Bjornsson; bz#2501; ok dtucker@
8279 -------------
8280
8281 This caused unexpected failures when VerifyHostKeyDNS=yes, SSHFP results
8282 are missing but the user already has the key in known_hosts
8283
8284 Spotted by dtucker@
8285
8286 Upstream-ID: 97e31742fddaf72046f6ffef091ec0d823299920
8287
8288commit 871f1e4374420b07550041b329627c474abc3010
8289Author: Damien Miller <djm@mindrot.org>
8290Date: Tue Sep 12 18:01:35 2017 +1000
8291
8292 adapt portable to channels API changes
8293
8294commit 4ec0bb9f9ad7b4eb0af110fa8eddf8fa199e46bb
8295Author: djm@openbsd.org <djm@openbsd.org>
8296Date: Tue Sep 12 07:55:48 2017 +0000
8297
8298 upstream commit
8299
8300 unused variable
8301
8302 Upstream-ID: 2f9ba09f2708993d35eac5aa71df910dcc52bac1
8303
8304commit 9145a73ce2ba30c82bbf91d7205bfd112529449f
8305Author: djm@openbsd.org <djm@openbsd.org>
8306Date: Tue Sep 12 07:32:04 2017 +0000
8307
8308 upstream commit
8309
8310 fix tun/tap forwarding case in previous
8311
8312 Upstream-ID: 43ebe37a930320e24bca6900dccc39857840bc53
8313
8314commit 9f53229c2ac97dbc6f5a03657de08a1150a9ac7e
8315Author: djm@openbsd.org <djm@openbsd.org>
8316Date: Tue Sep 12 06:35:31 2017 +0000
8317
8318 upstream commit
8319
8320 Make remote channel ID a u_int
8321
8322 Previously we tracked the remote channel IDs in an int, but this is
8323 strictly incorrect: the wire protocol uses uint32 and there is nothing
8324 in-principle stopping a SSH implementation from sending, say, 0xffff0000.
8325
8326 In practice everyone numbers their channels sequentially, so this has
8327 never been a problem.
8328
8329 ok markus@
8330
8331 Upstream-ID: b9f4cd3dc53155b4a5c995c0adba7da760d03e73
8332
8333commit dbee4119b502e3f8b6cd3282c69c537fd01d8e16
8334Author: djm@openbsd.org <djm@openbsd.org>
8335Date: Tue Sep 12 06:32:07 2017 +0000
8336
8337 upstream commit
8338
8339 refactor channels.c
8340
8341 Move static state to a "struct ssh_channels" that is allocated at
8342 runtime and tracked as a member of struct ssh.
8343
8344 Explicitly pass "struct ssh" to all channels functions.
8345
8346 Replace use of the legacy packet APIs in channels.c.
8347
8348 Rework sshd_config PermitOpen handling: previously the configuration
8349 parser would call directly into the channels layer. After the refactor
8350 this is not possible, as the channels structures are allocated at
8351 connection time and aren't available when the configuration is parsed.
8352 The server config parser now tracks PermitOpen itself and explicitly
8353 configures the channels code later.
8354
8355 ok markus@
8356
8357 Upstream-ID: 11828f161656b965cc306576422613614bea2d8f
8358
8359commit abd59663df37a42152e37980113ccaa405b9a282
8360Author: djm@openbsd.org <djm@openbsd.org>
8361Date: Thu Sep 7 23:48:09 2017 +0000
8362
8363 upstream commit
8364
8365 typo in comment
8366
8367 Upstream-ID: a93b1e6f30f1f9b854b5b964b9fd092d0c422c47
8368
8369commit 149a8cd24ce9dd47c36f571738681df5f31a326c
8370Author: jmc@openbsd.org <jmc@openbsd.org>
8371Date: Mon Sep 4 06:34:43 2017 +0000
8372
8373 upstream commit
8374
8375 tweak previous;
8376
8377 Upstream-ID: bb8cc40b61b15f6a13d81da465ac5bfc65cbfc4b
8378
8379commit ec9d22cc251cc5acfe7b2bcef9cc7a1fe0e949d8
8380Author: Damien Miller <djm@mindrot.org>
8381Date: Fri Sep 8 12:44:13 2017 +1000
8382
8383 Fuzzer harnesses for sig verify and pubkey parsing
8384
8385 These are some basic clang libfuzzer harnesses for signature
8386 verification and public key parsing. Some assembly (metaphorical)
8387 required.
8388
8389commit de35c382894964a896a63ecd5607d3a3b93af75d
8390Author: Damien Miller <djm@mindrot.org>
8391Date: Fri Sep 8 12:38:31 2017 +1000
8392
8393 Give configure ability to set CFLAGS/LDFLAGS later
8394
8395 Some CFLAGS/LDFLAGS may disrupt the configure script's operation,
8396 in particular santization and fuzzer options that break assumptions
8397 about memory and file descriptor dispositions.
8398
8399 This adds two flags to configure --with-cflags-after and
8400 --with-ldflags-after that allow specifying additional compiler and
8401 linker options that are added to the resultant Makefiles but not
8402 used in the configure run itself.
8403
8404 E.g.
8405
8406 env CC=clang-3.9 ./configure \
8407 --with-cflags-after=-fsantize=address \
8408 --with-ldflags-after="-g -fsanitize=address"
8409
8410commit 22376d27a349f62c502fec3396dfe0fdcb2a40b7
8411Author: djm@openbsd.org <djm@openbsd.org>
8412Date: Sun Sep 3 23:33:13 2017 +0000
8413
8414 upstream commit
8415
8416 Expand ssh_config's StrictModes option with two new
8417 settings:
8418
8419 StrictModes=accept-new will automatically accept hitherto-unseen keys
8420 but will refuse connections for changed or invalid hostkeys.
8421
8422 StrictModes=off is the same as StrictModes=no
8423
8424 Motivation:
8425
8426 StrictModes=no combines two behaviours for host key processing:
8427 automatically learning new hostkeys and continuing to connect to hosts
8428 with invalid/changed hostkeys. The latter behaviour is quite dangerous
8429 since it removes most of the protections the SSH protocol is supposed to
8430 provide.
8431
8432 Quite a few users want to automatically learn hostkeys however, so
8433 this makes that feature available with less danger.
8434
8435 At some point in the future, StrictModes=no will change to be a synonym
8436 for accept-new, with its current behaviour remaining available via
8437 StrictModes=off.
8438
8439 bz#2400, suggested by Michael Samuel; ok markus
8440
8441 Upstream-ID: 0f55502bf75fc93a74fb9853264a8276b9680b64
8442
8443commit ff3c42384033514e248ba5d7376aa033f4a2b99a
8444Author: jmc@openbsd.org <jmc@openbsd.org>
8445Date: Fri Sep 1 15:41:26 2017 +0000
8446
8447 upstream commit
8448
8449 remove blank line;
8450
8451 Upstream-ID: 2f46b51a0ddb3730020791719e94d3e418e9f423
8452
8453commit b828605d51f57851316d7ba402b4ae06cf37c55d
8454Author: djm@openbsd.org <djm@openbsd.org>
8455Date: Fri Sep 1 05:53:56 2017 +0000
8456
8457 upstream commit
8458
8459 identify the case where SSHFP records are missing but
8460 other DNS RR types are present and display a more useful error message for
8461 this case; patch by Thordur Bjornsson; bz#2501; ok dtucker@
8462
8463 Upstream-ID: 8f7a5a8344f684823d8317a9708b63e75be2c244
8464
8465commit 8042bad97e2789a50e8f742c3bcd665ebf0add32
8466Author: djm@openbsd.org <djm@openbsd.org>
8467Date: Fri Sep 1 05:50:48 2017 +0000
8468
8469 upstream commit
8470
8471 document available AuthenticationMethods; bz#2453 ok
8472 dtucker@
8473
8474 Upstream-ID: 2c70576f237bb699aff59889dbf2acba4276d3d0
8475
8476commit 71e5a536ec815d542b199f2ae6d646c0db9f1b58
8477Author: djm@openbsd.org <djm@openbsd.org>
8478Date: Wed Aug 30 03:59:08 2017 +0000
8479
8480 upstream commit
8481
8482 pass packet state down to some of the channels function
8483 (more to come...); ok markus@
8484
8485 Upstream-ID: d8ce7a94f4059d7ac1e01fb0eb01de0c4b36c81b
8486
8487commit 6227fe5b362239c872b91bbdee4bf63cf85aebc5
8488Author: jmc@openbsd.org <jmc@openbsd.org>
8489Date: Tue Aug 29 13:05:58 2017 +0000
8490
8491 upstream commit
8492
8493 sort options;
8494
8495 Upstream-ID: cf21d68cf54e81968bca629aaeddc87f0c684f3c
8496
8497commit 530591a5795a02d01c78877d58604723918aac87
8498Author: dlg@openbsd.org <dlg@openbsd.org>
8499Date: Tue Aug 29 09:42:29 2017 +0000
8500
8501 upstream commit
8502
8503 add a -q option to ssh-add to make it quiet on success.
8504
8505 if you want to silence ssh-add without this you generally redirect
8506 the output to /dev/null, but that can hide error output which you
8507 should see.
8508
8509 ok djm@
8510
8511 Upstream-ID: 2f31b9b13f99dcf587e9a8ba443458e6c0d8997c
8512
8513commit a54eb27dd64b5eca3ba94e15cec3535124bd5029
8514Author: dtucker@openbsd.org <dtucker@openbsd.org>
8515Date: Sun Aug 27 00:38:41 2017 +0000
8516
8517 upstream commit
8518
8519 Increase the buffer sizes for user prompts to ensure that
8520 they won't be truncated by snprintf. Based on patch from cjwatson at
8521 debian.org via bz#2768, ok djm@
8522
8523 Upstream-ID: 6ffacf1abec8f40b469de5b94bfb29997d96af3e
8524
8525commit dd9d9b3381a4597b840d480b043823112039327e
8526Author: Darren Tucker <dtucker@zip.com.au>
8527Date: Mon Aug 28 16:48:27 2017 +1000
8528
8529 Switch Capsicum header to sys/capsicum.h.
8530
8531 FreeBSD's <sys/capability.h> was renamed to <sys/capsicum.h> in 2014 to
8532 avoid future conflicts with POSIX capabilities (the last release that
8533 didn't have it was 9.3) so switch to that. Patch from des at des.no.
8534
8535commit f5e917ab105af5dd6429348d9bc463e52b263f92
8536Author: Darren Tucker <dtucker@zip.com.au>
8537Date: Sun Aug 27 08:55:40 2017 +1000
8538
8539 Add missing includes for bsd-err.c.
8540
8541 Patch from cjwatson at debian.org via bz#2767.
8542
8543commit 878e029797cfc9754771d6f6ea17f8c89e11d225
8544Author: Damien Miller <djm@mindrot.org>
8545Date: Fri Aug 25 13:25:01 2017 +1000
8546
8547 Split platform_sys_dir_uid into its own file
8548
8549 platform.o is too heavy for libssh.a use; it calls into the server on
8550 many platforms. Move just the function needed by misc.c into its own
8551 file.
8552
8553commit 07949bfe9133234eddd01715592aa0dde67745f0
8554Author: Damien Miller <djm@mindrot.org>
8555Date: Wed Aug 23 20:13:18 2017 +1000
8556
8557 misc.c needs functions from platform.c now
8558
8559commit b074c3c3f820000a21953441cea7699c4b17d72f
8560Author: djm@openbsd.org <djm@openbsd.org>
8561Date: Fri Aug 18 05:48:04 2017 +0000
8562
8563 upstream commit
8564
8565 add a "quiet" flag to exited_cleanly() that supresses
8566 errors about exit status (failure due to signal is still reported)
8567
8568 Upstream-ID: db85c39c3aa08e6ff67fc1fb4ffa89f807a9d2f0
8569
8570commit de4ae07f12dabf8815ecede54235fce5d22e3f63
8571Author: djm@openbsd.org <djm@openbsd.org>
8572Date: Fri Aug 18 05:36:45 2017 +0000
8573
8574 upstream commit
8575
8576 Move several subprocess-related functions from various
8577 locations to misc.c. Extend subprocess() to offer a little more control over
8578 stdio disposition.
8579
8580 feedback & ok dtucker@
8581
8582 Upstream-ID: 3573dd7109d13ef9bd3bed93a3deb170fbfce049
8583
8584commit 643c2ad82910691b2240551ea8b14472f60b5078
8585Author: djm@openbsd.org <djm@openbsd.org>
8586Date: Sat Aug 12 06:46:01 2017 +0000
8587
8588 upstream commit
8589
8590 make "--" before the hostname terminate command-line
8591 option processing completely; previous behaviour would not prevent further
8592 options appearing after the hostname (ssh has a supported options after the
8593 hostname for >20 years, so that's too late to change).
8594
8595 ok deraadt@
8596
8597 Upstream-ID: ef5ee50571b98ad94dcdf8282204e877ec88ad89
8598
8599commit 0f3455356bc284d7c6f4d3c1614d31161bd5dcc2
8600Author: djm@openbsd.org <djm@openbsd.org>
8601Date: Sat Aug 12 06:42:52 2017 +0000
8602
8603 upstream commit
8604
8605 Switch from aes256-cbc to aes256-ctr for encrypting
8606 new-style private keys. The latter having the advantage of being supported
8607 for no-OpenSSL builds; bz#2754 ok markus@
8608
8609 Upstream-ID: 54179a2afd28f93470471030567ac40431e56909
8610
8611commit c4972d0a9bd6f898462906b4827e09b7caea2d9b
8612Author: djm@openbsd.org <djm@openbsd.org>
8613Date: Fri Aug 11 04:47:12 2017 +0000
8614
8615 upstream commit
8616
8617 refuse to a private keys when its corresponding .pub key
8618 does not match. bz#2737 ok dtucker@
8619
8620 Upstream-ID: 54ff5e2db00037f9db8d61690f26ef8f16e0d913
8621
8622commit 4b3ecbb663c919132dddb3758e17a23089413519
8623Author: djm@openbsd.org <djm@openbsd.org>
8624Date: Fri Aug 11 04:41:08 2017 +0000
8625
8626 upstream commit
8627
8628 don't print verbose error message when ssh disconnects
8629 under sftp; bz#2750; ok dtucker@
8630
8631 Upstream-ID: 6d83708aed77b933c47cf155a87dc753ec01f370
8632
8633commit 42a8f8bc288ef8cac504c5c73f09ed610bc74a34
8634Author: dtucker@openbsd.org <dtucker@openbsd.org>
8635Date: Fri Aug 11 04:16:35 2017 +0000
8636
8637 upstream commit
8638
8639 Tweak previous keepalive commit: if last_time + keepalive
8640 <= now instead of just "<" so client_alive_check will fire if the select
8641 happens to return on exact second of the timeout. ok djm@
8642
8643 Upstream-ID: e02756bd6038d11bb8522bfd75a4761c3a684fcc
8644
8645commit b60ff20051ef96dfb207b6bfa45c0ad6c34a542a
8646Author: dtucker@openbsd.org <dtucker@openbsd.org>
8647Date: Fri Aug 11 03:58:36 2017 +0000
8648
8649 upstream commit
8650
8651 Keep track of the last time we actually heard from the
8652 client and use this to also schedule a client_alive_check(). Prevents
8653 activity on a forwarded port from indefinitely preventing the select timeout
8654 so that client_alive_check() will eventually (although not optimally) be
8655 called.
8656
8657 Analysis by willchan at google com via bz#2756, feedback & ok djm@
8658
8659 Upstream-ID: c08721e0bbda55c6d18e2760f3fe1b17fb71169e
8660
8661commit 94bc1e7ffba3cbdea8c7dcdab8376bf29283128f
8662Author: Damien Miller <djm@mindrot.org>
8663Date: Fri Jul 28 14:50:59 2017 +1000
8664
8665 Expose list of completed auth methods to PAM
8666
8667 bz#2408; ok dtucker@
8668
8669commit c78e6eec78c88acf8d51db90ae05a3e39458603d
8670Author: Damien Miller <djm@mindrot.org>
8671Date: Fri Jul 21 14:38:16 2017 +1000
8672
8673 fix problems in tunnel forwarding portability code
8674
8675 This fixes a few problems in the tun forwarding code, mostly to do
8676 with host/network byte order confusion.
8677
8678 Based on a report and patch by stepe AT centaurus.uberspace.de;
8679 bz#2735; ok dtucker@
8680
8681commit 2985d4062ebf4204bbd373456a810d558698f9f5
8682Author: dtucker@openbsd.org <dtucker@openbsd.org>
8683Date: Tue Jul 25 09:22:25 2017 +0000
8684
8685 upstream commit
8686
8687 Make WinSCP patterns for SSH_OLD_DHGEX more specific to
8688 exclude WinSCP 5.10.x and up. bz#2748, from martin at winscp.net, ok djm@
8689
8690 Upstream-ID: 6fd7c32e99af3952db007aa180e73142ddbc741a
8691
8692commit 9f0e44e1a0439ff4646495d5735baa61138930a9
8693Author: djm@openbsd.org <djm@openbsd.org>
8694Date: Mon Jul 24 04:34:28 2017 +0000
8695
8696 upstream commit
8697
8698 g/c unused variable; make a little more portable
8699
8700 Upstream-ID: 3f5980481551cb823c6fb2858900f93fa9217dea
8701
8702commit 51676ec61491ec6d7cbd06082034e29b377b3bf6
8703Author: djm@openbsd.org <djm@openbsd.org>
8704Date: Sun Jul 23 23:37:02 2017 +0000
8705
8706 upstream commit
8707
8708 Allow IPQoS=none in ssh/sshd to not set an explicit
8709 ToS/DSCP value and just use the operating system default; ok dtucker@
8710
8711 Upstream-ID: 77906ff8c7b660b02ba7cb1e47b17d66f54f1f7e
8712
8713commit 6c1fbd5a50d8d2415f06c920dd3b1279b741072d
8714Author: Damien Miller <djm@mindrot.org>
8715Date: Fri Jul 21 14:24:26 2017 +1000
8716
8717 mention libedit
8718
8719commit dc2bd308768386b02c7337120203ca477e67ba62
8720Author: markus@openbsd.org <markus@openbsd.org>
8721Date: Wed Jul 19 08:30:41 2017 +0000
8722
8723 upstream commit
8724
8725 fix support for unknown key types; ok djm@
8726
8727 Upstream-ID: 53fb29394ed04d616d65b3748dee5aa06b07ab48
8728
8729commit fd0e8fa5f89d21290b1fb5f9d110ca4f113d81d9
8730Author: djm@openbsd.org <djm@openbsd.org>
8731Date: Wed Jul 19 01:15:02 2017 +0000
8732
8733 upstream commit
8734
8735 switch from select() to poll() for the ssh-agent
8736 mainloop; ok markus
8737
8738 Upstream-ID: 4a94888ee67b3fd948fd10693973beb12f802448
8739
8740commit b1e72df2b813ecc15bd0152167bf4af5f91c36d3
8741Author: dtucker@openbsd.org <dtucker@openbsd.org>
8742Date: Fri Jul 14 03:18:21 2017 +0000
8743
8744 upstream commit
8745
8746 Make ""Killed by signal 1" LogLevel verbose so it's not
8747 shown at the default level. Prevents it from appearing during ssh -J and
8748 equivalent ProxyCommand configs. bz#1906, bz#2744, feedback&ok markus@
8749
8750 Upstream-ID: debfaa7e859b272246c2f2633335d288d2e2ae28
8751
8752commit 1f3d202770a08ee6752ed2a234b7ca6f180eb498
8753Author: jmc@openbsd.org <jmc@openbsd.org>
8754Date: Thu Jul 13 19:16:33 2017 +0000
8755
8756 upstream commit
8757
8758 man pages with pseudo synopses which list filenames end
8759 up creating very ugly output in man -k; after some discussion with ingo, we
8760 feel the simplest fix is to remove such SYNOPSIS sections: the info is hardly
8761 helpful at page top, is contained already in FILES, and there are
8762 sufficiently few that just zapping them is simple;
8763
8764 ok schwarze, who also helpfully ran things through a build to check
8765 output;
8766
8767 Upstream-ID: 3e211b99457e2f4c925c5927d608e6f97431336c
8768
8769commit 7f13a4827fb28957161de4249bd6d71954f1f2ed
8770Author: espie@openbsd.org <espie@openbsd.org>
8771Date: Mon Jul 10 14:09:59 2017 +0000
8772
8773 upstream commit
8774
8775 zap redundant Makefile variables. okay djm@
8776
8777 Upstream-ID: e39b3902fe1d6c4a7ba6a3c58e072219f3c1e604
8778
8779commit dc44dd3a9e2c9795394e6a7e1e71c929cbc70ce0
8780Author: jmc@openbsd.org <jmc@openbsd.org>
8781Date: Sat Jul 8 18:32:54 2017 +0000
8782
8783 upstream commit
8784
8785 slightly rework previous, to avoid an article issue;
8786
8787 Upstream-ID: 15a315f0460ddd3d4e2ade1f16d6c640a8c41b30
8788
8789commit 853edbe057a84ebd0024c8003e4da21bf2b469f7
8790Author: djm@openbsd.org <djm@openbsd.org>
8791Date: Fri Jul 7 03:53:12 2017 +0000
8792
8793 upstream commit
8794
8795 When generating all hostkeys (ssh-keygen -A), clobber
8796 existing keys if they exist but are zero length. zero-length keys could
8797 previously be made if ssh-keygen failed part way through generating them, so
8798 avoid that case too. bz#2561 reported by Krzysztof Cieplucha; ok dtucker@
8799
8800 Upstream-ID: f662201c28ab8e1f086b5d43c59cddab5ade4044
8801
8802commit 43616876ba68a2ffaece6a6c792def4b039f2d6e
8803Author: djm@openbsd.org <djm@openbsd.org>
8804Date: Sat Jul 1 22:55:44 2017 +0000
8805
8806 upstream commit
8807
8808 actually remove these files
8809
8810 Upstream-ID: 1bd41cba06a7752de4df304305a8153ebfb6b0ac
8811
8812commit 83fa3a044891887369ce8b487ce88d713a04df48
8813Author: djm@openbsd.org <djm@openbsd.org>
8814Date: Sat Jul 1 13:50:45 2017 +0000
8815
8816 upstream commit
8817
8818 remove post-SSHv1 removal dead code from rsa.c and merge
8819 the remaining bit that it still used into ssh-rsa.c; ok markus
8820
8821 Upstream-ID: ac8a048d24dcd89594b0052ea5e3404b473bfa2f
8822
8823commit 738c73dca2c99ee78c531b4cbeefc2008fe438f0
8824Author: Damien Miller <djm@mindrot.org>
8825Date: Fri Jul 14 14:26:36 2017 +1000
8826
8827 make explicit_bzero/memset safe for sz=0
8828
8829commit 8433d51e067e0829f5521c0c646b6fd3fe17e732
8830Author: Tim Rice <tim@multitalents.net>
8831Date: Tue Jul 11 18:47:56 2017 -0700
8832
8833 modified: configure.ac
8834 UnixWare needs BROKEN_TCGETATTR_ICANON like Solaris
8835 Analysis by Robbie Zhang
8836
8837commit ff3507aea9c7d30cd098e7801e156c68faff7cc7
8838Author: Damien Miller <djm@mindrot.org>
8839Date: Fri Jul 7 11:21:27 2017 +1000
8840
8841 typo
8842
8843commit d79bceb9311a9c137d268f5bc481705db4151810
8844Author: dtucker@openbsd.org <dtucker@openbsd.org>
8845Date: Fri Jun 30 04:17:23 2017 +0000
8846
8847 upstream commit
8848
8849 Only call close once in confree(). ssh_packet_close will
8850 close the FD so only explicitly close non-SSH channels. bz#2734, from
8851 bagajjal at microsoft.com, ok djm@
8852
8853 Upstream-ID: a81ce0c8b023527167739fccf1732b154718ab02
8854
8855commit 197dc9728f062e23ce374f44c95a2b5f9ffa4075
8856Author: Darren Tucker <dtucker@zip.com.au>
8857Date: Thu Jun 29 15:40:25 2017 +1000
8858
8859 Update link for my patches.
8860
8861commit a98339edbc1fc21342a390f345179a9c3031bef7
8862Author: djm@openbsd.org <djm@openbsd.org>
8863Date: Wed Jun 28 01:09:22 2017 +0000
8864
8865 upstream commit
8866
8867 Allow ssh-keygen to use a key held in ssh-agent as a CA when
8868 signing certificates. bz#2377 ok markus
8869
8870 Upstream-ID: fb42e920b592edcbb5b50465739a867c09329c8f
8871
8872commit c9cdef35524bd59007e17d5bd2502dade69e2dfb
8873Author: djm@openbsd.org <djm@openbsd.org>
8874Date: Sat Jun 24 06:35:24 2017 +0000
8875
8876 upstream commit
8877
8878 regress test for ExposeAuthInfo
8879
8880 Upstream-Regress-ID: 190e5b6866376f4061c411ab157ca4d4e7ae86fd
8881
8882commit f17ee61cad25d210edab69d04ed447ad55fe80c1
8883Author: djm@openbsd.org <djm@openbsd.org>
8884Date: Sat Jun 24 07:08:57 2017 +0000
8885
8886 upstream commit
8887
8888 correct env var name
8889
8890 Upstream-ID: 721e761c2b1d6a4dcf700179f16fd53a1dadb313
8891
8892commit 40962198e3b132cecdb32e9350acd4294e6a1082
8893Author: jmc@openbsd.org <jmc@openbsd.org>
8894Date: Sat Jun 24 06:57:04 2017 +0000
8895
8896 upstream commit
8897
8898 spelling;
8899
8900 Upstream-ID: 606f933c8e2d0be902ea663946bc15e3eee40b25
8901
8902commit 33f86265d7e8a0e88d3a81745d746efbdd397370
8903Author: djm@openbsd.org <djm@openbsd.org>
8904Date: Sat Jun 24 06:38:11 2017 +0000
8905
8906 upstream commit
8907
8908 don't pass pointer to struct sshcipher between privsep
8909 processes, just redo the lookup in each using the already-passed cipher name.
8910 bz#2704 based on patch from Brooks Davis; ok markus dtucker
8911
8912 Upstream-ID: 2eab434c09bdf549dafd7da3e32a0d2d540adbe0
8913
8914commit 8f574959272ac7fe9239c4f5d10fd913f8920ab0
8915Author: djm@openbsd.org <djm@openbsd.org>
8916Date: Sat Jun 24 06:34:38 2017 +0000
8917
8918 upstream commit
8919
8920 refactor authentication logging
8921
8922 optionally record successful auth methods and public credentials
8923 used in a file accessible to user sessions
8924
8925 feedback and ok markus@
8926
8927 Upstream-ID: 090b93036967015717b9a54fd0467875ae9d32fb
8928
8929commit e2004d4bb7eb01c663dd3a3e7eb224f1ccdc9bba
8930Author: jmc@openbsd.org <jmc@openbsd.org>
8931Date: Sat Jun 24 06:28:50 2017 +0000
8932
8933 upstream commit
8934
8935 word fix;
8936
8937 Upstream-ID: 8539bdaf2366603a34a9b2f034527ca13bb795c5
8938
8939commit 4540428cd0adf039bcf5a8a27f2d5cdf09191513
8940Author: djm@openbsd.org <djm@openbsd.org>
8941Date: Sat Jun 24 05:37:44 2017 +0000
8942
8943 upstream commit
8944
8945 switch sshconnect.c from (slightly abused) select() to
8946 poll(); ok deraadt@ a while back
8947
8948 Upstream-ID: efc1937fc591bbe70ac9e9542bb984f354c8c175
8949
8950commit 6f8ca3b92540fa1a9b91670edc98d15448e3d765
8951Author: djm@openbsd.org <djm@openbsd.org>
8952Date: Sat Jun 24 05:35:05 2017 +0000
8953
8954 upstream commit
8955
8956 use HostKeyAlias if specified instead of hostname for
8957 matching host certificate principal names; bz#2728; ok dtucker@
8958
8959 Upstream-ID: dc2e11c83ae9201bbe74872a0c895ae9725536dd
8960
8961commit 8904ffce057b80a7472955f1ec00d7d5c250076c
8962Author: djm@openbsd.org <djm@openbsd.org>
8963Date: Sat Jun 24 05:24:11 2017 +0000
8964
8965 upstream commit
8966
8967 no need to call log_init to reinitialise logged PID in
8968 child sessions, since we haven't called openlog() in log_init() since 1999;
8969 ok markus@
8970
8971 Upstream-ID: 0906e4002af5d83d3d544df75e1187c932a3cf2e
8972
8973commit e238645d789cd7eb47541b66aea2a887ea122c9b
8974Author: mestre@openbsd.org <mestre@openbsd.org>
8975Date: Fri Jun 23 07:24:48 2017 +0000
8976
8977 upstream commit
8978
8979 When using the escape sequence &~ the code path is
8980 client_loop() -> client_simple_escape_filter() -> process_escapes() -> fork()
8981 and the pledge for this path lacks the proc promise and therefore aborts the
8982 process. The solution is to just add proc the promise to this specific
8983 pledge.
8984
8985 Reported by Gregoire Jadi gjadi ! omecha.info
8986 Insight with tb@, OK jca@
8987
8988 Upstream-ID: 63c05e30c28209519f476023b65b0b1b0387a05b
8989
8990commit 5abbb31c4e7a6caa922cc1cbb14e87a77f9d19d3
8991Author: dtucker@openbsd.org <dtucker@openbsd.org>
8992Date: Fri Jun 23 03:30:42 2017 +0000
8993
8994 upstream commit
8995
8996 Import regenerated moduli.
8997
8998 Upstream-ID: b25bf747544265b39af74fe0716dc8d9f5b63b95
8999
9000commit 849c5468b6d9b4365784c5dd88e3f1fb568ba38f
9001Author: dtucker@openbsd.org <dtucker@openbsd.org>
9002Date: Fri Jun 23 03:25:53 2017 +0000
9003
9004 upstream commit
9005
9006 Run the screen twice so we end up with more candidate
9007 groups. ok djm@
9008
9009 Upstream-ID: b92c93266d8234d493857bb822260dacf4366157
9010
9011commit 4626e39c7053c6486c1c8b708ec757e464623f5f
9012Author: dtucker@openbsd.org <dtucker@openbsd.org>
9013Date: Wed Jun 14 00:31:38 2017 +0000
9014
9015 upstream commit
9016
9017 Add user@host prefix to client's "Permisison denied"
9018 messages, useful in particular when using "stacked" connections where it's
9019 not clear which host is denying. bz#2720, ok djm@ markus@
9020
9021 Upstream-ID: de88e1e9dcb050c98e85377482d1287a9fe0d2be
9022
9023commit c948030d54911b2d3cddb96a7a8e9269e15d11cd
9024Author: djm@openbsd.org <djm@openbsd.org>
9025Date: Tue Jun 13 12:13:59 2017 +0000
9026
9027 upstream commit
9028
9029 Do not require that unknown EXT_INFO extension values not
9030 contain \0 characters. This would cause fatal connection errors if an
9031 implementation sent e.g. string-encoded sub-values inside a value.
9032
9033 Reported by Denis Bider; ok markus@
9034
9035 Upstream-ID: 030e10fdc605563c040244c4b4f1d8ae75811a5c
9036
9037commit 6026f48dfca78b713e4a7f681ffa42a0afe0929e
9038Author: djm@openbsd.org <djm@openbsd.org>
9039Date: Tue Jun 13 11:22:15 2017 +0000
9040
9041 upstream commit
9042
9043 missing prototype.
9044
9045 Upstream-ID: f443d2be9910fd2165a0667956d03343c46f66c9
9046
9047commit bcd1485075aa72ba9418003f5cc27af2b049c51b
9048Author: Damien Miller <djm@mindrot.org>
9049Date: Sat Jun 10 23:41:25 2017 +1000
9050
9051 portability for sftp globbed ls sort by mtime
9052
9053 Include replacement timespeccmp() for systems that lack it.
9054 Support time_t struct stat->st_mtime in addition to
9055 timespec stat->st_mtim, as well as unsorted fallback.
9056
9057commit 072e172f1d302d2a2c6043ecbfb4004406717b96
9058Author: djm@openbsd.org <djm@openbsd.org>
9059Date: Sat Jun 10 06:36:46 2017 +0000
9060
9061 upstream commit
9062
9063 print '?' instead of incorrect link count (that the
9064 protocol doesn't provide) for remote listings. bz#2710 ok dtucker@
9065
9066 Upstream-ID: c611f98a66302cea452ef10f13fff8cf0385242e
9067
9068commit 72be5b2f8e7dc37235e8c4b8d0bc7b5ee1301505
9069Author: djm@openbsd.org <djm@openbsd.org>
9070Date: Sat Jun 10 06:33:34 2017 +0000
9071
9072 upstream commit
9073
9074 implement sorting for globbed ls; bz#2649 ok dtucker@
9075
9076 Upstream-ID: ed3110f351cc9703411bf847ba864041fb7216a8
9077
9078commit 5b2f34a74aa6a524cd57e856b23e1b7b25007721
9079Author: djm@openbsd.org <djm@openbsd.org>
9080Date: Fri Jun 9 06:47:13 2017 +0000
9081
9082 upstream commit
9083
9084 return failure rather than fatal() for more cases during
9085 mux negotiations. Causes the session to fall back to a non-mux connection if
9086 they occur. bz#2707 ok dtucker@
9087
9088 Upstream-ID: d2a7892f464d434e1f615334a1c9d0cdb83b29ab
9089
9090commit 7f5637c4a67a49ef256cb4eedf14e8590ac30976
9091Author: djm@openbsd.org <djm@openbsd.org>
9092Date: Fri Jun 9 06:43:01 2017 +0000
9093
9094 upstream commit
9095
9096 in description of public key authentication, mention that
9097 the server will send debug messages to the client for some error conditions
9098 after authentication has completed. bz#2709 ok dtucker
9099
9100 Upstream-ID: 750127dbd58c5a2672c2d28bc35fe221fcc8d1dd
9101
9102commit 2076e4adb986512ce8c415dd194fd4e52136c4b4
9103Author: djm@openbsd.org <djm@openbsd.org>
9104Date: Fri Jun 9 06:40:24 2017 +0000
9105
9106 upstream commit
9107
9108 better translate libcrypto errors by looking deeper in
9109 the accursed error stack for codes that indicate the wrong passphrase was
9110 supplied for a PEM key. bz#2699 ok dtucker@
9111
9112 Upstream-ID: 4da4286326d570f4f0489459bb71f6297e54b681
9113
9114commit ad0531614cbe8ec424af3c0fa90c34a8e1ebee4c
9115Author: dtucker@openbsd.org <dtucker@openbsd.org>
9116Date: Fri Jun 9 04:40:04 2017 +0000
9117
9118 upstream commit
9119
9120 Add comments referring to the relevant RFC sections for
9121 rekeying behaviour.
9122
9123 Upstream-ID: 6fc8e82485757a27633f9175ad00468f49a07d40
9124
9125commit ce9134260b9b1247e2385a1afed00c26112ba479
9126Author: Damien Miller <djm@mindrot.org>
9127Date: Fri Jun 9 14:43:47 2017 +1000
9128
9129 drop two more privileges in the Solaris sandbox
9130
9131 Drop PRIV_DAX_ACCESS and PRIV_SYS_IB_INFO.
9132 Patch from huieying.lee AT oracle.com via bz#2723
9133
9134commit e0f609c8a2ab940374689ab8c854199c3c285a76
9135Author: Darren Tucker <dtucker@zip.com.au>
9136Date: Fri Jun 9 13:36:29 2017 +1000
9137
9138 Wrap stdint.h include in #ifdef.
9139
9140commit 1de5e47a85850526a4fdaf77185134046c050f75
9141Author: djm@openbsd.org <djm@openbsd.org>
9142Date: Wed Jun 7 01:48:15 2017 +0000
9143
9144 upstream commit
9145
9146 unbreak after sshv1 purge
9147
9148 Upstream-Regress-ID: 8ea01a92d5f571b9fba88c1463a4254a7552d51b
9149
9150commit 550c053168123fcc0791f9952abad684704b5760
9151Author: dtucker@openbsd.org <dtucker@openbsd.org>
9152Date: Tue Jun 6 09:12:17 2017 +0000
9153
9154 upstream commit
9155
9156 Fix compression output stats broken in rev 1.201. Patch
9157 originally by Russell Coker via Debian bug #797964 and Christoph Biedl. ok
9158 djm@
9159
9160 Upstream-ID: 83a1903b95ec2e4ed100703debb4b4a313b01016
9161
9162commit 55d06c6e72a9abf1c06a7ac2749ba733134a1f39
9163Author: djm@openbsd.org <djm@openbsd.org>
9164Date: Fri Jun 2 06:06:10 2017 +0000
9165
9166 upstream commit
9167
9168 rationalise the long list of manual CDIAGFLAGS that we
9169 add; most of these were redundant to -Wall -Wextra
9170
9171 Upstream-ID: ea80f445e819719ccdcb237022cacfac990fdc5c
9172
9173commit 1527d9f61e6d50f6c2b4a3fa5b45829034b1b0b1
9174Author: djm@openbsd.org <djm@openbsd.org>
9175Date: Thu Jun 1 06:59:21 2017 +0000
9176
9177 upstream commit
9178
9179 no need to bzero allocated space now that we use use
9180 recallocarray; ok deraadt@
9181
9182 Upstream-ID: 53333c62ccf97de60b8cb570608c1ba5ca5803c8
9183
9184commit cc812baf39b93d5355565da98648d8c31f955990
9185Author: djm@openbsd.org <djm@openbsd.org>
9186Date: Thu Jun 1 06:58:25 2017 +0000
9187
9188 upstream commit
9189
9190 unconditionally zero init size of buffer; ok markus@
9191 deraadt@
9192
9193 Upstream-ID: 218963e846d8f26763ba25afe79294547b99da29
9194
9195commit 65eb8fae0d7ba45ef4483a3cf0ae7fd0dbc7c226
9196Author: Damien Miller <djm@mindrot.org>
9197Date: Thu Jun 1 16:25:09 2017 +1000
9198
9199 avoid compiler warning
9200
9201commit 2d75d74272dc2a0521fce13cfe6388800c9a2406
9202Author: djm@openbsd.org <djm@openbsd.org>
9203Date: Thu Jun 1 06:16:43 2017 +0000
9204
9205 upstream commit
9206
9207 some warnings spotted by clang; ok markus@
9208
9209 Upstream-ID: 24381d68ca249c5cee4388ceb0f383fa5b43991b
9210
9211commit 151c6e433a5f5af761c78de87d7b5d30a453cf5e
9212Author: Damien Miller <djm@mindrot.org>
9213Date: Thu Jun 1 15:25:13 2017 +1000
9214
9215 add recallocarray replacement and dependency
9216
9217 recallocarray() needs getpagesize() so add a tiny replacement for that.
9218
9219commit 01e6f78924da308447e71e9a32c8a6104ef4e888
9220Author: Damien Miller <djm@mindrot.org>
9221Date: Thu Jun 1 15:16:24 2017 +1000
9222
9223 add *.0 manpage droppings
9224
9225commit 4b2e2d3fd9dccff357e1e26ce9a5f2e103837a36
9226Author: djm@openbsd.org <djm@openbsd.org>
9227Date: Thu Jun 1 04:51:58 2017 +0000
9228
9229 upstream commit
9230
9231 fix casts re constness
9232
9233 Upstream-ID: e38f2bac162b37dbaf784d349c8327a6626fa266
9234
9235commit 75b8af8de805c0694b37fcf80ce82783b2acc86f
9236Author: markus@openbsd.org <markus@openbsd.org>
9237Date: Wed May 31 10:54:00 2017 +0000
9238
9239 upstream commit
9240
9241 make sure we don't pass a NULL string to vfprintf
9242 (triggered by the principals-command regress test); ok bluhm
9243
9244 Upstream-ID: eb49854f274ab37a0b57056a6af379a0b7111990
9245
9246commit 84008608c9ee944d9f72f5100f31ccff743b10f2
9247Author: markus@openbsd.org <markus@openbsd.org>
9248Date: Wed May 31 10:04:29 2017 +0000
9249
9250 upstream commit
9251
9252 use SO_ZEROIZE for privsep communication (if available)
9253
9254 Upstream-ID: abcbb6d2f8039fc4367a6a78096e5d5c39de4a62
9255
9256commit 9e509d4ec97cb3d71696f1a2f1fdad254cbbce11
9257Author: deraadt@openbsd.org <deraadt@openbsd.org>
9258Date: Wed May 31 09:15:42 2017 +0000
9259
9260 upstream commit
9261
9262 Switch to recallocarray() for a few operations. Both
9263 growth and shrinkage are handled safely, and there also is no need for
9264 preallocation dances. Future changes in this area will be less error prone.
9265 Review and one bug found by markus
9266
9267 Upstream-ID: 822d664d6a5a1d10eccb23acdd53578a679d5065
9268
9269commit dc5dc45662773c0f7745c29cf77ae2d52723e55e
9270Author: deraadt@openbsd.org <deraadt@openbsd.org>
9271Date: Wed May 31 08:58:52 2017 +0000
9272
9273 upstream commit
9274
9275 These shutdown() SHUT_RDWR are not needed before close()
9276 ok djm markus claudio
9277
9278 Upstream-ID: 36f13ae4ba10f5618cb9347933101eb4a98dbcb5
9279
9280commit 1e0cdf8efb745d0d1116e1aa22bdc99ee731695e
9281Author: markus@openbsd.org <markus@openbsd.org>
9282Date: Wed May 31 08:09:45 2017 +0000
9283
9284 upstream commit
9285
9286 clear session keys from memory; ok djm@
9287
9288 Upstream-ID: ecd178819868975affd5fd6637458b7c712b6a0f
9289
9290commit 92e9fe633130376a95dd533df6e5e6a578c1e6b8
9291Author: markus@openbsd.org <markus@openbsd.org>
9292Date: Wed May 31 07:00:13 2017 +0000
9293
9294 upstream commit
9295
9296 remove now obsolete ctx from ssh_dispatch_run; ok djm@
9297
9298 Upstream-ID: 9870aabf7f4d71660c31fda91b942b19a8e68d29
9299
9300commit 17ad5b346043c5bbc5befa864d0dbeb76be39390
9301Author: markus@openbsd.org <markus@openbsd.org>
9302Date: Wed May 31 05:34:14 2017 +0000
9303
9304 upstream commit
9305
9306 use the ssh_dispatch_run_fatal variant
9307
9308 Upstream-ID: 28c5b364e37c755d1b22652b8cd6735a05c625d8
9309
9310commit 39896b777320a6574dd06707aebac5fb98e666da
9311Author: djm@openbsd.org <djm@openbsd.org>
9312Date: Wed May 31 05:08:46 2017 +0000
9313
9314 upstream commit
9315
9316 another ctx => ssh conversion (in GSSAPI code)
9317
9318 Upstream-ID: 4d6574c3948075c60608d8e045af42fe5b5d8ae0
9319
9320commit 6116bd4ed354a71a733c8fd0f0467ce612f12911
9321Author: Damien Miller <djm@mindrot.org>
9322Date: Wed May 31 14:56:07 2017 +1000
9323
9324 fix conversion of kexc25519s.c to struct ssh too
9325
9326 git cvsimport missed this commit for some reason
9327
9328commit d40dbdc85b6fb2fd78485ba02225511b8cbf20d7
9329Author: djm@openbsd.org <djm@openbsd.org>
9330Date: Wed May 31 04:29:44 2017 +0000
9331
9332 upstream commit
9333
9334 spell out that custom options/extensions should follow the
9335 usual SSH naming rules, e.g. "extension@example.com"
9336
9337 Upstream-ID: ab326666d2fad40769ec96b5a6de4015ffd97b8d
9338
9339commit 2a108277f976e8d0955c8b29d1dfde04dcbb3d5b
9340Author: djm@openbsd.org <djm@openbsd.org>
9341Date: Wed May 31 04:17:12 2017 +0000
9342
9343 upstream commit
9344
9345 one more void *ctx => struct ssh *ssh conversion
9346
9347 Upstream-ID: d299d043471c10214cf52c03daa10f1c232759e2
9348
9349commit c04e979503e97f52b750d3b98caa6fe004ab2ab9
9350Author: djm@openbsd.org <djm@openbsd.org>
9351Date: Wed May 31 00:43:04 2017 +0000
9352
9353 upstream commit
9354
9355 fix possible OOB strlen() in SOCKS4A hostname parsing;
9356 ok markus@
9357
9358 Upstream-ID: c67297cbeb0e5a19d81752aa18ec44d31270cd11
9359
9360commit a3bb250c93bfe556838c46ed965066afce61cffa
9361Author: jmc@openbsd.org <jmc@openbsd.org>
9362Date: Tue May 30 19:38:17 2017 +0000
9363
9364 upstream commit
9365
9366 tweak previous;
9367
9368 Upstream-ID: 66987651046c42d142f7318c9695fb81a6d14031
9369
9370commit 1112b534a6a7a07190e497e6bf86b0d5c5fb02dc
9371Author: bluhm@openbsd.org <bluhm@openbsd.org>
9372Date: Tue May 30 18:58:37 2017 +0000
9373
9374 upstream commit
9375
9376 Add RemoteCommand option to specify a command in the
9377 ssh config file instead of giving it on the client's command line. This
9378 command will be executed on the remote host. The feature allows to automate
9379 tasks using ssh config. OK markus@
9380
9381 Upstream-ID: 5d982fc17adea373a9c68cae1021ce0a0904a5ee
9382
9383commit eb272ea4099fd6157846f15c129ac5727933aa69
9384Author: markus@openbsd.org <markus@openbsd.org>
9385Date: Tue May 30 14:29:59 2017 +0000
9386
9387 upstream commit
9388
9389 switch auth2 to ssh_dispatch API; ok djm@
9390
9391 Upstream-ID: a752ca19e2782900dd83060b5c6344008106215f
9392
9393commit 5a146bbd4fdf5c571f9fb438e5210d28cead76d9
9394Author: markus@openbsd.org <markus@openbsd.org>
9395Date: Tue May 30 14:27:22 2017 +0000
9396
9397 upstream commit
9398
9399 switch auth2-none.c to modern APIs; ok djm@
9400
9401 Upstream-ID: 07252b58e064d332214bcabbeae8e08c44b2001b
9402
9403commit 60306b2d2f029f91927c6aa7c8e08068519a0fa2
9404Author: markus@openbsd.org <markus@openbsd.org>
9405Date: Tue May 30 14:26:49 2017 +0000
9406
9407 upstream commit
9408
9409 switch auth2-passwd.c to modern APIs; ok djm@
9410
9411 Upstream-ID: cba0a8b72b4f97adfb7e3b3fd2f8ba3159981fc7
9412
9413commit eb76698b91338bd798c978d4db2d6af624d185e4
9414Author: markus@openbsd.org <markus@openbsd.org>
9415Date: Tue May 30 14:25:42 2017 +0000
9416
9417 upstream commit
9418
9419 switch auth2-hostbased.c to modern APIs; ok djm@
9420
9421 Upstream-ID: 146af25c36daeeb83d5dbbb8ca52b5d25de88f4e
9422
9423commit 2ae666a8fc20b3b871b2f1b90ad65cc027336ccd
9424Author: markus@openbsd.org <markus@openbsd.org>
9425Date: Tue May 30 14:23:52 2017 +0000
9426
9427 upstream commit
9428
9429 protocol handlers all get struct ssh passed; ok djm@
9430
9431 Upstream-ID: 0ca9ea2a5d01a6d2ded94c5024456a930c5bfb5d
9432
9433commit 94583beb24a6c5fd19cedb9104ab2d2d5cd052b6
9434Author: markus@openbsd.org <markus@openbsd.org>
9435Date: Tue May 30 14:19:15 2017 +0000
9436
9437 upstream commit
9438
9439 ssh: pass struct ssh to auth functions, too; ok djm@
9440
9441 Upstream-ID: d13c509cc782f8f19728fbea47ac7cf36f6e85dd
9442
9443commit 5f4082d886c6173b9e90b9768c9a38a3bfd92c2b
9444Author: markus@openbsd.org <markus@openbsd.org>
9445Date: Tue May 30 14:18:15 2017 +0000
9446
9447 upstream commit
9448
9449 sshd: pass struct ssh to auth functions; ok djm@
9450
9451 Upstream-ID: b00a80c3460884ebcdd14ef550154c761aebe488
9452
9453commit 7da5df11ac788bc1133d8d598d298e33500524cc
9454Author: markus@openbsd.org <markus@openbsd.org>
9455Date: Tue May 30 14:16:41 2017 +0000
9456
9457 upstream commit
9458
9459 remove unused wrapper functions from key.[ch]; ok djm@
9460
9461 Upstream-ID: ea0f4016666a6817fc11f439dd4be06bab69707e
9462
9463commit ff7371afd08ac0bbd957d90451d4dcd0da087ef5
9464Author: markus@openbsd.org <markus@openbsd.org>
9465Date: Tue May 30 14:15:17 2017 +0000
9466
9467 upstream commit
9468
9469 sshkey_new() might return NULL (pkcs#11 code only); ok
9470 djm@
9471
9472 Upstream-ID: de9f2ad4a42c0b430caaa7d08dea7bac943075dd
9473
9474commit beb965bbc5a984fa69fb1e2b45ebe766ae09d1ef
9475Author: markus@openbsd.org <markus@openbsd.org>
9476Date: Tue May 30 14:13:40 2017 +0000
9477
9478 upstream commit
9479
9480 switch sshconnect.c to modern APIs; ok djm@
9481
9482 Upstream-ID: 27be17f84b950d5e139b7a9b281aa487187945ad
9483
9484commit 00ed75c92d1f95fe50032835106c368fa22f0f02
9485Author: markus@openbsd.org <markus@openbsd.org>
9486Date: Tue May 30 14:10:53 2017 +0000
9487
9488 upstream commit
9489
9490 switch auth2-pubkey.c to modern APIs; with & ok djm@
9491
9492 Upstream-ID: 8f08d4316eb1b0c4ffe4a206c05cdd45ed1daf07
9493
9494commit 54d90ace1d3535b44d92a8611952dc109a74a031
9495Author: markus@openbsd.org <markus@openbsd.org>
9496Date: Tue May 30 08:52:19 2017 +0000
9497
9498 upstream commit
9499
9500 switch from Key typedef with struct sshkey; ok djm@
9501
9502 Upstream-ID: 3067d33e04efbe5131ce8f70668c47a58e5b7a1f
9503
9504commit c221219b1fbee47028dcaf66613f4f8d6b7640e9
9505Author: markus@openbsd.org <markus@openbsd.org>
9506Date: Tue May 30 08:49:58 2017 +0000
9507
9508 upstream commit
9509
9510 remove ssh1 references; ok djm@
9511
9512 Upstream-ID: fc23b7578e7b0a8daaec72946d7f5e58ffff5a3d
9513
9514commit afbfa68fa18081ef05a9cd294958509a5d3cda8b
9515Author: markus@openbsd.org <markus@openbsd.org>
9516Date: Tue May 30 08:49:32 2017 +0000
9517
9518 upstream commit
9519
9520 revise sshkey_load_public(): remove ssh1 related
9521 comments, remove extra open()/close() on keyfile, prevent leak of 'pub' if
9522 'keyp' is NULL, replace strlcpy+cat with asprintf; ok djm@
9523
9524 Upstream-ID: 6175e47cab5b4794dcd99c1175549a483ec673ca
9525
9526commit 813f55336a24fdfc45e7ed655fccc7d792e8f859
9527Author: markus@openbsd.org <markus@openbsd.org>
9528Date: Fri May 26 20:34:49 2017 +0000
9529
9530 upstream commit
9531
9532 sshbuf_consume: reset empty buffer; ok djm@
9533
9534 Upstream-ID: 0d4583ba57f69e369d38bbd7843d85cac37fa821
9535
9536commit 6cf711752cc2a7ffaad1fb4de18cae65715ed8bb
9537Author: markus@openbsd.org <markus@openbsd.org>
9538Date: Fri May 26 19:35:50 2017 +0000
9539
9540 upstream commit
9541
9542 remove SSH_CHANNEL_XXX_DRAINING (ssh1 only); ok djm@
9543
9544 Upstream-ID: e2e225b6ac67b84dd024f38819afff2554fafe42
9545
9546commit 364f0d5edea27767fb0f915ea7fc61aded88d3e8
9547Author: markus@openbsd.org <markus@openbsd.org>
9548Date: Fri May 26 19:34:12 2017 +0000
9549
9550 upstream commit
9551
9552 remove channel_input_close_confirmation (ssh1 only); ok
9553 djm@
9554
9555 Upstream-ID: 8e7c8c38f322d255bb0294a5c0ebef53fdf576f1
9556
9557commit 8ba0fd40082751dbbc23a830433488bbfb1abdca
9558Author: djm@openbsd.org <djm@openbsd.org>
9559Date: Fri May 26 01:40:07 2017 +0000
9560
9561 upstream commit
9562
9563 fix references to obsolete v00 cert format; spotted by
9564 Jakub Jelen
9565
9566 Upstream-ID: 7600ce193ab8fd19451acfe24fc2eb39d46b2c4f
9567
9568commit dcc714c65cfb81eb6903095b4590719e8690f3da
9569Author: Mike Frysinger <vapier@chromium.org>
9570Date: Wed May 24 23:21:19 2017 -0400
9571
9572 configure: actually set cache vars when cross-compiling
9573
9574 The cross-compiling fallback message says it's assuming the test
9575 passed, but it didn't actually set the cache var which causes
9576 later tests to fail.
9577
9578commit 947a3e829a5b8832a4768fd764283709a4ca7955
9579Author: djm@openbsd.org <djm@openbsd.org>
9580Date: Sat May 20 02:35:47 2017 +0000
9581
9582 upstream commit
9583
9584 there's no reason to artificially limit the key path
9585 here, just check that it fits PATH_MAX; spotted by Matthew Patton
9586
9587 Upstream-ID: 858addaf2009c9cf04d80164a41b2088edb30b58
9588
9589commit 773224802d7cb250bb8b461546fcce10567b4b2e
9590Author: djm@openbsd.org <djm@openbsd.org>
9591Date: Fri May 19 21:07:17 2017 +0000
9592
9593 upstream commit
9594
9595 Now that we no longer support SSHv1, replace the contents
9596 of this file with a pointer to
9597 https://tools.ietf.org/html/draft-miller-ssh-agent-00 It's better edited,
9598 doesn't need to document stuff we no longer implement and does document stuff
9599 that we do implement (RSA SHA256/512 signature flags)
9600
9601 Upstream-ID: da8cdc46bbcc266efabd565ddddd0d8e556f846e
9602
9603commit 54cd41a4663fad66406dd3c8fe0e4760ccd8a899
9604Author: djm@openbsd.org <djm@openbsd.org>
9605Date: Wed May 17 01:24:17 2017 +0000
9606
9607 upstream commit
9608
9609 allow LogLevel in sshd_config Match blocks; ok dtucker
9610 bz#2717
9611
9612 Upstream-ID: 662e303be63148f47db1aa78ab81c5c2e732baa8
9613
9614commit 277abcda3f1b08d2376686f0ef20320160d4c8ab
9615Author: djm@openbsd.org <djm@openbsd.org>
9616Date: Tue May 16 16:56:15 2017 +0000
9617
9618 upstream commit
9619
9620 remove duplicate check; spotted by Jakub Jelen
9621
9622 Upstream-ID: 30c2996c1767616a8fdc49d4cee088efac69c3b0
9623
9624commit adb47ce839c977fa197e770c1be8f852508d65aa
9625Author: djm@openbsd.org <djm@openbsd.org>
9626Date: Tue May 16 16:54:05 2017 +0000
9627
9628 upstream commit
9629
9630 mention that Ed25519 keys are valid as CA keys; spotted
9631 by Jakub Jelen
9632
9633 Upstream-ID: d3f6db58b30418cb1c3058211b893a1ffed3dfd4
9634
9635commit 6bdf70f01e700348bb4d8c064c31a0ab90896df6
9636Author: Damien Miller <djm@mindrot.org>
9637Date: Tue May 9 14:35:03 2017 +1000
9638
9639 clean up regress files and add a .gitignore
9640
9641commit 7bdb2eeb1d3c26acdc409bd94532eefa252e440b
9642Author: djm@openbsd.org <djm@openbsd.org>
9643Date: Mon May 8 22:57:38 2017 +0000
9644
9645 upstream commit
9646
9647 remove hmac-ripemd160; ok dtucker
9648
9649 Upstream-ID: 896e737ea0bad6e23327d1c127e02d5e9e9c654d
9650
9651commit 5f02bb1f99f70bb422be8a5c2b77ef853f1db554
9652Author: djm@openbsd.org <djm@openbsd.org>
9653Date: Mon May 8 06:11:06 2017 +0000
9654
9655 upstream commit
9656
9657 make requesting bad ECDSA bits yield the same error
9658 (SSH_ERR_KEY_LENGTH) as the same mistake for RSA/DSA
9659
9660 Upstream-ID: bf40d3fee567c271e33f05ef8e4e0fa0b6f0ece6
9661
9662commit d757a4b633e8874629a1442c7c2e7b1b55d28c19
9663Author: djm@openbsd.org <djm@openbsd.org>
9664Date: Mon May 8 06:08:42 2017 +0000
9665
9666 upstream commit
9667
9668 fix for new SSH_ERR_KEY_LENGTH error value
9669
9670 Upstream-Regress-ID: c38a6e6174d4c3feca3518df150d4fbae0dca8dc
9671
9672commit 2e58a69508ac49c02d1bb6057300fa6a76db1045
9673Author: djm@openbsd.org <djm@openbsd.org>
9674Date: Mon May 8 06:03:39 2017 +0000
9675
9676 upstream commit
9677
9678 helps if I commit the correct version of the file. fix
9679 missing return statement.
9680
9681 Upstream-ID: c86394a3beeb1ec6611e659bfa830254f325546c
9682
9683commit effaf526bfa57c0ac9056ca236becf52385ce8af
9684Author: djm@openbsd.org <djm@openbsd.org>
9685Date: Mon May 8 01:52:49 2017 +0000
9686
9687 upstream commit
9688
9689 remove arcfour, blowfish and CAST here too
9690
9691 Upstream-Regress-ID: c613b3bcbef75df1fe84ca4dc2d3ef253dc5e920
9692
9693commit 7461a5bc571696273252df28a1f1578968cae506
9694Author: djm@openbsd.org <djm@openbsd.org>
9695Date: Mon May 8 00:21:36 2017 +0000
9696
9697 upstream commit
9698
9699 I was too aggressive with the scalpel in the last commit;
9700 unbreak sshd, spotted quickly by naddy@
9701
9702 Upstream-ID: fb7e75d2b2c7e6ca57dee00ca645e322dd49adbf
9703
9704commit bd636f40911094a39c2920bf87d2ec340533c152
9705Author: djm@openbsd.org <djm@openbsd.org>
9706Date: Sun May 7 23:15:59 2017 +0000
9707
9708 upstream commit
9709
9710 Refuse RSA keys <1024 bits in length. Improve reporting
9711 for keys that do not meet this requirement. ok markus@
9712
9713 Upstream-ID: b385e2a7b13b1484792ee681daaf79e1e203df6c
9714
9715commit 70c1218fc45757a030285051eb4d209403f54785
9716Author: djm@openbsd.org <djm@openbsd.org>
9717Date: Sun May 7 23:13:42 2017 +0000
9718
9719 upstream commit
9720
9721 Don't offer CBC ciphers by default in the client. ok
9722 markus@
9723
9724 Upstream-ID: 94c9ce8d0d1a085052e11c7f3307950fdc0901ef
9725
9726commit acaf34fd823235d549c633c0146ee03ac5956e82
9727Author: djm@openbsd.org <djm@openbsd.org>
9728Date: Sun May 7 23:12:57 2017 +0000
9729
9730 upstream commit
9731
9732 As promised in last release announcement: remove
9733 support for Blowfish, RC4 and CAST ciphers. ok markus@ deraadt@
9734
9735 Upstream-ID: 21f8facdba3fd8da248df6417000867cec6ba222
9736
9737commit 3e371bd2124427403971db853fb2e36ce789b6fd
9738Author: naddy@openbsd.org <naddy@openbsd.org>
9739Date: Fri May 5 10:42:49 2017 +0000
9740
9741 upstream commit
9742
9743 more simplification and removal of SSHv1-related code;
9744 ok djm@
9745
9746 Upstream-ID: d2f041aa0b79c0ebd98c68a01e5a0bfab2cf3b55
9747
9748commit 2e9c324b3a7f15c092d118c2ac9490939f6228fd
9749Author: naddy@openbsd.org <naddy@openbsd.org>
9750Date: Fri May 5 10:41:58 2017 +0000
9751
9752 upstream commit
9753
9754 remove superfluous protocol 2 mentions; ok jmc@
9755
9756 Upstream-ID: 0aaf7567c9f2e50fac5906b6a500a39c33c4664d
9757
9758commit 744bde79c3361e2153cb395a2ecdcee6c713585d
9759Author: djm@openbsd.org <djm@openbsd.org>
9760Date: Thu May 4 06:10:57 2017 +0000
9761
9762 upstream commit
9763
9764 since a couple of people have asked, leave a comment
9765 explaining why we retain SSH v.1 support in the "delete all keys from agent"
9766 path.
9767
9768 Upstream-ID: 4b42dcfa339813c15fe9248a2c1b7ed41c21bbb4
9769
9770commit 0c378ff6d98d80bc465a4a6a787670fb9cc701ee
9771Author: djm@openbsd.org <djm@openbsd.org>
9772Date: Thu May 4 01:33:21 2017 +0000
9773
9774 upstream commit
9775
9776 another tentacle: cipher_set_key_string() was only ever
9777 used for SSHv1
9778
9779 Upstream-ID: 7fd31eb6c48946f7e7cc12af0699fe8eb637e94a
9780
9781commit 9a82e24b986e3e0dc70849dbb2c19aa6c707b37f
9782Author: naddy@openbsd.org <naddy@openbsd.org>
9783Date: Wed May 3 21:49:18 2017 +0000
9784
9785 upstream commit
9786
9787 restore mistakenly deleted description of the
9788 ConnectionAttempts option ok markus@
9789
9790 Upstream-ID: 943002b1b7c470caea3253ba7b7348c359de0348
9791
9792commit 768405fddf64ff83aa6ef701ebb3c1f82d98a2f3
9793Author: naddy@openbsd.org <naddy@openbsd.org>
9794Date: Wed May 3 21:08:09 2017 +0000
9795
9796 upstream commit
9797
9798 remove miscellaneous SSH1 leftovers; ok markus@
9799
9800 Upstream-ID: af23696022ae4d45a1abc2fb8b490d8d9dd63b7c
9801
9802commit 1a1b24f8229bf7a21f89df21987433283265527a
9803Author: jmc@openbsd.org <jmc@openbsd.org>
9804Date: Wed May 3 10:01:44 2017 +0000
9805
9806 upstream commit
9807
9808 more protocol 1 bits removed; ok djm
9809
9810 Upstream-ID: b5b977eaf756915acb56aef3604a650e27f7c2b9
9811
9812commit 2b6f799e9b230cf13a7eefc05ecead7d8569d6b5
9813Author: jmc@openbsd.org <jmc@openbsd.org>
9814Date: Wed May 3 06:32:02 2017 +0000
9815
9816 upstream commit
9817
9818 more protocol 1 stuff to go; ok djm
9819
9820 Upstream-ID: 307a30441d2edda480fd1661d998d36665671e47
9821
9822commit f10c0d32cde2084d2a0b19bc47d80cb93e85a093
9823Author: jmc@openbsd.org <jmc@openbsd.org>
9824Date: Tue May 2 17:04:09 2017 +0000
9825
9826 upstream commit
9827
9828 rsa1 is no longer valid;
9829
9830 Upstream-ID: 9953d09ed9841c44b7dcf7019fa874783a709d89
9831
9832commit 42b690b4fd0faef78c4d68225948b6e5c46c5163
9833Author: jmc@openbsd.org <jmc@openbsd.org>
9834Date: Tue May 2 14:06:37 2017 +0000
9835
9836 upstream commit
9837
9838 add PubKeyAcceptedKeyTypes to the -o list: scp(1) has
9839 it, so i guess this should too;
9840
9841 Upstream-ID: 7fab32e869ca5831d09ab0c40d210b461d527a2c
9842
9843commit d852603214defd93e054de2877b20cc79c19d0c6
9844Author: jmc@openbsd.org <jmc@openbsd.org>
9845Date: Tue May 2 13:44:51 2017 +0000
9846
9847 upstream commit
9848
9849 remove now obsolete protocol1 options from the -o
9850 lists;
9851
9852 Upstream-ID: 828e478a440bc5f9947672c392420510a362b3dd
9853
9854commit 8b60ce8d8111e604c711c4cdd9579ffe0edced74
9855Author: jmc@openbsd.org <jmc@openbsd.org>
9856Date: Tue May 2 09:05:58 2017 +0000
9857
9858 upstream commit
9859
9860 more -O shuffle; ok djm
9861
9862 Upstream-ID: c239991a3a025cdbb030b73e990188dd9bfbeceb
9863
9864commit 3575f0b12afe6b561681582fd3c34067d1196231
9865Author: djm@openbsd.org <djm@openbsd.org>
9866Date: Tue May 2 08:54:19 2017 +0000
9867
9868 upstream commit
9869
9870 remove -1 / -2 options; pointed out by jmc@
9871
9872 Upstream-ID: 65d2a816000741a95df1c7cfdb5fa8469fcc7daa
9873
9874commit 4f1ca823bad12e4f9614895eefe0d0073b84a28f
9875Author: jmc@openbsd.org <jmc@openbsd.org>
9876Date: Tue May 2 08:06:33 2017 +0000
9877
9878 upstream commit
9879
9880 remove options -12 from usage();
9881
9882 Upstream-ID: db7ceef25132e63b50ed05289bf447fece1d1270
9883
9884commit 6b84897f7fd39956b849eac7810319d8a9958568
9885Author: jmc@openbsd.org <jmc@openbsd.org>
9886Date: Tue May 2 07:13:31 2017 +0000
9887
9888 upstream commit
9889
9890 tidy up -O somewhat; ok djm
9891
9892 Upstream-ID: 804405f716bf7ef15c1f36ab48581ca16aeb4d52
9893
9894commit d1c6b7fdbdfe4a7a37ecd48a97f0796b061c2868
9895Author: djm@openbsd.org <djm@openbsd.org>
9896Date: Mon May 1 22:09:48 2017 +0000
9897
9898 upstream commit
9899
9900 when freeing a bitmap, zero all it bytes; spotted by Ilya
9901 Kaliman
9902
9903 Upstream-ID: 834ac024f2c82389d6ea6b1c7d6701b3836e28e4
9904
9905commit 0f163983016c2988a92e039d18a7569f9ea8e071
9906Author: djm@openbsd.org <djm@openbsd.org>
9907Date: Mon May 1 14:08:26 2017 +0000
9908
9909 upstream commit
9910
9911 this one I did forget to "cvs rm"
9912
9913 Upstream-ID: 5781670c0578fe89663c9085ed3ba477cf7e7913
9914
9915commit 21ed00a8e26fe8a772bcca782175fafc2b0890ed
9916Author: djm@openbsd.org <djm@openbsd.org>
9917Date: Mon May 1 09:27:45 2017 +0000
9918
9919 upstream commit
9920
9921 don't know why cvs didn't exterminate these the first
9922 time around, I use rm -f and everuthing...
9923
9924 pointed out by sobrado@
9925
9926 Upstream-ID: a6c44a0c2885330d322ee01fcfd7f6f209b1e15d
9927
9928commit d29ba6f45086703fdcb894532848ada3427dfde6
9929Author: Darren Tucker <dtucker@zip.com.au>
9930Date: Mon May 1 13:53:07 2017 +1000
9931
9932 Define INT32_MAX and INT64_MAX if needed.
9933
9934commit 329037e389f02ec95c8e16bf93ffede94d3d44ce
9935Author: Darren Tucker <dtucker@zip.com.au>
9936Date: Mon May 1 13:19:41 2017 +1000
9937
9938 Wrap stdint.h in HAVE_STDINT_H
9939
9940commit f382362e8dfb6b277f16779ab1936399d7f2af78
9941Author: djm@openbsd.org <djm@openbsd.org>
9942Date: Mon May 1 02:27:11 2017 +0000
9943
9944 upstream commit
9945
9946 remove unused variable
9947
9948 Upstream-ID: 66011f00819d0e71b14700449a98414033284516
9949
9950commit dd369320d2435b630a5974ab270d686dcd92d024
9951Author: djm@openbsd.org <djm@openbsd.org>
9952Date: Sun Apr 30 23:34:55 2017 +0000
9953
9954 upstream commit
9955
9956 eliminate explicit specification of protocol in tests and
9957 loops over protocol. We only support SSHv2 now.
9958
9959 Upstream-Regress-ID: 0082838a9b8a382b7ee9cbf0c1b9db727784fadd
9960
9961commit 557f921aad004be15805e09fd9572969eb3d9321
9962Author: djm@openbsd.org <djm@openbsd.org>
9963Date: Sun Apr 30 23:33:48 2017 +0000
9964
9965 upstream commit
9966
9967 remove SSHv1 support from unit tests
9968
9969 Upstream-Regress-ID: 395ca2aa48f1f7d23eefff6cb849ea733ca8bbfe
9970
9971commit e77e1562716fb3da413e4c2397811017b762f5e3
9972Author: djm@openbsd.org <djm@openbsd.org>
9973Date: Mon May 1 00:03:18 2017 +0000
9974
9975 upstream commit
9976
9977 fixup setting ciphercontext->plaintext (lost in SSHv1 purge),
9978 though it isn't really used for much anymore.
9979
9980 Upstream-ID: 859b8bce84ff4865b32097db5430349d04b9b747
9981
9982commit f7849e6c83a4e0f602dea6c834a24091c622d68e
9983Author: Damien Miller <djm@mindrot.org>
9984Date: Mon May 1 09:55:56 2017 +1000
9985
9986 remove configure --with-ssh1
9987
9988commit f4a6a88ddb6dba6d2f7bfb9e2c9879fcc9633043
9989Author: djm@openbsd.org <djm@openbsd.org>
9990Date: Sun Apr 30 23:29:10 2017 +0000
9991
9992 upstream commit
9993
9994 flense SSHv1 support from ssh-agent, considerably
9995 simplifying it
9996
9997 ok markus
9998
9999 Upstream-ID: 71d772cdcefcb29f76e01252e8361e6fc2dfc365
10000
10001commit 930e8d2827853bc2e196c20c3e000263cc87fb75
10002Author: djm@openbsd.org <djm@openbsd.org>
10003Date: Sun Apr 30 23:28:41 2017 +0000
10004
10005 upstream commit
10006
10007 obliterate ssh1.h and some dead code that used it
10008
10009 ok markus@
10010
10011 Upstream-ID: 1ca9159a9fb95618f9d51e069ac8e1131a087343
10012
10013commit a3710d5d529a34b8f56aa62db798c70e85d576a0
10014Author: djm@openbsd.org <djm@openbsd.org>
10015Date: Sun Apr 30 23:28:12 2017 +0000
10016
10017 upstream commit
10018
10019 exterminate the -1 flag from scp
10020
10021 ok markus@
10022
10023 Upstream-ID: 26d247f7065da15056b209cef5f594ff591b89db
10024
10025commit aebd0abfaa8a41e75d50f9f7934267b0a2d9acb4
10026Author: djm@openbsd.org <djm@openbsd.org>
10027Date: Sun Apr 30 23:26:54 2017 +0000
10028
10029 upstream commit
10030
10031 purge the last traces of SSHv1 from the TTY modes
10032 handling code
10033
10034 ok markus
10035
10036 Upstream-ID: 963a19f1e06577377c38a3b7ce468f121b966195
10037
10038commit dfa641f758d4b8b2608ab1b00abaf88df0a8e36a
10039Author: djm@openbsd.org <djm@openbsd.org>
10040Date: Sun Apr 30 23:26:16 2017 +0000
10041
10042 upstream commit
10043
10044 remove the (in)famous SSHv1 CRC compensation attack
10045 detector.
10046
10047 Despite your cameo in The Matrix movies, you will not be missed.
10048
10049 ok markus
10050
10051 Upstream-ID: 44261fce51a56d93cdb2af7b6e184be629f667e0
10052
10053commit e5d3bd36ef67d82092861f39b5bf422cb12b31a6
10054Author: djm@openbsd.org <djm@openbsd.org>
10055Date: Sun Apr 30 23:25:03 2017 +0000
10056
10057 upstream commit
10058
10059 undo some local debugging stuff that I committed by
10060 accident
10061
10062 Upstream-ID: fe5b31f69a60d47171836911f144acff77810217
10063
10064commit 3d6d09f2e90f4ad650ebda6520bf2da446f37f14
10065Author: djm@openbsd.org <djm@openbsd.org>
10066Date: Sun Apr 30 23:23:54 2017 +0000
10067
10068 upstream commit
10069
10070 remove SSHv1 support from packet and buffer APIs
10071
10072 ok markus@
10073
10074 Upstream-ID: bfc290053d40b806ecac46317d300677d80e1dc9
10075
10076commit 05164358577c82de18ed7373196bc7dbd8a3f79c
10077Author: djm@openbsd.org <djm@openbsd.org>
10078Date: Sun Apr 30 23:21:54 2017 +0000
10079
10080 upstream commit
10081
10082 remove SSHv1-related buffers from client code
10083
10084 Upstream-ID: dca5d01108f891861ceaf7ba1c0f2eb274e0c7dd
10085
10086commit 873d3e7d9a4707d0934fb4c4299354418f91b541
10087Author: djm@openbsd.org <djm@openbsd.org>
10088Date: Sun Apr 30 23:18:44 2017 +0000
10089
10090 upstream commit
10091
10092 remove KEY_RSA1
10093
10094 ok markus@
10095
10096 Upstream-ID: 7408517b077c892a86b581e19f82a163069bf133
10097
10098commit 788ac799a6efa40517f2ac0d895a610394298ffc
10099Author: djm@openbsd.org <djm@openbsd.org>
10100Date: Sun Apr 30 23:18:22 2017 +0000
10101
10102 upstream commit
10103
10104 remove SSHv1 configuration options and man pages bits
10105
10106 ok markus@
10107
10108 Upstream-ID: 84638c23546c056727b7a7d653c72574e0f19424
10109
10110commit e6882463a8ae0594aacb6d6575a6318a41973d84
10111Author: djm@openbsd.org <djm@openbsd.org>
10112Date: Sun Apr 30 23:17:37 2017 +0000
10113
10114 upstream commit
10115
10116 remove SSH1 make flag and associated files ok markus@
10117
10118 Upstream-ID: ba9feacc5787337c413db7cf26ea3d53f854cfef
10119
10120commit cdccebdf85204bf7542b7fcc1aa2ea3f36661833
10121Author: djm@openbsd.org <djm@openbsd.org>
10122Date: Sun Apr 30 23:15:04 2017 +0000
10123
10124 upstream commit
10125
10126 remove SSHv1 ciphers; ok markus@
10127
10128 Upstream-ID: e5ebc5e540d7f23a8c1266db1839794d4d177890
10129
10130commit 97f4d3083b036ce3e68d6346a6140a22123d5864
10131Author: djm@openbsd.org <djm@openbsd.org>
10132Date: Sun Apr 30 23:13:25 2017 +0000
10133
10134 upstream commit
10135
10136 remove compat20/compat13/compat15 variables
10137
10138 ok markus@
10139
10140 Upstream-ID: 43802c035ceb3fef6c50c400e4ecabf12354691c
10141
10142commit 99f95ba82673d33215dce17bfa1512b57f54ec09
10143Author: djm@openbsd.org <djm@openbsd.org>
10144Date: Sun Apr 30 23:11:45 2017 +0000
10145
10146 upstream commit
10147
10148 remove options.protocol and client Protocol
10149 configuration knob
10150
10151 ok markus@
10152
10153 Upstream-ID: 5a967f5d06e2d004b0235457b6de3a9a314e9366
10154
10155commit 56912dea6ef63dae4eb1194e5d88973a7c6c5740
10156Author: djm@openbsd.org <djm@openbsd.org>
10157Date: Sun Apr 30 23:10:43 2017 +0000
10158
10159 upstream commit
10160
10161 unifdef WITH_SSH1 ok markus@
10162
10163 Upstream-ID: 9716e62a883ef8826c57f4d33b4a81a9cc7755c7
10164
10165commit d4084cd230f7319056559b00db8b99296dad49d5
10166Author: jmc@openbsd.org <jmc@openbsd.org>
10167Date: Sat Apr 29 06:06:01 2017 +0000
10168
10169 upstream commit
10170
10171 tweak previous;
10172
10173 Upstream-ID: a3abc6857455299aa42a046d232b7984568bceb9
10174
10175commit 249516e428e8461b46340a5df5d5ed1fbad2ccce
10176Author: djm@openbsd.org <djm@openbsd.org>
10177Date: Sat Apr 29 04:12:25 2017 +0000
10178
10179 upstream commit
10180
10181 allow ssh-keygen to include arbitrary string or flag
10182 certificate extensions and critical options. ok markus@ dtucker@
10183
10184 Upstream-ID: 2cf28dd6c5489eb9fc136e0b667ac3ea10241646
10185
10186commit 47a287bb6ac936c26b4f3ae63279c02902ded3b9
10187Author: jmc@openbsd.org <jmc@openbsd.org>
10188Date: Fri Apr 28 06:15:03 2017 +0000
10189
10190 upstream commit
10191
10192 sort;
10193
10194 Upstream-ID: 7e6b56e52b039cf44d0418e9de9aca20a2d2d15a
10195
10196commit 36465a76a79ad5040800711b41cf5f32249d5120
10197Author: Darren Tucker <dtucker@zip.com.au>
10198Date: Fri Apr 28 14:44:28 2017 +1000
10199
10200 Typo.
10201
10202 Upstream-Regress-ID: 1e6b51ddf767cbad0a4e63eb08026c127e654308
10203
10204commit 9d18cb7bdeb00b20205fd13d412aae8c0e0457ed
10205Author: Darren Tucker <dtucker@zip.com.au>
10206Date: Fri Apr 28 14:41:17 2017 +1000
10207
10208 Add 2 regress commits I applied by hand.
10209
10210 Upstream-Regress-ID: 30c20180c87cbc99fa1020489fe7fd8245b6420c
10211 Upstream-Regress-ID: 1e6b51ddf767cbad0a4e63eb08026c127e654308
10212
10213commit 9504ea6b27f9f0ece64e88582ebb9235e664a100
10214Author: Darren Tucker <dtucker@zip.com.au>
10215Date: Fri Apr 28 14:33:43 2017 +1000
10216
10217 Merge integrity.sh rev 1.22.
10218
10219 Merge missing bits from Colin Watson's patch in bz#2658 which make integrity
10220 tests more robust against timeouts. ok djm@
10221
10222commit 06ec837a34542627e2183a412d6a9d2236f22140
10223Author: Darren Tucker <dtucker@zip.com.au>
10224Date: Fri Apr 28 14:30:03 2017 +1000
10225
10226 Id sync for integrity.sh rev 1.21 which pulls in some shell portability fixes
10227
10228commit e0194b471efe7d3daedc9cc66686cb1ab69d3be8
10229Author: jsg@openbsd.org <jsg@openbsd.org>
10230Date: Mon Apr 17 11:02:31 2017 +0000
10231
10232 upstream commit
10233
10234 Change COMPILER_VERSION tests which limited additional
10235 warnings to gcc4 to instead skip them on gcc3 as clang can handle
10236 -Wpointer-sign and -Wold-style-definition.
10237
10238 Upstream-Regress-ID: e48d7dc13e48d9334b8195ef884dfbc51316012f
10239
10240commit 6830be90e71f46bcd182a9202b151eaf2b299434
10241Author: djm@openbsd.org <djm@openbsd.org>
10242Date: Fri Apr 28 03:24:53 2017 +0000
10243
10244 upstream commit
10245
10246 include key fingerprint in "Offering public key" debug
10247 message
10248
10249 Upstream-ID: 964749f820c2ed4cf6a866268b1a05e907315c52
10250
10251commit 066437187e16dcafcbc19f9402ef0e6575899b1d
10252Author: millert@openbsd.org <millert@openbsd.org>
10253Date: Fri Apr 28 03:21:12 2017 +0000
10254
10255 upstream commit
10256
10257 Avoid relying on implementation-specific behavior when
10258 detecting whether the timestamp or file size overflowed. If time_t and off_t
10259 are not either 32-bit or 64-bit scp will exit with an error. OK djm@
10260
10261 Upstream-ID: f31caae73ddab6df496b7bbbf7da431e267ad135
10262
10263commit 68d3a2a059183ebd83b15e54984ffaced04d2742
10264Author: dtucker@openbsd.org <dtucker@openbsd.org>
10265Date: Fri Apr 28 03:20:27 2017 +0000
10266
10267 upstream commit
10268
10269 Add SyslogFacility option to ssh(1) matching the
10270 equivalent option in sshd(8). bz#2705, patch from erahn at arista.com, ok
10271 djm@
10272
10273 Upstream-ID: d5115c2c0193ceb056ed857813b2a7222abda9ed
10274
10275commit e13aad66e73a14b062d13aee4e98f1e21a3f6a14
10276Author: jsg@openbsd.org <jsg@openbsd.org>
10277Date: Thu Apr 27 13:40:05 2017 +0000
10278
10279 upstream commit
10280
10281 remove a static array unused since rev 1.306 spotted by
10282 clang ok djm@
10283
10284 Upstream-ID: 249b3eed2446f6074ba2219ccc46919dd235a7b8
10285
10286commit 91bd2181866659f00714903e78e1c3edd4c45f3d
10287Author: millert@openbsd.org <millert@openbsd.org>
10288Date: Thu Apr 27 11:53:12 2017 +0000
10289
10290 upstream commit
10291
10292 Avoid potential signed int overflow when parsing the file
10293 size. Use strtoul() instead of parsing manually. OK djm@
10294
10295 Upstream-ID: 1f82640861c7d905bbb05e7d935d46b0419ced02
10296
10297commit 17a54a03f5a1d35e33cc24e22cd7a9d0f6865dc4
10298Author: Darren Tucker <dtucker@zip.com.au>
10299Date: Tue Apr 25 08:32:27 2017 +1000
10300
10301 Fix typo in "socketcall".
10302
10303 Pointed out by jjelen at redhat.com.
10304
10305commit 8b0eee148f7cf8b248c30d1bae57300f2cc5aafd
10306Author: Darren Tucker <dtucker@zip.com.au>
10307Date: Mon Apr 24 19:40:31 2017 +1000
10308
10309 Deny socketcall in seccomp filter on ppc64le.
10310
10311 OpenSSL is using socket() calls (in FIPS mode) when handling ECDSA keys
10312 in privsep child. The socket() syscall is already denied in the seccomp
10313 filter, but in ppc64le kernel, it is implemented using socketcall()
10314 syscall, which is not denied yet (only SYS_SHUTDOWN is allowed) and
10315 therefore fails hard.
10316
10317 Patch from jjelen at redhat.com.
10318
10319commit f8500b2be599053daa05248a86a743232ec6a536
10320Author: schwarze@openbsd.org <schwarze@openbsd.org>
10321Date: Mon Apr 17 14:31:23 2017 +0000
10322
10323 upstream commit
10324
10325 Recognize nl_langinfo(CODESET) return values "646" and ""
10326 as aliases for "US-ASCII", useful for different versions of NetBSD and
10327 Solaris. Found by dtucker@ and by Tom G. Christensen <tgc at jupiterrise dot
10328 com>. OK dtucker@ deraadt@
10329
10330 Upstream-ID: 38c2133817cbcae75c88c63599ac54228f0fa384
10331
10332commit 7480dfedf8c5c93baaabef444b3def9331e86ad5
10333Author: jsg@openbsd.org <jsg@openbsd.org>
10334Date: Mon Apr 17 11:02:31 2017 +0000
10335
10336 upstream commit
10337
10338 Change COMPILER_VERSION tests which limited additional
10339 warnings to gcc4 to instead skip them on gcc3 as clang can handle
10340 -Wpointer-sign and -Wold-style-definition.
10341
10342 Upstream-ID: 5cbe348aa76dc1adf55be6c0e388fafaa945439a
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 000000000..05b7206df
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,1975 @@
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/* realpath does not work with nonexistent files */
49#undef BROKEN_REALPATH
50
51/* Needed for NeXT */
52#undef BROKEN_SAVED_UIDS
53
54/* Define if your setregid() is broken */
55#undef BROKEN_SETREGID
56
57/* Define if your setresgid() is broken */
58#undef BROKEN_SETRESGID
59
60/* Define if your setresuid() is broken */
61#undef BROKEN_SETRESUID
62
63/* Define if your setreuid() is broken */
64#undef BROKEN_SETREUID
65
66/* LynxOS has broken setvbuf() implementation */
67#undef BROKEN_SETVBUF
68
69/* QNX shadow support is broken */
70#undef BROKEN_SHADOW_EXPIRE
71
72/* Define if your snprintf is busted */
73#undef BROKEN_SNPRINTF
74
75/* strndup broken, see APAR IY61211 */
76#undef BROKEN_STRNDUP
77
78/* strnlen broken, see APAR IY62551 */
79#undef BROKEN_STRNLEN
80
81/* strnvis detected broken */
82#undef BROKEN_STRNVIS
83
84/* tcgetattr with ICANON may hang */
85#undef BROKEN_TCGETATTR_ICANON
86
87/* updwtmpx is broken (if present) */
88#undef BROKEN_UPDWTMPX
89
90/* Define if you have BSD auth support */
91#undef BSD_AUTH
92
93/* Define if you want to specify the path to your lastlog file */
94#undef CONF_LASTLOG_FILE
95
96/* Define if you want to specify the path to your utmp file */
97#undef CONF_UTMP_FILE
98
99/* Define if you want to specify the path to your wtmpx file */
100#undef CONF_WTMPX_FILE
101
102/* Define if you want to specify the path to your wtmp file */
103#undef CONF_WTMP_FILE
104
105/* Define if your platform needs to skip post auth file descriptor passing */
106#undef DISABLE_FD_PASSING
107
108/* Define if you don't want to use lastlog */
109#undef DISABLE_LASTLOG
110
111/* Define if you don't want to use your system's login() call */
112#undef DISABLE_LOGIN
113
114/* Define if you don't want to use pututline() etc. to write [uw]tmp */
115#undef DISABLE_PUTUTLINE
116
117/* Define if you don't want to use pututxline() etc. to write [uw]tmpx */
118#undef DISABLE_PUTUTXLINE
119
120/* Define if you want to disable shadow passwords */
121#undef DISABLE_SHADOW
122
123/* Define if you don't want to use utmp */
124#undef DISABLE_UTMP
125
126/* Define if you don't want to use utmpx */
127#undef DISABLE_UTMPX
128
129/* Define if you don't want to use wtmp */
130#undef DISABLE_WTMP
131
132/* Define if you don't want to use wtmpx */
133#undef DISABLE_WTMPX
134
135/* Enable for PKCS#11 support */
136#undef ENABLE_PKCS11
137
138/* define if fflush(NULL) does not work */
139#undef FFLUSH_NULL_BUG
140
141/* File names may not contain backslash characters */
142#undef FILESYSTEM_NO_BACKSLASH
143
144/* fsid_t has member val */
145#undef FSID_HAS_VAL
146
147/* fsid_t has member __val */
148#undef FSID_HAS___VAL
149
150/* getpgrp takes one arg */
151#undef GETPGRP_VOID
152
153/* Conflicting defs for getspnam */
154#undef GETSPNAM_CONFLICTING_DEFS
155
156/* Define if your system glob() function has the GLOB_ALTDIRFUNC extension */
157#undef GLOB_HAS_ALTDIRFUNC
158
159/* Define if your system glob() function has gl_matchc options in glob_t */
160#undef GLOB_HAS_GL_MATCHC
161
162/* Define if your system glob() function has gl_statv options in glob_t */
163#undef GLOB_HAS_GL_STATV
164
165/* Define this if you want GSSAPI support in the version 2 protocol */
166#undef GSSAPI
167
168/* Define if you want to use shadow password expire field */
169#undef HAS_SHADOW_EXPIRE
170
171/* Define if your system uses access rights style file descriptor passing */
172#undef HAVE_ACCRIGHTS_IN_MSGHDR
173
174/* Define if you have ut_addr in utmp.h */
175#undef HAVE_ADDR_IN_UTMP
176
177/* Define if you have ut_addr in utmpx.h */
178#undef HAVE_ADDR_IN_UTMPX
179
180/* Define if you have ut_addr_v6 in utmp.h */
181#undef HAVE_ADDR_V6_IN_UTMP
182
183/* Define if you have ut_addr_v6 in utmpx.h */
184#undef HAVE_ADDR_V6_IN_UTMPX
185
186/* Define to 1 if you have the `arc4random' function. */
187#undef HAVE_ARC4RANDOM
188
189/* Define to 1 if you have the `arc4random_buf' function. */
190#undef HAVE_ARC4RANDOM_BUF
191
192/* Define to 1 if you have the `arc4random_stir' function. */
193#undef HAVE_ARC4RANDOM_STIR
194
195/* Define to 1 if you have the `arc4random_uniform' function. */
196#undef HAVE_ARC4RANDOM_UNIFORM
197
198/* Define to 1 if you have the `asprintf' function. */
199#undef HAVE_ASPRINTF
200
201/* OpenBSD's gcc has bounded */
202#undef HAVE_ATTRIBUTE__BOUNDED__
203
204/* Have attribute nonnull */
205#undef HAVE_ATTRIBUTE__NONNULL__
206
207/* OpenBSD's gcc has sentinel */
208#undef HAVE_ATTRIBUTE__SENTINEL__
209
210/* Define to 1 if you have the `aug_get_machine' function. */
211#undef HAVE_AUG_GET_MACHINE
212
213/* Define to 1 if you have the `b64_ntop' function. */
214#undef HAVE_B64_NTOP
215
216/* Define to 1 if you have the `b64_pton' function. */
217#undef HAVE_B64_PTON
218
219/* Define if you have the basename function. */
220#undef HAVE_BASENAME
221
222/* Define to 1 if you have the `bcopy' function. */
223#undef HAVE_BCOPY
224
225/* Define to 1 if you have the `bcrypt_pbkdf' function. */
226#undef HAVE_BCRYPT_PBKDF
227
228/* Define to 1 if you have the `bindresvport_sa' function. */
229#undef HAVE_BINDRESVPORT_SA
230
231/* Define to 1 if you have the `blf_enc' function. */
232#undef HAVE_BLF_ENC
233
234/* Define to 1 if you have the <blf.h> header file. */
235#undef HAVE_BLF_H
236
237/* Define to 1 if you have the `Blowfish_expand0state' function. */
238#undef HAVE_BLOWFISH_EXPAND0STATE
239
240/* Define to 1 if you have the `Blowfish_expandstate' function. */
241#undef HAVE_BLOWFISH_EXPANDSTATE
242
243/* Define to 1 if you have the `Blowfish_initstate' function. */
244#undef HAVE_BLOWFISH_INITSTATE
245
246/* Define to 1 if you have the `Blowfish_stream2word' function. */
247#undef HAVE_BLOWFISH_STREAM2WORD
248
249/* Define to 1 if you have the `BN_is_prime_ex' function. */
250#undef HAVE_BN_IS_PRIME_EX
251
252/* Define to 1 if you have the <bsd/libutil.h> header file. */
253#undef HAVE_BSD_LIBUTIL_H
254
255/* Define to 1 if you have the <bsm/audit.h> header file. */
256#undef HAVE_BSM_AUDIT_H
257
258/* Define to 1 if you have the <bstring.h> header file. */
259#undef HAVE_BSTRING_H
260
261/* Define to 1 if you have the `bzero' function. */
262#undef HAVE_BZERO
263
264/* calloc(0, x) returns NULL */
265#undef HAVE_CALLOC
266
267/* Define to 1 if you have the `cap_rights_limit' function. */
268#undef HAVE_CAP_RIGHTS_LIMIT
269
270/* Define to 1 if you have the `clock' function. */
271#undef HAVE_CLOCK
272
273/* Have clock_gettime */
274#undef HAVE_CLOCK_GETTIME
275
276/* define if you have clock_t data type */
277#undef HAVE_CLOCK_T
278
279/* Define to 1 if you have the `closefrom' function. */
280#undef HAVE_CLOSEFROM
281
282/* Define if gai_strerror() returns const char * */
283#undef HAVE_CONST_GAI_STRERROR_PROTO
284
285/* Define if your system uses ancillary data style file descriptor passing */
286#undef HAVE_CONTROL_IN_MSGHDR
287
288/* Define to 1 if you have the `crypt' function. */
289#undef HAVE_CRYPT
290
291/* Define to 1 if you have the <crypto/sha2.h> header file. */
292#undef HAVE_CRYPTO_SHA2_H
293
294/* Define to 1 if you have the <crypt.h> header file. */
295#undef HAVE_CRYPT_H
296
297/* Define if you are on Cygwin */
298#undef HAVE_CYGWIN
299
300/* Define if your libraries define daemon() */
301#undef HAVE_DAEMON
302
303/* Define to 1 if you have the declaration of `AI_NUMERICSERV', and to 0 if
304 you don't. */
305#undef HAVE_DECL_AI_NUMERICSERV
306
307/* Define to 1 if you have the declaration of `authenticate', and to 0 if you
308 don't. */
309#undef HAVE_DECL_AUTHENTICATE
310
311/* Define to 1 if you have the declaration of `bzero', and to 0 if you don't.
312 */
313#undef HAVE_DECL_BZERO
314
315/* Define to 1 if you have the declaration of `GLOB_NOMATCH', and to 0 if you
316 don't. */
317#undef HAVE_DECL_GLOB_NOMATCH
318
319/* Define to 1 if you have the declaration of `GSS_C_NT_HOSTBASED_SERVICE',
320 and to 0 if you don't. */
321#undef HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE
322
323/* Define to 1 if you have the declaration of `howmany', and to 0 if you
324 don't. */
325#undef HAVE_DECL_HOWMANY
326
327/* Define to 1 if you have the declaration of `h_errno', and to 0 if you
328 don't. */
329#undef HAVE_DECL_H_ERRNO
330
331/* Define to 1 if you have the declaration of `loginfailed', and to 0 if you
332 don't. */
333#undef HAVE_DECL_LOGINFAILED
334
335/* Define to 1 if you have the declaration of `loginrestrictions', and to 0 if
336 you don't. */
337#undef HAVE_DECL_LOGINRESTRICTIONS
338
339/* Define to 1 if you have the declaration of `loginsuccess', and to 0 if you
340 don't. */
341#undef HAVE_DECL_LOGINSUCCESS
342
343/* Define to 1 if you have the declaration of `MAXSYMLINKS', and to 0 if you
344 don't. */
345#undef HAVE_DECL_MAXSYMLINKS
346
347/* Define to 1 if you have the declaration of `NFDBITS', and to 0 if you
348 don't. */
349#undef HAVE_DECL_NFDBITS
350
351/* Define to 1 if you have the declaration of `offsetof', and to 0 if you
352 don't. */
353#undef HAVE_DECL_OFFSETOF
354
355/* Define to 1 if you have the declaration of `O_NONBLOCK', and to 0 if you
356 don't. */
357#undef HAVE_DECL_O_NONBLOCK
358
359/* Define to 1 if you have the declaration of `passwdexpired', and to 0 if you
360 don't. */
361#undef HAVE_DECL_PASSWDEXPIRED
362
363/* Define to 1 if you have the declaration of `readv', and to 0 if you don't.
364 */
365#undef HAVE_DECL_READV
366
367/* Define to 1 if you have the declaration of `setauthdb', and to 0 if you
368 don't. */
369#undef HAVE_DECL_SETAUTHDB
370
371/* Define to 1 if you have the declaration of `SHUT_RD', and to 0 if you
372 don't. */
373#undef HAVE_DECL_SHUT_RD
374
375/* Define to 1 if you have the declaration of `writev', and to 0 if you don't.
376 */
377#undef HAVE_DECL_WRITEV
378
379/* Define to 1 if you have the declaration of `_getlong', and to 0 if you
380 don't. */
381#undef HAVE_DECL__GETLONG
382
383/* Define to 1 if you have the declaration of `_getshort', and to 0 if you
384 don't. */
385#undef HAVE_DECL__GETSHORT
386
387/* Define to 1 if you have the `DES_crypt' function. */
388#undef HAVE_DES_CRYPT
389
390/* Define if you have /dev/ptmx */
391#undef HAVE_DEV_PTMX
392
393/* Define if you have /dev/ptc */
394#undef HAVE_DEV_PTS_AND_PTC
395
396/* Define to 1 if you have the `DH_get0_key' function. */
397#undef HAVE_DH_GET0_KEY
398
399/* Define to 1 if you have the `DH_get0_pqg' function. */
400#undef HAVE_DH_GET0_PQG
401
402/* Define to 1 if you have the `DH_set0_key' function. */
403#undef HAVE_DH_SET0_KEY
404
405/* Define to 1 if you have the `DH_set0_pqg' function. */
406#undef HAVE_DH_SET0_PQG
407
408/* Define to 1 if you have the `DH_set_length' function. */
409#undef HAVE_DH_SET_LENGTH
410
411/* Define to 1 if you have the <dirent.h> header file. */
412#undef HAVE_DIRENT_H
413
414/* Define to 1 if you have the `dirfd' function. */
415#undef HAVE_DIRFD
416
417/* Define to 1 if you have the `dirname' function. */
418#undef HAVE_DIRNAME
419
420/* Define to 1 if you have the `DSA_generate_parameters_ex' function. */
421#undef HAVE_DSA_GENERATE_PARAMETERS_EX
422
423/* Define to 1 if you have the `DSA_get0_key' function. */
424#undef HAVE_DSA_GET0_KEY
425
426/* Define to 1 if you have the `DSA_get0_pqg' function. */
427#undef HAVE_DSA_GET0_PQG
428
429/* Define to 1 if you have the `DSA_set0_key' function. */
430#undef HAVE_DSA_SET0_KEY
431
432/* Define to 1 if you have the `DSA_set0_pqg' function. */
433#undef HAVE_DSA_SET0_PQG
434
435/* Define to 1 if you have the `DSA_SIG_get0' function. */
436#undef HAVE_DSA_SIG_GET0
437
438/* Define to 1 if you have the `DSA_SIG_set0' function. */
439#undef HAVE_DSA_SIG_SET0
440
441/* Define to 1 if you have the `ECDSA_SIG_get0' function. */
442#undef HAVE_ECDSA_SIG_GET0
443
444/* Define to 1 if you have the `ECDSA_SIG_set0' function. */
445#undef HAVE_ECDSA_SIG_SET0
446
447/* Define to 1 if you have the `EC_KEY_METHOD_new' function. */
448#undef HAVE_EC_KEY_METHOD_NEW
449
450/* Define to 1 if you have the <elf.h> header file. */
451#undef HAVE_ELF_H
452
453/* Define to 1 if you have the `endgrent' function. */
454#undef HAVE_ENDGRENT
455
456/* Define to 1 if you have the <endian.h> header file. */
457#undef HAVE_ENDIAN_H
458
459/* Define to 1 if you have the `endutent' function. */
460#undef HAVE_ENDUTENT
461
462/* Define to 1 if you have the `endutxent' function. */
463#undef HAVE_ENDUTXENT
464
465/* Define to 1 if you have the `err' function. */
466#undef HAVE_ERR
467
468/* Define to 1 if you have the `errx' function. */
469#undef HAVE_ERRX
470
471/* Define to 1 if you have the <err.h> header file. */
472#undef HAVE_ERR_H
473
474/* Define if your system has /etc/default/login */
475#undef HAVE_ETC_DEFAULT_LOGIN
476
477/* Define to 1 if you have the `EVP_CIPHER_CTX_ctrl' function. */
478#undef HAVE_EVP_CIPHER_CTX_CTRL
479
480/* Define to 1 if you have the `EVP_CIPHER_CTX_get_iv' function. */
481#undef HAVE_EVP_CIPHER_CTX_GET_IV
482
483/* Define to 1 if you have the `EVP_CIPHER_CTX_iv' function. */
484#undef HAVE_EVP_CIPHER_CTX_IV
485
486/* Define to 1 if you have the `EVP_CIPHER_CTX_iv_noconst' function. */
487#undef HAVE_EVP_CIPHER_CTX_IV_NOCONST
488
489/* Define to 1 if you have the `EVP_CIPHER_CTX_set_iv' function. */
490#undef HAVE_EVP_CIPHER_CTX_SET_IV
491
492/* Define to 1 if you have the `EVP_DigestFinal_ex' function. */
493#undef HAVE_EVP_DIGESTFINAL_EX
494
495/* Define to 1 if you have the `EVP_DigestInit_ex' function. */
496#undef HAVE_EVP_DIGESTINIT_EX
497
498/* Define to 1 if you have the `EVP_MD_CTX_cleanup' function. */
499#undef HAVE_EVP_MD_CTX_CLEANUP
500
501/* Define to 1 if you have the `EVP_MD_CTX_copy_ex' function. */
502#undef HAVE_EVP_MD_CTX_COPY_EX
503
504/* Define to 1 if you have the `EVP_MD_CTX_free' function. */
505#undef HAVE_EVP_MD_CTX_FREE
506
507/* Define to 1 if you have the `EVP_MD_CTX_init' function. */
508#undef HAVE_EVP_MD_CTX_INIT
509
510/* Define to 1 if you have the `EVP_MD_CTX_new' function. */
511#undef HAVE_EVP_MD_CTX_NEW
512
513/* Define to 1 if you have the `EVP_PKEY_get0_RSA' function. */
514#undef HAVE_EVP_PKEY_GET0_RSA
515
516/* Define to 1 if you have the `EVP_ripemd160' function. */
517#undef HAVE_EVP_RIPEMD160
518
519/* Define to 1 if you have the `EVP_sha256' function. */
520#undef HAVE_EVP_SHA256
521
522/* Define if you have ut_exit in utmp.h */
523#undef HAVE_EXIT_IN_UTMP
524
525/* Define to 1 if you have the `explicit_bzero' function. */
526#undef HAVE_EXPLICIT_BZERO
527
528/* Define to 1 if you have the `fchmod' function. */
529#undef HAVE_FCHMOD
530
531/* Define to 1 if you have the `fchmodat' function. */
532#undef HAVE_FCHMODAT
533
534/* Define to 1 if you have the `fchown' function. */
535#undef HAVE_FCHOWN
536
537/* Define to 1 if you have the `fchownat' function. */
538#undef HAVE_FCHOWNAT
539
540/* Use F_CLOSEM fcntl for closefrom */
541#undef HAVE_FCNTL_CLOSEM
542
543/* Define to 1 if you have the <fcntl.h> header file. */
544#undef HAVE_FCNTL_H
545
546/* Define to 1 if the system has the type `fd_mask'. */
547#undef HAVE_FD_MASK
548
549/* Define to 1 if you have the <features.h> header file. */
550#undef HAVE_FEATURES_H
551
552/* Define to 1 if you have the <floatingpoint.h> header file. */
553#undef HAVE_FLOATINGPOINT_H
554
555/* Define to 1 if you have the `flock' function. */
556#undef HAVE_FLOCK
557
558/* Define to 1 if you have the `fmt_scaled' function. */
559#undef HAVE_FMT_SCALED
560
561/* Define to 1 if you have the `freeaddrinfo' function. */
562#undef HAVE_FREEADDRINFO
563
564/* Define to 1 if you have the `freezero' function. */
565#undef HAVE_FREEZERO
566
567/* Define to 1 if the system has the type `fsblkcnt_t'. */
568#undef HAVE_FSBLKCNT_T
569
570/* Define to 1 if the system has the type `fsfilcnt_t'. */
571#undef HAVE_FSFILCNT_T
572
573/* Define to 1 if you have the `fstatfs' function. */
574#undef HAVE_FSTATFS
575
576/* Define to 1 if you have the `fstatvfs' function. */
577#undef HAVE_FSTATVFS
578
579/* Define to 1 if you have the `futimes' function. */
580#undef HAVE_FUTIMES
581
582/* Define to 1 if you have the `gai_strerror' function. */
583#undef HAVE_GAI_STRERROR
584
585/* Define to 1 if you have the `getaddrinfo' function. */
586#undef HAVE_GETADDRINFO
587
588/* Define to 1 if you have the `getaudit' function. */
589#undef HAVE_GETAUDIT
590
591/* Define to 1 if you have the `getaudit_addr' function. */
592#undef HAVE_GETAUDIT_ADDR
593
594/* Define to 1 if you have the `getcwd' function. */
595#undef HAVE_GETCWD
596
597/* Define to 1 if you have the `getgrouplist' function. */
598#undef HAVE_GETGROUPLIST
599
600/* Define to 1 if you have the `getgrset' function. */
601#undef HAVE_GETGRSET
602
603/* Define to 1 if you have the `getlastlogxbyname' function. */
604#undef HAVE_GETLASTLOGXBYNAME
605
606/* Define to 1 if you have the `getline' function. */
607#undef HAVE_GETLINE
608
609/* Define to 1 if you have the `getluid' function. */
610#undef HAVE_GETLUID
611
612/* Define to 1 if you have the `getnameinfo' function. */
613#undef HAVE_GETNAMEINFO
614
615/* Define to 1 if you have the `getopt' function. */
616#undef HAVE_GETOPT
617
618/* Define to 1 if you have the <getopt.h> header file. */
619#undef HAVE_GETOPT_H
620
621/* Define if your getopt(3) defines and uses optreset */
622#undef HAVE_GETOPT_OPTRESET
623
624/* Define if your libraries define getpagesize() */
625#undef HAVE_GETPAGESIZE
626
627/* Define to 1 if you have the `getpeereid' function. */
628#undef HAVE_GETPEEREID
629
630/* Define to 1 if you have the `getpeerucred' function. */
631#undef HAVE_GETPEERUCRED
632
633/* Define to 1 if you have the `getpgid' function. */
634#undef HAVE_GETPGID
635
636/* Define to 1 if you have the `getpgrp' function. */
637#undef HAVE_GETPGRP
638
639/* Define to 1 if you have the `getpwanam' function. */
640#undef HAVE_GETPWANAM
641
642/* Define to 1 if you have the `getrandom' function. */
643#undef HAVE_GETRANDOM
644
645/* Define to 1 if you have the `getrlimit' function. */
646#undef HAVE_GETRLIMIT
647
648/* Define if getrrsetbyname() exists */
649#undef HAVE_GETRRSETBYNAME
650
651/* Define to 1 if you have the `getseuserbyname' function. */
652#undef HAVE_GETSEUSERBYNAME
653
654/* Define to 1 if you have the `getsid' function. */
655#undef HAVE_GETSID
656
657/* Define to 1 if you have the `gettimeofday' function. */
658#undef HAVE_GETTIMEOFDAY
659
660/* Define to 1 if you have the `getttyent' function. */
661#undef HAVE_GETTTYENT
662
663/* Define to 1 if you have the `getutent' function. */
664#undef HAVE_GETUTENT
665
666/* Define to 1 if you have the `getutid' function. */
667#undef HAVE_GETUTID
668
669/* Define to 1 if you have the `getutline' function. */
670#undef HAVE_GETUTLINE
671
672/* Define to 1 if you have the `getutxent' function. */
673#undef HAVE_GETUTXENT
674
675/* Define to 1 if you have the `getutxid' function. */
676#undef HAVE_GETUTXID
677
678/* Define to 1 if you have the `getutxline' function. */
679#undef HAVE_GETUTXLINE
680
681/* Define to 1 if you have the `getutxuser' function. */
682#undef HAVE_GETUTXUSER
683
684/* Define to 1 if you have the `get_default_context_with_level' function. */
685#undef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
686
687/* Define to 1 if you have the `glob' function. */
688#undef HAVE_GLOB
689
690/* Define to 1 if you have the <glob.h> header file. */
691#undef HAVE_GLOB_H
692
693/* Define to 1 if you have the `group_from_gid' function. */
694#undef HAVE_GROUP_FROM_GID
695
696/* Define to 1 if you have the <gssapi_generic.h> header file. */
697#undef HAVE_GSSAPI_GENERIC_H
698
699/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */
700#undef HAVE_GSSAPI_GSSAPI_GENERIC_H
701
702/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
703#undef HAVE_GSSAPI_GSSAPI_H
704
705/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */
706#undef HAVE_GSSAPI_GSSAPI_KRB5_H
707
708/* Define to 1 if you have the <gssapi.h> header file. */
709#undef HAVE_GSSAPI_H
710
711/* Define to 1 if you have the <gssapi_krb5.h> header file. */
712#undef HAVE_GSSAPI_KRB5_H
713
714/* Define if HEADER.ad exists in arpa/nameser.h */
715#undef HAVE_HEADER_AD
716
717/* Define to 1 if you have the `HMAC_CTX_init' function. */
718#undef HAVE_HMAC_CTX_INIT
719
720/* Define if you have ut_host in utmp.h */
721#undef HAVE_HOST_IN_UTMP
722
723/* Define if you have ut_host in utmpx.h */
724#undef HAVE_HOST_IN_UTMPX
725
726/* Define to 1 if you have the <iaf.h> header file. */
727#undef HAVE_IAF_H
728
729/* Define to 1 if you have the <ia.h> header file. */
730#undef HAVE_IA_H
731
732/* Define if you have ut_id in utmp.h */
733#undef HAVE_ID_IN_UTMP
734
735/* Define if you have ut_id in utmpx.h */
736#undef HAVE_ID_IN_UTMPX
737
738/* Define to 1 if you have the <ifaddrs.h> header file. */
739#undef HAVE_IFADDRS_H
740
741/* Define to 1 if you have the `inet_aton' function. */
742#undef HAVE_INET_ATON
743
744/* Define to 1 if you have the `inet_ntoa' function. */
745#undef HAVE_INET_NTOA
746
747/* Define to 1 if you have the `inet_ntop' function. */
748#undef HAVE_INET_NTOP
749
750/* Define to 1 if you have the `innetgr' function. */
751#undef HAVE_INNETGR
752
753/* define if you have int64_t data type */
754#undef HAVE_INT64_T
755
756/* Define to 1 if the system has the type `intmax_t'. */
757#undef HAVE_INTMAX_T
758
759/* Define to 1 if you have the <inttypes.h> header file. */
760#undef HAVE_INTTYPES_H
761
762/* define if you have intxx_t data type */
763#undef HAVE_INTXX_T
764
765/* Define to 1 if the system has the type `in_addr_t'. */
766#undef HAVE_IN_ADDR_T
767
768/* Define to 1 if the system has the type `in_port_t'. */
769#undef HAVE_IN_PORT_T
770
771/* Define if you have isblank(3C). */
772#undef HAVE_ISBLANK
773
774/* Define to 1 if you have the `krb5_cc_new_unique' function. */
775#undef HAVE_KRB5_CC_NEW_UNIQUE
776
777/* Define to 1 if you have the `krb5_free_error_message' function. */
778#undef HAVE_KRB5_FREE_ERROR_MESSAGE
779
780/* Define to 1 if you have the `krb5_get_error_message' function. */
781#undef HAVE_KRB5_GET_ERROR_MESSAGE
782
783/* Define to 1 if you have the <langinfo.h> header file. */
784#undef HAVE_LANGINFO_H
785
786/* Define to 1 if you have the <lastlog.h> header file. */
787#undef HAVE_LASTLOG_H
788
789/* Define if you want ldns support */
790#undef HAVE_LDNS
791
792/* Define to 1 if you have the <libaudit.h> header file. */
793#undef HAVE_LIBAUDIT_H
794
795/* Define to 1 if you have the `bsm' library (-lbsm). */
796#undef HAVE_LIBBSM
797
798/* Define to 1 if you have the `crypt' library (-lcrypt). */
799#undef HAVE_LIBCRYPT
800
801/* Define to 1 if you have the `dl' library (-ldl). */
802#undef HAVE_LIBDL
803
804/* Define to 1 if you have the <libgen.h> header file. */
805#undef HAVE_LIBGEN_H
806
807/* Define if system has libiaf that supports set_id */
808#undef HAVE_LIBIAF
809
810/* Define to 1 if you have the `network' library (-lnetwork). */
811#undef HAVE_LIBNETWORK
812
813/* Define to 1 if you have the `pam' library (-lpam). */
814#undef HAVE_LIBPAM
815
816/* Define to 1 if you have the `socket' library (-lsocket). */
817#undef HAVE_LIBSOCKET
818
819/* Define to 1 if you have the <libutil.h> header file. */
820#undef HAVE_LIBUTIL_H
821
822/* Define to 1 if you have the `xnet' library (-lxnet). */
823#undef HAVE_LIBXNET
824
825/* Define to 1 if you have the `z' library (-lz). */
826#undef HAVE_LIBZ
827
828/* Define to 1 if you have the <limits.h> header file. */
829#undef HAVE_LIMITS_H
830
831/* Define to 1 if you have the <linux/audit.h> header file. */
832#undef HAVE_LINUX_AUDIT_H
833
834/* Define to 1 if you have the <linux/filter.h> header file. */
835#undef HAVE_LINUX_FILTER_H
836
837/* Define to 1 if you have the <linux/if_tun.h> header file. */
838#undef HAVE_LINUX_IF_TUN_H
839
840/* Define to 1 if you have the <linux/seccomp.h> header file. */
841#undef HAVE_LINUX_SECCOMP_H
842
843/* Define to 1 if you have the `llabs' function. */
844#undef HAVE_LLABS
845
846/* Define to 1 if you have the <locale.h> header file. */
847#undef HAVE_LOCALE_H
848
849/* Define to 1 if you have the `login' function. */
850#undef HAVE_LOGIN
851
852/* Define to 1 if you have the <login_cap.h> header file. */
853#undef HAVE_LOGIN_CAP_H
854
855/* Define to 1 if you have the `login_getcapbool' function. */
856#undef HAVE_LOGIN_GETCAPBOOL
857
858/* Define to 1 if you have the <login.h> header file. */
859#undef HAVE_LOGIN_H
860
861/* Define to 1 if you have the `logout' function. */
862#undef HAVE_LOGOUT
863
864/* Define to 1 if you have the `logwtmp' function. */
865#undef HAVE_LOGWTMP
866
867/* Define to 1 if the system has the type `long double'. */
868#undef HAVE_LONG_DOUBLE
869
870/* Define to 1 if the system has the type `long long'. */
871#undef HAVE_LONG_LONG
872
873/* Define to 1 if you have the <maillock.h> header file. */
874#undef HAVE_MAILLOCK_H
875
876/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
877 to 0 otherwise. */
878#undef HAVE_MALLOC
879
880/* Define to 1 if you have the `mblen' function. */
881#undef HAVE_MBLEN
882
883/* Define to 1 if you have the `mbtowc' function. */
884#undef HAVE_MBTOWC
885
886/* Define to 1 if you have the `md5_crypt' function. */
887#undef HAVE_MD5_CRYPT
888
889/* Define if you want to allow MD5 passwords */
890#undef HAVE_MD5_PASSWORDS
891
892/* Define to 1 if you have the `memmove' function. */
893#undef HAVE_MEMMOVE
894
895/* Define to 1 if you have the <memory.h> header file. */
896#undef HAVE_MEMORY_H
897
898/* Define to 1 if you have the `memset_s' function. */
899#undef HAVE_MEMSET_S
900
901/* Define to 1 if you have the `mkdtemp' function. */
902#undef HAVE_MKDTEMP
903
904/* define if you have mode_t data type */
905#undef HAVE_MODE_T
906
907/* Some systems put nanosleep outside of libc */
908#undef HAVE_NANOSLEEP
909
910/* Define to 1 if you have the <ndir.h> header file. */
911#undef HAVE_NDIR_H
912
913/* Define to 1 if you have the <netdb.h> header file. */
914#undef HAVE_NETDB_H
915
916/* Define to 1 if you have the <netgroup.h> header file. */
917#undef HAVE_NETGROUP_H
918
919/* Define to 1 if you have the <net/if_tun.h> header file. */
920#undef HAVE_NET_IF_TUN_H
921
922/* Define to 1 if you have the <net/route.h> header file. */
923#undef HAVE_NET_ROUTE_H
924
925/* Define if you are on NeXT */
926#undef HAVE_NEXT
927
928/* Define to 1 if you have the `ngetaddrinfo' function. */
929#undef HAVE_NGETADDRINFO
930
931/* Define to 1 if you have the `nl_langinfo' function. */
932#undef HAVE_NL_LANGINFO
933
934/* Define to 1 if you have the `nsleep' function. */
935#undef HAVE_NSLEEP
936
937/* Define to 1 if you have the `ogetaddrinfo' function. */
938#undef HAVE_OGETADDRINFO
939
940/* Define if you have an old version of PAM which takes only one argument to
941 pam_strerror */
942#undef HAVE_OLD_PAM
943
944/* Define to 1 if you have the `openlog_r' function. */
945#undef HAVE_OPENLOG_R
946
947/* Define to 1 if you have the `openpty' function. */
948#undef HAVE_OPENPTY
949
950/* as a macro */
951#undef HAVE_OPENSSL_ADD_ALL_ALGORITHMS
952
953/* Define to 1 if you have the `OPENSSL_init_crypto' function. */
954#undef HAVE_OPENSSL_INIT_CRYPTO
955
956/* Define to 1 if you have the `OpenSSL_version' function. */
957#undef HAVE_OPENSSL_VERSION
958
959/* Define to 1 if you have the `OpenSSL_version_num' function. */
960#undef HAVE_OPENSSL_VERSION_NUM
961
962/* Define if you have Digital Unix Security Integration Architecture */
963#undef HAVE_OSF_SIA
964
965/* Define to 1 if you have the `pam_getenvlist' function. */
966#undef HAVE_PAM_GETENVLIST
967
968/* Define to 1 if you have the <pam/pam_appl.h> header file. */
969#undef HAVE_PAM_PAM_APPL_H
970
971/* Define to 1 if you have the `pam_putenv' function. */
972#undef HAVE_PAM_PUTENV
973
974/* Define to 1 if you have the <paths.h> header file. */
975#undef HAVE_PATHS_H
976
977/* Define if you have ut_pid in utmp.h */
978#undef HAVE_PID_IN_UTMP
979
980/* define if you have pid_t data type */
981#undef HAVE_PID_T
982
983/* Define to 1 if you have the `pledge' function. */
984#undef HAVE_PLEDGE
985
986/* Define to 1 if you have the `poll' function. */
987#undef HAVE_POLL
988
989/* Define to 1 if you have the <poll.h> header file. */
990#undef HAVE_POLL_H
991
992/* Define to 1 if you have the `prctl' function. */
993#undef HAVE_PRCTL
994
995/* Define to 1 if you have the `priv_basicset' function. */
996#undef HAVE_PRIV_BASICSET
997
998/* Define to 1 if you have the <priv.h> header file. */
999#undef HAVE_PRIV_H
1000
1001/* Define if you have /proc/$pid/fd */
1002#undef HAVE_PROC_PID
1003
1004/* Define to 1 if you have the `pstat' function. */
1005#undef HAVE_PSTAT
1006
1007/* Define to 1 if you have the <pty.h> header file. */
1008#undef HAVE_PTY_H
1009
1010/* Define to 1 if you have the `pututline' function. */
1011#undef HAVE_PUTUTLINE
1012
1013/* Define to 1 if you have the `pututxline' function. */
1014#undef HAVE_PUTUTXLINE
1015
1016/* Define to 1 if you have the `raise' function. */
1017#undef HAVE_RAISE
1018
1019/* Define to 1 if you have the `readpassphrase' function. */
1020#undef HAVE_READPASSPHRASE
1021
1022/* Define to 1 if you have the <readpassphrase.h> header file. */
1023#undef HAVE_READPASSPHRASE_H
1024
1025/* Define to 1 if your system has a GNU libc compatible `realloc' function,
1026 and to 0 otherwise. */
1027#undef HAVE_REALLOC
1028
1029/* Define to 1 if you have the `reallocarray' function. */
1030#undef HAVE_REALLOCARRAY
1031
1032/* Define to 1 if you have the `realpath' function. */
1033#undef HAVE_REALPATH
1034
1035/* Define to 1 if you have the `recallocarray' function. */
1036#undef HAVE_RECALLOCARRAY
1037
1038/* Define to 1 if you have the `recvmsg' function. */
1039#undef HAVE_RECVMSG
1040
1041/* sys/resource.h has RLIMIT_NPROC */
1042#undef HAVE_RLIMIT_NPROC
1043
1044/* Define to 1 if you have the <rpc/types.h> header file. */
1045#undef HAVE_RPC_TYPES_H
1046
1047/* Define to 1 if you have the `rresvport_af' function. */
1048#undef HAVE_RRESVPORT_AF
1049
1050/* Define to 1 if you have the `RSA_generate_key_ex' function. */
1051#undef HAVE_RSA_GENERATE_KEY_EX
1052
1053/* Define to 1 if you have the `RSA_get0_crt_params' function. */
1054#undef HAVE_RSA_GET0_CRT_PARAMS
1055
1056/* Define to 1 if you have the `RSA_get0_factors' function. */
1057#undef HAVE_RSA_GET0_FACTORS
1058
1059/* Define to 1 if you have the `RSA_get0_key' function. */
1060#undef HAVE_RSA_GET0_KEY
1061
1062/* Define to 1 if you have the `RSA_get_default_method' function. */
1063#undef HAVE_RSA_GET_DEFAULT_METHOD
1064
1065/* Define to 1 if you have the `RSA_meth_dup' function. */
1066#undef HAVE_RSA_METH_DUP
1067
1068/* Define to 1 if you have the `RSA_meth_free' function. */
1069#undef HAVE_RSA_METH_FREE
1070
1071/* Define to 1 if you have the `RSA_meth_get_finish' function. */
1072#undef HAVE_RSA_METH_GET_FINISH
1073
1074/* Define to 1 if you have the `RSA_meth_set1_name' function. */
1075#undef HAVE_RSA_METH_SET1_NAME
1076
1077/* Define to 1 if you have the `RSA_meth_set_finish' function. */
1078#undef HAVE_RSA_METH_SET_FINISH
1079
1080/* Define to 1 if you have the `RSA_meth_set_priv_dec' function. */
1081#undef HAVE_RSA_METH_SET_PRIV_DEC
1082
1083/* Define to 1 if you have the `RSA_meth_set_priv_enc' function. */
1084#undef HAVE_RSA_METH_SET_PRIV_ENC
1085
1086/* Define to 1 if you have the `RSA_set0_crt_params' function. */
1087#undef HAVE_RSA_SET0_CRT_PARAMS
1088
1089/* Define to 1 if you have the `RSA_set0_factors' function. */
1090#undef HAVE_RSA_SET0_FACTORS
1091
1092/* Define to 1 if you have the `RSA_set0_key' function. */
1093#undef HAVE_RSA_SET0_KEY
1094
1095/* Define to 1 if you have the <sandbox.h> header file. */
1096#undef HAVE_SANDBOX_H
1097
1098/* Define to 1 if you have the `sandbox_init' function. */
1099#undef HAVE_SANDBOX_INIT
1100
1101/* define if you have sa_family_t data type */
1102#undef HAVE_SA_FAMILY_T
1103
1104/* Define to 1 if you have the `scan_scaled' function. */
1105#undef HAVE_SCAN_SCALED
1106
1107/* Define if you have SecureWare-based protected password database */
1108#undef HAVE_SECUREWARE
1109
1110/* Define to 1 if you have the <security/pam_appl.h> header file. */
1111#undef HAVE_SECURITY_PAM_APPL_H
1112
1113/* Define to 1 if you have the `sendmsg' function. */
1114#undef HAVE_SENDMSG
1115
1116/* Define to 1 if you have the `setauthdb' function. */
1117#undef HAVE_SETAUTHDB
1118
1119/* Define to 1 if you have the `setdtablesize' function. */
1120#undef HAVE_SETDTABLESIZE
1121
1122/* Define to 1 if you have the `setegid' function. */
1123#undef HAVE_SETEGID
1124
1125/* Define to 1 if you have the `setenv' function. */
1126#undef HAVE_SETENV
1127
1128/* Define to 1 if you have the `seteuid' function. */
1129#undef HAVE_SETEUID
1130
1131/* Define to 1 if you have the `setgroupent' function. */
1132#undef HAVE_SETGROUPENT
1133
1134/* Define to 1 if you have the `setgroups' function. */
1135#undef HAVE_SETGROUPS
1136
1137/* Define to 1 if you have the `setlinebuf' function. */
1138#undef HAVE_SETLINEBUF
1139
1140/* Define to 1 if you have the `setlogin' function. */
1141#undef HAVE_SETLOGIN
1142
1143/* Define to 1 if you have the `setluid' function. */
1144#undef HAVE_SETLUID
1145
1146/* Define to 1 if you have the `setpassent' function. */
1147#undef HAVE_SETPASSENT
1148
1149/* Define to 1 if you have the `setpcred' function. */
1150#undef HAVE_SETPCRED
1151
1152/* Define to 1 if you have the `setpflags' function. */
1153#undef HAVE_SETPFLAGS
1154
1155/* Define to 1 if you have the `setppriv' function. */
1156#undef HAVE_SETPPRIV
1157
1158/* Define to 1 if you have the `setproctitle' function. */
1159#undef HAVE_SETPROCTITLE
1160
1161/* Define to 1 if you have the `setregid' function. */
1162#undef HAVE_SETREGID
1163
1164/* Define to 1 if you have the `setresgid' function. */
1165#undef HAVE_SETRESGID
1166
1167/* Define to 1 if you have the `setresuid' function. */
1168#undef HAVE_SETRESUID
1169
1170/* Define to 1 if you have the `setreuid' function. */
1171#undef HAVE_SETREUID
1172
1173/* Define to 1 if you have the `setrlimit' function. */
1174#undef HAVE_SETRLIMIT
1175
1176/* Define to 1 if you have the `setsid' function. */
1177#undef HAVE_SETSID
1178
1179/* Define to 1 if you have the `setutent' function. */
1180#undef HAVE_SETUTENT
1181
1182/* Define to 1 if you have the `setutxdb' function. */
1183#undef HAVE_SETUTXDB
1184
1185/* Define to 1 if you have the `setutxent' function. */
1186#undef HAVE_SETUTXENT
1187
1188/* Define to 1 if you have the `setvbuf' function. */
1189#undef HAVE_SETVBUF
1190
1191/* Define to 1 if you have the `set_id' function. */
1192#undef HAVE_SET_ID
1193
1194/* Define to 1 if you have the `SHA256_Update' function. */
1195#undef HAVE_SHA256_UPDATE
1196
1197/* Define to 1 if you have the <sha2.h> header file. */
1198#undef HAVE_SHA2_H
1199
1200/* Define to 1 if you have the <shadow.h> header file. */
1201#undef HAVE_SHADOW_H
1202
1203/* Define to 1 if you have the `sigaction' function. */
1204#undef HAVE_SIGACTION
1205
1206/* Define to 1 if you have the `sigvec' function. */
1207#undef HAVE_SIGVEC
1208
1209/* Define to 1 if the system has the type `sig_atomic_t'. */
1210#undef HAVE_SIG_ATOMIC_T
1211
1212/* define if you have size_t data type */
1213#undef HAVE_SIZE_T
1214
1215/* Define to 1 if you have the `snprintf' function. */
1216#undef HAVE_SNPRINTF
1217
1218/* Define to 1 if you have the `socketpair' function. */
1219#undef HAVE_SOCKETPAIR
1220
1221/* Have PEERCRED socket option */
1222#undef HAVE_SO_PEERCRED
1223
1224/* define if you have ssize_t data type */
1225#undef HAVE_SSIZE_T
1226
1227/* Fields in struct sockaddr_storage */
1228#undef HAVE_SS_FAMILY_IN_SS
1229
1230/* Define to 1 if you have the `statfs' function. */
1231#undef HAVE_STATFS
1232
1233/* Define to 1 if you have the `statvfs' function. */
1234#undef HAVE_STATVFS
1235
1236/* Define to 1 if you have the <stddef.h> header file. */
1237#undef HAVE_STDDEF_H
1238
1239/* Define to 1 if you have the <stdint.h> header file. */
1240#undef HAVE_STDINT_H
1241
1242/* Define to 1 if you have the <stdlib.h> header file. */
1243#undef HAVE_STDLIB_H
1244
1245/* Define to 1 if you have the `strcasestr' function. */
1246#undef HAVE_STRCASESTR
1247
1248/* Define to 1 if you have the `strdup' function. */
1249#undef HAVE_STRDUP
1250
1251/* Define to 1 if you have the `strerror' function. */
1252#undef HAVE_STRERROR
1253
1254/* Define to 1 if you have the `strftime' function. */
1255#undef HAVE_STRFTIME
1256
1257/* Silly mkstemp() */
1258#undef HAVE_STRICT_MKSTEMP
1259
1260/* Define to 1 if you have the <strings.h> header file. */
1261#undef HAVE_STRINGS_H
1262
1263/* Define to 1 if you have the <string.h> header file. */
1264#undef HAVE_STRING_H
1265
1266/* Define to 1 if you have the `strlcat' function. */
1267#undef HAVE_STRLCAT
1268
1269/* Define to 1 if you have the `strlcpy' function. */
1270#undef HAVE_STRLCPY
1271
1272/* Define to 1 if you have the `strmode' function. */
1273#undef HAVE_STRMODE
1274
1275/* Define to 1 if you have the `strndup' function. */
1276#undef HAVE_STRNDUP
1277
1278/* Define to 1 if you have the `strnlen' function. */
1279#undef HAVE_STRNLEN
1280
1281/* Define to 1 if you have the `strnvis' function. */
1282#undef HAVE_STRNVIS
1283
1284/* Define to 1 if you have the `strptime' function. */
1285#undef HAVE_STRPTIME
1286
1287/* Define to 1 if you have the `strsep' function. */
1288#undef HAVE_STRSEP
1289
1290/* Define to 1 if you have the `strsignal' function. */
1291#undef HAVE_STRSIGNAL
1292
1293/* Define to 1 if you have the `strtoll' function. */
1294#undef HAVE_STRTOLL
1295
1296/* Define to 1 if you have the `strtonum' function. */
1297#undef HAVE_STRTONUM
1298
1299/* Define to 1 if you have the `strtoul' function. */
1300#undef HAVE_STRTOUL
1301
1302/* Define to 1 if you have the `strtoull' function. */
1303#undef HAVE_STRTOULL
1304
1305/* define if you have struct addrinfo data type */
1306#undef HAVE_STRUCT_ADDRINFO
1307
1308/* define if you have struct in6_addr data type */
1309#undef HAVE_STRUCT_IN6_ADDR
1310
1311/* Define to 1 if `pw_change' is a member of `struct passwd'. */
1312#undef HAVE_STRUCT_PASSWD_PW_CHANGE
1313
1314/* Define to 1 if `pw_class' is a member of `struct passwd'. */
1315#undef HAVE_STRUCT_PASSWD_PW_CLASS
1316
1317/* Define to 1 if `pw_expire' is a member of `struct passwd'. */
1318#undef HAVE_STRUCT_PASSWD_PW_EXPIRE
1319
1320/* Define to 1 if `pw_gecos' is a member of `struct passwd'. */
1321#undef HAVE_STRUCT_PASSWD_PW_GECOS
1322
1323/* define if you have struct sockaddr_in6 data type */
1324#undef HAVE_STRUCT_SOCKADDR_IN6
1325
1326/* Define to 1 if `sin6_scope_id' is a member of `struct sockaddr_in6'. */
1327#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
1328
1329/* define if you have struct sockaddr_storage data type */
1330#undef HAVE_STRUCT_SOCKADDR_STORAGE
1331
1332/* Define to 1 if `f_flags' is a member of `struct statfs'. */
1333#undef HAVE_STRUCT_STATFS_F_FLAGS
1334
1335/* Define to 1 if `st_blksize' is a member of `struct stat'. */
1336#undef HAVE_STRUCT_STAT_ST_BLKSIZE
1337
1338/* Define to 1 if `st_mtim' is a member of `struct stat'. */
1339#undef HAVE_STRUCT_STAT_ST_MTIM
1340
1341/* Define to 1 if `st_mtime' is a member of `struct stat'. */
1342#undef HAVE_STRUCT_STAT_ST_MTIME
1343
1344/* Define to 1 if the system has the type `struct timespec'. */
1345#undef HAVE_STRUCT_TIMESPEC
1346
1347/* define if you have struct timeval */
1348#undef HAVE_STRUCT_TIMEVAL
1349
1350/* Define to 1 if you have the `swap32' function. */
1351#undef HAVE_SWAP32
1352
1353/* Define to 1 if you have the `sysconf' function. */
1354#undef HAVE_SYSCONF
1355
1356/* Define if you have syslen in utmpx.h */
1357#undef HAVE_SYSLEN_IN_UTMPX
1358
1359/* Define to 1 if you have the <sys/audit.h> header file. */
1360#undef HAVE_SYS_AUDIT_H
1361
1362/* Define to 1 if you have the <sys/bitypes.h> header file. */
1363#undef HAVE_SYS_BITYPES_H
1364
1365/* Define to 1 if you have the <sys/bsdtty.h> header file. */
1366#undef HAVE_SYS_BSDTTY_H
1367
1368/* Define to 1 if you have the <sys/capsicum.h> header file. */
1369#undef HAVE_SYS_CAPSICUM_H
1370
1371/* Define to 1 if you have the <sys/cdefs.h> header file. */
1372#undef HAVE_SYS_CDEFS_H
1373
1374/* Define to 1 if you have the <sys/dir.h> header file. */
1375#undef HAVE_SYS_DIR_H
1376
1377/* Define if your system defines sys_errlist[] */
1378#undef HAVE_SYS_ERRLIST
1379
1380/* Define to 1 if you have the <sys/file.h> header file. */
1381#undef HAVE_SYS_FILE_H
1382
1383/* Define to 1 if you have the <sys/label.h> header file. */
1384#undef HAVE_SYS_LABEL_H
1385
1386/* Define to 1 if you have the <sys/mman.h> header file. */
1387#undef HAVE_SYS_MMAN_H
1388
1389/* Define to 1 if you have the <sys/mount.h> header file. */
1390#undef HAVE_SYS_MOUNT_H
1391
1392/* Define to 1 if you have the <sys/ndir.h> header file. */
1393#undef HAVE_SYS_NDIR_H
1394
1395/* Define if your system defines sys_nerr */
1396#undef HAVE_SYS_NERR
1397
1398/* Define to 1 if you have the <sys/poll.h> header file. */
1399#undef HAVE_SYS_POLL_H
1400
1401/* Define to 1 if you have the <sys/prctl.h> header file. */
1402#undef HAVE_SYS_PRCTL_H
1403
1404/* Define to 1 if you have the <sys/pstat.h> header file. */
1405#undef HAVE_SYS_PSTAT_H
1406
1407/* Define to 1 if you have the <sys/ptms.h> header file. */
1408#undef HAVE_SYS_PTMS_H
1409
1410/* Define to 1 if you have the <sys/ptrace.h> header file. */
1411#undef HAVE_SYS_PTRACE_H
1412
1413/* Define to 1 if you have the <sys/random.h> header file. */
1414#undef HAVE_SYS_RANDOM_H
1415
1416/* Define to 1 if you have the <sys/select.h> header file. */
1417#undef HAVE_SYS_SELECT_H
1418
1419/* Define to 1 if you have the <sys/statvfs.h> header file. */
1420#undef HAVE_SYS_STATVFS_H
1421
1422/* Define to 1 if you have the <sys/stat.h> header file. */
1423#undef HAVE_SYS_STAT_H
1424
1425/* Define to 1 if you have the <sys/stream.h> header file. */
1426#undef HAVE_SYS_STREAM_H
1427
1428/* Define to 1 if you have the <sys/stropts.h> header file. */
1429#undef HAVE_SYS_STROPTS_H
1430
1431/* Define to 1 if you have the <sys/strtio.h> header file. */
1432#undef HAVE_SYS_STRTIO_H
1433
1434/* Define to 1 if you have the <sys/sysctl.h> header file. */
1435#undef HAVE_SYS_SYSCTL_H
1436
1437/* Force use of sys/syslog.h on Ultrix */
1438#undef HAVE_SYS_SYSLOG_H
1439
1440/* Define to 1 if you have the <sys/sysmacros.h> header file. */
1441#undef HAVE_SYS_SYSMACROS_H
1442
1443/* Define to 1 if you have the <sys/timers.h> header file. */
1444#undef HAVE_SYS_TIMERS_H
1445
1446/* Define to 1 if you have the <sys/time.h> header file. */
1447#undef HAVE_SYS_TIME_H
1448
1449/* Define to 1 if you have the <sys/types.h> header file. */
1450#undef HAVE_SYS_TYPES_H
1451
1452/* Define to 1 if you have the <sys/un.h> header file. */
1453#undef HAVE_SYS_UN_H
1454
1455/* Define to 1 if you have the <sys/vfs.h> header file. */
1456#undef HAVE_SYS_VFS_H
1457
1458/* Define to 1 if you have the `tcgetpgrp' function. */
1459#undef HAVE_TCGETPGRP
1460
1461/* Define to 1 if you have the `tcsendbreak' function. */
1462#undef HAVE_TCSENDBREAK
1463
1464/* Define to 1 if you have the `time' function. */
1465#undef HAVE_TIME
1466
1467/* Define to 1 if you have the <time.h> header file. */
1468#undef HAVE_TIME_H
1469
1470/* Define if you have ut_time in utmp.h */
1471#undef HAVE_TIME_IN_UTMP
1472
1473/* Define if you have ut_time in utmpx.h */
1474#undef HAVE_TIME_IN_UTMPX
1475
1476/* Define to 1 if you have the `timingsafe_bcmp' function. */
1477#undef HAVE_TIMINGSAFE_BCMP
1478
1479/* Define to 1 if you have the <tmpdir.h> header file. */
1480#undef HAVE_TMPDIR_H
1481
1482/* Define to 1 if you have the `truncate' function. */
1483#undef HAVE_TRUNCATE
1484
1485/* Define to 1 if you have the <ttyent.h> header file. */
1486#undef HAVE_TTYENT_H
1487
1488/* Define if you have ut_tv in utmp.h */
1489#undef HAVE_TV_IN_UTMP
1490
1491/* Define if you have ut_tv in utmpx.h */
1492#undef HAVE_TV_IN_UTMPX
1493
1494/* Define if you have ut_type in utmp.h */
1495#undef HAVE_TYPE_IN_UTMP
1496
1497/* Define if you have ut_type in utmpx.h */
1498#undef HAVE_TYPE_IN_UTMPX
1499
1500/* Define to 1 if you have the <ucred.h> header file. */
1501#undef HAVE_UCRED_H
1502
1503/* Define to 1 if the system has the type `uintmax_t'. */
1504#undef HAVE_UINTMAX_T
1505
1506/* define if you have uintxx_t data type */
1507#undef HAVE_UINTXX_T
1508
1509/* Define to 1 if you have the <unistd.h> header file. */
1510#undef HAVE_UNISTD_H
1511
1512/* Define to 1 if you have the `unsetenv' function. */
1513#undef HAVE_UNSETENV
1514
1515/* Define to 1 if the system has the type `unsigned long long'. */
1516#undef HAVE_UNSIGNED_LONG_LONG
1517
1518/* Define to 1 if you have the `updwtmp' function. */
1519#undef HAVE_UPDWTMP
1520
1521/* Define to 1 if you have the `updwtmpx' function. */
1522#undef HAVE_UPDWTMPX
1523
1524/* Define to 1 if you have the <usersec.h> header file. */
1525#undef HAVE_USERSEC_H
1526
1527/* Define to 1 if you have the `user_from_uid' function. */
1528#undef HAVE_USER_FROM_UID
1529
1530/* Define to 1 if you have the `usleep' function. */
1531#undef HAVE_USLEEP
1532
1533/* Define to 1 if you have the <util.h> header file. */
1534#undef HAVE_UTIL_H
1535
1536/* Define to 1 if you have the `utimensat' function. */
1537#undef HAVE_UTIMENSAT
1538
1539/* Define to 1 if you have the `utimes' function. */
1540#undef HAVE_UTIMES
1541
1542/* Define to 1 if you have the <utime.h> header file. */
1543#undef HAVE_UTIME_H
1544
1545/* Define to 1 if you have the `utmpname' function. */
1546#undef HAVE_UTMPNAME
1547
1548/* Define to 1 if you have the `utmpxname' function. */
1549#undef HAVE_UTMPXNAME
1550
1551/* Define to 1 if you have the <utmpx.h> header file. */
1552#undef HAVE_UTMPX_H
1553
1554/* Define to 1 if you have the <utmp.h> header file. */
1555#undef HAVE_UTMP_H
1556
1557/* define if you have u_char data type */
1558#undef HAVE_U_CHAR
1559
1560/* define if you have u_int data type */
1561#undef HAVE_U_INT
1562
1563/* define if you have u_int64_t data type */
1564#undef HAVE_U_INT64_T
1565
1566/* define if you have u_intxx_t data type */
1567#undef HAVE_U_INTXX_T
1568
1569/* Define to 1 if you have the `vasprintf' function. */
1570#undef HAVE_VASPRINTF
1571
1572/* Define if va_copy exists */
1573#undef HAVE_VA_COPY
1574
1575/* Define to 1 if you have the <vis.h> header file. */
1576#undef HAVE_VIS_H
1577
1578/* Define to 1 if you have the `vsnprintf' function. */
1579#undef HAVE_VSNPRINTF
1580
1581/* Define to 1 if you have the `waitpid' function. */
1582#undef HAVE_WAITPID
1583
1584/* Define to 1 if you have the `warn' function. */
1585#undef HAVE_WARN
1586
1587/* Define to 1 if you have the <wchar.h> header file. */
1588#undef HAVE_WCHAR_H
1589
1590/* Define to 1 if you have the `wcwidth' function. */
1591#undef HAVE_WCWIDTH
1592
1593/* Define to 1 if you have the `_getlong' function. */
1594#undef HAVE__GETLONG
1595
1596/* Define to 1 if you have the `_getpty' function. */
1597#undef HAVE__GETPTY
1598
1599/* Define to 1 if you have the `_getshort' function. */
1600#undef HAVE__GETSHORT
1601
1602/* Define if you have struct __res_state _res as an extern */
1603#undef HAVE__RES_EXTERN
1604
1605/* Define to 1 if you have the `__b64_ntop' function. */
1606#undef HAVE___B64_NTOP
1607
1608/* Define to 1 if you have the `__b64_pton' function. */
1609#undef HAVE___B64_PTON
1610
1611/* Define if compiler implements __FUNCTION__ */
1612#undef HAVE___FUNCTION__
1613
1614/* Define if libc defines __progname */
1615#undef HAVE___PROGNAME
1616
1617/* Fields in struct sockaddr_storage */
1618#undef HAVE___SS_FAMILY_IN_SS
1619
1620/* Define if __va_copy exists */
1621#undef HAVE___VA_COPY
1622
1623/* Define if compiler implements __func__ */
1624#undef HAVE___func__
1625
1626/* Define this if you are using the Heimdal version of Kerberos V5 */
1627#undef HEIMDAL
1628
1629/* Define if you need to use IP address instead of hostname in $DISPLAY */
1630#undef IPADDR_IN_DISPLAY
1631
1632/* Detect IPv4 in IPv6 mapped addresses and treat as IPv4 */
1633#undef IPV4_IN_IPV6
1634
1635/* Define if your system choked on IP TOS setting */
1636#undef IP_TOS_IS_BROKEN
1637
1638/* Define if you want Kerberos 5 support */
1639#undef KRB5
1640
1641/* Define if pututxline updates lastlog too */
1642#undef LASTLOG_WRITE_PUTUTXLINE
1643
1644/* Define to whatever link() returns for "not supported" if it doesn't return
1645 EOPNOTSUPP. */
1646#undef LINK_OPNOTSUPP_ERRNO
1647
1648/* Adjust Linux out-of-memory killer */
1649#undef LINUX_OOM_ADJUST
1650
1651/* max value of long long calculated by configure */
1652#undef LLONG_MAX
1653
1654/* min value of long long calculated by configure */
1655#undef LLONG_MIN
1656
1657/* Account locked with pw(1) */
1658#undef LOCKED_PASSWD_PREFIX
1659
1660/* String used in /etc/passwd to denote locked account */
1661#undef LOCKED_PASSWD_STRING
1662
1663/* String used in /etc/passwd to denote locked account */
1664#undef LOCKED_PASSWD_SUBSTR
1665
1666/* Some systems need a utmpx entry for /bin/login to work */
1667#undef LOGIN_NEEDS_UTMPX
1668
1669/* Set this to your mail directory if you do not have _PATH_MAILDIR */
1670#undef MAIL_DIRECTORY
1671
1672/* Need setpgrp to acquire controlling tty */
1673#undef NEED_SETPGRP
1674
1675/* compiler does not accept __attribute__ on prototype args */
1676#undef NO_ATTRIBUTE_ON_PROTOTYPE_ARGS
1677
1678/* compiler does not accept __attribute__ on return types */
1679#undef NO_ATTRIBUTE_ON_RETURN_TYPE
1680
1681/* Define to disable UID restoration test */
1682#undef NO_UID_RESTORATION_TEST
1683
1684/* Define if X11 doesn't support AF_UNIX sockets on that system */
1685#undef NO_X11_UNIX_SOCKETS
1686
1687/* Define if EVP_DigestUpdate returns void */
1688#undef OPENSSL_EVP_DIGESTUPDATE_VOID
1689
1690/* OpenSSL has ECC */
1691#undef OPENSSL_HAS_ECC
1692
1693/* libcrypto has NID_X9_62_prime256v1 */
1694#undef OPENSSL_HAS_NISTP256
1695
1696/* libcrypto has NID_secp384r1 */
1697#undef OPENSSL_HAS_NISTP384
1698
1699/* libcrypto has NID_secp521r1 */
1700#undef OPENSSL_HAS_NISTP521
1701
1702/* libcrypto has EVP AES CTR */
1703#undef OPENSSL_HAVE_EVPCTR
1704
1705/* libcrypto has EVP AES GCM */
1706#undef OPENSSL_HAVE_EVPGCM
1707
1708/* libcrypto is missing AES 192 and 256 bit functions */
1709#undef OPENSSL_LOBOTOMISED_AES
1710
1711/* Define if you want the OpenSSL internally seeded PRNG only */
1712#undef OPENSSL_PRNG_ONLY
1713
1714/* Define to the address where bug reports for this package should be sent. */
1715#undef PACKAGE_BUGREPORT
1716
1717/* Define to the full name of this package. */
1718#undef PACKAGE_NAME
1719
1720/* Define to the full name and version of this package. */
1721#undef PACKAGE_STRING
1722
1723/* Define to the one symbol short name of this package. */
1724#undef PACKAGE_TARNAME
1725
1726/* Define to the home page for this package. */
1727#undef PACKAGE_URL
1728
1729/* Define to the version of this package. */
1730#undef PACKAGE_VERSION
1731
1732/* Define if you are using Solaris-derived PAM which passes pam_messages to
1733 the conversation function with an extra level of indirection */
1734#undef PAM_SUN_CODEBASE
1735
1736/* Work around problematic Linux PAM modules handling of PAM_TTY */
1737#undef PAM_TTY_KLUDGE
1738
1739/* must supply username to passwd */
1740#undef PASSWD_NEEDS_USERNAME
1741
1742/* System dirs owned by bin (uid 2) */
1743#undef PLATFORM_SYS_DIR_UID
1744
1745/* Port number of PRNGD/EGD random number socket */
1746#undef PRNGD_PORT
1747
1748/* Location of PRNGD/EGD random number socket */
1749#undef PRNGD_SOCKET
1750
1751/* read(1) can return 0 for a non-closed fd */
1752#undef PTY_ZEROREAD
1753
1754/* Sandbox using capsicum */
1755#undef SANDBOX_CAPSICUM
1756
1757/* Sandbox using Darwin sandbox_init(3) */
1758#undef SANDBOX_DARWIN
1759
1760/* no privsep sandboxing */
1761#undef SANDBOX_NULL
1762
1763/* Sandbox using pledge(2) */
1764#undef SANDBOX_PLEDGE
1765
1766/* Sandbox using setrlimit(2) */
1767#undef SANDBOX_RLIMIT
1768
1769/* Sandbox using seccomp filter */
1770#undef SANDBOX_SECCOMP_FILTER
1771
1772/* setrlimit RLIMIT_FSIZE works */
1773#undef SANDBOX_SKIP_RLIMIT_FSIZE
1774
1775/* define if setrlimit RLIMIT_NOFILE breaks things */
1776#undef SANDBOX_SKIP_RLIMIT_NOFILE
1777
1778/* Sandbox using Solaris/Illumos privileges */
1779#undef SANDBOX_SOLARIS
1780
1781/* Sandbox using systrace(4) */
1782#undef SANDBOX_SYSTRACE
1783
1784/* Specify the system call convention in use */
1785#undef SECCOMP_AUDIT_ARCH
1786
1787/* Define if your platform breaks doing a seteuid before a setuid */
1788#undef SETEUID_BREAKS_SETUID
1789
1790/* The size of `int', as computed by sizeof. */
1791#undef SIZEOF_INT
1792
1793/* The size of `long int', as computed by sizeof. */
1794#undef SIZEOF_LONG_INT
1795
1796/* The size of `long long int', as computed by sizeof. */
1797#undef SIZEOF_LONG_LONG_INT
1798
1799/* The size of `short int', as computed by sizeof. */
1800#undef SIZEOF_SHORT_INT
1801
1802/* Define as const if snprintf() can declare const char *fmt */
1803#undef SNPRINTF_CONST
1804
1805/* Define to a Set Process Title type if your system is supported by
1806 bsd-setproctitle.c */
1807#undef SPT_TYPE
1808
1809/* Define if sshd somehow reacquires a controlling TTY after setsid() */
1810#undef SSHD_ACQUIRES_CTTY
1811
1812/* sshd PAM service name */
1813#undef SSHD_PAM_SERVICE
1814
1815/* Define if pam_chauthtok wants real uid set to the unpriv'ed user */
1816#undef SSHPAM_CHAUTHTOK_NEEDS_RUID
1817
1818/* Use audit debugging module */
1819#undef SSH_AUDIT_EVENTS
1820
1821/* Windows is sensitive to read buffer size */
1822#undef SSH_IOBUFSZ
1823
1824/* non-privileged user for privilege separation */
1825#undef SSH_PRIVSEP_USER
1826
1827/* Use tunnel device compatibility to OpenBSD */
1828#undef SSH_TUN_COMPAT_AF
1829
1830/* Open tunnel devices the FreeBSD way */
1831#undef SSH_TUN_FREEBSD
1832
1833/* Open tunnel devices the Linux tun/tap way */
1834#undef SSH_TUN_LINUX
1835
1836/* No layer 2 tunnel support */
1837#undef SSH_TUN_NO_L2
1838
1839/* Open tunnel devices the OpenBSD way */
1840#undef SSH_TUN_OPENBSD
1841
1842/* Prepend the address family to IP tunnel traffic */
1843#undef SSH_TUN_PREPEND_AF
1844
1845/* Define to 1 if you have the ANSI C header files. */
1846#undef STDC_HEADERS
1847
1848/* Define if you want a different $PATH for the superuser */
1849#undef SUPERUSER_PATH
1850
1851/* syslog_r function is safe to use in in a signal handler */
1852#undef SYSLOG_R_SAFE_IN_SIGHAND
1853
1854/* Support routing domains using Linux VRF */
1855#undef SYS_RDOMAIN_LINUX
1856
1857/* Support passwords > 8 chars */
1858#undef UNIXWARE_LONG_PASSWORDS
1859
1860/* Specify default $PATH */
1861#undef USER_PATH
1862
1863/* Define this if you want to use libkafs' AFS support */
1864#undef USE_AFS
1865
1866/* Use BSM audit module */
1867#undef USE_BSM_AUDIT
1868
1869/* Use btmp to log bad logins */
1870#undef USE_BTMP
1871
1872/* Use libedit for sftp */
1873#undef USE_LIBEDIT
1874
1875/* Use Linux audit module */
1876#undef USE_LINUX_AUDIT
1877
1878/* Enable OpenSSL engine support */
1879#undef USE_OPENSSL_ENGINE
1880
1881/* Define if you want to enable PAM support */
1882#undef USE_PAM
1883
1884/* Use PIPES instead of a socketpair() */
1885#undef USE_PIPES
1886
1887/* Define if you have Solaris privileges */
1888#undef USE_SOLARIS_PRIVS
1889
1890/* Define if you have Solaris process contracts */
1891#undef USE_SOLARIS_PROCESS_CONTRACTS
1892
1893/* Define if you have Solaris projects */
1894#undef USE_SOLARIS_PROJECTS
1895
1896/* Define if you shouldn't strip 'tty' from your ttyname in [uw]tmp */
1897#undef WITH_ABBREV_NO_TTY
1898
1899/* Define if you want to enable AIX4's authenticate function */
1900#undef WITH_AIXAUTHENTICATE
1901
1902/* Define if you have/want arrays (cluster-wide session management, not C
1903 arrays) */
1904#undef WITH_IRIX_ARRAY
1905
1906/* Define if you want IRIX audit trails */
1907#undef WITH_IRIX_AUDIT
1908
1909/* Define if you want IRIX kernel jobs */
1910#undef WITH_IRIX_JOBS
1911
1912/* Define if you want IRIX project management */
1913#undef WITH_IRIX_PROJECT
1914
1915/* use libcrypto for cryptography */
1916#undef WITH_OPENSSL
1917
1918/* Define if you want SELinux support. */
1919#undef WITH_SELINUX
1920
1921/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
1922 significant byte first (like Motorola and SPARC, unlike Intel). */
1923#if defined AC_APPLE_UNIVERSAL_BUILD
1924# if defined __BIG_ENDIAN__
1925# define WORDS_BIGENDIAN 1
1926# endif
1927#else
1928# ifndef WORDS_BIGENDIAN
1929# undef WORDS_BIGENDIAN
1930# endif
1931#endif
1932
1933/* Define if xauth is found in your path */
1934#undef XAUTH_PATH
1935
1936/* Enable large inode numbers on Mac OS X 10.5. */
1937#ifndef _DARWIN_USE_64_BIT_INODE
1938# define _DARWIN_USE_64_BIT_INODE 1
1939#endif
1940
1941/* Number of bits in a file offset, on hosts where this is settable. */
1942#undef _FILE_OFFSET_BITS
1943
1944/* Define for large files, on AIX-style hosts. */
1945#undef _LARGE_FILES
1946
1947/* log for bad login attempts */
1948#undef _PATH_BTMP
1949
1950/* Full path of your "passwd" program */
1951#undef _PATH_PASSWD_PROG
1952
1953/* Specify location of ssh.pid */
1954#undef _PATH_SSH_PIDDIR
1955
1956/* Define if we don't have struct __res_state in resolv.h */
1957#undef __res_state
1958
1959/* Define to rpl_calloc if the replacement function should be used. */
1960#undef calloc
1961
1962/* Define to `__inline__' or `__inline' if that's what the C compiler
1963 calls it, or to nothing if 'inline' is not supported under any name. */
1964#ifndef __cplusplus
1965#undef inline
1966#endif
1967
1968/* Define to rpl_malloc if the replacement function should be used. */
1969#undef malloc
1970
1971/* Define to rpl_realloc if the replacement function should be used. */
1972#undef realloc
1973
1974/* type to use in place of socklen_t if not defined */
1975#undef socklen_t
diff --git a/configure b/configure
new file mode 100755
index 000000000..d276473ca
--- /dev/null
+++ b/configure
@@ -0,0 +1,20824 @@
1#! /bin/sh
2# From configure.ac Revision: 1.583 .
3# Guess values for system-dependent variables and create Makefiles.
4# Generated by GNU Autoconf 2.69 for OpenSSH Portable.
5#
6# Report bugs to <openssh-unix-dev@mindrot.org>.
7#
8#
9# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
10#
11#
12# This configure script is free software; the Free Software Foundation
13# gives unlimited permission to copy, distribute and modify it.
14## -------------------- ##
15## M4sh Initialization. ##
16## -------------------- ##
17
18# Be more Bourne compatible
19DUALCASE=1; export DUALCASE # for MKS sh
20if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
21 emulate sh
22 NULLCMD=:
23 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
24 # is contrary to our usage. Disable this feature.
25 alias -g '${1+"$@"}'='"$@"'
26 setopt NO_GLOB_SUBST
27else
28 case `(set -o) 2>/dev/null` in #(
29 *posix*) :
30 set -o posix ;; #(
31 *) :
32 ;;
33esac
34fi
35
36
37as_nl='
38'
39export as_nl
40# Printing a long string crashes Solaris 7 /usr/bin/printf.
41as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
42as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
43as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
44# Prefer a ksh shell builtin over an external printf program on Solaris,
45# but without wasting forks for bash or zsh.
46if test -z "$BASH_VERSION$ZSH_VERSION" \
47 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
48 as_echo='print -r --'
49 as_echo_n='print -rn --'
50elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
51 as_echo='printf %s\n'
52 as_echo_n='printf %s'
53else
54 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
55 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
56 as_echo_n='/usr/ucb/echo -n'
57 else
58 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
59 as_echo_n_body='eval
60 arg=$1;
61 case $arg in #(
62 *"$as_nl"*)
63 expr "X$arg" : "X\\(.*\\)$as_nl";
64 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
65 esac;
66 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
67 '
68 export as_echo_n_body
69 as_echo_n='sh -c $as_echo_n_body as_echo'
70 fi
71 export as_echo_body
72 as_echo='sh -c $as_echo_body as_echo'
73fi
74
75# The user is always right.
76if test "${PATH_SEPARATOR+set}" != set; then
77 PATH_SEPARATOR=:
78 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
79 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
80 PATH_SEPARATOR=';'
81 }
82fi
83
84
85# IFS
86# We need space, tab and new line, in precisely that order. Quoting is
87# there to prevent editors from complaining about space-tab.
88# (If _AS_PATH_WALK were called with IFS unset, it would disable word
89# splitting by setting IFS to empty value.)
90IFS=" "" $as_nl"
91
92# Find who we are. Look in the path if we contain no directory separator.
93as_myself=
94case $0 in #((
95 *[\\/]* ) as_myself=$0 ;;
96 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
97for as_dir in $PATH
98do
99 IFS=$as_save_IFS
100 test -z "$as_dir" && as_dir=.
101 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
102 done
103IFS=$as_save_IFS
104
105 ;;
106esac
107# We did not find ourselves, most probably we were run as `sh COMMAND'
108# in which case we are not to be found in the path.
109if test "x$as_myself" = x; then
110 as_myself=$0
111fi
112if test ! -f "$as_myself"; then
113 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
114 exit 1
115fi
116
117# Unset variables that we do not need and which cause bugs (e.g. in
118# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
119# suppresses any "Segmentation fault" message there. '((' could
120# trigger a bug in pdksh 5.2.14.
121for as_var in BASH_ENV ENV MAIL MAILPATH
122do eval test x\${$as_var+set} = xset \
123 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
124done
125PS1='$ '
126PS2='> '
127PS4='+ '
128
129# NLS nuisances.
130LC_ALL=C
131export LC_ALL
132LANGUAGE=C
133export LANGUAGE
134
135# CDPATH.
136(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
137
138# Use a proper internal environment variable to ensure we don't fall
139 # into an infinite loop, continuously re-executing ourselves.
140 if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
141 _as_can_reexec=no; export _as_can_reexec;
142 # We cannot yet assume a decent shell, so we have to provide a
143# neutralization value for shells without unset; and this also
144# works around shells that cannot unset nonexistent variables.
145# Preserve -v and -x to the replacement shell.
146BASH_ENV=/dev/null
147ENV=/dev/null
148(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
149case $- in # ((((
150 *v*x* | *x*v* ) as_opts=-vx ;;
151 *v* ) as_opts=-v ;;
152 *x* ) as_opts=-x ;;
153 * ) as_opts= ;;
154esac
155exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
156# Admittedly, this is quite paranoid, since all the known shells bail
157# out after a failed `exec'.
158$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
159as_fn_exit 255
160 fi
161 # We don't want this to propagate to other subprocesses.
162 { _as_can_reexec=; unset _as_can_reexec;}
163if test "x$CONFIG_SHELL" = x; then
164 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
165 emulate sh
166 NULLCMD=:
167 # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
168 # is contrary to our usage. Disable this feature.
169 alias -g '\${1+\"\$@\"}'='\"\$@\"'
170 setopt NO_GLOB_SUBST
171else
172 case \`(set -o) 2>/dev/null\` in #(
173 *posix*) :
174 set -o posix ;; #(
175 *) :
176 ;;
177esac
178fi
179"
180 as_required="as_fn_return () { (exit \$1); }
181as_fn_success () { as_fn_return 0; }
182as_fn_failure () { as_fn_return 1; }
183as_fn_ret_success () { return 0; }
184as_fn_ret_failure () { return 1; }
185
186exitcode=0
187as_fn_success || { exitcode=1; echo as_fn_success failed.; }
188as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
189as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
190as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
191if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
192
193else
194 exitcode=1; echo positional parameters were not saved.
195fi
196test x\$exitcode = x0 || exit 1
197test -x / || exit 1"
198 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
199 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
200 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
201 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
202test \$(( 1 + 1 )) = 2 || exit 1"
203 if (eval "$as_required") 2>/dev/null; then :
204 as_have_required=yes
205else
206 as_have_required=no
207fi
208 if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
209
210else
211 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
212as_found=false
213for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
214do
215 IFS=$as_save_IFS
216 test -z "$as_dir" && as_dir=.
217 as_found=:
218 case $as_dir in #(
219 /*)
220 for as_base in sh bash ksh sh5; do
221 # Try only shells that exist, to save several forks.
222 as_shell=$as_dir/$as_base
223 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
224 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
225 CONFIG_SHELL=$as_shell as_have_required=yes
226 if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
227 break 2
228fi
229fi
230 done;;
231 esac
232 as_found=false
233done
234$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
235 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
236 CONFIG_SHELL=$SHELL as_have_required=yes
237fi; }
238IFS=$as_save_IFS
239
240
241 if test "x$CONFIG_SHELL" != x; then :
242 export CONFIG_SHELL
243 # We cannot yet assume a decent shell, so we have to provide a
244# neutralization value for shells without unset; and this also
245# works around shells that cannot unset nonexistent variables.
246# Preserve -v and -x to the replacement shell.
247BASH_ENV=/dev/null
248ENV=/dev/null
249(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
250case $- in # ((((
251 *v*x* | *x*v* ) as_opts=-vx ;;
252 *v* ) as_opts=-v ;;
253 *x* ) as_opts=-x ;;
254 * ) as_opts= ;;
255esac
256exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
257# Admittedly, this is quite paranoid, since all the known shells bail
258# out after a failed `exec'.
259$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
260exit 255
261fi
262
263 if test x$as_have_required = xno; then :
264 $as_echo "$0: This script requires a shell more modern than all"
265 $as_echo "$0: the shells that I found on your system."
266 if test x${ZSH_VERSION+set} = xset ; then
267 $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
268 $as_echo "$0: be upgraded to zsh 4.3.4 or later."
269 else
270 $as_echo "$0: Please tell bug-autoconf@gnu.org and
271$0: openssh-unix-dev@mindrot.org about your system,
272$0: including any error possibly output before this
273$0: message. Then install a modern shell, or manually run
274$0: the script under such a shell if you do have one."
275 fi
276 exit 1
277fi
278fi
279fi
280SHELL=${CONFIG_SHELL-/bin/sh}
281export SHELL
282# Unset more variables known to interfere with behavior of common tools.
283CLICOLOR_FORCE= GREP_OPTIONS=
284unset CLICOLOR_FORCE GREP_OPTIONS
285
286## --------------------- ##
287## M4sh Shell Functions. ##
288## --------------------- ##
289# as_fn_unset VAR
290# ---------------
291# Portably unset VAR.
292as_fn_unset ()
293{
294 { eval $1=; unset $1;}
295}
296as_unset=as_fn_unset
297
298# as_fn_set_status STATUS
299# -----------------------
300# Set $? to STATUS, without forking.
301as_fn_set_status ()
302{
303 return $1
304} # as_fn_set_status
305
306# as_fn_exit STATUS
307# -----------------
308# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
309as_fn_exit ()
310{
311 set +e
312 as_fn_set_status $1
313 exit $1
314} # as_fn_exit
315
316# as_fn_mkdir_p
317# -------------
318# Create "$as_dir" as a directory, including parents if necessary.
319as_fn_mkdir_p ()
320{
321
322 case $as_dir in #(
323 -*) as_dir=./$as_dir;;
324 esac
325 test -d "$as_dir" || eval $as_mkdir_p || {
326 as_dirs=
327 while :; do
328 case $as_dir in #(
329 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
330 *) as_qdir=$as_dir;;
331 esac
332 as_dirs="'$as_qdir' $as_dirs"
333 as_dir=`$as_dirname -- "$as_dir" ||
334$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
335 X"$as_dir" : 'X\(//\)[^/]' \| \
336 X"$as_dir" : 'X\(//\)$' \| \
337 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
338$as_echo X"$as_dir" |
339 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
340 s//\1/
341 q
342 }
343 /^X\(\/\/\)[^/].*/{
344 s//\1/
345 q
346 }
347 /^X\(\/\/\)$/{
348 s//\1/
349 q
350 }
351 /^X\(\/\).*/{
352 s//\1/
353 q
354 }
355 s/.*/./; q'`
356 test -d "$as_dir" && break
357 done
358 test -z "$as_dirs" || eval "mkdir $as_dirs"
359 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
360
361
362} # as_fn_mkdir_p
363
364# as_fn_executable_p FILE
365# -----------------------
366# Test if FILE is an executable regular file.
367as_fn_executable_p ()
368{
369 test -f "$1" && test -x "$1"
370} # as_fn_executable_p
371# as_fn_append VAR VALUE
372# ----------------------
373# Append the text in VALUE to the end of the definition contained in VAR. Take
374# advantage of any shell optimizations that allow amortized linear growth over
375# repeated appends, instead of the typical quadratic growth present in naive
376# implementations.
377if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
378 eval 'as_fn_append ()
379 {
380 eval $1+=\$2
381 }'
382else
383 as_fn_append ()
384 {
385 eval $1=\$$1\$2
386 }
387fi # as_fn_append
388
389# as_fn_arith ARG...
390# ------------------
391# Perform arithmetic evaluation on the ARGs, and store the result in the
392# global $as_val. Take advantage of shells that can avoid forks. The arguments
393# must be portable across $(()) and expr.
394if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
395 eval 'as_fn_arith ()
396 {
397 as_val=$(( $* ))
398 }'
399else
400 as_fn_arith ()
401 {
402 as_val=`expr "$@" || test $? -eq 1`
403 }
404fi # as_fn_arith
405
406
407# as_fn_error STATUS ERROR [LINENO LOG_FD]
408# ----------------------------------------
409# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
410# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
411# script with STATUS, using 1 if that was 0.
412as_fn_error ()
413{
414 as_status=$1; test $as_status -eq 0 && as_status=1
415 if test "$4"; then
416 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
417 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
418 fi
419 $as_echo "$as_me: error: $2" >&2
420 as_fn_exit $as_status
421} # as_fn_error
422
423if expr a : '\(a\)' >/dev/null 2>&1 &&
424 test "X`expr 00001 : '.*\(...\)'`" = X001; then
425 as_expr=expr
426else
427 as_expr=false
428fi
429
430if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
431 as_basename=basename
432else
433 as_basename=false
434fi
435
436if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
437 as_dirname=dirname
438else
439 as_dirname=false
440fi
441
442as_me=`$as_basename -- "$0" ||
443$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
444 X"$0" : 'X\(//\)$' \| \
445 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
446$as_echo X/"$0" |
447 sed '/^.*\/\([^/][^/]*\)\/*$/{
448 s//\1/
449 q
450 }
451 /^X\/\(\/\/\)$/{
452 s//\1/
453 q
454 }
455 /^X\/\(\/\).*/{
456 s//\1/
457 q
458 }
459 s/.*/./; q'`
460
461# Avoid depending upon Character Ranges.
462as_cr_letters='abcdefghijklmnopqrstuvwxyz'
463as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
464as_cr_Letters=$as_cr_letters$as_cr_LETTERS
465as_cr_digits='0123456789'
466as_cr_alnum=$as_cr_Letters$as_cr_digits
467
468
469 as_lineno_1=$LINENO as_lineno_1a=$LINENO
470 as_lineno_2=$LINENO as_lineno_2a=$LINENO
471 eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
472 test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
473 # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
474 sed -n '
475 p
476 /[$]LINENO/=
477 ' <$as_myself |
478 sed '
479 s/[$]LINENO.*/&-/
480 t lineno
481 b
482 :lineno
483 N
484 :loop
485 s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
486 t loop
487 s/-\n.*//
488 ' >$as_me.lineno &&
489 chmod +x "$as_me.lineno" ||
490 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
491
492 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
493 # already done that, so ensure we don't try to do so again and fall
494 # in an infinite loop. This has already happened in practice.
495 _as_can_reexec=no; export _as_can_reexec
496 # Don't try to exec as it changes $[0], causing all sort of problems
497 # (the dirname of $[0] is not the place where we might find the
498 # original and so on. Autoconf is especially sensitive to this).
499 . "./$as_me.lineno"
500 # Exit status is that of the last command.
501 exit
502}
503
504ECHO_C= ECHO_N= ECHO_T=
505case `echo -n x` in #(((((
506-n*)
507 case `echo 'xy\c'` in
508 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
509 xy) ECHO_C='\c';;
510 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
511 ECHO_T=' ';;
512 esac;;
513*)
514 ECHO_N='-n';;
515esac
516
517rm -f conf$$ conf$$.exe conf$$.file
518if test -d conf$$.dir; then
519 rm -f conf$$.dir/conf$$.file
520else
521 rm -f conf$$.dir
522 mkdir conf$$.dir 2>/dev/null
523fi
524if (echo >conf$$.file) 2>/dev/null; then
525 if ln -s conf$$.file conf$$ 2>/dev/null; then
526 as_ln_s='ln -s'
527 # ... but there are two gotchas:
528 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
529 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
530 # In both cases, we have to default to `cp -pR'.
531 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
532 as_ln_s='cp -pR'
533 elif ln conf$$.file conf$$ 2>/dev/null; then
534 as_ln_s=ln
535 else
536 as_ln_s='cp -pR'
537 fi
538else
539 as_ln_s='cp -pR'
540fi
541rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
542rmdir conf$$.dir 2>/dev/null
543
544if mkdir -p . 2>/dev/null; then
545 as_mkdir_p='mkdir -p "$as_dir"'
546else
547 test -d ./-p && rmdir ./-p
548 as_mkdir_p=false
549fi
550
551as_test_x='test -x'
552as_executable_p=as_fn_executable_p
553
554# Sed expression to map a string onto a valid CPP name.
555as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
556
557# Sed expression to map a string onto a valid variable name.
558as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
559
560
561test -n "$DJDIR" || exec 7<&0 </dev/null
562exec 6>&1
563
564# Name of the host.
565# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
566# so uname gets run too.
567ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
568
569#
570# Initializations.
571#
572ac_default_prefix=/usr/local
573ac_clean_files=
574ac_config_libobj_dir=.
575LIBOBJS=
576cross_compiling=no
577subdirs=
578MFLAGS=
579MAKEFLAGS=
580
581# Identity of this package.
582PACKAGE_NAME='OpenSSH'
583PACKAGE_TARNAME='openssh'
584PACKAGE_VERSION='Portable'
585PACKAGE_STRING='OpenSSH Portable'
586PACKAGE_BUGREPORT='openssh-unix-dev@mindrot.org'
587PACKAGE_URL=''
588
589ac_unique_file="ssh.c"
590# Factoring default headers for most tests.
591ac_includes_default="\
592#include <stdio.h>
593#ifdef HAVE_SYS_TYPES_H
594# include <sys/types.h>
595#endif
596#ifdef HAVE_SYS_STAT_H
597# include <sys/stat.h>
598#endif
599#ifdef STDC_HEADERS
600# include <stdlib.h>
601# include <stddef.h>
602#else
603# ifdef HAVE_STDLIB_H
604# include <stdlib.h>
605# endif
606#endif
607#ifdef HAVE_STRING_H
608# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
609# include <memory.h>
610# endif
611# include <string.h>
612#endif
613#ifdef HAVE_STRINGS_H
614# include <strings.h>
615#endif
616#ifdef HAVE_INTTYPES_H
617# include <inttypes.h>
618#endif
619#ifdef HAVE_STDINT_H
620# include <stdint.h>
621#endif
622#ifdef HAVE_UNISTD_H
623# include <unistd.h>
624#endif"
625
626ac_subst_vars='LTLIBOBJS
627DEPEND
628UNSUPPORTED_ALGORITHMS
629TEST_MALLOC_OPTIONS
630TEST_SSH_UTF8
631TEST_SSH_IPV6
632piddir
633user_path
634mansubdir
635MANTYPE
636XAUTH_PATH
637STRIP_OPT
638xauth_path
639PRIVSEP_PATH
640K5LIBS
641GSSLIBS
642KRB5CONF
643SSHDLIBS
644SSHLIBS
645SSH_PRIVSEP_USER
646COMMENT_OUT_ECC
647TEST_SSH_ECC
648LIBEDIT
649PKGCONFIG
650LDNSCONFIG
651LIBOBJS
652LD
653PATH_PASSWD_PROG
654STARTUP_SCRIPT_SHELL
655MAKE_PACKAGE_SUPPORTED
656PATH_USERADD_PROG
657PATH_GROUPADD_PROG
658MANFMT
659TEST_SHELL
660MANDOC
661NROFF
662GROFF
663SH
664TEST_MINUS_S_SH
665ENT
666SED
667KILL
668CAT
669ac_ct_AR
670AR
671MKDIR_P
672INSTALL_DATA
673INSTALL_SCRIPT
674INSTALL_PROGRAM
675RANLIB
676AWK
677EGREP
678GREP
679CPP
680host_os
681host_vendor
682host_cpu
683host
684build_os
685build_vendor
686build_cpu
687build
688OBJEXT
689EXEEXT
690ac_ct_CC
691CPPFLAGS
692LDFLAGS
693CFLAGS
694CC
695target_alias
696host_alias
697build_alias
698LIBS
699ECHO_T
700ECHO_N
701ECHO_C
702DEFS
703mandir
704localedir
705libdir
706psdir
707pdfdir
708dvidir
709htmldir
710infodir
711docdir
712oldincludedir
713includedir
714localstatedir
715sharedstatedir
716sysconfdir
717datadir
718datarootdir
719libexecdir
720sbindir
721bindir
722program_transform_name
723prefix
724exec_prefix
725PACKAGE_URL
726PACKAGE_BUGREPORT
727PACKAGE_STRING
728PACKAGE_VERSION
729PACKAGE_TARNAME
730PACKAGE_NAME
731PATH_SEPARATOR
732SHELL'
733ac_subst_files=''
734ac_user_opts='
735enable_option_checking
736enable_largefile
737with_openssl
738with_stackprotect
739with_hardening
740with_rpath
741with_cflags
742with_cflags_after
743with_cppflags
744with_ldflags
745with_ldflags_after
746with_libs
747with_Werror
748with_solaris_contracts
749with_solaris_projects
750with_solaris_privs
751with_osfsia
752with_zlib
753with_zlib_version_check
754with_ldns
755with_libedit
756with_audit
757with_pie
758enable_pkcs11
759with_ssl_dir
760with_openssl_header_check
761with_ssl_engine
762with_prngd_port
763with_prngd_socket
764with_pam
765with_pam_service
766with_privsep_user
767with_sandbox
768with_selinux
769with_kerberos5
770with_privsep_path
771with_xauth
772enable_strip
773with_maildir
774with_mantype
775with_md5_passwords
776with_shadow
777with_ipaddr_display
778enable_etc_default_login
779with_default_path
780with_superuser_path
781with_4in6
782with_bsd_auth
783with_pid_dir
784enable_lastlog
785enable_utmp
786enable_utmpx
787enable_wtmp
788enable_wtmpx
789enable_libutil
790enable_pututline
791enable_pututxline
792with_lastlog
793'
794 ac_precious_vars='build_alias
795host_alias
796target_alias
797CC
798CFLAGS
799LDFLAGS
800LIBS
801CPPFLAGS
802CPP'
803
804
805# Initialize some variables set by options.
806ac_init_help=
807ac_init_version=false
808ac_unrecognized_opts=
809ac_unrecognized_sep=
810# The variables have the same names as the options, with
811# dashes changed to underlines.
812cache_file=/dev/null
813exec_prefix=NONE
814no_create=
815no_recursion=
816prefix=NONE
817program_prefix=NONE
818program_suffix=NONE
819program_transform_name=s,x,x,
820silent=
821site=
822srcdir=
823verbose=
824x_includes=NONE
825x_libraries=NONE
826
827# Installation directory options.
828# These are left unexpanded so users can "make install exec_prefix=/foo"
829# and all the variables that are supposed to be based on exec_prefix
830# by default will actually change.
831# Use braces instead of parens because sh, perl, etc. also accept them.
832# (The list follows the same order as the GNU Coding Standards.)
833bindir='${exec_prefix}/bin'
834sbindir='${exec_prefix}/sbin'
835libexecdir='${exec_prefix}/libexec'
836datarootdir='${prefix}/share'
837datadir='${datarootdir}'
838sysconfdir='${prefix}/etc'
839sharedstatedir='${prefix}/com'
840localstatedir='${prefix}/var'
841includedir='${prefix}/include'
842oldincludedir='/usr/include'
843docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
844infodir='${datarootdir}/info'
845htmldir='${docdir}'
846dvidir='${docdir}'
847pdfdir='${docdir}'
848psdir='${docdir}'
849libdir='${exec_prefix}/lib'
850localedir='${datarootdir}/locale'
851mandir='${datarootdir}/man'
852
853ac_prev=
854ac_dashdash=
855for ac_option
856do
857 # If the previous option needs an argument, assign it.
858 if test -n "$ac_prev"; then
859 eval $ac_prev=\$ac_option
860 ac_prev=
861 continue
862 fi
863
864 case $ac_option in
865 *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
866 *=) ac_optarg= ;;
867 *) ac_optarg=yes ;;
868 esac
869
870 # Accept the important Cygnus configure options, so we can diagnose typos.
871
872 case $ac_dashdash$ac_option in
873 --)
874 ac_dashdash=yes ;;
875
876 -bindir | --bindir | --bindi | --bind | --bin | --bi)
877 ac_prev=bindir ;;
878 -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
879 bindir=$ac_optarg ;;
880
881 -build | --build | --buil | --bui | --bu)
882 ac_prev=build_alias ;;
883 -build=* | --build=* | --buil=* | --bui=* | --bu=*)
884 build_alias=$ac_optarg ;;
885
886 -cache-file | --cache-file | --cache-fil | --cache-fi \
887 | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
888 ac_prev=cache_file ;;
889 -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
890 | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
891 cache_file=$ac_optarg ;;
892
893 --config-cache | -C)
894 cache_file=config.cache ;;
895
896 -datadir | --datadir | --datadi | --datad)
897 ac_prev=datadir ;;
898 -datadir=* | --datadir=* | --datadi=* | --datad=*)
899 datadir=$ac_optarg ;;
900
901 -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
902 | --dataroo | --dataro | --datar)
903 ac_prev=datarootdir ;;
904 -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
905 | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
906 datarootdir=$ac_optarg ;;
907
908 -disable-* | --disable-*)
909 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
910 # Reject names that are not valid shell variable names.
911 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
912 as_fn_error $? "invalid feature name: $ac_useropt"
913 ac_useropt_orig=$ac_useropt
914 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
915 case $ac_user_opts in
916 *"
917"enable_$ac_useropt"
918"*) ;;
919 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
920 ac_unrecognized_sep=', ';;
921 esac
922 eval enable_$ac_useropt=no ;;
923
924 -docdir | --docdir | --docdi | --doc | --do)
925 ac_prev=docdir ;;
926 -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
927 docdir=$ac_optarg ;;
928
929 -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
930 ac_prev=dvidir ;;
931 -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
932 dvidir=$ac_optarg ;;
933
934 -enable-* | --enable-*)
935 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
936 # Reject names that are not valid shell variable names.
937 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
938 as_fn_error $? "invalid feature name: $ac_useropt"
939 ac_useropt_orig=$ac_useropt
940 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
941 case $ac_user_opts in
942 *"
943"enable_$ac_useropt"
944"*) ;;
945 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
946 ac_unrecognized_sep=', ';;
947 esac
948 eval enable_$ac_useropt=\$ac_optarg ;;
949
950 -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
951 | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
952 | --exec | --exe | --ex)
953 ac_prev=exec_prefix ;;
954 -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
955 | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
956 | --exec=* | --exe=* | --ex=*)
957 exec_prefix=$ac_optarg ;;
958
959 -gas | --gas | --ga | --g)
960 # Obsolete; use --with-gas.
961 with_gas=yes ;;
962
963 -help | --help | --hel | --he | -h)
964 ac_init_help=long ;;
965 -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
966 ac_init_help=recursive ;;
967 -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
968 ac_init_help=short ;;
969
970 -host | --host | --hos | --ho)
971 ac_prev=host_alias ;;
972 -host=* | --host=* | --hos=* | --ho=*)
973 host_alias=$ac_optarg ;;
974
975 -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
976 ac_prev=htmldir ;;
977 -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
978 | --ht=*)
979 htmldir=$ac_optarg ;;
980
981 -includedir | --includedir | --includedi | --included | --include \
982 | --includ | --inclu | --incl | --inc)
983 ac_prev=includedir ;;
984 -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
985 | --includ=* | --inclu=* | --incl=* | --inc=*)
986 includedir=$ac_optarg ;;
987
988 -infodir | --infodir | --infodi | --infod | --info | --inf)
989 ac_prev=infodir ;;
990 -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
991 infodir=$ac_optarg ;;
992
993 -libdir | --libdir | --libdi | --libd)
994 ac_prev=libdir ;;
995 -libdir=* | --libdir=* | --libdi=* | --libd=*)
996 libdir=$ac_optarg ;;
997
998 -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
999 | --libexe | --libex | --libe)
1000 ac_prev=libexecdir ;;
1001 -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
1002 | --libexe=* | --libex=* | --libe=*)
1003 libexecdir=$ac_optarg ;;
1004
1005 -localedir | --localedir | --localedi | --localed | --locale)
1006 ac_prev=localedir ;;
1007 -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
1008 localedir=$ac_optarg ;;
1009
1010 -localstatedir | --localstatedir | --localstatedi | --localstated \
1011 | --localstate | --localstat | --localsta | --localst | --locals)
1012 ac_prev=localstatedir ;;
1013 -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1014 | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
1015 localstatedir=$ac_optarg ;;
1016
1017 -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1018 ac_prev=mandir ;;
1019 -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1020 mandir=$ac_optarg ;;
1021
1022 -nfp | --nfp | --nf)
1023 # Obsolete; use --without-fp.
1024 with_fp=no ;;
1025
1026 -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1027 | --no-cr | --no-c | -n)
1028 no_create=yes ;;
1029
1030 -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1031 | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1032 no_recursion=yes ;;
1033
1034 -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1035 | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1036 | --oldin | --oldi | --old | --ol | --o)
1037 ac_prev=oldincludedir ;;
1038 -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1039 | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1040 | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1041 oldincludedir=$ac_optarg ;;
1042
1043 -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1044 ac_prev=prefix ;;
1045 -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1046 prefix=$ac_optarg ;;
1047
1048 -program-prefix | --program-prefix | --program-prefi | --program-pref \
1049 | --program-pre | --program-pr | --program-p)
1050 ac_prev=program_prefix ;;
1051 -program-prefix=* | --program-prefix=* | --program-prefi=* \
1052 | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1053 program_prefix=$ac_optarg ;;
1054
1055 -program-suffix | --program-suffix | --program-suffi | --program-suff \
1056 | --program-suf | --program-su | --program-s)
1057 ac_prev=program_suffix ;;
1058 -program-suffix=* | --program-suffix=* | --program-suffi=* \
1059 | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
1060 program_suffix=$ac_optarg ;;
1061
1062 -program-transform-name | --program-transform-name \
1063 | --program-transform-nam | --program-transform-na \
1064 | --program-transform-n | --program-transform- \
1065 | --program-transform | --program-transfor \
1066 | --program-transfo | --program-transf \
1067 | --program-trans | --program-tran \
1068 | --progr-tra | --program-tr | --program-t)
1069 ac_prev=program_transform_name ;;
1070 -program-transform-name=* | --program-transform-name=* \
1071 | --program-transform-nam=* | --program-transform-na=* \
1072 | --program-transform-n=* | --program-transform-=* \
1073 | --program-transform=* | --program-transfor=* \
1074 | --program-transfo=* | --program-transf=* \
1075 | --program-trans=* | --program-tran=* \
1076 | --progr-tra=* | --program-tr=* | --program-t=*)
1077 program_transform_name=$ac_optarg ;;
1078
1079 -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
1080 ac_prev=pdfdir ;;
1081 -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
1082 pdfdir=$ac_optarg ;;
1083
1084 -psdir | --psdir | --psdi | --psd | --ps)
1085 ac_prev=psdir ;;
1086 -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
1087 psdir=$ac_optarg ;;
1088
1089 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1090 | -silent | --silent | --silen | --sile | --sil)
1091 silent=yes ;;
1092
1093 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
1094 ac_prev=sbindir ;;
1095 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
1096 | --sbi=* | --sb=*)
1097 sbindir=$ac_optarg ;;
1098
1099 -sharedstatedir | --sharedstatedir | --sharedstatedi \
1100 | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
1101 | --sharedst | --shareds | --shared | --share | --shar \
1102 | --sha | --sh)
1103 ac_prev=sharedstatedir ;;
1104 -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
1105 | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
1106 | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
1107 | --sha=* | --sh=*)
1108 sharedstatedir=$ac_optarg ;;
1109
1110 -site | --site | --sit)
1111 ac_prev=site ;;
1112 -site=* | --site=* | --sit=*)
1113 site=$ac_optarg ;;
1114
1115 -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
1116 ac_prev=srcdir ;;
1117 -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
1118 srcdir=$ac_optarg ;;
1119
1120 -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
1121 | --syscon | --sysco | --sysc | --sys | --sy)
1122 ac_prev=sysconfdir ;;
1123 -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
1124 | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
1125 sysconfdir=$ac_optarg ;;
1126
1127 -target | --target | --targe | --targ | --tar | --ta | --t)
1128 ac_prev=target_alias ;;
1129 -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
1130 target_alias=$ac_optarg ;;
1131
1132 -v | -verbose | --verbose | --verbos | --verbo | --verb)
1133 verbose=yes ;;
1134
1135 -version | --version | --versio | --versi | --vers | -V)
1136 ac_init_version=: ;;
1137
1138 -with-* | --with-*)
1139 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1140 # Reject names that are not valid shell variable names.
1141 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1142 as_fn_error $? "invalid package name: $ac_useropt"
1143 ac_useropt_orig=$ac_useropt
1144 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1145 case $ac_user_opts in
1146 *"
1147"with_$ac_useropt"
1148"*) ;;
1149 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
1150 ac_unrecognized_sep=', ';;
1151 esac
1152 eval with_$ac_useropt=\$ac_optarg ;;
1153
1154 -without-* | --without-*)
1155 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1156 # Reject names that are not valid shell variable names.
1157 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1158 as_fn_error $? "invalid package name: $ac_useropt"
1159 ac_useropt_orig=$ac_useropt
1160 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1161 case $ac_user_opts in
1162 *"
1163"with_$ac_useropt"
1164"*) ;;
1165 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
1166 ac_unrecognized_sep=', ';;
1167 esac
1168 eval with_$ac_useropt=no ;;
1169
1170 --x)
1171 # Obsolete; use --with-x.
1172 with_x=yes ;;
1173
1174 -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
1175 | --x-incl | --x-inc | --x-in | --x-i)
1176 ac_prev=x_includes ;;
1177 -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
1178 | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
1179 x_includes=$ac_optarg ;;
1180
1181 -x-libraries | --x-libraries | --x-librarie | --x-librari \
1182 | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
1183 ac_prev=x_libraries ;;
1184 -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
1185 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1186 x_libraries=$ac_optarg ;;
1187
1188 -*) as_fn_error $? "unrecognized option: \`$ac_option'
1189Try \`$0 --help' for more information"
1190 ;;
1191
1192 *=*)
1193 ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
1194 # Reject names that are not valid shell variable names.
1195 case $ac_envvar in #(
1196 '' | [0-9]* | *[!_$as_cr_alnum]* )
1197 as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
1198 esac
1199 eval $ac_envvar=\$ac_optarg
1200 export $ac_envvar ;;
1201
1202 *)
1203 # FIXME: should be removed in autoconf 3.0.
1204 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
1205 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
1206 $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
1207 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
1208 ;;
1209
1210 esac
1211done
1212
1213if test -n "$ac_prev"; then
1214 ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1215 as_fn_error $? "missing argument to $ac_option"
1216fi
1217
1218if test -n "$ac_unrecognized_opts"; then
1219 case $enable_option_checking in
1220 no) ;;
1221 fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
1222 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
1223 esac
1224fi
1225
1226# Check all directory arguments for consistency.
1227for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
1228 datadir sysconfdir sharedstatedir localstatedir includedir \
1229 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1230 libdir localedir mandir
1231do
1232 eval ac_val=\$$ac_var
1233 # Remove trailing slashes.
1234 case $ac_val in
1235 */ )
1236 ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
1237 eval $ac_var=\$ac_val;;
1238 esac
1239 # Be sure to have absolute directory names.
1240 case $ac_val in
1241 [\\/$]* | ?:[\\/]* ) continue;;
1242 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1243 esac
1244 as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
1245done
1246
1247# There might be people who depend on the old broken behavior: `$host'
1248# used to hold the argument of --host etc.
1249# FIXME: To remove some day.
1250build=$build_alias
1251host=$host_alias
1252target=$target_alias
1253
1254# FIXME: To remove some day.
1255if test "x$host_alias" != x; then
1256 if test "x$build_alias" = x; then
1257 cross_compiling=maybe
1258 elif test "x$build_alias" != "x$host_alias"; then
1259 cross_compiling=yes
1260 fi
1261fi
1262
1263ac_tool_prefix=
1264test -n "$host_alias" && ac_tool_prefix=$host_alias-
1265
1266test "$silent" = yes && exec 6>/dev/null
1267
1268
1269ac_pwd=`pwd` && test -n "$ac_pwd" &&
1270ac_ls_di=`ls -di .` &&
1271ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1272 as_fn_error $? "working directory cannot be determined"
1273test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1274 as_fn_error $? "pwd does not report name of working directory"
1275
1276
1277# Find the source files, if location was not specified.
1278if test -z "$srcdir"; then
1279 ac_srcdir_defaulted=yes
1280 # Try the directory containing this script, then the parent directory.
1281 ac_confdir=`$as_dirname -- "$as_myself" ||
1282$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
1283 X"$as_myself" : 'X\(//\)[^/]' \| \
1284 X"$as_myself" : 'X\(//\)$' \| \
1285 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
1286$as_echo X"$as_myself" |
1287 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
1288 s//\1/
1289 q
1290 }
1291 /^X\(\/\/\)[^/].*/{
1292 s//\1/
1293 q
1294 }
1295 /^X\(\/\/\)$/{
1296 s//\1/
1297 q
1298 }
1299 /^X\(\/\).*/{
1300 s//\1/
1301 q
1302 }
1303 s/.*/./; q'`
1304 srcdir=$ac_confdir
1305 if test ! -r "$srcdir/$ac_unique_file"; then
1306 srcdir=..
1307 fi
1308else
1309 ac_srcdir_defaulted=no
1310fi
1311if test ! -r "$srcdir/$ac_unique_file"; then
1312 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1313 as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
1314fi
1315ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1316ac_abs_confdir=`(
1317 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
1318 pwd)`
1319# When building in place, set srcdir=.
1320if test "$ac_abs_confdir" = "$ac_pwd"; then
1321 srcdir=.
1322fi
1323# Remove unnecessary trailing slashes from srcdir.
1324# Double slashes in file names in object file debugging info
1325# mess up M-x gdb in Emacs.
1326case $srcdir in
1327*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
1328esac
1329for ac_var in $ac_precious_vars; do
1330 eval ac_env_${ac_var}_set=\${${ac_var}+set}
1331 eval ac_env_${ac_var}_value=\$${ac_var}
1332 eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
1333 eval ac_cv_env_${ac_var}_value=\$${ac_var}
1334done
1335
1336#
1337# Report the --help message.
1338#
1339if test "$ac_init_help" = "long"; then
1340 # Omit some internal or obsolete options to make the list less imposing.
1341 # This message is too long to be a string in the A/UX 3.1 sh.
1342 cat <<_ACEOF
1343\`configure' configures OpenSSH Portable to adapt to many kinds of systems.
1344
1345Usage: $0 [OPTION]... [VAR=VALUE]...
1346
1347To assign environment variables (e.g., CC, CFLAGS...), specify them as
1348VAR=VALUE. See below for descriptions of some of the useful variables.
1349
1350Defaults for the options are specified in brackets.
1351
1352Configuration:
1353 -h, --help display this help and exit
1354 --help=short display options specific to this package
1355 --help=recursive display the short help of all the included packages
1356 -V, --version display version information and exit
1357 -q, --quiet, --silent do not print \`checking ...' messages
1358 --cache-file=FILE cache test results in FILE [disabled]
1359 -C, --config-cache alias for \`--cache-file=config.cache'
1360 -n, --no-create do not create output files
1361 --srcdir=DIR find the sources in DIR [configure dir or \`..']
1362
1363Installation directories:
1364 --prefix=PREFIX install architecture-independent files in PREFIX
1365 [$ac_default_prefix]
1366 --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
1367 [PREFIX]
1368
1369By default, \`make install' will install all the files in
1370\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
1371an installation prefix other than \`$ac_default_prefix' using \`--prefix',
1372for instance \`--prefix=\$HOME'.
1373
1374For better control, use the options below.
1375
1376Fine tuning of the installation directories:
1377 --bindir=DIR user executables [EPREFIX/bin]
1378 --sbindir=DIR system admin executables [EPREFIX/sbin]
1379 --libexecdir=DIR program executables [EPREFIX/libexec]
1380 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
1381 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
1382 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
1383 --libdir=DIR object code libraries [EPREFIX/lib]
1384 --includedir=DIR C header files [PREFIX/include]
1385 --oldincludedir=DIR C header files for non-gcc [/usr/include]
1386 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
1387 --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
1388 --infodir=DIR info documentation [DATAROOTDIR/info]
1389 --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
1390 --mandir=DIR man documentation [DATAROOTDIR/man]
1391 --docdir=DIR documentation root [DATAROOTDIR/doc/openssh]
1392 --htmldir=DIR html documentation [DOCDIR]
1393 --dvidir=DIR dvi documentation [DOCDIR]
1394 --pdfdir=DIR pdf documentation [DOCDIR]
1395 --psdir=DIR ps documentation [DOCDIR]
1396_ACEOF
1397
1398 cat <<\_ACEOF
1399
1400System types:
1401 --build=BUILD configure for building on BUILD [guessed]
1402 --host=HOST cross-compile to build programs to run on HOST [BUILD]
1403_ACEOF
1404fi
1405
1406if test -n "$ac_init_help"; then
1407 case $ac_init_help in
1408 short | recursive ) echo "Configuration of OpenSSH Portable:";;
1409 esac
1410 cat <<\_ACEOF
1411
1412Optional Features:
1413 --disable-option-checking ignore unrecognized --enable/--with options
1414 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
1415 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
1416 --disable-largefile omit support for large files
1417 --disable-pkcs11 disable PKCS#11 support code [no]
1418 --disable-strip Disable calling strip(1) on install
1419 --disable-etc-default-login Disable using PATH from /etc/default/login no
1420 --disable-lastlog disable use of lastlog even if detected no
1421 --disable-utmp disable use of utmp even if detected no
1422 --disable-utmpx disable use of utmpx even if detected no
1423 --disable-wtmp disable use of wtmp even if detected no
1424 --disable-wtmpx disable use of wtmpx even if detected no
1425 --disable-libutil disable use of libutil (login() etc.) no
1426 --disable-pututline disable use of pututline() etc. (uwtmp) no
1427 --disable-pututxline disable use of pututxline() etc. (uwtmpx) no
1428
1429Optional Packages:
1430 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
1431 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
1432 --without-openssl Disable use of OpenSSL; use only limited internal crypto **EXPERIMENTAL**
1433 --without-stackprotect Don't use compiler's stack protection
1434 --without-hardening Don't use toolchain hardening flags
1435 --without-rpath Disable auto-added -R linker paths
1436 --with-cflags Specify additional flags to pass to compiler
1437 --with-cflags-after Specify additional flags to pass to compiler after configure
1438 --with-cppflags Specify additional flags to pass to preprocessor
1439 --with-ldflags Specify additional flags to pass to linker
1440 --with-ldflags-after Specify additional flags to pass to linker after configure
1441 --with-libs Specify additional libraries to link with
1442 --with-Werror Build main code with -Werror
1443 --with-solaris-contracts Enable Solaris process contracts (experimental)
1444 --with-solaris-projects Enable Solaris projects (experimental)
1445 --with-solaris-privs Enable Solaris/Illumos privileges (experimental)
1446 --with-osfsia Enable Digital Unix SIA
1447 --with-zlib=PATH Use zlib in PATH
1448 --without-zlib-version-check Disable zlib version check
1449 --with-ldns[=PATH] Use ldns for DNSSEC support (optionally in PATH)
1450 --with-libedit[=PATH] Enable libedit support for sftp
1451 --with-audit=module Enable audit support (modules=debug,bsm,linux)
1452 --with-pie Build Position Independent Executables if possible
1453 --with-ssl-dir=PATH Specify path to OpenSSL installation
1454 --without-openssl-header-check Disable OpenSSL version consistency check
1455 --with-ssl-engine Enable OpenSSL (hardware) ENGINE support
1456 --with-prngd-port=PORT read entropy from PRNGD/EGD TCP localhost:PORT
1457 --with-prngd-socket=FILE read entropy from PRNGD/EGD socket FILE (default=/var/run/egd-pool)
1458 --with-pam Enable PAM support
1459 --with-pam-service=name Specify PAM service name
1460 --with-privsep-user=user Specify non-privileged user for privilege separation
1461 --with-sandbox=style Specify privilege separation sandbox (no, capsicum, darwin, rlimit, seccomp_filter, systrace, pledge)
1462 --with-selinux Enable SELinux support
1463 --with-kerberos5=PATH Enable Kerberos 5 support
1464 --with-privsep-path=xxx Path for privilege separation chroot (default=/var/empty)
1465 --with-xauth=PATH Specify path to xauth program
1466 --with-maildir=/path/to/mail Specify your system mail directory
1467 --with-mantype=man|cat|doc Set man page type
1468 --with-md5-passwords Enable use of MD5 passwords
1469 --without-shadow Disable shadow password support
1470 --with-ipaddr-display Use ip address instead of hostname in $DISPLAY
1471 --with-default-path= Specify default $PATH environment for server
1472 --with-superuser-path= Specify different path for super-user
1473 --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses
1474 --with-bsd-auth Enable BSD auth support
1475 --with-pid-dir=PATH Specify location of sshd.pid file
1476 --with-lastlog=FILE|DIR specify lastlog location common locations
1477
1478Some influential environment variables:
1479 CC C compiler command
1480 CFLAGS C compiler flags
1481 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
1482 nonstandard directory <lib dir>
1483 LIBS libraries to pass to the linker, e.g. -l<library>
1484 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
1485 you have headers in a nonstandard directory <include dir>
1486 CPP C preprocessor
1487
1488Use these variables to override the choices made by `configure' or to help
1489it to find libraries and programs with nonstandard names/locations.
1490
1491Report bugs to <openssh-unix-dev@mindrot.org>.
1492_ACEOF
1493ac_status=$?
1494fi
1495
1496if test "$ac_init_help" = "recursive"; then
1497 # If there are subdirs, report their specific --help.
1498 for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
1499 test -d "$ac_dir" ||
1500 { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
1501 continue
1502 ac_builddir=.
1503
1504case "$ac_dir" in
1505.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
1506*)
1507 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
1508 # A ".." for each directory in $ac_dir_suffix.
1509 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
1510 case $ac_top_builddir_sub in
1511 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
1512 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
1513 esac ;;
1514esac
1515ac_abs_top_builddir=$ac_pwd
1516ac_abs_builddir=$ac_pwd$ac_dir_suffix
1517# for backward compatibility:
1518ac_top_builddir=$ac_top_build_prefix
1519
1520case $srcdir in
1521 .) # We are building in place.
1522 ac_srcdir=.
1523 ac_top_srcdir=$ac_top_builddir_sub
1524 ac_abs_top_srcdir=$ac_pwd ;;
1525 [\\/]* | ?:[\\/]* ) # Absolute name.
1526 ac_srcdir=$srcdir$ac_dir_suffix;
1527 ac_top_srcdir=$srcdir
1528 ac_abs_top_srcdir=$srcdir ;;
1529 *) # Relative name.
1530 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
1531 ac_top_srcdir=$ac_top_build_prefix$srcdir
1532 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
1533esac
1534ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
1535
1536 cd "$ac_dir" || { ac_status=$?; continue; }
1537 # Check for guested configure.
1538 if test -f "$ac_srcdir/configure.gnu"; then
1539 echo &&
1540 $SHELL "$ac_srcdir/configure.gnu" --help=recursive
1541 elif test -f "$ac_srcdir/configure"; then
1542 echo &&
1543 $SHELL "$ac_srcdir/configure" --help=recursive
1544 else
1545 $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
1546 fi || ac_status=$?
1547 cd "$ac_pwd" || { ac_status=$?; break; }
1548 done
1549fi
1550
1551test -n "$ac_init_help" && exit $ac_status
1552if $ac_init_version; then
1553 cat <<\_ACEOF
1554OpenSSH configure Portable
1555generated by GNU Autoconf 2.69
1556
1557Copyright (C) 2012 Free Software Foundation, Inc.
1558This configure script is free software; the Free Software Foundation
1559gives unlimited permission to copy, distribute and modify it.
1560_ACEOF
1561 exit
1562fi
1563
1564## ------------------------ ##
1565## Autoconf initialization. ##
1566## ------------------------ ##
1567
1568# ac_fn_c_try_compile LINENO
1569# --------------------------
1570# Try to compile conftest.$ac_ext, and return whether this succeeded.
1571ac_fn_c_try_compile ()
1572{
1573 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1574 rm -f conftest.$ac_objext
1575 if { { ac_try="$ac_compile"
1576case "(($ac_try" in
1577 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1578 *) ac_try_echo=$ac_try;;
1579esac
1580eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1581$as_echo "$ac_try_echo"; } >&5
1582 (eval "$ac_compile") 2>conftest.err
1583 ac_status=$?
1584 if test -s conftest.err; then
1585 grep -v '^ *+' conftest.err >conftest.er1
1586 cat conftest.er1 >&5
1587 mv -f conftest.er1 conftest.err
1588 fi
1589 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1590 test $ac_status = 0; } && {
1591 test -z "$ac_c_werror_flag" ||
1592 test ! -s conftest.err
1593 } && test -s conftest.$ac_objext; then :
1594 ac_retval=0
1595else
1596 $as_echo "$as_me: failed program was:" >&5
1597sed 's/^/| /' conftest.$ac_ext >&5
1598
1599 ac_retval=1
1600fi
1601 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1602 as_fn_set_status $ac_retval
1603
1604} # ac_fn_c_try_compile
1605
1606# ac_fn_c_try_run LINENO
1607# ----------------------
1608# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
1609# that executables *can* be run.
1610ac_fn_c_try_run ()
1611{
1612 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1613 if { { ac_try="$ac_link"
1614case "(($ac_try" in
1615 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1616 *) ac_try_echo=$ac_try;;
1617esac
1618eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1619$as_echo "$ac_try_echo"; } >&5
1620 (eval "$ac_link") 2>&5
1621 ac_status=$?
1622 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1623 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
1624 { { case "(($ac_try" in
1625 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1626 *) ac_try_echo=$ac_try;;
1627esac
1628eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1629$as_echo "$ac_try_echo"; } >&5
1630 (eval "$ac_try") 2>&5
1631 ac_status=$?
1632 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1633 test $ac_status = 0; }; }; then :
1634 ac_retval=0
1635else
1636 $as_echo "$as_me: program exited with status $ac_status" >&5
1637 $as_echo "$as_me: failed program was:" >&5
1638sed 's/^/| /' conftest.$ac_ext >&5
1639
1640 ac_retval=$ac_status
1641fi
1642 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1643 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1644 as_fn_set_status $ac_retval
1645
1646} # ac_fn_c_try_run
1647
1648# ac_fn_c_try_cpp LINENO
1649# ----------------------
1650# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1651ac_fn_c_try_cpp ()
1652{
1653 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1654 if { { ac_try="$ac_cpp conftest.$ac_ext"
1655case "(($ac_try" in
1656 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1657 *) ac_try_echo=$ac_try;;
1658esac
1659eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1660$as_echo "$ac_try_echo"; } >&5
1661 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
1662 ac_status=$?
1663 if test -s conftest.err; then
1664 grep -v '^ *+' conftest.err >conftest.er1
1665 cat conftest.er1 >&5
1666 mv -f conftest.er1 conftest.err
1667 fi
1668 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1669 test $ac_status = 0; } > conftest.i && {
1670 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
1671 test ! -s conftest.err
1672 }; then :
1673 ac_retval=0
1674else
1675 $as_echo "$as_me: failed program was:" >&5
1676sed 's/^/| /' conftest.$ac_ext >&5
1677
1678 ac_retval=1
1679fi
1680 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1681 as_fn_set_status $ac_retval
1682
1683} # ac_fn_c_try_cpp
1684
1685# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
1686# -------------------------------------------------------
1687# Tests whether HEADER exists and can be compiled using the include files in
1688# INCLUDES, setting the cache variable VAR accordingly.
1689ac_fn_c_check_header_compile ()
1690{
1691 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1692 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1693$as_echo_n "checking for $2... " >&6; }
1694if eval \${$3+:} false; then :
1695 $as_echo_n "(cached) " >&6
1696else
1697 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1698/* end confdefs.h. */
1699$4
1700#include <$2>
1701_ACEOF
1702if ac_fn_c_try_compile "$LINENO"; then :
1703 eval "$3=yes"
1704else
1705 eval "$3=no"
1706fi
1707rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1708fi
1709eval ac_res=\$$3
1710 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1711$as_echo "$ac_res" >&6; }
1712 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1713
1714} # ac_fn_c_check_header_compile
1715
1716# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
1717# ---------------------------------------------
1718# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
1719# accordingly.
1720ac_fn_c_check_decl ()
1721{
1722 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1723 as_decl_name=`echo $2|sed 's/ *(.*//'`
1724 as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
1725 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
1726$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
1727if eval \${$3+:} false; then :
1728 $as_echo_n "(cached) " >&6
1729else
1730 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1731/* end confdefs.h. */
1732$4
1733int
1734main ()
1735{
1736#ifndef $as_decl_name
1737#ifdef __cplusplus
1738 (void) $as_decl_use;
1739#else
1740 (void) $as_decl_name;
1741#endif
1742#endif
1743
1744 ;
1745 return 0;
1746}
1747_ACEOF
1748if ac_fn_c_try_compile "$LINENO"; then :
1749 eval "$3=yes"
1750else
1751 eval "$3=no"
1752fi
1753rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1754fi
1755eval ac_res=\$$3
1756 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1757$as_echo "$ac_res" >&6; }
1758 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1759
1760} # ac_fn_c_check_decl
1761
1762# ac_fn_c_try_link LINENO
1763# -----------------------
1764# Try to link conftest.$ac_ext, and return whether this succeeded.
1765ac_fn_c_try_link ()
1766{
1767 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1768 rm -f conftest.$ac_objext conftest$ac_exeext
1769 if { { ac_try="$ac_link"
1770case "(($ac_try" in
1771 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1772 *) ac_try_echo=$ac_try;;
1773esac
1774eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1775$as_echo "$ac_try_echo"; } >&5
1776 (eval "$ac_link") 2>conftest.err
1777 ac_status=$?
1778 if test -s conftest.err; then
1779 grep -v '^ *+' conftest.err >conftest.er1
1780 cat conftest.er1 >&5
1781 mv -f conftest.er1 conftest.err
1782 fi
1783 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1784 test $ac_status = 0; } && {
1785 test -z "$ac_c_werror_flag" ||
1786 test ! -s conftest.err
1787 } && test -s conftest$ac_exeext && {
1788 test "$cross_compiling" = yes ||
1789 test -x conftest$ac_exeext
1790 }; then :
1791 ac_retval=0
1792else
1793 $as_echo "$as_me: failed program was:" >&5
1794sed 's/^/| /' conftest.$ac_ext >&5
1795
1796 ac_retval=1
1797fi
1798 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1799 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1800 # interfere with the next link command; also delete a directory that is
1801 # left behind by Apple's compiler. We do this before executing the actions.
1802 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1803 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1804 as_fn_set_status $ac_retval
1805
1806} # ac_fn_c_try_link
1807
1808# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
1809# -------------------------------------------------------
1810# Tests whether HEADER exists, giving a warning if it cannot be compiled using
1811# the include files in INCLUDES and setting the cache variable VAR
1812# accordingly.
1813ac_fn_c_check_header_mongrel ()
1814{
1815 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1816 if eval \${$3+:} false; then :
1817 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1818$as_echo_n "checking for $2... " >&6; }
1819if eval \${$3+:} false; then :
1820 $as_echo_n "(cached) " >&6
1821fi
1822eval ac_res=\$$3
1823 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1824$as_echo "$ac_res" >&6; }
1825else
1826 # Is the header compilable?
1827{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
1828$as_echo_n "checking $2 usability... " >&6; }
1829cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1830/* end confdefs.h. */
1831$4
1832#include <$2>
1833_ACEOF
1834if ac_fn_c_try_compile "$LINENO"; then :
1835 ac_header_compiler=yes
1836else
1837 ac_header_compiler=no
1838fi
1839rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1840{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
1841$as_echo "$ac_header_compiler" >&6; }
1842
1843# Is the header present?
1844{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
1845$as_echo_n "checking $2 presence... " >&6; }
1846cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1847/* end confdefs.h. */
1848#include <$2>
1849_ACEOF
1850if ac_fn_c_try_cpp "$LINENO"; then :
1851 ac_header_preproc=yes
1852else
1853 ac_header_preproc=no
1854fi
1855rm -f conftest.err conftest.i conftest.$ac_ext
1856{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
1857$as_echo "$ac_header_preproc" >&6; }
1858
1859# So? What about this header?
1860case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
1861 yes:no: )
1862 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
1863$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
1864 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1865$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1866 ;;
1867 no:yes:* )
1868 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
1869$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
1870 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
1871$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
1872 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
1873$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
1874 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
1875$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
1876 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
1877$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1878( $as_echo "## ------------------------------------------- ##
1879## Report this to openssh-unix-dev@mindrot.org ##
1880## ------------------------------------------- ##"
1881 ) | sed "s/^/$as_me: WARNING: /" >&2
1882 ;;
1883esac
1884 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1885$as_echo_n "checking for $2... " >&6; }
1886if eval \${$3+:} false; then :
1887 $as_echo_n "(cached) " >&6
1888else
1889 eval "$3=\$ac_header_compiler"
1890fi
1891eval ac_res=\$$3
1892 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1893$as_echo "$ac_res" >&6; }
1894fi
1895 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1896
1897} # ac_fn_c_check_header_mongrel
1898
1899# ac_fn_c_check_func LINENO FUNC VAR
1900# ----------------------------------
1901# Tests whether FUNC exists, setting the cache variable VAR accordingly
1902ac_fn_c_check_func ()
1903{
1904 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1905 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1906$as_echo_n "checking for $2... " >&6; }
1907if eval \${$3+:} false; then :
1908 $as_echo_n "(cached) " >&6
1909else
1910 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1911/* end confdefs.h. */
1912/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
1913 For example, HP-UX 11i <limits.h> declares gettimeofday. */
1914#define $2 innocuous_$2
1915
1916/* System header to define __stub macros and hopefully few prototypes,
1917 which can conflict with char $2 (); below.
1918 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
1919 <limits.h> exists even on freestanding compilers. */
1920
1921#ifdef __STDC__
1922# include <limits.h>
1923#else
1924# include <assert.h>
1925#endif
1926
1927#undef $2
1928
1929/* Override any GCC internal prototype to avoid an error.
1930 Use char because int might match the return type of a GCC
1931 builtin and then its argument prototype would still apply. */
1932#ifdef __cplusplus
1933extern "C"
1934#endif
1935char $2 ();
1936/* The GNU C library defines this for functions which it implements
1937 to always fail with ENOSYS. Some functions are actually named
1938 something starting with __ and the normal name is an alias. */
1939#if defined __stub_$2 || defined __stub___$2
1940choke me
1941#endif
1942
1943int
1944main ()
1945{
1946return $2 ();
1947 ;
1948 return 0;
1949}
1950_ACEOF
1951if ac_fn_c_try_link "$LINENO"; then :
1952 eval "$3=yes"
1953else
1954 eval "$3=no"
1955fi
1956rm -f core conftest.err conftest.$ac_objext \
1957 conftest$ac_exeext conftest.$ac_ext
1958fi
1959eval ac_res=\$$3
1960 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1961$as_echo "$ac_res" >&6; }
1962 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1963
1964} # ac_fn_c_check_func
1965
1966# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
1967# -------------------------------------------
1968# Tests whether TYPE exists after having included INCLUDES, setting cache
1969# variable VAR accordingly.
1970ac_fn_c_check_type ()
1971{
1972 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1973 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1974$as_echo_n "checking for $2... " >&6; }
1975if eval \${$3+:} false; then :
1976 $as_echo_n "(cached) " >&6
1977else
1978 eval "$3=no"
1979 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1980/* end confdefs.h. */
1981$4
1982int
1983main ()
1984{
1985if (sizeof ($2))
1986 return 0;
1987 ;
1988 return 0;
1989}
1990_ACEOF
1991if ac_fn_c_try_compile "$LINENO"; then :
1992 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1993/* end confdefs.h. */
1994$4
1995int
1996main ()
1997{
1998if (sizeof (($2)))
1999 return 0;
2000 ;
2001 return 0;
2002}
2003_ACEOF
2004if ac_fn_c_try_compile "$LINENO"; then :
2005
2006else
2007 eval "$3=yes"
2008fi
2009rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2010fi
2011rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2012fi
2013eval ac_res=\$$3
2014 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2015$as_echo "$ac_res" >&6; }
2016 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2017
2018} # ac_fn_c_check_type
2019
2020# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
2021# --------------------------------------------
2022# Tries to find the compile-time value of EXPR in a program that includes
2023# INCLUDES, setting VAR accordingly. Returns whether the value could be
2024# computed
2025ac_fn_c_compute_int ()
2026{
2027 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2028 if test "$cross_compiling" = yes; then
2029 # Depending upon the size, compute the lo and hi bounds.
2030cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2031/* end confdefs.h. */
2032$4
2033int
2034main ()
2035{
2036static int test_array [1 - 2 * !(($2) >= 0)];
2037test_array [0] = 0;
2038return test_array [0];
2039
2040 ;
2041 return 0;
2042}
2043_ACEOF
2044if ac_fn_c_try_compile "$LINENO"; then :
2045 ac_lo=0 ac_mid=0
2046 while :; do
2047 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2048/* end confdefs.h. */
2049$4
2050int
2051main ()
2052{
2053static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2054test_array [0] = 0;
2055return test_array [0];
2056
2057 ;
2058 return 0;
2059}
2060_ACEOF
2061if ac_fn_c_try_compile "$LINENO"; then :
2062 ac_hi=$ac_mid; break
2063else
2064 as_fn_arith $ac_mid + 1 && ac_lo=$as_val
2065 if test $ac_lo -le $ac_mid; then
2066 ac_lo= ac_hi=
2067 break
2068 fi
2069 as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
2070fi
2071rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2072 done
2073else
2074 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2075/* end confdefs.h. */
2076$4
2077int
2078main ()
2079{
2080static int test_array [1 - 2 * !(($2) < 0)];
2081test_array [0] = 0;
2082return test_array [0];
2083
2084 ;
2085 return 0;
2086}
2087_ACEOF
2088if ac_fn_c_try_compile "$LINENO"; then :
2089 ac_hi=-1 ac_mid=-1
2090 while :; do
2091 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2092/* end confdefs.h. */
2093$4
2094int
2095main ()
2096{
2097static int test_array [1 - 2 * !(($2) >= $ac_mid)];
2098test_array [0] = 0;
2099return test_array [0];
2100
2101 ;
2102 return 0;
2103}
2104_ACEOF
2105if ac_fn_c_try_compile "$LINENO"; then :
2106 ac_lo=$ac_mid; break
2107else
2108 as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
2109 if test $ac_mid -le $ac_hi; then
2110 ac_lo= ac_hi=
2111 break
2112 fi
2113 as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
2114fi
2115rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2116 done
2117else
2118 ac_lo= ac_hi=
2119fi
2120rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2121fi
2122rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2123# Binary search between lo and hi bounds.
2124while test "x$ac_lo" != "x$ac_hi"; do
2125 as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
2126 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2127/* end confdefs.h. */
2128$4
2129int
2130main ()
2131{
2132static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2133test_array [0] = 0;
2134return test_array [0];
2135
2136 ;
2137 return 0;
2138}
2139_ACEOF
2140if ac_fn_c_try_compile "$LINENO"; then :
2141 ac_hi=$ac_mid
2142else
2143 as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
2144fi
2145rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2146done
2147case $ac_lo in #((
2148?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
2149'') ac_retval=1 ;;
2150esac
2151 else
2152 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2153/* end confdefs.h. */
2154$4
2155static long int longval () { return $2; }
2156static unsigned long int ulongval () { return $2; }
2157#include <stdio.h>
2158#include <stdlib.h>
2159int
2160main ()
2161{
2162
2163 FILE *f = fopen ("conftest.val", "w");
2164 if (! f)
2165 return 1;
2166 if (($2) < 0)
2167 {
2168 long int i = longval ();
2169 if (i != ($2))
2170 return 1;
2171 fprintf (f, "%ld", i);
2172 }
2173 else
2174 {
2175 unsigned long int i = ulongval ();
2176 if (i != ($2))
2177 return 1;
2178 fprintf (f, "%lu", i);
2179 }
2180 /* Do not output a trailing newline, as this causes \r\n confusion
2181 on some platforms. */
2182 return ferror (f) || fclose (f) != 0;
2183
2184 ;
2185 return 0;
2186}
2187_ACEOF
2188if ac_fn_c_try_run "$LINENO"; then :
2189 echo >>conftest.val; read $3 <conftest.val; ac_retval=0
2190else
2191 ac_retval=1
2192fi
2193rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
2194 conftest.$ac_objext conftest.beam conftest.$ac_ext
2195rm -f conftest.val
2196
2197 fi
2198 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2199 as_fn_set_status $ac_retval
2200
2201} # ac_fn_c_compute_int
2202
2203# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
2204# ----------------------------------------------------
2205# Tries to find if the field MEMBER exists in type AGGR, after including
2206# INCLUDES, setting cache variable VAR accordingly.
2207ac_fn_c_check_member ()
2208{
2209 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2210 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
2211$as_echo_n "checking for $2.$3... " >&6; }
2212if eval \${$4+:} false; then :
2213 $as_echo_n "(cached) " >&6
2214else
2215 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2216/* end confdefs.h. */
2217$5
2218int
2219main ()
2220{
2221static $2 ac_aggr;
2222if (ac_aggr.$3)
2223return 0;
2224 ;
2225 return 0;
2226}
2227_ACEOF
2228if ac_fn_c_try_compile "$LINENO"; then :
2229 eval "$4=yes"
2230else
2231 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2232/* end confdefs.h. */
2233$5
2234int
2235main ()
2236{
2237static $2 ac_aggr;
2238if (sizeof ac_aggr.$3)
2239return 0;
2240 ;
2241 return 0;
2242}
2243_ACEOF
2244if ac_fn_c_try_compile "$LINENO"; then :
2245 eval "$4=yes"
2246else
2247 eval "$4=no"
2248fi
2249rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2250fi
2251rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2252fi
2253eval ac_res=\$$4
2254 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2255$as_echo "$ac_res" >&6; }
2256 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2257
2258} # ac_fn_c_check_member
2259cat >config.log <<_ACEOF
2260This file contains any messages produced by compilers while
2261running configure, to aid debugging if configure makes a mistake.
2262
2263It was created by OpenSSH $as_me Portable, which was
2264generated by GNU Autoconf 2.69. Invocation command line was
2265
2266 $ $0 $@
2267
2268_ACEOF
2269exec 5>>config.log
2270{
2271cat <<_ASUNAME
2272## --------- ##
2273## Platform. ##
2274## --------- ##
2275
2276hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2277uname -m = `(uname -m) 2>/dev/null || echo unknown`
2278uname -r = `(uname -r) 2>/dev/null || echo unknown`
2279uname -s = `(uname -s) 2>/dev/null || echo unknown`
2280uname -v = `(uname -v) 2>/dev/null || echo unknown`
2281
2282/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2283/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
2284
2285/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
2286/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
2287/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2288/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
2289/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
2290/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
2291/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
2292
2293_ASUNAME
2294
2295as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2296for as_dir in $PATH
2297do
2298 IFS=$as_save_IFS
2299 test -z "$as_dir" && as_dir=.
2300 $as_echo "PATH: $as_dir"
2301 done
2302IFS=$as_save_IFS
2303
2304} >&5
2305
2306cat >&5 <<_ACEOF
2307
2308
2309## ----------- ##
2310## Core tests. ##
2311## ----------- ##
2312
2313_ACEOF
2314
2315
2316# Keep a trace of the command line.
2317# Strip out --no-create and --no-recursion so they do not pile up.
2318# Strip out --silent because we don't want to record it for future runs.
2319# Also quote any args containing shell meta-characters.
2320# Make two passes to allow for proper duplicate-argument suppression.
2321ac_configure_args=
2322ac_configure_args0=
2323ac_configure_args1=
2324ac_must_keep_next=false
2325for ac_pass in 1 2
2326do
2327 for ac_arg
2328 do
2329 case $ac_arg in
2330 -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2331 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2332 | -silent | --silent | --silen | --sile | --sil)
2333 continue ;;
2334 *\'*)
2335 ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2336 esac
2337 case $ac_pass in
2338 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2339 2)
2340 as_fn_append ac_configure_args1 " '$ac_arg'"
2341 if test $ac_must_keep_next = true; then
2342 ac_must_keep_next=false # Got value, back to normal.
2343 else
2344 case $ac_arg in
2345 *=* | --config-cache | -C | -disable-* | --disable-* \
2346 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2347 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2348 | -with-* | --with-* | -without-* | --without-* | --x)
2349 case "$ac_configure_args0 " in
2350 "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2351 esac
2352 ;;
2353 -* ) ac_must_keep_next=true ;;
2354 esac
2355 fi
2356 as_fn_append ac_configure_args " '$ac_arg'"
2357 ;;
2358 esac
2359 done
2360done
2361{ ac_configure_args0=; unset ac_configure_args0;}
2362{ ac_configure_args1=; unset ac_configure_args1;}
2363
2364# When interrupted or exit'd, cleanup temporary files, and complete
2365# config.log. We remove comments because anyway the quotes in there
2366# would cause problems or look ugly.
2367# WARNING: Use '\'' to represent an apostrophe within the trap.
2368# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
2369trap 'exit_status=$?
2370 # Save into config.log some information that might help in debugging.
2371 {
2372 echo
2373
2374 $as_echo "## ---------------- ##
2375## Cache variables. ##
2376## ---------------- ##"
2377 echo
2378 # The following way of writing the cache mishandles newlines in values,
2379(
2380 for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
2381 eval ac_val=\$$ac_var
2382 case $ac_val in #(
2383 *${as_nl}*)
2384 case $ac_var in #(
2385 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
2386$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2387 esac
2388 case $ac_var in #(
2389 _ | IFS | as_nl) ;; #(
2390 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
2391 *) { eval $ac_var=; unset $ac_var;} ;;
2392 esac ;;
2393 esac
2394 done
2395 (set) 2>&1 |
2396 case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
2397 *${as_nl}ac_space=\ *)
2398 sed -n \
2399 "s/'\''/'\''\\\\'\'''\''/g;
2400 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
2401 ;; #(
2402 *)
2403 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
2404 ;;
2405 esac |
2406 sort
2407)
2408 echo
2409
2410 $as_echo "## ----------------- ##
2411## Output variables. ##
2412## ----------------- ##"
2413 echo
2414 for ac_var in $ac_subst_vars
2415 do
2416 eval ac_val=\$$ac_var
2417 case $ac_val in
2418 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2419 esac
2420 $as_echo "$ac_var='\''$ac_val'\''"
2421 done | sort
2422 echo
2423
2424 if test -n "$ac_subst_files"; then
2425 $as_echo "## ------------------- ##
2426## File substitutions. ##
2427## ------------------- ##"
2428 echo
2429 for ac_var in $ac_subst_files
2430 do
2431 eval ac_val=\$$ac_var
2432 case $ac_val in
2433 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2434 esac
2435 $as_echo "$ac_var='\''$ac_val'\''"
2436 done | sort
2437 echo
2438 fi
2439
2440 if test -s confdefs.h; then
2441 $as_echo "## ----------- ##
2442## confdefs.h. ##
2443## ----------- ##"
2444 echo
2445 cat confdefs.h
2446 echo
2447 fi
2448 test "$ac_signal" != 0 &&
2449 $as_echo "$as_me: caught signal $ac_signal"
2450 $as_echo "$as_me: exit $exit_status"
2451 } >&5
2452 rm -f core *.core core.conftest.* &&
2453 rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
2454 exit $exit_status
2455' 0
2456for ac_signal in 1 2 13 15; do
2457 trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
2458done
2459ac_signal=0
2460
2461# confdefs.h avoids OS command line length limits that DEFS can exceed.
2462rm -f -r conftest* confdefs.h
2463
2464$as_echo "/* confdefs.h */" > confdefs.h
2465
2466# Predefined preprocessor variables.
2467
2468cat >>confdefs.h <<_ACEOF
2469#define PACKAGE_NAME "$PACKAGE_NAME"
2470_ACEOF
2471
2472cat >>confdefs.h <<_ACEOF
2473#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
2474_ACEOF
2475
2476cat >>confdefs.h <<_ACEOF
2477#define PACKAGE_VERSION "$PACKAGE_VERSION"
2478_ACEOF
2479
2480cat >>confdefs.h <<_ACEOF
2481#define PACKAGE_STRING "$PACKAGE_STRING"
2482_ACEOF
2483
2484cat >>confdefs.h <<_ACEOF
2485#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
2486_ACEOF
2487
2488cat >>confdefs.h <<_ACEOF
2489#define PACKAGE_URL "$PACKAGE_URL"
2490_ACEOF
2491
2492
2493# Let the site file select an alternate cache file if it wants to.
2494# Prefer an explicitly selected file to automatically selected ones.
2495ac_site_file1=NONE
2496ac_site_file2=NONE
2497if test -n "$CONFIG_SITE"; then
2498 # We do not want a PATH search for config.site.
2499 case $CONFIG_SITE in #((
2500 -*) ac_site_file1=./$CONFIG_SITE;;
2501 */*) ac_site_file1=$CONFIG_SITE;;
2502 *) ac_site_file1=./$CONFIG_SITE;;
2503 esac
2504elif test "x$prefix" != xNONE; then
2505 ac_site_file1=$prefix/share/config.site
2506 ac_site_file2=$prefix/etc/config.site
2507else
2508 ac_site_file1=$ac_default_prefix/share/config.site
2509 ac_site_file2=$ac_default_prefix/etc/config.site
2510fi
2511for ac_site_file in "$ac_site_file1" "$ac_site_file2"
2512do
2513 test "x$ac_site_file" = xNONE && continue
2514 if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
2515 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
2516$as_echo "$as_me: loading site script $ac_site_file" >&6;}
2517 sed 's/^/| /' "$ac_site_file" >&5
2518 . "$ac_site_file" \
2519 || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2520$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2521as_fn_error $? "failed to load site script $ac_site_file
2522See \`config.log' for more details" "$LINENO" 5; }
2523 fi
2524done
2525
2526if test -r "$cache_file"; then
2527 # Some versions of bash will fail to source /dev/null (special files
2528 # actually), so we avoid doing that. DJGPP emulates it as a regular file.
2529 if test /dev/null != "$cache_file" && test -f "$cache_file"; then
2530 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
2531$as_echo "$as_me: loading cache $cache_file" >&6;}
2532 case $cache_file in
2533 [\\/]* | ?:[\\/]* ) . "$cache_file";;
2534 *) . "./$cache_file";;
2535 esac
2536 fi
2537else
2538 { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
2539$as_echo "$as_me: creating cache $cache_file" >&6;}
2540 >$cache_file
2541fi
2542
2543# Check that the precious variables saved in the cache have kept the same
2544# value.
2545ac_cache_corrupted=false
2546for ac_var in $ac_precious_vars; do
2547 eval ac_old_set=\$ac_cv_env_${ac_var}_set
2548 eval ac_new_set=\$ac_env_${ac_var}_set
2549 eval ac_old_val=\$ac_cv_env_${ac_var}_value
2550 eval ac_new_val=\$ac_env_${ac_var}_value
2551 case $ac_old_set,$ac_new_set in
2552 set,)
2553 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
2554$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
2555 ac_cache_corrupted=: ;;
2556 ,set)
2557 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
2558$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
2559 ac_cache_corrupted=: ;;
2560 ,);;
2561 *)
2562 if test "x$ac_old_val" != "x$ac_new_val"; then
2563 # differences in whitespace do not lead to failure.
2564 ac_old_val_w=`echo x $ac_old_val`
2565 ac_new_val_w=`echo x $ac_new_val`
2566 if test "$ac_old_val_w" != "$ac_new_val_w"; then
2567 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
2568$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
2569 ac_cache_corrupted=:
2570 else
2571 { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
2572$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
2573 eval $ac_var=\$ac_old_val
2574 fi
2575 { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
2576$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
2577 { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
2578$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
2579 fi;;
2580 esac
2581 # Pass precious variables to config.status.
2582 if test "$ac_new_set" = set; then
2583 case $ac_new_val in
2584 *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
2585 *) ac_arg=$ac_var=$ac_new_val ;;
2586 esac
2587 case " $ac_configure_args " in
2588 *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
2589 *) as_fn_append ac_configure_args " '$ac_arg'" ;;
2590 esac
2591 fi
2592done
2593if $ac_cache_corrupted; then
2594 { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2595$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2596 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
2597$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2598 as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
2599fi
2600## -------------------- ##
2601## Main body of script. ##
2602## -------------------- ##
2603
2604ac_ext=c
2605ac_cpp='$CPP $CPPFLAGS'
2606ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2607ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2608ac_compiler_gnu=$ac_cv_c_compiler_gnu
2609
2610
2611
2612
2613ac_ext=c
2614ac_cpp='$CPP $CPPFLAGS'
2615ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2616ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2617ac_compiler_gnu=$ac_cv_c_compiler_gnu
2618
2619
2620ac_config_headers="$ac_config_headers config.h"
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
2627if test -n "$ac_tool_prefix"; then
2628 for ac_prog in cc gcc
2629 do
2630 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
2631set dummy $ac_tool_prefix$ac_prog; ac_word=$2
2632{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2633$as_echo_n "checking for $ac_word... " >&6; }
2634if ${ac_cv_prog_CC+:} false; then :
2635 $as_echo_n "(cached) " >&6
2636else
2637 if test -n "$CC"; then
2638 ac_cv_prog_CC="$CC" # Let the user override the test.
2639else
2640as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2641for as_dir in $PATH
2642do
2643 IFS=$as_save_IFS
2644 test -z "$as_dir" && as_dir=.
2645 for ac_exec_ext in '' $ac_executable_extensions; do
2646 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2647 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
2648 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2649 break 2
2650 fi
2651done
2652 done
2653IFS=$as_save_IFS
2654
2655fi
2656fi
2657CC=$ac_cv_prog_CC
2658if test -n "$CC"; then
2659 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
2660$as_echo "$CC" >&6; }
2661else
2662 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2663$as_echo "no" >&6; }
2664fi
2665
2666
2667 test -n "$CC" && break
2668 done
2669fi
2670if test -z "$CC"; then
2671 ac_ct_CC=$CC
2672 for ac_prog in cc gcc
2673do
2674 # Extract the first word of "$ac_prog", so it can be a program name with args.
2675set dummy $ac_prog; ac_word=$2
2676{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2677$as_echo_n "checking for $ac_word... " >&6; }
2678if ${ac_cv_prog_ac_ct_CC+:} false; then :
2679 $as_echo_n "(cached) " >&6
2680else
2681 if test -n "$ac_ct_CC"; then
2682 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
2683else
2684as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2685for as_dir in $PATH
2686do
2687 IFS=$as_save_IFS
2688 test -z "$as_dir" && as_dir=.
2689 for ac_exec_ext in '' $ac_executable_extensions; do
2690 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
2691 ac_cv_prog_ac_ct_CC="$ac_prog"
2692 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2693 break 2
2694 fi
2695done
2696 done
2697IFS=$as_save_IFS
2698
2699fi
2700fi
2701ac_ct_CC=$ac_cv_prog_ac_ct_CC
2702if test -n "$ac_ct_CC"; then
2703 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
2704$as_echo "$ac_ct_CC" >&6; }
2705else
2706 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2707$as_echo "no" >&6; }
2708fi
2709
2710
2711 test -n "$ac_ct_CC" && break
2712done
2713
2714 if test "x$ac_ct_CC" = x; then
2715 CC=""
2716 else
2717 case $cross_compiling:$ac_tool_warned in
2718yes:)
2719{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
2720$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
2721ac_tool_warned=yes ;;
2722esac
2723 CC=$ac_ct_CC
2724 fi
2725fi
2726
2727
2728test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2729$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2730as_fn_error $? "no acceptable C compiler found in \$PATH
2731See \`config.log' for more details" "$LINENO" 5; }
2732
2733# Provide some information about the compiler.
2734$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
2735set X $ac_compile
2736ac_compiler=$2
2737for ac_option in --version -v -V -qversion; do
2738 { { ac_try="$ac_compiler $ac_option >&5"
2739case "(($ac_try" in
2740 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2741 *) ac_try_echo=$ac_try;;
2742esac
2743eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2744$as_echo "$ac_try_echo"; } >&5
2745 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
2746 ac_status=$?
2747 if test -s conftest.err; then
2748 sed '10a\
2749... rest of stderr output deleted ...
2750 10q' conftest.err >conftest.er1
2751 cat conftest.er1 >&5
2752 fi
2753 rm -f conftest.er1 conftest.err
2754 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2755 test $ac_status = 0; }
2756done
2757
2758cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2759/* end confdefs.h. */
2760
2761int
2762main ()
2763{
2764
2765 ;
2766 return 0;
2767}
2768_ACEOF
2769ac_clean_files_save=$ac_clean_files
2770ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
2771# Try to create an executable without -o first, disregard a.out.
2772# It will help us diagnose broken compilers, and finding out an intuition
2773# of exeext.
2774{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
2775$as_echo_n "checking whether the C compiler works... " >&6; }
2776ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
2777
2778# The possible output files:
2779ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
2780
2781ac_rmfiles=
2782for ac_file in $ac_files
2783do
2784 case $ac_file in
2785 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
2786 * ) ac_rmfiles="$ac_rmfiles $ac_file";;
2787 esac
2788done
2789rm -f $ac_rmfiles
2790
2791if { { ac_try="$ac_link_default"
2792case "(($ac_try" in
2793 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2794 *) ac_try_echo=$ac_try;;
2795esac
2796eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2797$as_echo "$ac_try_echo"; } >&5
2798 (eval "$ac_link_default") 2>&5
2799 ac_status=$?
2800 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2801 test $ac_status = 0; }; then :
2802 # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
2803# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
2804# in a Makefile. We should not override ac_cv_exeext if it was cached,
2805# so that the user can short-circuit this test for compilers unknown to
2806# Autoconf.
2807for ac_file in $ac_files ''
2808do
2809 test -f "$ac_file" || continue
2810 case $ac_file in
2811 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
2812 ;;
2813 [ab].out )
2814 # We found the default executable, but exeext='' is most
2815 # certainly right.
2816 break;;
2817 *.* )
2818 if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
2819 then :; else
2820 ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
2821 fi
2822 # We set ac_cv_exeext here because the later test for it is not
2823 # safe: cross compilers may not add the suffix if given an `-o'
2824 # argument, so we may need to know it at that point already.
2825 # Even if this section looks crufty: it has the advantage of
2826 # actually working.
2827 break;;
2828 * )
2829 break;;
2830 esac
2831done
2832test "$ac_cv_exeext" = no && ac_cv_exeext=
2833
2834else
2835 ac_file=''
2836fi
2837if test -z "$ac_file"; then :
2838 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2839$as_echo "no" >&6; }
2840$as_echo "$as_me: failed program was:" >&5
2841sed 's/^/| /' conftest.$ac_ext >&5
2842
2843{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2844$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2845as_fn_error 77 "C compiler cannot create executables
2846See \`config.log' for more details" "$LINENO" 5; }
2847else
2848 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
2849$as_echo "yes" >&6; }
2850fi
2851{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
2852$as_echo_n "checking for C compiler default output file name... " >&6; }
2853{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
2854$as_echo "$ac_file" >&6; }
2855ac_exeext=$ac_cv_exeext
2856
2857rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
2858ac_clean_files=$ac_clean_files_save
2859{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
2860$as_echo_n "checking for suffix of executables... " >&6; }
2861if { { ac_try="$ac_link"
2862case "(($ac_try" in
2863 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2864 *) ac_try_echo=$ac_try;;
2865esac
2866eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2867$as_echo "$ac_try_echo"; } >&5
2868 (eval "$ac_link") 2>&5
2869 ac_status=$?
2870 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2871 test $ac_status = 0; }; then :
2872 # If both `conftest.exe' and `conftest' are `present' (well, observable)
2873# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
2874# work properly (i.e., refer to `conftest.exe'), while it won't with
2875# `rm'.
2876for ac_file in conftest.exe conftest conftest.*; do
2877 test -f "$ac_file" || continue
2878 case $ac_file in
2879 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
2880 *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
2881 break;;
2882 * ) break;;
2883 esac
2884done
2885else
2886 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2887$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2888as_fn_error $? "cannot compute suffix of executables: cannot compile and link
2889See \`config.log' for more details" "$LINENO" 5; }
2890fi
2891rm -f conftest conftest$ac_cv_exeext
2892{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
2893$as_echo "$ac_cv_exeext" >&6; }
2894
2895rm -f conftest.$ac_ext
2896EXEEXT=$ac_cv_exeext
2897ac_exeext=$EXEEXT
2898cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2899/* end confdefs.h. */
2900#include <stdio.h>
2901int
2902main ()
2903{
2904FILE *f = fopen ("conftest.out", "w");
2905 return ferror (f) || fclose (f) != 0;
2906
2907 ;
2908 return 0;
2909}
2910_ACEOF
2911ac_clean_files="$ac_clean_files conftest.out"
2912# Check that the compiler produces executables we can run. If not, either
2913# the compiler is broken, or we cross compile.
2914{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
2915$as_echo_n "checking whether we are cross compiling... " >&6; }
2916if test "$cross_compiling" != yes; then
2917 { { ac_try="$ac_link"
2918case "(($ac_try" in
2919 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2920 *) ac_try_echo=$ac_try;;
2921esac
2922eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2923$as_echo "$ac_try_echo"; } >&5
2924 (eval "$ac_link") 2>&5
2925 ac_status=$?
2926 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2927 test $ac_status = 0; }
2928 if { ac_try='./conftest$ac_cv_exeext'
2929 { { case "(($ac_try" in
2930 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2931 *) ac_try_echo=$ac_try;;
2932esac
2933eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2934$as_echo "$ac_try_echo"; } >&5
2935 (eval "$ac_try") 2>&5
2936 ac_status=$?
2937 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2938 test $ac_status = 0; }; }; then
2939 cross_compiling=no
2940 else
2941 if test "$cross_compiling" = maybe; then
2942 cross_compiling=yes
2943 else
2944 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2945$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2946as_fn_error $? "cannot run C compiled programs.
2947If you meant to cross compile, use \`--host'.
2948See \`config.log' for more details" "$LINENO" 5; }
2949 fi
2950 fi
2951fi
2952{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
2953$as_echo "$cross_compiling" >&6; }
2954
2955rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
2956ac_clean_files=$ac_clean_files_save
2957{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
2958$as_echo_n "checking for suffix of object files... " >&6; }
2959if ${ac_cv_objext+:} false; then :
2960 $as_echo_n "(cached) " >&6
2961else
2962 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2963/* end confdefs.h. */
2964
2965int
2966main ()
2967{
2968
2969 ;
2970 return 0;
2971}
2972_ACEOF
2973rm -f conftest.o conftest.obj
2974if { { ac_try="$ac_compile"
2975case "(($ac_try" in
2976 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2977 *) ac_try_echo=$ac_try;;
2978esac
2979eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2980$as_echo "$ac_try_echo"; } >&5
2981 (eval "$ac_compile") 2>&5
2982 ac_status=$?
2983 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2984 test $ac_status = 0; }; then :
2985 for ac_file in conftest.o conftest.obj conftest.*; do
2986 test -f "$ac_file" || continue;
2987 case $ac_file in
2988 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
2989 *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
2990 break;;
2991 esac
2992done
2993else
2994 $as_echo "$as_me: failed program was:" >&5
2995sed 's/^/| /' conftest.$ac_ext >&5
2996
2997{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2998$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2999as_fn_error $? "cannot compute suffix of object files: cannot compile
3000See \`config.log' for more details" "$LINENO" 5; }
3001fi
3002rm -f conftest.$ac_cv_objext conftest.$ac_ext
3003fi
3004{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
3005$as_echo "$ac_cv_objext" >&6; }
3006OBJEXT=$ac_cv_objext
3007ac_objext=$OBJEXT
3008{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
3009$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
3010if ${ac_cv_c_compiler_gnu+:} false; then :
3011 $as_echo_n "(cached) " >&6
3012else
3013 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3014/* end confdefs.h. */
3015
3016int
3017main ()
3018{
3019#ifndef __GNUC__
3020 choke me
3021#endif
3022
3023 ;
3024 return 0;
3025}
3026_ACEOF
3027if ac_fn_c_try_compile "$LINENO"; then :
3028 ac_compiler_gnu=yes
3029else
3030 ac_compiler_gnu=no
3031fi
3032rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3033ac_cv_c_compiler_gnu=$ac_compiler_gnu
3034
3035fi
3036{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
3037$as_echo "$ac_cv_c_compiler_gnu" >&6; }
3038if test $ac_compiler_gnu = yes; then
3039 GCC=yes
3040else
3041 GCC=
3042fi
3043ac_test_CFLAGS=${CFLAGS+set}
3044ac_save_CFLAGS=$CFLAGS
3045{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
3046$as_echo_n "checking whether $CC accepts -g... " >&6; }
3047if ${ac_cv_prog_cc_g+:} false; then :
3048 $as_echo_n "(cached) " >&6
3049else
3050 ac_save_c_werror_flag=$ac_c_werror_flag
3051 ac_c_werror_flag=yes
3052 ac_cv_prog_cc_g=no
3053 CFLAGS="-g"
3054 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3055/* end confdefs.h. */
3056
3057int
3058main ()
3059{
3060
3061 ;
3062 return 0;
3063}
3064_ACEOF
3065if ac_fn_c_try_compile "$LINENO"; then :
3066 ac_cv_prog_cc_g=yes
3067else
3068 CFLAGS=""
3069 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3070/* end confdefs.h. */
3071
3072int
3073main ()
3074{
3075
3076 ;
3077 return 0;
3078}
3079_ACEOF
3080if ac_fn_c_try_compile "$LINENO"; then :
3081
3082else
3083 ac_c_werror_flag=$ac_save_c_werror_flag
3084 CFLAGS="-g"
3085 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3086/* end confdefs.h. */
3087
3088int
3089main ()
3090{
3091
3092 ;
3093 return 0;
3094}
3095_ACEOF
3096if ac_fn_c_try_compile "$LINENO"; then :
3097 ac_cv_prog_cc_g=yes
3098fi
3099rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3100fi
3101rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3102fi
3103rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3104 ac_c_werror_flag=$ac_save_c_werror_flag
3105fi
3106{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
3107$as_echo "$ac_cv_prog_cc_g" >&6; }
3108if test "$ac_test_CFLAGS" = set; then
3109 CFLAGS=$ac_save_CFLAGS
3110elif test $ac_cv_prog_cc_g = yes; then
3111 if test "$GCC" = yes; then
3112 CFLAGS="-g -O2"
3113 else
3114 CFLAGS="-g"
3115 fi
3116else
3117 if test "$GCC" = yes; then
3118 CFLAGS="-O2"
3119 else
3120 CFLAGS=
3121 fi
3122fi
3123{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
3124$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
3125if ${ac_cv_prog_cc_c89+:} false; then :
3126 $as_echo_n "(cached) " >&6
3127else
3128 ac_cv_prog_cc_c89=no
3129ac_save_CC=$CC
3130cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3131/* end confdefs.h. */
3132#include <stdarg.h>
3133#include <stdio.h>
3134struct stat;
3135/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
3136struct buf { int x; };
3137FILE * (*rcsopen) (struct buf *, struct stat *, int);
3138static char *e (p, i)
3139 char **p;
3140 int i;
3141{
3142 return p[i];
3143}
3144static char *f (char * (*g) (char **, int), char **p, ...)
3145{
3146 char *s;
3147 va_list v;
3148 va_start (v,p);
3149 s = g (p, va_arg (v,int));
3150 va_end (v);
3151 return s;
3152}
3153
3154/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
3155 function prototypes and stuff, but not '\xHH' hex character constants.
3156 These don't provoke an error unfortunately, instead are silently treated
3157 as 'x'. The following induces an error, until -std is added to get
3158 proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
3159 array size at least. It's necessary to write '\x00'==0 to get something
3160 that's true only with -std. */
3161int osf4_cc_array ['\x00' == 0 ? 1 : -1];
3162
3163/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
3164 inside strings and character constants. */
3165#define FOO(x) 'x'
3166int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
3167
3168int test (int i, double x);
3169struct s1 {int (*f) (int a);};
3170struct s2 {int (*f) (double a);};
3171int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
3172int argc;
3173char **argv;
3174int
3175main ()
3176{
3177return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
3178 ;
3179 return 0;
3180}
3181_ACEOF
3182for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
3183 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
3184do
3185 CC="$ac_save_CC $ac_arg"
3186 if ac_fn_c_try_compile "$LINENO"; then :
3187 ac_cv_prog_cc_c89=$ac_arg
3188fi
3189rm -f core conftest.err conftest.$ac_objext
3190 test "x$ac_cv_prog_cc_c89" != "xno" && break
3191done
3192rm -f conftest.$ac_ext
3193CC=$ac_save_CC
3194
3195fi
3196# AC_CACHE_VAL
3197case "x$ac_cv_prog_cc_c89" in
3198 x)
3199 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
3200$as_echo "none needed" >&6; } ;;
3201 xno)
3202 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
3203$as_echo "unsupported" >&6; } ;;
3204 *)
3205 CC="$CC $ac_cv_prog_cc_c89"
3206 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
3207$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
3208esac
3209if test "x$ac_cv_prog_cc_c89" != xno; then :
3210
3211fi
3212
3213ac_ext=c
3214ac_cpp='$CPP $CPPFLAGS'
3215ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3216ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3217ac_compiler_gnu=$ac_cv_c_compiler_gnu
3218
3219ac_aux_dir=
3220for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
3221 if test -f "$ac_dir/install-sh"; then
3222 ac_aux_dir=$ac_dir
3223 ac_install_sh="$ac_aux_dir/install-sh -c"
3224 break
3225 elif test -f "$ac_dir/install.sh"; then
3226 ac_aux_dir=$ac_dir
3227 ac_install_sh="$ac_aux_dir/install.sh -c"
3228 break
3229 elif test -f "$ac_dir/shtool"; then
3230 ac_aux_dir=$ac_dir
3231 ac_install_sh="$ac_aux_dir/shtool install -c"
3232 break
3233 fi
3234done
3235if test -z "$ac_aux_dir"; then
3236 as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
3237fi
3238
3239# These three variables are undocumented and unsupported,
3240# and are intended to be withdrawn in a future Autoconf release.
3241# They can cause serious problems if a builder's source tree is in a directory
3242# whose full name contains unusual characters.
3243ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
3244ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
3245ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
3246
3247
3248# Make sure we can run config.sub.
3249$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
3250 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
3251
3252{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
3253$as_echo_n "checking build system type... " >&6; }
3254if ${ac_cv_build+:} false; then :
3255 $as_echo_n "(cached) " >&6
3256else
3257 ac_build_alias=$build_alias
3258test "x$ac_build_alias" = x &&
3259 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
3260test "x$ac_build_alias" = x &&
3261 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
3262ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
3263 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
3264
3265fi
3266{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
3267$as_echo "$ac_cv_build" >&6; }
3268case $ac_cv_build in
3269*-*-*) ;;
3270*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
3271esac
3272build=$ac_cv_build
3273ac_save_IFS=$IFS; IFS='-'
3274set x $ac_cv_build
3275shift
3276build_cpu=$1
3277build_vendor=$2
3278shift; shift
3279# Remember, the first character of IFS is used to create $*,
3280# except with old shells:
3281build_os=$*
3282IFS=$ac_save_IFS
3283case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
3284
3285
3286{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
3287$as_echo_n "checking host system type... " >&6; }
3288if ${ac_cv_host+:} false; then :
3289 $as_echo_n "(cached) " >&6
3290else
3291 if test "x$host_alias" = x; then
3292 ac_cv_host=$ac_cv_build
3293else
3294 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
3295 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
3296fi
3297
3298fi
3299{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
3300$as_echo "$ac_cv_host" >&6; }
3301case $ac_cv_host in
3302*-*-*) ;;
3303*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
3304esac
3305host=$ac_cv_host
3306ac_save_IFS=$IFS; IFS='-'
3307set x $ac_cv_host
3308shift
3309host_cpu=$1
3310host_vendor=$2
3311shift; shift
3312# Remember, the first character of IFS is used to create $*,
3313# except with old shells:
3314host_os=$*
3315IFS=$ac_save_IFS
3316case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
3317
3318
3319
3320ac_ext=c
3321ac_cpp='$CPP $CPPFLAGS'
3322ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3323ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3324ac_compiler_gnu=$ac_cv_c_compiler_gnu
3325{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
3326$as_echo_n "checking how to run the C preprocessor... " >&6; }
3327# On Suns, sometimes $CPP names a directory.
3328if test -n "$CPP" && test -d "$CPP"; then
3329 CPP=
3330fi
3331if test -z "$CPP"; then
3332 if ${ac_cv_prog_CPP+:} false; then :
3333 $as_echo_n "(cached) " >&6
3334else
3335 # Double quotes because CPP needs to be expanded
3336 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
3337 do
3338 ac_preproc_ok=false
3339for ac_c_preproc_warn_flag in '' yes
3340do
3341 # Use a header file that comes with gcc, so configuring glibc
3342 # with a fresh cross-compiler works.
3343 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
3344 # <limits.h> exists even on freestanding compilers.
3345 # On the NeXT, cc -E runs the code through the compiler's parser,
3346 # not just through cpp. "Syntax error" is here to catch this case.
3347 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3348/* end confdefs.h. */
3349#ifdef __STDC__
3350# include <limits.h>
3351#else
3352# include <assert.h>
3353#endif
3354 Syntax error
3355_ACEOF
3356if ac_fn_c_try_cpp "$LINENO"; then :
3357
3358else
3359 # Broken: fails on valid input.
3360continue
3361fi
3362rm -f conftest.err conftest.i conftest.$ac_ext
3363
3364 # OK, works on sane cases. Now check whether nonexistent headers
3365 # can be detected and how.
3366 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3367/* end confdefs.h. */
3368#include <ac_nonexistent.h>
3369_ACEOF
3370if ac_fn_c_try_cpp "$LINENO"; then :
3371 # Broken: success on invalid input.
3372continue
3373else
3374 # Passes both tests.
3375ac_preproc_ok=:
3376break
3377fi
3378rm -f conftest.err conftest.i conftest.$ac_ext
3379
3380done
3381# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
3382rm -f conftest.i conftest.err conftest.$ac_ext
3383if $ac_preproc_ok; then :
3384 break
3385fi
3386
3387 done
3388 ac_cv_prog_CPP=$CPP
3389
3390fi
3391 CPP=$ac_cv_prog_CPP
3392else
3393 ac_cv_prog_CPP=$CPP
3394fi
3395{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
3396$as_echo "$CPP" >&6; }
3397ac_preproc_ok=false
3398for ac_c_preproc_warn_flag in '' yes
3399do
3400 # Use a header file that comes with gcc, so configuring glibc
3401 # with a fresh cross-compiler works.
3402 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
3403 # <limits.h> exists even on freestanding compilers.
3404 # On the NeXT, cc -E runs the code through the compiler's parser,
3405 # not just through cpp. "Syntax error" is here to catch this case.
3406 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3407/* end confdefs.h. */
3408#ifdef __STDC__
3409# include <limits.h>
3410#else
3411# include <assert.h>
3412#endif
3413 Syntax error
3414_ACEOF
3415if ac_fn_c_try_cpp "$LINENO"; then :
3416
3417else
3418 # Broken: fails on valid input.
3419continue
3420fi
3421rm -f conftest.err conftest.i conftest.$ac_ext
3422
3423 # OK, works on sane cases. Now check whether nonexistent headers
3424 # can be detected and how.
3425 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3426/* end confdefs.h. */
3427#include <ac_nonexistent.h>
3428_ACEOF
3429if ac_fn_c_try_cpp "$LINENO"; then :
3430 # Broken: success on invalid input.
3431continue
3432else
3433 # Passes both tests.
3434ac_preproc_ok=:
3435break
3436fi
3437rm -f conftest.err conftest.i conftest.$ac_ext
3438
3439done
3440# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
3441rm -f conftest.i conftest.err conftest.$ac_ext
3442if $ac_preproc_ok; then :
3443
3444else
3445 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3446$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3447as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
3448See \`config.log' for more details" "$LINENO" 5; }
3449fi
3450
3451ac_ext=c
3452ac_cpp='$CPP $CPPFLAGS'
3453ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3454ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3455ac_compiler_gnu=$ac_cv_c_compiler_gnu
3456
3457
3458{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
3459$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
3460if ${ac_cv_path_GREP+:} false; then :
3461 $as_echo_n "(cached) " >&6
3462else
3463 if test -z "$GREP"; then
3464 ac_path_GREP_found=false
3465 # Loop through the user's path and test for each of PROGNAME-LIST
3466 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3467for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
3468do
3469 IFS=$as_save_IFS
3470 test -z "$as_dir" && as_dir=.
3471 for ac_prog in grep ggrep; do
3472 for ac_exec_ext in '' $ac_executable_extensions; do
3473 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
3474 as_fn_executable_p "$ac_path_GREP" || continue
3475# Check for GNU ac_path_GREP and select it if it is found.
3476 # Check for GNU $ac_path_GREP
3477case `"$ac_path_GREP" --version 2>&1` in
3478*GNU*)
3479 ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
3480*)
3481 ac_count=0
3482 $as_echo_n 0123456789 >"conftest.in"
3483 while :
3484 do
3485 cat "conftest.in" "conftest.in" >"conftest.tmp"
3486 mv "conftest.tmp" "conftest.in"
3487 cp "conftest.in" "conftest.nl"
3488 $as_echo 'GREP' >> "conftest.nl"
3489 "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
3490 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
3491 as_fn_arith $ac_count + 1 && ac_count=$as_val
3492 if test $ac_count -gt ${ac_path_GREP_max-0}; then
3493 # Best one so far, save it but keep looking for a better one
3494 ac_cv_path_GREP="$ac_path_GREP"
3495 ac_path_GREP_max=$ac_count
3496 fi
3497 # 10*(2^10) chars as input seems more than enough
3498 test $ac_count -gt 10 && break
3499 done
3500 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
3501esac
3502
3503 $ac_path_GREP_found && break 3
3504 done
3505 done
3506 done
3507IFS=$as_save_IFS
3508 if test -z "$ac_cv_path_GREP"; then
3509 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
3510 fi
3511else
3512 ac_cv_path_GREP=$GREP
3513fi
3514
3515fi
3516{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
3517$as_echo "$ac_cv_path_GREP" >&6; }
3518 GREP="$ac_cv_path_GREP"
3519
3520
3521{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
3522$as_echo_n "checking for egrep... " >&6; }
3523if ${ac_cv_path_EGREP+:} false; then :
3524 $as_echo_n "(cached) " >&6
3525else
3526 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
3527 then ac_cv_path_EGREP="$GREP -E"
3528 else
3529 if test -z "$EGREP"; then
3530 ac_path_EGREP_found=false
3531 # Loop through the user's path and test for each of PROGNAME-LIST
3532 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3533for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
3534do
3535 IFS=$as_save_IFS
3536 test -z "$as_dir" && as_dir=.
3537 for ac_prog in egrep; do
3538 for ac_exec_ext in '' $ac_executable_extensions; do
3539 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
3540 as_fn_executable_p "$ac_path_EGREP" || continue
3541# Check for GNU ac_path_EGREP and select it if it is found.
3542 # Check for GNU $ac_path_EGREP
3543case `"$ac_path_EGREP" --version 2>&1` in
3544*GNU*)
3545 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
3546*)
3547 ac_count=0
3548 $as_echo_n 0123456789 >"conftest.in"
3549 while :
3550 do
3551 cat "conftest.in" "conftest.in" >"conftest.tmp"
3552 mv "conftest.tmp" "conftest.in"
3553 cp "conftest.in" "conftest.nl"
3554 $as_echo 'EGREP' >> "conftest.nl"
3555 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
3556 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
3557 as_fn_arith $ac_count + 1 && ac_count=$as_val
3558 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
3559 # Best one so far, save it but keep looking for a better one
3560 ac_cv_path_EGREP="$ac_path_EGREP"
3561 ac_path_EGREP_max=$ac_count
3562 fi
3563 # 10*(2^10) chars as input seems more than enough
3564 test $ac_count -gt 10 && break
3565 done
3566 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
3567esac
3568
3569 $ac_path_EGREP_found && break 3
3570 done
3571 done
3572 done
3573IFS=$as_save_IFS
3574 if test -z "$ac_cv_path_EGREP"; then
3575 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
3576 fi
3577else
3578 ac_cv_path_EGREP=$EGREP
3579fi
3580
3581 fi
3582fi
3583{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
3584$as_echo "$ac_cv_path_EGREP" >&6; }
3585 EGREP="$ac_cv_path_EGREP"
3586
3587
3588{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
3589$as_echo_n "checking for ANSI C header files... " >&6; }
3590if ${ac_cv_header_stdc+:} false; then :
3591 $as_echo_n "(cached) " >&6
3592else
3593 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3594/* end confdefs.h. */
3595#include <stdlib.h>
3596#include <stdarg.h>
3597#include <string.h>
3598#include <float.h>
3599
3600int
3601main ()
3602{
3603
3604 ;
3605 return 0;
3606}
3607_ACEOF
3608if ac_fn_c_try_compile "$LINENO"; then :
3609 ac_cv_header_stdc=yes
3610else
3611 ac_cv_header_stdc=no
3612fi
3613rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3614
3615if test $ac_cv_header_stdc = yes; then
3616 # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
3617 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3618/* end confdefs.h. */
3619#include <string.h>
3620
3621_ACEOF
3622if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
3623 $EGREP "memchr" >/dev/null 2>&1; then :
3624
3625else
3626 ac_cv_header_stdc=no
3627fi
3628rm -f conftest*
3629
3630fi
3631
3632if test $ac_cv_header_stdc = yes; then
3633 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
3634 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3635/* end confdefs.h. */
3636#include <stdlib.h>
3637
3638_ACEOF
3639if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
3640 $EGREP "free" >/dev/null 2>&1; then :
3641
3642else
3643 ac_cv_header_stdc=no
3644fi
3645rm -f conftest*
3646
3647fi
3648
3649if test $ac_cv_header_stdc = yes; then
3650 # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
3651 if test "$cross_compiling" = yes; then :
3652 :
3653else
3654 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3655/* end confdefs.h. */
3656#include <ctype.h>
3657#include <stdlib.h>
3658#if ((' ' & 0x0FF) == 0x020)
3659# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
3660# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
3661#else
3662# define ISLOWER(c) \
3663 (('a' <= (c) && (c) <= 'i') \
3664 || ('j' <= (c) && (c) <= 'r') \
3665 || ('s' <= (c) && (c) <= 'z'))
3666# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
3667#endif
3668
3669#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
3670int
3671main ()
3672{
3673 int i;
3674 for (i = 0; i < 256; i++)
3675 if (XOR (islower (i), ISLOWER (i))
3676 || toupper (i) != TOUPPER (i))
3677 return 2;
3678 return 0;
3679}
3680_ACEOF
3681if ac_fn_c_try_run "$LINENO"; then :
3682
3683else
3684 ac_cv_header_stdc=no
3685fi
3686rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
3687 conftest.$ac_objext conftest.beam conftest.$ac_ext
3688fi
3689
3690fi
3691fi
3692{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
3693$as_echo "$ac_cv_header_stdc" >&6; }
3694if test $ac_cv_header_stdc = yes; then
3695
3696$as_echo "#define STDC_HEADERS 1" >>confdefs.h
3697
3698fi
3699
3700# On IRIX 5.3, sys/types and inttypes.h are conflicting.
3701for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
3702 inttypes.h stdint.h unistd.h
3703do :
3704 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
3705ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
3706"
3707if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
3708 cat >>confdefs.h <<_ACEOF
3709#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
3710_ACEOF
3711
3712fi
3713
3714done
3715
3716
3717 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
3718$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
3719if ${ac_cv_c_bigendian+:} false; then :
3720 $as_echo_n "(cached) " >&6
3721else
3722 ac_cv_c_bigendian=unknown
3723 # See if we're dealing with a universal compiler.
3724 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3725/* end confdefs.h. */
3726#ifndef __APPLE_CC__
3727 not a universal capable compiler
3728 #endif
3729 typedef int dummy;
3730
3731_ACEOF
3732if ac_fn_c_try_compile "$LINENO"; then :
3733
3734 # Check for potential -arch flags. It is not universal unless
3735 # there are at least two -arch flags with different values.
3736 ac_arch=
3737 ac_prev=
3738 for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
3739 if test -n "$ac_prev"; then
3740 case $ac_word in
3741 i?86 | x86_64 | ppc | ppc64)
3742 if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
3743 ac_arch=$ac_word
3744 else
3745 ac_cv_c_bigendian=universal
3746 break
3747 fi
3748 ;;
3749 esac
3750 ac_prev=
3751 elif test "x$ac_word" = "x-arch"; then
3752 ac_prev=arch
3753 fi
3754 done
3755fi
3756rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3757 if test $ac_cv_c_bigendian = unknown; then
3758 # See if sys/param.h defines the BYTE_ORDER macro.
3759 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3760/* end confdefs.h. */
3761#include <sys/types.h>
3762 #include <sys/param.h>
3763
3764int
3765main ()
3766{
3767#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
3768 && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
3769 && LITTLE_ENDIAN)
3770 bogus endian macros
3771 #endif
3772
3773 ;
3774 return 0;
3775}
3776_ACEOF
3777if ac_fn_c_try_compile "$LINENO"; then :
3778 # It does; now see whether it defined to BIG_ENDIAN or not.
3779 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3780/* end confdefs.h. */
3781#include <sys/types.h>
3782 #include <sys/param.h>
3783
3784int
3785main ()
3786{
3787#if BYTE_ORDER != BIG_ENDIAN
3788 not big endian
3789 #endif
3790
3791 ;
3792 return 0;
3793}
3794_ACEOF
3795if ac_fn_c_try_compile "$LINENO"; then :
3796 ac_cv_c_bigendian=yes
3797else
3798 ac_cv_c_bigendian=no
3799fi
3800rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3801fi
3802rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3803 fi
3804 if test $ac_cv_c_bigendian = unknown; then
3805 # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
3806 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3807/* end confdefs.h. */
3808#include <limits.h>
3809
3810int
3811main ()
3812{
3813#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
3814 bogus endian macros
3815 #endif
3816
3817 ;
3818 return 0;
3819}
3820_ACEOF
3821if ac_fn_c_try_compile "$LINENO"; then :
3822 # It does; now see whether it defined to _BIG_ENDIAN or not.
3823 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3824/* end confdefs.h. */
3825#include <limits.h>
3826
3827int
3828main ()
3829{
3830#ifndef _BIG_ENDIAN
3831 not big endian
3832 #endif
3833
3834 ;
3835 return 0;
3836}
3837_ACEOF
3838if ac_fn_c_try_compile "$LINENO"; then :
3839 ac_cv_c_bigendian=yes
3840else
3841 ac_cv_c_bigendian=no
3842fi
3843rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3844fi
3845rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3846 fi
3847 if test $ac_cv_c_bigendian = unknown; then
3848 # Compile a test program.
3849 if test "$cross_compiling" = yes; then :
3850 # Try to guess by grepping values from an object file.
3851 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3852/* end confdefs.h. */
3853short int ascii_mm[] =
3854 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
3855 short int ascii_ii[] =
3856 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
3857 int use_ascii (int i) {
3858 return ascii_mm[i] + ascii_ii[i];
3859 }
3860 short int ebcdic_ii[] =
3861 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
3862 short int ebcdic_mm[] =
3863 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
3864 int use_ebcdic (int i) {
3865 return ebcdic_mm[i] + ebcdic_ii[i];
3866 }
3867 extern int foo;
3868
3869int
3870main ()
3871{
3872return use_ascii (foo) == use_ebcdic (foo);
3873 ;
3874 return 0;
3875}
3876_ACEOF
3877if ac_fn_c_try_compile "$LINENO"; then :
3878 if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
3879 ac_cv_c_bigendian=yes
3880 fi
3881 if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
3882 if test "$ac_cv_c_bigendian" = unknown; then
3883 ac_cv_c_bigendian=no
3884 else
3885 # finding both strings is unlikely to happen, but who knows?
3886 ac_cv_c_bigendian=unknown
3887 fi
3888 fi
3889fi
3890rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3891else
3892 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3893/* end confdefs.h. */
3894$ac_includes_default
3895int
3896main ()
3897{
3898
3899 /* Are we little or big endian? From Harbison&Steele. */
3900 union
3901 {
3902 long int l;
3903 char c[sizeof (long int)];
3904 } u;
3905 u.l = 1;
3906 return u.c[sizeof (long int) - 1] == 1;
3907
3908 ;
3909 return 0;
3910}
3911_ACEOF
3912if ac_fn_c_try_run "$LINENO"; then :
3913 ac_cv_c_bigendian=no
3914else
3915 ac_cv_c_bigendian=yes
3916fi
3917rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
3918 conftest.$ac_objext conftest.beam conftest.$ac_ext
3919fi
3920
3921 fi
3922fi
3923{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
3924$as_echo "$ac_cv_c_bigendian" >&6; }
3925 case $ac_cv_c_bigendian in #(
3926 yes)
3927 $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
3928;; #(
3929 no)
3930 ;; #(
3931 universal)
3932
3933$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
3934
3935 ;; #(
3936 *)
3937 as_fn_error $? "unknown endianness
3938 presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
3939 esac
3940
3941
3942# Checks for programs.
3943for ac_prog in gawk mawk nawk awk
3944do
3945 # Extract the first word of "$ac_prog", so it can be a program name with args.
3946set dummy $ac_prog; ac_word=$2
3947{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3948$as_echo_n "checking for $ac_word... " >&6; }
3949if ${ac_cv_prog_AWK+:} false; then :
3950 $as_echo_n "(cached) " >&6
3951else
3952 if test -n "$AWK"; then
3953 ac_cv_prog_AWK="$AWK" # Let the user override the test.
3954else
3955as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3956for as_dir in $PATH
3957do
3958 IFS=$as_save_IFS
3959 test -z "$as_dir" && as_dir=.
3960 for ac_exec_ext in '' $ac_executable_extensions; do
3961 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3962 ac_cv_prog_AWK="$ac_prog"
3963 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3964 break 2
3965 fi
3966done
3967 done
3968IFS=$as_save_IFS
3969
3970fi
3971fi
3972AWK=$ac_cv_prog_AWK
3973if test -n "$AWK"; then
3974 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
3975$as_echo "$AWK" >&6; }
3976else
3977 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3978$as_echo "no" >&6; }
3979fi
3980
3981
3982 test -n "$AWK" && break
3983done
3984
3985ac_ext=c
3986ac_cpp='$CPP $CPPFLAGS'
3987ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3988ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3989ac_compiler_gnu=$ac_cv_c_compiler_gnu
3990{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
3991$as_echo_n "checking how to run the C preprocessor... " >&6; }
3992# On Suns, sometimes $CPP names a directory.
3993if test -n "$CPP" && test -d "$CPP"; then
3994 CPP=
3995fi
3996if test -z "$CPP"; then
3997 if ${ac_cv_prog_CPP+:} false; then :
3998 $as_echo_n "(cached) " >&6
3999else
4000 # Double quotes because CPP needs to be expanded
4001 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
4002 do
4003 ac_preproc_ok=false
4004for ac_c_preproc_warn_flag in '' yes
4005do
4006 # Use a header file that comes with gcc, so configuring glibc
4007 # with a fresh cross-compiler works.
4008 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4009 # <limits.h> exists even on freestanding compilers.
4010 # On the NeXT, cc -E runs the code through the compiler's parser,
4011 # not just through cpp. "Syntax error" is here to catch this case.
4012 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4013/* end confdefs.h. */
4014#ifdef __STDC__
4015# include <limits.h>
4016#else
4017# include <assert.h>
4018#endif
4019 Syntax error
4020_ACEOF
4021if ac_fn_c_try_cpp "$LINENO"; then :
4022
4023else
4024 # Broken: fails on valid input.
4025continue
4026fi
4027rm -f conftest.err conftest.i conftest.$ac_ext
4028
4029 # OK, works on sane cases. Now check whether nonexistent headers
4030 # can be detected and how.
4031 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4032/* end confdefs.h. */
4033#include <ac_nonexistent.h>
4034_ACEOF
4035if ac_fn_c_try_cpp "$LINENO"; then :
4036 # Broken: success on invalid input.
4037continue
4038else
4039 # Passes both tests.
4040ac_preproc_ok=:
4041break
4042fi
4043rm -f conftest.err conftest.i conftest.$ac_ext
4044
4045done
4046# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4047rm -f conftest.i conftest.err conftest.$ac_ext
4048if $ac_preproc_ok; then :
4049 break
4050fi
4051
4052 done
4053 ac_cv_prog_CPP=$CPP
4054
4055fi
4056 CPP=$ac_cv_prog_CPP
4057else
4058 ac_cv_prog_CPP=$CPP
4059fi
4060{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
4061$as_echo "$CPP" >&6; }
4062ac_preproc_ok=false
4063for ac_c_preproc_warn_flag in '' yes
4064do
4065 # Use a header file that comes with gcc, so configuring glibc
4066 # with a fresh cross-compiler works.
4067 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4068 # <limits.h> exists even on freestanding compilers.
4069 # On the NeXT, cc -E runs the code through the compiler's parser,
4070 # not just through cpp. "Syntax error" is here to catch this case.
4071 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4072/* end confdefs.h. */
4073#ifdef __STDC__
4074# include <limits.h>
4075#else
4076# include <assert.h>
4077#endif
4078 Syntax error
4079_ACEOF
4080if ac_fn_c_try_cpp "$LINENO"; then :
4081
4082else
4083 # Broken: fails on valid input.
4084continue
4085fi
4086rm -f conftest.err conftest.i conftest.$ac_ext
4087
4088 # OK, works on sane cases. Now check whether nonexistent headers
4089 # can be detected and how.
4090 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4091/* end confdefs.h. */
4092#include <ac_nonexistent.h>
4093_ACEOF
4094if ac_fn_c_try_cpp "$LINENO"; then :
4095 # Broken: success on invalid input.
4096continue
4097else
4098 # Passes both tests.
4099ac_preproc_ok=:
4100break
4101fi
4102rm -f conftest.err conftest.i conftest.$ac_ext
4103
4104done
4105# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4106rm -f conftest.i conftest.err conftest.$ac_ext
4107if $ac_preproc_ok; then :
4108
4109else
4110 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4111$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4112as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
4113See \`config.log' for more details" "$LINENO" 5; }
4114fi
4115
4116ac_ext=c
4117ac_cpp='$CPP $CPPFLAGS'
4118ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4119ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4120ac_compiler_gnu=$ac_cv_c_compiler_gnu
4121
4122if test -n "$ac_tool_prefix"; then
4123 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
4124set dummy ${ac_tool_prefix}ranlib; ac_word=$2
4125{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4126$as_echo_n "checking for $ac_word... " >&6; }
4127if ${ac_cv_prog_RANLIB+:} false; then :
4128 $as_echo_n "(cached) " >&6
4129else
4130 if test -n "$RANLIB"; then
4131 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
4132else
4133as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4134for as_dir in $PATH
4135do
4136 IFS=$as_save_IFS
4137 test -z "$as_dir" && as_dir=.
4138 for ac_exec_ext in '' $ac_executable_extensions; do
4139 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4140 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
4141 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4142 break 2
4143 fi
4144done
4145 done
4146IFS=$as_save_IFS
4147
4148fi
4149fi
4150RANLIB=$ac_cv_prog_RANLIB
4151if test -n "$RANLIB"; then
4152 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
4153$as_echo "$RANLIB" >&6; }
4154else
4155 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4156$as_echo "no" >&6; }
4157fi
4158
4159
4160fi
4161if test -z "$ac_cv_prog_RANLIB"; then
4162 ac_ct_RANLIB=$RANLIB
4163 # Extract the first word of "ranlib", so it can be a program name with args.
4164set dummy ranlib; ac_word=$2
4165{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4166$as_echo_n "checking for $ac_word... " >&6; }
4167if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
4168 $as_echo_n "(cached) " >&6
4169else
4170 if test -n "$ac_ct_RANLIB"; then
4171 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
4172else
4173as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4174for as_dir in $PATH
4175do
4176 IFS=$as_save_IFS
4177 test -z "$as_dir" && as_dir=.
4178 for ac_exec_ext in '' $ac_executable_extensions; do
4179 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4180 ac_cv_prog_ac_ct_RANLIB="ranlib"
4181 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4182 break 2
4183 fi
4184done
4185 done
4186IFS=$as_save_IFS
4187
4188fi
4189fi
4190ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
4191if test -n "$ac_ct_RANLIB"; then
4192 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
4193$as_echo "$ac_ct_RANLIB" >&6; }
4194else
4195 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4196$as_echo "no" >&6; }
4197fi
4198
4199 if test "x$ac_ct_RANLIB" = x; then
4200 RANLIB=":"
4201 else
4202 case $cross_compiling:$ac_tool_warned in
4203yes:)
4204{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4205$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4206ac_tool_warned=yes ;;
4207esac
4208 RANLIB=$ac_ct_RANLIB
4209 fi
4210else
4211 RANLIB="$ac_cv_prog_RANLIB"
4212fi
4213
4214# Find a good install program. We prefer a C program (faster),
4215# so one script is as good as another. But avoid the broken or
4216# incompatible versions:
4217# SysV /etc/install, /usr/sbin/install
4218# SunOS /usr/etc/install
4219# IRIX /sbin/install
4220# AIX /bin/install
4221# AmigaOS /C/install, which installs bootblocks on floppy discs
4222# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
4223# AFS /usr/afsws/bin/install, which mishandles nonexistent args
4224# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
4225# OS/2's system install, which has a completely different semantic
4226# ./install, which can be erroneously created by make from ./install.sh.
4227# Reject install programs that cannot install multiple files.
4228{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
4229$as_echo_n "checking for a BSD-compatible install... " >&6; }
4230if test -z "$INSTALL"; then
4231if ${ac_cv_path_install+:} false; then :
4232 $as_echo_n "(cached) " >&6
4233else
4234 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4235for as_dir in $PATH
4236do
4237 IFS=$as_save_IFS
4238 test -z "$as_dir" && as_dir=.
4239 # Account for people who put trailing slashes in PATH elements.
4240case $as_dir/ in #((
4241 ./ | .// | /[cC]/* | \
4242 /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
4243 ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
4244 /usr/ucb/* ) ;;
4245 *)
4246 # OSF1 and SCO ODT 3.0 have their own names for install.
4247 # Don't use installbsd from OSF since it installs stuff as root
4248 # by default.
4249 for ac_prog in ginstall scoinst install; do
4250 for ac_exec_ext in '' $ac_executable_extensions; do
4251 if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
4252 if test $ac_prog = install &&
4253 grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
4254 # AIX install. It has an incompatible calling convention.
4255 :
4256 elif test $ac_prog = install &&
4257 grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
4258 # program-specific install script used by HP pwplus--don't use.
4259 :
4260 else
4261 rm -rf conftest.one conftest.two conftest.dir
4262 echo one > conftest.one
4263 echo two > conftest.two
4264 mkdir conftest.dir
4265 if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
4266 test -s conftest.one && test -s conftest.two &&
4267 test -s conftest.dir/conftest.one &&
4268 test -s conftest.dir/conftest.two
4269 then
4270 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
4271 break 3
4272 fi
4273 fi
4274 fi
4275 done
4276 done
4277 ;;
4278esac
4279
4280 done
4281IFS=$as_save_IFS
4282
4283rm -rf conftest.one conftest.two conftest.dir
4284
4285fi
4286 if test "${ac_cv_path_install+set}" = set; then
4287 INSTALL=$ac_cv_path_install
4288 else
4289 # As a last resort, use the slow shell script. Don't cache a
4290 # value for INSTALL within a source directory, because that will
4291 # break other packages using the cache if that directory is
4292 # removed, or if the value is a relative name.
4293 INSTALL=$ac_install_sh
4294 fi
4295fi
4296{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
4297$as_echo "$INSTALL" >&6; }
4298
4299# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
4300# It thinks the first close brace ends the variable substitution.
4301test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
4302
4303test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
4304
4305test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
4306
4307{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
4308$as_echo_n "checking for egrep... " >&6; }
4309if ${ac_cv_path_EGREP+:} false; then :
4310 $as_echo_n "(cached) " >&6
4311else
4312 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
4313 then ac_cv_path_EGREP="$GREP -E"
4314 else
4315 if test -z "$EGREP"; then
4316 ac_path_EGREP_found=false
4317 # Loop through the user's path and test for each of PROGNAME-LIST
4318 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4319for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
4320do
4321 IFS=$as_save_IFS
4322 test -z "$as_dir" && as_dir=.
4323 for ac_prog in egrep; do
4324 for ac_exec_ext in '' $ac_executable_extensions; do
4325 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
4326 as_fn_executable_p "$ac_path_EGREP" || continue
4327# Check for GNU ac_path_EGREP and select it if it is found.
4328 # Check for GNU $ac_path_EGREP
4329case `"$ac_path_EGREP" --version 2>&1` in
4330*GNU*)
4331 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
4332*)
4333 ac_count=0
4334 $as_echo_n 0123456789 >"conftest.in"
4335 while :
4336 do
4337 cat "conftest.in" "conftest.in" >"conftest.tmp"
4338 mv "conftest.tmp" "conftest.in"
4339 cp "conftest.in" "conftest.nl"
4340 $as_echo 'EGREP' >> "conftest.nl"
4341 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
4342 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4343 as_fn_arith $ac_count + 1 && ac_count=$as_val
4344 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
4345 # Best one so far, save it but keep looking for a better one
4346 ac_cv_path_EGREP="$ac_path_EGREP"
4347 ac_path_EGREP_max=$ac_count
4348 fi
4349 # 10*(2^10) chars as input seems more than enough
4350 test $ac_count -gt 10 && break
4351 done
4352 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4353esac
4354
4355 $ac_path_EGREP_found && break 3
4356 done
4357 done
4358 done
4359IFS=$as_save_IFS
4360 if test -z "$ac_cv_path_EGREP"; then
4361 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4362 fi
4363else
4364 ac_cv_path_EGREP=$EGREP
4365fi
4366
4367 fi
4368fi
4369{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
4370$as_echo "$ac_cv_path_EGREP" >&6; }
4371 EGREP="$ac_cv_path_EGREP"
4372
4373
4374{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
4375$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
4376if test -z "$MKDIR_P"; then
4377 if ${ac_cv_path_mkdir+:} false; then :
4378 $as_echo_n "(cached) " >&6
4379else
4380 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4381for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
4382do
4383 IFS=$as_save_IFS
4384 test -z "$as_dir" && as_dir=.
4385 for ac_prog in mkdir gmkdir; do
4386 for ac_exec_ext in '' $ac_executable_extensions; do
4387 as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
4388 case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
4389 'mkdir (GNU coreutils) '* | \
4390 'mkdir (coreutils) '* | \
4391 'mkdir (fileutils) '4.1*)
4392 ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
4393 break 3;;
4394 esac
4395 done
4396 done
4397 done
4398IFS=$as_save_IFS
4399
4400fi
4401
4402 test -d ./--version && rmdir ./--version
4403 if test "${ac_cv_path_mkdir+set}" = set; then
4404 MKDIR_P="$ac_cv_path_mkdir -p"
4405 else
4406 # As a last resort, use the slow shell script. Don't cache a
4407 # value for MKDIR_P within a source directory, because that will
4408 # break other packages using the cache if that directory is
4409 # removed, or if the value is a relative name.
4410 MKDIR_P="$ac_install_sh -d"
4411 fi
4412fi
4413{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
4414$as_echo "$MKDIR_P" >&6; }
4415
4416if test -n "$ac_tool_prefix"; then
4417 for ac_prog in ar
4418 do
4419 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
4420set dummy $ac_tool_prefix$ac_prog; ac_word=$2
4421{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4422$as_echo_n "checking for $ac_word... " >&6; }
4423if ${ac_cv_prog_AR+:} false; then :
4424 $as_echo_n "(cached) " >&6
4425else
4426 if test -n "$AR"; then
4427 ac_cv_prog_AR="$AR" # Let the user override the test.
4428else
4429as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4430for as_dir in $PATH
4431do
4432 IFS=$as_save_IFS
4433 test -z "$as_dir" && as_dir=.
4434 for ac_exec_ext in '' $ac_executable_extensions; do
4435 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4436 ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
4437 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4438 break 2
4439 fi
4440done
4441 done
4442IFS=$as_save_IFS
4443
4444fi
4445fi
4446AR=$ac_cv_prog_AR
4447if test -n "$AR"; then
4448 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
4449$as_echo "$AR" >&6; }
4450else
4451 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4452$as_echo "no" >&6; }
4453fi
4454
4455
4456 test -n "$AR" && break
4457 done
4458fi
4459if test -z "$AR"; then
4460 ac_ct_AR=$AR
4461 for ac_prog in ar
4462do
4463 # Extract the first word of "$ac_prog", so it can be a program name with args.
4464set dummy $ac_prog; ac_word=$2
4465{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4466$as_echo_n "checking for $ac_word... " >&6; }
4467if ${ac_cv_prog_ac_ct_AR+:} false; then :
4468 $as_echo_n "(cached) " >&6
4469else
4470 if test -n "$ac_ct_AR"; then
4471 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
4472else
4473as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4474for as_dir in $PATH
4475do
4476 IFS=$as_save_IFS
4477 test -z "$as_dir" && as_dir=.
4478 for ac_exec_ext in '' $ac_executable_extensions; do
4479 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4480 ac_cv_prog_ac_ct_AR="$ac_prog"
4481 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4482 break 2
4483 fi
4484done
4485 done
4486IFS=$as_save_IFS
4487
4488fi
4489fi
4490ac_ct_AR=$ac_cv_prog_ac_ct_AR
4491if test -n "$ac_ct_AR"; then
4492 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
4493$as_echo "$ac_ct_AR" >&6; }
4494else
4495 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4496$as_echo "no" >&6; }
4497fi
4498
4499
4500 test -n "$ac_ct_AR" && break
4501done
4502
4503 if test "x$ac_ct_AR" = x; then
4504 AR=""
4505 else
4506 case $cross_compiling:$ac_tool_warned in
4507yes:)
4508{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4509$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4510ac_tool_warned=yes ;;
4511esac
4512 AR=$ac_ct_AR
4513 fi
4514fi
4515
4516# Extract the first word of "cat", so it can be a program name with args.
4517set dummy cat; ac_word=$2
4518{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4519$as_echo_n "checking for $ac_word... " >&6; }
4520if ${ac_cv_path_CAT+:} false; then :
4521 $as_echo_n "(cached) " >&6
4522else
4523 case $CAT in
4524 [\\/]* | ?:[\\/]*)
4525 ac_cv_path_CAT="$CAT" # Let the user override the test with a path.
4526 ;;
4527 *)
4528 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4529for as_dir in $PATH
4530do
4531 IFS=$as_save_IFS
4532 test -z "$as_dir" && as_dir=.
4533 for ac_exec_ext in '' $ac_executable_extensions; do
4534 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4535 ac_cv_path_CAT="$as_dir/$ac_word$ac_exec_ext"
4536 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4537 break 2
4538 fi
4539done
4540 done
4541IFS=$as_save_IFS
4542
4543 ;;
4544esac
4545fi
4546CAT=$ac_cv_path_CAT
4547if test -n "$CAT"; then
4548 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CAT" >&5
4549$as_echo "$CAT" >&6; }
4550else
4551 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4552$as_echo "no" >&6; }
4553fi
4554
4555
4556# Extract the first word of "kill", so it can be a program name with args.
4557set dummy kill; ac_word=$2
4558{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4559$as_echo_n "checking for $ac_word... " >&6; }
4560if ${ac_cv_path_KILL+:} false; then :
4561 $as_echo_n "(cached) " >&6
4562else
4563 case $KILL in
4564 [\\/]* | ?:[\\/]*)
4565 ac_cv_path_KILL="$KILL" # Let the user override the test with a path.
4566 ;;
4567 *)
4568 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4569for as_dir in $PATH
4570do
4571 IFS=$as_save_IFS
4572 test -z "$as_dir" && as_dir=.
4573 for ac_exec_ext in '' $ac_executable_extensions; do
4574 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4575 ac_cv_path_KILL="$as_dir/$ac_word$ac_exec_ext"
4576 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4577 break 2
4578 fi
4579done
4580 done
4581IFS=$as_save_IFS
4582
4583 ;;
4584esac
4585fi
4586KILL=$ac_cv_path_KILL
4587if test -n "$KILL"; then
4588 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KILL" >&5
4589$as_echo "$KILL" >&6; }
4590else
4591 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4592$as_echo "no" >&6; }
4593fi
4594
4595
4596# Extract the first word of "sed", so it can be a program name with args.
4597set dummy sed; ac_word=$2
4598{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4599$as_echo_n "checking for $ac_word... " >&6; }
4600if ${ac_cv_path_SED+:} false; then :
4601 $as_echo_n "(cached) " >&6
4602else
4603 case $SED in
4604 [\\/]* | ?:[\\/]*)
4605 ac_cv_path_SED="$SED" # Let the user override the test with a path.
4606 ;;
4607 *)
4608 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4609for as_dir in $PATH
4610do
4611 IFS=$as_save_IFS
4612 test -z "$as_dir" && as_dir=.
4613 for ac_exec_ext in '' $ac_executable_extensions; do
4614 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4615 ac_cv_path_SED="$as_dir/$ac_word$ac_exec_ext"
4616 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4617 break 2
4618 fi
4619done
4620 done
4621IFS=$as_save_IFS
4622
4623 ;;
4624esac
4625fi
4626SED=$ac_cv_path_SED
4627if test -n "$SED"; then
4628 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5
4629$as_echo "$SED" >&6; }
4630else
4631 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4632$as_echo "no" >&6; }
4633fi
4634
4635
4636# Extract the first word of "ent", so it can be a program name with args.
4637set dummy ent; ac_word=$2
4638{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4639$as_echo_n "checking for $ac_word... " >&6; }
4640if ${ac_cv_path_ENT+:} false; then :
4641 $as_echo_n "(cached) " >&6
4642else
4643 case $ENT in
4644 [\\/]* | ?:[\\/]*)
4645 ac_cv_path_ENT="$ENT" # Let the user override the test with a path.
4646 ;;
4647 *)
4648 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4649for as_dir in $PATH
4650do
4651 IFS=$as_save_IFS
4652 test -z "$as_dir" && as_dir=.
4653 for ac_exec_ext in '' $ac_executable_extensions; do
4654 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4655 ac_cv_path_ENT="$as_dir/$ac_word$ac_exec_ext"
4656 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4657 break 2
4658 fi
4659done
4660 done
4661IFS=$as_save_IFS
4662
4663 ;;
4664esac
4665fi
4666ENT=$ac_cv_path_ENT
4667if test -n "$ENT"; then
4668 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENT" >&5
4669$as_echo "$ENT" >&6; }
4670else
4671 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4672$as_echo "no" >&6; }
4673fi
4674
4675
4676
4677# Extract the first word of "bash", so it can be a program name with args.
4678set dummy bash; ac_word=$2
4679{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4680$as_echo_n "checking for $ac_word... " >&6; }
4681if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4682 $as_echo_n "(cached) " >&6
4683else
4684 case $TEST_MINUS_S_SH in
4685 [\\/]* | ?:[\\/]*)
4686 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4687 ;;
4688 *)
4689 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4690for as_dir in $PATH
4691do
4692 IFS=$as_save_IFS
4693 test -z "$as_dir" && as_dir=.
4694 for ac_exec_ext in '' $ac_executable_extensions; do
4695 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4696 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4697 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4698 break 2
4699 fi
4700done
4701 done
4702IFS=$as_save_IFS
4703
4704 ;;
4705esac
4706fi
4707TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4708if test -n "$TEST_MINUS_S_SH"; then
4709 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4710$as_echo "$TEST_MINUS_S_SH" >&6; }
4711else
4712 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4713$as_echo "no" >&6; }
4714fi
4715
4716
4717# Extract the first word of "ksh", so it can be a program name with args.
4718set dummy ksh; ac_word=$2
4719{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4720$as_echo_n "checking for $ac_word... " >&6; }
4721if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4722 $as_echo_n "(cached) " >&6
4723else
4724 case $TEST_MINUS_S_SH in
4725 [\\/]* | ?:[\\/]*)
4726 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4727 ;;
4728 *)
4729 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4730for as_dir in $PATH
4731do
4732 IFS=$as_save_IFS
4733 test -z "$as_dir" && as_dir=.
4734 for ac_exec_ext in '' $ac_executable_extensions; do
4735 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4736 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4737 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4738 break 2
4739 fi
4740done
4741 done
4742IFS=$as_save_IFS
4743
4744 ;;
4745esac
4746fi
4747TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4748if test -n "$TEST_MINUS_S_SH"; then
4749 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4750$as_echo "$TEST_MINUS_S_SH" >&6; }
4751else
4752 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4753$as_echo "no" >&6; }
4754fi
4755
4756
4757# Extract the first word of "sh", so it can be a program name with args.
4758set dummy sh; ac_word=$2
4759{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4760$as_echo_n "checking for $ac_word... " >&6; }
4761if ${ac_cv_path_TEST_MINUS_S_SH+:} false; then :
4762 $as_echo_n "(cached) " >&6
4763else
4764 case $TEST_MINUS_S_SH in
4765 [\\/]* | ?:[\\/]*)
4766 ac_cv_path_TEST_MINUS_S_SH="$TEST_MINUS_S_SH" # Let the user override the test with a path.
4767 ;;
4768 *)
4769 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4770for as_dir in $PATH
4771do
4772 IFS=$as_save_IFS
4773 test -z "$as_dir" && as_dir=.
4774 for ac_exec_ext in '' $ac_executable_extensions; do
4775 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4776 ac_cv_path_TEST_MINUS_S_SH="$as_dir/$ac_word$ac_exec_ext"
4777 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4778 break 2
4779 fi
4780done
4781 done
4782IFS=$as_save_IFS
4783
4784 ;;
4785esac
4786fi
4787TEST_MINUS_S_SH=$ac_cv_path_TEST_MINUS_S_SH
4788if test -n "$TEST_MINUS_S_SH"; then
4789 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEST_MINUS_S_SH" >&5
4790$as_echo "$TEST_MINUS_S_SH" >&6; }
4791else
4792 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4793$as_echo "no" >&6; }
4794fi
4795
4796
4797# Extract the first word of "sh", so it can be a program name with args.
4798set dummy sh; ac_word=$2
4799{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4800$as_echo_n "checking for $ac_word... " >&6; }
4801if ${ac_cv_path_SH+:} false; then :
4802 $as_echo_n "(cached) " >&6
4803else
4804 case $SH in
4805 [\\/]* | ?:[\\/]*)
4806 ac_cv_path_SH="$SH" # Let the user override the test with a path.
4807 ;;
4808 *)
4809 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4810for as_dir in $PATH
4811do
4812 IFS=$as_save_IFS
4813 test -z "$as_dir" && as_dir=.
4814 for ac_exec_ext in '' $ac_executable_extensions; do
4815 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4816 ac_cv_path_SH="$as_dir/$ac_word$ac_exec_ext"
4817 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4818 break 2
4819 fi
4820done
4821 done
4822IFS=$as_save_IFS
4823
4824 ;;
4825esac
4826fi
4827SH=$ac_cv_path_SH
4828if test -n "$SH"; then
4829 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SH" >&5
4830$as_echo "$SH" >&6; }
4831else
4832 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4833$as_echo "no" >&6; }
4834fi
4835
4836
4837# Extract the first word of "groff", so it can be a program name with args.
4838set dummy groff; ac_word=$2
4839{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4840$as_echo_n "checking for $ac_word... " >&6; }
4841if ${ac_cv_path_GROFF+:} false; then :
4842 $as_echo_n "(cached) " >&6
4843else
4844 case $GROFF in
4845 [\\/]* | ?:[\\/]*)
4846 ac_cv_path_GROFF="$GROFF" # Let the user override the test with a path.
4847 ;;
4848 *)
4849 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4850for as_dir in $PATH
4851do
4852 IFS=$as_save_IFS
4853 test -z "$as_dir" && as_dir=.
4854 for ac_exec_ext in '' $ac_executable_extensions; do
4855 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4856 ac_cv_path_GROFF="$as_dir/$ac_word$ac_exec_ext"
4857 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4858 break 2
4859 fi
4860done
4861 done
4862IFS=$as_save_IFS
4863
4864 ;;
4865esac
4866fi
4867GROFF=$ac_cv_path_GROFF
4868if test -n "$GROFF"; then
4869 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GROFF" >&5
4870$as_echo "$GROFF" >&6; }
4871else
4872 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4873$as_echo "no" >&6; }
4874fi
4875
4876
4877# Extract the first word of "nroff", so it can be a program name with args.
4878set dummy nroff; ac_word=$2
4879{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4880$as_echo_n "checking for $ac_word... " >&6; }
4881if ${ac_cv_path_NROFF+:} false; then :
4882 $as_echo_n "(cached) " >&6
4883else
4884 case $NROFF in
4885 [\\/]* | ?:[\\/]*)
4886 ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path.
4887 ;;
4888 *)
4889 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4890for as_dir in $PATH
4891do
4892 IFS=$as_save_IFS
4893 test -z "$as_dir" && as_dir=.
4894 for ac_exec_ext in '' $ac_executable_extensions; do
4895 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4896 ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext"
4897 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4898 break 2
4899 fi
4900done
4901 done
4902IFS=$as_save_IFS
4903
4904 ;;
4905esac
4906fi
4907NROFF=$ac_cv_path_NROFF
4908if test -n "$NROFF"; then
4909 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5
4910$as_echo "$NROFF" >&6; }
4911else
4912 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4913$as_echo "no" >&6; }
4914fi
4915
4916
4917# Extract the first word of "mandoc", so it can be a program name with args.
4918set dummy mandoc; ac_word=$2
4919{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4920$as_echo_n "checking for $ac_word... " >&6; }
4921if ${ac_cv_path_MANDOC+:} false; then :
4922 $as_echo_n "(cached) " >&6
4923else
4924 case $MANDOC in
4925 [\\/]* | ?:[\\/]*)
4926 ac_cv_path_MANDOC="$MANDOC" # Let the user override the test with a path.
4927 ;;
4928 *)
4929 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4930for as_dir in $PATH
4931do
4932 IFS=$as_save_IFS
4933 test -z "$as_dir" && as_dir=.
4934 for ac_exec_ext in '' $ac_executable_extensions; do
4935 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4936 ac_cv_path_MANDOC="$as_dir/$ac_word$ac_exec_ext"
4937 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4938 break 2
4939 fi
4940done
4941 done
4942IFS=$as_save_IFS
4943
4944 ;;
4945esac
4946fi
4947MANDOC=$ac_cv_path_MANDOC
4948if test -n "$MANDOC"; then
4949 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANDOC" >&5
4950$as_echo "$MANDOC" >&6; }
4951else
4952 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4953$as_echo "no" >&6; }
4954fi
4955
4956
4957TEST_SHELL=sh
4958
4959
4960if test "x$MANDOC" != "x" ; then
4961 MANFMT="$MANDOC"
4962elif test "x$NROFF" != "x" ; then
4963 MANFMT="$NROFF -mandoc"
4964elif test "x$GROFF" != "x" ; then
4965 MANFMT="$GROFF -mandoc -Tascii"
4966else
4967 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no manpage formatted found" >&5
4968$as_echo "$as_me: WARNING: no manpage formatted found" >&2;}
4969 MANFMT="false"
4970fi
4971
4972
4973# Extract the first word of "groupadd", so it can be a program name with args.
4974set dummy groupadd; ac_word=$2
4975{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4976$as_echo_n "checking for $ac_word... " >&6; }
4977if ${ac_cv_path_PATH_GROUPADD_PROG+:} false; then :
4978 $as_echo_n "(cached) " >&6
4979else
4980 case $PATH_GROUPADD_PROG in
4981 [\\/]* | ?:[\\/]*)
4982 ac_cv_path_PATH_GROUPADD_PROG="$PATH_GROUPADD_PROG" # Let the user override the test with a path.
4983 ;;
4984 *)
4985 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4986for as_dir in /usr/sbin${PATH_SEPARATOR}/etc
4987do
4988 IFS=$as_save_IFS
4989 test -z "$as_dir" && as_dir=.
4990 for ac_exec_ext in '' $ac_executable_extensions; do
4991 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
4992 ac_cv_path_PATH_GROUPADD_PROG="$as_dir/$ac_word$ac_exec_ext"
4993 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4994 break 2
4995 fi
4996done
4997 done
4998IFS=$as_save_IFS
4999
5000 test -z "$ac_cv_path_PATH_GROUPADD_PROG" && ac_cv_path_PATH_GROUPADD_PROG="groupadd"
5001 ;;
5002esac
5003fi
5004PATH_GROUPADD_PROG=$ac_cv_path_PATH_GROUPADD_PROG
5005if test -n "$PATH_GROUPADD_PROG"; then
5006 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_GROUPADD_PROG" >&5
5007$as_echo "$PATH_GROUPADD_PROG" >&6; }
5008else
5009 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5010$as_echo "no" >&6; }
5011fi
5012
5013
5014# Extract the first word of "useradd", so it can be a program name with args.
5015set dummy useradd; ac_word=$2
5016{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5017$as_echo_n "checking for $ac_word... " >&6; }
5018if ${ac_cv_path_PATH_USERADD_PROG+:} false; then :
5019 $as_echo_n "(cached) " >&6
5020else
5021 case $PATH_USERADD_PROG in
5022 [\\/]* | ?:[\\/]*)
5023 ac_cv_path_PATH_USERADD_PROG="$PATH_USERADD_PROG" # Let the user override the test with a path.
5024 ;;
5025 *)
5026 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5027for as_dir in /usr/sbin${PATH_SEPARATOR}/etc
5028do
5029 IFS=$as_save_IFS
5030 test -z "$as_dir" && as_dir=.
5031 for ac_exec_ext in '' $ac_executable_extensions; do
5032 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5033 ac_cv_path_PATH_USERADD_PROG="$as_dir/$ac_word$ac_exec_ext"
5034 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5035 break 2
5036 fi
5037done
5038 done
5039IFS=$as_save_IFS
5040
5041 test -z "$ac_cv_path_PATH_USERADD_PROG" && ac_cv_path_PATH_USERADD_PROG="useradd"
5042 ;;
5043esac
5044fi
5045PATH_USERADD_PROG=$ac_cv_path_PATH_USERADD_PROG
5046if test -n "$PATH_USERADD_PROG"; then
5047 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_USERADD_PROG" >&5
5048$as_echo "$PATH_USERADD_PROG" >&6; }
5049else
5050 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5051$as_echo "no" >&6; }
5052fi
5053
5054
5055# Extract the first word of "pkgmk", so it can be a program name with args.
5056set dummy pkgmk; ac_word=$2
5057{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5058$as_echo_n "checking for $ac_word... " >&6; }
5059if ${ac_cv_prog_MAKE_PACKAGE_SUPPORTED+:} false; then :
5060 $as_echo_n "(cached) " >&6
5061else
5062 if test -n "$MAKE_PACKAGE_SUPPORTED"; then
5063 ac_cv_prog_MAKE_PACKAGE_SUPPORTED="$MAKE_PACKAGE_SUPPORTED" # Let the user override the test.
5064else
5065as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5066for as_dir in $PATH
5067do
5068 IFS=$as_save_IFS
5069 test -z "$as_dir" && as_dir=.
5070 for ac_exec_ext in '' $ac_executable_extensions; do
5071 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5072 ac_cv_prog_MAKE_PACKAGE_SUPPORTED="yes"
5073 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5074 break 2
5075 fi
5076done
5077 done
5078IFS=$as_save_IFS
5079
5080 test -z "$ac_cv_prog_MAKE_PACKAGE_SUPPORTED" && ac_cv_prog_MAKE_PACKAGE_SUPPORTED="no"
5081fi
5082fi
5083MAKE_PACKAGE_SUPPORTED=$ac_cv_prog_MAKE_PACKAGE_SUPPORTED
5084if test -n "$MAKE_PACKAGE_SUPPORTED"; then
5085 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE_PACKAGE_SUPPORTED" >&5
5086$as_echo "$MAKE_PACKAGE_SUPPORTED" >&6; }
5087else
5088 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5089$as_echo "no" >&6; }
5090fi
5091
5092
5093if test -x /sbin/sh; then
5094 STARTUP_SCRIPT_SHELL=/sbin/sh
5095
5096else
5097 STARTUP_SCRIPT_SHELL=/bin/sh
5098
5099fi
5100
5101# System features
5102# Check whether --enable-largefile was given.
5103if test "${enable_largefile+set}" = set; then :
5104 enableval=$enable_largefile;
5105fi
5106
5107if test "$enable_largefile" != no; then
5108
5109 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
5110$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
5111if ${ac_cv_sys_largefile_CC+:} false; then :
5112 $as_echo_n "(cached) " >&6
5113else
5114 ac_cv_sys_largefile_CC=no
5115 if test "$GCC" != yes; then
5116 ac_save_CC=$CC
5117 while :; do
5118 # IRIX 6.2 and later do not support large files by default,
5119 # so use the C compiler's -n32 option if that helps.
5120 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5121/* end confdefs.h. */
5122#include <sys/types.h>
5123 /* Check that off_t can represent 2**63 - 1 correctly.
5124 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5125 since some C++ compilers masquerading as C compilers
5126 incorrectly reject 9223372036854775807. */
5127#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5128 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5129 && LARGE_OFF_T % 2147483647 == 1)
5130 ? 1 : -1];
5131int
5132main ()
5133{
5134
5135 ;
5136 return 0;
5137}
5138_ACEOF
5139 if ac_fn_c_try_compile "$LINENO"; then :
5140 break
5141fi
5142rm -f core conftest.err conftest.$ac_objext
5143 CC="$CC -n32"
5144 if ac_fn_c_try_compile "$LINENO"; then :
5145 ac_cv_sys_largefile_CC=' -n32'; break
5146fi
5147rm -f core conftest.err conftest.$ac_objext
5148 break
5149 done
5150 CC=$ac_save_CC
5151 rm -f conftest.$ac_ext
5152 fi
5153fi
5154{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
5155$as_echo "$ac_cv_sys_largefile_CC" >&6; }
5156 if test "$ac_cv_sys_largefile_CC" != no; then
5157 CC=$CC$ac_cv_sys_largefile_CC
5158 fi
5159
5160 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
5161$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
5162if ${ac_cv_sys_file_offset_bits+:} false; then :
5163 $as_echo_n "(cached) " >&6
5164else
5165 while :; do
5166 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5167/* end confdefs.h. */
5168#include <sys/types.h>
5169 /* Check that off_t can represent 2**63 - 1 correctly.
5170 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5171 since some C++ compilers masquerading as C compilers
5172 incorrectly reject 9223372036854775807. */
5173#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5174 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5175 && LARGE_OFF_T % 2147483647 == 1)
5176 ? 1 : -1];
5177int
5178main ()
5179{
5180
5181 ;
5182 return 0;
5183}
5184_ACEOF
5185if ac_fn_c_try_compile "$LINENO"; then :
5186 ac_cv_sys_file_offset_bits=no; break
5187fi
5188rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5189 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5190/* end confdefs.h. */
5191#define _FILE_OFFSET_BITS 64
5192#include <sys/types.h>
5193 /* Check that off_t can represent 2**63 - 1 correctly.
5194 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5195 since some C++ compilers masquerading as C compilers
5196 incorrectly reject 9223372036854775807. */
5197#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5198 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5199 && LARGE_OFF_T % 2147483647 == 1)
5200 ? 1 : -1];
5201int
5202main ()
5203{
5204
5205 ;
5206 return 0;
5207}
5208_ACEOF
5209if ac_fn_c_try_compile "$LINENO"; then :
5210 ac_cv_sys_file_offset_bits=64; break
5211fi
5212rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5213 ac_cv_sys_file_offset_bits=unknown
5214 break
5215done
5216fi
5217{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
5218$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
5219case $ac_cv_sys_file_offset_bits in #(
5220 no | unknown) ;;
5221 *)
5222cat >>confdefs.h <<_ACEOF
5223#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
5224_ACEOF
5225;;
5226esac
5227rm -rf conftest*
5228 if test $ac_cv_sys_file_offset_bits = unknown; then
5229 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
5230$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
5231if ${ac_cv_sys_large_files+:} false; then :
5232 $as_echo_n "(cached) " >&6
5233else
5234 while :; do
5235 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5236/* end confdefs.h. */
5237#include <sys/types.h>
5238 /* Check that off_t can represent 2**63 - 1 correctly.
5239 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5240 since some C++ compilers masquerading as C compilers
5241 incorrectly reject 9223372036854775807. */
5242#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5243 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5244 && LARGE_OFF_T % 2147483647 == 1)
5245 ? 1 : -1];
5246int
5247main ()
5248{
5249
5250 ;
5251 return 0;
5252}
5253_ACEOF
5254if ac_fn_c_try_compile "$LINENO"; then :
5255 ac_cv_sys_large_files=no; break
5256fi
5257rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5258 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5259/* end confdefs.h. */
5260#define _LARGE_FILES 1
5261#include <sys/types.h>
5262 /* Check that off_t can represent 2**63 - 1 correctly.
5263 We can't simply define LARGE_OFF_T to be 9223372036854775807,
5264 since some C++ compilers masquerading as C compilers
5265 incorrectly reject 9223372036854775807. */
5266#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
5267 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
5268 && LARGE_OFF_T % 2147483647 == 1)
5269 ? 1 : -1];
5270int
5271main ()
5272{
5273
5274 ;
5275 return 0;
5276}
5277_ACEOF
5278if ac_fn_c_try_compile "$LINENO"; then :
5279 ac_cv_sys_large_files=1; break
5280fi
5281rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5282 ac_cv_sys_large_files=unknown
5283 break
5284done
5285fi
5286{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
5287$as_echo "$ac_cv_sys_large_files" >&6; }
5288case $ac_cv_sys_large_files in #(
5289 no | unknown) ;;
5290 *)
5291cat >>confdefs.h <<_ACEOF
5292#define _LARGE_FILES $ac_cv_sys_large_files
5293_ACEOF
5294;;
5295esac
5296rm -rf conftest*
5297 fi
5298
5299
5300fi
5301
5302
5303if test -z "$AR" ; then
5304 as_fn_error $? "*** 'ar' missing, please install or fix your \$PATH ***" "$LINENO" 5
5305fi
5306
5307# Extract the first word of "passwd", so it can be a program name with args.
5308set dummy passwd; ac_word=$2
5309{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5310$as_echo_n "checking for $ac_word... " >&6; }
5311if ${ac_cv_path_PATH_PASSWD_PROG+:} false; then :
5312 $as_echo_n "(cached) " >&6
5313else
5314 case $PATH_PASSWD_PROG in
5315 [\\/]* | ?:[\\/]*)
5316 ac_cv_path_PATH_PASSWD_PROG="$PATH_PASSWD_PROG" # Let the user override the test with a path.
5317 ;;
5318 *)
5319 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5320for as_dir in $PATH
5321do
5322 IFS=$as_save_IFS
5323 test -z "$as_dir" && as_dir=.
5324 for ac_exec_ext in '' $ac_executable_extensions; do
5325 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
5326 ac_cv_path_PATH_PASSWD_PROG="$as_dir/$ac_word$ac_exec_ext"
5327 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5328 break 2
5329 fi
5330done
5331 done
5332IFS=$as_save_IFS
5333
5334 ;;
5335esac
5336fi
5337PATH_PASSWD_PROG=$ac_cv_path_PATH_PASSWD_PROG
5338if test -n "$PATH_PASSWD_PROG"; then
5339 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_PASSWD_PROG" >&5
5340$as_echo "$PATH_PASSWD_PROG" >&6; }
5341else
5342 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5343$as_echo "no" >&6; }
5344fi
5345
5346
5347if test ! -z "$PATH_PASSWD_PROG" ; then
5348
5349cat >>confdefs.h <<_ACEOF
5350#define _PATH_PASSWD_PROG "$PATH_PASSWD_PROG"
5351_ACEOF
5352
5353fi
5354
5355LD="$CC"
5356
5357
5358{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
5359$as_echo_n "checking for inline... " >&6; }
5360if ${ac_cv_c_inline+:} false; then :
5361 $as_echo_n "(cached) " >&6
5362else
5363 ac_cv_c_inline=no
5364for ac_kw in inline __inline__ __inline; do
5365 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5366/* end confdefs.h. */
5367#ifndef __cplusplus
5368typedef int foo_t;
5369static $ac_kw foo_t static_foo () {return 0; }
5370$ac_kw foo_t foo () {return 0; }
5371#endif
5372
5373_ACEOF
5374if ac_fn_c_try_compile "$LINENO"; then :
5375 ac_cv_c_inline=$ac_kw
5376fi
5377rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5378 test "$ac_cv_c_inline" != no && break
5379done
5380
5381fi
5382{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
5383$as_echo "$ac_cv_c_inline" >&6; }
5384
5385case $ac_cv_c_inline in
5386 inline | yes) ;;
5387 *)
5388 case $ac_cv_c_inline in
5389 no) ac_val=;;
5390 *) ac_val=$ac_cv_c_inline;;
5391 esac
5392 cat >>confdefs.h <<_ACEOF
5393#ifndef __cplusplus
5394#define inline $ac_val
5395#endif
5396_ACEOF
5397 ;;
5398esac
5399
5400
5401ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h>
5402"
5403if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then :
5404 have_llong_max=1
5405fi
5406
5407ac_fn_c_check_decl "$LINENO" "SYSTR_POLICY_KILL" "ac_cv_have_decl_SYSTR_POLICY_KILL" "
5408 #include <sys/types.h>
5409 #include <sys/param.h>
5410 #include <dev/systrace.h>
5411
5412"
5413if test "x$ac_cv_have_decl_SYSTR_POLICY_KILL" = xyes; then :
5414 have_systr_policy_kill=1
5415fi
5416
5417ac_fn_c_check_decl "$LINENO" "RLIMIT_NPROC" "ac_cv_have_decl_RLIMIT_NPROC" "
5418 #include <sys/types.h>
5419 #include <sys/resource.h>
5420
5421"
5422if test "x$ac_cv_have_decl_RLIMIT_NPROC" = xyes; then :
5423
5424$as_echo "#define HAVE_RLIMIT_NPROC /**/" >>confdefs.h
5425
5426fi
5427
5428ac_fn_c_check_decl "$LINENO" "PR_SET_NO_NEW_PRIVS" "ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" "
5429 #include <sys/types.h>
5430 #include <linux/prctl.h>
5431
5432"
5433if test "x$ac_cv_have_decl_PR_SET_NO_NEW_PRIVS" = xyes; then :
5434 have_linux_no_new_privs=1
5435fi
5436
5437
5438openssl=yes
5439
5440# Check whether --with-openssl was given.
5441if test "${with_openssl+set}" = set; then :
5442 withval=$with_openssl; if test "x$withval" = "xno" ; then
5443 openssl=no
5444 fi
5445
5446
5447fi
5448
5449{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL will be used for cryptography" >&5
5450$as_echo_n "checking whether OpenSSL will be used for cryptography... " >&6; }
5451if test "x$openssl" = "xyes" ; then
5452 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5453$as_echo "yes" >&6; }
5454
5455cat >>confdefs.h <<_ACEOF
5456#define WITH_OPENSSL 1
5457_ACEOF
5458
5459else
5460 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5461$as_echo "no" >&6; }
5462fi
5463
5464use_stack_protector=1
5465use_toolchain_hardening=1
5466
5467# Check whether --with-stackprotect was given.
5468if test "${with_stackprotect+set}" = set; then :
5469 withval=$with_stackprotect;
5470 if test "x$withval" = "xno"; then
5471 use_stack_protector=0
5472 fi
5473fi
5474
5475
5476# Check whether --with-hardening was given.
5477if test "${with_hardening+set}" = set; then :
5478 withval=$with_hardening;
5479 if test "x$withval" = "xno"; then
5480 use_toolchain_hardening=0
5481 fi
5482fi
5483
5484
5485# We use -Werror for the tests only so that we catch warnings like "this is
5486# on by default" for things like -fPIE.
5487{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Werror" >&5
5488$as_echo_n "checking if $CC supports -Werror... " >&6; }
5489saved_CFLAGS="$CFLAGS"
5490CFLAGS="$CFLAGS -Werror"
5491cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5492/* end confdefs.h. */
5493int main(void) { return 0; }
5494_ACEOF
5495if ac_fn_c_try_compile "$LINENO"; then :
5496 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5497$as_echo "yes" >&6; }
5498 WERROR="-Werror"
5499else
5500 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5501$as_echo "no" >&6; }
5502 WERROR=""
5503
5504fi
5505rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5506CFLAGS="$saved_CFLAGS"
5507
5508if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
5509 {
5510 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -pipe" >&5
5511$as_echo_n "checking if $CC supports compile flag -pipe... " >&6; }
5512 saved_CFLAGS="$CFLAGS"
5513 CFLAGS="$CFLAGS $WERROR -pipe"
5514 _define_flag=""
5515 test "x$_define_flag" = "x" && _define_flag="-pipe"
5516 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5517/* end confdefs.h. */
5518
5519#include <stdlib.h>
5520#include <stdio.h>
5521int main(int argc, char **argv) {
5522 /* Some math to catch -ftrapv problems in the toolchain */
5523 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5524 float l = i * 2.1;
5525 double m = l / 0.5;
5526 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5527 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5528 exit(0);
5529}
5530
5531_ACEOF
5532if ac_fn_c_try_compile "$LINENO"; then :
5533
5534if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5535then
5536 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5537$as_echo "no" >&6; }
5538 CFLAGS="$saved_CFLAGS"
5539else
5540 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5541$as_echo "yes" >&6; }
5542 CFLAGS="$saved_CFLAGS $_define_flag"
5543fi
5544else
5545 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5546$as_echo "no" >&6; }
5547 CFLAGS="$saved_CFLAGS"
5548
5549fi
5550rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5551}
5552 {
5553 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Qunused-arguments" >&5
5554$as_echo_n "checking if $CC supports compile flag -Qunused-arguments... " >&6; }
5555 saved_CFLAGS="$CFLAGS"
5556 CFLAGS="$CFLAGS $WERROR -Qunused-arguments"
5557 _define_flag=""
5558 test "x$_define_flag" = "x" && _define_flag="-Qunused-arguments"
5559 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5560/* end confdefs.h. */
5561
5562#include <stdlib.h>
5563#include <stdio.h>
5564int main(int argc, char **argv) {
5565 /* Some math to catch -ftrapv problems in the toolchain */
5566 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5567 float l = i * 2.1;
5568 double m = l / 0.5;
5569 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5570 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5571 exit(0);
5572}
5573
5574_ACEOF
5575if ac_fn_c_try_compile "$LINENO"; then :
5576
5577if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5578then
5579 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5580$as_echo "no" >&6; }
5581 CFLAGS="$saved_CFLAGS"
5582else
5583 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5584$as_echo "yes" >&6; }
5585 CFLAGS="$saved_CFLAGS $_define_flag"
5586fi
5587else
5588 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5589$as_echo "no" >&6; }
5590 CFLAGS="$saved_CFLAGS"
5591
5592fi
5593rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5594}
5595 {
5596 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunknown-warning-option" >&5
5597$as_echo_n "checking if $CC supports compile flag -Wunknown-warning-option... " >&6; }
5598 saved_CFLAGS="$CFLAGS"
5599 CFLAGS="$CFLAGS $WERROR -Wunknown-warning-option"
5600 _define_flag=""
5601 test "x$_define_flag" = "x" && _define_flag="-Wunknown-warning-option"
5602 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5603/* end confdefs.h. */
5604
5605#include <stdlib.h>
5606#include <stdio.h>
5607int main(int argc, char **argv) {
5608 /* Some math to catch -ftrapv problems in the toolchain */
5609 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5610 float l = i * 2.1;
5611 double m = l / 0.5;
5612 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5613 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5614 exit(0);
5615}
5616
5617_ACEOF
5618if ac_fn_c_try_compile "$LINENO"; then :
5619
5620if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5621then
5622 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5623$as_echo "no" >&6; }
5624 CFLAGS="$saved_CFLAGS"
5625else
5626 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5627$as_echo "yes" >&6; }
5628 CFLAGS="$saved_CFLAGS $_define_flag"
5629fi
5630else
5631 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5632$as_echo "no" >&6; }
5633 CFLAGS="$saved_CFLAGS"
5634
5635fi
5636rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5637}
5638 {
5639 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wall" >&5
5640$as_echo_n "checking if $CC supports compile flag -Wall... " >&6; }
5641 saved_CFLAGS="$CFLAGS"
5642 CFLAGS="$CFLAGS $WERROR -Wall"
5643 _define_flag=""
5644 test "x$_define_flag" = "x" && _define_flag="-Wall"
5645 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5646/* end confdefs.h. */
5647
5648#include <stdlib.h>
5649#include <stdio.h>
5650int main(int argc, char **argv) {
5651 /* Some math to catch -ftrapv problems in the toolchain */
5652 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5653 float l = i * 2.1;
5654 double m = l / 0.5;
5655 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5656 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5657 exit(0);
5658}
5659
5660_ACEOF
5661if ac_fn_c_try_compile "$LINENO"; then :
5662
5663if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5664then
5665 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5666$as_echo "no" >&6; }
5667 CFLAGS="$saved_CFLAGS"
5668else
5669 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5670$as_echo "yes" >&6; }
5671 CFLAGS="$saved_CFLAGS $_define_flag"
5672fi
5673else
5674 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5675$as_echo "no" >&6; }
5676 CFLAGS="$saved_CFLAGS"
5677
5678fi
5679rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5680}
5681 {
5682 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-arith" >&5
5683$as_echo_n "checking if $CC supports compile flag -Wpointer-arith... " >&6; }
5684 saved_CFLAGS="$CFLAGS"
5685 CFLAGS="$CFLAGS $WERROR -Wpointer-arith"
5686 _define_flag=""
5687 test "x$_define_flag" = "x" && _define_flag="-Wpointer-arith"
5688 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5689/* end confdefs.h. */
5690
5691#include <stdlib.h>
5692#include <stdio.h>
5693int main(int argc, char **argv) {
5694 /* Some math to catch -ftrapv problems in the toolchain */
5695 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5696 float l = i * 2.1;
5697 double m = l / 0.5;
5698 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5699 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5700 exit(0);
5701}
5702
5703_ACEOF
5704if ac_fn_c_try_compile "$LINENO"; then :
5705
5706if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5707then
5708 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5709$as_echo "no" >&6; }
5710 CFLAGS="$saved_CFLAGS"
5711else
5712 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5713$as_echo "yes" >&6; }
5714 CFLAGS="$saved_CFLAGS $_define_flag"
5715fi
5716else
5717 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5718$as_echo "no" >&6; }
5719 CFLAGS="$saved_CFLAGS"
5720
5721fi
5722rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5723}
5724 {
5725 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wuninitialized" >&5
5726$as_echo_n "checking if $CC supports compile flag -Wuninitialized... " >&6; }
5727 saved_CFLAGS="$CFLAGS"
5728 CFLAGS="$CFLAGS $WERROR -Wuninitialized"
5729 _define_flag=""
5730 test "x$_define_flag" = "x" && _define_flag="-Wuninitialized"
5731 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5732/* end confdefs.h. */
5733
5734#include <stdlib.h>
5735#include <stdio.h>
5736int main(int argc, char **argv) {
5737 /* Some math to catch -ftrapv problems in the toolchain */
5738 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5739 float l = i * 2.1;
5740 double m = l / 0.5;
5741 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5742 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5743 exit(0);
5744}
5745
5746_ACEOF
5747if ac_fn_c_try_compile "$LINENO"; then :
5748
5749if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5750then
5751 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5752$as_echo "no" >&6; }
5753 CFLAGS="$saved_CFLAGS"
5754else
5755 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5756$as_echo "yes" >&6; }
5757 CFLAGS="$saved_CFLAGS $_define_flag"
5758fi
5759else
5760 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5761$as_echo "no" >&6; }
5762 CFLAGS="$saved_CFLAGS"
5763
5764fi
5765rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5766}
5767 {
5768 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsign-compare" >&5
5769$as_echo_n "checking if $CC supports compile flag -Wsign-compare... " >&6; }
5770 saved_CFLAGS="$CFLAGS"
5771 CFLAGS="$CFLAGS $WERROR -Wsign-compare"
5772 _define_flag=""
5773 test "x$_define_flag" = "x" && _define_flag="-Wsign-compare"
5774 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5775/* end confdefs.h. */
5776
5777#include <stdlib.h>
5778#include <stdio.h>
5779int main(int argc, char **argv) {
5780 /* Some math to catch -ftrapv problems in the toolchain */
5781 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5782 float l = i * 2.1;
5783 double m = l / 0.5;
5784 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5785 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5786 exit(0);
5787}
5788
5789_ACEOF
5790if ac_fn_c_try_compile "$LINENO"; then :
5791
5792if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5793then
5794 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5795$as_echo "no" >&6; }
5796 CFLAGS="$saved_CFLAGS"
5797else
5798 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5799$as_echo "yes" >&6; }
5800 CFLAGS="$saved_CFLAGS $_define_flag"
5801fi
5802else
5803 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5804$as_echo "no" >&6; }
5805 CFLAGS="$saved_CFLAGS"
5806
5807fi
5808rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5809}
5810 {
5811 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wformat-security" >&5
5812$as_echo_n "checking if $CC supports compile flag -Wformat-security... " >&6; }
5813 saved_CFLAGS="$CFLAGS"
5814 CFLAGS="$CFLAGS $WERROR -Wformat-security"
5815 _define_flag=""
5816 test "x$_define_flag" = "x" && _define_flag="-Wformat-security"
5817 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5818/* end confdefs.h. */
5819
5820#include <stdlib.h>
5821#include <stdio.h>
5822int main(int argc, char **argv) {
5823 /* Some math to catch -ftrapv problems in the toolchain */
5824 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5825 float l = i * 2.1;
5826 double m = l / 0.5;
5827 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5828 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5829 exit(0);
5830}
5831
5832_ACEOF
5833if ac_fn_c_try_compile "$LINENO"; then :
5834
5835if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5836then
5837 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5838$as_echo "no" >&6; }
5839 CFLAGS="$saved_CFLAGS"
5840else
5841 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5842$as_echo "yes" >&6; }
5843 CFLAGS="$saved_CFLAGS $_define_flag"
5844fi
5845else
5846 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5847$as_echo "no" >&6; }
5848 CFLAGS="$saved_CFLAGS"
5849
5850fi
5851rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5852}
5853 {
5854 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wsizeof-pointer-memaccess" >&5
5855$as_echo_n "checking if $CC supports compile flag -Wsizeof-pointer-memaccess... " >&6; }
5856 saved_CFLAGS="$CFLAGS"
5857 CFLAGS="$CFLAGS $WERROR -Wsizeof-pointer-memaccess"
5858 _define_flag=""
5859 test "x$_define_flag" = "x" && _define_flag="-Wsizeof-pointer-memaccess"
5860 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5861/* end confdefs.h. */
5862
5863#include <stdlib.h>
5864#include <stdio.h>
5865int main(int argc, char **argv) {
5866 /* Some math to catch -ftrapv problems in the toolchain */
5867 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5868 float l = i * 2.1;
5869 double m = l / 0.5;
5870 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5871 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5872 exit(0);
5873}
5874
5875_ACEOF
5876if ac_fn_c_try_compile "$LINENO"; then :
5877
5878if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5879then
5880 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5881$as_echo "no" >&6; }
5882 CFLAGS="$saved_CFLAGS"
5883else
5884 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5885$as_echo "yes" >&6; }
5886 CFLAGS="$saved_CFLAGS $_define_flag"
5887fi
5888else
5889 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5890$as_echo "no" >&6; }
5891 CFLAGS="$saved_CFLAGS"
5892
5893fi
5894rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5895}
5896 {
5897 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wpointer-sign" >&5
5898$as_echo_n "checking if $CC supports compile flag -Wpointer-sign... " >&6; }
5899 saved_CFLAGS="$CFLAGS"
5900 CFLAGS="$CFLAGS $WERROR -Wpointer-sign"
5901 _define_flag="-Wno-pointer-sign"
5902 test "x$_define_flag" = "x" && _define_flag="-Wpointer-sign"
5903 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5904/* end confdefs.h. */
5905
5906#include <stdlib.h>
5907#include <stdio.h>
5908int main(int argc, char **argv) {
5909 /* Some math to catch -ftrapv problems in the toolchain */
5910 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5911 float l = i * 2.1;
5912 double m = l / 0.5;
5913 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5914 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5915 exit(0);
5916}
5917
5918_ACEOF
5919if ac_fn_c_try_compile "$LINENO"; then :
5920
5921if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5922then
5923 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5924$as_echo "no" >&6; }
5925 CFLAGS="$saved_CFLAGS"
5926else
5927 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5928$as_echo "yes" >&6; }
5929 CFLAGS="$saved_CFLAGS $_define_flag"
5930fi
5931else
5932 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5933$as_echo "no" >&6; }
5934 CFLAGS="$saved_CFLAGS"
5935
5936fi
5937rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5938}
5939 {
5940 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wunused-result" >&5
5941$as_echo_n "checking if $CC supports compile flag -Wunused-result... " >&6; }
5942 saved_CFLAGS="$CFLAGS"
5943 CFLAGS="$CFLAGS $WERROR -Wunused-result"
5944 _define_flag="-Wno-unused-result"
5945 test "x$_define_flag" = "x" && _define_flag="-Wunused-result"
5946 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5947/* end confdefs.h. */
5948
5949#include <stdlib.h>
5950#include <stdio.h>
5951int main(int argc, char **argv) {
5952 /* Some math to catch -ftrapv problems in the toolchain */
5953 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5954 float l = i * 2.1;
5955 double m = l / 0.5;
5956 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
5957 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
5958 exit(0);
5959}
5960
5961_ACEOF
5962if ac_fn_c_try_compile "$LINENO"; then :
5963
5964if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
5965then
5966 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5967$as_echo "no" >&6; }
5968 CFLAGS="$saved_CFLAGS"
5969else
5970 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5971$as_echo "yes" >&6; }
5972 CFLAGS="$saved_CFLAGS $_define_flag"
5973fi
5974else
5975 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5976$as_echo "no" >&6; }
5977 CFLAGS="$saved_CFLAGS"
5978
5979fi
5980rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5981}
5982 {
5983 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fno-strict-aliasing" >&5
5984$as_echo_n "checking if $CC supports compile flag -fno-strict-aliasing... " >&6; }
5985 saved_CFLAGS="$CFLAGS"
5986 CFLAGS="$CFLAGS $WERROR -fno-strict-aliasing"
5987 _define_flag=""
5988 test "x$_define_flag" = "x" && _define_flag="-fno-strict-aliasing"
5989 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5990/* end confdefs.h. */
5991
5992#include <stdlib.h>
5993#include <stdio.h>
5994int main(int argc, char **argv) {
5995 /* Some math to catch -ftrapv problems in the toolchain */
5996 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
5997 float l = i * 2.1;
5998 double m = l / 0.5;
5999 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6000 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6001 exit(0);
6002}
6003
6004_ACEOF
6005if ac_fn_c_try_compile "$LINENO"; then :
6006
6007if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6008then
6009 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6010$as_echo "no" >&6; }
6011 CFLAGS="$saved_CFLAGS"
6012else
6013 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6014$as_echo "yes" >&6; }
6015 CFLAGS="$saved_CFLAGS $_define_flag"
6016fi
6017else
6018 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6019$as_echo "no" >&6; }
6020 CFLAGS="$saved_CFLAGS"
6021
6022fi
6023rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6024}
6025 if test "x$use_toolchain_hardening" = "x1"; then
6026 {
6027 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -mretpoline" >&5
6028$as_echo_n "checking if $CC supports compile flag -mretpoline... " >&6; }
6029 saved_CFLAGS="$CFLAGS"
6030 CFLAGS="$CFLAGS $WERROR -mretpoline"
6031 _define_flag=""
6032 test "x$_define_flag" = "x" && _define_flag="-mretpoline"
6033 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6034/* end confdefs.h. */
6035
6036#include <stdlib.h>
6037#include <stdio.h>
6038int main(int argc, char **argv) {
6039 /* Some math to catch -ftrapv problems in the toolchain */
6040 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6041 float l = i * 2.1;
6042 double m = l / 0.5;
6043 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6044 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6045 exit(0);
6046}
6047
6048_ACEOF
6049if ac_fn_c_try_compile "$LINENO"; then :
6050
6051if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6052then
6053 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6054$as_echo "no" >&6; }
6055 CFLAGS="$saved_CFLAGS"
6056else
6057 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6058$as_echo "yes" >&6; }
6059 CFLAGS="$saved_CFLAGS $_define_flag"
6060fi
6061else
6062 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6063$as_echo "no" >&6; }
6064 CFLAGS="$saved_CFLAGS"
6065
6066fi
6067rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6068} # clang
6069 {
6070 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,retpolineplt" >&5
6071$as_echo_n "checking if $LD supports link flag -Wl,-z,retpolineplt... " >&6; }
6072 saved_LDFLAGS="$LDFLAGS"
6073 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,retpolineplt"
6074 _define_flag=""
6075 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,retpolineplt"
6076 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6077/* end confdefs.h. */
6078
6079#include <stdlib.h>
6080#include <stdio.h>
6081int main(int argc, char **argv) {
6082 /* Some math to catch -ftrapv problems in the toolchain */
6083 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6084 float l = i * 2.1;
6085 double m = l / 0.5;
6086 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6087 long long p = n * o;
6088 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6089 exit(0);
6090}
6091
6092_ACEOF
6093if ac_fn_c_try_link "$LINENO"; then :
6094
6095if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6096then
6097 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6098$as_echo "no" >&6; }
6099 LDFLAGS="$saved_LDFLAGS"
6100else
6101 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6102$as_echo "yes" >&6; }
6103 LDFLAGS="$saved_LDFLAGS $_define_flag"
6104fi
6105else
6106 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6107$as_echo "no" >&6; }
6108 LDFLAGS="$saved_LDFLAGS"
6109
6110fi
6111rm -f core conftest.err conftest.$ac_objext \
6112 conftest$ac_exeext conftest.$ac_ext
6113}
6114 {
6115 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -D_FORTIFY_SOURCE=2" >&5
6116$as_echo_n "checking if $CC supports compile flag -D_FORTIFY_SOURCE=2... " >&6; }
6117 saved_CFLAGS="$CFLAGS"
6118 CFLAGS="$CFLAGS $WERROR -D_FORTIFY_SOURCE=2"
6119 _define_flag=""
6120 test "x$_define_flag" = "x" && _define_flag="-D_FORTIFY_SOURCE=2"
6121 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6122/* end confdefs.h. */
6123
6124#include <stdlib.h>
6125#include <stdio.h>
6126int main(int argc, char **argv) {
6127 /* Some math to catch -ftrapv problems in the toolchain */
6128 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6129 float l = i * 2.1;
6130 double m = l / 0.5;
6131 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6132 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
6133 exit(0);
6134}
6135
6136_ACEOF
6137if ac_fn_c_try_compile "$LINENO"; then :
6138
6139if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6140then
6141 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6142$as_echo "no" >&6; }
6143 CFLAGS="$saved_CFLAGS"
6144else
6145 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6146$as_echo "yes" >&6; }
6147 CFLAGS="$saved_CFLAGS $_define_flag"
6148fi
6149else
6150 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6151$as_echo "no" >&6; }
6152 CFLAGS="$saved_CFLAGS"
6153
6154fi
6155rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6156}
6157 {
6158 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,relro" >&5
6159$as_echo_n "checking if $LD supports link flag -Wl,-z,relro... " >&6; }
6160 saved_LDFLAGS="$LDFLAGS"
6161 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,relro"
6162 _define_flag=""
6163 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,relro"
6164 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6165/* end confdefs.h. */
6166
6167#include <stdlib.h>
6168#include <stdio.h>
6169int main(int argc, char **argv) {
6170 /* Some math to catch -ftrapv problems in the toolchain */
6171 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6172 float l = i * 2.1;
6173 double m = l / 0.5;
6174 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6175 long long p = n * o;
6176 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6177 exit(0);
6178}
6179
6180_ACEOF
6181if ac_fn_c_try_link "$LINENO"; then :
6182
6183if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6184then
6185 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6186$as_echo "no" >&6; }
6187 LDFLAGS="$saved_LDFLAGS"
6188else
6189 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6190$as_echo "yes" >&6; }
6191 LDFLAGS="$saved_LDFLAGS $_define_flag"
6192fi
6193else
6194 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6195$as_echo "no" >&6; }
6196 LDFLAGS="$saved_LDFLAGS"
6197
6198fi
6199rm -f core conftest.err conftest.$ac_objext \
6200 conftest$ac_exeext conftest.$ac_ext
6201}
6202 {
6203 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,now" >&5
6204$as_echo_n "checking if $LD supports link flag -Wl,-z,now... " >&6; }
6205 saved_LDFLAGS="$LDFLAGS"
6206 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,now"
6207 _define_flag=""
6208 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,now"
6209 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6210/* end confdefs.h. */
6211
6212#include <stdlib.h>
6213#include <stdio.h>
6214int main(int argc, char **argv) {
6215 /* Some math to catch -ftrapv problems in the toolchain */
6216 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6217 float l = i * 2.1;
6218 double m = l / 0.5;
6219 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6220 long long p = n * o;
6221 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6222 exit(0);
6223}
6224
6225_ACEOF
6226if ac_fn_c_try_link "$LINENO"; then :
6227
6228if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6229then
6230 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6231$as_echo "no" >&6; }
6232 LDFLAGS="$saved_LDFLAGS"
6233else
6234 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6235$as_echo "yes" >&6; }
6236 LDFLAGS="$saved_LDFLAGS $_define_flag"
6237fi
6238else
6239 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6240$as_echo "no" >&6; }
6241 LDFLAGS="$saved_LDFLAGS"
6242
6243fi
6244rm -f core conftest.err conftest.$ac_objext \
6245 conftest$ac_exeext conftest.$ac_ext
6246}
6247 {
6248 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -Wl,-z,noexecstack" >&5
6249$as_echo_n "checking if $LD supports link flag -Wl,-z,noexecstack... " >&6; }
6250 saved_LDFLAGS="$LDFLAGS"
6251 LDFLAGS="$LDFLAGS $WERROR -Wl,-z,noexecstack"
6252 _define_flag=""
6253 test "x$_define_flag" = "x" && _define_flag="-Wl,-z,noexecstack"
6254 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6255/* end confdefs.h. */
6256
6257#include <stdlib.h>
6258#include <stdio.h>
6259int main(int argc, char **argv) {
6260 /* Some math to catch -ftrapv problems in the toolchain */
6261 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6262 float l = i * 2.1;
6263 double m = l / 0.5;
6264 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6265 long long p = n * o;
6266 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6267 exit(0);
6268}
6269
6270_ACEOF
6271if ac_fn_c_try_link "$LINENO"; then :
6272
6273if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6274then
6275 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6276$as_echo "no" >&6; }
6277 LDFLAGS="$saved_LDFLAGS"
6278else
6279 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6280$as_echo "yes" >&6; }
6281 LDFLAGS="$saved_LDFLAGS $_define_flag"
6282fi
6283else
6284 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6285$as_echo "no" >&6; }
6286 LDFLAGS="$saved_LDFLAGS"
6287
6288fi
6289rm -f core conftest.err conftest.$ac_objext \
6290 conftest$ac_exeext conftest.$ac_ext
6291}
6292 # NB. -ftrapv expects certain support functions to be present in
6293 # the compiler library (libgcc or similar) to detect integer operations
6294 # that can overflow. We must check that the result of enabling it
6295 # actually links. The test program compiled/linked includes a number
6296 # of integer operations that should exercise this.
6297 {
6298 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -ftrapv and linking succeeds" >&5
6299$as_echo_n "checking if $CC supports compile flag -ftrapv and linking succeeds... " >&6; }
6300 saved_CFLAGS="$CFLAGS"
6301 CFLAGS="$CFLAGS $WERROR -ftrapv"
6302 _define_flag=""
6303 test "x$_define_flag" = "x" && _define_flag="-ftrapv"
6304 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6305/* end confdefs.h. */
6306
6307#include <stdlib.h>
6308#include <stdio.h>
6309int main(int argc, char **argv) {
6310 /* Some math to catch -ftrapv problems in the toolchain */
6311 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
6312 float l = i * 2.1;
6313 double m = l / 0.5;
6314 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
6315 long long int p = n * o;
6316 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
6317 exit(0);
6318}
6319
6320_ACEOF
6321if ac_fn_c_try_link "$LINENO"; then :
6322
6323if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
6324then
6325 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6326$as_echo "no" >&6; }
6327 CFLAGS="$saved_CFLAGS"
6328else
6329 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6330$as_echo "yes" >&6; }
6331 CFLAGS="$saved_CFLAGS $_define_flag"
6332fi
6333else
6334 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6335$as_echo "no" >&6; }
6336 CFLAGS="$saved_CFLAGS"
6337
6338fi
6339rm -f core conftest.err conftest.$ac_objext \
6340 conftest$ac_exeext conftest.$ac_ext
6341}
6342 fi
6343 { $as_echo "$as_me:${as_lineno-$LINENO}: checking gcc version" >&5
6344$as_echo_n "checking gcc version... " >&6; }
6345 GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'`
6346 case $GCC_VER in
6347 1.*) no_attrib_nonnull=1 ;;
6348 2.8* | 2.9*)
6349 no_attrib_nonnull=1
6350 ;;
6351 2.*) no_attrib_nonnull=1 ;;
6352 *) ;;
6353 esac
6354 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_VER" >&5
6355$as_echo "$GCC_VER" >&6; }
6356
6357 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC accepts -fno-builtin-memset" >&5
6358$as_echo_n "checking if $CC accepts -fno-builtin-memset... " >&6; }
6359 saved_CFLAGS="$CFLAGS"
6360 CFLAGS="$CFLAGS -fno-builtin-memset"
6361 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6362/* end confdefs.h. */
6363 #include <string.h>
6364int
6365main ()
6366{
6367 char b[10]; memset(b, 0, sizeof(b));
6368 ;
6369 return 0;
6370}
6371_ACEOF
6372if ac_fn_c_try_link "$LINENO"; then :
6373 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6374$as_echo "yes" >&6; }
6375else
6376 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6377$as_echo "no" >&6; }
6378 CFLAGS="$saved_CFLAGS"
6379
6380fi
6381rm -f core conftest.err conftest.$ac_objext \
6382 conftest$ac_exeext conftest.$ac_ext
6383
6384 # -fstack-protector-all doesn't always work for some GCC versions
6385 # and/or platforms, so we test if we can. If it's not supported
6386 # on a given platform gcc will emit a warning so we use -Werror.
6387 if test "x$use_stack_protector" = "x1"; then
6388 for t in -fstack-protector-strong -fstack-protector-all \
6389 -fstack-protector; do
6390 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports $t" >&5
6391$as_echo_n "checking if $CC supports $t... " >&6; }
6392 saved_CFLAGS="$CFLAGS"
6393 saved_LDFLAGS="$LDFLAGS"
6394 CFLAGS="$CFLAGS $t -Werror"
6395 LDFLAGS="$LDFLAGS $t -Werror"
6396 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6397/* end confdefs.h. */
6398 #include <stdio.h>
6399int
6400main ()
6401{
6402
6403 char x[256];
6404 snprintf(x, sizeof(x), "XXX");
6405
6406 ;
6407 return 0;
6408}
6409_ACEOF
6410if ac_fn_c_try_link "$LINENO"; then :
6411 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6412$as_echo "yes" >&6; }
6413 CFLAGS="$saved_CFLAGS $t"
6414 LDFLAGS="$saved_LDFLAGS $t"
6415 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $t works" >&5
6416$as_echo_n "checking if $t works... " >&6; }
6417 if test "$cross_compiling" = yes; then :
6418 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: cannot test" >&5
6419$as_echo "$as_me: WARNING: cross compiling: cannot test" >&2;}
6420 break
6421
6422else
6423 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6424/* end confdefs.h. */
6425 #include <stdio.h>
6426int
6427main ()
6428{
6429
6430 char x[256];
6431 snprintf(x, sizeof(x), "XXX");
6432
6433 ;
6434 return 0;
6435}
6436_ACEOF
6437if ac_fn_c_try_run "$LINENO"; then :
6438 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6439$as_echo "yes" >&6; }
6440 break
6441else
6442 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6443$as_echo "no" >&6; }
6444fi
6445rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
6446 conftest.$ac_objext conftest.beam conftest.$ac_ext
6447fi
6448
6449
6450else
6451 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6452$as_echo "no" >&6; }
6453
6454fi
6455rm -f core conftest.err conftest.$ac_objext \
6456 conftest$ac_exeext conftest.$ac_ext
6457 CFLAGS="$saved_CFLAGS"
6458 LDFLAGS="$saved_LDFLAGS"
6459 done
6460 fi
6461
6462 if test -z "$have_llong_max"; then
6463 # retry LLONG_MAX with -std=gnu99, needed on some Linuxes
6464 unset ac_cv_have_decl_LLONG_MAX
6465 saved_CFLAGS="$CFLAGS"
6466 CFLAGS="$CFLAGS -std=gnu99"
6467 ac_fn_c_check_decl "$LINENO" "LLONG_MAX" "ac_cv_have_decl_LLONG_MAX" "#include <limits.h>
6468
6469"
6470if test "x$ac_cv_have_decl_LLONG_MAX" = xyes; then :
6471 have_llong_max=1
6472else
6473 CFLAGS="$saved_CFLAGS"
6474fi
6475
6476 fi
6477fi
6478
6479{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows __attribute__ on return types" >&5
6480$as_echo_n "checking if compiler allows __attribute__ on return types... " >&6; }
6481cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6482/* end confdefs.h. */
6483
6484#include <stdlib.h>
6485__attribute__((__unused__)) static void foo(void){return;}
6486int
6487main ()
6488{
6489 exit(0);
6490 ;
6491 return 0;
6492}
6493_ACEOF
6494if ac_fn_c_try_compile "$LINENO"; then :
6495 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6496$as_echo "yes" >&6; }
6497else
6498 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6499$as_echo "no" >&6; }
6500
6501$as_echo "#define NO_ATTRIBUTE_ON_RETURN_TYPE 1" >>confdefs.h
6502
6503
6504fi
6505rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6506
6507{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows __attribute__ prototype args" >&5
6508$as_echo_n "checking if compiler allows __attribute__ prototype args... " >&6; }
6509cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6510/* end confdefs.h. */
6511
6512#include <stdlib.h>
6513typedef void foo(const char *, ...) __attribute__((format(printf, 1, 2)));
6514int
6515main ()
6516{
6517 exit(0);
6518 ;
6519 return 0;
6520}
6521_ACEOF
6522if ac_fn_c_try_compile "$LINENO"; then :
6523 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6524$as_echo "yes" >&6; }
6525else
6526 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6527$as_echo "no" >&6; }
6528
6529$as_echo "#define NO_ATTRIBUTE_ON_PROTOTYPE_ARGS 1" >>confdefs.h
6530
6531
6532fi
6533rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6534
6535if test "x$no_attrib_nonnull" != "x1" ; then
6536
6537$as_echo "#define HAVE_ATTRIBUTE__NONNULL__ 1" >>confdefs.h
6538
6539fi
6540
6541
6542# Check whether --with-rpath was given.
6543if test "${with_rpath+set}" = set; then :
6544 withval=$with_rpath;
6545 if test "x$withval" = "xno" ; then
6546 rpath_opt=""
6547 elif test "x$withval" = "xyes" ; then
6548 rpath_opt="-R"
6549 else
6550 rpath_opt="$withval"
6551 fi
6552
6553
6554fi
6555
6556
6557# Allow user to specify flags
6558
6559# Check whether --with-cflags was given.
6560if test "${with_cflags+set}" = set; then :
6561 withval=$with_cflags;
6562 if test -n "$withval" && test "x$withval" != "xno" && \
6563 test "x${withval}" != "xyes"; then
6564 CFLAGS="$CFLAGS $withval"
6565 fi
6566
6567
6568fi
6569
6570
6571
6572# Check whether --with-cflags-after was given.
6573if test "${with_cflags_after+set}" = set; then :
6574 withval=$with_cflags_after;
6575 if test -n "$withval" && test "x$withval" != "xno" && \
6576 test "x${withval}" != "xyes"; then
6577 CFLAGS_AFTER="$withval"
6578 fi
6579
6580
6581fi
6582
6583
6584# Check whether --with-cppflags was given.
6585if test "${with_cppflags+set}" = set; then :
6586 withval=$with_cppflags;
6587 if test -n "$withval" && test "x$withval" != "xno" && \
6588 test "x${withval}" != "xyes"; then
6589 CPPFLAGS="$CPPFLAGS $withval"
6590 fi
6591
6592
6593fi
6594
6595
6596# Check whether --with-ldflags was given.
6597if test "${with_ldflags+set}" = set; then :
6598 withval=$with_ldflags;
6599 if test -n "$withval" && test "x$withval" != "xno" && \
6600 test "x${withval}" != "xyes"; then
6601 LDFLAGS="$LDFLAGS $withval"
6602 fi
6603
6604
6605fi
6606
6607
6608# Check whether --with-ldflags-after was given.
6609if test "${with_ldflags_after+set}" = set; then :
6610 withval=$with_ldflags_after;
6611 if test -n "$withval" && test "x$withval" != "xno" && \
6612 test "x${withval}" != "xyes"; then
6613 LDFLAGS_AFTER="$withval"
6614 fi
6615
6616
6617fi
6618
6619
6620# Check whether --with-libs was given.
6621if test "${with_libs+set}" = set; then :
6622 withval=$with_libs;
6623 if test -n "$withval" && test "x$withval" != "xno" && \
6624 test "x${withval}" != "xyes"; then
6625 LIBS="$LIBS $withval"
6626 fi
6627
6628
6629fi
6630
6631
6632# Check whether --with-Werror was given.
6633if test "${with_Werror+set}" = set; then :
6634 withval=$with_Werror;
6635 if test -n "$withval" && test "x$withval" != "xno"; then
6636 werror_flags="-Werror"
6637 if test "x${withval}" != "xyes"; then
6638 werror_flags="$withval"
6639 fi
6640 fi
6641
6642
6643fi
6644
6645
6646for ac_header in \
6647 blf.h \
6648 bstring.h \
6649 crypt.h \
6650 crypto/sha2.h \
6651 dirent.h \
6652 endian.h \
6653 elf.h \
6654 err.h \
6655 features.h \
6656 fcntl.h \
6657 floatingpoint.h \
6658 getopt.h \
6659 glob.h \
6660 ia.h \
6661 iaf.h \
6662 ifaddrs.h \
6663 inttypes.h \
6664 langinfo.h \
6665 limits.h \
6666 locale.h \
6667 login.h \
6668 maillock.h \
6669 ndir.h \
6670 net/if_tun.h \
6671 netdb.h \
6672 netgroup.h \
6673 pam/pam_appl.h \
6674 paths.h \
6675 poll.h \
6676 pty.h \
6677 readpassphrase.h \
6678 rpc/types.h \
6679 security/pam_appl.h \
6680 sha2.h \
6681 shadow.h \
6682 stddef.h \
6683 stdint.h \
6684 string.h \
6685 strings.h \
6686 sys/bitypes.h \
6687 sys/bsdtty.h \
6688 sys/cdefs.h \
6689 sys/dir.h \
6690 sys/file.h \
6691 sys/mman.h \
6692 sys/label.h \
6693 sys/ndir.h \
6694 sys/poll.h \
6695 sys/prctl.h \
6696 sys/pstat.h \
6697 sys/ptrace.h \
6698 sys/random.h \
6699 sys/select.h \
6700 sys/stat.h \
6701 sys/stream.h \
6702 sys/stropts.h \
6703 sys/strtio.h \
6704 sys/statvfs.h \
6705 sys/sysmacros.h \
6706 sys/time.h \
6707 sys/timers.h \
6708 sys/vfs.h \
6709 time.h \
6710 tmpdir.h \
6711 ttyent.h \
6712 ucred.h \
6713 unistd.h \
6714 usersec.h \
6715 util.h \
6716 utime.h \
6717 utmp.h \
6718 utmpx.h \
6719 vis.h \
6720 wchar.h \
6721
6722do :
6723 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
6724ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
6725if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
6726 cat >>confdefs.h <<_ACEOF
6727#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
6728_ACEOF
6729
6730fi
6731
6732done
6733
6734
6735# On some platforms (eg SunOS4) sys/audit.h requires sys/[time|types|label.h]
6736# to be included first.
6737for ac_header in sys/audit.h
6738do :
6739 ac_fn_c_check_header_compile "$LINENO" "sys/audit.h" "ac_cv_header_sys_audit_h" "
6740#ifdef HAVE_SYS_TIME_H
6741# include <sys/time.h>
6742#endif
6743#ifdef HAVE_SYS_TYPES_H
6744# include <sys/types.h>
6745#endif
6746#ifdef HAVE_SYS_LABEL_H
6747# include <sys/label.h>
6748#endif
6749
6750"
6751if test "x$ac_cv_header_sys_audit_h" = xyes; then :
6752 cat >>confdefs.h <<_ACEOF
6753#define HAVE_SYS_AUDIT_H 1
6754_ACEOF
6755
6756fi
6757
6758done
6759
6760
6761# sys/capsicum.h requires sys/types.h
6762for ac_header in sys/capsicum.h
6763do :
6764 ac_fn_c_check_header_compile "$LINENO" "sys/capsicum.h" "ac_cv_header_sys_capsicum_h" "
6765#ifdef HAVE_SYS_TYPES_H
6766# include <sys/types.h>
6767#endif
6768
6769"
6770if test "x$ac_cv_header_sys_capsicum_h" = xyes; then :
6771 cat >>confdefs.h <<_ACEOF
6772#define HAVE_SYS_CAPSICUM_H 1
6773_ACEOF
6774
6775fi
6776
6777done
6778
6779
6780# net/route.h requires sys/socket.h and sys/types.h.
6781# sys/sysctl.h also requires sys/param.h
6782for ac_header in net/route.h sys/sysctl.h
6783do :
6784 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
6785ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "
6786#ifdef HAVE_SYS_TYPES_H
6787# include <sys/types.h>
6788#endif
6789#include <sys/param.h>
6790#include <sys/socket.h>
6791
6792"
6793if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
6794 cat >>confdefs.h <<_ACEOF
6795#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
6796_ACEOF
6797
6798fi
6799
6800done
6801
6802
6803# lastlog.h requires sys/time.h to be included first on Solaris
6804for ac_header in lastlog.h
6805do :
6806 ac_fn_c_check_header_compile "$LINENO" "lastlog.h" "ac_cv_header_lastlog_h" "
6807#ifdef HAVE_SYS_TIME_H
6808# include <sys/time.h>
6809#endif
6810
6811"
6812if test "x$ac_cv_header_lastlog_h" = xyes; then :
6813 cat >>confdefs.h <<_ACEOF
6814#define HAVE_LASTLOG_H 1
6815_ACEOF
6816
6817fi
6818
6819done
6820
6821
6822# sys/ptms.h requires sys/stream.h to be included first on Solaris
6823for ac_header in sys/ptms.h
6824do :
6825 ac_fn_c_check_header_compile "$LINENO" "sys/ptms.h" "ac_cv_header_sys_ptms_h" "
6826#ifdef HAVE_SYS_STREAM_H
6827# include <sys/stream.h>
6828#endif
6829
6830"
6831if test "x$ac_cv_header_sys_ptms_h" = xyes; then :
6832 cat >>confdefs.h <<_ACEOF
6833#define HAVE_SYS_PTMS_H 1
6834_ACEOF
6835
6836fi
6837
6838done
6839
6840
6841# login_cap.h requires sys/types.h on NetBSD
6842for ac_header in login_cap.h
6843do :
6844 ac_fn_c_check_header_compile "$LINENO" "login_cap.h" "ac_cv_header_login_cap_h" "
6845#include <sys/types.h>
6846
6847"
6848if test "x$ac_cv_header_login_cap_h" = xyes; then :
6849 cat >>confdefs.h <<_ACEOF
6850#define HAVE_LOGIN_CAP_H 1
6851_ACEOF
6852
6853fi
6854
6855done
6856
6857
6858# older BSDs need sys/param.h before sys/mount.h
6859for ac_header in sys/mount.h
6860do :
6861 ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" "
6862#include <sys/param.h>
6863
6864"
6865if test "x$ac_cv_header_sys_mount_h" = xyes; then :
6866 cat >>confdefs.h <<_ACEOF
6867#define HAVE_SYS_MOUNT_H 1
6868_ACEOF
6869
6870fi
6871
6872done
6873
6874
6875# Android requires sys/socket.h to be included before sys/un.h
6876for ac_header in sys/un.h
6877do :
6878 ac_fn_c_check_header_compile "$LINENO" "sys/un.h" "ac_cv_header_sys_un_h" "
6879#include <sys/types.h>
6880#include <sys/socket.h>
6881
6882"
6883if test "x$ac_cv_header_sys_un_h" = xyes; then :
6884 cat >>confdefs.h <<_ACEOF
6885#define HAVE_SYS_UN_H 1
6886_ACEOF
6887
6888fi
6889
6890done
6891
6892
6893# Messages for features tested for in target-specific section
6894SIA_MSG="no"
6895SPC_MSG="no"
6896SP_MSG="no"
6897SPP_MSG="no"
6898
6899# Support for Solaris/Illumos privileges (this test is used by both
6900# the --with-solaris-privs option and --with-sandbox=solaris).
6901SOLARIS_PRIVS="no"
6902
6903# Check for some target-specific stuff
6904case "$host" in
6905*-*-aix*)
6906 # Some versions of VAC won't allow macro redefinitions at
6907 # -qlanglevel=ansi, and autoconf 2.60 sometimes insists on using that
6908 # particularly with older versions of vac or xlc.
6909 # It also throws errors about null macro arguments, but these are
6910 # not fatal.
6911 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler allows macro redefinitions" >&5
6912$as_echo_n "checking if compiler allows macro redefinitions... " >&6; }
6913 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6914/* end confdefs.h. */
6915
6916#define testmacro foo
6917#define testmacro bar
6918int
6919main ()
6920{
6921 exit(0);
6922 ;
6923 return 0;
6924}
6925_ACEOF
6926if ac_fn_c_try_compile "$LINENO"; then :
6927 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
6928$as_echo "yes" >&6; }
6929else
6930 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6931$as_echo "no" >&6; }
6932 CC="`echo $CC | sed 's/-qlanglvl\=ansi//g'`"
6933 CFLAGS="`echo $CFLAGS | sed 's/-qlanglvl\=ansi//g'`"
6934 CPPFLAGS="`echo $CPPFLAGS | sed 's/-qlanglvl\=ansi//g'`"
6935
6936
6937fi
6938rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6939
6940 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to specify blibpath for linker ($LD)" >&5
6941$as_echo_n "checking how to specify blibpath for linker ($LD)... " >&6; }
6942 if (test -z "$blibpath"); then
6943 blibpath="/usr/lib:/lib"
6944 fi
6945 saved_LDFLAGS="$LDFLAGS"
6946 if test "$GCC" = "yes"; then
6947 flags="-Wl,-blibpath: -Wl,-rpath, -blibpath:"
6948 else
6949 flags="-blibpath: -Wl,-blibpath: -Wl,-rpath,"
6950 fi
6951 for tryflags in $flags ;do
6952 if (test -z "$blibflags"); then
6953 LDFLAGS="$saved_LDFLAGS $tryflags$blibpath"
6954 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6955/* end confdefs.h. */
6956
6957int
6958main ()
6959{
6960
6961 ;
6962 return 0;
6963}
6964_ACEOF
6965if ac_fn_c_try_link "$LINENO"; then :
6966 blibflags=$tryflags
6967fi
6968rm -f core conftest.err conftest.$ac_objext \
6969 conftest$ac_exeext conftest.$ac_ext
6970 fi
6971 done
6972 if (test -z "$blibflags"); then
6973 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
6974$as_echo "not found" >&6; }
6975 as_fn_error $? "*** must be able to specify blibpath on AIX - check config.log" "$LINENO" 5
6976 else
6977 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $blibflags" >&5
6978$as_echo "$blibflags" >&6; }
6979 fi
6980 LDFLAGS="$saved_LDFLAGS"
6981 ac_fn_c_check_func "$LINENO" "authenticate" "ac_cv_func_authenticate"
6982if test "x$ac_cv_func_authenticate" = xyes; then :
6983
6984$as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h
6985
6986else
6987 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for authenticate in -ls" >&5
6988$as_echo_n "checking for authenticate in -ls... " >&6; }
6989if ${ac_cv_lib_s_authenticate+:} false; then :
6990 $as_echo_n "(cached) " >&6
6991else
6992 ac_check_lib_save_LIBS=$LIBS
6993LIBS="-ls $LIBS"
6994cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6995/* end confdefs.h. */
6996
6997/* Override any GCC internal prototype to avoid an error.
6998 Use char because int might match the return type of a GCC
6999 builtin and then its argument prototype would still apply. */
7000#ifdef __cplusplus
7001extern "C"
7002#endif
7003char authenticate ();
7004int
7005main ()
7006{
7007return authenticate ();
7008 ;
7009 return 0;
7010}
7011_ACEOF
7012if ac_fn_c_try_link "$LINENO"; then :
7013 ac_cv_lib_s_authenticate=yes
7014else
7015 ac_cv_lib_s_authenticate=no
7016fi
7017rm -f core conftest.err conftest.$ac_objext \
7018 conftest$ac_exeext conftest.$ac_ext
7019LIBS=$ac_check_lib_save_LIBS
7020fi
7021{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_s_authenticate" >&5
7022$as_echo "$ac_cv_lib_s_authenticate" >&6; }
7023if test "x$ac_cv_lib_s_authenticate" = xyes; then :
7024 $as_echo "#define WITH_AIXAUTHENTICATE 1" >>confdefs.h
7025
7026 LIBS="$LIBS -ls"
7027
7028fi
7029
7030
7031fi
7032
7033 ac_fn_c_check_decl "$LINENO" "authenticate" "ac_cv_have_decl_authenticate" "#include <usersec.h>
7034"
7035if test "x$ac_cv_have_decl_authenticate" = xyes; then :
7036 ac_have_decl=1
7037else
7038 ac_have_decl=0
7039fi
7040
7041cat >>confdefs.h <<_ACEOF
7042#define HAVE_DECL_AUTHENTICATE $ac_have_decl
7043_ACEOF
7044ac_fn_c_check_decl "$LINENO" "loginrestrictions" "ac_cv_have_decl_loginrestrictions" "#include <usersec.h>
7045"
7046if test "x$ac_cv_have_decl_loginrestrictions" = xyes; then :
7047 ac_have_decl=1
7048else
7049 ac_have_decl=0
7050fi
7051
7052cat >>confdefs.h <<_ACEOF
7053#define HAVE_DECL_LOGINRESTRICTIONS $ac_have_decl
7054_ACEOF
7055ac_fn_c_check_decl "$LINENO" "loginsuccess" "ac_cv_have_decl_loginsuccess" "#include <usersec.h>
7056"
7057if test "x$ac_cv_have_decl_loginsuccess" = xyes; then :
7058 ac_have_decl=1
7059else
7060 ac_have_decl=0
7061fi
7062
7063cat >>confdefs.h <<_ACEOF
7064#define HAVE_DECL_LOGINSUCCESS $ac_have_decl
7065_ACEOF
7066ac_fn_c_check_decl "$LINENO" "passwdexpired" "ac_cv_have_decl_passwdexpired" "#include <usersec.h>
7067"
7068if test "x$ac_cv_have_decl_passwdexpired" = xyes; then :
7069 ac_have_decl=1
7070else
7071 ac_have_decl=0
7072fi
7073
7074cat >>confdefs.h <<_ACEOF
7075#define HAVE_DECL_PASSWDEXPIRED $ac_have_decl
7076_ACEOF
7077ac_fn_c_check_decl "$LINENO" "setauthdb" "ac_cv_have_decl_setauthdb" "#include <usersec.h>
7078"
7079if test "x$ac_cv_have_decl_setauthdb" = xyes; then :
7080 ac_have_decl=1
7081else
7082 ac_have_decl=0
7083fi
7084
7085cat >>confdefs.h <<_ACEOF
7086#define HAVE_DECL_SETAUTHDB $ac_have_decl
7087_ACEOF
7088
7089 ac_fn_c_check_decl "$LINENO" "loginfailed" "ac_cv_have_decl_loginfailed" "#include <usersec.h>
7090
7091"
7092if test "x$ac_cv_have_decl_loginfailed" = xyes; then :
7093 ac_have_decl=1
7094else
7095 ac_have_decl=0
7096fi
7097
7098cat >>confdefs.h <<_ACEOF
7099#define HAVE_DECL_LOGINFAILED $ac_have_decl
7100_ACEOF
7101if test $ac_have_decl = 1; then :
7102 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if loginfailed takes 4 arguments" >&5
7103$as_echo_n "checking if loginfailed takes 4 arguments... " >&6; }
7104 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7105/* end confdefs.h. */
7106 #include <usersec.h>
7107int
7108main ()
7109{
7110 (void)loginfailed("user","host","tty",0);
7111 ;
7112 return 0;
7113}
7114_ACEOF
7115if ac_fn_c_try_compile "$LINENO"; then :
7116 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7117$as_echo "yes" >&6; }
7118
7119$as_echo "#define AIX_LOGINFAILED_4ARG 1" >>confdefs.h
7120
7121else
7122 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7123$as_echo "no" >&6; }
7124
7125fi
7126rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7127fi
7128
7129 for ac_func in getgrset setauthdb
7130do :
7131 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
7132ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
7133if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
7134 cat >>confdefs.h <<_ACEOF
7135#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
7136_ACEOF
7137
7138fi
7139done
7140
7141 ac_fn_c_check_decl "$LINENO" "F_CLOSEM" "ac_cv_have_decl_F_CLOSEM" " #include <limits.h>
7142 #include <fcntl.h>
7143
7144"
7145if test "x$ac_cv_have_decl_F_CLOSEM" = xyes; then :
7146
7147$as_echo "#define HAVE_FCNTL_CLOSEM 1" >>confdefs.h
7148
7149fi
7150
7151 check_for_aix_broken_getaddrinfo=1
7152
7153$as_echo "#define BROKEN_REALPATH 1" >>confdefs.h
7154
7155
7156$as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7157
7158
7159$as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7160
7161
7162$as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7163
7164
7165$as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
7166
7167
7168$as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
7169
7170
7171$as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7172
7173
7174$as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h
7175
7176
7177$as_echo "#define PTY_ZEROREAD 1" >>confdefs.h
7178
7179
7180$as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h
7181
7182
7183$as_echo "#define BROKEN_STRNDUP 1" >>confdefs.h
7184
7185
7186$as_echo "#define BROKEN_STRNLEN 1" >>confdefs.h
7187
7188 ;;
7189*-*-android*)
7190
7191$as_echo "#define DISABLE_UTMP 1" >>confdefs.h
7192
7193
7194$as_echo "#define DISABLE_WTMP 1" >>confdefs.h
7195
7196 ;;
7197*-*-cygwin*)
7198 check_for_libcrypt_later=1
7199 LIBS="$LIBS /usr/lib/textreadmode.o"
7200
7201$as_echo "#define HAVE_CYGWIN 1" >>confdefs.h
7202
7203
7204$as_echo "#define USE_PIPES 1" >>confdefs.h
7205
7206
7207$as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h
7208
7209
7210$as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
7211
7212
7213$as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h
7214
7215
7216$as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
7217
7218
7219$as_echo "#define SSH_IOBUFSZ 65535" >>confdefs.h
7220
7221
7222$as_echo "#define FILESYSTEM_NO_BACKSLASH 1" >>confdefs.h
7223
7224 # Cygwin defines optargs, optargs as declspec(dllimport) for historical
7225 # reasons which cause compile warnings, so we disable those warnings.
7226 {
7227 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -Wno-attributes" >&5
7228$as_echo_n "checking if $CC supports compile flag -Wno-attributes... " >&6; }
7229 saved_CFLAGS="$CFLAGS"
7230 CFLAGS="$CFLAGS $WERROR -Wno-attributes"
7231 _define_flag=""
7232 test "x$_define_flag" = "x" && _define_flag="-Wno-attributes"
7233 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7234/* end confdefs.h. */
7235
7236#include <stdlib.h>
7237#include <stdio.h>
7238int main(int argc, char **argv) {
7239 /* Some math to catch -ftrapv problems in the toolchain */
7240 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
7241 float l = i * 2.1;
7242 double m = l / 0.5;
7243 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
7244 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
7245 exit(0);
7246}
7247
7248_ACEOF
7249if ac_fn_c_try_compile "$LINENO"; then :
7250
7251if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
7252then
7253 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7254$as_echo "no" >&6; }
7255 CFLAGS="$saved_CFLAGS"
7256else
7257 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7258$as_echo "yes" >&6; }
7259 CFLAGS="$saved_CFLAGS $_define_flag"
7260fi
7261else
7262 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7263$as_echo "no" >&6; }
7264 CFLAGS="$saved_CFLAGS"
7265
7266fi
7267rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7268}
7269 ;;
7270*-*-dgux*)
7271
7272$as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h
7273
7274 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7275
7276 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7277
7278 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7279
7280 ;;
7281*-*-darwin*)
7282 use_pie=auto
7283 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we have working getaddrinfo" >&5
7284$as_echo_n "checking if we have working getaddrinfo... " >&6; }
7285 if test "$cross_compiling" = yes; then :
7286 { $as_echo "$as_me:${as_lineno-$LINENO}: result: assume it is working" >&5
7287$as_echo "assume it is working" >&6; }
7288else
7289 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7290/* end confdefs.h. */
7291 #include <mach-o/dyld.h>
7292main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
7293 exit(0);
7294 else
7295 exit(1);
7296}
7297
7298_ACEOF
7299if ac_fn_c_try_run "$LINENO"; then :
7300 { $as_echo "$as_me:${as_lineno-$LINENO}: result: working" >&5
7301$as_echo "working" >&6; }
7302else
7303 { $as_echo "$as_me:${as_lineno-$LINENO}: result: buggy" >&5
7304$as_echo "buggy" >&6; }
7305
7306$as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
7307
7308
7309fi
7310rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
7311 conftest.$ac_objext conftest.beam conftest.$ac_ext
7312fi
7313
7314 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7315
7316 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7317
7318 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7319
7320
7321$as_echo "#define BROKEN_GLOB 1" >>confdefs.h
7322
7323
7324cat >>confdefs.h <<_ACEOF
7325#define BIND_8_COMPAT 1
7326_ACEOF
7327
7328
7329$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
7330
7331
7332$as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h
7333
7334
7335$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
7336
7337
7338 ac_fn_c_check_decl "$LINENO" "AU_IPv4" "ac_cv_have_decl_AU_IPv4" "$ac_includes_default"
7339if test "x$ac_cv_have_decl_AU_IPv4" = xyes; then :
7340
7341else
7342
7343$as_echo "#define AU_IPv4 0" >>confdefs.h
7344
7345 #include <bsm/audit.h>
7346
7347$as_echo "#define LASTLOG_WRITE_PUTUTXLINE 1" >>confdefs.h
7348
7349
7350fi
7351
7352
7353$as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7354
7355 for ac_func in sandbox_init
7356do :
7357 ac_fn_c_check_func "$LINENO" "sandbox_init" "ac_cv_func_sandbox_init"
7358if test "x$ac_cv_func_sandbox_init" = xyes; then :
7359 cat >>confdefs.h <<_ACEOF
7360#define HAVE_SANDBOX_INIT 1
7361_ACEOF
7362
7363fi
7364done
7365
7366 for ac_header in sandbox.h
7367do :
7368 ac_fn_c_check_header_mongrel "$LINENO" "sandbox.h" "ac_cv_header_sandbox_h" "$ac_includes_default"
7369if test "x$ac_cv_header_sandbox_h" = xyes; then :
7370 cat >>confdefs.h <<_ACEOF
7371#define HAVE_SANDBOX_H 1
7372_ACEOF
7373
7374fi
7375
7376done
7377
7378 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sandbox_apply in -lsandbox" >&5
7379$as_echo_n "checking for sandbox_apply in -lsandbox... " >&6; }
7380if ${ac_cv_lib_sandbox_sandbox_apply+:} false; then :
7381 $as_echo_n "(cached) " >&6
7382else
7383 ac_check_lib_save_LIBS=$LIBS
7384LIBS="-lsandbox $LIBS"
7385cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7386/* end confdefs.h. */
7387
7388/* Override any GCC internal prototype to avoid an error.
7389 Use char because int might match the return type of a GCC
7390 builtin and then its argument prototype would still apply. */
7391#ifdef __cplusplus
7392extern "C"
7393#endif
7394char sandbox_apply ();
7395int
7396main ()
7397{
7398return sandbox_apply ();
7399 ;
7400 return 0;
7401}
7402_ACEOF
7403if ac_fn_c_try_link "$LINENO"; then :
7404 ac_cv_lib_sandbox_sandbox_apply=yes
7405else
7406 ac_cv_lib_sandbox_sandbox_apply=no
7407fi
7408rm -f core conftest.err conftest.$ac_objext \
7409 conftest$ac_exeext conftest.$ac_ext
7410LIBS=$ac_check_lib_save_LIBS
7411fi
7412{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sandbox_sandbox_apply" >&5
7413$as_echo "$ac_cv_lib_sandbox_sandbox_apply" >&6; }
7414if test "x$ac_cv_lib_sandbox_sandbox_apply" = xyes; then :
7415
7416 SSHDLIBS="$SSHDLIBS -lsandbox"
7417
7418fi
7419
7420 ;;
7421*-*-dragonfly*)
7422 SSHDLIBS="$SSHDLIBS -lcrypt"
7423 TEST_MALLOC_OPTIONS="AFGJPRX"
7424 ;;
7425*-*-haiku*)
7426 LIBS="$LIBS -lbsd "
7427 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lnetwork" >&5
7428$as_echo_n "checking for socket in -lnetwork... " >&6; }
7429if ${ac_cv_lib_network_socket+:} false; then :
7430 $as_echo_n "(cached) " >&6
7431else
7432 ac_check_lib_save_LIBS=$LIBS
7433LIBS="-lnetwork $LIBS"
7434cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7435/* end confdefs.h. */
7436
7437/* Override any GCC internal prototype to avoid an error.
7438 Use char because int might match the return type of a GCC
7439 builtin and then its argument prototype would still apply. */
7440#ifdef __cplusplus
7441extern "C"
7442#endif
7443char socket ();
7444int
7445main ()
7446{
7447return socket ();
7448 ;
7449 return 0;
7450}
7451_ACEOF
7452if ac_fn_c_try_link "$LINENO"; then :
7453 ac_cv_lib_network_socket=yes
7454else
7455 ac_cv_lib_network_socket=no
7456fi
7457rm -f core conftest.err conftest.$ac_objext \
7458 conftest$ac_exeext conftest.$ac_ext
7459LIBS=$ac_check_lib_save_LIBS
7460fi
7461{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_network_socket" >&5
7462$as_echo "$ac_cv_lib_network_socket" >&6; }
7463if test "x$ac_cv_lib_network_socket" = xyes; then :
7464 cat >>confdefs.h <<_ACEOF
7465#define HAVE_LIBNETWORK 1
7466_ACEOF
7467
7468 LIBS="-lnetwork $LIBS"
7469
7470fi
7471
7472 $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
7473
7474 MANTYPE=man
7475 ;;
7476*-*-hpux*)
7477 # first we define all of the options common to all HP-UX releases
7478 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
7479 IPADDR_IN_DISPLAY=yes
7480 $as_echo "#define USE_PIPES 1" >>confdefs.h
7481
7482 $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
7483
7484
7485$as_echo "#define LOCKED_PASSWD_STRING \"*\"" >>confdefs.h
7486
7487 $as_echo "#define SPT_TYPE SPT_PSTAT" >>confdefs.h
7488
7489
7490$as_echo "#define PLATFORM_SYS_DIR_UID 2" >>confdefs.h
7491
7492 maildir="/var/mail"
7493 LIBS="$LIBS -lsec"
7494 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for t_error in -lxnet" >&5
7495$as_echo_n "checking for t_error in -lxnet... " >&6; }
7496if ${ac_cv_lib_xnet_t_error+:} false; then :
7497 $as_echo_n "(cached) " >&6
7498else
7499 ac_check_lib_save_LIBS=$LIBS
7500LIBS="-lxnet $LIBS"
7501cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7502/* end confdefs.h. */
7503
7504/* Override any GCC internal prototype to avoid an error.
7505 Use char because int might match the return type of a GCC
7506 builtin and then its argument prototype would still apply. */
7507#ifdef __cplusplus
7508extern "C"
7509#endif
7510char t_error ();
7511int
7512main ()
7513{
7514return t_error ();
7515 ;
7516 return 0;
7517}
7518_ACEOF
7519if ac_fn_c_try_link "$LINENO"; then :
7520 ac_cv_lib_xnet_t_error=yes
7521else
7522 ac_cv_lib_xnet_t_error=no
7523fi
7524rm -f core conftest.err conftest.$ac_objext \
7525 conftest$ac_exeext conftest.$ac_ext
7526LIBS=$ac_check_lib_save_LIBS
7527fi
7528{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xnet_t_error" >&5
7529$as_echo "$ac_cv_lib_xnet_t_error" >&6; }
7530if test "x$ac_cv_lib_xnet_t_error" = xyes; then :
7531 cat >>confdefs.h <<_ACEOF
7532#define HAVE_LIBXNET 1
7533_ACEOF
7534
7535 LIBS="-lxnet $LIBS"
7536
7537else
7538 as_fn_error $? "*** -lxnet needed on HP-UX - check config.log ***" "$LINENO" 5
7539fi
7540
7541
7542 # next, we define all of the options specific to major releases
7543 case "$host" in
7544 *-*-hpux10*)
7545 if test -z "$GCC"; then
7546 CFLAGS="$CFLAGS -Ae"
7547 fi
7548 ;;
7549 *-*-hpux11*)
7550
7551$as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
7552
7553
7554$as_echo "#define DISABLE_UTMP 1" >>confdefs.h
7555
7556
7557$as_echo "#define USE_BTMP 1" >>confdefs.h
7558
7559 check_for_hpux_broken_getaddrinfo=1
7560 check_for_conflicting_getspnam=1
7561 ;;
7562 esac
7563
7564 # lastly, we define options specific to minor releases
7565 case "$host" in
7566 *-*-hpux10.26)
7567
7568$as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h
7569
7570 disable_ptmx_check=yes
7571 LIBS="$LIBS -lsecpw"
7572 ;;
7573 esac
7574 ;;
7575*-*-irix5*)
7576 PATH="$PATH:/usr/etc"
7577
7578$as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h
7579
7580 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7581
7582 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7583
7584 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7585
7586
7587$as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
7588
7589 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
7590
7591 ;;
7592*-*-irix6*)
7593 PATH="$PATH:/usr/etc"
7594
7595$as_echo "#define WITH_IRIX_ARRAY 1" >>confdefs.h
7596
7597
7598$as_echo "#define WITH_IRIX_PROJECT 1" >>confdefs.h
7599
7600
7601$as_echo "#define WITH_IRIX_AUDIT 1" >>confdefs.h
7602
7603 ac_fn_c_check_func "$LINENO" "jlimit_startjob" "ac_cv_func_jlimit_startjob"
7604if test "x$ac_cv_func_jlimit_startjob" = xyes; then :
7605
7606$as_echo "#define WITH_IRIX_JOBS 1" >>confdefs.h
7607
7608fi
7609
7610 $as_echo "#define BROKEN_INET_NTOA 1" >>confdefs.h
7611
7612 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7613
7614 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7615
7616 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7617
7618
7619$as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
7620
7621 $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
7622
7623 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
7624
7625 ;;
7626*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
7627 check_for_libcrypt_later=1
7628 $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
7629
7630 $as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h
7631
7632 $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7633
7634
7635$as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h
7636
7637
7638$as_echo "#define USE_BTMP 1" >>confdefs.h
7639
7640 ;;
7641*-*-linux*)
7642 no_dev_ptmx=1
7643 use_pie=auto
7644 check_for_libcrypt_later=1
7645 check_for_openpty_ctty_bug=1
7646 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE"
7647
7648$as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
7649
7650
7651$as_echo "#define LOCKED_PASSWD_PREFIX \"!\"" >>confdefs.h
7652
7653 $as_echo "#define SPT_TYPE SPT_REUSEARGV" >>confdefs.h
7654
7655
7656$as_echo "#define LINK_OPNOTSUPP_ERRNO EPERM" >>confdefs.h
7657
7658
7659$as_echo "#define _PATH_BTMP \"/var/log/btmp\"" >>confdefs.h
7660
7661 $as_echo "#define USE_BTMP 1" >>confdefs.h
7662
7663
7664$as_echo "#define LINUX_OOM_ADJUST 1" >>confdefs.h
7665
7666 inet6_default_4in6=yes
7667 case `uname -r` in
7668 1.*|2.0.*)
7669
7670$as_echo "#define BROKEN_CMSG_TYPE 1" >>confdefs.h
7671
7672 ;;
7673 esac
7674 # tun(4) forwarding compat code
7675 for ac_header in linux/if_tun.h
7676do :
7677 ac_fn_c_check_header_mongrel "$LINENO" "linux/if_tun.h" "ac_cv_header_linux_if_tun_h" "$ac_includes_default"
7678if test "x$ac_cv_header_linux_if_tun_h" = xyes; then :
7679 cat >>confdefs.h <<_ACEOF
7680#define HAVE_LINUX_IF_TUN_H 1
7681_ACEOF
7682
7683fi
7684
7685done
7686
7687 if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then
7688
7689$as_echo "#define SSH_TUN_LINUX 1" >>confdefs.h
7690
7691
7692$as_echo "#define SSH_TUN_COMPAT_AF 1" >>confdefs.h
7693
7694
7695$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
7696
7697 fi
7698 ac_fn_c_check_header_compile "$LINENO" "linux/if.h" "ac_cv_header_linux_if_h" "
7699#ifdef HAVE_SYS_TYPES_H
7700# include <sys/types.H>
7701#endif
7702
7703"
7704if test "x$ac_cv_header_linux_if_h" = xyes; then :
7705
7706$as_echo "#define SYS_RDOMAIN_LINUX 1" >>confdefs.h
7707
7708fi
7709
7710
7711 for ac_header in linux/seccomp.h linux/filter.h linux/audit.h
7712do :
7713 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
7714ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#include <linux/types.h>
7715"
7716if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
7717 cat >>confdefs.h <<_ACEOF
7718#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
7719_ACEOF
7720
7721fi
7722
7723done
7724
7725 # Obtain MIPS ABI
7726 case "$host" in
7727 mips*)
7728 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7729/* end confdefs.h. */
7730
7731#if _MIPS_SIM != _ABIO32
7732#error
7733#endif
7734
7735int
7736main ()
7737{
7738
7739 ;
7740 return 0;
7741}
7742_ACEOF
7743if ac_fn_c_try_compile "$LINENO"; then :
7744 mips_abi="o32"
7745else
7746 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7747/* end confdefs.h. */
7748
7749#if _MIPS_SIM != _ABIN32
7750#error
7751#endif
7752
7753int
7754main ()
7755{
7756
7757 ;
7758 return 0;
7759}
7760_ACEOF
7761if ac_fn_c_try_compile "$LINENO"; then :
7762 mips_abi="n32"
7763else
7764 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7765/* end confdefs.h. */
7766
7767#if _MIPS_SIM != _ABI64
7768#error
7769#endif
7770
7771int
7772main ()
7773{
7774
7775 ;
7776 return 0;
7777}
7778_ACEOF
7779if ac_fn_c_try_compile "$LINENO"; then :
7780 mips_abi="n64"
7781else
7782 as_fn_error $? "unknown MIPS ABI" "$LINENO" 5
7783
7784fi
7785rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7786
7787fi
7788rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7789
7790fi
7791rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7792 ;;
7793 esac
7794 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for seccomp architecture" >&5
7795$as_echo_n "checking for seccomp architecture... " >&6; }
7796 seccomp_audit_arch=
7797 case "$host" in
7798 x86_64-*)
7799 seccomp_audit_arch=AUDIT_ARCH_X86_64
7800 ;;
7801 i*86-*)
7802 seccomp_audit_arch=AUDIT_ARCH_I386
7803 ;;
7804 arm*-*)
7805 seccomp_audit_arch=AUDIT_ARCH_ARM
7806 ;;
7807 aarch64*-*)
7808 seccomp_audit_arch=AUDIT_ARCH_AARCH64
7809 ;;
7810 s390x-*)
7811 seccomp_audit_arch=AUDIT_ARCH_S390X
7812 ;;
7813 s390-*)
7814 seccomp_audit_arch=AUDIT_ARCH_S390
7815 ;;
7816 powerpc64-*)
7817 seccomp_audit_arch=AUDIT_ARCH_PPC64
7818 ;;
7819 powerpc64le-*)
7820 seccomp_audit_arch=AUDIT_ARCH_PPC64LE
7821 ;;
7822 mips-*)
7823 seccomp_audit_arch=AUDIT_ARCH_MIPS
7824 ;;
7825 mipsel-*)
7826 seccomp_audit_arch=AUDIT_ARCH_MIPSEL
7827 ;;
7828 mips64-*)
7829 case "$mips_abi" in
7830 "n32")
7831 seccomp_audit_arch=AUDIT_ARCH_MIPS64N32
7832 ;;
7833 "n64")
7834 seccomp_audit_arch=AUDIT_ARCH_MIPS64
7835 ;;
7836 esac
7837 ;;
7838 mips64el-*)
7839 case "$mips_abi" in
7840 "n32")
7841 seccomp_audit_arch=AUDIT_ARCH_MIPSEL64N32
7842 ;;
7843 "n64")
7844 seccomp_audit_arch=AUDIT_ARCH_MIPSEL64
7845 ;;
7846 esac
7847 ;;
7848 esac
7849 if test "x$seccomp_audit_arch" != "x" ; then
7850 { $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$seccomp_audit_arch\"" >&5
7851$as_echo "\"$seccomp_audit_arch\"" >&6; }
7852
7853cat >>confdefs.h <<_ACEOF
7854#define SECCOMP_AUDIT_ARCH $seccomp_audit_arch
7855_ACEOF
7856
7857 else
7858 { $as_echo "$as_me:${as_lineno-$LINENO}: result: architecture not supported" >&5
7859$as_echo "architecture not supported" >&6; }
7860 fi
7861 ;;
7862mips-sony-bsd|mips-sony-newsos4)
7863
7864$as_echo "#define NEED_SETPGRP 1" >>confdefs.h
7865
7866 SONY=1
7867 ;;
7868*-*-netbsd*)
7869 check_for_libcrypt_before=1
7870 if test "x$withval" != "xno" ; then
7871 rpath_opt="-R"
7872 fi
7873 CPPFLAGS="$CPPFLAGS -D_OPENBSD_SOURCE"
7874
7875$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
7876
7877 ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default"
7878if test "x$ac_cv_header_net_if_tap_h" = xyes; then :
7879
7880else
7881
7882$as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h
7883
7884fi
7885
7886
7887
7888$as_echo "#define SSH_TUN_PREPEND_AF 1" >>confdefs.h
7889
7890 TEST_MALLOC_OPTIONS="AJRX"
7891
7892$as_echo "#define BROKEN_READ_COMPARISON 1" >>confdefs.h
7893
7894 ;;
7895*-*-freebsd*)
7896 check_for_libcrypt_later=1
7897
7898$as_echo "#define LOCKED_PASSWD_PREFIX \"*LOCKED*\"" >>confdefs.h
7899
7900
7901$as_echo "#define SSH_TUN_FREEBSD 1" >>confdefs.h
7902
7903 ac_fn_c_check_header_mongrel "$LINENO" "net/if_tap.h" "ac_cv_header_net_if_tap_h" "$ac_includes_default"
7904if test "x$ac_cv_header_net_if_tap_h" = xyes; then :
7905
7906else
7907
7908$as_echo "#define SSH_TUN_NO_L2 1" >>confdefs.h
7909
7910fi
7911
7912
7913
7914$as_echo "#define BROKEN_GLOB 1" >>confdefs.h
7915
7916 TEST_MALLOC_OPTIONS="AJRX"
7917 # Preauth crypto occasionally uses file descriptors for crypto offload
7918 # and will crash if they cannot be opened.
7919
7920$as_echo "#define SANDBOX_SKIP_RLIMIT_NOFILE 1" >>confdefs.h
7921
7922 ;;
7923*-*-bsdi*)
7924 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
7925
7926 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
7927
7928 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
7929
7930 ;;
7931*-next-*)
7932 conf_lastlog_location="/usr/adm/lastlog"
7933 conf_utmp_location=/etc/utmp
7934 conf_wtmp_location=/usr/adm/wtmp
7935 maildir=/usr/spool/mail
7936
7937$as_echo "#define HAVE_NEXT 1" >>confdefs.h
7938
7939 $as_echo "#define BROKEN_REALPATH 1" >>confdefs.h
7940
7941 $as_echo "#define USE_PIPES 1" >>confdefs.h
7942
7943
7944$as_echo "#define BROKEN_SAVED_UIDS 1" >>confdefs.h
7945
7946 ;;
7947*-*-openbsd*)
7948 use_pie=auto
7949
7950$as_echo "#define HAVE_ATTRIBUTE__SENTINEL__ 1" >>confdefs.h
7951
7952
7953$as_echo "#define HAVE_ATTRIBUTE__BOUNDED__ 1" >>confdefs.h
7954
7955
7956$as_echo "#define SSH_TUN_OPENBSD 1" >>confdefs.h
7957
7958
7959$as_echo "#define SYSLOG_R_SAFE_IN_SIGHAND 1" >>confdefs.h
7960
7961 TEST_MALLOC_OPTIONS="AFGJPRX"
7962 ;;
7963*-*-solaris*)
7964 if test "x$withval" != "xno" ; then
7965 rpath_opt="-R"
7966 fi
7967 $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
7968
7969 $as_echo "#define LOGIN_NEEDS_UTMPX 1" >>confdefs.h
7970
7971 $as_echo "#define PAM_TTY_KLUDGE 1" >>confdefs.h
7972
7973
7974$as_echo "#define SSHPAM_CHAUTHTOK_NEEDS_RUID 1" >>confdefs.h
7975
7976 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
7977
7978 # Pushing STREAMS modules will cause sshd to acquire a controlling tty.
7979
7980$as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
7981
7982
7983$as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
7984
7985
7986$as_echo "#define BROKEN_TCGETATTR_ICANON 1" >>confdefs.h
7987
7988 external_path_file=/etc/default/login
7989 # hardwire lastlog location (can't detect it on some versions)
7990 conf_lastlog_location="/var/adm/lastlog"
7991 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for obsolete utmp and wtmp in solaris2.x" >&5
7992$as_echo_n "checking for obsolete utmp and wtmp in solaris2.x... " >&6; }
7993 sol2ver=`echo "$host"| sed -e 's/.*[0-9]\.//'`
7994 if test "$sol2ver" -ge 8; then
7995 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
7996$as_echo "yes" >&6; }
7997 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
7998
7999
8000$as_echo "#define DISABLE_WTMP 1" >>confdefs.h
8001
8002 else
8003 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8004$as_echo "no" >&6; }
8005 fi
8006 for ac_func in setpflags
8007do :
8008 ac_fn_c_check_func "$LINENO" "setpflags" "ac_cv_func_setpflags"
8009if test "x$ac_cv_func_setpflags" = xyes; then :
8010 cat >>confdefs.h <<_ACEOF
8011#define HAVE_SETPFLAGS 1
8012_ACEOF
8013
8014fi
8015done
8016
8017 for ac_func in setppriv
8018do :
8019 ac_fn_c_check_func "$LINENO" "setppriv" "ac_cv_func_setppriv"
8020if test "x$ac_cv_func_setppriv" = xyes; then :
8021 cat >>confdefs.h <<_ACEOF
8022#define HAVE_SETPPRIV 1
8023_ACEOF
8024
8025fi
8026done
8027
8028 for ac_func in priv_basicset
8029do :
8030 ac_fn_c_check_func "$LINENO" "priv_basicset" "ac_cv_func_priv_basicset"
8031if test "x$ac_cv_func_priv_basicset" = xyes; then :
8032 cat >>confdefs.h <<_ACEOF
8033#define HAVE_PRIV_BASICSET 1
8034_ACEOF
8035
8036fi
8037done
8038
8039 for ac_header in priv.h
8040do :
8041 ac_fn_c_check_header_mongrel "$LINENO" "priv.h" "ac_cv_header_priv_h" "$ac_includes_default"
8042if test "x$ac_cv_header_priv_h" = xyes; then :
8043 cat >>confdefs.h <<_ACEOF
8044#define HAVE_PRIV_H 1
8045_ACEOF
8046
8047fi
8048
8049done
8050
8051
8052# Check whether --with-solaris-contracts was given.
8053if test "${with_solaris_contracts+set}" = set; then :
8054 withval=$with_solaris_contracts;
8055 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ct_tmpl_activate in -lcontract" >&5
8056$as_echo_n "checking for ct_tmpl_activate in -lcontract... " >&6; }
8057if ${ac_cv_lib_contract_ct_tmpl_activate+:} false; then :
8058 $as_echo_n "(cached) " >&6
8059else
8060 ac_check_lib_save_LIBS=$LIBS
8061LIBS="-lcontract $LIBS"
8062cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8063/* end confdefs.h. */
8064
8065/* Override any GCC internal prototype to avoid an error.
8066 Use char because int might match the return type of a GCC
8067 builtin and then its argument prototype would still apply. */
8068#ifdef __cplusplus
8069extern "C"
8070#endif
8071char ct_tmpl_activate ();
8072int
8073main ()
8074{
8075return ct_tmpl_activate ();
8076 ;
8077 return 0;
8078}
8079_ACEOF
8080if ac_fn_c_try_link "$LINENO"; then :
8081 ac_cv_lib_contract_ct_tmpl_activate=yes
8082else
8083 ac_cv_lib_contract_ct_tmpl_activate=no
8084fi
8085rm -f core conftest.err conftest.$ac_objext \
8086 conftest$ac_exeext conftest.$ac_ext
8087LIBS=$ac_check_lib_save_LIBS
8088fi
8089{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_contract_ct_tmpl_activate" >&5
8090$as_echo "$ac_cv_lib_contract_ct_tmpl_activate" >&6; }
8091if test "x$ac_cv_lib_contract_ct_tmpl_activate" = xyes; then :
8092
8093$as_echo "#define USE_SOLARIS_PROCESS_CONTRACTS 1" >>confdefs.h
8094
8095 LIBS="$LIBS -lcontract"
8096 SPC_MSG="yes"
8097fi
8098
8099
8100fi
8101
8102
8103# Check whether --with-solaris-projects was given.
8104if test "${with_solaris_projects+set}" = set; then :
8105 withval=$with_solaris_projects;
8106 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setproject in -lproject" >&5
8107$as_echo_n "checking for setproject in -lproject... " >&6; }
8108if ${ac_cv_lib_project_setproject+:} false; then :
8109 $as_echo_n "(cached) " >&6
8110else
8111 ac_check_lib_save_LIBS=$LIBS
8112LIBS="-lproject $LIBS"
8113cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8114/* end confdefs.h. */
8115
8116/* Override any GCC internal prototype to avoid an error.
8117 Use char because int might match the return type of a GCC
8118 builtin and then its argument prototype would still apply. */
8119#ifdef __cplusplus
8120extern "C"
8121#endif
8122char setproject ();
8123int
8124main ()
8125{
8126return setproject ();
8127 ;
8128 return 0;
8129}
8130_ACEOF
8131if ac_fn_c_try_link "$LINENO"; then :
8132 ac_cv_lib_project_setproject=yes
8133else
8134 ac_cv_lib_project_setproject=no
8135fi
8136rm -f core conftest.err conftest.$ac_objext \
8137 conftest$ac_exeext conftest.$ac_ext
8138LIBS=$ac_check_lib_save_LIBS
8139fi
8140{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_project_setproject" >&5
8141$as_echo "$ac_cv_lib_project_setproject" >&6; }
8142if test "x$ac_cv_lib_project_setproject" = xyes; then :
8143
8144$as_echo "#define USE_SOLARIS_PROJECTS 1" >>confdefs.h
8145
8146 LIBS="$LIBS -lproject"
8147 SP_MSG="yes"
8148fi
8149
8150
8151fi
8152
8153
8154# Check whether --with-solaris-privs was given.
8155if test "${with_solaris_privs+set}" = set; then :
8156 withval=$with_solaris_privs;
8157 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Solaris/Illumos privilege support" >&5
8158$as_echo_n "checking for Solaris/Illumos privilege support... " >&6; }
8159 if test "x$ac_cv_func_setppriv" = "xyes" -a \
8160 "x$ac_cv_header_priv_h" = "xyes" ; then
8161 SOLARIS_PRIVS=yes
8162 { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
8163$as_echo "found" >&6; }
8164
8165$as_echo "#define NO_UID_RESTORATION_TEST 1" >>confdefs.h
8166
8167
8168$as_echo "#define USE_SOLARIS_PRIVS 1" >>confdefs.h
8169
8170 SPP_MSG="yes"
8171 else
8172 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
8173$as_echo "not found" >&6; }
8174 as_fn_error $? "*** must have support for Solaris privileges to use --with-solaris-privs" "$LINENO" 5
8175 fi
8176
8177fi
8178
8179 TEST_SHELL=$SHELL # let configure find us a capable shell
8180 ;;
8181*-*-sunos4*)
8182 CPPFLAGS="$CPPFLAGS -DSUNOS4"
8183 for ac_func in getpwanam
8184do :
8185 ac_fn_c_check_func "$LINENO" "getpwanam" "ac_cv_func_getpwanam"
8186if test "x$ac_cv_func_getpwanam" = xyes; then :
8187 cat >>confdefs.h <<_ACEOF
8188#define HAVE_GETPWANAM 1
8189_ACEOF
8190
8191fi
8192done
8193
8194 $as_echo "#define PAM_SUN_CODEBASE 1" >>confdefs.h
8195
8196 conf_utmp_location=/etc/utmp
8197 conf_wtmp_location=/var/adm/wtmp
8198 conf_lastlog_location=/var/adm/lastlog
8199 $as_echo "#define USE_PIPES 1" >>confdefs.h
8200
8201
8202$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
8203
8204 ;;
8205*-ncr-sysv*)
8206 LIBS="$LIBS -lc89"
8207 $as_echo "#define USE_PIPES 1" >>confdefs.h
8208
8209 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8210
8211 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8212
8213 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8214
8215 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8216
8217 ;;
8218*-sni-sysv*)
8219 # /usr/ucblib MUST NOT be searched on ReliantUNIX
8220 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
8221$as_echo_n "checking for dlsym in -ldl... " >&6; }
8222if ${ac_cv_lib_dl_dlsym+:} false; then :
8223 $as_echo_n "(cached) " >&6
8224else
8225 ac_check_lib_save_LIBS=$LIBS
8226LIBS="-ldl $LIBS"
8227cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8228/* end confdefs.h. */
8229
8230/* Override any GCC internal prototype to avoid an error.
8231 Use char because int might match the return type of a GCC
8232 builtin and then its argument prototype would still apply. */
8233#ifdef __cplusplus
8234extern "C"
8235#endif
8236char dlsym ();
8237int
8238main ()
8239{
8240return dlsym ();
8241 ;
8242 return 0;
8243}
8244_ACEOF
8245if ac_fn_c_try_link "$LINENO"; then :
8246 ac_cv_lib_dl_dlsym=yes
8247else
8248 ac_cv_lib_dl_dlsym=no
8249fi
8250rm -f core conftest.err conftest.$ac_objext \
8251 conftest$ac_exeext conftest.$ac_ext
8252LIBS=$ac_check_lib_save_LIBS
8253fi
8254{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlsym" >&5
8255$as_echo "$ac_cv_lib_dl_dlsym" >&6; }
8256if test "x$ac_cv_lib_dl_dlsym" = xyes; then :
8257 cat >>confdefs.h <<_ACEOF
8258#define HAVE_LIBDL 1
8259_ACEOF
8260
8261 LIBS="-ldl $LIBS"
8262
8263fi
8264
8265 # -lresolv needs to be at the end of LIBS or DNS lookups break
8266 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5
8267$as_echo_n "checking for res_query in -lresolv... " >&6; }
8268if ${ac_cv_lib_resolv_res_query+:} false; then :
8269 $as_echo_n "(cached) " >&6
8270else
8271 ac_check_lib_save_LIBS=$LIBS
8272LIBS="-lresolv $LIBS"
8273cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8274/* end confdefs.h. */
8275
8276/* Override any GCC internal prototype to avoid an error.
8277 Use char because int might match the return type of a GCC
8278 builtin and then its argument prototype would still apply. */
8279#ifdef __cplusplus
8280extern "C"
8281#endif
8282char res_query ();
8283int
8284main ()
8285{
8286return res_query ();
8287 ;
8288 return 0;
8289}
8290_ACEOF
8291if ac_fn_c_try_link "$LINENO"; then :
8292 ac_cv_lib_resolv_res_query=yes
8293else
8294 ac_cv_lib_resolv_res_query=no
8295fi
8296rm -f core conftest.err conftest.$ac_objext \
8297 conftest$ac_exeext conftest.$ac_ext
8298LIBS=$ac_check_lib_save_LIBS
8299fi
8300{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_res_query" >&5
8301$as_echo "$ac_cv_lib_resolv_res_query" >&6; }
8302if test "x$ac_cv_lib_resolv_res_query" = xyes; then :
8303 LIBS="$LIBS -lresolv"
8304fi
8305
8306 IPADDR_IN_DISPLAY=yes
8307 $as_echo "#define USE_PIPES 1" >>confdefs.h
8308
8309 $as_echo "#define IP_TOS_IS_BROKEN 1" >>confdefs.h
8310
8311 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8312
8313 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8314
8315 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8316
8317 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8318
8319 external_path_file=/etc/default/login
8320 # /usr/ucblib/libucb.a no longer needed on ReliantUNIX
8321 # Attention: always take care to bind libsocket and libnsl before libc,
8322 # otherwise you will find lots of "SIOCGPGRP errno 22" on syslog
8323 ;;
8324# UnixWare 1.x, UnixWare 2.x, and others based on code from Univel.
8325*-*-sysv4.2*)
8326 $as_echo "#define USE_PIPES 1" >>confdefs.h
8327
8328 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8329
8330 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8331
8332 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8333
8334
8335$as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8336
8337 $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8338
8339 TEST_SHELL=$SHELL # let configure find us a capable shell
8340 ;;
8341# UnixWare 7.x, OpenUNIX 8
8342*-*-sysv5*)
8343 CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf"
8344
8345$as_echo "#define UNIXWARE_LONG_PASSWORDS 1" >>confdefs.h
8346
8347 $as_echo "#define USE_PIPES 1" >>confdefs.h
8348
8349 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8350
8351 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8352
8353 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8354
8355 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8356
8357 $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8358
8359 $as_echo "#define BROKEN_TCGETATTR_ICANON 1" >>confdefs.h
8360
8361 TEST_SHELL=$SHELL # let configure find us a capable shell
8362 check_for_libcrypt_later=1
8363 case "$host" in
8364 *-*-sysv5SCO_SV*) # SCO OpenServer 6.x
8365 maildir=/var/spool/mail
8366 $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
8367
8368 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getluid in -lprot" >&5
8369$as_echo_n "checking for getluid in -lprot... " >&6; }
8370if ${ac_cv_lib_prot_getluid+:} false; then :
8371 $as_echo_n "(cached) " >&6
8372else
8373 ac_check_lib_save_LIBS=$LIBS
8374LIBS="-lprot $LIBS"
8375cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8376/* end confdefs.h. */
8377
8378/* Override any GCC internal prototype to avoid an error.
8379 Use char because int might match the return type of a GCC
8380 builtin and then its argument prototype would still apply. */
8381#ifdef __cplusplus
8382extern "C"
8383#endif
8384char getluid ();
8385int
8386main ()
8387{
8388return getluid ();
8389 ;
8390 return 0;
8391}
8392_ACEOF
8393if ac_fn_c_try_link "$LINENO"; then :
8394 ac_cv_lib_prot_getluid=yes
8395else
8396 ac_cv_lib_prot_getluid=no
8397fi
8398rm -f core conftest.err conftest.$ac_objext \
8399 conftest$ac_exeext conftest.$ac_ext
8400LIBS=$ac_check_lib_save_LIBS
8401fi
8402{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_prot_getluid" >&5
8403$as_echo "$ac_cv_lib_prot_getluid" >&6; }
8404if test "x$ac_cv_lib_prot_getluid" = xyes; then :
8405 LIBS="$LIBS -lprot"
8406 for ac_func in getluid setluid
8407do :
8408 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
8409ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
8410if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
8411 cat >>confdefs.h <<_ACEOF
8412#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
8413_ACEOF
8414
8415fi
8416done
8417
8418
8419fi
8420
8421 ;;
8422 *) $as_echo "#define LOCKED_PASSWD_STRING \"*LK*\"" >>confdefs.h
8423
8424 ;;
8425 esac
8426 ;;
8427*-*-sysv*)
8428 ;;
8429# SCO UNIX and OEM versions of SCO UNIX
8430*-*-sco3.2v4*)
8431 as_fn_error $? "\"This Platform is no longer supported.\"" "$LINENO" 5
8432 ;;
8433# SCO OpenServer 5.x
8434*-*-sco3.2v5*)
8435 if test -z "$GCC"; then
8436 CFLAGS="$CFLAGS -belf"
8437 fi
8438 LIBS="$LIBS -lprot -lx -ltinfo -lm"
8439 no_dev_ptmx=1
8440 $as_echo "#define USE_PIPES 1" >>confdefs.h
8441
8442 $as_echo "#define HAVE_SECUREWARE 1" >>confdefs.h
8443
8444 $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
8445
8446 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8447
8448 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8449
8450 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8451
8452 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8453
8454 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8455
8456 $as_echo "#define WITH_ABBREV_NO_TTY 1" >>confdefs.h
8457
8458 $as_echo "#define BROKEN_UPDWTMPX 1" >>confdefs.h
8459
8460 $as_echo "#define PASSWD_NEEDS_USERNAME 1" >>confdefs.h
8461
8462 for ac_func in getluid setluid
8463do :
8464 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
8465ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
8466if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
8467 cat >>confdefs.h <<_ACEOF
8468#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
8469_ACEOF
8470
8471fi
8472done
8473
8474 MANTYPE=man
8475 TEST_SHELL=$SHELL # let configure find us a capable shell
8476 SKIP_DISABLE_LASTLOG_DEFINE=yes
8477 ;;
8478*-dec-osf*)
8479 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Digital Unix SIA" >&5
8480$as_echo_n "checking for Digital Unix SIA... " >&6; }
8481 no_osfsia=""
8482
8483# Check whether --with-osfsia was given.
8484if test "${with_osfsia+set}" = set; then :
8485 withval=$with_osfsia;
8486 if test "x$withval" = "xno" ; then
8487 { $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled" >&5
8488$as_echo "disabled" >&6; }
8489 no_osfsia=1
8490 fi
8491
8492fi
8493
8494 if test -z "$no_osfsia" ; then
8495 if test -f /etc/sia/matrix.conf; then
8496 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8497$as_echo "yes" >&6; }
8498
8499$as_echo "#define HAVE_OSF_SIA 1" >>confdefs.h
8500
8501
8502$as_echo "#define DISABLE_LOGIN 1" >>confdefs.h
8503
8504 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8505
8506 LIBS="$LIBS -lsecurity -ldb -lm -laud"
8507 SIA_MSG="yes"
8508 else
8509 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8510$as_echo "no" >&6; }
8511
8512$as_echo "#define LOCKED_PASSWD_SUBSTR \"Nologin\"" >>confdefs.h
8513
8514 fi
8515 fi
8516 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
8517
8518 $as_echo "#define SETEUID_BREAKS_SETUID 1" >>confdefs.h
8519
8520 $as_echo "#define BROKEN_SETREUID 1" >>confdefs.h
8521
8522 $as_echo "#define BROKEN_SETREGID 1" >>confdefs.h
8523
8524
8525$as_echo "#define BROKEN_READV_COMPARISON 1" >>confdefs.h
8526
8527 ;;
8528
8529*-*-nto-qnx*)
8530 $as_echo "#define USE_PIPES 1" >>confdefs.h
8531
8532 $as_echo "#define NO_X11_UNIX_SOCKETS 1" >>confdefs.h
8533
8534 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
8535
8536 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
8537
8538
8539$as_echo "#define BROKEN_SHADOW_EXPIRE 1" >>confdefs.h
8540
8541 enable_etc_default_login=no # has incompatible /etc/default/login
8542 case "$host" in
8543 *-*-nto-qnx6*)
8544 $as_echo "#define DISABLE_FD_PASSING 1" >>confdefs.h
8545
8546 ;;
8547 esac
8548 ;;
8549
8550*-*-ultrix*)
8551
8552$as_echo "#define BROKEN_GETGROUPS 1" >>confdefs.h
8553
8554 $as_echo "#define NEED_SETPGRP 1" >>confdefs.h
8555
8556
8557$as_echo "#define HAVE_SYS_SYSLOG_H 1" >>confdefs.h
8558
8559 ;;
8560
8561*-*-lynxos)
8562 CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"
8563
8564$as_echo "#define BROKEN_SETVBUF 1" >>confdefs.h
8565
8566 ;;
8567esac
8568
8569{ $as_echo "$as_me:${as_lineno-$LINENO}: checking compiler and flags for sanity" >&5
8570$as_echo_n "checking compiler and flags for sanity... " >&6; }
8571if test "$cross_compiling" = yes; then :
8572 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking compiler sanity" >&5
8573$as_echo "$as_me: WARNING: cross compiling: not checking compiler sanity" >&2;}
8574
8575else
8576 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8577/* end confdefs.h. */
8578 #include <stdio.h>
8579int
8580main ()
8581{
8582 exit(0);
8583 ;
8584 return 0;
8585}
8586_ACEOF
8587if ac_fn_c_try_run "$LINENO"; then :
8588 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8589$as_echo "yes" >&6; }
8590else
8591
8592 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8593$as_echo "no" >&6; }
8594 as_fn_error $? "*** compiler cannot create working executables, check config.log ***" "$LINENO" 5
8595
8596fi
8597rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
8598 conftest.$ac_objext conftest.beam conftest.$ac_ext
8599fi
8600
8601
8602# Checks for libraries.
8603ac_fn_c_check_func "$LINENO" "setsockopt" "ac_cv_func_setsockopt"
8604if test "x$ac_cv_func_setsockopt" = xyes; then :
8605
8606else
8607 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setsockopt in -lsocket" >&5
8608$as_echo_n "checking for setsockopt in -lsocket... " >&6; }
8609if ${ac_cv_lib_socket_setsockopt+:} false; then :
8610 $as_echo_n "(cached) " >&6
8611else
8612 ac_check_lib_save_LIBS=$LIBS
8613LIBS="-lsocket $LIBS"
8614cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8615/* end confdefs.h. */
8616
8617/* Override any GCC internal prototype to avoid an error.
8618 Use char because int might match the return type of a GCC
8619 builtin and then its argument prototype would still apply. */
8620#ifdef __cplusplus
8621extern "C"
8622#endif
8623char setsockopt ();
8624int
8625main ()
8626{
8627return setsockopt ();
8628 ;
8629 return 0;
8630}
8631_ACEOF
8632if ac_fn_c_try_link "$LINENO"; then :
8633 ac_cv_lib_socket_setsockopt=yes
8634else
8635 ac_cv_lib_socket_setsockopt=no
8636fi
8637rm -f core conftest.err conftest.$ac_objext \
8638 conftest$ac_exeext conftest.$ac_ext
8639LIBS=$ac_check_lib_save_LIBS
8640fi
8641{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_setsockopt" >&5
8642$as_echo "$ac_cv_lib_socket_setsockopt" >&6; }
8643if test "x$ac_cv_lib_socket_setsockopt" = xyes; then :
8644 cat >>confdefs.h <<_ACEOF
8645#define HAVE_LIBSOCKET 1
8646_ACEOF
8647
8648 LIBS="-lsocket $LIBS"
8649
8650fi
8651
8652fi
8653
8654
8655for ac_func in dirname
8656do :
8657 ac_fn_c_check_func "$LINENO" "dirname" "ac_cv_func_dirname"
8658if test "x$ac_cv_func_dirname" = xyes; then :
8659 cat >>confdefs.h <<_ACEOF
8660#define HAVE_DIRNAME 1
8661_ACEOF
8662 for ac_header in libgen.h
8663do :
8664 ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
8665if test "x$ac_cv_header_libgen_h" = xyes; then :
8666 cat >>confdefs.h <<_ACEOF
8667#define HAVE_LIBGEN_H 1
8668_ACEOF
8669
8670fi
8671
8672done
8673
8674else
8675
8676 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dirname in -lgen" >&5
8677$as_echo_n "checking for dirname in -lgen... " >&6; }
8678if ${ac_cv_lib_gen_dirname+:} false; then :
8679 $as_echo_n "(cached) " >&6
8680else
8681 ac_check_lib_save_LIBS=$LIBS
8682LIBS="-lgen $LIBS"
8683cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8684/* end confdefs.h. */
8685
8686/* Override any GCC internal prototype to avoid an error.
8687 Use char because int might match the return type of a GCC
8688 builtin and then its argument prototype would still apply. */
8689#ifdef __cplusplus
8690extern "C"
8691#endif
8692char dirname ();
8693int
8694main ()
8695{
8696return dirname ();
8697 ;
8698 return 0;
8699}
8700_ACEOF
8701if ac_fn_c_try_link "$LINENO"; then :
8702 ac_cv_lib_gen_dirname=yes
8703else
8704 ac_cv_lib_gen_dirname=no
8705fi
8706rm -f core conftest.err conftest.$ac_objext \
8707 conftest$ac_exeext conftest.$ac_ext
8708LIBS=$ac_check_lib_save_LIBS
8709fi
8710{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_dirname" >&5
8711$as_echo "$ac_cv_lib_gen_dirname" >&6; }
8712if test "x$ac_cv_lib_gen_dirname" = xyes; then :
8713
8714 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken dirname" >&5
8715$as_echo_n "checking for broken dirname... " >&6; }
8716if ${ac_cv_have_broken_dirname+:} false; then :
8717 $as_echo_n "(cached) " >&6
8718else
8719
8720 save_LIBS="$LIBS"
8721 LIBS="$LIBS -lgen"
8722 if test "$cross_compiling" = yes; then :
8723 ac_cv_have_broken_dirname="no"
8724else
8725 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8726/* end confdefs.h. */
8727
8728#include <libgen.h>
8729#include <string.h>
8730
8731int main(int argc, char **argv) {
8732 char *s, buf[32];
8733
8734 strncpy(buf,"/etc", 32);
8735 s = dirname(buf);
8736 if (!s || strncmp(s, "/", 32) != 0) {
8737 exit(1);
8738 } else {
8739 exit(0);
8740 }
8741}
8742
8743_ACEOF
8744if ac_fn_c_try_run "$LINENO"; then :
8745 ac_cv_have_broken_dirname="no"
8746else
8747 ac_cv_have_broken_dirname="yes"
8748fi
8749rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
8750 conftest.$ac_objext conftest.beam conftest.$ac_ext
8751fi
8752
8753 LIBS="$save_LIBS"
8754
8755fi
8756{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_broken_dirname" >&5
8757$as_echo "$ac_cv_have_broken_dirname" >&6; }
8758 if test "x$ac_cv_have_broken_dirname" = "xno" ; then
8759 LIBS="$LIBS -lgen"
8760 $as_echo "#define HAVE_DIRNAME 1" >>confdefs.h
8761
8762 for ac_header in libgen.h
8763do :
8764 ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default"
8765if test "x$ac_cv_header_libgen_h" = xyes; then :
8766 cat >>confdefs.h <<_ACEOF
8767#define HAVE_LIBGEN_H 1
8768_ACEOF
8769
8770fi
8771
8772done
8773
8774 fi
8775
8776fi
8777
8778
8779fi
8780done
8781
8782
8783ac_fn_c_check_func "$LINENO" "getspnam" "ac_cv_func_getspnam"
8784if test "x$ac_cv_func_getspnam" = xyes; then :
8785
8786else
8787 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getspnam in -lgen" >&5
8788$as_echo_n "checking for getspnam in -lgen... " >&6; }
8789if ${ac_cv_lib_gen_getspnam+:} false; then :
8790 $as_echo_n "(cached) " >&6
8791else
8792 ac_check_lib_save_LIBS=$LIBS
8793LIBS="-lgen $LIBS"
8794cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8795/* end confdefs.h. */
8796
8797/* Override any GCC internal prototype to avoid an error.
8798 Use char because int might match the return type of a GCC
8799 builtin and then its argument prototype would still apply. */
8800#ifdef __cplusplus
8801extern "C"
8802#endif
8803char getspnam ();
8804int
8805main ()
8806{
8807return getspnam ();
8808 ;
8809 return 0;
8810}
8811_ACEOF
8812if ac_fn_c_try_link "$LINENO"; then :
8813 ac_cv_lib_gen_getspnam=yes
8814else
8815 ac_cv_lib_gen_getspnam=no
8816fi
8817rm -f core conftest.err conftest.$ac_objext \
8818 conftest$ac_exeext conftest.$ac_ext
8819LIBS=$ac_check_lib_save_LIBS
8820fi
8821{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_getspnam" >&5
8822$as_echo "$ac_cv_lib_gen_getspnam" >&6; }
8823if test "x$ac_cv_lib_gen_getspnam" = xyes; then :
8824 LIBS="$LIBS -lgen"
8825fi
8826
8827fi
8828
8829{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing basename" >&5
8830$as_echo_n "checking for library containing basename... " >&6; }
8831if ${ac_cv_search_basename+:} false; then :
8832 $as_echo_n "(cached) " >&6
8833else
8834 ac_func_search_save_LIBS=$LIBS
8835cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8836/* end confdefs.h. */
8837
8838/* Override any GCC internal prototype to avoid an error.
8839 Use char because int might match the return type of a GCC
8840 builtin and then its argument prototype would still apply. */
8841#ifdef __cplusplus
8842extern "C"
8843#endif
8844char basename ();
8845int
8846main ()
8847{
8848return basename ();
8849 ;
8850 return 0;
8851}
8852_ACEOF
8853for ac_lib in '' gen; do
8854 if test -z "$ac_lib"; then
8855 ac_res="none required"
8856 else
8857 ac_res=-l$ac_lib
8858 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
8859 fi
8860 if ac_fn_c_try_link "$LINENO"; then :
8861 ac_cv_search_basename=$ac_res
8862fi
8863rm -f core conftest.err conftest.$ac_objext \
8864 conftest$ac_exeext
8865 if ${ac_cv_search_basename+:} false; then :
8866 break
8867fi
8868done
8869if ${ac_cv_search_basename+:} false; then :
8870
8871else
8872 ac_cv_search_basename=no
8873fi
8874rm conftest.$ac_ext
8875LIBS=$ac_func_search_save_LIBS
8876fi
8877{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_basename" >&5
8878$as_echo "$ac_cv_search_basename" >&6; }
8879ac_res=$ac_cv_search_basename
8880if test "$ac_res" != no; then :
8881 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
8882
8883$as_echo "#define HAVE_BASENAME 1" >>confdefs.h
8884
8885fi
8886
8887
8888
8889# Check whether --with-zlib was given.
8890if test "${with_zlib+set}" = set; then :
8891 withval=$with_zlib; if test "x$withval" = "xno" ; then
8892 as_fn_error $? "*** zlib is required ***" "$LINENO" 5
8893 elif test "x$withval" != "xyes"; then
8894 if test -d "$withval/lib"; then
8895 if test -n "${rpath_opt}"; then
8896 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
8897 else
8898 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
8899 fi
8900 else
8901 if test -n "${rpath_opt}"; then
8902 LDFLAGS="-L${withval} ${rpath_opt}${withval} ${LDFLAGS}"
8903 else
8904 LDFLAGS="-L${withval} ${LDFLAGS}"
8905 fi
8906 fi
8907 if test -d "$withval/include"; then
8908 CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
8909 else
8910 CPPFLAGS="-I${withval} ${CPPFLAGS}"
8911 fi
8912 fi
8913
8914fi
8915
8916
8917ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default"
8918if test "x$ac_cv_header_zlib_h" = xyes; then :
8919
8920else
8921 as_fn_error $? "*** zlib.h missing - please install first or check config.log ***" "$LINENO" 5
8922fi
8923
8924
8925{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflate in -lz" >&5
8926$as_echo_n "checking for deflate in -lz... " >&6; }
8927if ${ac_cv_lib_z_deflate+:} false; then :
8928 $as_echo_n "(cached) " >&6
8929else
8930 ac_check_lib_save_LIBS=$LIBS
8931LIBS="-lz $LIBS"
8932cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8933/* end confdefs.h. */
8934
8935/* Override any GCC internal prototype to avoid an error.
8936 Use char because int might match the return type of a GCC
8937 builtin and then its argument prototype would still apply. */
8938#ifdef __cplusplus
8939extern "C"
8940#endif
8941char deflate ();
8942int
8943main ()
8944{
8945return deflate ();
8946 ;
8947 return 0;
8948}
8949_ACEOF
8950if ac_fn_c_try_link "$LINENO"; then :
8951 ac_cv_lib_z_deflate=yes
8952else
8953 ac_cv_lib_z_deflate=no
8954fi
8955rm -f core conftest.err conftest.$ac_objext \
8956 conftest$ac_exeext conftest.$ac_ext
8957LIBS=$ac_check_lib_save_LIBS
8958fi
8959{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflate" >&5
8960$as_echo "$ac_cv_lib_z_deflate" >&6; }
8961if test "x$ac_cv_lib_z_deflate" = xyes; then :
8962 cat >>confdefs.h <<_ACEOF
8963#define HAVE_LIBZ 1
8964_ACEOF
8965
8966 LIBS="-lz $LIBS"
8967
8968else
8969
8970 saved_CPPFLAGS="$CPPFLAGS"
8971 saved_LDFLAGS="$LDFLAGS"
8972 save_LIBS="$LIBS"
8973 if test -n "${rpath_opt}"; then
8974 LDFLAGS="-L/usr/local/lib ${rpath_opt}/usr/local/lib ${saved_LDFLAGS}"
8975 else
8976 LDFLAGS="-L/usr/local/lib ${saved_LDFLAGS}"
8977 fi
8978 CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}"
8979 LIBS="$LIBS -lz"
8980 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8981/* end confdefs.h. */
8982
8983/* Override any GCC internal prototype to avoid an error.
8984 Use char because int might match the return type of a GCC
8985 builtin and then its argument prototype would still apply. */
8986#ifdef __cplusplus
8987extern "C"
8988#endif
8989char deflate ();
8990int
8991main ()
8992{
8993return deflate ();
8994 ;
8995 return 0;
8996}
8997_ACEOF
8998if ac_fn_c_try_link "$LINENO"; then :
8999 $as_echo "#define HAVE_LIBZ 1" >>confdefs.h
9000
9001else
9002
9003 as_fn_error $? "*** zlib missing - please install first or check config.log ***" "$LINENO" 5
9004
9005
9006fi
9007rm -f core conftest.err conftest.$ac_objext \
9008 conftest$ac_exeext conftest.$ac_ext
9009
9010
9011fi
9012
9013
9014
9015# Check whether --with-zlib-version-check was given.
9016if test "${with_zlib_version_check+set}" = set; then :
9017 withval=$with_zlib_version_check; if test "x$withval" = "xno" ; then
9018 zlib_check_nonfatal=1
9019 fi
9020
9021
9022fi
9023
9024
9025{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for possibly buggy zlib" >&5
9026$as_echo_n "checking for possibly buggy zlib... " >&6; }
9027if test "$cross_compiling" = yes; then :
9028 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking zlib version" >&5
9029$as_echo "$as_me: WARNING: cross compiling: not checking zlib version" >&2;}
9030
9031else
9032 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9033/* end confdefs.h. */
9034
9035#include <stdio.h>
9036#include <stdlib.h>
9037#include <zlib.h>
9038
9039int
9040main ()
9041{
9042
9043 int a=0, b=0, c=0, d=0, n, v;
9044 n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d);
9045 if (n != 3 && n != 4)
9046 exit(1);
9047 v = a*1000000 + b*10000 + c*100 + d;
9048 fprintf(stderr, "found zlib version %s (%d)\n", ZLIB_VERSION, v);
9049
9050 /* 1.1.4 is OK */
9051 if (a == 1 && b == 1 && c >= 4)
9052 exit(0);
9053
9054 /* 1.2.3 and up are OK */
9055 if (v >= 1020300)
9056 exit(0);
9057
9058 exit(2);
9059
9060 ;
9061 return 0;
9062}
9063_ACEOF
9064if ac_fn_c_try_run "$LINENO"; then :
9065 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
9066$as_echo "no" >&6; }
9067else
9068 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9069$as_echo "yes" >&6; }
9070 if test -z "$zlib_check_nonfatal" ; then
9071 as_fn_error $? "*** zlib too old - check config.log ***
9072Your reported zlib version has known security problems. It's possible your
9073vendor has fixed these problems without changing the version number. If you
9074are sure this is the case, you can disable the check by running
9075\"./configure --without-zlib-version-check\".
9076If you are in doubt, upgrade zlib to version 1.2.3 or greater.
9077See http://www.gzip.org/zlib/ for details." "$LINENO" 5
9078 else
9079 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: zlib version may have security problems" >&5
9080$as_echo "$as_me: WARNING: zlib version may have security problems" >&2;}
9081 fi
9082
9083fi
9084rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
9085 conftest.$ac_objext conftest.beam conftest.$ac_ext
9086fi
9087
9088
9089ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
9090if test "x$ac_cv_func_strcasecmp" = xyes; then :
9091
9092else
9093 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strcasecmp in -lresolv" >&5
9094$as_echo_n "checking for strcasecmp in -lresolv... " >&6; }
9095if ${ac_cv_lib_resolv_strcasecmp+:} false; then :
9096 $as_echo_n "(cached) " >&6
9097else
9098 ac_check_lib_save_LIBS=$LIBS
9099LIBS="-lresolv $LIBS"
9100cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9101/* end confdefs.h. */
9102
9103/* Override any GCC internal prototype to avoid an error.
9104 Use char because int might match the return type of a GCC
9105 builtin and then its argument prototype would still apply. */
9106#ifdef __cplusplus
9107extern "C"
9108#endif
9109char strcasecmp ();
9110int
9111main ()
9112{
9113return strcasecmp ();
9114 ;
9115 return 0;
9116}
9117_ACEOF
9118if ac_fn_c_try_link "$LINENO"; then :
9119 ac_cv_lib_resolv_strcasecmp=yes
9120else
9121 ac_cv_lib_resolv_strcasecmp=no
9122fi
9123rm -f core conftest.err conftest.$ac_objext \
9124 conftest$ac_exeext conftest.$ac_ext
9125LIBS=$ac_check_lib_save_LIBS
9126fi
9127{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_resolv_strcasecmp" >&5
9128$as_echo "$ac_cv_lib_resolv_strcasecmp" >&6; }
9129if test "x$ac_cv_lib_resolv_strcasecmp" = xyes; then :
9130 LIBS="$LIBS -lresolv"
9131fi
9132
9133
9134fi
9135
9136for ac_func in utimes
9137do :
9138 ac_fn_c_check_func "$LINENO" "utimes" "ac_cv_func_utimes"
9139if test "x$ac_cv_func_utimes" = xyes; then :
9140 cat >>confdefs.h <<_ACEOF
9141#define HAVE_UTIMES 1
9142_ACEOF
9143
9144else
9145 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utimes in -lc89" >&5
9146$as_echo_n "checking for utimes in -lc89... " >&6; }
9147if ${ac_cv_lib_c89_utimes+:} false; then :
9148 $as_echo_n "(cached) " >&6
9149else
9150 ac_check_lib_save_LIBS=$LIBS
9151LIBS="-lc89 $LIBS"
9152cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9153/* end confdefs.h. */
9154
9155/* Override any GCC internal prototype to avoid an error.
9156 Use char because int might match the return type of a GCC
9157 builtin and then its argument prototype would still apply. */
9158#ifdef __cplusplus
9159extern "C"
9160#endif
9161char utimes ();
9162int
9163main ()
9164{
9165return utimes ();
9166 ;
9167 return 0;
9168}
9169_ACEOF
9170if ac_fn_c_try_link "$LINENO"; then :
9171 ac_cv_lib_c89_utimes=yes
9172else
9173 ac_cv_lib_c89_utimes=no
9174fi
9175rm -f core conftest.err conftest.$ac_objext \
9176 conftest$ac_exeext conftest.$ac_ext
9177LIBS=$ac_check_lib_save_LIBS
9178fi
9179{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c89_utimes" >&5
9180$as_echo "$ac_cv_lib_c89_utimes" >&6; }
9181if test "x$ac_cv_lib_c89_utimes" = xyes; then :
9182 $as_echo "#define HAVE_UTIMES 1" >>confdefs.h
9183
9184 LIBS="$LIBS -lc89"
9185fi
9186
9187
9188fi
9189done
9190
9191
9192for ac_header in bsd/libutil.h libutil.h
9193do :
9194 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
9195ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
9196if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
9197 cat >>confdefs.h <<_ACEOF
9198#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
9199_ACEOF
9200
9201fi
9202
9203done
9204
9205{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fmt_scaled" >&5
9206$as_echo_n "checking for library containing fmt_scaled... " >&6; }
9207if ${ac_cv_search_fmt_scaled+:} false; then :
9208 $as_echo_n "(cached) " >&6
9209else
9210 ac_func_search_save_LIBS=$LIBS
9211cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9212/* end confdefs.h. */
9213
9214/* Override any GCC internal prototype to avoid an error.
9215 Use char because int might match the return type of a GCC
9216 builtin and then its argument prototype would still apply. */
9217#ifdef __cplusplus
9218extern "C"
9219#endif
9220char fmt_scaled ();
9221int
9222main ()
9223{
9224return fmt_scaled ();
9225 ;
9226 return 0;
9227}
9228_ACEOF
9229for ac_lib in '' util bsd; do
9230 if test -z "$ac_lib"; then
9231 ac_res="none required"
9232 else
9233 ac_res=-l$ac_lib
9234 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9235 fi
9236 if ac_fn_c_try_link "$LINENO"; then :
9237 ac_cv_search_fmt_scaled=$ac_res
9238fi
9239rm -f core conftest.err conftest.$ac_objext \
9240 conftest$ac_exeext
9241 if ${ac_cv_search_fmt_scaled+:} false; then :
9242 break
9243fi
9244done
9245if ${ac_cv_search_fmt_scaled+:} false; then :
9246
9247else
9248 ac_cv_search_fmt_scaled=no
9249fi
9250rm conftest.$ac_ext
9251LIBS=$ac_func_search_save_LIBS
9252fi
9253{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fmt_scaled" >&5
9254$as_echo "$ac_cv_search_fmt_scaled" >&6; }
9255ac_res=$ac_cv_search_fmt_scaled
9256if test "$ac_res" != no; then :
9257 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9258
9259fi
9260
9261{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing scan_scaled" >&5
9262$as_echo_n "checking for library containing scan_scaled... " >&6; }
9263if ${ac_cv_search_scan_scaled+:} false; then :
9264 $as_echo_n "(cached) " >&6
9265else
9266 ac_func_search_save_LIBS=$LIBS
9267cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9268/* end confdefs.h. */
9269
9270/* Override any GCC internal prototype to avoid an error.
9271 Use char because int might match the return type of a GCC
9272 builtin and then its argument prototype would still apply. */
9273#ifdef __cplusplus
9274extern "C"
9275#endif
9276char scan_scaled ();
9277int
9278main ()
9279{
9280return scan_scaled ();
9281 ;
9282 return 0;
9283}
9284_ACEOF
9285for ac_lib in '' util bsd; do
9286 if test -z "$ac_lib"; then
9287 ac_res="none required"
9288 else
9289 ac_res=-l$ac_lib
9290 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9291 fi
9292 if ac_fn_c_try_link "$LINENO"; then :
9293 ac_cv_search_scan_scaled=$ac_res
9294fi
9295rm -f core conftest.err conftest.$ac_objext \
9296 conftest$ac_exeext
9297 if ${ac_cv_search_scan_scaled+:} false; then :
9298 break
9299fi
9300done
9301if ${ac_cv_search_scan_scaled+:} false; then :
9302
9303else
9304 ac_cv_search_scan_scaled=no
9305fi
9306rm conftest.$ac_ext
9307LIBS=$ac_func_search_save_LIBS
9308fi
9309{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_scan_scaled" >&5
9310$as_echo "$ac_cv_search_scan_scaled" >&6; }
9311ac_res=$ac_cv_search_scan_scaled
9312if test "$ac_res" != no; then :
9313 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9314
9315fi
9316
9317{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing login" >&5
9318$as_echo_n "checking for library containing login... " >&6; }
9319if ${ac_cv_search_login+:} false; then :
9320 $as_echo_n "(cached) " >&6
9321else
9322 ac_func_search_save_LIBS=$LIBS
9323cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9324/* end confdefs.h. */
9325
9326/* Override any GCC internal prototype to avoid an error.
9327 Use char because int might match the return type of a GCC
9328 builtin and then its argument prototype would still apply. */
9329#ifdef __cplusplus
9330extern "C"
9331#endif
9332char login ();
9333int
9334main ()
9335{
9336return login ();
9337 ;
9338 return 0;
9339}
9340_ACEOF
9341for ac_lib in '' util bsd; do
9342 if test -z "$ac_lib"; then
9343 ac_res="none required"
9344 else
9345 ac_res=-l$ac_lib
9346 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9347 fi
9348 if ac_fn_c_try_link "$LINENO"; then :
9349 ac_cv_search_login=$ac_res
9350fi
9351rm -f core conftest.err conftest.$ac_objext \
9352 conftest$ac_exeext
9353 if ${ac_cv_search_login+:} false; then :
9354 break
9355fi
9356done
9357if ${ac_cv_search_login+:} false; then :
9358
9359else
9360 ac_cv_search_login=no
9361fi
9362rm conftest.$ac_ext
9363LIBS=$ac_func_search_save_LIBS
9364fi
9365{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_login" >&5
9366$as_echo "$ac_cv_search_login" >&6; }
9367ac_res=$ac_cv_search_login
9368if test "$ac_res" != no; then :
9369 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9370
9371fi
9372
9373{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logout" >&5
9374$as_echo_n "checking for library containing logout... " >&6; }
9375if ${ac_cv_search_logout+:} false; then :
9376 $as_echo_n "(cached) " >&6
9377else
9378 ac_func_search_save_LIBS=$LIBS
9379cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9380/* end confdefs.h. */
9381
9382/* Override any GCC internal prototype to avoid an error.
9383 Use char because int might match the return type of a GCC
9384 builtin and then its argument prototype would still apply. */
9385#ifdef __cplusplus
9386extern "C"
9387#endif
9388char logout ();
9389int
9390main ()
9391{
9392return logout ();
9393 ;
9394 return 0;
9395}
9396_ACEOF
9397for ac_lib in '' util bsd; do
9398 if test -z "$ac_lib"; then
9399 ac_res="none required"
9400 else
9401 ac_res=-l$ac_lib
9402 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9403 fi
9404 if ac_fn_c_try_link "$LINENO"; then :
9405 ac_cv_search_logout=$ac_res
9406fi
9407rm -f core conftest.err conftest.$ac_objext \
9408 conftest$ac_exeext
9409 if ${ac_cv_search_logout+:} false; then :
9410 break
9411fi
9412done
9413if ${ac_cv_search_logout+:} false; then :
9414
9415else
9416 ac_cv_search_logout=no
9417fi
9418rm conftest.$ac_ext
9419LIBS=$ac_func_search_save_LIBS
9420fi
9421{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logout" >&5
9422$as_echo "$ac_cv_search_logout" >&6; }
9423ac_res=$ac_cv_search_logout
9424if test "$ac_res" != no; then :
9425 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9426
9427fi
9428
9429{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing logwtmp" >&5
9430$as_echo_n "checking for library containing logwtmp... " >&6; }
9431if ${ac_cv_search_logwtmp+:} false; then :
9432 $as_echo_n "(cached) " >&6
9433else
9434 ac_func_search_save_LIBS=$LIBS
9435cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9436/* end confdefs.h. */
9437
9438/* Override any GCC internal prototype to avoid an error.
9439 Use char because int might match the return type of a GCC
9440 builtin and then its argument prototype would still apply. */
9441#ifdef __cplusplus
9442extern "C"
9443#endif
9444char logwtmp ();
9445int
9446main ()
9447{
9448return logwtmp ();
9449 ;
9450 return 0;
9451}
9452_ACEOF
9453for ac_lib in '' util bsd; do
9454 if test -z "$ac_lib"; then
9455 ac_res="none required"
9456 else
9457 ac_res=-l$ac_lib
9458 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9459 fi
9460 if ac_fn_c_try_link "$LINENO"; then :
9461 ac_cv_search_logwtmp=$ac_res
9462fi
9463rm -f core conftest.err conftest.$ac_objext \
9464 conftest$ac_exeext
9465 if ${ac_cv_search_logwtmp+:} false; then :
9466 break
9467fi
9468done
9469if ${ac_cv_search_logwtmp+:} false; then :
9470
9471else
9472 ac_cv_search_logwtmp=no
9473fi
9474rm conftest.$ac_ext
9475LIBS=$ac_func_search_save_LIBS
9476fi
9477{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_logwtmp" >&5
9478$as_echo "$ac_cv_search_logwtmp" >&6; }
9479ac_res=$ac_cv_search_logwtmp
9480if test "$ac_res" != no; then :
9481 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9482
9483fi
9484
9485{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing openpty" >&5
9486$as_echo_n "checking for library containing openpty... " >&6; }
9487if ${ac_cv_search_openpty+:} false; then :
9488 $as_echo_n "(cached) " >&6
9489else
9490 ac_func_search_save_LIBS=$LIBS
9491cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9492/* end confdefs.h. */
9493
9494/* Override any GCC internal prototype to avoid an error.
9495 Use char because int might match the return type of a GCC
9496 builtin and then its argument prototype would still apply. */
9497#ifdef __cplusplus
9498extern "C"
9499#endif
9500char openpty ();
9501int
9502main ()
9503{
9504return openpty ();
9505 ;
9506 return 0;
9507}
9508_ACEOF
9509for ac_lib in '' util bsd; do
9510 if test -z "$ac_lib"; then
9511 ac_res="none required"
9512 else
9513 ac_res=-l$ac_lib
9514 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9515 fi
9516 if ac_fn_c_try_link "$LINENO"; then :
9517 ac_cv_search_openpty=$ac_res
9518fi
9519rm -f core conftest.err conftest.$ac_objext \
9520 conftest$ac_exeext
9521 if ${ac_cv_search_openpty+:} false; then :
9522 break
9523fi
9524done
9525if ${ac_cv_search_openpty+:} false; then :
9526
9527else
9528 ac_cv_search_openpty=no
9529fi
9530rm conftest.$ac_ext
9531LIBS=$ac_func_search_save_LIBS
9532fi
9533{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_openpty" >&5
9534$as_echo "$ac_cv_search_openpty" >&6; }
9535ac_res=$ac_cv_search_openpty
9536if test "$ac_res" != no; then :
9537 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9538
9539fi
9540
9541{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing updwtmp" >&5
9542$as_echo_n "checking for library containing updwtmp... " >&6; }
9543if ${ac_cv_search_updwtmp+:} false; then :
9544 $as_echo_n "(cached) " >&6
9545else
9546 ac_func_search_save_LIBS=$LIBS
9547cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9548/* end confdefs.h. */
9549
9550/* Override any GCC internal prototype to avoid an error.
9551 Use char because int might match the return type of a GCC
9552 builtin and then its argument prototype would still apply. */
9553#ifdef __cplusplus
9554extern "C"
9555#endif
9556char updwtmp ();
9557int
9558main ()
9559{
9560return updwtmp ();
9561 ;
9562 return 0;
9563}
9564_ACEOF
9565for ac_lib in '' util bsd; do
9566 if test -z "$ac_lib"; then
9567 ac_res="none required"
9568 else
9569 ac_res=-l$ac_lib
9570 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9571 fi
9572 if ac_fn_c_try_link "$LINENO"; then :
9573 ac_cv_search_updwtmp=$ac_res
9574fi
9575rm -f core conftest.err conftest.$ac_objext \
9576 conftest$ac_exeext
9577 if ${ac_cv_search_updwtmp+:} false; then :
9578 break
9579fi
9580done
9581if ${ac_cv_search_updwtmp+:} false; then :
9582
9583else
9584 ac_cv_search_updwtmp=no
9585fi
9586rm conftest.$ac_ext
9587LIBS=$ac_func_search_save_LIBS
9588fi
9589{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_updwtmp" >&5
9590$as_echo "$ac_cv_search_updwtmp" >&6; }
9591ac_res=$ac_cv_search_updwtmp
9592if test "$ac_res" != no; then :
9593 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9594
9595fi
9596
9597for ac_func in fmt_scaled scan_scaled login logout openpty updwtmp logwtmp
9598do :
9599 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
9600ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
9601if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
9602 cat >>confdefs.h <<_ACEOF
9603#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
9604_ACEOF
9605
9606fi
9607done
9608
9609
9610# On some platforms, inet_ntop and gethostbyname may be found in libresolv
9611# or libnsl.
9612{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntop" >&5
9613$as_echo_n "checking for library containing inet_ntop... " >&6; }
9614if ${ac_cv_search_inet_ntop+:} false; then :
9615 $as_echo_n "(cached) " >&6
9616else
9617 ac_func_search_save_LIBS=$LIBS
9618cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9619/* end confdefs.h. */
9620
9621/* Override any GCC internal prototype to avoid an error.
9622 Use char because int might match the return type of a GCC
9623 builtin and then its argument prototype would still apply. */
9624#ifdef __cplusplus
9625extern "C"
9626#endif
9627char inet_ntop ();
9628int
9629main ()
9630{
9631return inet_ntop ();
9632 ;
9633 return 0;
9634}
9635_ACEOF
9636for ac_lib in '' resolv nsl; do
9637 if test -z "$ac_lib"; then
9638 ac_res="none required"
9639 else
9640 ac_res=-l$ac_lib
9641 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9642 fi
9643 if ac_fn_c_try_link "$LINENO"; then :
9644 ac_cv_search_inet_ntop=$ac_res
9645fi
9646rm -f core conftest.err conftest.$ac_objext \
9647 conftest$ac_exeext
9648 if ${ac_cv_search_inet_ntop+:} false; then :
9649 break
9650fi
9651done
9652if ${ac_cv_search_inet_ntop+:} false; then :
9653
9654else
9655 ac_cv_search_inet_ntop=no
9656fi
9657rm conftest.$ac_ext
9658LIBS=$ac_func_search_save_LIBS
9659fi
9660{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntop" >&5
9661$as_echo "$ac_cv_search_inet_ntop" >&6; }
9662ac_res=$ac_cv_search_inet_ntop
9663if test "$ac_res" != no; then :
9664 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9665
9666fi
9667
9668{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
9669$as_echo_n "checking for library containing gethostbyname... " >&6; }
9670if ${ac_cv_search_gethostbyname+:} false; then :
9671 $as_echo_n "(cached) " >&6
9672else
9673 ac_func_search_save_LIBS=$LIBS
9674cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9675/* end confdefs.h. */
9676
9677/* Override any GCC internal prototype to avoid an error.
9678 Use char because int might match the return type of a GCC
9679 builtin and then its argument prototype would still apply. */
9680#ifdef __cplusplus
9681extern "C"
9682#endif
9683char gethostbyname ();
9684int
9685main ()
9686{
9687return gethostbyname ();
9688 ;
9689 return 0;
9690}
9691_ACEOF
9692for ac_lib in '' resolv nsl; do
9693 if test -z "$ac_lib"; then
9694 ac_res="none required"
9695 else
9696 ac_res=-l$ac_lib
9697 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
9698 fi
9699 if ac_fn_c_try_link "$LINENO"; then :
9700 ac_cv_search_gethostbyname=$ac_res
9701fi
9702rm -f core conftest.err conftest.$ac_objext \
9703 conftest$ac_exeext
9704 if ${ac_cv_search_gethostbyname+:} false; then :
9705 break
9706fi
9707done
9708if ${ac_cv_search_gethostbyname+:} false; then :
9709
9710else
9711 ac_cv_search_gethostbyname=no
9712fi
9713rm conftest.$ac_ext
9714LIBS=$ac_func_search_save_LIBS
9715fi
9716{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
9717$as_echo "$ac_cv_search_gethostbyname" >&6; }
9718ac_res=$ac_cv_search_gethostbyname
9719if test "$ac_res" != no; then :
9720 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
9721
9722fi
9723
9724
9725# "Particular Function Checks"
9726# see https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Functions.html
9727for ac_func in strftime
9728do :
9729 ac_fn_c_check_func "$LINENO" "strftime" "ac_cv_func_strftime"
9730if test "x$ac_cv_func_strftime" = xyes; then :
9731 cat >>confdefs.h <<_ACEOF
9732#define HAVE_STRFTIME 1
9733_ACEOF
9734
9735else
9736 # strftime is in -lintl on SCO UNIX.
9737{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strftime in -lintl" >&5
9738$as_echo_n "checking for strftime in -lintl... " >&6; }
9739if ${ac_cv_lib_intl_strftime+:} false; then :
9740 $as_echo_n "(cached) " >&6
9741else
9742 ac_check_lib_save_LIBS=$LIBS
9743LIBS="-lintl $LIBS"
9744cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9745/* end confdefs.h. */
9746
9747/* Override any GCC internal prototype to avoid an error.
9748 Use char because int might match the return type of a GCC
9749 builtin and then its argument prototype would still apply. */
9750#ifdef __cplusplus
9751extern "C"
9752#endif
9753char strftime ();
9754int
9755main ()
9756{
9757return strftime ();
9758 ;
9759 return 0;
9760}
9761_ACEOF
9762if ac_fn_c_try_link "$LINENO"; then :
9763 ac_cv_lib_intl_strftime=yes
9764else
9765 ac_cv_lib_intl_strftime=no
9766fi
9767rm -f core conftest.err conftest.$ac_objext \
9768 conftest$ac_exeext conftest.$ac_ext
9769LIBS=$ac_check_lib_save_LIBS
9770fi
9771{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_strftime" >&5
9772$as_echo "$ac_cv_lib_intl_strftime" >&6; }
9773if test "x$ac_cv_lib_intl_strftime" = xyes; then :
9774 $as_echo "#define HAVE_STRFTIME 1" >>confdefs.h
9775
9776LIBS="-lintl $LIBS"
9777fi
9778
9779fi
9780done
9781
9782for ac_header in stdlib.h
9783do :
9784 ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
9785if test "x$ac_cv_header_stdlib_h" = xyes; then :
9786 cat >>confdefs.h <<_ACEOF
9787#define HAVE_STDLIB_H 1
9788_ACEOF
9789
9790fi
9791
9792done
9793
9794{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5
9795$as_echo_n "checking for GNU libc compatible malloc... " >&6; }
9796if ${ac_cv_func_malloc_0_nonnull+:} false; then :
9797 $as_echo_n "(cached) " >&6
9798else
9799 if test "$cross_compiling" = yes; then :
9800 ac_cv_func_malloc_0_nonnull=no
9801else
9802 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9803/* end confdefs.h. */
9804#if defined STDC_HEADERS || defined HAVE_STDLIB_H
9805# include <stdlib.h>
9806#else
9807char *malloc ();
9808#endif
9809
9810int
9811main ()
9812{
9813return ! malloc (0);
9814 ;
9815 return 0;
9816}
9817_ACEOF
9818if ac_fn_c_try_run "$LINENO"; then :
9819 ac_cv_func_malloc_0_nonnull=yes
9820else
9821 ac_cv_func_malloc_0_nonnull=no
9822fi
9823rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
9824 conftest.$ac_objext conftest.beam conftest.$ac_ext
9825fi
9826
9827fi
9828{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5
9829$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; }
9830if test $ac_cv_func_malloc_0_nonnull = yes; then :
9831
9832$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
9833
9834else
9835 $as_echo "#define HAVE_MALLOC 0" >>confdefs.h
9836
9837 case " $LIBOBJS " in
9838 *" malloc.$ac_objext "* ) ;;
9839 *) LIBOBJS="$LIBOBJS malloc.$ac_objext"
9840 ;;
9841esac
9842
9843
9844$as_echo "#define malloc rpl_malloc" >>confdefs.h
9845
9846fi
9847
9848
9849for ac_header in stdlib.h
9850do :
9851 ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default"
9852if test "x$ac_cv_header_stdlib_h" = xyes; then :
9853 cat >>confdefs.h <<_ACEOF
9854#define HAVE_STDLIB_H 1
9855_ACEOF
9856
9857fi
9858
9859done
9860
9861{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5
9862$as_echo_n "checking for GNU libc compatible realloc... " >&6; }
9863if ${ac_cv_func_realloc_0_nonnull+:} false; then :
9864 $as_echo_n "(cached) " >&6
9865else
9866 if test "$cross_compiling" = yes; then :
9867 ac_cv_func_realloc_0_nonnull=no
9868else
9869 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9870/* end confdefs.h. */
9871#if defined STDC_HEADERS || defined HAVE_STDLIB_H
9872# include <stdlib.h>
9873#else
9874char *realloc ();
9875#endif
9876
9877int
9878main ()
9879{
9880return ! realloc (0, 0);
9881 ;
9882 return 0;
9883}
9884_ACEOF
9885if ac_fn_c_try_run "$LINENO"; then :
9886 ac_cv_func_realloc_0_nonnull=yes
9887else
9888 ac_cv_func_realloc_0_nonnull=no
9889fi
9890rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
9891 conftest.$ac_objext conftest.beam conftest.$ac_ext
9892fi
9893
9894fi
9895{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5
9896$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; }
9897if test $ac_cv_func_realloc_0_nonnull = yes; then :
9898
9899$as_echo "#define HAVE_REALLOC 1" >>confdefs.h
9900
9901else
9902 $as_echo "#define HAVE_REALLOC 0" >>confdefs.h
9903
9904 case " $LIBOBJS " in
9905 *" realloc.$ac_objext "* ) ;;
9906 *) LIBOBJS="$LIBOBJS realloc.$ac_objext"
9907 ;;
9908esac
9909
9910
9911$as_echo "#define realloc rpl_realloc" >>confdefs.h
9912
9913fi
9914
9915
9916# autoconf doesn't have AC_FUNC_CALLOC so fake it if malloc returns NULL;
9917{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if calloc(0, N) returns non-null" >&5
9918$as_echo_n "checking if calloc(0, N) returns non-null... " >&6; }
9919if test "$cross_compiling" = yes; then :
9920 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming same as malloc" >&5
9921$as_echo "$as_me: WARNING: cross compiling: assuming same as malloc" >&2;}
9922 func_calloc_0_nonnull="$ac_cv_func_malloc_0_nonnull"
9923
9924else
9925 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9926/* end confdefs.h. */
9927 #include <stdlib.h>
9928int
9929main ()
9930{
9931 void *p = calloc(0, 1); exit(p == NULL);
9932
9933 ;
9934 return 0;
9935}
9936_ACEOF
9937if ac_fn_c_try_run "$LINENO"; then :
9938 func_calloc_0_nonnull=yes
9939else
9940 func_calloc_0_nonnull=no
9941fi
9942rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
9943 conftest.$ac_objext conftest.beam conftest.$ac_ext
9944fi
9945
9946{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $func_calloc_0_nonnull" >&5
9947$as_echo "$func_calloc_0_nonnull" >&6; }
9948
9949if test "x$func_calloc_0_nonnull" = "xyes"; then
9950
9951$as_echo "#define HAVE_CALLOC 1" >>confdefs.h
9952
9953else
9954
9955$as_echo "#define HAVE_CALLOC 0" >>confdefs.h
9956
9957
9958$as_echo "#define calloc rpl_calloc" >>confdefs.h
9959
9960fi
9961
9962# Check for ALTDIRFUNC glob() extension
9963{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_ALTDIRFUNC support" >&5
9964$as_echo_n "checking for GLOB_ALTDIRFUNC support... " >&6; }
9965cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9966/* end confdefs.h. */
9967
9968 #include <glob.h>
9969 #ifdef GLOB_ALTDIRFUNC
9970 FOUNDIT
9971 #endif
9972
9973_ACEOF
9974if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
9975 $EGREP "FOUNDIT" >/dev/null 2>&1; then :
9976
9977
9978$as_echo "#define GLOB_HAS_ALTDIRFUNC 1" >>confdefs.h
9979
9980 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
9981$as_echo "yes" >&6; }
9982
9983else
9984
9985 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
9986$as_echo "no" >&6; }
9987
9988
9989fi
9990rm -f conftest*
9991
9992
9993# Check for g.gl_matchc glob() extension
9994{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_matchc field in glob_t" >&5
9995$as_echo_n "checking for gl_matchc field in glob_t... " >&6; }
9996cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9997/* end confdefs.h. */
9998 #include <glob.h>
9999int
10000main ()
10001{
10002 glob_t g; g.gl_matchc = 1;
10003 ;
10004 return 0;
10005}
10006_ACEOF
10007if ac_fn_c_try_compile "$LINENO"; then :
10008
10009
10010$as_echo "#define GLOB_HAS_GL_MATCHC 1" >>confdefs.h
10011
10012 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10013$as_echo "yes" >&6; }
10014
10015else
10016
10017 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10018$as_echo "no" >&6; }
10019
10020fi
10021rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10022
10023# Check for g.gl_statv glob() extension
10024{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gl_statv and GLOB_KEEPSTAT extensions for glob" >&5
10025$as_echo_n "checking for gl_statv and GLOB_KEEPSTAT extensions for glob... " >&6; }
10026cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10027/* end confdefs.h. */
10028 #include <glob.h>
10029int
10030main ()
10031{
10032
10033#ifndef GLOB_KEEPSTAT
10034#error "glob does not support GLOB_KEEPSTAT extension"
10035#endif
10036glob_t g;
10037g.gl_statv = NULL;
10038
10039 ;
10040 return 0;
10041}
10042_ACEOF
10043if ac_fn_c_try_compile "$LINENO"; then :
10044
10045
10046$as_echo "#define GLOB_HAS_GL_STATV 1" >>confdefs.h
10047
10048 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10049$as_echo "yes" >&6; }
10050
10051else
10052
10053 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10054$as_echo "no" >&6; }
10055
10056
10057fi
10058rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10059
10060ac_fn_c_check_decl "$LINENO" "GLOB_NOMATCH" "ac_cv_have_decl_GLOB_NOMATCH" "#include <glob.h>
10061"
10062if test "x$ac_cv_have_decl_GLOB_NOMATCH" = xyes; then :
10063 ac_have_decl=1
10064else
10065 ac_have_decl=0
10066fi
10067
10068cat >>confdefs.h <<_ACEOF
10069#define HAVE_DECL_GLOB_NOMATCH $ac_have_decl
10070_ACEOF
10071
10072
10073ac_fn_c_check_decl "$LINENO" "VIS_ALL" "ac_cv_have_decl_VIS_ALL" "#include <vis.h>
10074"
10075if test "x$ac_cv_have_decl_VIS_ALL" = xyes; then :
10076
10077else
10078
10079$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
10080
10081fi
10082
10083
10084{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct dirent allocates space for d_name" >&5
10085$as_echo_n "checking whether struct dirent allocates space for d_name... " >&6; }
10086if test "$cross_compiling" = yes; then :
10087
10088 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&5
10089$as_echo "$as_me: WARNING: cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME" >&2;}
10090 $as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h
10091
10092
10093
10094else
10095 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10096/* end confdefs.h. */
10097
10098#include <sys/types.h>
10099#include <dirent.h>
10100int
10101main ()
10102{
10103
10104 struct dirent d;
10105 exit(sizeof(d.d_name)<=sizeof(char));
10106
10107 ;
10108 return 0;
10109}
10110_ACEOF
10111if ac_fn_c_try_run "$LINENO"; then :
10112 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10113$as_echo "yes" >&6; }
10114else
10115
10116 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10117$as_echo "no" >&6; }
10118
10119$as_echo "#define BROKEN_ONE_BYTE_DIRENT_D_NAME 1" >>confdefs.h
10120
10121
10122fi
10123rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
10124 conftest.$ac_objext conftest.beam conftest.$ac_ext
10125fi
10126
10127
10128{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /proc/pid/fd directory" >&5
10129$as_echo_n "checking for /proc/pid/fd directory... " >&6; }
10130if test -d "/proc/$$/fd" ; then
10131
10132$as_echo "#define HAVE_PROC_PID 1" >>confdefs.h
10133
10134 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10135$as_echo "yes" >&6; }
10136else
10137 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10138$as_echo "no" >&6; }
10139fi
10140
10141# Check whether user wants to use ldns
10142LDNS_MSG="no"
10143
10144# Check whether --with-ldns was given.
10145if test "${with_ldns+set}" = set; then :
10146 withval=$with_ldns;
10147 ldns=""
10148 if test "x$withval" = "xyes" ; then
10149 if test -n "$ac_tool_prefix"; then
10150 # Extract the first word of "${ac_tool_prefix}ldns-config", so it can be a program name with args.
10151set dummy ${ac_tool_prefix}ldns-config; ac_word=$2
10152{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10153$as_echo_n "checking for $ac_word... " >&6; }
10154if ${ac_cv_path_LDNSCONFIG+:} false; then :
10155 $as_echo_n "(cached) " >&6
10156else
10157 case $LDNSCONFIG in
10158 [\\/]* | ?:[\\/]*)
10159 ac_cv_path_LDNSCONFIG="$LDNSCONFIG" # Let the user override the test with a path.
10160 ;;
10161 *)
10162 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10163for as_dir in $PATH
10164do
10165 IFS=$as_save_IFS
10166 test -z "$as_dir" && as_dir=.
10167 for ac_exec_ext in '' $ac_executable_extensions; do
10168 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10169 ac_cv_path_LDNSCONFIG="$as_dir/$ac_word$ac_exec_ext"
10170 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10171 break 2
10172 fi
10173done
10174 done
10175IFS=$as_save_IFS
10176
10177 ;;
10178esac
10179fi
10180LDNSCONFIG=$ac_cv_path_LDNSCONFIG
10181if test -n "$LDNSCONFIG"; then
10182 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDNSCONFIG" >&5
10183$as_echo "$LDNSCONFIG" >&6; }
10184else
10185 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10186$as_echo "no" >&6; }
10187fi
10188
10189
10190fi
10191if test -z "$ac_cv_path_LDNSCONFIG"; then
10192 ac_pt_LDNSCONFIG=$LDNSCONFIG
10193 # Extract the first word of "ldns-config", so it can be a program name with args.
10194set dummy ldns-config; ac_word=$2
10195{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10196$as_echo_n "checking for $ac_word... " >&6; }
10197if ${ac_cv_path_ac_pt_LDNSCONFIG+:} false; then :
10198 $as_echo_n "(cached) " >&6
10199else
10200 case $ac_pt_LDNSCONFIG in
10201 [\\/]* | ?:[\\/]*)
10202 ac_cv_path_ac_pt_LDNSCONFIG="$ac_pt_LDNSCONFIG" # Let the user override the test with a path.
10203 ;;
10204 *)
10205 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10206for as_dir in $PATH
10207do
10208 IFS=$as_save_IFS
10209 test -z "$as_dir" && as_dir=.
10210 for ac_exec_ext in '' $ac_executable_extensions; do
10211 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10212 ac_cv_path_ac_pt_LDNSCONFIG="$as_dir/$ac_word$ac_exec_ext"
10213 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10214 break 2
10215 fi
10216done
10217 done
10218IFS=$as_save_IFS
10219
10220 ;;
10221esac
10222fi
10223ac_pt_LDNSCONFIG=$ac_cv_path_ac_pt_LDNSCONFIG
10224if test -n "$ac_pt_LDNSCONFIG"; then
10225 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_LDNSCONFIG" >&5
10226$as_echo "$ac_pt_LDNSCONFIG" >&6; }
10227else
10228 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10229$as_echo "no" >&6; }
10230fi
10231
10232 if test "x$ac_pt_LDNSCONFIG" = x; then
10233 LDNSCONFIG="no"
10234 else
10235 case $cross_compiling:$ac_tool_warned in
10236yes:)
10237{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10238$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10239ac_tool_warned=yes ;;
10240esac
10241 LDNSCONFIG=$ac_pt_LDNSCONFIG
10242 fi
10243else
10244 LDNSCONFIG="$ac_cv_path_LDNSCONFIG"
10245fi
10246
10247 if test "x$LDNSCONFIG" = "xno"; then
10248 CPPFLAGS="$CPPFLAGS -I${withval}/include"
10249 LDFLAGS="$LDFLAGS -L${withval}/lib"
10250 LIBS="-lldns $LIBS"
10251 ldns=yes
10252 else
10253 LIBS="$LIBS `$LDNSCONFIG --libs`"
10254 CPPFLAGS="$CPPFLAGS `$LDNSCONFIG --cflags`"
10255 ldns=yes
10256 fi
10257 elif test "x$withval" != "xno" ; then
10258 CPPFLAGS="$CPPFLAGS -I${withval}/include"
10259 LDFLAGS="$LDFLAGS -L${withval}/lib"
10260 LIBS="-lldns $LIBS"
10261 ldns=yes
10262 fi
10263
10264 # Verify that it works.
10265 if test "x$ldns" = "xyes" ; then
10266
10267$as_echo "#define HAVE_LDNS 1" >>confdefs.h
10268
10269 LDNS_MSG="yes"
10270 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ldns support" >&5
10271$as_echo_n "checking for ldns support... " >&6; }
10272 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10273/* end confdefs.h. */
10274
10275#include <stdio.h>
10276#include <stdlib.h>
10277#include <stdint.h>
10278#include <ldns/ldns.h>
10279int main() { ldns_status status = ldns_verify_trusted(NULL, NULL, NULL, NULL); status=LDNS_STATUS_OK; exit(0); }
10280
10281
10282_ACEOF
10283if ac_fn_c_try_link "$LINENO"; then :
10284 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10285$as_echo "yes" >&6; }
10286else
10287
10288 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10289$as_echo "no" >&6; }
10290 as_fn_error $? "** Incomplete or missing ldns libraries." "$LINENO" 5
10291
10292fi
10293rm -f core conftest.err conftest.$ac_objext \
10294 conftest$ac_exeext conftest.$ac_ext
10295 fi
10296
10297fi
10298
10299
10300# Check whether user wants libedit support
10301LIBEDIT_MSG="no"
10302
10303# Check whether --with-libedit was given.
10304if test "${with_libedit+set}" = set; then :
10305 withval=$with_libedit; if test "x$withval" != "xno" ; then
10306 if test "x$withval" = "xyes" ; then
10307 if test -n "$ac_tool_prefix"; then
10308 # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
10309set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
10310{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10311$as_echo_n "checking for $ac_word... " >&6; }
10312if ${ac_cv_path_PKGCONFIG+:} false; then :
10313 $as_echo_n "(cached) " >&6
10314else
10315 case $PKGCONFIG in
10316 [\\/]* | ?:[\\/]*)
10317 ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
10318 ;;
10319 *)
10320 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10321for as_dir in $PATH
10322do
10323 IFS=$as_save_IFS
10324 test -z "$as_dir" && as_dir=.
10325 for ac_exec_ext in '' $ac_executable_extensions; do
10326 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10327 ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
10328 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10329 break 2
10330 fi
10331done
10332 done
10333IFS=$as_save_IFS
10334
10335 ;;
10336esac
10337fi
10338PKGCONFIG=$ac_cv_path_PKGCONFIG
10339if test -n "$PKGCONFIG"; then
10340 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
10341$as_echo "$PKGCONFIG" >&6; }
10342else
10343 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10344$as_echo "no" >&6; }
10345fi
10346
10347
10348fi
10349if test -z "$ac_cv_path_PKGCONFIG"; then
10350 ac_pt_PKGCONFIG=$PKGCONFIG
10351 # Extract the first word of "pkg-config", so it can be a program name with args.
10352set dummy pkg-config; ac_word=$2
10353{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10354$as_echo_n "checking for $ac_word... " >&6; }
10355if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
10356 $as_echo_n "(cached) " >&6
10357else
10358 case $ac_pt_PKGCONFIG in
10359 [\\/]* | ?:[\\/]*)
10360 ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
10361 ;;
10362 *)
10363 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10364for as_dir in $PATH
10365do
10366 IFS=$as_save_IFS
10367 test -z "$as_dir" && as_dir=.
10368 for ac_exec_ext in '' $ac_executable_extensions; do
10369 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
10370 ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
10371 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
10372 break 2
10373 fi
10374done
10375 done
10376IFS=$as_save_IFS
10377
10378 ;;
10379esac
10380fi
10381ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
10382if test -n "$ac_pt_PKGCONFIG"; then
10383 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
10384$as_echo "$ac_pt_PKGCONFIG" >&6; }
10385else
10386 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10387$as_echo "no" >&6; }
10388fi
10389
10390 if test "x$ac_pt_PKGCONFIG" = x; then
10391 PKGCONFIG="no"
10392 else
10393 case $cross_compiling:$ac_tool_warned in
10394yes:)
10395{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10396$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10397ac_tool_warned=yes ;;
10398esac
10399 PKGCONFIG=$ac_pt_PKGCONFIG
10400 fi
10401else
10402 PKGCONFIG="$ac_cv_path_PKGCONFIG"
10403fi
10404
10405 if test "x$PKGCONFIG" != "xno"; then
10406 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $PKGCONFIG knows about libedit" >&5
10407$as_echo_n "checking if $PKGCONFIG knows about libedit... " >&6; }
10408 if "$PKGCONFIG" libedit; then
10409 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10410$as_echo "yes" >&6; }
10411 use_pkgconfig_for_libedit=yes
10412 else
10413 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10414$as_echo "no" >&6; }
10415 fi
10416 fi
10417 else
10418 CPPFLAGS="$CPPFLAGS -I${withval}/include"
10419 if test -n "${rpath_opt}"; then
10420 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
10421 else
10422 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
10423 fi
10424 fi
10425 if test "x$use_pkgconfig_for_libedit" = "xyes"; then
10426 LIBEDIT=`$PKGCONFIG --libs libedit`
10427 CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags libedit`"
10428 else
10429 LIBEDIT="-ledit -lcurses"
10430 fi
10431 OTHERLIBS=`echo $LIBEDIT | sed 's/-ledit//'`
10432 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for el_init in -ledit" >&5
10433$as_echo_n "checking for el_init in -ledit... " >&6; }
10434if ${ac_cv_lib_edit_el_init+:} false; then :
10435 $as_echo_n "(cached) " >&6
10436else
10437 ac_check_lib_save_LIBS=$LIBS
10438LIBS="-ledit $OTHERLIBS
10439 $LIBS"
10440cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10441/* end confdefs.h. */
10442
10443/* Override any GCC internal prototype to avoid an error.
10444 Use char because int might match the return type of a GCC
10445 builtin and then its argument prototype would still apply. */
10446#ifdef __cplusplus
10447extern "C"
10448#endif
10449char el_init ();
10450int
10451main ()
10452{
10453return el_init ();
10454 ;
10455 return 0;
10456}
10457_ACEOF
10458if ac_fn_c_try_link "$LINENO"; then :
10459 ac_cv_lib_edit_el_init=yes
10460else
10461 ac_cv_lib_edit_el_init=no
10462fi
10463rm -f core conftest.err conftest.$ac_objext \
10464 conftest$ac_exeext conftest.$ac_ext
10465LIBS=$ac_check_lib_save_LIBS
10466fi
10467{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_edit_el_init" >&5
10468$as_echo "$ac_cv_lib_edit_el_init" >&6; }
10469if test "x$ac_cv_lib_edit_el_init" = xyes; then :
10470
10471$as_echo "#define USE_LIBEDIT 1" >>confdefs.h
10472
10473 LIBEDIT_MSG="yes"
10474
10475
10476else
10477 as_fn_error $? "libedit not found" "$LINENO" 5
10478fi
10479
10480 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libedit version is compatible" >&5
10481$as_echo_n "checking if libedit version is compatible... " >&6; }
10482 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10483/* end confdefs.h. */
10484 #include <histedit.h>
10485int
10486main ()
10487{
10488
10489 int i = H_SETSIZE;
10490 el_init("", NULL, NULL, NULL);
10491 exit(0);
10492
10493 ;
10494 return 0;
10495}
10496_ACEOF
10497if ac_fn_c_try_compile "$LINENO"; then :
10498 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10499$as_echo "yes" >&6; }
10500else
10501 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10502$as_echo "no" >&6; }
10503 as_fn_error $? "libedit version is not compatible" "$LINENO" 5
10504
10505fi
10506rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10507 fi
10508
10509fi
10510
10511
10512AUDIT_MODULE=none
10513
10514# Check whether --with-audit was given.
10515if test "${with_audit+set}" = set; then :
10516 withval=$with_audit;
10517 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for supported audit module" >&5
10518$as_echo_n "checking for supported audit module... " >&6; }
10519 case "$withval" in
10520 bsm)
10521 { $as_echo "$as_me:${as_lineno-$LINENO}: result: bsm" >&5
10522$as_echo "bsm" >&6; }
10523 AUDIT_MODULE=bsm
10524 for ac_header in bsm/audit.h
10525do :
10526 ac_fn_c_check_header_compile "$LINENO" "bsm/audit.h" "ac_cv_header_bsm_audit_h" "
10527#ifdef HAVE_TIME_H
10528# include <time.h>
10529#endif
10530
10531
10532"
10533if test "x$ac_cv_header_bsm_audit_h" = xyes; then :
10534 cat >>confdefs.h <<_ACEOF
10535#define HAVE_BSM_AUDIT_H 1
10536_ACEOF
10537
10538else
10539 as_fn_error $? "BSM enabled and bsm/audit.h not found" "$LINENO" 5
10540fi
10541
10542done
10543
10544 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaudit in -lbsm" >&5
10545$as_echo_n "checking for getaudit in -lbsm... " >&6; }
10546if ${ac_cv_lib_bsm_getaudit+:} false; then :
10547 $as_echo_n "(cached) " >&6
10548else
10549 ac_check_lib_save_LIBS=$LIBS
10550LIBS="-lbsm $LIBS"
10551cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10552/* end confdefs.h. */
10553
10554/* Override any GCC internal prototype to avoid an error.
10555 Use char because int might match the return type of a GCC
10556 builtin and then its argument prototype would still apply. */
10557#ifdef __cplusplus
10558extern "C"
10559#endif
10560char getaudit ();
10561int
10562main ()
10563{
10564return getaudit ();
10565 ;
10566 return 0;
10567}
10568_ACEOF
10569if ac_fn_c_try_link "$LINENO"; then :
10570 ac_cv_lib_bsm_getaudit=yes
10571else
10572 ac_cv_lib_bsm_getaudit=no
10573fi
10574rm -f core conftest.err conftest.$ac_objext \
10575 conftest$ac_exeext conftest.$ac_ext
10576LIBS=$ac_check_lib_save_LIBS
10577fi
10578{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsm_getaudit" >&5
10579$as_echo "$ac_cv_lib_bsm_getaudit" >&6; }
10580if test "x$ac_cv_lib_bsm_getaudit" = xyes; then :
10581 cat >>confdefs.h <<_ACEOF
10582#define HAVE_LIBBSM 1
10583_ACEOF
10584
10585 LIBS="-lbsm $LIBS"
10586
10587else
10588 as_fn_error $? "BSM enabled and required library not found" "$LINENO" 5
10589fi
10590
10591 for ac_func in getaudit
10592do :
10593 ac_fn_c_check_func "$LINENO" "getaudit" "ac_cv_func_getaudit"
10594if test "x$ac_cv_func_getaudit" = xyes; then :
10595 cat >>confdefs.h <<_ACEOF
10596#define HAVE_GETAUDIT 1
10597_ACEOF
10598
10599else
10600 as_fn_error $? "BSM enabled and required function not found" "$LINENO" 5
10601fi
10602done
10603
10604 # These are optional
10605 for ac_func in getaudit_addr aug_get_machine
10606do :
10607 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
10608ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
10609if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
10610 cat >>confdefs.h <<_ACEOF
10611#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
10612_ACEOF
10613
10614fi
10615done
10616
10617
10618$as_echo "#define USE_BSM_AUDIT 1" >>confdefs.h
10619
10620 if test "$sol2ver" -ge 11; then
10621 SSHDLIBS="$SSHDLIBS -lscf"
10622
10623$as_echo "#define BROKEN_BSM_API 1" >>confdefs.h
10624
10625 fi
10626 ;;
10627 linux)
10628 { $as_echo "$as_me:${as_lineno-$LINENO}: result: linux" >&5
10629$as_echo "linux" >&6; }
10630 AUDIT_MODULE=linux
10631 for ac_header in libaudit.h
10632do :
10633 ac_fn_c_check_header_mongrel "$LINENO" "libaudit.h" "ac_cv_header_libaudit_h" "$ac_includes_default"
10634if test "x$ac_cv_header_libaudit_h" = xyes; then :
10635 cat >>confdefs.h <<_ACEOF
10636#define HAVE_LIBAUDIT_H 1
10637_ACEOF
10638
10639fi
10640
10641done
10642
10643 SSHDLIBS="$SSHDLIBS -laudit"
10644
10645$as_echo "#define USE_LINUX_AUDIT 1" >>confdefs.h
10646
10647 ;;
10648 debug)
10649 AUDIT_MODULE=debug
10650 { $as_echo "$as_me:${as_lineno-$LINENO}: result: debug" >&5
10651$as_echo "debug" >&6; }
10652
10653$as_echo "#define SSH_AUDIT_EVENTS 1" >>confdefs.h
10654
10655 ;;
10656 no)
10657 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10658$as_echo "no" >&6; }
10659 ;;
10660 *)
10661 as_fn_error $? "Unknown audit module $withval" "$LINENO" 5
10662 ;;
10663 esac
10664
10665fi
10666
10667
10668
10669# Check whether --with-pie was given.
10670if test "${with_pie+set}" = set; then :
10671 withval=$with_pie;
10672 if test "x$withval" = "xno"; then
10673 use_pie=no
10674 fi
10675 if test "x$withval" = "xyes"; then
10676 use_pie=yes
10677 fi
10678
10679
10680fi
10681
10682if test "x$use_pie" = "x"; then
10683 use_pie=no
10684fi
10685if test "x$use_toolchain_hardening" != "x1" && test "x$use_pie" = "xauto"; then
10686 # Turn off automatic PIE when toolchain hardening is off.
10687 use_pie=no
10688fi
10689if test "x$use_pie" = "xauto"; then
10690 # Automatic PIE requires gcc >= 4.x
10691 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc >= 4.x" >&5
10692$as_echo_n "checking for gcc >= 4.x... " >&6; }
10693 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10694/* end confdefs.h. */
10695
10696#if !defined(__GNUC__) || __GNUC__ < 4
10697#error gcc is too old
10698#endif
10699
10700_ACEOF
10701if ac_fn_c_try_compile "$LINENO"; then :
10702 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10703$as_echo "yes" >&6; }
10704else
10705 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10706$as_echo "no" >&6; }
10707 use_pie=no
10708
10709fi
10710rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10711fi
10712if test "x$use_pie" != "xno"; then
10713 SAVED_CFLAGS="$CFLAGS"
10714 SAVED_LDFLAGS="$LDFLAGS"
10715 {
10716 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports compile flag -fPIE" >&5
10717$as_echo_n "checking if $CC supports compile flag -fPIE... " >&6; }
10718 saved_CFLAGS="$CFLAGS"
10719 CFLAGS="$CFLAGS $WERROR -fPIE"
10720 _define_flag=""
10721 test "x$_define_flag" = "x" && _define_flag="-fPIE"
10722 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10723/* end confdefs.h. */
10724
10725#include <stdlib.h>
10726#include <stdio.h>
10727int main(int argc, char **argv) {
10728 /* Some math to catch -ftrapv problems in the toolchain */
10729 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
10730 float l = i * 2.1;
10731 double m = l / 0.5;
10732 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
10733 printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
10734 exit(0);
10735}
10736
10737_ACEOF
10738if ac_fn_c_try_compile "$LINENO"; then :
10739
10740if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
10741then
10742 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10743$as_echo "no" >&6; }
10744 CFLAGS="$saved_CFLAGS"
10745else
10746 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10747$as_echo "yes" >&6; }
10748 CFLAGS="$saved_CFLAGS $_define_flag"
10749fi
10750else
10751 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10752$as_echo "no" >&6; }
10753 CFLAGS="$saved_CFLAGS"
10754
10755fi
10756rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
10757}
10758 {
10759 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $LD supports link flag -pie" >&5
10760$as_echo_n "checking if $LD supports link flag -pie... " >&6; }
10761 saved_LDFLAGS="$LDFLAGS"
10762 LDFLAGS="$LDFLAGS $WERROR -pie"
10763 _define_flag=""
10764 test "x$_define_flag" = "x" && _define_flag="-pie"
10765 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10766/* end confdefs.h. */
10767
10768#include <stdlib.h>
10769#include <stdio.h>
10770int main(int argc, char **argv) {
10771 /* Some math to catch -ftrapv problems in the toolchain */
10772 int i = 123 * argc, j = 456 + argc, k = 789 - argc;
10773 float l = i * 2.1;
10774 double m = l / 0.5;
10775 long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
10776 long long p = n * o;
10777 printf("%d %d %d %f %f %lld %lld %lld\n", i, j, k, l, m, n, o, p);
10778 exit(0);
10779}
10780
10781_ACEOF
10782if ac_fn_c_try_link "$LINENO"; then :
10783
10784if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
10785then
10786 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10787$as_echo "no" >&6; }
10788 LDFLAGS="$saved_LDFLAGS"
10789else
10790 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10791$as_echo "yes" >&6; }
10792 LDFLAGS="$saved_LDFLAGS $_define_flag"
10793fi
10794else
10795 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10796$as_echo "no" >&6; }
10797 LDFLAGS="$saved_LDFLAGS"
10798
10799fi
10800rm -f core conftest.err conftest.$ac_objext \
10801 conftest$ac_exeext conftest.$ac_ext
10802}
10803 # We use both -fPIE and -pie or neither.
10804 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether both -fPIE and -pie are supported" >&5
10805$as_echo_n "checking whether both -fPIE and -pie are supported... " >&6; }
10806 if echo "x $CFLAGS" | grep ' -fPIE' >/dev/null 2>&1 && \
10807 echo "x $LDFLAGS" | grep ' -pie' >/dev/null 2>&1 ; then
10808 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
10809$as_echo "yes" >&6; }
10810 else
10811 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
10812$as_echo "no" >&6; }
10813 CFLAGS="$SAVED_CFLAGS"
10814 LDFLAGS="$SAVED_LDFLAGS"
10815 fi
10816fi
10817
10818for ac_func in \
10819 Blowfish_initstate \
10820 Blowfish_expandstate \
10821 Blowfish_expand0state \
10822 Blowfish_stream2word \
10823 asprintf \
10824 b64_ntop \
10825 __b64_ntop \
10826 b64_pton \
10827 __b64_pton \
10828 bcopy \
10829 bcrypt_pbkdf \
10830 bindresvport_sa \
10831 blf_enc \
10832 bzero \
10833 cap_rights_limit \
10834 clock \
10835 closefrom \
10836 dirfd \
10837 endgrent \
10838 err \
10839 errx \
10840 explicit_bzero \
10841 fchmod \
10842 fchmodat \
10843 fchown \
10844 fchownat \
10845 flock \
10846 freeaddrinfo \
10847 freezero \
10848 fstatfs \
10849 fstatvfs \
10850 futimes \
10851 getaddrinfo \
10852 getcwd \
10853 getgrouplist \
10854 getline \
10855 getnameinfo \
10856 getopt \
10857 getpagesize \
10858 getpeereid \
10859 getpeerucred \
10860 getpgid \
10861 _getpty \
10862 getrlimit \
10863 getrandom \
10864 getsid \
10865 getttyent \
10866 glob \
10867 group_from_gid \
10868 inet_aton \
10869 inet_ntoa \
10870 inet_ntop \
10871 innetgr \
10872 llabs \
10873 login_getcapbool \
10874 md5_crypt \
10875 memmove \
10876 memset_s \
10877 mkdtemp \
10878 ngetaddrinfo \
10879 nsleep \
10880 ogetaddrinfo \
10881 openlog_r \
10882 pledge \
10883 poll \
10884 prctl \
10885 pstat \
10886 raise \
10887 readpassphrase \
10888 reallocarray \
10889 recvmsg \
10890 recallocarray \
10891 rresvport_af \
10892 sendmsg \
10893 setdtablesize \
10894 setegid \
10895 setenv \
10896 seteuid \
10897 setgroupent \
10898 setgroups \
10899 setlinebuf \
10900 setlogin \
10901 setpassent\
10902 setpcred \
10903 setproctitle \
10904 setregid \
10905 setreuid \
10906 setrlimit \
10907 setsid \
10908 setvbuf \
10909 sigaction \
10910 sigvec \
10911 snprintf \
10912 socketpair \
10913 statfs \
10914 statvfs \
10915 strcasestr \
10916 strdup \
10917 strerror \
10918 strlcat \
10919 strlcpy \
10920 strmode \
10921 strndup \
10922 strnlen \
10923 strnvis \
10924 strptime \
10925 strsignal \
10926 strtonum \
10927 strtoll \
10928 strtoul \
10929 strtoull \
10930 swap32 \
10931 sysconf \
10932 tcgetpgrp \
10933 timingsafe_bcmp \
10934 truncate \
10935 unsetenv \
10936 updwtmpx \
10937 utimensat \
10938 user_from_uid \
10939 usleep \
10940 vasprintf \
10941 vsnprintf \
10942 waitpid \
10943 warn \
10944
10945do :
10946 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
10947ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
10948if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
10949 cat >>confdefs.h <<_ACEOF
10950#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
10951_ACEOF
10952
10953fi
10954done
10955
10956
10957ac_fn_c_check_decl "$LINENO" "bzero" "ac_cv_have_decl_bzero" "$ac_includes_default"
10958if test "x$ac_cv_have_decl_bzero" = xyes; then :
10959 ac_have_decl=1
10960else
10961 ac_have_decl=0
10962fi
10963
10964cat >>confdefs.h <<_ACEOF
10965#define HAVE_DECL_BZERO $ac_have_decl
10966_ACEOF
10967
10968
10969for ac_func in mblen mbtowc nl_langinfo wcwidth
10970do :
10971 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
10972ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
10973if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
10974 cat >>confdefs.h <<_ACEOF
10975#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
10976_ACEOF
10977
10978fi
10979done
10980
10981
10982TEST_SSH_UTF8=${TEST_SSH_UTF8:=yes}
10983{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for utf8 locale support" >&5
10984$as_echo_n "checking for utf8 locale support... " >&6; }
10985if test "$cross_compiling" = yes; then :
10986 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
10987$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
10988
10989else
10990 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10991/* end confdefs.h. */
10992
10993#include <locale.h>
10994#include <stdlib.h>
10995
10996int
10997main ()
10998{
10999
11000 char *loc = setlocale(LC_CTYPE, "en_US.UTF-8");
11001 if (loc != NULL)
11002 exit(0);
11003 exit(1);
11004
11005 ;
11006 return 0;
11007}
11008_ACEOF
11009if ac_fn_c_try_run "$LINENO"; then :
11010 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11011$as_echo "yes" >&6; }
11012else
11013 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11014$as_echo "no" >&6; }
11015 TEST_SSH_UTF8=no
11016fi
11017rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11018 conftest.$ac_objext conftest.beam conftest.$ac_ext
11019fi
11020
11021
11022cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11023/* end confdefs.h. */
11024 #include <ctype.h>
11025int
11026main ()
11027{
11028 return (isblank('a'));
11029 ;
11030 return 0;
11031}
11032_ACEOF
11033if ac_fn_c_try_link "$LINENO"; then :
11034
11035$as_echo "#define HAVE_ISBLANK 1" >>confdefs.h
11036
11037
11038fi
11039rm -f core conftest.err conftest.$ac_objext \
11040 conftest$ac_exeext conftest.$ac_ext
11041
11042disable_pkcs11=
11043# Check whether --enable-pkcs11 was given.
11044if test "${enable_pkcs11+set}" = set; then :
11045 enableval=$enable_pkcs11;
11046 if test "x$enableval" = "xno" ; then
11047 disable_pkcs11=1
11048 fi
11049
11050
11051fi
11052
11053
11054# PKCS11 depends on OpenSSL.
11055if test "x$openssl" = "xyes" && test "x$disable_pkcs11" = "x"; then
11056 # PKCS#11 support requires dlopen() and co
11057 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
11058$as_echo_n "checking for library containing dlopen... " >&6; }
11059if ${ac_cv_search_dlopen+:} false; then :
11060 $as_echo_n "(cached) " >&6
11061else
11062 ac_func_search_save_LIBS=$LIBS
11063cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11064/* end confdefs.h. */
11065
11066/* Override any GCC internal prototype to avoid an error.
11067 Use char because int might match the return type of a GCC
11068 builtin and then its argument prototype would still apply. */
11069#ifdef __cplusplus
11070extern "C"
11071#endif
11072char dlopen ();
11073int
11074main ()
11075{
11076return dlopen ();
11077 ;
11078 return 0;
11079}
11080_ACEOF
11081for ac_lib in '' dl; do
11082 if test -z "$ac_lib"; then
11083 ac_res="none required"
11084 else
11085 ac_res=-l$ac_lib
11086 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11087 fi
11088 if ac_fn_c_try_link "$LINENO"; then :
11089 ac_cv_search_dlopen=$ac_res
11090fi
11091rm -f core conftest.err conftest.$ac_objext \
11092 conftest$ac_exeext
11093 if ${ac_cv_search_dlopen+:} false; then :
11094 break
11095fi
11096done
11097if ${ac_cv_search_dlopen+:} false; then :
11098
11099else
11100 ac_cv_search_dlopen=no
11101fi
11102rm conftest.$ac_ext
11103LIBS=$ac_func_search_save_LIBS
11104fi
11105{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5
11106$as_echo "$ac_cv_search_dlopen" >&6; }
11107ac_res=$ac_cv_search_dlopen
11108if test "$ac_res" != no; then :
11109 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11110 ac_fn_c_check_decl "$LINENO" "RTLD_NOW" "ac_cv_have_decl_RTLD_NOW" "#include <dlfcn.h>
11111
11112"
11113if test "x$ac_cv_have_decl_RTLD_NOW" = xyes; then :
11114
11115$as_echo "#define ENABLE_PKCS11 /**/" >>confdefs.h
11116
11117fi
11118
11119
11120fi
11121
11122fi
11123
11124# IRIX has a const char return value for gai_strerror()
11125for ac_func in gai_strerror
11126do :
11127 ac_fn_c_check_func "$LINENO" "gai_strerror" "ac_cv_func_gai_strerror"
11128if test "x$ac_cv_func_gai_strerror" = xyes; then :
11129 cat >>confdefs.h <<_ACEOF
11130#define HAVE_GAI_STRERROR 1
11131_ACEOF
11132
11133 $as_echo "#define HAVE_GAI_STRERROR 1" >>confdefs.h
11134
11135 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11136/* end confdefs.h. */
11137
11138#include <sys/types.h>
11139#include <sys/socket.h>
11140#include <netdb.h>
11141
11142const char *gai_strerror(int);
11143
11144int
11145main ()
11146{
11147
11148 char *str;
11149 str = gai_strerror(0);
11150
11151 ;
11152 return 0;
11153}
11154_ACEOF
11155if ac_fn_c_try_compile "$LINENO"; then :
11156
11157
11158$as_echo "#define HAVE_CONST_GAI_STRERROR_PROTO 1" >>confdefs.h
11159
11160fi
11161rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
11162fi
11163done
11164
11165
11166{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nanosleep" >&5
11167$as_echo_n "checking for library containing nanosleep... " >&6; }
11168if ${ac_cv_search_nanosleep+:} false; then :
11169 $as_echo_n "(cached) " >&6
11170else
11171 ac_func_search_save_LIBS=$LIBS
11172cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11173/* end confdefs.h. */
11174
11175/* Override any GCC internal prototype to avoid an error.
11176 Use char because int might match the return type of a GCC
11177 builtin and then its argument prototype would still apply. */
11178#ifdef __cplusplus
11179extern "C"
11180#endif
11181char nanosleep ();
11182int
11183main ()
11184{
11185return nanosleep ();
11186 ;
11187 return 0;
11188}
11189_ACEOF
11190for ac_lib in '' rt posix4; do
11191 if test -z "$ac_lib"; then
11192 ac_res="none required"
11193 else
11194 ac_res=-l$ac_lib
11195 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11196 fi
11197 if ac_fn_c_try_link "$LINENO"; then :
11198 ac_cv_search_nanosleep=$ac_res
11199fi
11200rm -f core conftest.err conftest.$ac_objext \
11201 conftest$ac_exeext
11202 if ${ac_cv_search_nanosleep+:} false; then :
11203 break
11204fi
11205done
11206if ${ac_cv_search_nanosleep+:} false; then :
11207
11208else
11209 ac_cv_search_nanosleep=no
11210fi
11211rm conftest.$ac_ext
11212LIBS=$ac_func_search_save_LIBS
11213fi
11214{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nanosleep" >&5
11215$as_echo "$ac_cv_search_nanosleep" >&6; }
11216ac_res=$ac_cv_search_nanosleep
11217if test "$ac_res" != no; then :
11218 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11219
11220$as_echo "#define HAVE_NANOSLEEP 1" >>confdefs.h
11221
11222fi
11223
11224
11225{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5
11226$as_echo_n "checking for library containing clock_gettime... " >&6; }
11227if ${ac_cv_search_clock_gettime+:} false; then :
11228 $as_echo_n "(cached) " >&6
11229else
11230 ac_func_search_save_LIBS=$LIBS
11231cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11232/* end confdefs.h. */
11233
11234/* Override any GCC internal prototype to avoid an error.
11235 Use char because int might match the return type of a GCC
11236 builtin and then its argument prototype would still apply. */
11237#ifdef __cplusplus
11238extern "C"
11239#endif
11240char clock_gettime ();
11241int
11242main ()
11243{
11244return clock_gettime ();
11245 ;
11246 return 0;
11247}
11248_ACEOF
11249for ac_lib in '' rt; do
11250 if test -z "$ac_lib"; then
11251 ac_res="none required"
11252 else
11253 ac_res=-l$ac_lib
11254 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
11255 fi
11256 if ac_fn_c_try_link "$LINENO"; then :
11257 ac_cv_search_clock_gettime=$ac_res
11258fi
11259rm -f core conftest.err conftest.$ac_objext \
11260 conftest$ac_exeext
11261 if ${ac_cv_search_clock_gettime+:} false; then :
11262 break
11263fi
11264done
11265if ${ac_cv_search_clock_gettime+:} false; then :
11266
11267else
11268 ac_cv_search_clock_gettime=no
11269fi
11270rm conftest.$ac_ext
11271LIBS=$ac_func_search_save_LIBS
11272fi
11273{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5
11274$as_echo "$ac_cv_search_clock_gettime" >&6; }
11275ac_res=$ac_cv_search_clock_gettime
11276if test "$ac_res" != no; then :
11277 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
11278
11279$as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
11280
11281fi
11282
11283
11284ac_fn_c_check_decl "$LINENO" "strsep" "ac_cv_have_decl_strsep" "
11285#ifdef HAVE_STRING_H
11286# include <string.h>
11287#endif
11288
11289"
11290if test "x$ac_cv_have_decl_strsep" = xyes; then :
11291 for ac_func in strsep
11292do :
11293 ac_fn_c_check_func "$LINENO" "strsep" "ac_cv_func_strsep"
11294if test "x$ac_cv_func_strsep" = xyes; then :
11295 cat >>confdefs.h <<_ACEOF
11296#define HAVE_STRSEP 1
11297_ACEOF
11298
11299fi
11300done
11301
11302fi
11303
11304
11305ac_fn_c_check_decl "$LINENO" "tcsendbreak" "ac_cv_have_decl_tcsendbreak" "#include <termios.h>
11306
11307"
11308if test "x$ac_cv_have_decl_tcsendbreak" = xyes; then :
11309 $as_echo "#define HAVE_TCSENDBREAK 1" >>confdefs.h
11310
11311else
11312 for ac_func in tcsendbreak
11313do :
11314 ac_fn_c_check_func "$LINENO" "tcsendbreak" "ac_cv_func_tcsendbreak"
11315if test "x$ac_cv_func_tcsendbreak" = xyes; then :
11316 cat >>confdefs.h <<_ACEOF
11317#define HAVE_TCSENDBREAK 1
11318_ACEOF
11319
11320fi
11321done
11322
11323fi
11324
11325
11326ac_fn_c_check_decl "$LINENO" "h_errno" "ac_cv_have_decl_h_errno" "#include <netdb.h>
11327"
11328if test "x$ac_cv_have_decl_h_errno" = xyes; then :
11329 ac_have_decl=1
11330else
11331 ac_have_decl=0
11332fi
11333
11334cat >>confdefs.h <<_ACEOF
11335#define HAVE_DECL_H_ERRNO $ac_have_decl
11336_ACEOF
11337
11338
11339ac_fn_c_check_decl "$LINENO" "SHUT_RD" "ac_cv_have_decl_SHUT_RD" "
11340#include <sys/types.h>
11341#include <sys/socket.h>
11342
11343"
11344if test "x$ac_cv_have_decl_SHUT_RD" = xyes; then :
11345 ac_have_decl=1
11346else
11347 ac_have_decl=0
11348fi
11349
11350cat >>confdefs.h <<_ACEOF
11351#define HAVE_DECL_SHUT_RD $ac_have_decl
11352_ACEOF
11353
11354
11355ac_fn_c_check_decl "$LINENO" "O_NONBLOCK" "ac_cv_have_decl_O_NONBLOCK" "
11356#include <sys/types.h>
11357#ifdef HAVE_SYS_STAT_H
11358# include <sys/stat.h>
11359#endif
11360#ifdef HAVE_FCNTL_H
11361# include <fcntl.h>
11362#endif
11363
11364"
11365if test "x$ac_cv_have_decl_O_NONBLOCK" = xyes; then :
11366 ac_have_decl=1
11367else
11368 ac_have_decl=0
11369fi
11370
11371cat >>confdefs.h <<_ACEOF
11372#define HAVE_DECL_O_NONBLOCK $ac_have_decl
11373_ACEOF
11374
11375
11376ac_fn_c_check_decl "$LINENO" "readv" "ac_cv_have_decl_readv" "
11377#include <sys/types.h>
11378#include <sys/uio.h>
11379#include <unistd.h>
11380
11381"
11382if test "x$ac_cv_have_decl_readv" = xyes; then :
11383 ac_have_decl=1
11384else
11385 ac_have_decl=0
11386fi
11387
11388cat >>confdefs.h <<_ACEOF
11389#define HAVE_DECL_READV $ac_have_decl
11390_ACEOF
11391ac_fn_c_check_decl "$LINENO" "writev" "ac_cv_have_decl_writev" "
11392#include <sys/types.h>
11393#include <sys/uio.h>
11394#include <unistd.h>
11395
11396"
11397if test "x$ac_cv_have_decl_writev" = xyes; then :
11398 ac_have_decl=1
11399else
11400 ac_have_decl=0
11401fi
11402
11403cat >>confdefs.h <<_ACEOF
11404#define HAVE_DECL_WRITEV $ac_have_decl
11405_ACEOF
11406
11407
11408ac_fn_c_check_decl "$LINENO" "MAXSYMLINKS" "ac_cv_have_decl_MAXSYMLINKS" "
11409#include <sys/param.h>
11410
11411"
11412if test "x$ac_cv_have_decl_MAXSYMLINKS" = xyes; then :
11413 ac_have_decl=1
11414else
11415 ac_have_decl=0
11416fi
11417
11418cat >>confdefs.h <<_ACEOF
11419#define HAVE_DECL_MAXSYMLINKS $ac_have_decl
11420_ACEOF
11421
11422
11423ac_fn_c_check_decl "$LINENO" "offsetof" "ac_cv_have_decl_offsetof" "
11424#include <stddef.h>
11425
11426"
11427if test "x$ac_cv_have_decl_offsetof" = xyes; then :
11428 ac_have_decl=1
11429else
11430 ac_have_decl=0
11431fi
11432
11433cat >>confdefs.h <<_ACEOF
11434#define HAVE_DECL_OFFSETOF $ac_have_decl
11435_ACEOF
11436
11437
11438# extra bits for select(2)
11439ac_fn_c_check_decl "$LINENO" "howmany" "ac_cv_have_decl_howmany" "
11440#include <sys/param.h>
11441#include <sys/types.h>
11442#ifdef HAVE_SYS_SYSMACROS_H
11443#include <sys/sysmacros.h>
11444#endif
11445#ifdef HAVE_SYS_SELECT_H
11446#include <sys/select.h>
11447#endif
11448#ifdef HAVE_SYS_TIME_H
11449#include <sys/time.h>
11450#endif
11451#ifdef HAVE_UNISTD_H
11452#include <unistd.h>
11453#endif
11454
11455"
11456if test "x$ac_cv_have_decl_howmany" = xyes; then :
11457 ac_have_decl=1
11458else
11459 ac_have_decl=0
11460fi
11461
11462cat >>confdefs.h <<_ACEOF
11463#define HAVE_DECL_HOWMANY $ac_have_decl
11464_ACEOF
11465ac_fn_c_check_decl "$LINENO" "NFDBITS" "ac_cv_have_decl_NFDBITS" "
11466#include <sys/param.h>
11467#include <sys/types.h>
11468#ifdef HAVE_SYS_SYSMACROS_H
11469#include <sys/sysmacros.h>
11470#endif
11471#ifdef HAVE_SYS_SELECT_H
11472#include <sys/select.h>
11473#endif
11474#ifdef HAVE_SYS_TIME_H
11475#include <sys/time.h>
11476#endif
11477#ifdef HAVE_UNISTD_H
11478#include <unistd.h>
11479#endif
11480
11481"
11482if test "x$ac_cv_have_decl_NFDBITS" = xyes; then :
11483 ac_have_decl=1
11484else
11485 ac_have_decl=0
11486fi
11487
11488cat >>confdefs.h <<_ACEOF
11489#define HAVE_DECL_NFDBITS $ac_have_decl
11490_ACEOF
11491
11492ac_fn_c_check_type "$LINENO" "fd_mask" "ac_cv_type_fd_mask" "
11493#include <sys/param.h>
11494#include <sys/types.h>
11495#ifdef HAVE_SYS_SELECT_H
11496#include <sys/select.h>
11497#endif
11498#ifdef HAVE_SYS_TIME_H
11499#include <sys/time.h>
11500#endif
11501#ifdef HAVE_UNISTD_H
11502#include <unistd.h>
11503#endif
11504
11505"
11506if test "x$ac_cv_type_fd_mask" = xyes; then :
11507
11508cat >>confdefs.h <<_ACEOF
11509#define HAVE_FD_MASK 1
11510_ACEOF
11511
11512
11513fi
11514
11515
11516for ac_func in setresuid
11517do :
11518 ac_fn_c_check_func "$LINENO" "setresuid" "ac_cv_func_setresuid"
11519if test "x$ac_cv_func_setresuid" = xyes; then :
11520 cat >>confdefs.h <<_ACEOF
11521#define HAVE_SETRESUID 1
11522_ACEOF
11523
11524 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresuid seems to work" >&5
11525$as_echo_n "checking if setresuid seems to work... " >&6; }
11526 if test "$cross_compiling" = yes; then :
11527 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5
11528$as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;}
11529
11530else
11531 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11532/* end confdefs.h. */
11533
11534#include <stdlib.h>
11535#include <errno.h>
11536
11537int
11538main ()
11539{
11540
11541 errno=0;
11542 setresuid(0,0,0);
11543 if (errno==ENOSYS)
11544 exit(1);
11545 else
11546 exit(0);
11547
11548 ;
11549 return 0;
11550}
11551_ACEOF
11552if ac_fn_c_try_run "$LINENO"; then :
11553 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11554$as_echo "yes" >&6; }
11555else
11556
11557$as_echo "#define BROKEN_SETRESUID 1" >>confdefs.h
11558
11559 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5
11560$as_echo "not implemented" >&6; }
11561fi
11562rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11563 conftest.$ac_objext conftest.beam conftest.$ac_ext
11564fi
11565
11566
11567fi
11568done
11569
11570
11571for ac_func in setresgid
11572do :
11573 ac_fn_c_check_func "$LINENO" "setresgid" "ac_cv_func_setresgid"
11574if test "x$ac_cv_func_setresgid" = xyes; then :
11575 cat >>confdefs.h <<_ACEOF
11576#define HAVE_SETRESGID 1
11577_ACEOF
11578
11579 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setresgid seems to work" >&5
11580$as_echo_n "checking if setresgid seems to work... " >&6; }
11581 if test "$cross_compiling" = yes; then :
11582 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking setresuid" >&5
11583$as_echo "$as_me: WARNING: cross compiling: not checking setresuid" >&2;}
11584
11585else
11586 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11587/* end confdefs.h. */
11588
11589#include <stdlib.h>
11590#include <errno.h>
11591
11592int
11593main ()
11594{
11595
11596 errno=0;
11597 setresgid(0,0,0);
11598 if (errno==ENOSYS)
11599 exit(1);
11600 else
11601 exit(0);
11602
11603 ;
11604 return 0;
11605}
11606_ACEOF
11607if ac_fn_c_try_run "$LINENO"; then :
11608 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11609$as_echo "yes" >&6; }
11610else
11611
11612$as_echo "#define BROKEN_SETRESGID 1" >>confdefs.h
11613
11614 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not implemented" >&5
11615$as_echo "not implemented" >&6; }
11616fi
11617rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11618 conftest.$ac_objext conftest.beam conftest.$ac_ext
11619fi
11620
11621
11622fi
11623done
11624
11625
11626for ac_func in realpath
11627do :
11628 ac_fn_c_check_func "$LINENO" "realpath" "ac_cv_func_realpath"
11629if test "x$ac_cv_func_realpath" = xyes; then :
11630 cat >>confdefs.h <<_ACEOF
11631#define HAVE_REALPATH 1
11632_ACEOF
11633
11634 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if realpath works with non-existent files" >&5
11635$as_echo_n "checking if realpath works with non-existent files... " >&6; }
11636 if test "$cross_compiling" = yes; then :
11637 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming working" >&5
11638$as_echo "$as_me: WARNING: cross compiling: assuming working" >&2;}
11639
11640else
11641 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11642/* end confdefs.h. */
11643
11644#include <limits.h>
11645#include <stdlib.h>
11646#include <errno.h>
11647
11648int
11649main ()
11650{
11651
11652 char buf[PATH_MAX];
11653 if (realpath("/opensshnonexistentfilename1234", buf) == NULL)
11654 if (errno == ENOENT)
11655 exit(1);
11656 exit(0);
11657
11658 ;
11659 return 0;
11660}
11661_ACEOF
11662if ac_fn_c_try_run "$LINENO"; then :
11663 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11664$as_echo "yes" >&6; }
11665else
11666
11667$as_echo "#define BROKEN_REALPATH 1" >>confdefs.h
11668
11669 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11670$as_echo "no" >&6; }
11671fi
11672rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11673 conftest.$ac_objext conftest.beam conftest.$ac_ext
11674fi
11675
11676
11677fi
11678done
11679
11680
11681{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fflush(NULL)" >&5
11682$as_echo_n "checking for working fflush(NULL)... " >&6; }
11683if test "$cross_compiling" = yes; then :
11684 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming working" >&5
11685$as_echo "$as_me: WARNING: cross compiling: assuming working" >&2;}
11686
11687else
11688 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11689/* end confdefs.h. */
11690#include <stdio.h>
11691int
11692main ()
11693{
11694fflush(NULL); exit(0);
11695 ;
11696 return 0;
11697}
11698_ACEOF
11699if ac_fn_c_try_run "$LINENO"; then :
11700 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11701$as_echo "yes" >&6; }
11702else
11703 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11704$as_echo "no" >&6; }
11705
11706$as_echo "#define FFLUSH_NULL_BUG 1" >>confdefs.h
11707
11708fi
11709rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11710 conftest.$ac_objext conftest.beam conftest.$ac_ext
11711fi
11712
11713
11714for ac_func in gettimeofday time
11715do :
11716 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11717ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11718if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11719 cat >>confdefs.h <<_ACEOF
11720#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11721_ACEOF
11722
11723fi
11724done
11725
11726for ac_func in endutent getutent getutid getutline pututline setutent
11727do :
11728 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11729ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11730if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11731 cat >>confdefs.h <<_ACEOF
11732#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11733_ACEOF
11734
11735fi
11736done
11737
11738for ac_func in utmpname
11739do :
11740 ac_fn_c_check_func "$LINENO" "utmpname" "ac_cv_func_utmpname"
11741if test "x$ac_cv_func_utmpname" = xyes; then :
11742 cat >>confdefs.h <<_ACEOF
11743#define HAVE_UTMPNAME 1
11744_ACEOF
11745
11746fi
11747done
11748
11749for ac_func in endutxent getutxent getutxid getutxline getutxuser pututxline
11750do :
11751 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11752ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11753if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11754 cat >>confdefs.h <<_ACEOF
11755#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11756_ACEOF
11757
11758fi
11759done
11760
11761for ac_func in setutxdb setutxent utmpxname
11762do :
11763 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
11764ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
11765if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
11766 cat >>confdefs.h <<_ACEOF
11767#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
11768_ACEOF
11769
11770fi
11771done
11772
11773for ac_func in getlastlogxbyname
11774do :
11775 ac_fn_c_check_func "$LINENO" "getlastlogxbyname" "ac_cv_func_getlastlogxbyname"
11776if test "x$ac_cv_func_getlastlogxbyname" = xyes; then :
11777 cat >>confdefs.h <<_ACEOF
11778#define HAVE_GETLASTLOGXBYNAME 1
11779_ACEOF
11780
11781fi
11782done
11783
11784
11785ac_fn_c_check_func "$LINENO" "daemon" "ac_cv_func_daemon"
11786if test "x$ac_cv_func_daemon" = xyes; then :
11787
11788$as_echo "#define HAVE_DAEMON 1" >>confdefs.h
11789
11790else
11791 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for daemon in -lbsd" >&5
11792$as_echo_n "checking for daemon in -lbsd... " >&6; }
11793if ${ac_cv_lib_bsd_daemon+:} false; then :
11794 $as_echo_n "(cached) " >&6
11795else
11796 ac_check_lib_save_LIBS=$LIBS
11797LIBS="-lbsd $LIBS"
11798cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11799/* end confdefs.h. */
11800
11801/* Override any GCC internal prototype to avoid an error.
11802 Use char because int might match the return type of a GCC
11803 builtin and then its argument prototype would still apply. */
11804#ifdef __cplusplus
11805extern "C"
11806#endif
11807char daemon ();
11808int
11809main ()
11810{
11811return daemon ();
11812 ;
11813 return 0;
11814}
11815_ACEOF
11816if ac_fn_c_try_link "$LINENO"; then :
11817 ac_cv_lib_bsd_daemon=yes
11818else
11819 ac_cv_lib_bsd_daemon=no
11820fi
11821rm -f core conftest.err conftest.$ac_objext \
11822 conftest$ac_exeext conftest.$ac_ext
11823LIBS=$ac_check_lib_save_LIBS
11824fi
11825{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_daemon" >&5
11826$as_echo "$ac_cv_lib_bsd_daemon" >&6; }
11827if test "x$ac_cv_lib_bsd_daemon" = xyes; then :
11828 LIBS="$LIBS -lbsd"; $as_echo "#define HAVE_DAEMON 1" >>confdefs.h
11829
11830fi
11831
11832
11833fi
11834
11835
11836ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize"
11837if test "x$ac_cv_func_getpagesize" = xyes; then :
11838
11839$as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h
11840
11841else
11842 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpagesize in -lucb" >&5
11843$as_echo_n "checking for getpagesize in -lucb... " >&6; }
11844if ${ac_cv_lib_ucb_getpagesize+:} false; then :
11845 $as_echo_n "(cached) " >&6
11846else
11847 ac_check_lib_save_LIBS=$LIBS
11848LIBS="-lucb $LIBS"
11849cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11850/* end confdefs.h. */
11851
11852/* Override any GCC internal prototype to avoid an error.
11853 Use char because int might match the return type of a GCC
11854 builtin and then its argument prototype would still apply. */
11855#ifdef __cplusplus
11856extern "C"
11857#endif
11858char getpagesize ();
11859int
11860main ()
11861{
11862return getpagesize ();
11863 ;
11864 return 0;
11865}
11866_ACEOF
11867if ac_fn_c_try_link "$LINENO"; then :
11868 ac_cv_lib_ucb_getpagesize=yes
11869else
11870 ac_cv_lib_ucb_getpagesize=no
11871fi
11872rm -f core conftest.err conftest.$ac_objext \
11873 conftest$ac_exeext conftest.$ac_ext
11874LIBS=$ac_check_lib_save_LIBS
11875fi
11876{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ucb_getpagesize" >&5
11877$as_echo "$ac_cv_lib_ucb_getpagesize" >&6; }
11878if test "x$ac_cv_lib_ucb_getpagesize" = xyes; then :
11879 LIBS="$LIBS -lucb"; $as_echo "#define HAVE_GETPAGESIZE 1" >>confdefs.h
11880
11881fi
11882
11883
11884fi
11885
11886
11887# Check for broken snprintf
11888if test "x$ac_cv_func_snprintf" = "xyes" ; then
11889 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf correctly terminates long strings" >&5
11890$as_echo_n "checking whether snprintf correctly terminates long strings... " >&6; }
11891 if test "$cross_compiling" = yes; then :
11892 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
11893$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
11894
11895else
11896 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11897/* end confdefs.h. */
11898 #include <stdio.h>
11899int
11900main ()
11901{
11902
11903 char b[5];
11904 snprintf(b,5,"123456789");
11905 exit(b[4]!='\0');
11906
11907 ;
11908 return 0;
11909}
11910_ACEOF
11911if ac_fn_c_try_run "$LINENO"; then :
11912 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11913$as_echo "yes" >&6; }
11914else
11915
11916 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11917$as_echo "no" >&6; }
11918
11919$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
11920
11921 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&5
11922$as_echo "$as_me: WARNING: ****** Your snprintf() function is broken, complain to your vendor" >&2;}
11923
11924fi
11925rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11926 conftest.$ac_objext conftest.beam conftest.$ac_ext
11927fi
11928
11929fi
11930
11931if test "x$ac_cv_func_snprintf" = "xyes" ; then
11932 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf understands %zu" >&5
11933$as_echo_n "checking whether snprintf understands %zu... " >&6; }
11934 if test "$cross_compiling" = yes; then :
11935 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
11936$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
11937
11938else
11939 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11940/* end confdefs.h. */
11941
11942#include <sys/types.h>
11943#include <stdio.h>
11944
11945int
11946main ()
11947{
11948
11949 size_t a = 1, b = 2;
11950 char z[128];
11951 snprintf(z, sizeof z, "%zu%zu", a, b);
11952 exit(strcmp(z, "12"));
11953
11954 ;
11955 return 0;
11956}
11957_ACEOF
11958if ac_fn_c_try_run "$LINENO"; then :
11959 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11960$as_echo "yes" >&6; }
11961else
11962
11963 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11964$as_echo "no" >&6; }
11965
11966$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
11967
11968
11969fi
11970rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
11971 conftest.$ac_objext conftest.beam conftest.$ac_ext
11972fi
11973
11974fi
11975
11976# We depend on vsnprintf returning the right thing on overflow: the
11977# number of characters it tried to create (as per SUSv3)
11978if test "x$ac_cv_func_vsnprintf" = "xyes" ; then
11979 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether vsnprintf returns correct values on overflow" >&5
11980$as_echo_n "checking whether vsnprintf returns correct values on overflow... " >&6; }
11981 if test "$cross_compiling" = yes; then :
11982 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working vsnprintf()" >&5
11983$as_echo "$as_me: WARNING: cross compiling: Assuming working vsnprintf()" >&2;}
11984
11985else
11986 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11987/* end confdefs.h. */
11988
11989#include <sys/types.h>
11990#include <stdio.h>
11991#include <stdarg.h>
11992
11993int x_snprintf(char *str, size_t count, const char *fmt, ...)
11994{
11995 size_t ret;
11996 va_list ap;
11997
11998 va_start(ap, fmt);
11999 ret = vsnprintf(str, count, fmt, ap);
12000 va_end(ap);
12001 return ret;
12002}
12003
12004int
12005main ()
12006{
12007
12008char x[1];
12009if (x_snprintf(x, 1, "%s %d", "hello", 12345) != 11)
12010 return 1;
12011if (x_snprintf(NULL, 0, "%s %d", "hello", 12345) != 11)
12012 return 1;
12013return 0;
12014
12015 ;
12016 return 0;
12017}
12018_ACEOF
12019if ac_fn_c_try_run "$LINENO"; then :
12020 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12021$as_echo "yes" >&6; }
12022else
12023
12024 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12025$as_echo "no" >&6; }
12026
12027$as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
12028
12029 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&5
12030$as_echo "$as_me: WARNING: ****** Your vsnprintf() function is broken, complain to your vendor" >&2;}
12031
12032fi
12033rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12034 conftest.$ac_objext conftest.beam conftest.$ac_ext
12035fi
12036
12037fi
12038
12039# On systems where [v]snprintf is broken, but is declared in stdio,
12040# check that the fmt argument is const char * or just char *.
12041# This is only useful for when BROKEN_SNPRINTF
12042{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether snprintf can declare const char *fmt" >&5
12043$as_echo_n "checking whether snprintf can declare const char *fmt... " >&6; }
12044cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12045/* end confdefs.h. */
12046
12047#include <stdio.h>
12048int snprintf(char *a, size_t b, const char *c, ...) { return 0; }
12049
12050int
12051main ()
12052{
12053
12054 snprintf(0, 0, 0);
12055
12056 ;
12057 return 0;
12058}
12059_ACEOF
12060if ac_fn_c_try_compile "$LINENO"; then :
12061 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12062$as_echo "yes" >&6; }
12063
12064$as_echo "#define SNPRINTF_CONST const" >>confdefs.h
12065
12066else
12067 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12068$as_echo "no" >&6; }
12069 $as_echo "#define SNPRINTF_CONST /* not const */" >>confdefs.h
12070
12071fi
12072rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12073
12074# Check for missing getpeereid (or equiv) support
12075NO_PEERCHECK=""
12076if test "x$ac_cv_func_getpeereid" != "xyes" -a "x$ac_cv_func_getpeerucred" != "xyes"; then
12077 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system supports SO_PEERCRED getsockopt" >&5
12078$as_echo_n "checking whether system supports SO_PEERCRED getsockopt... " >&6; }
12079 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12080/* end confdefs.h. */
12081
12082#include <sys/types.h>
12083#include <sys/socket.h>
12084int
12085main ()
12086{
12087int i = SO_PEERCRED;
12088 ;
12089 return 0;
12090}
12091_ACEOF
12092if ac_fn_c_try_compile "$LINENO"; then :
12093 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12094$as_echo "yes" >&6; }
12095
12096$as_echo "#define HAVE_SO_PEERCRED 1" >>confdefs.h
12097
12098
12099else
12100 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12101$as_echo "no" >&6; }
12102 NO_PEERCHECK=1
12103
12104fi
12105rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12106fi
12107
12108if test "x$ac_cv_func_mkdtemp" = "xyes" ; then
12109{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for (overly) strict mkstemp" >&5
12110$as_echo_n "checking for (overly) strict mkstemp... " >&6; }
12111if test "$cross_compiling" = yes; then :
12112
12113 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12114$as_echo "yes" >&6; }
12115 $as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h
12116
12117
12118
12119else
12120 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12121/* end confdefs.h. */
12122
12123#include <stdlib.h>
12124
12125int
12126main ()
12127{
12128
12129 char template[]="conftest.mkstemp-test";
12130 if (mkstemp(template) == -1)
12131 exit(1);
12132 unlink(template);
12133 exit(0);
12134
12135 ;
12136 return 0;
12137}
12138_ACEOF
12139if ac_fn_c_try_run "$LINENO"; then :
12140
12141 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12142$as_echo "no" >&6; }
12143
12144else
12145
12146 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12147$as_echo "yes" >&6; }
12148
12149$as_echo "#define HAVE_STRICT_MKSTEMP 1" >>confdefs.h
12150
12151
12152fi
12153rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12154 conftest.$ac_objext conftest.beam conftest.$ac_ext
12155fi
12156
12157fi
12158
12159if test ! -z "$check_for_openpty_ctty_bug"; then
12160 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if openpty correctly handles controlling tty" >&5
12161$as_echo_n "checking if openpty correctly handles controlling tty... " >&6; }
12162 if test "$cross_compiling" = yes; then :
12163
12164 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5
12165$as_echo "cross-compiling, assuming yes" >&6; }
12166
12167
12168else
12169 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12170/* end confdefs.h. */
12171
12172#include <stdio.h>
12173#include <sys/fcntl.h>
12174#include <sys/types.h>
12175#include <sys/wait.h>
12176
12177int
12178main ()
12179{
12180
12181 pid_t pid;
12182 int fd, ptyfd, ttyfd, status;
12183
12184 pid = fork();
12185 if (pid < 0) { /* failed */
12186 exit(1);
12187 } else if (pid > 0) { /* parent */
12188 waitpid(pid, &status, 0);
12189 if (WIFEXITED(status))
12190 exit(WEXITSTATUS(status));
12191 else
12192 exit(2);
12193 } else { /* child */
12194 close(0); close(1); close(2);
12195 setsid();
12196 openpty(&ptyfd, &ttyfd, NULL, NULL, NULL);
12197 fd = open("/dev/tty", O_RDWR | O_NOCTTY);
12198 if (fd >= 0)
12199 exit(3); /* Acquired ctty: broken */
12200 else
12201 exit(0); /* Did not acquire ctty: OK */
12202 }
12203
12204 ;
12205 return 0;
12206}
12207_ACEOF
12208if ac_fn_c_try_run "$LINENO"; then :
12209
12210 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12211$as_echo "yes" >&6; }
12212
12213else
12214
12215 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12216$as_echo "no" >&6; }
12217 $as_echo "#define SSHD_ACQUIRES_CTTY 1" >>confdefs.h
12218
12219
12220fi
12221rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12222 conftest.$ac_objext conftest.beam conftest.$ac_ext
12223fi
12224
12225fi
12226
12227if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
12228 test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then
12229 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5
12230$as_echo_n "checking if getaddrinfo seems to work... " >&6; }
12231 if test "$cross_compiling" = yes; then :
12232
12233 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming yes" >&5
12234$as_echo "cross-compiling, assuming yes" >&6; }
12235
12236
12237else
12238 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12239/* end confdefs.h. */
12240
12241#include <stdio.h>
12242#include <sys/socket.h>
12243#include <netdb.h>
12244#include <errno.h>
12245#include <netinet/in.h>
12246
12247#define TEST_PORT "2222"
12248
12249int
12250main ()
12251{
12252
12253 int err, sock;
12254 struct addrinfo *gai_ai, *ai, hints;
12255 char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL;
12256
12257 memset(&hints, 0, sizeof(hints));
12258 hints.ai_family = PF_UNSPEC;
12259 hints.ai_socktype = SOCK_STREAM;
12260 hints.ai_flags = AI_PASSIVE;
12261
12262 err = getaddrinfo(name, TEST_PORT, &hints, &gai_ai);
12263 if (err != 0) {
12264 fprintf(stderr, "getaddrinfo failed (%s)", gai_strerror(err));
12265 exit(1);
12266 }
12267
12268 for (ai = gai_ai; ai != NULL; ai = ai->ai_next) {
12269 if (ai->ai_family != AF_INET6)
12270 continue;
12271
12272 err = getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop,
12273 sizeof(ntop), strport, sizeof(strport),
12274 NI_NUMERICHOST|NI_NUMERICSERV);
12275
12276 if (err != 0) {
12277 if (err == EAI_SYSTEM)
12278 perror("getnameinfo EAI_SYSTEM");
12279 else
12280 fprintf(stderr, "getnameinfo failed: %s\n",
12281 gai_strerror(err));
12282 exit(2);
12283 }
12284
12285 sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
12286 if (sock < 0)
12287 perror("socket");
12288 if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) {
12289 if (errno == EBADF)
12290 exit(3);
12291 }
12292 }
12293 exit(0);
12294
12295 ;
12296 return 0;
12297}
12298_ACEOF
12299if ac_fn_c_try_run "$LINENO"; then :
12300
12301 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12302$as_echo "yes" >&6; }
12303
12304else
12305
12306 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12307$as_echo "no" >&6; }
12308 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
12309
12310
12311fi
12312rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12313 conftest.$ac_objext conftest.beam conftest.$ac_ext
12314fi
12315
12316fi
12317
12318if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
12319 test "x$check_for_aix_broken_getaddrinfo" = "x1"; then
12320 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo seems to work" >&5
12321$as_echo_n "checking if getaddrinfo seems to work... " >&6; }
12322 if test "$cross_compiling" = yes; then :
12323
12324 { $as_echo "$as_me:${as_lineno-$LINENO}: result: cross-compiling, assuming no" >&5
12325$as_echo "cross-compiling, assuming no" >&6; }
12326
12327
12328else
12329 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12330/* end confdefs.h. */
12331
12332#include <stdio.h>
12333#include <sys/socket.h>
12334#include <netdb.h>
12335#include <errno.h>
12336#include <netinet/in.h>
12337
12338#define TEST_PORT "2222"
12339
12340int
12341main ()
12342{
12343
12344 int err, sock;
12345 struct addrinfo *gai_ai, *ai, hints;
12346 char ntop[NI_MAXHOST], strport[NI_MAXSERV], *name = NULL;
12347
12348 memset(&hints, 0, sizeof(hints));
12349 hints.ai_family = PF_UNSPEC;
12350 hints.ai_socktype = SOCK_STREAM;
12351 hints.ai_flags = AI_PASSIVE;
12352
12353 err = getaddrinfo(name, TEST_PORT, &hints, &gai_ai);
12354 if (err != 0) {
12355 fprintf(stderr, "getaddrinfo failed (%s)", gai_strerror(err));
12356 exit(1);
12357 }
12358
12359 for (ai = gai_ai; ai != NULL; ai = ai->ai_next) {
12360 if (ai->ai_family != AF_INET && ai->ai_family != AF_INET6)
12361 continue;
12362
12363 err = getnameinfo(ai->ai_addr, ai->ai_addrlen, ntop,
12364 sizeof(ntop), strport, sizeof(strport),
12365 NI_NUMERICHOST|NI_NUMERICSERV);
12366
12367 if (ai->ai_family == AF_INET && err != 0) {
12368 perror("getnameinfo");
12369 exit(2);
12370 }
12371 }
12372 exit(0);
12373
12374 ;
12375 return 0;
12376}
12377_ACEOF
12378if ac_fn_c_try_run "$LINENO"; then :
12379
12380 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12381$as_echo "yes" >&6; }
12382
12383$as_echo "#define AIX_GETNAMEINFO_HACK 1" >>confdefs.h
12384
12385
12386else
12387
12388 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12389$as_echo "no" >&6; }
12390 $as_echo "#define BROKEN_GETADDRINFO 1" >>confdefs.h
12391
12392
12393fi
12394rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12395 conftest.$ac_objext conftest.beam conftest.$ac_ext
12396fi
12397
12398fi
12399
12400if test "x$ac_cv_func_getaddrinfo" = "xyes"; then
12401 ac_fn_c_check_decl "$LINENO" "AI_NUMERICSERV" "ac_cv_have_decl_AI_NUMERICSERV" "#include <sys/types.h>
12402 #include <sys/socket.h>
12403 #include <netdb.h>
12404"
12405if test "x$ac_cv_have_decl_AI_NUMERICSERV" = xyes; then :
12406 ac_have_decl=1
12407else
12408 ac_have_decl=0
12409fi
12410
12411cat >>confdefs.h <<_ACEOF
12412#define HAVE_DECL_AI_NUMERICSERV $ac_have_decl
12413_ACEOF
12414
12415fi
12416
12417if test "x$check_for_conflicting_getspnam" = "x1"; then
12418 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for conflicting getspnam in shadow.h" >&5
12419$as_echo_n "checking for conflicting getspnam in shadow.h... " >&6; }
12420 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12421/* end confdefs.h. */
12422 #include <shadow.h>
12423int
12424main ()
12425{
12426 exit(0);
12427 ;
12428 return 0;
12429}
12430_ACEOF
12431if ac_fn_c_try_compile "$LINENO"; then :
12432
12433 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12434$as_echo "no" >&6; }
12435
12436else
12437
12438 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12439$as_echo "yes" >&6; }
12440
12441$as_echo "#define GETSPNAM_CONFLICTING_DEFS 1" >>confdefs.h
12442
12443
12444
12445fi
12446rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12447fi
12448
12449if test "x$ac_cv_func_strnvis" = "xyes"; then
12450 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strnvis" >&5
12451$as_echo_n "checking for working strnvis... " >&6; }
12452 if test "$cross_compiling" = yes; then :
12453 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming broken" >&5
12454$as_echo "$as_me: WARNING: cross compiling: assuming broken" >&2;}
12455
12456$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
12457
12458
12459else
12460 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12461/* end confdefs.h. */
12462
12463#include <signal.h>
12464#include <stdlib.h>
12465#include <string.h>
12466#include <vis.h>
12467static void sighandler(int sig) { _exit(1); }
12468
12469int
12470main ()
12471{
12472
12473 char dst[16];
12474
12475 signal(SIGSEGV, sighandler);
12476 if (strnvis(dst, "src", 4, 0) && strcmp(dst, "src") == 0)
12477 exit(0);
12478 exit(1)
12479
12480 ;
12481 return 0;
12482}
12483_ACEOF
12484if ac_fn_c_try_run "$LINENO"; then :
12485 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12486$as_echo "yes" >&6; }
12487else
12488 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12489$as_echo "no" >&6; }
12490
12491$as_echo "#define BROKEN_STRNVIS 1" >>confdefs.h
12492
12493fi
12494rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12495 conftest.$ac_objext conftest.beam conftest.$ac_ext
12496fi
12497
12498fi
12499
12500for ac_func in getpgrp
12501do :
12502 ac_fn_c_check_func "$LINENO" "getpgrp" "ac_cv_func_getpgrp"
12503if test "x$ac_cv_func_getpgrp" = xyes; then :
12504 cat >>confdefs.h <<_ACEOF
12505#define HAVE_GETPGRP 1
12506_ACEOF
12507
12508 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getpgrp accepts zero args" >&5
12509$as_echo_n "checking if getpgrp accepts zero args... " >&6; }
12510 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12511/* end confdefs.h. */
12512$ac_includes_default
12513int
12514main ()
12515{
12516 getpgrp();
12517 ;
12518 return 0;
12519}
12520_ACEOF
12521if ac_fn_c_try_compile "$LINENO"; then :
12522 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12523$as_echo "yes" >&6; }
12524
12525$as_echo "#define GETPGRP_VOID 1" >>confdefs.h
12526
12527else
12528 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12529$as_echo "no" >&6; }
12530
12531$as_echo "#define GETPGRP_VOID 0" >>confdefs.h
12532
12533
12534fi
12535rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
12536
12537fi
12538done
12539
12540
12541# Search for OpenSSL
12542saved_CPPFLAGS="$CPPFLAGS"
12543saved_LDFLAGS="$LDFLAGS"
12544
12545# Check whether --with-ssl-dir was given.
12546if test "${with_ssl_dir+set}" = set; then :
12547 withval=$with_ssl_dir;
12548 if test "x$openssl" = "xno" ; then
12549 as_fn_error $? "cannot use --with-ssl-dir when OpenSSL disabled" "$LINENO" 5
12550 fi
12551 if test "x$withval" != "xno" ; then
12552 case "$withval" in
12553 # Relative paths
12554 ./*|../*) withval="`pwd`/$withval"
12555 esac
12556 if test -d "$withval/lib"; then
12557 if test -n "${rpath_opt}"; then
12558 LDFLAGS="-L${withval}/lib ${rpath_opt}${withval}/lib ${LDFLAGS}"
12559 else
12560 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
12561 fi
12562 elif test -d "$withval/lib64"; then
12563 if test -n "${rpath_opt}"; then
12564 LDFLAGS="-L${withval}/lib64 ${rpath_opt}${withval}/lib64 ${LDFLAGS}"
12565 else
12566 LDFLAGS="-L${withval}/lib64 ${LDFLAGS}"
12567 fi
12568 else
12569 if test -n "${rpath_opt}"; then
12570 LDFLAGS="-L${withval} ${rpath_opt}${withval} ${LDFLAGS}"
12571 else
12572 LDFLAGS="-L${withval} ${LDFLAGS}"
12573 fi
12574 fi
12575 if test -d "$withval/include"; then
12576 CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
12577 else
12578 CPPFLAGS="-I${withval} ${CPPFLAGS}"
12579 fi
12580 fi
12581
12582
12583fi
12584
12585
12586
12587# Check whether --with-openssl-header-check was given.
12588if test "${with_openssl_header_check+set}" = set; then :
12589 withval=$with_openssl_header_check;
12590 if test "x$withval" = "xno" ; then
12591 openssl_check_nonfatal=1
12592 fi
12593
12594
12595fi
12596
12597
12598openssl_engine=no
12599
12600# Check whether --with-ssl-engine was given.
12601if test "${with_ssl_engine+set}" = set; then :
12602 withval=$with_ssl_engine;
12603 if test "x$withval" != "xno" ; then
12604 if test "x$openssl" = "xno" ; then
12605 as_fn_error $? "cannot use --with-ssl-engine when OpenSSL disabled" "$LINENO" 5
12606 fi
12607 openssl_engine=yes
12608 fi
12609
12610
12611fi
12612
12613
12614if test "x$openssl" = "xyes" ; then
12615 LIBS="-lcrypto $LIBS"
12616 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12617/* end confdefs.h. */
12618
12619/* Override any GCC internal prototype to avoid an error.
12620 Use char because int might match the return type of a GCC
12621 builtin and then its argument prototype would still apply. */
12622#ifdef __cplusplus
12623extern "C"
12624#endif
12625char RAND_add ();
12626int
12627main ()
12628{
12629return RAND_add ();
12630 ;
12631 return 0;
12632}
12633_ACEOF
12634if ac_fn_c_try_link "$LINENO"; then :
12635
12636else
12637 as_fn_error $? "*** working libcrypto not found, check config.log" "$LINENO" 5
12638fi
12639rm -f core conftest.err conftest.$ac_objext \
12640 conftest$ac_exeext conftest.$ac_ext
12641 ac_fn_c_check_header_mongrel "$LINENO" "openssl/opensslv.h" "ac_cv_header_openssl_opensslv_h" "$ac_includes_default"
12642if test "x$ac_cv_header_openssl_opensslv_h" = xyes; then :
12643
12644else
12645 as_fn_error $? "*** OpenSSL headers missing - please install first or check config.log ***" "$LINENO" 5
12646fi
12647
12648
12649
12650 # Determine OpenSSL header version
12651 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL header version" >&5
12652$as_echo_n "checking OpenSSL header version... " >&6; }
12653 if test "$cross_compiling" = yes; then :
12654
12655 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
12656$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
12657
12658
12659else
12660 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12661/* end confdefs.h. */
12662
12663 #include <stdlib.h>
12664 #include <stdio.h>
12665 #include <string.h>
12666 #include <openssl/opensslv.h>
12667 #define DATA "conftest.sslincver"
12668
12669int
12670main ()
12671{
12672
12673 FILE *fd;
12674 int rc;
12675
12676 fd = fopen(DATA,"w");
12677 if(fd == NULL)
12678 exit(1);
12679
12680 if ((rc = fprintf(fd, "%08lx (%s)\n",
12681 (unsigned long)OPENSSL_VERSION_NUMBER,
12682 OPENSSL_VERSION_TEXT)) < 0)
12683 exit(1);
12684
12685 exit(0);
12686
12687 ;
12688 return 0;
12689}
12690_ACEOF
12691if ac_fn_c_try_run "$LINENO"; then :
12692
12693 ssl_header_ver=`cat conftest.sslincver`
12694 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_header_ver" >&5
12695$as_echo "$ssl_header_ver" >&6; }
12696
12697else
12698
12699 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
12700$as_echo "not found" >&6; }
12701 as_fn_error $? "OpenSSL version header not found." "$LINENO" 5
12702
12703fi
12704rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12705 conftest.$ac_objext conftest.beam conftest.$ac_ext
12706fi
12707
12708
12709 # Determining OpenSSL library version is version dependent.
12710 for ac_func in OpenSSL_version OpenSSL_version_num
12711do :
12712 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12713ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12714if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12715 cat >>confdefs.h <<_ACEOF
12716#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12717_ACEOF
12718
12719fi
12720done
12721
12722
12723 # Determine OpenSSL library version
12724 { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL library version" >&5
12725$as_echo_n "checking OpenSSL library version... " >&6; }
12726 if test "$cross_compiling" = yes; then :
12727
12728 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
12729$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
12730
12731
12732else
12733 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12734/* end confdefs.h. */
12735
12736 #include <stdio.h>
12737 #include <string.h>
12738 #include <openssl/opensslv.h>
12739 #include <openssl/crypto.h>
12740 #define DATA "conftest.ssllibver"
12741
12742int
12743main ()
12744{
12745
12746 FILE *fd;
12747 int rc;
12748
12749 fd = fopen(DATA,"w");
12750 if(fd == NULL)
12751 exit(1);
12752#ifndef OPENSSL_VERSION
12753# define OPENSSL_VERSION SSLEAY_VERSION
12754#endif
12755#ifndef HAVE_OPENSSL_VERSION
12756# define OpenSSL_version SSLeay_version
12757#endif
12758#ifndef HAVE_OPENSSL_VERSION_NUM
12759# define OpenSSL_version_num SSLeay
12760#endif
12761 if ((rc = fprintf(fd, "%08lx (%s)\n",
12762 (unsigned long)OpenSSL_version_num(),
12763 OpenSSL_version(OPENSSL_VERSION))) < 0)
12764 exit(1);
12765
12766 exit(0);
12767
12768 ;
12769 return 0;
12770}
12771_ACEOF
12772if ac_fn_c_try_run "$LINENO"; then :
12773
12774 ssl_library_ver=`cat conftest.ssllibver`
12775 # Check version is supported.
12776 case "$ssl_library_ver" in
12777 10000*|0*)
12778 as_fn_error $? "OpenSSL >= 1.0.1 required (have \"$ssl_library_ver\")" "$LINENO" 5
12779 ;;
12780 100*) ;; # 1.0.x
12781 101000[0123456]*)
12782 # https://github.com/openssl/openssl/pull/4613
12783 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
12784 ;;
12785 101*) ;; # 1.1.x
12786 200*) ;; # LibreSSL
12787 300*) ;; # OpenSSL development branch.
12788 *)
12789 as_fn_error $? "Unknown/unsupported OpenSSL version (\"$ssl_library_ver\")" "$LINENO" 5
12790 ;;
12791 esac
12792 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_library_ver" >&5
12793$as_echo "$ssl_library_ver" >&6; }
12794
12795else
12796
12797 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
12798$as_echo "not found" >&6; }
12799 as_fn_error $? "OpenSSL library not found." "$LINENO" 5
12800
12801fi
12802rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12803 conftest.$ac_objext conftest.beam conftest.$ac_ext
12804fi
12805
12806
12807 # Sanity check OpenSSL headers
12808 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's headers match the library" >&5
12809$as_echo_n "checking whether OpenSSL's headers match the library... " >&6; }
12810 if test "$cross_compiling" = yes; then :
12811
12812 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
12813$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
12814
12815
12816else
12817 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12818/* end confdefs.h. */
12819
12820 #include <string.h>
12821 #include <openssl/opensslv.h>
12822 #include <openssl/crypto.h>
12823
12824int
12825main ()
12826{
12827
12828#ifndef HAVE_OPENSSL_VERSION_NUM
12829# define OpenSSL_version_num SSLeay
12830#endif
12831 exit(OpenSSL_version_num() == OPENSSL_VERSION_NUMBER ? 0 : 1);
12832
12833 ;
12834 return 0;
12835}
12836_ACEOF
12837if ac_fn_c_try_run "$LINENO"; then :
12838
12839 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12840$as_echo "yes" >&6; }
12841
12842else
12843
12844 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12845$as_echo "no" >&6; }
12846 if test "x$openssl_check_nonfatal" = "x"; then
12847 as_fn_error $? "Your OpenSSL headers do not match your
12848 library. Check config.log for details.
12849 If you are sure your installation is consistent, you can disable the check
12850 by running \"./configure --without-openssl-header-check\".
12851 Also see contrib/findssl.sh for help identifying header/library mismatches.
12852 " "$LINENO" 5
12853 else
12854 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your OpenSSL headers do not match your
12855 library. Check config.log for details.
12856 Also see contrib/findssl.sh for help identifying header/library mismatches." >&5
12857$as_echo "$as_me: WARNING: Your OpenSSL headers do not match your
12858 library. Check config.log for details.
12859 Also see contrib/findssl.sh for help identifying header/library mismatches." >&2;}
12860 fi
12861
12862fi
12863rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
12864 conftest.$ac_objext conftest.beam conftest.$ac_ext
12865fi
12866
12867
12868 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL functions will link" >&5
12869$as_echo_n "checking if programs using OpenSSL functions will link... " >&6; }
12870 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12871/* end confdefs.h. */
12872 #include <openssl/err.h>
12873int
12874main ()
12875{
12876 ERR_load_crypto_strings();
12877 ;
12878 return 0;
12879}
12880_ACEOF
12881if ac_fn_c_try_link "$LINENO"; then :
12882
12883 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12884$as_echo "yes" >&6; }
12885
12886else
12887
12888 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12889$as_echo "no" >&6; }
12890 saved_LIBS="$LIBS"
12891 LIBS="$LIBS -ldl"
12892 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if programs using OpenSSL need -ldl" >&5
12893$as_echo_n "checking if programs using OpenSSL need -ldl... " >&6; }
12894 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12895/* end confdefs.h. */
12896 #include <openssl/err.h>
12897int
12898main ()
12899{
12900 ERR_load_crypto_strings();
12901 ;
12902 return 0;
12903}
12904_ACEOF
12905if ac_fn_c_try_link "$LINENO"; then :
12906
12907 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
12908$as_echo "yes" >&6; }
12909
12910else
12911
12912 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
12913$as_echo "no" >&6; }
12914 LIBS="$saved_LIBS"
12915
12916
12917fi
12918rm -f core conftest.err conftest.$ac_objext \
12919 conftest$ac_exeext conftest.$ac_ext
12920
12921
12922fi
12923rm -f core conftest.err conftest.$ac_objext \
12924 conftest$ac_exeext conftest.$ac_ext
12925
12926 for ac_func in \
12927 BN_is_prime_ex \
12928 DSA_generate_parameters_ex \
12929 EVP_CIPHER_CTX_ctrl \
12930 EVP_DigestFinal_ex \
12931 EVP_DigestInit_ex \
12932 EVP_MD_CTX_cleanup \
12933 EVP_MD_CTX_copy_ex \
12934 EVP_MD_CTX_init \
12935 HMAC_CTX_init \
12936 RSA_generate_key_ex \
12937 RSA_get_default_method \
12938
12939do :
12940 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12941ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12942if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
12943 cat >>confdefs.h <<_ACEOF
12944#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12945_ACEOF
12946
12947fi
12948done
12949
12950
12951 # OpenSSL_add_all_algorithms may be a macro.
12952 ac_fn_c_check_func "$LINENO" "OpenSSL_add_all_algorithms" "ac_cv_func_OpenSSL_add_all_algorithms"
12953if test "x$ac_cv_func_OpenSSL_add_all_algorithms" = xyes; then :
12954
12955$as_echo "#define HAVE_OPENSSL_ADD_ALL_ALGORITHMS 1" >>confdefs.h
12956
12957else
12958 ac_fn_c_check_decl "$LINENO" "OpenSSL_add_all_algorithms" "ac_cv_have_decl_OpenSSL_add_all_algorithms" "#include <openssl/evp.h>
12959
12960"
12961if test "x$ac_cv_have_decl_OpenSSL_add_all_algorithms" = xyes; then :
12962
12963$as_echo "#define HAVE_OPENSSL_ADD_ALL_ALGORITHMS 1" >>confdefs.h
12964
12965fi
12966
12967
12968fi
12969
12970
12971 # LibreSSL/OpenSSL 1.1x API
12972 for ac_func in \
12973 OPENSSL_init_crypto \
12974 DH_get0_key \
12975 DH_get0_pqg \
12976 DH_set0_key \
12977 DH_set_length \
12978 DH_set0_pqg \
12979 DSA_get0_key \
12980 DSA_get0_pqg \
12981 DSA_set0_key \
12982 DSA_set0_pqg \
12983 DSA_SIG_get0 \
12984 DSA_SIG_set0 \
12985 ECDSA_SIG_get0 \
12986 ECDSA_SIG_set0 \
12987 EVP_CIPHER_CTX_iv \
12988 EVP_CIPHER_CTX_iv_noconst \
12989 EVP_CIPHER_CTX_get_iv \
12990 EVP_CIPHER_CTX_set_iv \
12991 RSA_get0_crt_params \
12992 RSA_get0_factors \
12993 RSA_get0_key \
12994 RSA_set0_crt_params \
12995 RSA_set0_factors \
12996 RSA_set0_key \
12997 RSA_meth_free \
12998 RSA_meth_dup \
12999 RSA_meth_set1_name \
13000 RSA_meth_get_finish \
13001 RSA_meth_set_priv_enc \
13002 RSA_meth_set_priv_dec \
13003 RSA_meth_set_finish \
13004 EVP_PKEY_get0_RSA \
13005 EVP_MD_CTX_new \
13006 EVP_MD_CTX_free \
13007
13008do :
13009 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13010ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13011if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13012 cat >>confdefs.h <<_ACEOF
13013#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13014_ACEOF
13015
13016fi
13017done
13018
13019
13020 if test "x$openssl_engine" = "xyes" ; then
13021 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL ENGINE support" >&5
13022$as_echo_n "checking for OpenSSL ENGINE support... " >&6; }
13023 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13024/* end confdefs.h. */
13025
13026 #include <openssl/engine.h>
13027
13028int
13029main ()
13030{
13031
13032 ENGINE_load_builtin_engines();
13033 ENGINE_register_all_complete();
13034
13035 ;
13036 return 0;
13037}
13038_ACEOF
13039if ac_fn_c_try_compile "$LINENO"; then :
13040 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13041$as_echo "yes" >&6; }
13042
13043$as_echo "#define USE_OPENSSL_ENGINE 1" >>confdefs.h
13044
13045
13046else
13047 as_fn_error $? "OpenSSL ENGINE support not found" "$LINENO" 5
13048
13049fi
13050rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
13051 fi
13052
13053 # Check for OpenSSL without EVP_aes_{192,256}_cbc
13054 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has crippled AES support" >&5
13055$as_echo_n "checking whether OpenSSL has crippled AES support... " >&6; }
13056 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13057/* end confdefs.h. */
13058
13059 #include <string.h>
13060 #include <openssl/evp.h>
13061
13062int
13063main ()
13064{
13065
13066 exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL);
13067
13068 ;
13069 return 0;
13070}
13071_ACEOF
13072if ac_fn_c_try_link "$LINENO"; then :
13073
13074 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13075$as_echo "no" >&6; }
13076
13077else
13078
13079 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13080$as_echo "yes" >&6; }
13081
13082$as_echo "#define OPENSSL_LOBOTOMISED_AES 1" >>confdefs.h
13083
13084
13085
13086fi
13087rm -f core conftest.err conftest.$ac_objext \
13088 conftest$ac_exeext conftest.$ac_ext
13089
13090 # Check for OpenSSL with EVP_aes_*ctr
13091 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES CTR via EVP" >&5
13092$as_echo_n "checking whether OpenSSL has AES CTR via EVP... " >&6; }
13093 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13094/* end confdefs.h. */
13095
13096 #include <string.h>
13097 #include <openssl/evp.h>
13098
13099int
13100main ()
13101{
13102
13103 exit(EVP_aes_128_ctr() == NULL ||
13104 EVP_aes_192_cbc() == NULL ||
13105 EVP_aes_256_cbc() == NULL);
13106
13107 ;
13108 return 0;
13109}
13110_ACEOF
13111if ac_fn_c_try_link "$LINENO"; then :
13112
13113 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13114$as_echo "yes" >&6; }
13115
13116$as_echo "#define OPENSSL_HAVE_EVPCTR 1" >>confdefs.h
13117
13118
13119else
13120
13121 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13122$as_echo "no" >&6; }
13123
13124
13125fi
13126rm -f core conftest.err conftest.$ac_objext \
13127 conftest$ac_exeext conftest.$ac_ext
13128
13129 # Check for OpenSSL with EVP_aes_*gcm
13130 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has AES GCM via EVP" >&5
13131$as_echo_n "checking whether OpenSSL has AES GCM via EVP... " >&6; }
13132 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13133/* end confdefs.h. */
13134
13135 #include <string.h>
13136 #include <openssl/evp.h>
13137
13138int
13139main ()
13140{
13141
13142 exit(EVP_aes_128_gcm() == NULL ||
13143 EVP_aes_256_gcm() == NULL ||
13144 EVP_CTRL_GCM_SET_IV_FIXED == 0 ||
13145 EVP_CTRL_GCM_IV_GEN == 0 ||
13146 EVP_CTRL_GCM_SET_TAG == 0 ||
13147 EVP_CTRL_GCM_GET_TAG == 0 ||
13148 EVP_CIPHER_CTX_ctrl(NULL, 0, 0, NULL) == 0);
13149
13150 ;
13151 return 0;
13152}
13153_ACEOF
13154if ac_fn_c_try_link "$LINENO"; then :
13155
13156 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13157$as_echo "yes" >&6; }
13158
13159$as_echo "#define OPENSSL_HAVE_EVPGCM 1" >>confdefs.h
13160
13161
13162else
13163
13164 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13165$as_echo "no" >&6; }
13166 unsupported_algorithms="$unsupported_cipers \
13167 aes128-gcm@openssh.com \
13168 aes256-gcm@openssh.com"
13169
13170
13171fi
13172rm -f core conftest.err conftest.$ac_objext \
13173 conftest$ac_exeext conftest.$ac_ext
13174
13175 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if EVP_DigestUpdate returns an int" >&5
13176$as_echo_n "checking if EVP_DigestUpdate returns an int... " >&6; }
13177 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13178/* end confdefs.h. */
13179
13180 #include <string.h>
13181 #include <openssl/evp.h>
13182
13183int
13184main ()
13185{
13186
13187 if(EVP_DigestUpdate(NULL, NULL,0))
13188 exit(0);
13189
13190 ;
13191 return 0;
13192}
13193_ACEOF
13194if ac_fn_c_try_link "$LINENO"; then :
13195
13196 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13197$as_echo "yes" >&6; }
13198
13199else
13200
13201 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13202$as_echo "no" >&6; }
13203
13204$as_echo "#define OPENSSL_EVP_DIGESTUPDATE_VOID 1" >>confdefs.h
13205
13206
13207
13208fi
13209rm -f core conftest.err conftest.$ac_objext \
13210 conftest$ac_exeext conftest.$ac_ext
13211
13212 # Some systems want crypt() from libcrypt, *not* the version in OpenSSL,
13213 # because the system crypt() is more featureful.
13214 if test "x$check_for_libcrypt_before" = "x1"; then
13215 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13216$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13217if ${ac_cv_lib_crypt_crypt+:} false; then :
13218 $as_echo_n "(cached) " >&6
13219else
13220 ac_check_lib_save_LIBS=$LIBS
13221LIBS="-lcrypt $LIBS"
13222cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13223/* end confdefs.h. */
13224
13225/* Override any GCC internal prototype to avoid an error.
13226 Use char because int might match the return type of a GCC
13227 builtin and then its argument prototype would still apply. */
13228#ifdef __cplusplus
13229extern "C"
13230#endif
13231char crypt ();
13232int
13233main ()
13234{
13235return crypt ();
13236 ;
13237 return 0;
13238}
13239_ACEOF
13240if ac_fn_c_try_link "$LINENO"; then :
13241 ac_cv_lib_crypt_crypt=yes
13242else
13243 ac_cv_lib_crypt_crypt=no
13244fi
13245rm -f core conftest.err conftest.$ac_objext \
13246 conftest$ac_exeext conftest.$ac_ext
13247LIBS=$ac_check_lib_save_LIBS
13248fi
13249{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13250$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13251if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13252 cat >>confdefs.h <<_ACEOF
13253#define HAVE_LIBCRYPT 1
13254_ACEOF
13255
13256 LIBS="-lcrypt $LIBS"
13257
13258fi
13259
13260 fi
13261
13262 # Some Linux systems (Slackware) need crypt() from libcrypt, *not* the
13263 # version in OpenSSL.
13264 if test "x$check_for_libcrypt_later" = "x1"; then
13265 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13266$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13267if ${ac_cv_lib_crypt_crypt+:} false; then :
13268 $as_echo_n "(cached) " >&6
13269else
13270 ac_check_lib_save_LIBS=$LIBS
13271LIBS="-lcrypt $LIBS"
13272cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13273/* end confdefs.h. */
13274
13275/* Override any GCC internal prototype to avoid an error.
13276 Use char because int might match the return type of a GCC
13277 builtin and then its argument prototype would still apply. */
13278#ifdef __cplusplus
13279extern "C"
13280#endif
13281char crypt ();
13282int
13283main ()
13284{
13285return crypt ();
13286 ;
13287 return 0;
13288}
13289_ACEOF
13290if ac_fn_c_try_link "$LINENO"; then :
13291 ac_cv_lib_crypt_crypt=yes
13292else
13293 ac_cv_lib_crypt_crypt=no
13294fi
13295rm -f core conftest.err conftest.$ac_objext \
13296 conftest$ac_exeext conftest.$ac_ext
13297LIBS=$ac_check_lib_save_LIBS
13298fi
13299{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13300$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13301if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13302 LIBS="$LIBS -lcrypt"
13303fi
13304
13305 fi
13306 for ac_func in crypt DES_crypt
13307do :
13308 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13309ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13310if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13311 cat >>confdefs.h <<_ACEOF
13312#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13313_ACEOF
13314
13315fi
13316done
13317
13318
13319 # Search for SHA256 support in libc and/or OpenSSL
13320 for ac_func in SHA256_Update EVP_sha256
13321do :
13322 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13323ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13324if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13325 cat >>confdefs.h <<_ACEOF
13326#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13327_ACEOF
13328
13329else
13330 unsupported_algorithms="$unsupported_algorithms \
13331 hmac-sha2-256 \
13332 hmac-sha2-512 \
13333 diffie-hellman-group-exchange-sha256 \
13334 hmac-sha2-256-etm@openssh.com \
13335 hmac-sha2-512-etm@openssh.com"
13336
13337
13338fi
13339done
13340
13341 # Search for RIPE-MD support in OpenSSL
13342 for ac_func in EVP_ripemd160
13343do :
13344 ac_fn_c_check_func "$LINENO" "EVP_ripemd160" "ac_cv_func_EVP_ripemd160"
13345if test "x$ac_cv_func_EVP_ripemd160" = xyes; then :
13346 cat >>confdefs.h <<_ACEOF
13347#define HAVE_EVP_RIPEMD160 1
13348_ACEOF
13349
13350else
13351 unsupported_algorithms="$unsupported_algorithms \
13352 hmac-ripemd160 \
13353 hmac-ripemd160@openssh.com \
13354 hmac-ripemd160-etm@openssh.com"
13355
13356
13357fi
13358done
13359
13360
13361 # Check complete ECC support in OpenSSL
13362 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_X9_62_prime256v1" >&5
13363$as_echo_n "checking whether OpenSSL has NID_X9_62_prime256v1... " >&6; }
13364 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13365/* end confdefs.h. */
13366
13367 #include <openssl/ec.h>
13368 #include <openssl/ecdh.h>
13369 #include <openssl/ecdsa.h>
13370 #include <openssl/evp.h>
13371 #include <openssl/objects.h>
13372 #include <openssl/opensslv.h>
13373
13374int
13375main ()
13376{
13377
13378 EC_KEY *e = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
13379 const EVP_MD *m = EVP_sha256(); /* We need this too */
13380
13381 ;
13382 return 0;
13383}
13384_ACEOF
13385if ac_fn_c_try_link "$LINENO"; then :
13386 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13387$as_echo "yes" >&6; }
13388 enable_nistp256=1
13389else
13390 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13391$as_echo "no" >&6; }
13392
13393fi
13394rm -f core conftest.err conftest.$ac_objext \
13395 conftest$ac_exeext conftest.$ac_ext
13396
13397 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp384r1" >&5
13398$as_echo_n "checking whether OpenSSL has NID_secp384r1... " >&6; }
13399 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13400/* end confdefs.h. */
13401
13402 #include <openssl/ec.h>
13403 #include <openssl/ecdh.h>
13404 #include <openssl/ecdsa.h>
13405 #include <openssl/evp.h>
13406 #include <openssl/objects.h>
13407 #include <openssl/opensslv.h>
13408
13409int
13410main ()
13411{
13412
13413 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp384r1);
13414 const EVP_MD *m = EVP_sha384(); /* We need this too */
13415
13416 ;
13417 return 0;
13418}
13419_ACEOF
13420if ac_fn_c_try_link "$LINENO"; then :
13421 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13422$as_echo "yes" >&6; }
13423 enable_nistp384=1
13424else
13425 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13426$as_echo "no" >&6; }
13427
13428fi
13429rm -f core conftest.err conftest.$ac_objext \
13430 conftest$ac_exeext conftest.$ac_ext
13431
13432 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL has NID_secp521r1" >&5
13433$as_echo_n "checking whether OpenSSL has NID_secp521r1... " >&6; }
13434 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13435/* end confdefs.h. */
13436
13437 #include <openssl/ec.h>
13438 #include <openssl/ecdh.h>
13439 #include <openssl/ecdsa.h>
13440 #include <openssl/evp.h>
13441 #include <openssl/objects.h>
13442 #include <openssl/opensslv.h>
13443
13444int
13445main ()
13446{
13447
13448 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1);
13449 const EVP_MD *m = EVP_sha512(); /* We need this too */
13450
13451 ;
13452 return 0;
13453}
13454_ACEOF
13455if ac_fn_c_try_link "$LINENO"; then :
13456 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13457$as_echo "yes" >&6; }
13458 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if OpenSSL's NID_secp521r1 is functional" >&5
13459$as_echo_n "checking if OpenSSL's NID_secp521r1 is functional... " >&6; }
13460 if test "$cross_compiling" = yes; then :
13461 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross-compiling: assuming yes" >&5
13462$as_echo "$as_me: WARNING: cross-compiling: assuming yes" >&2;}
13463 enable_nistp521=1
13464
13465else
13466 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13467/* end confdefs.h. */
13468
13469 #include <openssl/ec.h>
13470 #include <openssl/ecdh.h>
13471 #include <openssl/ecdsa.h>
13472 #include <openssl/evp.h>
13473 #include <openssl/objects.h>
13474 #include <openssl/opensslv.h>
13475
13476int
13477main ()
13478{
13479
13480 EC_KEY *e = EC_KEY_new_by_curve_name(NID_secp521r1);
13481 const EVP_MD *m = EVP_sha512(); /* We need this too */
13482 exit(e == NULL || m == NULL);
13483
13484 ;
13485 return 0;
13486}
13487_ACEOF
13488if ac_fn_c_try_run "$LINENO"; then :
13489 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13490$as_echo "yes" >&6; }
13491 enable_nistp521=1
13492else
13493 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13494$as_echo "no" >&6; }
13495fi
13496rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13497 conftest.$ac_objext conftest.beam conftest.$ac_ext
13498fi
13499
13500else
13501 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13502$as_echo "no" >&6; }
13503
13504fi
13505rm -f core conftest.err conftest.$ac_objext \
13506 conftest$ac_exeext conftest.$ac_ext
13507
13508 COMMENT_OUT_ECC="#no ecc#"
13509 TEST_SSH_ECC=no
13510
13511 if test x$enable_nistp256 = x1 || test x$enable_nistp384 = x1 || \
13512 test x$enable_nistp521 = x1; then
13513
13514$as_echo "#define OPENSSL_HAS_ECC 1" >>confdefs.h
13515
13516 for ac_func in EC_KEY_METHOD_new
13517do :
13518 ac_fn_c_check_func "$LINENO" "EC_KEY_METHOD_new" "ac_cv_func_EC_KEY_METHOD_new"
13519if test "x$ac_cv_func_EC_KEY_METHOD_new" = xyes; then :
13520 cat >>confdefs.h <<_ACEOF
13521#define HAVE_EC_KEY_METHOD_NEW 1
13522_ACEOF
13523
13524fi
13525done
13526
13527 fi
13528 if test x$enable_nistp256 = x1; then
13529
13530$as_echo "#define OPENSSL_HAS_NISTP256 1" >>confdefs.h
13531
13532 TEST_SSH_ECC=yes
13533 COMMENT_OUT_ECC=""
13534 else
13535 unsupported_algorithms="$unsupported_algorithms \
13536 ecdsa-sha2-nistp256 \
13537 ecdh-sha2-nistp256 \
13538 ecdsa-sha2-nistp256-cert-v01@openssh.com"
13539 fi
13540 if test x$enable_nistp384 = x1; then
13541
13542$as_echo "#define OPENSSL_HAS_NISTP384 1" >>confdefs.h
13543
13544 TEST_SSH_ECC=yes
13545 COMMENT_OUT_ECC=""
13546 else
13547 unsupported_algorithms="$unsupported_algorithms \
13548 ecdsa-sha2-nistp384 \
13549 ecdh-sha2-nistp384 \
13550 ecdsa-sha2-nistp384-cert-v01@openssh.com"
13551 fi
13552 if test x$enable_nistp521 = x1; then
13553
13554$as_echo "#define OPENSSL_HAS_NISTP521 1" >>confdefs.h
13555
13556 TEST_SSH_ECC=yes
13557 COMMENT_OUT_ECC=""
13558 else
13559 unsupported_algorithms="$unsupported_algorithms \
13560 ecdh-sha2-nistp521 \
13561 ecdsa-sha2-nistp521 \
13562 ecdsa-sha2-nistp521-cert-v01@openssh.com"
13563 fi
13564
13565
13566
13567else
13568 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5
13569$as_echo_n "checking for crypt in -lcrypt... " >&6; }
13570if ${ac_cv_lib_crypt_crypt+:} false; then :
13571 $as_echo_n "(cached) " >&6
13572else
13573 ac_check_lib_save_LIBS=$LIBS
13574LIBS="-lcrypt $LIBS"
13575cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13576/* end confdefs.h. */
13577
13578/* Override any GCC internal prototype to avoid an error.
13579 Use char because int might match the return type of a GCC
13580 builtin and then its argument prototype would still apply. */
13581#ifdef __cplusplus
13582extern "C"
13583#endif
13584char crypt ();
13585int
13586main ()
13587{
13588return crypt ();
13589 ;
13590 return 0;
13591}
13592_ACEOF
13593if ac_fn_c_try_link "$LINENO"; then :
13594 ac_cv_lib_crypt_crypt=yes
13595else
13596 ac_cv_lib_crypt_crypt=no
13597fi
13598rm -f core conftest.err conftest.$ac_objext \
13599 conftest$ac_exeext conftest.$ac_ext
13600LIBS=$ac_check_lib_save_LIBS
13601fi
13602{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5
13603$as_echo "$ac_cv_lib_crypt_crypt" >&6; }
13604if test "x$ac_cv_lib_crypt_crypt" = xyes; then :
13605 LIBS="$LIBS -lcrypt"
13606fi
13607
13608 for ac_func in crypt
13609do :
13610 ac_fn_c_check_func "$LINENO" "crypt" "ac_cv_func_crypt"
13611if test "x$ac_cv_func_crypt" = xyes; then :
13612 cat >>confdefs.h <<_ACEOF
13613#define HAVE_CRYPT 1
13614_ACEOF
13615
13616fi
13617done
13618
13619fi
13620
13621for ac_func in \
13622 arc4random \
13623 arc4random_buf \
13624 arc4random_stir \
13625 arc4random_uniform \
13626
13627do :
13628 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
13629ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
13630if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
13631 cat >>confdefs.h <<_ACEOF
13632#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
13633_ACEOF
13634
13635fi
13636done
13637
13638
13639saved_LIBS="$LIBS"
13640{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ia_openinfo in -liaf" >&5
13641$as_echo_n "checking for ia_openinfo in -liaf... " >&6; }
13642if ${ac_cv_lib_iaf_ia_openinfo+:} false; then :
13643 $as_echo_n "(cached) " >&6
13644else
13645 ac_check_lib_save_LIBS=$LIBS
13646LIBS="-liaf $LIBS"
13647cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13648/* end confdefs.h. */
13649
13650/* Override any GCC internal prototype to avoid an error.
13651 Use char because int might match the return type of a GCC
13652 builtin and then its argument prototype would still apply. */
13653#ifdef __cplusplus
13654extern "C"
13655#endif
13656char ia_openinfo ();
13657int
13658main ()
13659{
13660return ia_openinfo ();
13661 ;
13662 return 0;
13663}
13664_ACEOF
13665if ac_fn_c_try_link "$LINENO"; then :
13666 ac_cv_lib_iaf_ia_openinfo=yes
13667else
13668 ac_cv_lib_iaf_ia_openinfo=no
13669fi
13670rm -f core conftest.err conftest.$ac_objext \
13671 conftest$ac_exeext conftest.$ac_ext
13672LIBS=$ac_check_lib_save_LIBS
13673fi
13674{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iaf_ia_openinfo" >&5
13675$as_echo "$ac_cv_lib_iaf_ia_openinfo" >&6; }
13676if test "x$ac_cv_lib_iaf_ia_openinfo" = xyes; then :
13677
13678 LIBS="$LIBS -liaf"
13679 for ac_func in set_id
13680do :
13681 ac_fn_c_check_func "$LINENO" "set_id" "ac_cv_func_set_id"
13682if test "x$ac_cv_func_set_id" = xyes; then :
13683 cat >>confdefs.h <<_ACEOF
13684#define HAVE_SET_ID 1
13685_ACEOF
13686 SSHDLIBS="$SSHDLIBS -liaf"
13687
13688$as_echo "#define HAVE_LIBIAF 1" >>confdefs.h
13689
13690
13691fi
13692done
13693
13694
13695fi
13696
13697LIBS="$saved_LIBS"
13698
13699### Configure cryptographic random number support
13700
13701# Check whether OpenSSL seeds itself
13702if test "x$openssl" = "xyes" ; then
13703 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenSSL's PRNG is internally seeded" >&5
13704$as_echo_n "checking whether OpenSSL's PRNG is internally seeded... " >&6; }
13705 if test "$cross_compiling" = yes; then :
13706
13707 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
13708$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
13709 # This is safe, since we will fatal() at runtime if
13710 # OpenSSL is not seeded correctly.
13711 OPENSSL_SEEDS_ITSELF=yes
13712
13713
13714else
13715 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13716/* end confdefs.h. */
13717
13718 #include <string.h>
13719 #include <openssl/rand.h>
13720
13721int
13722main ()
13723{
13724
13725 exit(RAND_status() == 1 ? 0 : 1);
13726
13727 ;
13728 return 0;
13729}
13730_ACEOF
13731if ac_fn_c_try_run "$LINENO"; then :
13732
13733 OPENSSL_SEEDS_ITSELF=yes
13734 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13735$as_echo "yes" >&6; }
13736
13737else
13738
13739 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13740$as_echo "no" >&6; }
13741
13742fi
13743rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
13744 conftest.$ac_objext conftest.beam conftest.$ac_ext
13745fi
13746
13747fi
13748
13749# PRNGD TCP socket
13750
13751# Check whether --with-prngd-port was given.
13752if test "${with_prngd_port+set}" = set; then :
13753 withval=$with_prngd_port;
13754 case "$withval" in
13755 no)
13756 withval=""
13757 ;;
13758 [0-9]*)
13759 ;;
13760 *)
13761 as_fn_error $? "You must specify a numeric port number for --with-prngd-port" "$LINENO" 5
13762 ;;
13763 esac
13764 if test ! -z "$withval" ; then
13765 PRNGD_PORT="$withval"
13766
13767cat >>confdefs.h <<_ACEOF
13768#define PRNGD_PORT $PRNGD_PORT
13769_ACEOF
13770
13771 fi
13772
13773
13774fi
13775
13776
13777# PRNGD Unix domain socket
13778
13779# Check whether --with-prngd-socket was given.
13780if test "${with_prngd_socket+set}" = set; then :
13781 withval=$with_prngd_socket;
13782 case "$withval" in
13783 yes)
13784 withval="/var/run/egd-pool"
13785 ;;
13786 no)
13787 withval=""
13788 ;;
13789 /*)
13790 ;;
13791 *)
13792 as_fn_error $? "You must specify an absolute path to the entropy socket" "$LINENO" 5
13793 ;;
13794 esac
13795
13796 if test ! -z "$withval" ; then
13797 if test ! -z "$PRNGD_PORT" ; then
13798 as_fn_error $? "You may not specify both a PRNGD/EGD port and socket" "$LINENO" 5
13799 fi
13800 if test ! -r "$withval" ; then
13801 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Entropy socket is not readable" >&5
13802$as_echo "$as_me: WARNING: Entropy socket is not readable" >&2;}
13803 fi
13804 PRNGD_SOCKET="$withval"
13805
13806cat >>confdefs.h <<_ACEOF
13807#define PRNGD_SOCKET "$PRNGD_SOCKET"
13808_ACEOF
13809
13810 fi
13811
13812else
13813
13814 # Check for existing socket only if we don't have a random device already
13815 if test "x$OPENSSL_SEEDS_ITSELF" != "xyes" ; then
13816 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PRNGD/EGD socket" >&5
13817$as_echo_n "checking for PRNGD/EGD socket... " >&6; }
13818 # Insert other locations here
13819 for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do
13820 if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then
13821 PRNGD_SOCKET="$sock"
13822 cat >>confdefs.h <<_ACEOF
13823#define PRNGD_SOCKET "$PRNGD_SOCKET"
13824_ACEOF
13825
13826 break;
13827 fi
13828 done
13829 if test ! -z "$PRNGD_SOCKET" ; then
13830 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PRNGD_SOCKET" >&5
13831$as_echo "$PRNGD_SOCKET" >&6; }
13832 else
13833 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
13834$as_echo "not found" >&6; }
13835 fi
13836 fi
13837
13838
13839fi
13840
13841
13842# Which randomness source do we use?
13843if test ! -z "$PRNGD_PORT" ; then
13844 RAND_MSG="PRNGd port $PRNGD_PORT"
13845elif test ! -z "$PRNGD_SOCKET" ; then
13846 RAND_MSG="PRNGd socket $PRNGD_SOCKET"
13847elif test ! -z "$OPENSSL_SEEDS_ITSELF" ; then
13848
13849$as_echo "#define OPENSSL_PRNG_ONLY 1" >>confdefs.h
13850
13851 RAND_MSG="OpenSSL internal ONLY"
13852elif test "x$openssl" = "xno" ; then
13853 { $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
13854$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;}
13855else
13856 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
13857fi
13858
13859# Check for PAM libs
13860PAM_MSG="no"
13861
13862# Check whether --with-pam was given.
13863if test "${with_pam+set}" = set; then :
13864 withval=$with_pam;
13865 if test "x$withval" != "xno" ; then
13866 if test "x$ac_cv_header_security_pam_appl_h" != "xyes" && \
13867 test "x$ac_cv_header_pam_pam_appl_h" != "xyes" ; then
13868 as_fn_error $? "PAM headers not found" "$LINENO" 5
13869 fi
13870
13871 saved_LIBS="$LIBS"
13872 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
13873$as_echo_n "checking for dlopen in -ldl... " >&6; }
13874if ${ac_cv_lib_dl_dlopen+:} false; then :
13875 $as_echo_n "(cached) " >&6
13876else
13877 ac_check_lib_save_LIBS=$LIBS
13878LIBS="-ldl $LIBS"
13879cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13880/* end confdefs.h. */
13881
13882/* Override any GCC internal prototype to avoid an error.
13883 Use char because int might match the return type of a GCC
13884 builtin and then its argument prototype would still apply. */
13885#ifdef __cplusplus
13886extern "C"
13887#endif
13888char dlopen ();
13889int
13890main ()
13891{
13892return dlopen ();
13893 ;
13894 return 0;
13895}
13896_ACEOF
13897if ac_fn_c_try_link "$LINENO"; then :
13898 ac_cv_lib_dl_dlopen=yes
13899else
13900 ac_cv_lib_dl_dlopen=no
13901fi
13902rm -f core conftest.err conftest.$ac_objext \
13903 conftest$ac_exeext conftest.$ac_ext
13904LIBS=$ac_check_lib_save_LIBS
13905fi
13906{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
13907$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
13908if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
13909 cat >>confdefs.h <<_ACEOF
13910#define HAVE_LIBDL 1
13911_ACEOF
13912
13913 LIBS="-ldl $LIBS"
13914
13915fi
13916
13917 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_set_item in -lpam" >&5
13918$as_echo_n "checking for pam_set_item in -lpam... " >&6; }
13919if ${ac_cv_lib_pam_pam_set_item+:} false; then :
13920 $as_echo_n "(cached) " >&6
13921else
13922 ac_check_lib_save_LIBS=$LIBS
13923LIBS="-lpam $LIBS"
13924cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13925/* end confdefs.h. */
13926
13927/* Override any GCC internal prototype to avoid an error.
13928 Use char because int might match the return type of a GCC
13929 builtin and then its argument prototype would still apply. */
13930#ifdef __cplusplus
13931extern "C"
13932#endif
13933char pam_set_item ();
13934int
13935main ()
13936{
13937return pam_set_item ();
13938 ;
13939 return 0;
13940}
13941_ACEOF
13942if ac_fn_c_try_link "$LINENO"; then :
13943 ac_cv_lib_pam_pam_set_item=yes
13944else
13945 ac_cv_lib_pam_pam_set_item=no
13946fi
13947rm -f core conftest.err conftest.$ac_objext \
13948 conftest$ac_exeext conftest.$ac_ext
13949LIBS=$ac_check_lib_save_LIBS
13950fi
13951{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_set_item" >&5
13952$as_echo "$ac_cv_lib_pam_pam_set_item" >&6; }
13953if test "x$ac_cv_lib_pam_pam_set_item" = xyes; then :
13954 cat >>confdefs.h <<_ACEOF
13955#define HAVE_LIBPAM 1
13956_ACEOF
13957
13958 LIBS="-lpam $LIBS"
13959
13960else
13961 as_fn_error $? "*** libpam missing" "$LINENO" 5
13962fi
13963
13964 for ac_func in pam_getenvlist
13965do :
13966 ac_fn_c_check_func "$LINENO" "pam_getenvlist" "ac_cv_func_pam_getenvlist"
13967if test "x$ac_cv_func_pam_getenvlist" = xyes; then :
13968 cat >>confdefs.h <<_ACEOF
13969#define HAVE_PAM_GETENVLIST 1
13970_ACEOF
13971
13972fi
13973done
13974
13975 for ac_func in pam_putenv
13976do :
13977 ac_fn_c_check_func "$LINENO" "pam_putenv" "ac_cv_func_pam_putenv"
13978if test "x$ac_cv_func_pam_putenv" = xyes; then :
13979 cat >>confdefs.h <<_ACEOF
13980#define HAVE_PAM_PUTENV 1
13981_ACEOF
13982
13983fi
13984done
13985
13986 LIBS="$saved_LIBS"
13987
13988 PAM_MSG="yes"
13989
13990 SSHDLIBS="$SSHDLIBS -lpam"
13991
13992$as_echo "#define USE_PAM 1" >>confdefs.h
13993
13994
13995 if test $ac_cv_lib_dl_dlopen = yes; then
13996 case "$LIBS" in
13997 *-ldl*)
13998 # libdl already in LIBS
13999 ;;
14000 *)
14001 SSHDLIBS="$SSHDLIBS -ldl"
14002 ;;
14003 esac
14004 fi
14005 fi
14006
14007
14008fi
14009
14010
14011
14012# Check whether --with-pam-service was given.
14013if test "${with_pam_service+set}" = set; then :
14014 withval=$with_pam_service;
14015 if test "x$withval" != "xno" && \
14016 test "x$withval" != "xyes" ; then
14017
14018cat >>confdefs.h <<_ACEOF
14019#define SSHD_PAM_SERVICE "$withval"
14020_ACEOF
14021
14022 fi
14023
14024
14025fi
14026
14027
14028# Check for older PAM
14029if test "x$PAM_MSG" = "xyes" ; then
14030 # Check PAM strerror arguments (old PAM)
14031 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pam_strerror takes only one argument" >&5
14032$as_echo_n "checking whether pam_strerror takes only one argument... " >&6; }
14033 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14034/* end confdefs.h. */
14035
14036#include <stdlib.h>
14037#if defined(HAVE_SECURITY_PAM_APPL_H)
14038#include <security/pam_appl.h>
14039#elif defined (HAVE_PAM_PAM_APPL_H)
14040#include <pam/pam_appl.h>
14041#endif
14042
14043int
14044main ()
14045{
14046
14047(void)pam_strerror((pam_handle_t *)NULL, -1);
14048
14049 ;
14050 return 0;
14051}
14052_ACEOF
14053if ac_fn_c_try_compile "$LINENO"; then :
14054 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14055$as_echo "no" >&6; }
14056else
14057
14058
14059$as_echo "#define HAVE_OLD_PAM 1" >>confdefs.h
14060
14061 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14062$as_echo "yes" >&6; }
14063 PAM_MSG="yes (old library)"
14064
14065
14066fi
14067rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14068fi
14069
14070case "$host" in
14071*-*-cygwin*)
14072 SSH_PRIVSEP_USER=CYGWIN_SSH_PRIVSEP_USER
14073 ;;
14074*)
14075 SSH_PRIVSEP_USER=sshd
14076 ;;
14077esac
14078
14079# Check whether --with-privsep-user was given.
14080if test "${with_privsep_user+set}" = set; then :
14081 withval=$with_privsep_user;
14082 if test -n "$withval" && test "x$withval" != "xno" && \
14083 test "x${withval}" != "xyes"; then
14084 SSH_PRIVSEP_USER=$withval
14085 fi
14086
14087
14088fi
14089
14090if test "x$SSH_PRIVSEP_USER" = "xCYGWIN_SSH_PRIVSEP_USER" ; then
14091
14092cat >>confdefs.h <<_ACEOF
14093#define SSH_PRIVSEP_USER CYGWIN_SSH_PRIVSEP_USER
14094_ACEOF
14095
14096else
14097
14098cat >>confdefs.h <<_ACEOF
14099#define SSH_PRIVSEP_USER "$SSH_PRIVSEP_USER"
14100_ACEOF
14101
14102fi
14103
14104
14105if test "x$have_linux_no_new_privs" = "x1" ; then
14106ac_fn_c_check_decl "$LINENO" "SECCOMP_MODE_FILTER" "ac_cv_have_decl_SECCOMP_MODE_FILTER" "
14107 #include <sys/types.h>
14108 #include <linux/seccomp.h>
14109
14110"
14111if test "x$ac_cv_have_decl_SECCOMP_MODE_FILTER" = xyes; then :
14112 have_seccomp_filter=1
14113fi
14114
14115fi
14116if test "x$have_seccomp_filter" = "x1" ; then
14117{ $as_echo "$as_me:${as_lineno-$LINENO}: checking kernel for seccomp_filter support" >&5
14118$as_echo_n "checking kernel for seccomp_filter support... " >&6; }
14119cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14120/* end confdefs.h. */
14121
14122 #include <errno.h>
14123 #include <elf.h>
14124 #include <linux/audit.h>
14125 #include <linux/seccomp.h>
14126 #include <stdlib.h>
14127 #include <sys/prctl.h>
14128
14129int
14130main ()
14131{
14132 int i = $seccomp_audit_arch;
14133 errno = 0;
14134 prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, NULL, 0, 0);
14135 exit(errno == EFAULT ? 0 : 1);
14136 ;
14137 return 0;
14138}
14139_ACEOF
14140if ac_fn_c_try_link "$LINENO"; then :
14141 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14142$as_echo "yes" >&6; }
14143else
14144
14145 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14146$as_echo "no" >&6; }
14147 # Disable seccomp filter as a target
14148 have_seccomp_filter=0
14149
14150
14151fi
14152rm -f core conftest.err conftest.$ac_objext \
14153 conftest$ac_exeext conftest.$ac_ext
14154fi
14155
14156# Decide which sandbox style to use
14157sandbox_arg=""
14158
14159# Check whether --with-sandbox was given.
14160if test "${with_sandbox+set}" = set; then :
14161 withval=$with_sandbox;
14162 if test "x$withval" = "xyes" ; then
14163 sandbox_arg=""
14164 else
14165 sandbox_arg="$withval"
14166 fi
14167
14168
14169fi
14170
14171
14172# Some platforms (seems to be the ones that have a kernel poll(2)-type
14173# function with which they implement select(2)) use an extra file descriptor
14174# when calling select(2), which means we can't use the rlimit sandbox.
14175{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if select works with descriptor rlimit" >&5
14176$as_echo_n "checking if select works with descriptor rlimit... " >&6; }
14177if test "$cross_compiling" = yes; then :
14178 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14179$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14180 select_works_with_rlimit=yes
14181
14182else
14183 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14184/* end confdefs.h. */
14185
14186#include <sys/types.h>
14187#ifdef HAVE_SYS_TIME_H
14188# include <sys/time.h>
14189#endif
14190#include <sys/resource.h>
14191#ifdef HAVE_SYS_SELECT_H
14192# include <sys/select.h>
14193#endif
14194#include <errno.h>
14195#include <fcntl.h>
14196#include <stdlib.h>
14197
14198int
14199main ()
14200{
14201
14202 struct rlimit rl_zero;
14203 int fd, r;
14204 fd_set fds;
14205 struct timeval tv;
14206
14207 fd = open("/dev/null", O_RDONLY);
14208 FD_ZERO(&fds);
14209 FD_SET(fd, &fds);
14210 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
14211 setrlimit(RLIMIT_FSIZE, &rl_zero);
14212 setrlimit(RLIMIT_NOFILE, &rl_zero);
14213 tv.tv_sec = 1;
14214 tv.tv_usec = 0;
14215 r = select(fd+1, &fds, NULL, NULL, &tv);
14216 exit (r == -1 ? 1 : 0);
14217
14218 ;
14219 return 0;
14220}
14221_ACEOF
14222if ac_fn_c_try_run "$LINENO"; then :
14223 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14224$as_echo "yes" >&6; }
14225 select_works_with_rlimit=yes
14226else
14227 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14228$as_echo "no" >&6; }
14229 select_works_with_rlimit=no
14230fi
14231rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14232 conftest.$ac_objext conftest.beam conftest.$ac_ext
14233fi
14234
14235
14236{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit(RLIMIT_NOFILE,{0,0}) works" >&5
14237$as_echo_n "checking if setrlimit(RLIMIT_NOFILE,{0,0}) works... " >&6; }
14238if test "$cross_compiling" = yes; then :
14239 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14240$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14241 rlimit_nofile_zero_works=yes
14242
14243else
14244 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14245/* end confdefs.h. */
14246
14247#include <sys/types.h>
14248#ifdef HAVE_SYS_TIME_H
14249# include <sys/time.h>
14250#endif
14251#include <sys/resource.h>
14252#include <errno.h>
14253#include <stdlib.h>
14254
14255int
14256main ()
14257{
14258
14259 struct rlimit rl_zero;
14260 int fd, r;
14261 fd_set fds;
14262
14263 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
14264 r = setrlimit(RLIMIT_NOFILE, &rl_zero);
14265 exit (r == -1 ? 1 : 0);
14266
14267 ;
14268 return 0;
14269}
14270_ACEOF
14271if ac_fn_c_try_run "$LINENO"; then :
14272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14273$as_echo "yes" >&6; }
14274 rlimit_nofile_zero_works=yes
14275else
14276 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14277$as_echo "no" >&6; }
14278 rlimit_nofile_zero_works=no
14279fi
14280rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14281 conftest.$ac_objext conftest.beam conftest.$ac_ext
14282fi
14283
14284
14285{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if setrlimit RLIMIT_FSIZE works" >&5
14286$as_echo_n "checking if setrlimit RLIMIT_FSIZE works... " >&6; }
14287if test "$cross_compiling" = yes; then :
14288 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: assuming yes" >&5
14289$as_echo "$as_me: WARNING: cross compiling: assuming yes" >&2;}
14290
14291else
14292 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14293/* end confdefs.h. */
14294
14295#include <sys/types.h>
14296#include <sys/resource.h>
14297#include <stdlib.h>
14298
14299int
14300main ()
14301{
14302
14303 struct rlimit rl_zero;
14304
14305 rl_zero.rlim_cur = rl_zero.rlim_max = 0;
14306 exit(setrlimit(RLIMIT_FSIZE, &rl_zero) != 0);
14307
14308 ;
14309 return 0;
14310}
14311_ACEOF
14312if ac_fn_c_try_run "$LINENO"; then :
14313 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14314$as_echo "yes" >&6; }
14315else
14316 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14317$as_echo "no" >&6; }
14318
14319$as_echo "#define SANDBOX_SKIP_RLIMIT_FSIZE 1" >>confdefs.h
14320
14321fi
14322rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14323 conftest.$ac_objext conftest.beam conftest.$ac_ext
14324fi
14325
14326
14327if test "x$sandbox_arg" = "xpledge" || \
14328 ( test -z "$sandbox_arg" && test "x$ac_cv_func_pledge" = "xyes" ) ; then
14329 test "x$ac_cv_func_pledge" != "xyes" && \
14330 as_fn_error $? "pledge sandbox requires pledge(2) support" "$LINENO" 5
14331 SANDBOX_STYLE="pledge"
14332
14333$as_echo "#define SANDBOX_PLEDGE 1" >>confdefs.h
14334
14335elif test "x$sandbox_arg" = "xsystrace" || \
14336 ( test -z "$sandbox_arg" && test "x$have_systr_policy_kill" = "x1" ) ; then
14337 test "x$have_systr_policy_kill" != "x1" && \
14338 as_fn_error $? "systrace sandbox requires systrace headers and SYSTR_POLICY_KILL support" "$LINENO" 5
14339 SANDBOX_STYLE="systrace"
14340
14341$as_echo "#define SANDBOX_SYSTRACE 1" >>confdefs.h
14342
14343elif test "x$sandbox_arg" = "xdarwin" || \
14344 ( test -z "$sandbox_arg" && test "x$ac_cv_func_sandbox_init" = "xyes" && \
14345 test "x$ac_cv_header_sandbox_h" = "xyes") ; then
14346 test "x$ac_cv_func_sandbox_init" != "xyes" -o \
14347 "x$ac_cv_header_sandbox_h" != "xyes" && \
14348 as_fn_error $? "Darwin seatbelt sandbox requires sandbox.h and sandbox_init function" "$LINENO" 5
14349 SANDBOX_STYLE="darwin"
14350
14351$as_echo "#define SANDBOX_DARWIN 1" >>confdefs.h
14352
14353elif test "x$sandbox_arg" = "xseccomp_filter" || \
14354 ( test -z "$sandbox_arg" && \
14355 test "x$have_seccomp_filter" = "x1" && \
14356 test "x$ac_cv_header_elf_h" = "xyes" && \
14357 test "x$ac_cv_header_linux_audit_h" = "xyes" && \
14358 test "x$ac_cv_header_linux_filter_h" = "xyes" && \
14359 test "x$seccomp_audit_arch" != "x" && \
14360 test "x$have_linux_no_new_privs" = "x1" && \
14361 test "x$ac_cv_func_prctl" = "xyes" ) ; then
14362 test "x$seccomp_audit_arch" = "x" && \
14363 as_fn_error $? "seccomp_filter sandbox not supported on $host" "$LINENO" 5
14364 test "x$have_linux_no_new_privs" != "x1" && \
14365 as_fn_error $? "seccomp_filter sandbox requires PR_SET_NO_NEW_PRIVS" "$LINENO" 5
14366 test "x$have_seccomp_filter" != "x1" && \
14367 as_fn_error $? "seccomp_filter sandbox requires seccomp headers" "$LINENO" 5
14368 test "x$ac_cv_func_prctl" != "xyes" && \
14369 as_fn_error $? "seccomp_filter sandbox requires prctl function" "$LINENO" 5
14370 SANDBOX_STYLE="seccomp_filter"
14371
14372$as_echo "#define SANDBOX_SECCOMP_FILTER 1" >>confdefs.h
14373
14374elif test "x$sandbox_arg" = "xcapsicum" || \
14375 ( test -z "$sandbox_arg" && \
14376 test "x$ac_cv_header_sys_capsicum_h" = "xyes" && \
14377 test "x$ac_cv_func_cap_rights_limit" = "xyes") ; then
14378 test "x$ac_cv_header_sys_capsicum_h" != "xyes" && \
14379 as_fn_error $? "capsicum sandbox requires sys/capsicum.h header" "$LINENO" 5
14380 test "x$ac_cv_func_cap_rights_limit" != "xyes" && \
14381 as_fn_error $? "capsicum sandbox requires cap_rights_limit function" "$LINENO" 5
14382 SANDBOX_STYLE="capsicum"
14383
14384$as_echo "#define SANDBOX_CAPSICUM 1" >>confdefs.h
14385
14386elif test "x$sandbox_arg" = "xrlimit" || \
14387 ( test -z "$sandbox_arg" && test "x$ac_cv_func_setrlimit" = "xyes" && \
14388 test "x$select_works_with_rlimit" = "xyes" && \
14389 test "x$rlimit_nofile_zero_works" = "xyes" ) ; then
14390 test "x$ac_cv_func_setrlimit" != "xyes" && \
14391 as_fn_error $? "rlimit sandbox requires setrlimit function" "$LINENO" 5
14392 test "x$select_works_with_rlimit" != "xyes" && \
14393 as_fn_error $? "rlimit sandbox requires select to work with rlimit" "$LINENO" 5
14394 SANDBOX_STYLE="rlimit"
14395
14396$as_echo "#define SANDBOX_RLIMIT 1" >>confdefs.h
14397
14398elif test "x$sandbox_arg" = "xsolaris" || \
14399 ( test -z "$sandbox_arg" && test "x$SOLARIS_PRIVS" = "xyes" ) ; then
14400 SANDBOX_STYLE="solaris"
14401
14402$as_echo "#define SANDBOX_SOLARIS 1" >>confdefs.h
14403
14404elif test -z "$sandbox_arg" || test "x$sandbox_arg" = "xno" || \
14405 test "x$sandbox_arg" = "xnone" || test "x$sandbox_arg" = "xnull" ; then
14406 SANDBOX_STYLE="none"
14407
14408$as_echo "#define SANDBOX_NULL 1" >>confdefs.h
14409
14410else
14411 as_fn_error $? "unsupported --with-sandbox" "$LINENO" 5
14412fi
14413
14414# Cheap hack to ensure NEWS-OS libraries are arranged right.
14415if test ! -z "$SONY" ; then
14416 LIBS="$LIBS -liberty";
14417fi
14418
14419# Check for long long datatypes
14420ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default"
14421if test "x$ac_cv_type_long_long" = xyes; then :
14422
14423cat >>confdefs.h <<_ACEOF
14424#define HAVE_LONG_LONG 1
14425_ACEOF
14426
14427
14428fi
14429ac_fn_c_check_type "$LINENO" "unsigned long long" "ac_cv_type_unsigned_long_long" "$ac_includes_default"
14430if test "x$ac_cv_type_unsigned_long_long" = xyes; then :
14431
14432cat >>confdefs.h <<_ACEOF
14433#define HAVE_UNSIGNED_LONG_LONG 1
14434_ACEOF
14435
14436
14437fi
14438ac_fn_c_check_type "$LINENO" "long double" "ac_cv_type_long_double" "$ac_includes_default"
14439if test "x$ac_cv_type_long_double" = xyes; then :
14440
14441cat >>confdefs.h <<_ACEOF
14442#define HAVE_LONG_DOUBLE 1
14443_ACEOF
14444
14445
14446fi
14447
14448
14449# Check datatype sizes
14450# The cast to long int works around a bug in the HP C Compiler
14451# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
14452# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
14453# This bug is HP SR number 8606223364.
14454{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short int" >&5
14455$as_echo_n "checking size of short int... " >&6; }
14456if ${ac_cv_sizeof_short_int+:} false; then :
14457 $as_echo_n "(cached) " >&6
14458else
14459 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short int))" "ac_cv_sizeof_short_int" "$ac_includes_default"; then :
14460
14461else
14462 if test "$ac_cv_type_short_int" = yes; then
14463 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
14464$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
14465as_fn_error 77 "cannot compute sizeof (short int)
14466See \`config.log' for more details" "$LINENO" 5; }
14467 else
14468 ac_cv_sizeof_short_int=0
14469 fi
14470fi
14471
14472fi
14473{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short_int" >&5
14474$as_echo "$ac_cv_sizeof_short_int" >&6; }
14475
14476
14477
14478cat >>confdefs.h <<_ACEOF
14479#define SIZEOF_SHORT_INT $ac_cv_sizeof_short_int
14480_ACEOF
14481
14482
14483# The cast to long int works around a bug in the HP C Compiler
14484# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
14485# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
14486# This bug is HP SR number 8606223364.
14487{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
14488$as_echo_n "checking size of int... " >&6; }
14489if ${ac_cv_sizeof_int+:} false; then :
14490 $as_echo_n "(cached) " >&6
14491else
14492 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
14493
14494else
14495 if test "$ac_cv_type_int" = yes; then
14496 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
14497$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
14498as_fn_error 77 "cannot compute sizeof (int)
14499See \`config.log' for more details" "$LINENO" 5; }
14500 else
14501 ac_cv_sizeof_int=0
14502 fi
14503fi
14504
14505fi
14506{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
14507$as_echo "$ac_cv_sizeof_int" >&6; }
14508
14509
14510
14511cat >>confdefs.h <<_ACEOF
14512#define SIZEOF_INT $ac_cv_sizeof_int
14513_ACEOF
14514
14515
14516# The cast to long int works around a bug in the HP C Compiler
14517# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
14518# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
14519# This bug is HP SR number 8606223364.
14520{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long int" >&5
14521$as_echo_n "checking size of long int... " >&6; }
14522if ${ac_cv_sizeof_long_int+:} false; then :
14523 $as_echo_n "(cached) " >&6
14524else
14525 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long int))" "ac_cv_sizeof_long_int" "$ac_includes_default"; then :
14526
14527else
14528 if test "$ac_cv_type_long_int" = yes; then
14529 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
14530$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
14531as_fn_error 77 "cannot compute sizeof (long int)
14532See \`config.log' for more details" "$LINENO" 5; }
14533 else
14534 ac_cv_sizeof_long_int=0
14535 fi
14536fi
14537
14538fi
14539{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_int" >&5
14540$as_echo "$ac_cv_sizeof_long_int" >&6; }
14541
14542
14543
14544cat >>confdefs.h <<_ACEOF
14545#define SIZEOF_LONG_INT $ac_cv_sizeof_long_int
14546_ACEOF
14547
14548
14549# The cast to long int works around a bug in the HP C Compiler
14550# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
14551# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
14552# This bug is HP SR number 8606223364.
14553{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long int" >&5
14554$as_echo_n "checking size of long long int... " >&6; }
14555if ${ac_cv_sizeof_long_long_int+:} false; then :
14556 $as_echo_n "(cached) " >&6
14557else
14558 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long int))" "ac_cv_sizeof_long_long_int" "$ac_includes_default"; then :
14559
14560else
14561 if test "$ac_cv_type_long_long_int" = yes; then
14562 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
14563$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
14564as_fn_error 77 "cannot compute sizeof (long long int)
14565See \`config.log' for more details" "$LINENO" 5; }
14566 else
14567 ac_cv_sizeof_long_long_int=0
14568 fi
14569fi
14570
14571fi
14572{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long_int" >&5
14573$as_echo "$ac_cv_sizeof_long_long_int" >&6; }
14574
14575
14576
14577cat >>confdefs.h <<_ACEOF
14578#define SIZEOF_LONG_LONG_INT $ac_cv_sizeof_long_long_int
14579_ACEOF
14580
14581
14582
14583# Sanity check long long for some platforms (AIX)
14584if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
14585 ac_cv_sizeof_long_long_int=0
14586fi
14587
14588# compute LLONG_MIN and LLONG_MAX if we don't know them.
14589if test -z "$have_llong_max"; then
14590 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for max value of long long" >&5
14591$as_echo_n "checking for max value of long long... " >&6; }
14592 if test "$cross_compiling" = yes; then :
14593
14594 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking" >&5
14595$as_echo "$as_me: WARNING: cross compiling: not checking" >&2;}
14596
14597
14598else
14599 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14600/* end confdefs.h. */
14601
14602#include <stdio.h>
14603/* Why is this so damn hard? */
14604#ifdef __GNUC__
14605# undef __GNUC__
14606#endif
14607#define __USE_ISOC99
14608#include <limits.h>
14609#define DATA "conftest.llminmax"
14610#define my_abs(a) ((a) < 0 ? ((a) * -1) : (a))
14611
14612/*
14613 * printf in libc on some platforms (eg old Tru64) does not understand %lld so
14614 * we do this the hard way.
14615 */
14616static int
14617fprint_ll(FILE *f, long long n)
14618{
14619 unsigned int i;
14620 int l[sizeof(long long) * 8];
14621
14622 if (n < 0)
14623 if (fprintf(f, "-") < 0)
14624 return -1;
14625 for (i = 0; n != 0; i++) {
14626 l[i] = my_abs(n % 10);
14627 n /= 10;
14628 }
14629 do {
14630 if (fprintf(f, "%d", l[--i]) < 0)
14631 return -1;
14632 } while (i != 0);
14633 if (fprintf(f, " ") < 0)
14634 return -1;
14635 return 0;
14636}
14637
14638int
14639main ()
14640{
14641
14642 FILE *f;
14643 long long i, llmin, llmax = 0;
14644
14645 if((f = fopen(DATA,"w")) == NULL)
14646 exit(1);
14647
14648#if defined(LLONG_MIN) && defined(LLONG_MAX)
14649 fprintf(stderr, "Using system header for LLONG_MIN and LLONG_MAX\n");
14650 llmin = LLONG_MIN;
14651 llmax = LLONG_MAX;
14652#else
14653 fprintf(stderr, "Calculating LLONG_MIN and LLONG_MAX\n");
14654 /* This will work on one's complement and two's complement */
14655 for (i = 1; i > llmax; i <<= 1, i++)
14656 llmax = i;
14657 llmin = llmax + 1LL; /* wrap */
14658#endif
14659
14660 /* Sanity check */
14661 if (llmin + 1 < llmin || llmin - 1 < llmin || llmax + 1 > llmax
14662 || llmax - 1 > llmax || llmin == llmax || llmin == 0
14663 || llmax == 0 || llmax < LONG_MAX || llmin > LONG_MIN) {
14664 fprintf(f, "unknown unknown\n");
14665 exit(2);
14666 }
14667
14668 if (fprint_ll(f, llmin) < 0)
14669 exit(3);
14670 if (fprint_ll(f, llmax) < 0)
14671 exit(4);
14672 if (fclose(f) < 0)
14673 exit(5);
14674 exit(0);
14675
14676 ;
14677 return 0;
14678}
14679_ACEOF
14680if ac_fn_c_try_run "$LINENO"; then :
14681
14682 llong_min=`$AWK '{print $1}' conftest.llminmax`
14683 llong_max=`$AWK '{print $2}' conftest.llminmax`
14684
14685 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_max" >&5
14686$as_echo "$llong_max" >&6; }
14687
14688cat >>confdefs.h <<_ACEOF
14689#define LLONG_MAX ${llong_max}LL
14690_ACEOF
14691
14692 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for min value of long long" >&5
14693$as_echo_n "checking for min value of long long... " >&6; }
14694 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $llong_min" >&5
14695$as_echo "$llong_min" >&6; }
14696
14697cat >>confdefs.h <<_ACEOF
14698#define LLONG_MIN ${llong_min}LL
14699_ACEOF
14700
14701
14702else
14703
14704 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
14705$as_echo "not found" >&6; }
14706
14707fi
14708rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
14709 conftest.$ac_objext conftest.beam conftest.$ac_ext
14710fi
14711
14712fi
14713
14714
14715# More checks for data types
14716{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int type" >&5
14717$as_echo_n "checking for u_int type... " >&6; }
14718if ${ac_cv_have_u_int+:} false; then :
14719 $as_echo_n "(cached) " >&6
14720else
14721
14722 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14723/* end confdefs.h. */
14724 #include <sys/types.h>
14725int
14726main ()
14727{
14728 u_int a; a = 1;
14729 ;
14730 return 0;
14731}
14732_ACEOF
14733if ac_fn_c_try_compile "$LINENO"; then :
14734 ac_cv_have_u_int="yes"
14735else
14736 ac_cv_have_u_int="no"
14737
14738fi
14739rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14740
14741fi
14742{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int" >&5
14743$as_echo "$ac_cv_have_u_int" >&6; }
14744if test "x$ac_cv_have_u_int" = "xyes" ; then
14745
14746$as_echo "#define HAVE_U_INT 1" >>confdefs.h
14747
14748 have_u_int=1
14749fi
14750
14751{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types" >&5
14752$as_echo_n "checking for intXX_t types... " >&6; }
14753if ${ac_cv_have_intxx_t+:} false; then :
14754 $as_echo_n "(cached) " >&6
14755else
14756
14757 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14758/* end confdefs.h. */
14759 #include <sys/types.h>
14760int
14761main ()
14762{
14763 int8_t a; int16_t b; int32_t c; a = b = c = 1;
14764 ;
14765 return 0;
14766}
14767_ACEOF
14768if ac_fn_c_try_compile "$LINENO"; then :
14769 ac_cv_have_intxx_t="yes"
14770else
14771 ac_cv_have_intxx_t="no"
14772
14773fi
14774rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14775
14776fi
14777{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_intxx_t" >&5
14778$as_echo "$ac_cv_have_intxx_t" >&6; }
14779if test "x$ac_cv_have_intxx_t" = "xyes" ; then
14780
14781$as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
14782
14783 have_intxx_t=1
14784fi
14785
14786if (test -z "$have_intxx_t" && \
14787 test "x$ac_cv_header_stdint_h" = "xyes")
14788then
14789 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t types in stdint.h" >&5
14790$as_echo_n "checking for intXX_t types in stdint.h... " >&6; }
14791 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14792/* end confdefs.h. */
14793 #include <stdint.h>
14794int
14795main ()
14796{
14797 int8_t a; int16_t b; int32_t c; a = b = c = 1;
14798 ;
14799 return 0;
14800}
14801_ACEOF
14802if ac_fn_c_try_compile "$LINENO"; then :
14803
14804 $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
14805
14806 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14807$as_echo "yes" >&6; }
14808
14809else
14810 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14811$as_echo "no" >&6; }
14812
14813fi
14814rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14815fi
14816
14817{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for int64_t type" >&5
14818$as_echo_n "checking for int64_t type... " >&6; }
14819if ${ac_cv_have_int64_t+:} false; then :
14820 $as_echo_n "(cached) " >&6
14821else
14822
14823 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14824/* end confdefs.h. */
14825
14826#include <sys/types.h>
14827#ifdef HAVE_STDINT_H
14828# include <stdint.h>
14829#endif
14830#include <sys/socket.h>
14831#ifdef HAVE_SYS_BITYPES_H
14832# include <sys/bitypes.h>
14833#endif
14834
14835int
14836main ()
14837{
14838
14839int64_t a; a = 1;
14840
14841 ;
14842 return 0;
14843}
14844_ACEOF
14845if ac_fn_c_try_compile "$LINENO"; then :
14846 ac_cv_have_int64_t="yes"
14847else
14848 ac_cv_have_int64_t="no"
14849
14850fi
14851rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14852
14853fi
14854{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_int64_t" >&5
14855$as_echo "$ac_cv_have_int64_t" >&6; }
14856if test "x$ac_cv_have_int64_t" = "xyes" ; then
14857
14858$as_echo "#define HAVE_INT64_T 1" >>confdefs.h
14859
14860fi
14861
14862{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types" >&5
14863$as_echo_n "checking for u_intXX_t types... " >&6; }
14864if ${ac_cv_have_u_intxx_t+:} false; then :
14865 $as_echo_n "(cached) " >&6
14866else
14867
14868 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14869/* end confdefs.h. */
14870 #include <sys/types.h>
14871int
14872main ()
14873{
14874 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
14875 ;
14876 return 0;
14877}
14878_ACEOF
14879if ac_fn_c_try_compile "$LINENO"; then :
14880 ac_cv_have_u_intxx_t="yes"
14881else
14882 ac_cv_have_u_intxx_t="no"
14883
14884fi
14885rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14886
14887fi
14888{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_intxx_t" >&5
14889$as_echo "$ac_cv_have_u_intxx_t" >&6; }
14890if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
14891
14892$as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
14893
14894 have_u_intxx_t=1
14895fi
14896
14897if test -z "$have_u_intxx_t" ; then
14898 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_intXX_t types in sys/socket.h" >&5
14899$as_echo_n "checking for u_intXX_t types in sys/socket.h... " >&6; }
14900 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14901/* end confdefs.h. */
14902 #include <sys/socket.h>
14903int
14904main ()
14905{
14906 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
14907 ;
14908 return 0;
14909}
14910_ACEOF
14911if ac_fn_c_try_compile "$LINENO"; then :
14912
14913 $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
14914
14915 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14916$as_echo "yes" >&6; }
14917
14918else
14919 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14920$as_echo "no" >&6; }
14921
14922fi
14923rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14924fi
14925
14926{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t types" >&5
14927$as_echo_n "checking for u_int64_t types... " >&6; }
14928if ${ac_cv_have_u_int64_t+:} false; then :
14929 $as_echo_n "(cached) " >&6
14930else
14931
14932 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14933/* end confdefs.h. */
14934 #include <sys/types.h>
14935int
14936main ()
14937{
14938 u_int64_t a; a = 1;
14939 ;
14940 return 0;
14941}
14942_ACEOF
14943if ac_fn_c_try_compile "$LINENO"; then :
14944 ac_cv_have_u_int64_t="yes"
14945else
14946 ac_cv_have_u_int64_t="no"
14947
14948fi
14949rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14950
14951fi
14952{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_int64_t" >&5
14953$as_echo "$ac_cv_have_u_int64_t" >&6; }
14954if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
14955
14956$as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
14957
14958 have_u_int64_t=1
14959fi
14960
14961if (test -z "$have_u_int64_t" && \
14962 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
14963then
14964 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_int64_t type in sys/bitypes.h" >&5
14965$as_echo_n "checking for u_int64_t type in sys/bitypes.h... " >&6; }
14966 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14967/* end confdefs.h. */
14968 #include <sys/bitypes.h>
14969int
14970main ()
14971{
14972 u_int64_t a; a = 1
14973 ;
14974 return 0;
14975}
14976_ACEOF
14977if ac_fn_c_try_compile "$LINENO"; then :
14978
14979 $as_echo "#define HAVE_U_INT64_T 1" >>confdefs.h
14980
14981 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14982$as_echo "yes" >&6; }
14983
14984else
14985 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14986$as_echo "no" >&6; }
14987
14988fi
14989rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
14990fi
14991
14992if test -z "$have_u_intxx_t" ; then
14993 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types" >&5
14994$as_echo_n "checking for uintXX_t types... " >&6; }
14995if ${ac_cv_have_uintxx_t+:} false; then :
14996 $as_echo_n "(cached) " >&6
14997else
14998
14999 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15000/* end confdefs.h. */
15001
15002#include <sys/types.h>
15003
15004int
15005main ()
15006{
15007
15008 uint8_t a;
15009 uint16_t b;
15010 uint32_t c;
15011 a = b = c = 1;
15012
15013 ;
15014 return 0;
15015}
15016_ACEOF
15017if ac_fn_c_try_compile "$LINENO"; then :
15018 ac_cv_have_uintxx_t="yes"
15019else
15020 ac_cv_have_uintxx_t="no"
15021
15022fi
15023rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15024
15025fi
15026{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_uintxx_t" >&5
15027$as_echo "$ac_cv_have_uintxx_t" >&6; }
15028 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
15029
15030$as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15031
15032 fi
15033fi
15034
15035if (test -z "$have_uintxx_t" && \
15036 test "x$ac_cv_header_stdint_h" = "xyes")
15037then
15038 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in stdint.h" >&5
15039$as_echo_n "checking for uintXX_t types in stdint.h... " >&6; }
15040 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15041/* end confdefs.h. */
15042 #include <stdint.h>
15043int
15044main ()
15045{
15046 uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;
15047 ;
15048 return 0;
15049}
15050_ACEOF
15051if ac_fn_c_try_compile "$LINENO"; then :
15052
15053 $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15054
15055 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15056$as_echo "yes" >&6; }
15057
15058else
15059 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15060$as_echo "no" >&6; }
15061
15062fi
15063rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15064fi
15065
15066if (test -z "$have_uintxx_t" && \
15067 test "x$ac_cv_header_inttypes_h" = "xyes")
15068then
15069 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uintXX_t types in inttypes.h" >&5
15070$as_echo_n "checking for uintXX_t types in inttypes.h... " >&6; }
15071 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15072/* end confdefs.h. */
15073 #include <inttypes.h>
15074int
15075main ()
15076{
15077 uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;
15078 ;
15079 return 0;
15080}
15081_ACEOF
15082if ac_fn_c_try_compile "$LINENO"; then :
15083
15084 $as_echo "#define HAVE_UINTXX_T 1" >>confdefs.h
15085
15086 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15087$as_echo "yes" >&6; }
15088
15089else
15090 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15091$as_echo "no" >&6; }
15092
15093fi
15094rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15095fi
15096
15097if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
15098 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
15099then
15100 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intXX_t and u_intXX_t types in sys/bitypes.h" >&5
15101$as_echo_n "checking for intXX_t and u_intXX_t types in sys/bitypes.h... " >&6; }
15102 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15103/* end confdefs.h. */
15104
15105#include <sys/bitypes.h>
15106
15107int
15108main ()
15109{
15110
15111 int8_t a; int16_t b; int32_t c;
15112 u_int8_t e; u_int16_t f; u_int32_t g;
15113 a = b = c = e = f = g = 1;
15114
15115 ;
15116 return 0;
15117}
15118_ACEOF
15119if ac_fn_c_try_compile "$LINENO"; then :
15120
15121 $as_echo "#define HAVE_U_INTXX_T 1" >>confdefs.h
15122
15123 $as_echo "#define HAVE_INTXX_T 1" >>confdefs.h
15124
15125 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15126$as_echo "yes" >&6; }
15127
15128else
15129 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15130$as_echo "no" >&6; }
15131
15132fi
15133rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15134fi
15135
15136
15137{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for u_char" >&5
15138$as_echo_n "checking for u_char... " >&6; }
15139if ${ac_cv_have_u_char+:} false; then :
15140 $as_echo_n "(cached) " >&6
15141else
15142
15143 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15144/* end confdefs.h. */
15145 #include <sys/types.h>
15146int
15147main ()
15148{
15149 u_char foo; foo = 125;
15150 ;
15151 return 0;
15152}
15153_ACEOF
15154if ac_fn_c_try_compile "$LINENO"; then :
15155 ac_cv_have_u_char="yes"
15156else
15157 ac_cv_have_u_char="no"
15158
15159fi
15160rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15161
15162fi
15163{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_u_char" >&5
15164$as_echo "$ac_cv_have_u_char" >&6; }
15165if test "x$ac_cv_have_u_char" = "xyes" ; then
15166
15167$as_echo "#define HAVE_U_CHAR 1" >>confdefs.h
15168
15169fi
15170
15171ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "
15172#include <sys/types.h>
15173#include <stdint.h>
15174
15175"
15176if test "x$ac_cv_type_intmax_t" = xyes; then :
15177
15178cat >>confdefs.h <<_ACEOF
15179#define HAVE_INTMAX_T 1
15180_ACEOF
15181
15182
15183fi
15184ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "
15185#include <sys/types.h>
15186#include <stdint.h>
15187
15188"
15189if test "x$ac_cv_type_uintmax_t" = xyes; then :
15190
15191cat >>confdefs.h <<_ACEOF
15192#define HAVE_UINTMAX_T 1
15193_ACEOF
15194
15195
15196fi
15197
15198
15199
15200 ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h>
15201#include <sys/socket.h>
15202"
15203if test "x$ac_cv_type_socklen_t" = xyes; then :
15204
15205else
15206
15207 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5
15208$as_echo_n "checking for socklen_t equivalent... " >&6; }
15209 if ${curl_cv_socklen_t_equiv+:} false; then :
15210 $as_echo_n "(cached) " >&6
15211else
15212
15213 # Systems have either "struct sockaddr *" or
15214 # "void *" as the second argument to getpeername
15215 curl_cv_socklen_t_equiv=
15216 for arg2 in "struct sockaddr" void; do
15217 for t in int size_t unsigned long "unsigned long"; do
15218 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15219/* end confdefs.h. */
15220
15221 #include <sys/types.h>
15222 #include <sys/socket.h>
15223
15224 int getpeername (int, $arg2 *, $t *);
15225
15226int
15227main ()
15228{
15229
15230 $t len;
15231 getpeername(0,0,&len);
15232
15233 ;
15234 return 0;
15235}
15236_ACEOF
15237if ac_fn_c_try_compile "$LINENO"; then :
15238
15239 curl_cv_socklen_t_equiv="$t"
15240 break
15241
15242fi
15243rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15244 done
15245 done
15246
15247 if test "x$curl_cv_socklen_t_equiv" = x; then
15248 as_fn_error $? "Cannot find a type to use in place of socklen_t" "$LINENO" 5
15249 fi
15250
15251fi
15252
15253 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $curl_cv_socklen_t_equiv" >&5
15254$as_echo "$curl_cv_socklen_t_equiv" >&6; }
15255
15256cat >>confdefs.h <<_ACEOF
15257#define socklen_t $curl_cv_socklen_t_equiv
15258_ACEOF
15259
15260fi
15261
15262
15263
15264ac_fn_c_check_type "$LINENO" "sig_atomic_t" "ac_cv_type_sig_atomic_t" "#include <signal.h>
15265"
15266if test "x$ac_cv_type_sig_atomic_t" = xyes; then :
15267
15268cat >>confdefs.h <<_ACEOF
15269#define HAVE_SIG_ATOMIC_T 1
15270_ACEOF
15271
15272
15273fi
15274
15275ac_fn_c_check_type "$LINENO" "fsblkcnt_t" "ac_cv_type_fsblkcnt_t" "
15276#include <sys/types.h>
15277#ifdef HAVE_SYS_BITYPES_H
15278#include <sys/bitypes.h>
15279#endif
15280#ifdef HAVE_SYS_STATFS_H
15281#include <sys/statfs.h>
15282#endif
15283#ifdef HAVE_SYS_STATVFS_H
15284#include <sys/statvfs.h>
15285#endif
15286
15287"
15288if test "x$ac_cv_type_fsblkcnt_t" = xyes; then :
15289
15290cat >>confdefs.h <<_ACEOF
15291#define HAVE_FSBLKCNT_T 1
15292_ACEOF
15293
15294
15295fi
15296ac_fn_c_check_type "$LINENO" "fsfilcnt_t" "ac_cv_type_fsfilcnt_t" "
15297#include <sys/types.h>
15298#ifdef HAVE_SYS_BITYPES_H
15299#include <sys/bitypes.h>
15300#endif
15301#ifdef HAVE_SYS_STATFS_H
15302#include <sys/statfs.h>
15303#endif
15304#ifdef HAVE_SYS_STATVFS_H
15305#include <sys/statvfs.h>
15306#endif
15307
15308"
15309if test "x$ac_cv_type_fsfilcnt_t" = xyes; then :
15310
15311cat >>confdefs.h <<_ACEOF
15312#define HAVE_FSFILCNT_T 1
15313_ACEOF
15314
15315
15316fi
15317
15318
15319ac_fn_c_check_member "$LINENO" "struct statfs" "f_flags" "ac_cv_member_struct_statfs_f_flags" "
15320#include <sys/types.h>
15321#ifdef HAVE_SYS_BITYPES_H
15322#include <sys/bitypes.h>
15323#endif
15324#ifdef HAVE_SYS_STATFS_H
15325#include <sys/statfs.h>
15326#endif
15327#ifdef HAVE_SYS_STATVFS_H
15328#include <sys/statvfs.h>
15329#endif
15330#ifdef HAVE_SYS_VFS_H
15331#include <sys/vfs.h>
15332#endif
15333
15334"
15335if test "x$ac_cv_member_struct_statfs_f_flags" = xyes; then :
15336
15337cat >>confdefs.h <<_ACEOF
15338#define HAVE_STRUCT_STATFS_F_FLAGS 1
15339_ACEOF
15340
15341
15342fi
15343
15344
15345
15346ac_fn_c_check_type "$LINENO" "in_addr_t" "ac_cv_type_in_addr_t" "#include <sys/types.h>
15347#include <netinet/in.h>
15348"
15349if test "x$ac_cv_type_in_addr_t" = xyes; then :
15350
15351cat >>confdefs.h <<_ACEOF
15352#define HAVE_IN_ADDR_T 1
15353_ACEOF
15354
15355
15356fi
15357ac_fn_c_check_type "$LINENO" "in_port_t" "ac_cv_type_in_port_t" "#include <sys/types.h>
15358#include <netinet/in.h>
15359"
15360if test "x$ac_cv_type_in_port_t" = xyes; then :
15361
15362cat >>confdefs.h <<_ACEOF
15363#define HAVE_IN_PORT_T 1
15364_ACEOF
15365
15366
15367fi
15368
15369
15370{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for size_t" >&5
15371$as_echo_n "checking for size_t... " >&6; }
15372if ${ac_cv_have_size_t+:} false; then :
15373 $as_echo_n "(cached) " >&6
15374else
15375
15376 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15377/* end confdefs.h. */
15378 #include <sys/types.h>
15379int
15380main ()
15381{
15382 size_t foo; foo = 1235;
15383 ;
15384 return 0;
15385}
15386_ACEOF
15387if ac_fn_c_try_compile "$LINENO"; then :
15388 ac_cv_have_size_t="yes"
15389else
15390 ac_cv_have_size_t="no"
15391
15392fi
15393rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15394
15395fi
15396{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_size_t" >&5
15397$as_echo "$ac_cv_have_size_t" >&6; }
15398if test "x$ac_cv_have_size_t" = "xyes" ; then
15399
15400$as_echo "#define HAVE_SIZE_T 1" >>confdefs.h
15401
15402fi
15403
15404{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5
15405$as_echo_n "checking for ssize_t... " >&6; }
15406if ${ac_cv_have_ssize_t+:} false; then :
15407 $as_echo_n "(cached) " >&6
15408else
15409
15410 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15411/* end confdefs.h. */
15412 #include <sys/types.h>
15413int
15414main ()
15415{
15416 ssize_t foo; foo = 1235;
15417 ;
15418 return 0;
15419}
15420_ACEOF
15421if ac_fn_c_try_compile "$LINENO"; then :
15422 ac_cv_have_ssize_t="yes"
15423else
15424 ac_cv_have_ssize_t="no"
15425
15426fi
15427rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15428
15429fi
15430{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ssize_t" >&5
15431$as_echo "$ac_cv_have_ssize_t" >&6; }
15432if test "x$ac_cv_have_ssize_t" = "xyes" ; then
15433
15434$as_echo "#define HAVE_SSIZE_T 1" >>confdefs.h
15435
15436fi
15437
15438{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_t" >&5
15439$as_echo_n "checking for clock_t... " >&6; }
15440if ${ac_cv_have_clock_t+:} false; then :
15441 $as_echo_n "(cached) " >&6
15442else
15443
15444 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15445/* end confdefs.h. */
15446 #include <time.h>
15447int
15448main ()
15449{
15450 clock_t foo; foo = 1235;
15451 ;
15452 return 0;
15453}
15454_ACEOF
15455if ac_fn_c_try_compile "$LINENO"; then :
15456 ac_cv_have_clock_t="yes"
15457else
15458 ac_cv_have_clock_t="no"
15459
15460fi
15461rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15462
15463fi
15464{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_clock_t" >&5
15465$as_echo "$ac_cv_have_clock_t" >&6; }
15466if test "x$ac_cv_have_clock_t" = "xyes" ; then
15467
15468$as_echo "#define HAVE_CLOCK_T 1" >>confdefs.h
15469
15470fi
15471
15472{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sa_family_t" >&5
15473$as_echo_n "checking for sa_family_t... " >&6; }
15474if ${ac_cv_have_sa_family_t+:} false; then :
15475 $as_echo_n "(cached) " >&6
15476else
15477
15478 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15479/* end confdefs.h. */
15480
15481#include <sys/types.h>
15482#include <sys/socket.h>
15483
15484int
15485main ()
15486{
15487 sa_family_t foo; foo = 1235;
15488 ;
15489 return 0;
15490}
15491_ACEOF
15492if ac_fn_c_try_compile "$LINENO"; then :
15493 ac_cv_have_sa_family_t="yes"
15494else
15495 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15496/* end confdefs.h. */
15497
15498#include <sys/types.h>
15499#include <sys/socket.h>
15500#include <netinet/in.h>
15501
15502int
15503main ()
15504{
15505 sa_family_t foo; foo = 1235;
15506 ;
15507 return 0;
15508}
15509_ACEOF
15510if ac_fn_c_try_compile "$LINENO"; then :
15511 ac_cv_have_sa_family_t="yes"
15512else
15513 ac_cv_have_sa_family_t="no"
15514
15515fi
15516rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15517
15518fi
15519rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15520
15521fi
15522{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_sa_family_t" >&5
15523$as_echo "$ac_cv_have_sa_family_t" >&6; }
15524if test "x$ac_cv_have_sa_family_t" = "xyes" ; then
15525
15526$as_echo "#define HAVE_SA_FAMILY_T 1" >>confdefs.h
15527
15528fi
15529
15530{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pid_t" >&5
15531$as_echo_n "checking for pid_t... " >&6; }
15532if ${ac_cv_have_pid_t+:} false; then :
15533 $as_echo_n "(cached) " >&6
15534else
15535
15536 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15537/* end confdefs.h. */
15538 #include <sys/types.h>
15539int
15540main ()
15541{
15542 pid_t foo; foo = 1235;
15543 ;
15544 return 0;
15545}
15546_ACEOF
15547if ac_fn_c_try_compile "$LINENO"; then :
15548 ac_cv_have_pid_t="yes"
15549else
15550 ac_cv_have_pid_t="no"
15551
15552fi
15553rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15554
15555fi
15556{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_pid_t" >&5
15557$as_echo "$ac_cv_have_pid_t" >&6; }
15558if test "x$ac_cv_have_pid_t" = "xyes" ; then
15559
15560$as_echo "#define HAVE_PID_T 1" >>confdefs.h
15561
15562fi
15563
15564{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mode_t" >&5
15565$as_echo_n "checking for mode_t... " >&6; }
15566if ${ac_cv_have_mode_t+:} false; then :
15567 $as_echo_n "(cached) " >&6
15568else
15569
15570 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15571/* end confdefs.h. */
15572 #include <sys/types.h>
15573int
15574main ()
15575{
15576 mode_t foo; foo = 1235;
15577 ;
15578 return 0;
15579}
15580_ACEOF
15581if ac_fn_c_try_compile "$LINENO"; then :
15582 ac_cv_have_mode_t="yes"
15583else
15584 ac_cv_have_mode_t="no"
15585
15586fi
15587rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15588
15589fi
15590{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_mode_t" >&5
15591$as_echo "$ac_cv_have_mode_t" >&6; }
15592if test "x$ac_cv_have_mode_t" = "xyes" ; then
15593
15594$as_echo "#define HAVE_MODE_T 1" >>confdefs.h
15595
15596fi
15597
15598
15599{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_storage" >&5
15600$as_echo_n "checking for struct sockaddr_storage... " >&6; }
15601if ${ac_cv_have_struct_sockaddr_storage+:} false; then :
15602 $as_echo_n "(cached) " >&6
15603else
15604
15605 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15606/* end confdefs.h. */
15607
15608#include <sys/types.h>
15609#include <sys/socket.h>
15610
15611int
15612main ()
15613{
15614 struct sockaddr_storage s;
15615 ;
15616 return 0;
15617}
15618_ACEOF
15619if ac_fn_c_try_compile "$LINENO"; then :
15620 ac_cv_have_struct_sockaddr_storage="yes"
15621else
15622 ac_cv_have_struct_sockaddr_storage="no"
15623
15624fi
15625rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15626
15627fi
15628{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_storage" >&5
15629$as_echo "$ac_cv_have_struct_sockaddr_storage" >&6; }
15630if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then
15631
15632$as_echo "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h
15633
15634fi
15635
15636{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct sockaddr_in6" >&5
15637$as_echo_n "checking for struct sockaddr_in6... " >&6; }
15638if ${ac_cv_have_struct_sockaddr_in6+:} false; then :
15639 $as_echo_n "(cached) " >&6
15640else
15641
15642 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15643/* end confdefs.h. */
15644
15645#include <sys/types.h>
15646#include <netinet/in.h>
15647
15648int
15649main ()
15650{
15651 struct sockaddr_in6 s; s.sin6_family = 0;
15652 ;
15653 return 0;
15654}
15655_ACEOF
15656if ac_fn_c_try_compile "$LINENO"; then :
15657 ac_cv_have_struct_sockaddr_in6="yes"
15658else
15659 ac_cv_have_struct_sockaddr_in6="no"
15660
15661fi
15662rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15663
15664fi
15665{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_sockaddr_in6" >&5
15666$as_echo "$ac_cv_have_struct_sockaddr_in6" >&6; }
15667if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then
15668
15669$as_echo "#define HAVE_STRUCT_SOCKADDR_IN6 1" >>confdefs.h
15670
15671fi
15672
15673{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct in6_addr" >&5
15674$as_echo_n "checking for struct in6_addr... " >&6; }
15675if ${ac_cv_have_struct_in6_addr+:} false; then :
15676 $as_echo_n "(cached) " >&6
15677else
15678
15679 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15680/* end confdefs.h. */
15681
15682#include <sys/types.h>
15683#include <netinet/in.h>
15684
15685int
15686main ()
15687{
15688 struct in6_addr s; s.s6_addr[0] = 0;
15689 ;
15690 return 0;
15691}
15692_ACEOF
15693if ac_fn_c_try_compile "$LINENO"; then :
15694 ac_cv_have_struct_in6_addr="yes"
15695else
15696 ac_cv_have_struct_in6_addr="no"
15697
15698fi
15699rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15700
15701fi
15702{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_in6_addr" >&5
15703$as_echo "$ac_cv_have_struct_in6_addr" >&6; }
15704if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then
15705
15706$as_echo "#define HAVE_STRUCT_IN6_ADDR 1" >>confdefs.h
15707
15708
15709 ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_scope_id" "ac_cv_member_struct_sockaddr_in6_sin6_scope_id" "
15710#ifdef HAVE_SYS_TYPES_H
15711#include <sys/types.h>
15712#endif
15713#include <netinet/in.h>
15714
15715"
15716if test "x$ac_cv_member_struct_sockaddr_in6_sin6_scope_id" = xyes; then :
15717
15718cat >>confdefs.h <<_ACEOF
15719#define HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1
15720_ACEOF
15721
15722
15723fi
15724
15725fi
15726
15727{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct addrinfo" >&5
15728$as_echo_n "checking for struct addrinfo... " >&6; }
15729if ${ac_cv_have_struct_addrinfo+:} false; then :
15730 $as_echo_n "(cached) " >&6
15731else
15732
15733 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15734/* end confdefs.h. */
15735
15736#include <sys/types.h>
15737#include <sys/socket.h>
15738#include <netdb.h>
15739
15740int
15741main ()
15742{
15743 struct addrinfo s; s.ai_flags = AI_PASSIVE;
15744 ;
15745 return 0;
15746}
15747_ACEOF
15748if ac_fn_c_try_compile "$LINENO"; then :
15749 ac_cv_have_struct_addrinfo="yes"
15750else
15751 ac_cv_have_struct_addrinfo="no"
15752
15753fi
15754rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15755
15756fi
15757{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_addrinfo" >&5
15758$as_echo "$ac_cv_have_struct_addrinfo" >&6; }
15759if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then
15760
15761$as_echo "#define HAVE_STRUCT_ADDRINFO 1" >>confdefs.h
15762
15763fi
15764
15765{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5
15766$as_echo_n "checking for struct timeval... " >&6; }
15767if ${ac_cv_have_struct_timeval+:} false; then :
15768 $as_echo_n "(cached) " >&6
15769else
15770
15771 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15772/* end confdefs.h. */
15773 #include <sys/time.h>
15774int
15775main ()
15776{
15777 struct timeval tv; tv.tv_sec = 1;
15778 ;
15779 return 0;
15780}
15781_ACEOF
15782if ac_fn_c_try_compile "$LINENO"; then :
15783 ac_cv_have_struct_timeval="yes"
15784else
15785 ac_cv_have_struct_timeval="no"
15786
15787fi
15788rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
15789
15790fi
15791{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_struct_timeval" >&5
15792$as_echo "$ac_cv_have_struct_timeval" >&6; }
15793if test "x$ac_cv_have_struct_timeval" = "xyes" ; then
15794
15795$as_echo "#define HAVE_STRUCT_TIMEVAL 1" >>confdefs.h
15796
15797 have_struct_timeval=1
15798fi
15799
15800ac_fn_c_check_type "$LINENO" "struct timespec" "ac_cv_type_struct_timespec" "$ac_includes_default"
15801if test "x$ac_cv_type_struct_timespec" = xyes; then :
15802
15803cat >>confdefs.h <<_ACEOF
15804#define HAVE_STRUCT_TIMESPEC 1
15805_ACEOF
15806
15807
15808fi
15809
15810
15811# We need int64_t or else certain parts of the compile will fail.
15812if test "x$ac_cv_have_int64_t" = "xno" && \
15813 test "x$ac_cv_sizeof_long_int" != "x8" && \
15814 test "x$ac_cv_sizeof_long_long_int" = "x0" ; then
15815 echo "OpenSSH requires int64_t support. Contact your vendor or install"
15816 echo "an alternative compiler (I.E., GCC) before continuing."
15817 echo ""
15818 exit 1;
15819else
15820 if test "$cross_compiling" = yes; then :
15821 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Assuming working snprintf()" >&5
15822$as_echo "$as_me: WARNING: cross compiling: Assuming working snprintf()" >&2;}
15823
15824else
15825 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15826/* end confdefs.h. */
15827
15828#include <stdio.h>
15829#include <string.h>
15830#ifdef HAVE_SNPRINTF
15831main()
15832{
15833 char buf[50];
15834 char expected_out[50];
15835 int mazsize = 50 ;
15836#if (SIZEOF_LONG_INT == 8)
15837 long int num = 0x7fffffffffffffff;
15838#else
15839 long long num = 0x7fffffffffffffffll;
15840#endif
15841 strcpy(expected_out, "9223372036854775807");
15842 snprintf(buf, mazsize, "%lld", num);
15843 if(strcmp(buf, expected_out) != 0)
15844 exit(1);
15845 exit(0);
15846}
15847#else
15848main() { exit(0); }
15849#endif
15850
15851_ACEOF
15852if ac_fn_c_try_run "$LINENO"; then :
15853 true
15854else
15855 $as_echo "#define BROKEN_SNPRINTF 1" >>confdefs.h
15856
15857fi
15858rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
15859 conftest.$ac_objext conftest.beam conftest.$ac_ext
15860fi
15861
15862fi
15863
15864
15865# look for field 'ut_host' in header 'utmp.h'
15866 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
15867 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host
15868 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmp.h" >&5
15869$as_echo_n "checking for ut_host field in utmp.h... " >&6; }
15870 if eval \${$ossh_varname+:} false; then :
15871 $as_echo_n "(cached) " >&6
15872else
15873
15874 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15875/* end confdefs.h. */
15876#include <utmp.h>
15877
15878_ACEOF
15879if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
15880 $EGREP "ut_host" >/dev/null 2>&1; then :
15881 eval "$ossh_varname=yes"
15882else
15883 eval "$ossh_varname=no"
15884fi
15885rm -f conftest*
15886
15887fi
15888
15889 ossh_result=`eval 'echo $'"$ossh_varname"`
15890 if test -n "`echo $ossh_varname`"; then
15891 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
15892$as_echo "$ossh_result" >&6; }
15893 if test "x$ossh_result" = "xyes"; then
15894
15895$as_echo "#define HAVE_HOST_IN_UTMP 1" >>confdefs.h
15896
15897 fi
15898 else
15899 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15900$as_echo "no" >&6; }
15901 fi
15902
15903
15904# look for field 'ut_host' in header 'utmpx.h'
15905 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
15906 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_host
15907 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_host field in utmpx.h" >&5
15908$as_echo_n "checking for ut_host field in utmpx.h... " >&6; }
15909 if eval \${$ossh_varname+:} false; then :
15910 $as_echo_n "(cached) " >&6
15911else
15912
15913 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15914/* end confdefs.h. */
15915#include <utmpx.h>
15916
15917_ACEOF
15918if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
15919 $EGREP "ut_host" >/dev/null 2>&1; then :
15920 eval "$ossh_varname=yes"
15921else
15922 eval "$ossh_varname=no"
15923fi
15924rm -f conftest*
15925
15926fi
15927
15928 ossh_result=`eval 'echo $'"$ossh_varname"`
15929 if test -n "`echo $ossh_varname`"; then
15930 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
15931$as_echo "$ossh_result" >&6; }
15932 if test "x$ossh_result" = "xyes"; then
15933
15934$as_echo "#define HAVE_HOST_IN_UTMPX 1" >>confdefs.h
15935
15936 fi
15937 else
15938 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15939$as_echo "no" >&6; }
15940 fi
15941
15942
15943# look for field 'syslen' in header 'utmpx.h'
15944 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
15945 ossh_varname="ossh_cv_$ossh_safe""_has_"syslen
15946 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslen field in utmpx.h" >&5
15947$as_echo_n "checking for syslen field in utmpx.h... " >&6; }
15948 if eval \${$ossh_varname+:} false; then :
15949 $as_echo_n "(cached) " >&6
15950else
15951
15952 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15953/* end confdefs.h. */
15954#include <utmpx.h>
15955
15956_ACEOF
15957if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
15958 $EGREP "syslen" >/dev/null 2>&1; then :
15959 eval "$ossh_varname=yes"
15960else
15961 eval "$ossh_varname=no"
15962fi
15963rm -f conftest*
15964
15965fi
15966
15967 ossh_result=`eval 'echo $'"$ossh_varname"`
15968 if test -n "`echo $ossh_varname`"; then
15969 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
15970$as_echo "$ossh_result" >&6; }
15971 if test "x$ossh_result" = "xyes"; then
15972
15973$as_echo "#define HAVE_SYSLEN_IN_UTMPX 1" >>confdefs.h
15974
15975 fi
15976 else
15977 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15978$as_echo "no" >&6; }
15979 fi
15980
15981
15982# look for field 'ut_pid' in header 'utmp.h'
15983 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
15984 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_pid
15985 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_pid field in utmp.h" >&5
15986$as_echo_n "checking for ut_pid field in utmp.h... " >&6; }
15987 if eval \${$ossh_varname+:} false; then :
15988 $as_echo_n "(cached) " >&6
15989else
15990
15991 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15992/* end confdefs.h. */
15993#include <utmp.h>
15994
15995_ACEOF
15996if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
15997 $EGREP "ut_pid" >/dev/null 2>&1; then :
15998 eval "$ossh_varname=yes"
15999else
16000 eval "$ossh_varname=no"
16001fi
16002rm -f conftest*
16003
16004fi
16005
16006 ossh_result=`eval 'echo $'"$ossh_varname"`
16007 if test -n "`echo $ossh_varname`"; then
16008 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16009$as_echo "$ossh_result" >&6; }
16010 if test "x$ossh_result" = "xyes"; then
16011
16012$as_echo "#define HAVE_PID_IN_UTMP 1" >>confdefs.h
16013
16014 fi
16015 else
16016 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16017$as_echo "no" >&6; }
16018 fi
16019
16020
16021# look for field 'ut_type' in header 'utmp.h'
16022 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16023 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type
16024 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmp.h" >&5
16025$as_echo_n "checking for ut_type field in utmp.h... " >&6; }
16026 if eval \${$ossh_varname+:} false; then :
16027 $as_echo_n "(cached) " >&6
16028else
16029
16030 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16031/* end confdefs.h. */
16032#include <utmp.h>
16033
16034_ACEOF
16035if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16036 $EGREP "ut_type" >/dev/null 2>&1; then :
16037 eval "$ossh_varname=yes"
16038else
16039 eval "$ossh_varname=no"
16040fi
16041rm -f conftest*
16042
16043fi
16044
16045 ossh_result=`eval 'echo $'"$ossh_varname"`
16046 if test -n "`echo $ossh_varname`"; then
16047 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16048$as_echo "$ossh_result" >&6; }
16049 if test "x$ossh_result" = "xyes"; then
16050
16051$as_echo "#define HAVE_TYPE_IN_UTMP 1" >>confdefs.h
16052
16053 fi
16054 else
16055 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16056$as_echo "no" >&6; }
16057 fi
16058
16059
16060# look for field 'ut_type' in header 'utmpx.h'
16061 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16062 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_type
16063 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_type field in utmpx.h" >&5
16064$as_echo_n "checking for ut_type field in utmpx.h... " >&6; }
16065 if eval \${$ossh_varname+:} false; then :
16066 $as_echo_n "(cached) " >&6
16067else
16068
16069 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16070/* end confdefs.h. */
16071#include <utmpx.h>
16072
16073_ACEOF
16074if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16075 $EGREP "ut_type" >/dev/null 2>&1; then :
16076 eval "$ossh_varname=yes"
16077else
16078 eval "$ossh_varname=no"
16079fi
16080rm -f conftest*
16081
16082fi
16083
16084 ossh_result=`eval 'echo $'"$ossh_varname"`
16085 if test -n "`echo $ossh_varname`"; then
16086 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16087$as_echo "$ossh_result" >&6; }
16088 if test "x$ossh_result" = "xyes"; then
16089
16090$as_echo "#define HAVE_TYPE_IN_UTMPX 1" >>confdefs.h
16091
16092 fi
16093 else
16094 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16095$as_echo "no" >&6; }
16096 fi
16097
16098
16099# look for field 'ut_tv' in header 'utmp.h'
16100 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16101 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv
16102 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmp.h" >&5
16103$as_echo_n "checking for ut_tv field in utmp.h... " >&6; }
16104 if eval \${$ossh_varname+:} false; then :
16105 $as_echo_n "(cached) " >&6
16106else
16107
16108 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16109/* end confdefs.h. */
16110#include <utmp.h>
16111
16112_ACEOF
16113if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16114 $EGREP "ut_tv" >/dev/null 2>&1; then :
16115 eval "$ossh_varname=yes"
16116else
16117 eval "$ossh_varname=no"
16118fi
16119rm -f conftest*
16120
16121fi
16122
16123 ossh_result=`eval 'echo $'"$ossh_varname"`
16124 if test -n "`echo $ossh_varname`"; then
16125 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16126$as_echo "$ossh_result" >&6; }
16127 if test "x$ossh_result" = "xyes"; then
16128
16129$as_echo "#define HAVE_TV_IN_UTMP 1" >>confdefs.h
16130
16131 fi
16132 else
16133 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16134$as_echo "no" >&6; }
16135 fi
16136
16137
16138# look for field 'ut_id' in header 'utmp.h'
16139 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16140 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id
16141 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmp.h" >&5
16142$as_echo_n "checking for ut_id field in utmp.h... " >&6; }
16143 if eval \${$ossh_varname+:} false; then :
16144 $as_echo_n "(cached) " >&6
16145else
16146
16147 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16148/* end confdefs.h. */
16149#include <utmp.h>
16150
16151_ACEOF
16152if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16153 $EGREP "ut_id" >/dev/null 2>&1; then :
16154 eval "$ossh_varname=yes"
16155else
16156 eval "$ossh_varname=no"
16157fi
16158rm -f conftest*
16159
16160fi
16161
16162 ossh_result=`eval 'echo $'"$ossh_varname"`
16163 if test -n "`echo $ossh_varname`"; then
16164 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16165$as_echo "$ossh_result" >&6; }
16166 if test "x$ossh_result" = "xyes"; then
16167
16168$as_echo "#define HAVE_ID_IN_UTMP 1" >>confdefs.h
16169
16170 fi
16171 else
16172 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16173$as_echo "no" >&6; }
16174 fi
16175
16176
16177# look for field 'ut_id' in header 'utmpx.h'
16178 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16179 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_id
16180 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_id field in utmpx.h" >&5
16181$as_echo_n "checking for ut_id field in utmpx.h... " >&6; }
16182 if eval \${$ossh_varname+:} false; then :
16183 $as_echo_n "(cached) " >&6
16184else
16185
16186 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16187/* end confdefs.h. */
16188#include <utmpx.h>
16189
16190_ACEOF
16191if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16192 $EGREP "ut_id" >/dev/null 2>&1; then :
16193 eval "$ossh_varname=yes"
16194else
16195 eval "$ossh_varname=no"
16196fi
16197rm -f conftest*
16198
16199fi
16200
16201 ossh_result=`eval 'echo $'"$ossh_varname"`
16202 if test -n "`echo $ossh_varname`"; then
16203 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16204$as_echo "$ossh_result" >&6; }
16205 if test "x$ossh_result" = "xyes"; then
16206
16207$as_echo "#define HAVE_ID_IN_UTMPX 1" >>confdefs.h
16208
16209 fi
16210 else
16211 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16212$as_echo "no" >&6; }
16213 fi
16214
16215
16216# look for field 'ut_addr' in header 'utmp.h'
16217 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16218 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr
16219 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmp.h" >&5
16220$as_echo_n "checking for ut_addr field in utmp.h... " >&6; }
16221 if eval \${$ossh_varname+:} false; then :
16222 $as_echo_n "(cached) " >&6
16223else
16224
16225 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16226/* end confdefs.h. */
16227#include <utmp.h>
16228
16229_ACEOF
16230if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16231 $EGREP "ut_addr" >/dev/null 2>&1; then :
16232 eval "$ossh_varname=yes"
16233else
16234 eval "$ossh_varname=no"
16235fi
16236rm -f conftest*
16237
16238fi
16239
16240 ossh_result=`eval 'echo $'"$ossh_varname"`
16241 if test -n "`echo $ossh_varname`"; then
16242 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16243$as_echo "$ossh_result" >&6; }
16244 if test "x$ossh_result" = "xyes"; then
16245
16246$as_echo "#define HAVE_ADDR_IN_UTMP 1" >>confdefs.h
16247
16248 fi
16249 else
16250 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16251$as_echo "no" >&6; }
16252 fi
16253
16254
16255# look for field 'ut_addr' in header 'utmpx.h'
16256 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16257 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr
16258 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr field in utmpx.h" >&5
16259$as_echo_n "checking for ut_addr field in utmpx.h... " >&6; }
16260 if eval \${$ossh_varname+:} false; then :
16261 $as_echo_n "(cached) " >&6
16262else
16263
16264 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16265/* end confdefs.h. */
16266#include <utmpx.h>
16267
16268_ACEOF
16269if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16270 $EGREP "ut_addr" >/dev/null 2>&1; then :
16271 eval "$ossh_varname=yes"
16272else
16273 eval "$ossh_varname=no"
16274fi
16275rm -f conftest*
16276
16277fi
16278
16279 ossh_result=`eval 'echo $'"$ossh_varname"`
16280 if test -n "`echo $ossh_varname`"; then
16281 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16282$as_echo "$ossh_result" >&6; }
16283 if test "x$ossh_result" = "xyes"; then
16284
16285$as_echo "#define HAVE_ADDR_IN_UTMPX 1" >>confdefs.h
16286
16287 fi
16288 else
16289 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16290$as_echo "no" >&6; }
16291 fi
16292
16293
16294# look for field 'ut_addr_v6' in header 'utmp.h'
16295 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16296 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6
16297 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmp.h" >&5
16298$as_echo_n "checking for ut_addr_v6 field in utmp.h... " >&6; }
16299 if eval \${$ossh_varname+:} false; then :
16300 $as_echo_n "(cached) " >&6
16301else
16302
16303 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16304/* end confdefs.h. */
16305#include <utmp.h>
16306
16307_ACEOF
16308if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16309 $EGREP "ut_addr_v6" >/dev/null 2>&1; then :
16310 eval "$ossh_varname=yes"
16311else
16312 eval "$ossh_varname=no"
16313fi
16314rm -f conftest*
16315
16316fi
16317
16318 ossh_result=`eval 'echo $'"$ossh_varname"`
16319 if test -n "`echo $ossh_varname`"; then
16320 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16321$as_echo "$ossh_result" >&6; }
16322 if test "x$ossh_result" = "xyes"; then
16323
16324$as_echo "#define HAVE_ADDR_V6_IN_UTMP 1" >>confdefs.h
16325
16326 fi
16327 else
16328 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16329$as_echo "no" >&6; }
16330 fi
16331
16332
16333# look for field 'ut_addr_v6' in header 'utmpx.h'
16334 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16335 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_addr_v6
16336 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_addr_v6 field in utmpx.h" >&5
16337$as_echo_n "checking for ut_addr_v6 field in utmpx.h... " >&6; }
16338 if eval \${$ossh_varname+:} false; then :
16339 $as_echo_n "(cached) " >&6
16340else
16341
16342 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16343/* end confdefs.h. */
16344#include <utmpx.h>
16345
16346_ACEOF
16347if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16348 $EGREP "ut_addr_v6" >/dev/null 2>&1; then :
16349 eval "$ossh_varname=yes"
16350else
16351 eval "$ossh_varname=no"
16352fi
16353rm -f conftest*
16354
16355fi
16356
16357 ossh_result=`eval 'echo $'"$ossh_varname"`
16358 if test -n "`echo $ossh_varname`"; then
16359 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16360$as_echo "$ossh_result" >&6; }
16361 if test "x$ossh_result" = "xyes"; then
16362
16363$as_echo "#define HAVE_ADDR_V6_IN_UTMPX 1" >>confdefs.h
16364
16365 fi
16366 else
16367 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16368$as_echo "no" >&6; }
16369 fi
16370
16371
16372# look for field 'ut_exit' in header 'utmp.h'
16373 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16374 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_exit
16375 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_exit field in utmp.h" >&5
16376$as_echo_n "checking for ut_exit field in utmp.h... " >&6; }
16377 if eval \${$ossh_varname+:} false; then :
16378 $as_echo_n "(cached) " >&6
16379else
16380
16381 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16382/* end confdefs.h. */
16383#include <utmp.h>
16384
16385_ACEOF
16386if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16387 $EGREP "ut_exit" >/dev/null 2>&1; then :
16388 eval "$ossh_varname=yes"
16389else
16390 eval "$ossh_varname=no"
16391fi
16392rm -f conftest*
16393
16394fi
16395
16396 ossh_result=`eval 'echo $'"$ossh_varname"`
16397 if test -n "`echo $ossh_varname`"; then
16398 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16399$as_echo "$ossh_result" >&6; }
16400 if test "x$ossh_result" = "xyes"; then
16401
16402$as_echo "#define HAVE_EXIT_IN_UTMP 1" >>confdefs.h
16403
16404 fi
16405 else
16406 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16407$as_echo "no" >&6; }
16408 fi
16409
16410
16411# look for field 'ut_time' in header 'utmp.h'
16412 ossh_safe=`echo "utmp.h" | sed 'y%./+-%__p_%'`
16413 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time
16414 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmp.h" >&5
16415$as_echo_n "checking for ut_time field in utmp.h... " >&6; }
16416 if eval \${$ossh_varname+:} false; then :
16417 $as_echo_n "(cached) " >&6
16418else
16419
16420 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16421/* end confdefs.h. */
16422#include <utmp.h>
16423
16424_ACEOF
16425if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16426 $EGREP "ut_time" >/dev/null 2>&1; then :
16427 eval "$ossh_varname=yes"
16428else
16429 eval "$ossh_varname=no"
16430fi
16431rm -f conftest*
16432
16433fi
16434
16435 ossh_result=`eval 'echo $'"$ossh_varname"`
16436 if test -n "`echo $ossh_varname`"; then
16437 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16438$as_echo "$ossh_result" >&6; }
16439 if test "x$ossh_result" = "xyes"; then
16440
16441$as_echo "#define HAVE_TIME_IN_UTMP 1" >>confdefs.h
16442
16443 fi
16444 else
16445 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16446$as_echo "no" >&6; }
16447 fi
16448
16449
16450# look for field 'ut_time' in header 'utmpx.h'
16451 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16452 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_time
16453 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_time field in utmpx.h" >&5
16454$as_echo_n "checking for ut_time field in utmpx.h... " >&6; }
16455 if eval \${$ossh_varname+:} false; then :
16456 $as_echo_n "(cached) " >&6
16457else
16458
16459 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16460/* end confdefs.h. */
16461#include <utmpx.h>
16462
16463_ACEOF
16464if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16465 $EGREP "ut_time" >/dev/null 2>&1; then :
16466 eval "$ossh_varname=yes"
16467else
16468 eval "$ossh_varname=no"
16469fi
16470rm -f conftest*
16471
16472fi
16473
16474 ossh_result=`eval 'echo $'"$ossh_varname"`
16475 if test -n "`echo $ossh_varname`"; then
16476 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16477$as_echo "$ossh_result" >&6; }
16478 if test "x$ossh_result" = "xyes"; then
16479
16480$as_echo "#define HAVE_TIME_IN_UTMPX 1" >>confdefs.h
16481
16482 fi
16483 else
16484 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16485$as_echo "no" >&6; }
16486 fi
16487
16488
16489# look for field 'ut_tv' in header 'utmpx.h'
16490 ossh_safe=`echo "utmpx.h" | sed 'y%./+-%__p_%'`
16491 ossh_varname="ossh_cv_$ossh_safe""_has_"ut_tv
16492 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ut_tv field in utmpx.h" >&5
16493$as_echo_n "checking for ut_tv field in utmpx.h... " >&6; }
16494 if eval \${$ossh_varname+:} false; then :
16495 $as_echo_n "(cached) " >&6
16496else
16497
16498 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16499/* end confdefs.h. */
16500#include <utmpx.h>
16501
16502_ACEOF
16503if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
16504 $EGREP "ut_tv" >/dev/null 2>&1; then :
16505 eval "$ossh_varname=yes"
16506else
16507 eval "$ossh_varname=no"
16508fi
16509rm -f conftest*
16510
16511fi
16512
16513 ossh_result=`eval 'echo $'"$ossh_varname"`
16514 if test -n "`echo $ossh_varname`"; then
16515 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ossh_result" >&5
16516$as_echo "$ossh_result" >&6; }
16517 if test "x$ossh_result" = "xyes"; then
16518
16519$as_echo "#define HAVE_TV_IN_UTMPX 1" >>confdefs.h
16520
16521 fi
16522 else
16523 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16524$as_echo "no" >&6; }
16525 fi
16526
16527
16528ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default"
16529if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
16530
16531cat >>confdefs.h <<_ACEOF
16532#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
16533_ACEOF
16534
16535
16536fi
16537
16538ac_fn_c_check_member "$LINENO" "struct stat" "st_mtim" "ac_cv_member_struct_stat_st_mtim" "$ac_includes_default"
16539if test "x$ac_cv_member_struct_stat_st_mtim" = xyes; then :
16540
16541cat >>confdefs.h <<_ACEOF
16542#define HAVE_STRUCT_STAT_ST_MTIM 1
16543_ACEOF
16544
16545
16546fi
16547
16548ac_fn_c_check_member "$LINENO" "struct stat" "st_mtime" "ac_cv_member_struct_stat_st_mtime" "$ac_includes_default"
16549if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
16550
16551cat >>confdefs.h <<_ACEOF
16552#define HAVE_STRUCT_STAT_ST_MTIME 1
16553_ACEOF
16554
16555
16556fi
16557
16558ac_fn_c_check_member "$LINENO" "struct passwd" "pw_gecos" "ac_cv_member_struct_passwd_pw_gecos" "
16559#include <sys/types.h>
16560#include <pwd.h>
16561
16562"
16563if test "x$ac_cv_member_struct_passwd_pw_gecos" = xyes; then :
16564
16565cat >>confdefs.h <<_ACEOF
16566#define HAVE_STRUCT_PASSWD_PW_GECOS 1
16567_ACEOF
16568
16569
16570fi
16571ac_fn_c_check_member "$LINENO" "struct passwd" "pw_class" "ac_cv_member_struct_passwd_pw_class" "
16572#include <sys/types.h>
16573#include <pwd.h>
16574
16575"
16576if test "x$ac_cv_member_struct_passwd_pw_class" = xyes; then :
16577
16578cat >>confdefs.h <<_ACEOF
16579#define HAVE_STRUCT_PASSWD_PW_CLASS 1
16580_ACEOF
16581
16582
16583fi
16584ac_fn_c_check_member "$LINENO" "struct passwd" "pw_change" "ac_cv_member_struct_passwd_pw_change" "
16585#include <sys/types.h>
16586#include <pwd.h>
16587
16588"
16589if test "x$ac_cv_member_struct_passwd_pw_change" = xyes; then :
16590
16591cat >>confdefs.h <<_ACEOF
16592#define HAVE_STRUCT_PASSWD_PW_CHANGE 1
16593_ACEOF
16594
16595
16596fi
16597ac_fn_c_check_member "$LINENO" "struct passwd" "pw_expire" "ac_cv_member_struct_passwd_pw_expire" "
16598#include <sys/types.h>
16599#include <pwd.h>
16600
16601"
16602if test "x$ac_cv_member_struct_passwd_pw_expire" = xyes; then :
16603
16604cat >>confdefs.h <<_ACEOF
16605#define HAVE_STRUCT_PASSWD_PW_EXPIRE 1
16606_ACEOF
16607
16608
16609fi
16610
16611
16612ac_fn_c_check_member "$LINENO" "struct __res_state" "retrans" "ac_cv_member_struct___res_state_retrans" "
16613#include <stdio.h>
16614#if HAVE_SYS_TYPES_H
16615# include <sys/types.h>
16616#endif
16617#include <netinet/in.h>
16618#include <arpa/nameser.h>
16619#include <resolv.h>
16620
16621"
16622if test "x$ac_cv_member_struct___res_state_retrans" = xyes; then :
16623
16624else
16625
16626$as_echo "#define __res_state state" >>confdefs.h
16627
16628fi
16629
16630
16631{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ss_family field in struct sockaddr_storage" >&5
16632$as_echo_n "checking for ss_family field in struct sockaddr_storage... " >&6; }
16633if ${ac_cv_have_ss_family_in_struct_ss+:} false; then :
16634 $as_echo_n "(cached) " >&6
16635else
16636
16637 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16638/* end confdefs.h. */
16639
16640#include <sys/types.h>
16641#include <sys/socket.h>
16642
16643int
16644main ()
16645{
16646 struct sockaddr_storage s; s.ss_family = 1;
16647 ;
16648 return 0;
16649}
16650_ACEOF
16651if ac_fn_c_try_compile "$LINENO"; then :
16652 ac_cv_have_ss_family_in_struct_ss="yes"
16653else
16654 ac_cv_have_ss_family_in_struct_ss="no"
16655fi
16656rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16657
16658fi
16659{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ss_family_in_struct_ss" >&5
16660$as_echo "$ac_cv_have_ss_family_in_struct_ss" >&6; }
16661if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then
16662
16663$as_echo "#define HAVE_SS_FAMILY_IN_SS 1" >>confdefs.h
16664
16665fi
16666
16667{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __ss_family field in struct sockaddr_storage" >&5
16668$as_echo_n "checking for __ss_family field in struct sockaddr_storage... " >&6; }
16669if ${ac_cv_have___ss_family_in_struct_ss+:} false; then :
16670 $as_echo_n "(cached) " >&6
16671else
16672
16673 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16674/* end confdefs.h. */
16675
16676#include <sys/types.h>
16677#include <sys/socket.h>
16678
16679int
16680main ()
16681{
16682 struct sockaddr_storage s; s.__ss_family = 1;
16683 ;
16684 return 0;
16685}
16686_ACEOF
16687if ac_fn_c_try_compile "$LINENO"; then :
16688 ac_cv_have___ss_family_in_struct_ss="yes"
16689else
16690 ac_cv_have___ss_family_in_struct_ss="no"
16691
16692fi
16693rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16694
16695fi
16696{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___ss_family_in_struct_ss" >&5
16697$as_echo "$ac_cv_have___ss_family_in_struct_ss" >&6; }
16698if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then
16699
16700$as_echo "#define HAVE___SS_FAMILY_IN_SS 1" >>confdefs.h
16701
16702fi
16703
16704{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_accrights field in struct msghdr" >&5
16705$as_echo_n "checking for msg_accrights field in struct msghdr... " >&6; }
16706if ${ac_cv_have_accrights_in_msghdr+:} false; then :
16707 $as_echo_n "(cached) " >&6
16708else
16709
16710 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16711/* end confdefs.h. */
16712
16713#include <sys/types.h>
16714#include <sys/socket.h>
16715#include <sys/uio.h>
16716
16717int
16718main ()
16719{
16720
16721#ifdef msg_accrights
16722#error "msg_accrights is a macro"
16723exit(1);
16724#endif
16725struct msghdr m;
16726m.msg_accrights = 0;
16727exit(0);
16728
16729 ;
16730 return 0;
16731}
16732_ACEOF
16733if ac_fn_c_try_compile "$LINENO"; then :
16734 ac_cv_have_accrights_in_msghdr="yes"
16735else
16736 ac_cv_have_accrights_in_msghdr="no"
16737
16738fi
16739rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16740
16741fi
16742{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_accrights_in_msghdr" >&5
16743$as_echo "$ac_cv_have_accrights_in_msghdr" >&6; }
16744if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then
16745
16746$as_echo "#define HAVE_ACCRIGHTS_IN_MSGHDR 1" >>confdefs.h
16747
16748fi
16749
16750{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct statvfs.f_fsid is integral type" >&5
16751$as_echo_n "checking if struct statvfs.f_fsid is integral type... " >&6; }
16752cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16753/* end confdefs.h. */
16754
16755#include <sys/param.h>
16756#include <sys/stat.h>
16757#ifdef HAVE_SYS_TIME_H
16758# include <sys/time.h>
16759#endif
16760#ifdef HAVE_SYS_MOUNT_H
16761#include <sys/mount.h>
16762#endif
16763#ifdef HAVE_SYS_STATVFS_H
16764#include <sys/statvfs.h>
16765#endif
16766
16767int
16768main ()
16769{
16770 struct statvfs s; s.f_fsid = 0;
16771 ;
16772 return 0;
16773}
16774_ACEOF
16775if ac_fn_c_try_compile "$LINENO"; then :
16776 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16777$as_echo "yes" >&6; }
16778else
16779 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16780$as_echo "no" >&6; }
16781
16782 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if fsid_t has member val" >&5
16783$as_echo_n "checking if fsid_t has member val... " >&6; }
16784 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16785/* end confdefs.h. */
16786
16787#include <sys/types.h>
16788#include <sys/statvfs.h>
16789
16790int
16791main ()
16792{
16793 fsid_t t; t.val[0] = 0;
16794 ;
16795 return 0;
16796}
16797_ACEOF
16798if ac_fn_c_try_compile "$LINENO"; then :
16799 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16800$as_echo "yes" >&6; }
16801
16802$as_echo "#define FSID_HAS_VAL 1" >>confdefs.h
16803
16804else
16805 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16806$as_echo "no" >&6; }
16807fi
16808rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16809
16810 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if f_fsid has member __val" >&5
16811$as_echo_n "checking if f_fsid has member __val... " >&6; }
16812 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16813/* end confdefs.h. */
16814
16815#include <sys/types.h>
16816#include <sys/statvfs.h>
16817
16818int
16819main ()
16820{
16821 fsid_t t; t.__val[0] = 0;
16822 ;
16823 return 0;
16824}
16825_ACEOF
16826if ac_fn_c_try_compile "$LINENO"; then :
16827 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16828$as_echo "yes" >&6; }
16829
16830$as_echo "#define FSID_HAS___VAL 1" >>confdefs.h
16831
16832else
16833 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16834$as_echo "no" >&6; }
16835fi
16836rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16837
16838fi
16839rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16840
16841{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for msg_control field in struct msghdr" >&5
16842$as_echo_n "checking for msg_control field in struct msghdr... " >&6; }
16843if ${ac_cv_have_control_in_msghdr+:} false; then :
16844 $as_echo_n "(cached) " >&6
16845else
16846
16847 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16848/* end confdefs.h. */
16849
16850#include <sys/types.h>
16851#include <sys/socket.h>
16852#include <sys/uio.h>
16853
16854int
16855main ()
16856{
16857
16858#ifdef msg_control
16859#error "msg_control is a macro"
16860exit(1);
16861#endif
16862struct msghdr m;
16863m.msg_control = 0;
16864exit(0);
16865
16866 ;
16867 return 0;
16868}
16869_ACEOF
16870if ac_fn_c_try_compile "$LINENO"; then :
16871 ac_cv_have_control_in_msghdr="yes"
16872else
16873 ac_cv_have_control_in_msghdr="no"
16874
16875fi
16876rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16877
16878fi
16879{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_control_in_msghdr" >&5
16880$as_echo "$ac_cv_have_control_in_msghdr" >&6; }
16881if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then
16882
16883$as_echo "#define HAVE_CONTROL_IN_MSGHDR 1" >>confdefs.h
16884
16885fi
16886
16887{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines __progname" >&5
16888$as_echo_n "checking if libc defines __progname... " >&6; }
16889if ${ac_cv_libc_defines___progname+:} false; then :
16890 $as_echo_n "(cached) " >&6
16891else
16892
16893 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16894/* end confdefs.h. */
16895
16896int
16897main ()
16898{
16899 extern char *__progname; printf("%s", __progname);
16900 ;
16901 return 0;
16902}
16903_ACEOF
16904if ac_fn_c_try_link "$LINENO"; then :
16905 ac_cv_libc_defines___progname="yes"
16906else
16907 ac_cv_libc_defines___progname="no"
16908
16909fi
16910rm -f core conftest.err conftest.$ac_objext \
16911 conftest$ac_exeext conftest.$ac_ext
16912
16913fi
16914{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines___progname" >&5
16915$as_echo "$ac_cv_libc_defines___progname" >&6; }
16916if test "x$ac_cv_libc_defines___progname" = "xyes" ; then
16917
16918$as_echo "#define HAVE___PROGNAME 1" >>confdefs.h
16919
16920fi
16921
16922{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __FUNCTION__" >&5
16923$as_echo_n "checking whether $CC implements __FUNCTION__... " >&6; }
16924if ${ac_cv_cc_implements___FUNCTION__+:} false; then :
16925 $as_echo_n "(cached) " >&6
16926else
16927
16928 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16929/* end confdefs.h. */
16930 #include <stdio.h>
16931int
16932main ()
16933{
16934 printf("%s", __FUNCTION__);
16935 ;
16936 return 0;
16937}
16938_ACEOF
16939if ac_fn_c_try_link "$LINENO"; then :
16940 ac_cv_cc_implements___FUNCTION__="yes"
16941else
16942 ac_cv_cc_implements___FUNCTION__="no"
16943
16944fi
16945rm -f core conftest.err conftest.$ac_objext \
16946 conftest$ac_exeext conftest.$ac_ext
16947
16948fi
16949{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___FUNCTION__" >&5
16950$as_echo "$ac_cv_cc_implements___FUNCTION__" >&6; }
16951if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then
16952
16953$as_echo "#define HAVE___FUNCTION__ 1" >>confdefs.h
16954
16955fi
16956
16957{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC implements __func__" >&5
16958$as_echo_n "checking whether $CC implements __func__... " >&6; }
16959if ${ac_cv_cc_implements___func__+:} false; then :
16960 $as_echo_n "(cached) " >&6
16961else
16962
16963 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16964/* end confdefs.h. */
16965 #include <stdio.h>
16966int
16967main ()
16968{
16969 printf("%s", __func__);
16970 ;
16971 return 0;
16972}
16973_ACEOF
16974if ac_fn_c_try_link "$LINENO"; then :
16975 ac_cv_cc_implements___func__="yes"
16976else
16977 ac_cv_cc_implements___func__="no"
16978
16979fi
16980rm -f core conftest.err conftest.$ac_objext \
16981 conftest$ac_exeext conftest.$ac_ext
16982
16983fi
16984{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_implements___func__" >&5
16985$as_echo "$ac_cv_cc_implements___func__" >&6; }
16986if test "x$ac_cv_cc_implements___func__" = "xyes" ; then
16987
16988$as_echo "#define HAVE___func__ 1" >>confdefs.h
16989
16990fi
16991
16992{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether va_copy exists" >&5
16993$as_echo_n "checking whether va_copy exists... " >&6; }
16994if ${ac_cv_have_va_copy+:} false; then :
16995 $as_echo_n "(cached) " >&6
16996else
16997
16998 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16999/* end confdefs.h. */
17000
17001#include <stdarg.h>
17002va_list x,y;
17003
17004int
17005main ()
17006{
17007 va_copy(x,y);
17008 ;
17009 return 0;
17010}
17011_ACEOF
17012if ac_fn_c_try_link "$LINENO"; then :
17013 ac_cv_have_va_copy="yes"
17014else
17015 ac_cv_have_va_copy="no"
17016
17017fi
17018rm -f core conftest.err conftest.$ac_objext \
17019 conftest$ac_exeext conftest.$ac_ext
17020
17021fi
17022{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_va_copy" >&5
17023$as_echo "$ac_cv_have_va_copy" >&6; }
17024if test "x$ac_cv_have_va_copy" = "xyes" ; then
17025
17026$as_echo "#define HAVE_VA_COPY 1" >>confdefs.h
17027
17028fi
17029
17030{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __va_copy exists" >&5
17031$as_echo_n "checking whether __va_copy exists... " >&6; }
17032if ${ac_cv_have___va_copy+:} false; then :
17033 $as_echo_n "(cached) " >&6
17034else
17035
17036 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17037/* end confdefs.h. */
17038
17039#include <stdarg.h>
17040va_list x,y;
17041
17042int
17043main ()
17044{
17045 __va_copy(x,y);
17046 ;
17047 return 0;
17048}
17049_ACEOF
17050if ac_fn_c_try_link "$LINENO"; then :
17051 ac_cv_have___va_copy="yes"
17052else
17053 ac_cv_have___va_copy="no"
17054
17055fi
17056rm -f core conftest.err conftest.$ac_objext \
17057 conftest$ac_exeext conftest.$ac_ext
17058
17059fi
17060{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___va_copy" >&5
17061$as_echo "$ac_cv_have___va_copy" >&6; }
17062if test "x$ac_cv_have___va_copy" = "xyes" ; then
17063
17064$as_echo "#define HAVE___VA_COPY 1" >>confdefs.h
17065
17066fi
17067
17068{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt has optreset support" >&5
17069$as_echo_n "checking whether getopt has optreset support... " >&6; }
17070if ${ac_cv_have_getopt_optreset+:} false; then :
17071 $as_echo_n "(cached) " >&6
17072else
17073
17074 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17075/* end confdefs.h. */
17076 #include <getopt.h>
17077int
17078main ()
17079{
17080 extern int optreset; optreset = 0;
17081 ;
17082 return 0;
17083}
17084_ACEOF
17085if ac_fn_c_try_link "$LINENO"; then :
17086 ac_cv_have_getopt_optreset="yes"
17087else
17088 ac_cv_have_getopt_optreset="no"
17089
17090fi
17091rm -f core conftest.err conftest.$ac_objext \
17092 conftest$ac_exeext conftest.$ac_ext
17093
17094fi
17095{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_getopt_optreset" >&5
17096$as_echo "$ac_cv_have_getopt_optreset" >&6; }
17097if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then
17098
17099$as_echo "#define HAVE_GETOPT_OPTRESET 1" >>confdefs.h
17100
17101fi
17102
17103{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_errlist" >&5
17104$as_echo_n "checking if libc defines sys_errlist... " >&6; }
17105if ${ac_cv_libc_defines_sys_errlist+:} false; then :
17106 $as_echo_n "(cached) " >&6
17107else
17108
17109 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17110/* end confdefs.h. */
17111
17112int
17113main ()
17114{
17115 extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);
17116 ;
17117 return 0;
17118}
17119_ACEOF
17120if ac_fn_c_try_link "$LINENO"; then :
17121 ac_cv_libc_defines_sys_errlist="yes"
17122else
17123 ac_cv_libc_defines_sys_errlist="no"
17124
17125fi
17126rm -f core conftest.err conftest.$ac_objext \
17127 conftest$ac_exeext conftest.$ac_ext
17128
17129fi
17130{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_errlist" >&5
17131$as_echo "$ac_cv_libc_defines_sys_errlist" >&6; }
17132if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then
17133
17134$as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h
17135
17136fi
17137
17138
17139{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libc defines sys_nerr" >&5
17140$as_echo_n "checking if libc defines sys_nerr... " >&6; }
17141if ${ac_cv_libc_defines_sys_nerr+:} false; then :
17142 $as_echo_n "(cached) " >&6
17143else
17144
17145 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17146/* end confdefs.h. */
17147
17148int
17149main ()
17150{
17151 extern int sys_nerr; printf("%i", sys_nerr);
17152 ;
17153 return 0;
17154}
17155_ACEOF
17156if ac_fn_c_try_link "$LINENO"; then :
17157 ac_cv_libc_defines_sys_nerr="yes"
17158else
17159 ac_cv_libc_defines_sys_nerr="no"
17160
17161fi
17162rm -f core conftest.err conftest.$ac_objext \
17163 conftest$ac_exeext conftest.$ac_ext
17164
17165fi
17166{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libc_defines_sys_nerr" >&5
17167$as_echo "$ac_cv_libc_defines_sys_nerr" >&6; }
17168if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then
17169
17170$as_echo "#define HAVE_SYS_NERR 1" >>confdefs.h
17171
17172fi
17173
17174# Check libraries needed by DNS fingerprint support
17175{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getrrsetbyname" >&5
17176$as_echo_n "checking for library containing getrrsetbyname... " >&6; }
17177if ${ac_cv_search_getrrsetbyname+:} false; then :
17178 $as_echo_n "(cached) " >&6
17179else
17180 ac_func_search_save_LIBS=$LIBS
17181cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17182/* end confdefs.h. */
17183
17184/* Override any GCC internal prototype to avoid an error.
17185 Use char because int might match the return type of a GCC
17186 builtin and then its argument prototype would still apply. */
17187#ifdef __cplusplus
17188extern "C"
17189#endif
17190char getrrsetbyname ();
17191int
17192main ()
17193{
17194return getrrsetbyname ();
17195 ;
17196 return 0;
17197}
17198_ACEOF
17199for ac_lib in '' resolv; do
17200 if test -z "$ac_lib"; then
17201 ac_res="none required"
17202 else
17203 ac_res=-l$ac_lib
17204 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17205 fi
17206 if ac_fn_c_try_link "$LINENO"; then :
17207 ac_cv_search_getrrsetbyname=$ac_res
17208fi
17209rm -f core conftest.err conftest.$ac_objext \
17210 conftest$ac_exeext
17211 if ${ac_cv_search_getrrsetbyname+:} false; then :
17212 break
17213fi
17214done
17215if ${ac_cv_search_getrrsetbyname+:} false; then :
17216
17217else
17218 ac_cv_search_getrrsetbyname=no
17219fi
17220rm conftest.$ac_ext
17221LIBS=$ac_func_search_save_LIBS
17222fi
17223{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getrrsetbyname" >&5
17224$as_echo "$ac_cv_search_getrrsetbyname" >&6; }
17225ac_res=$ac_cv_search_getrrsetbyname
17226if test "$ac_res" != no; then :
17227 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
17228
17229$as_echo "#define HAVE_GETRRSETBYNAME 1" >>confdefs.h
17230
17231else
17232
17233 # Needed by our getrrsetbyname()
17234 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing res_query" >&5
17235$as_echo_n "checking for library containing res_query... " >&6; }
17236if ${ac_cv_search_res_query+:} false; then :
17237 $as_echo_n "(cached) " >&6
17238else
17239 ac_func_search_save_LIBS=$LIBS
17240cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17241/* end confdefs.h. */
17242
17243/* Override any GCC internal prototype to avoid an error.
17244 Use char because int might match the return type of a GCC
17245 builtin and then its argument prototype would still apply. */
17246#ifdef __cplusplus
17247extern "C"
17248#endif
17249char res_query ();
17250int
17251main ()
17252{
17253return res_query ();
17254 ;
17255 return 0;
17256}
17257_ACEOF
17258for ac_lib in '' resolv; do
17259 if test -z "$ac_lib"; then
17260 ac_res="none required"
17261 else
17262 ac_res=-l$ac_lib
17263 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17264 fi
17265 if ac_fn_c_try_link "$LINENO"; then :
17266 ac_cv_search_res_query=$ac_res
17267fi
17268rm -f core conftest.err conftest.$ac_objext \
17269 conftest$ac_exeext
17270 if ${ac_cv_search_res_query+:} false; then :
17271 break
17272fi
17273done
17274if ${ac_cv_search_res_query+:} false; then :
17275
17276else
17277 ac_cv_search_res_query=no
17278fi
17279rm conftest.$ac_ext
17280LIBS=$ac_func_search_save_LIBS
17281fi
17282{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_res_query" >&5
17283$as_echo "$ac_cv_search_res_query" >&6; }
17284ac_res=$ac_cv_search_res_query
17285if test "$ac_res" != no; then :
17286 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
17287
17288fi
17289
17290 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
17291$as_echo_n "checking for library containing dn_expand... " >&6; }
17292if ${ac_cv_search_dn_expand+:} false; then :
17293 $as_echo_n "(cached) " >&6
17294else
17295 ac_func_search_save_LIBS=$LIBS
17296cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17297/* end confdefs.h. */
17298
17299/* Override any GCC internal prototype to avoid an error.
17300 Use char because int might match the return type of a GCC
17301 builtin and then its argument prototype would still apply. */
17302#ifdef __cplusplus
17303extern "C"
17304#endif
17305char dn_expand ();
17306int
17307main ()
17308{
17309return dn_expand ();
17310 ;
17311 return 0;
17312}
17313_ACEOF
17314for ac_lib in '' resolv; do
17315 if test -z "$ac_lib"; then
17316 ac_res="none required"
17317 else
17318 ac_res=-l$ac_lib
17319 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17320 fi
17321 if ac_fn_c_try_link "$LINENO"; then :
17322 ac_cv_search_dn_expand=$ac_res
17323fi
17324rm -f core conftest.err conftest.$ac_objext \
17325 conftest$ac_exeext
17326 if ${ac_cv_search_dn_expand+:} false; then :
17327 break
17328fi
17329done
17330if ${ac_cv_search_dn_expand+:} false; then :
17331
17332else
17333 ac_cv_search_dn_expand=no
17334fi
17335rm conftest.$ac_ext
17336LIBS=$ac_func_search_save_LIBS
17337fi
17338{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5
17339$as_echo "$ac_cv_search_dn_expand" >&6; }
17340ac_res=$ac_cv_search_dn_expand
17341if test "$ac_res" != no; then :
17342 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
17343
17344fi
17345
17346 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if res_query will link" >&5
17347$as_echo_n "checking if res_query will link... " >&6; }
17348 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17349/* end confdefs.h. */
17350
17351#include <sys/types.h>
17352#include <netinet/in.h>
17353#include <arpa/nameser.h>
17354#include <netdb.h>
17355#include <resolv.h>
17356
17357int
17358main ()
17359{
17360
17361 res_query (0, 0, 0, 0, 0);
17362
17363 ;
17364 return 0;
17365}
17366_ACEOF
17367if ac_fn_c_try_link "$LINENO"; then :
17368 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17369$as_echo "yes" >&6; }
17370else
17371 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17372$as_echo "no" >&6; }
17373 saved_LIBS="$LIBS"
17374 LIBS="$LIBS -lresolv"
17375 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for res_query in -lresolv" >&5
17376$as_echo_n "checking for res_query in -lresolv... " >&6; }
17377 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17378/* end confdefs.h. */
17379
17380#include <sys/types.h>
17381#include <netinet/in.h>
17382#include <arpa/nameser.h>
17383#include <netdb.h>
17384#include <resolv.h>
17385
17386int
17387main ()
17388{
17389
17390 res_query (0, 0, 0, 0, 0);
17391
17392 ;
17393 return 0;
17394}
17395_ACEOF
17396if ac_fn_c_try_link "$LINENO"; then :
17397 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17398$as_echo "yes" >&6; }
17399else
17400 LIBS="$saved_LIBS"
17401 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17402$as_echo "no" >&6; }
17403fi
17404rm -f core conftest.err conftest.$ac_objext \
17405 conftest$ac_exeext conftest.$ac_ext
17406
17407fi
17408rm -f core conftest.err conftest.$ac_objext \
17409 conftest$ac_exeext conftest.$ac_ext
17410 for ac_func in _getshort _getlong
17411do :
17412 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
17413ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
17414if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
17415 cat >>confdefs.h <<_ACEOF
17416#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
17417_ACEOF
17418
17419fi
17420done
17421
17422 ac_fn_c_check_decl "$LINENO" "_getshort" "ac_cv_have_decl__getshort" "#include <sys/types.h>
17423 #include <arpa/nameser.h>
17424"
17425if test "x$ac_cv_have_decl__getshort" = xyes; then :
17426 ac_have_decl=1
17427else
17428 ac_have_decl=0
17429fi
17430
17431cat >>confdefs.h <<_ACEOF
17432#define HAVE_DECL__GETSHORT $ac_have_decl
17433_ACEOF
17434ac_fn_c_check_decl "$LINENO" "_getlong" "ac_cv_have_decl__getlong" "#include <sys/types.h>
17435 #include <arpa/nameser.h>
17436"
17437if test "x$ac_cv_have_decl__getlong" = xyes; then :
17438 ac_have_decl=1
17439else
17440 ac_have_decl=0
17441fi
17442
17443cat >>confdefs.h <<_ACEOF
17444#define HAVE_DECL__GETLONG $ac_have_decl
17445_ACEOF
17446
17447 ac_fn_c_check_member "$LINENO" "HEADER" "ad" "ac_cv_member_HEADER_ad" "#include <arpa/nameser.h>
17448"
17449if test "x$ac_cv_member_HEADER_ad" = xyes; then :
17450
17451$as_echo "#define HAVE_HEADER_AD 1" >>confdefs.h
17452
17453fi
17454
17455
17456fi
17457
17458
17459{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct __res_state _res is an extern" >&5
17460$as_echo_n "checking if struct __res_state _res is an extern... " >&6; }
17461cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17462/* end confdefs.h. */
17463
17464#include <stdio.h>
17465#if HAVE_SYS_TYPES_H
17466# include <sys/types.h>
17467#endif
17468#include <netinet/in.h>
17469#include <arpa/nameser.h>
17470#include <resolv.h>
17471extern struct __res_state _res;
17472
17473int
17474main ()
17475{
17476
17477struct __res_state *volatile p = &_res; /* force resolution of _res */
17478return 0;
17479
17480 ;
17481 return 0;
17482}
17483_ACEOF
17484if ac_fn_c_try_link "$LINENO"; then :
17485 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17486$as_echo "yes" >&6; }
17487
17488$as_echo "#define HAVE__RES_EXTERN 1" >>confdefs.h
17489
17490
17491else
17492 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17493$as_echo "no" >&6; }
17494
17495fi
17496rm -f core conftest.err conftest.$ac_objext \
17497 conftest$ac_exeext conftest.$ac_ext
17498
17499# Check whether user wants SELinux support
17500SELINUX_MSG="no"
17501LIBSELINUX=""
17502
17503# Check whether --with-selinux was given.
17504if test "${with_selinux+set}" = set; then :
17505 withval=$with_selinux; if test "x$withval" != "xno" ; then
17506 save_LIBS="$LIBS"
17507
17508$as_echo "#define WITH_SELINUX 1" >>confdefs.h
17509
17510 SELINUX_MSG="yes"
17511 ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
17512if test "x$ac_cv_header_selinux_selinux_h" = xyes; then :
17513
17514else
17515 as_fn_error $? "SELinux support requires selinux.h header" "$LINENO" 5
17516fi
17517
17518
17519 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setexeccon in -lselinux" >&5
17520$as_echo_n "checking for setexeccon in -lselinux... " >&6; }
17521if ${ac_cv_lib_selinux_setexeccon+:} false; then :
17522 $as_echo_n "(cached) " >&6
17523else
17524 ac_check_lib_save_LIBS=$LIBS
17525LIBS="-lselinux $LIBS"
17526cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17527/* end confdefs.h. */
17528
17529/* Override any GCC internal prototype to avoid an error.
17530 Use char because int might match the return type of a GCC
17531 builtin and then its argument prototype would still apply. */
17532#ifdef __cplusplus
17533extern "C"
17534#endif
17535char setexeccon ();
17536int
17537main ()
17538{
17539return setexeccon ();
17540 ;
17541 return 0;
17542}
17543_ACEOF
17544if ac_fn_c_try_link "$LINENO"; then :
17545 ac_cv_lib_selinux_setexeccon=yes
17546else
17547 ac_cv_lib_selinux_setexeccon=no
17548fi
17549rm -f core conftest.err conftest.$ac_objext \
17550 conftest$ac_exeext conftest.$ac_ext
17551LIBS=$ac_check_lib_save_LIBS
17552fi
17553{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_setexeccon" >&5
17554$as_echo "$ac_cv_lib_selinux_setexeccon" >&6; }
17555if test "x$ac_cv_lib_selinux_setexeccon" = xyes; then :
17556 LIBSELINUX="-lselinux"
17557 LIBS="$LIBS -lselinux"
17558
17559else
17560 as_fn_error $? "SELinux support requires libselinux library" "$LINENO" 5
17561fi
17562
17563 SSHLIBS="$SSHLIBS $LIBSELINUX"
17564 SSHDLIBS="$SSHDLIBS $LIBSELINUX"
17565 for ac_func in getseuserbyname get_default_context_with_level
17566do :
17567 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
17568ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
17569if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
17570 cat >>confdefs.h <<_ACEOF
17571#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
17572_ACEOF
17573
17574fi
17575done
17576
17577 LIBS="$save_LIBS"
17578 fi
17579
17580fi
17581
17582
17583
17584
17585# Check whether user wants Kerberos 5 support
17586KRB5_MSG="no"
17587
17588# Check whether --with-kerberos5 was given.
17589if test "${with_kerberos5+set}" = set; then :
17590 withval=$with_kerberos5; if test "x$withval" != "xno" ; then
17591 if test "x$withval" = "xyes" ; then
17592 KRB5ROOT="/usr/local"
17593 else
17594 KRB5ROOT=${withval}
17595 fi
17596
17597
17598$as_echo "#define KRB5 1" >>confdefs.h
17599
17600 KRB5_MSG="yes"
17601
17602 if test -n "$ac_tool_prefix"; then
17603 # Extract the first word of "${ac_tool_prefix}krb5-config", so it can be a program name with args.
17604set dummy ${ac_tool_prefix}krb5-config; ac_word=$2
17605{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
17606$as_echo_n "checking for $ac_word... " >&6; }
17607if ${ac_cv_path_KRB5CONF+:} false; then :
17608 $as_echo_n "(cached) " >&6
17609else
17610 case $KRB5CONF in
17611 [\\/]* | ?:[\\/]*)
17612 ac_cv_path_KRB5CONF="$KRB5CONF" # Let the user override the test with a path.
17613 ;;
17614 *)
17615 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
17616as_dummy="$KRB5ROOT/bin:$PATH"
17617for as_dir in $as_dummy
17618do
17619 IFS=$as_save_IFS
17620 test -z "$as_dir" && as_dir=.
17621 for ac_exec_ext in '' $ac_executable_extensions; do
17622 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
17623 ac_cv_path_KRB5CONF="$as_dir/$ac_word$ac_exec_ext"
17624 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
17625 break 2
17626 fi
17627done
17628 done
17629IFS=$as_save_IFS
17630
17631 ;;
17632esac
17633fi
17634KRB5CONF=$ac_cv_path_KRB5CONF
17635if test -n "$KRB5CONF"; then
17636 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $KRB5CONF" >&5
17637$as_echo "$KRB5CONF" >&6; }
17638else
17639 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17640$as_echo "no" >&6; }
17641fi
17642
17643
17644fi
17645if test -z "$ac_cv_path_KRB5CONF"; then
17646 ac_pt_KRB5CONF=$KRB5CONF
17647 # Extract the first word of "krb5-config", so it can be a program name with args.
17648set dummy krb5-config; ac_word=$2
17649{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
17650$as_echo_n "checking for $ac_word... " >&6; }
17651if ${ac_cv_path_ac_pt_KRB5CONF+:} false; then :
17652 $as_echo_n "(cached) " >&6
17653else
17654 case $ac_pt_KRB5CONF in
17655 [\\/]* | ?:[\\/]*)
17656 ac_cv_path_ac_pt_KRB5CONF="$ac_pt_KRB5CONF" # Let the user override the test with a path.
17657 ;;
17658 *)
17659 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
17660as_dummy="$KRB5ROOT/bin:$PATH"
17661for as_dir in $as_dummy
17662do
17663 IFS=$as_save_IFS
17664 test -z "$as_dir" && as_dir=.
17665 for ac_exec_ext in '' $ac_executable_extensions; do
17666 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
17667 ac_cv_path_ac_pt_KRB5CONF="$as_dir/$ac_word$ac_exec_ext"
17668 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
17669 break 2
17670 fi
17671done
17672 done
17673IFS=$as_save_IFS
17674
17675 ;;
17676esac
17677fi
17678ac_pt_KRB5CONF=$ac_cv_path_ac_pt_KRB5CONF
17679if test -n "$ac_pt_KRB5CONF"; then
17680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_KRB5CONF" >&5
17681$as_echo "$ac_pt_KRB5CONF" >&6; }
17682else
17683 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17684$as_echo "no" >&6; }
17685fi
17686
17687 if test "x$ac_pt_KRB5CONF" = x; then
17688 KRB5CONF="$KRB5ROOT/bin/krb5-config"
17689 else
17690 case $cross_compiling:$ac_tool_warned in
17691yes:)
17692{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
17693$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
17694ac_tool_warned=yes ;;
17695esac
17696 KRB5CONF=$ac_pt_KRB5CONF
17697 fi
17698else
17699 KRB5CONF="$ac_cv_path_KRB5CONF"
17700fi
17701
17702 if test -x $KRB5CONF ; then
17703 K5CFLAGS="`$KRB5CONF --cflags`"
17704 K5LIBS="`$KRB5CONF --libs`"
17705 CPPFLAGS="$CPPFLAGS $K5CFLAGS"
17706
17707 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gssapi support" >&5
17708$as_echo_n "checking for gssapi support... " >&6; }
17709 if $KRB5CONF | grep gssapi >/dev/null ; then
17710 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17711$as_echo "yes" >&6; }
17712
17713$as_echo "#define GSSAPI 1" >>confdefs.h
17714
17715 GSSCFLAGS="`$KRB5CONF --cflags gssapi`"
17716 GSSLIBS="`$KRB5CONF --libs gssapi`"
17717 CPPFLAGS="$CPPFLAGS $GSSCFLAGS"
17718 else
17719 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17720$as_echo "no" >&6; }
17721 fi
17722 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
17723$as_echo_n "checking whether we are using Heimdal... " >&6; }
17724 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17725/* end confdefs.h. */
17726 #include <krb5.h>
17727
17728int
17729main ()
17730{
17731 char *tmp = heimdal_version;
17732 ;
17733 return 0;
17734}
17735_ACEOF
17736if ac_fn_c_try_compile "$LINENO"; then :
17737 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17738$as_echo "yes" >&6; }
17739
17740$as_echo "#define HEIMDAL 1" >>confdefs.h
17741
17742else
17743 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17744$as_echo "no" >&6; }
17745
17746fi
17747rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17748 else
17749 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include"
17750 LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib"
17751 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5
17752$as_echo_n "checking whether we are using Heimdal... " >&6; }
17753 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17754/* end confdefs.h. */
17755 #include <krb5.h>
17756
17757int
17758main ()
17759{
17760 char *tmp = heimdal_version;
17761 ;
17762 return 0;
17763}
17764_ACEOF
17765if ac_fn_c_try_compile "$LINENO"; then :
17766 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
17767$as_echo "yes" >&6; }
17768 $as_echo "#define HEIMDAL 1" >>confdefs.h
17769
17770 K5LIBS="-lkrb5"
17771 K5LIBS="$K5LIBS -lcom_err -lasn1"
17772 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for net_write in -lroken" >&5
17773$as_echo_n "checking for net_write in -lroken... " >&6; }
17774if ${ac_cv_lib_roken_net_write+:} false; then :
17775 $as_echo_n "(cached) " >&6
17776else
17777 ac_check_lib_save_LIBS=$LIBS
17778LIBS="-lroken $LIBS"
17779cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17780/* end confdefs.h. */
17781
17782/* Override any GCC internal prototype to avoid an error.
17783 Use char because int might match the return type of a GCC
17784 builtin and then its argument prototype would still apply. */
17785#ifdef __cplusplus
17786extern "C"
17787#endif
17788char net_write ();
17789int
17790main ()
17791{
17792return net_write ();
17793 ;
17794 return 0;
17795}
17796_ACEOF
17797if ac_fn_c_try_link "$LINENO"; then :
17798 ac_cv_lib_roken_net_write=yes
17799else
17800 ac_cv_lib_roken_net_write=no
17801fi
17802rm -f core conftest.err conftest.$ac_objext \
17803 conftest$ac_exeext conftest.$ac_ext
17804LIBS=$ac_check_lib_save_LIBS
17805fi
17806{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_roken_net_write" >&5
17807$as_echo "$ac_cv_lib_roken_net_write" >&6; }
17808if test "x$ac_cv_lib_roken_net_write" = xyes; then :
17809 K5LIBS="$K5LIBS -lroken"
17810fi
17811
17812 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5
17813$as_echo_n "checking for des_cbc_encrypt in -ldes... " >&6; }
17814if ${ac_cv_lib_des_des_cbc_encrypt+:} false; then :
17815 $as_echo_n "(cached) " >&6
17816else
17817 ac_check_lib_save_LIBS=$LIBS
17818LIBS="-ldes $LIBS"
17819cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17820/* end confdefs.h. */
17821
17822/* Override any GCC internal prototype to avoid an error.
17823 Use char because int might match the return type of a GCC
17824 builtin and then its argument prototype would still apply. */
17825#ifdef __cplusplus
17826extern "C"
17827#endif
17828char des_cbc_encrypt ();
17829int
17830main ()
17831{
17832return des_cbc_encrypt ();
17833 ;
17834 return 0;
17835}
17836_ACEOF
17837if ac_fn_c_try_link "$LINENO"; then :
17838 ac_cv_lib_des_des_cbc_encrypt=yes
17839else
17840 ac_cv_lib_des_des_cbc_encrypt=no
17841fi
17842rm -f core conftest.err conftest.$ac_objext \
17843 conftest$ac_exeext conftest.$ac_ext
17844LIBS=$ac_check_lib_save_LIBS
17845fi
17846{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_cbc_encrypt" >&5
17847$as_echo "$ac_cv_lib_des_des_cbc_encrypt" >&6; }
17848if test "x$ac_cv_lib_des_des_cbc_encrypt" = xyes; then :
17849 K5LIBS="$K5LIBS -ldes"
17850fi
17851
17852
17853else
17854 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
17855$as_echo "no" >&6; }
17856 K5LIBS="-lkrb5 -lk5crypto -lcom_err"
17857
17858fi
17859rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17860 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dn_expand" >&5
17861$as_echo_n "checking for library containing dn_expand... " >&6; }
17862if ${ac_cv_search_dn_expand+:} false; then :
17863 $as_echo_n "(cached) " >&6
17864else
17865 ac_func_search_save_LIBS=$LIBS
17866cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17867/* end confdefs.h. */
17868
17869/* Override any GCC internal prototype to avoid an error.
17870 Use char because int might match the return type of a GCC
17871 builtin and then its argument prototype would still apply. */
17872#ifdef __cplusplus
17873extern "C"
17874#endif
17875char dn_expand ();
17876int
17877main ()
17878{
17879return dn_expand ();
17880 ;
17881 return 0;
17882}
17883_ACEOF
17884for ac_lib in '' resolv; do
17885 if test -z "$ac_lib"; then
17886 ac_res="none required"
17887 else
17888 ac_res=-l$ac_lib
17889 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
17890 fi
17891 if ac_fn_c_try_link "$LINENO"; then :
17892 ac_cv_search_dn_expand=$ac_res
17893fi
17894rm -f core conftest.err conftest.$ac_objext \
17895 conftest$ac_exeext
17896 if ${ac_cv_search_dn_expand+:} false; then :
17897 break
17898fi
17899done
17900if ${ac_cv_search_dn_expand+:} false; then :
17901
17902else
17903 ac_cv_search_dn_expand=no
17904fi
17905rm conftest.$ac_ext
17906LIBS=$ac_func_search_save_LIBS
17907fi
17908{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dn_expand" >&5
17909$as_echo "$ac_cv_search_dn_expand" >&6; }
17910ac_res=$ac_cv_search_dn_expand
17911if test "$ac_res" != no; then :
17912 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
17913
17914fi
17915
17916
17917 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi_krb5" >&5
17918$as_echo_n "checking for gss_init_sec_context in -lgssapi_krb5... " >&6; }
17919if ${ac_cv_lib_gssapi_krb5_gss_init_sec_context+:} false; then :
17920 $as_echo_n "(cached) " >&6
17921else
17922 ac_check_lib_save_LIBS=$LIBS
17923LIBS="-lgssapi_krb5 $LIBS"
17924cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17925/* end confdefs.h. */
17926
17927/* Override any GCC internal prototype to avoid an error.
17928 Use char because int might match the return type of a GCC
17929 builtin and then its argument prototype would still apply. */
17930#ifdef __cplusplus
17931extern "C"
17932#endif
17933char gss_init_sec_context ();
17934int
17935main ()
17936{
17937return gss_init_sec_context ();
17938 ;
17939 return 0;
17940}
17941_ACEOF
17942if ac_fn_c_try_link "$LINENO"; then :
17943 ac_cv_lib_gssapi_krb5_gss_init_sec_context=yes
17944else
17945 ac_cv_lib_gssapi_krb5_gss_init_sec_context=no
17946fi
17947rm -f core conftest.err conftest.$ac_objext \
17948 conftest$ac_exeext conftest.$ac_ext
17949LIBS=$ac_check_lib_save_LIBS
17950fi
17951{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&5
17952$as_echo "$ac_cv_lib_gssapi_krb5_gss_init_sec_context" >&6; }
17953if test "x$ac_cv_lib_gssapi_krb5_gss_init_sec_context" = xyes; then :
17954 $as_echo "#define GSSAPI 1" >>confdefs.h
17955
17956 GSSLIBS="-lgssapi_krb5"
17957else
17958 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgssapi" >&5
17959$as_echo_n "checking for gss_init_sec_context in -lgssapi... " >&6; }
17960if ${ac_cv_lib_gssapi_gss_init_sec_context+:} false; then :
17961 $as_echo_n "(cached) " >&6
17962else
17963 ac_check_lib_save_LIBS=$LIBS
17964LIBS="-lgssapi $LIBS"
17965cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17966/* end confdefs.h. */
17967
17968/* Override any GCC internal prototype to avoid an error.
17969 Use char because int might match the return type of a GCC
17970 builtin and then its argument prototype would still apply. */
17971#ifdef __cplusplus
17972extern "C"
17973#endif
17974char gss_init_sec_context ();
17975int
17976main ()
17977{
17978return gss_init_sec_context ();
17979 ;
17980 return 0;
17981}
17982_ACEOF
17983if ac_fn_c_try_link "$LINENO"; then :
17984 ac_cv_lib_gssapi_gss_init_sec_context=yes
17985else
17986 ac_cv_lib_gssapi_gss_init_sec_context=no
17987fi
17988rm -f core conftest.err conftest.$ac_objext \
17989 conftest$ac_exeext conftest.$ac_ext
17990LIBS=$ac_check_lib_save_LIBS
17991fi
17992{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_gss_init_sec_context" >&5
17993$as_echo "$ac_cv_lib_gssapi_gss_init_sec_context" >&6; }
17994if test "x$ac_cv_lib_gssapi_gss_init_sec_context" = xyes; then :
17995 $as_echo "#define GSSAPI 1" >>confdefs.h
17996
17997 GSSLIBS="-lgssapi"
17998else
17999 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_init_sec_context in -lgss" >&5
18000$as_echo_n "checking for gss_init_sec_context in -lgss... " >&6; }
18001if ${ac_cv_lib_gss_gss_init_sec_context+:} false; then :
18002 $as_echo_n "(cached) " >&6
18003else
18004 ac_check_lib_save_LIBS=$LIBS
18005LIBS="-lgss $LIBS"
18006cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18007/* end confdefs.h. */
18008
18009/* Override any GCC internal prototype to avoid an error.
18010 Use char because int might match the return type of a GCC
18011 builtin and then its argument prototype would still apply. */
18012#ifdef __cplusplus
18013extern "C"
18014#endif
18015char gss_init_sec_context ();
18016int
18017main ()
18018{
18019return gss_init_sec_context ();
18020 ;
18021 return 0;
18022}
18023_ACEOF
18024if ac_fn_c_try_link "$LINENO"; then :
18025 ac_cv_lib_gss_gss_init_sec_context=yes
18026else
18027 ac_cv_lib_gss_gss_init_sec_context=no
18028fi
18029rm -f core conftest.err conftest.$ac_objext \
18030 conftest$ac_exeext conftest.$ac_ext
18031LIBS=$ac_check_lib_save_LIBS
18032fi
18033{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gss_gss_init_sec_context" >&5
18034$as_echo "$ac_cv_lib_gss_gss_init_sec_context" >&6; }
18035if test "x$ac_cv_lib_gss_gss_init_sec_context" = xyes; then :
18036 $as_echo "#define GSSAPI 1" >>confdefs.h
18037
18038 GSSLIBS="-lgss"
18039else
18040 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api library - build may fail" >&5
18041$as_echo "$as_me: WARNING: Cannot find any suitable gss-api library - build may fail" >&2;}
18042fi
18043
18044
18045fi
18046
18047
18048fi
18049
18050
18051 ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
18052if test "x$ac_cv_header_gssapi_h" = xyes; then :
18053
18054else
18055 unset ac_cv_header_gssapi_h
18056 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
18057 for ac_header in gssapi.h
18058do :
18059 ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
18060if test "x$ac_cv_header_gssapi_h" = xyes; then :
18061 cat >>confdefs.h <<_ACEOF
18062#define HAVE_GSSAPI_H 1
18063_ACEOF
18064
18065else
18066 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find any suitable gss-api header - build may fail" >&5
18067$as_echo "$as_me: WARNING: Cannot find any suitable gss-api header - build may fail" >&2;}
18068
18069fi
18070
18071done
18072
18073
18074
18075fi
18076
18077
18078
18079 oldCPP="$CPPFLAGS"
18080 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
18081 ac_fn_c_check_header_mongrel "$LINENO" "gssapi_krb5.h" "ac_cv_header_gssapi_krb5_h" "$ac_includes_default"
18082if test "x$ac_cv_header_gssapi_krb5_h" = xyes; then :
18083
18084else
18085 CPPFLAGS="$oldCPP"
18086fi
18087
18088
18089
18090 fi
18091 if test -n "${rpath_opt}" ; then
18092 LDFLAGS="$LDFLAGS ${rpath_opt}${KRB5ROOT}/lib"
18093 fi
18094 if test ! -z "$blibpath" ; then
18095 blibpath="$blibpath:${KRB5ROOT}/lib"
18096 fi
18097
18098 for ac_header in gssapi.h gssapi/gssapi.h
18099do :
18100 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
18101ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
18102if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
18103 cat >>confdefs.h <<_ACEOF
18104#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
18105_ACEOF
18106
18107fi
18108
18109done
18110
18111 for ac_header in gssapi_krb5.h gssapi/gssapi_krb5.h
18112do :
18113 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
18114ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
18115if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
18116 cat >>confdefs.h <<_ACEOF
18117#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
18118_ACEOF
18119
18120fi
18121
18122done
18123
18124 for ac_header in gssapi_generic.h gssapi/gssapi_generic.h
18125do :
18126 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
18127ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
18128if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
18129 cat >>confdefs.h <<_ACEOF
18130#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
18131_ACEOF
18132
18133fi
18134
18135done
18136
18137
18138 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing k_hasafs" >&5
18139$as_echo_n "checking for library containing k_hasafs... " >&6; }
18140if ${ac_cv_search_k_hasafs+:} false; then :
18141 $as_echo_n "(cached) " >&6
18142else
18143 ac_func_search_save_LIBS=$LIBS
18144cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18145/* end confdefs.h. */
18146
18147/* Override any GCC internal prototype to avoid an error.
18148 Use char because int might match the return type of a GCC
18149 builtin and then its argument prototype would still apply. */
18150#ifdef __cplusplus
18151extern "C"
18152#endif
18153char k_hasafs ();
18154int
18155main ()
18156{
18157return k_hasafs ();
18158 ;
18159 return 0;
18160}
18161_ACEOF
18162for ac_lib in '' kafs; do
18163 if test -z "$ac_lib"; then
18164 ac_res="none required"
18165 else
18166 ac_res=-l$ac_lib
18167 LIBS="-l$ac_lib $ac_func_search_save_LIBS"
18168 fi
18169 if ac_fn_c_try_link "$LINENO"; then :
18170 ac_cv_search_k_hasafs=$ac_res
18171fi
18172rm -f core conftest.err conftest.$ac_objext \
18173 conftest$ac_exeext
18174 if ${ac_cv_search_k_hasafs+:} false; then :
18175 break
18176fi
18177done
18178if ${ac_cv_search_k_hasafs+:} false; then :
18179
18180else
18181 ac_cv_search_k_hasafs=no
18182fi
18183rm conftest.$ac_ext
18184LIBS=$ac_func_search_save_LIBS
18185fi
18186{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_k_hasafs" >&5
18187$as_echo "$ac_cv_search_k_hasafs" >&6; }
18188ac_res=$ac_cv_search_k_hasafs
18189if test "$ac_res" != no; then :
18190 test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
18191
18192$as_echo "#define USE_AFS 1" >>confdefs.h
18193
18194fi
18195
18196
18197 ac_fn_c_check_decl "$LINENO" "GSS_C_NT_HOSTBASED_SERVICE" "ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" "
18198#ifdef HAVE_GSSAPI_H
18199# include <gssapi.h>
18200#elif defined(HAVE_GSSAPI_GSSAPI_H)
18201# include <gssapi/gssapi.h>
18202#endif
18203
18204#ifdef HAVE_GSSAPI_GENERIC_H
18205# include <gssapi_generic.h>
18206#elif defined(HAVE_GSSAPI_GSSAPI_GENERIC_H)
18207# include <gssapi/gssapi_generic.h>
18208#endif
18209
18210"
18211if test "x$ac_cv_have_decl_GSS_C_NT_HOSTBASED_SERVICE" = xyes; then :
18212 ac_have_decl=1
18213else
18214 ac_have_decl=0
18215fi
18216
18217cat >>confdefs.h <<_ACEOF
18218#define HAVE_DECL_GSS_C_NT_HOSTBASED_SERVICE $ac_have_decl
18219_ACEOF
18220
18221 saved_LIBS="$LIBS"
18222 LIBS="$LIBS $K5LIBS"
18223 for ac_func in krb5_cc_new_unique krb5_get_error_message krb5_free_error_message
18224do :
18225 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
18226ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
18227if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
18228 cat >>confdefs.h <<_ACEOF
18229#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
18230_ACEOF
18231
18232fi
18233done
18234
18235 LIBS="$saved_LIBS"
18236
18237 fi
18238
18239
18240fi
18241
18242
18243
18244
18245# Looking for programs, paths and files
18246
18247PRIVSEP_PATH=/var/empty
18248
18249# Check whether --with-privsep-path was given.
18250if test "${with_privsep_path+set}" = set; then :
18251 withval=$with_privsep_path;
18252 if test -n "$withval" && test "x$withval" != "xno" && \
18253 test "x${withval}" != "xyes"; then
18254 PRIVSEP_PATH=$withval
18255 fi
18256
18257
18258fi
18259
18260
18261
18262
18263# Check whether --with-xauth was given.
18264if test "${with_xauth+set}" = set; then :
18265 withval=$with_xauth;
18266 if test -n "$withval" && test "x$withval" != "xno" && \
18267 test "x${withval}" != "xyes"; then
18268 xauth_path=$withval
18269 fi
18270
18271else
18272
18273 TestPath="$PATH"
18274 TestPath="${TestPath}${PATH_SEPARATOR}/usr/X/bin"
18275 TestPath="${TestPath}${PATH_SEPARATOR}/usr/bin/X11"
18276 TestPath="${TestPath}${PATH_SEPARATOR}/usr/X11R6/bin"
18277 TestPath="${TestPath}${PATH_SEPARATOR}/usr/openwin/bin"
18278 # Extract the first word of "xauth", so it can be a program name with args.
18279set dummy xauth; ac_word=$2
18280{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18281$as_echo_n "checking for $ac_word... " >&6; }
18282if ${ac_cv_path_xauth_path+:} false; then :
18283 $as_echo_n "(cached) " >&6
18284else
18285 case $xauth_path in
18286 [\\/]* | ?:[\\/]*)
18287 ac_cv_path_xauth_path="$xauth_path" # Let the user override the test with a path.
18288 ;;
18289 *)
18290 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18291for as_dir in $TestPath
18292do
18293 IFS=$as_save_IFS
18294 test -z "$as_dir" && as_dir=.
18295 for ac_exec_ext in '' $ac_executable_extensions; do
18296 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18297 ac_cv_path_xauth_path="$as_dir/$ac_word$ac_exec_ext"
18298 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18299 break 2
18300 fi
18301done
18302 done
18303IFS=$as_save_IFS
18304
18305 ;;
18306esac
18307fi
18308xauth_path=$ac_cv_path_xauth_path
18309if test -n "$xauth_path"; then
18310 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xauth_path" >&5
18311$as_echo "$xauth_path" >&6; }
18312else
18313 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18314$as_echo "no" >&6; }
18315fi
18316
18317
18318 if (test ! -z "$xauth_path" && test -x "/usr/openwin/bin/xauth") ; then
18319 xauth_path="/usr/openwin/bin/xauth"
18320 fi
18321
18322
18323fi
18324
18325
18326STRIP_OPT=-s
18327# Check whether --enable-strip was given.
18328if test "${enable_strip+set}" = set; then :
18329 enableval=$enable_strip;
18330 if test "x$enableval" = "xno" ; then
18331 STRIP_OPT=
18332 fi
18333
18334
18335fi
18336
18337
18338
18339if test -z "$xauth_path" ; then
18340 XAUTH_PATH="undefined"
18341
18342else
18343
18344cat >>confdefs.h <<_ACEOF
18345#define XAUTH_PATH "$xauth_path"
18346_ACEOF
18347
18348 XAUTH_PATH=$xauth_path
18349
18350fi
18351
18352# Check for mail directory
18353
18354# Check whether --with-maildir was given.
18355if test "${with_maildir+set}" = set; then :
18356 withval=$with_maildir;
18357 if test "X$withval" != X && test "x$withval" != xno && \
18358 test "x${withval}" != xyes; then
18359
18360cat >>confdefs.h <<_ACEOF
18361#define MAIL_DIRECTORY "$withval"
18362_ACEOF
18363
18364 fi
18365
18366else
18367
18368 if test "X$maildir" != "X"; then
18369 cat >>confdefs.h <<_ACEOF
18370#define MAIL_DIRECTORY "$maildir"
18371_ACEOF
18372
18373 else
18374 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Discovering system mail directory" >&5
18375$as_echo_n "checking Discovering system mail directory... " >&6; }
18376 if test "$cross_compiling" = yes; then :
18377
18378 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&5
18379$as_echo "$as_me: WARNING: cross compiling: use --with-maildir=/path/to/mail" >&2;}
18380
18381
18382else
18383 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18384/* end confdefs.h. */
18385
18386#include <stdio.h>
18387#include <string.h>
18388#ifdef HAVE_PATHS_H
18389#include <paths.h>
18390#endif
18391#ifdef HAVE_MAILLOCK_H
18392#include <maillock.h>
18393#endif
18394#define DATA "conftest.maildir"
18395
18396int
18397main ()
18398{
18399
18400 FILE *fd;
18401 int rc;
18402
18403 fd = fopen(DATA,"w");
18404 if(fd == NULL)
18405 exit(1);
18406
18407#if defined (_PATH_MAILDIR)
18408 if ((rc = fprintf(fd ,"_PATH_MAILDIR:%s\n", _PATH_MAILDIR)) <0)
18409 exit(1);
18410#elif defined (MAILDIR)
18411 if ((rc = fprintf(fd ,"MAILDIR:%s\n", MAILDIR)) <0)
18412 exit(1);
18413#elif defined (_PATH_MAIL)
18414 if ((rc = fprintf(fd ,"_PATH_MAIL:%s\n", _PATH_MAIL)) <0)
18415 exit(1);
18416#else
18417 exit (2);
18418#endif
18419
18420 exit(0);
18421
18422 ;
18423 return 0;
18424}
18425_ACEOF
18426if ac_fn_c_try_run "$LINENO"; then :
18427
18428 maildir_what=`awk -F: '{print $1}' conftest.maildir`
18429 maildir=`awk -F: '{print $2}' conftest.maildir \
18430 | sed 's|/$||'`
18431 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: $maildir from $maildir_what" >&5
18432$as_echo "Using: $maildir from $maildir_what" >&6; }
18433 if test "x$maildir_what" != "x_PATH_MAILDIR"; then
18434 cat >>confdefs.h <<_ACEOF
18435#define MAIL_DIRECTORY "$maildir"
18436_ACEOF
18437
18438 fi
18439
18440else
18441
18442 if test "X$ac_status" = "X2";then
18443# our test program didn't find it. Default to /var/spool/mail
18444 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using: default value of /var/spool/mail" >&5
18445$as_echo "Using: default value of /var/spool/mail" >&6; }
18446 cat >>confdefs.h <<_ACEOF
18447#define MAIL_DIRECTORY "/var/spool/mail"
18448_ACEOF
18449
18450 else
18451 { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** not found ***" >&5
18452$as_echo "*** not found ***" >&6; }
18453 fi
18454
18455fi
18456rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
18457 conftest.$ac_objext conftest.beam conftest.$ac_ext
18458fi
18459
18460 fi
18461
18462
18463fi
18464 # maildir
18465
18466if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then
18467 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptmx test" >&5
18468$as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptmx test" >&2;}
18469 disable_ptmx_check=yes
18470fi
18471if test -z "$no_dev_ptmx" ; then
18472 if test "x$disable_ptmx_check" != "xyes" ; then
18473 as_ac_File=`$as_echo "ac_cv_file_"/dev/ptmx"" | $as_tr_sh`
18474{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptmx\"" >&5
18475$as_echo_n "checking for \"/dev/ptmx\"... " >&6; }
18476if eval \${$as_ac_File+:} false; then :
18477 $as_echo_n "(cached) " >&6
18478else
18479 test "$cross_compiling" = yes &&
18480 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
18481if test -r ""/dev/ptmx""; then
18482 eval "$as_ac_File=yes"
18483else
18484 eval "$as_ac_File=no"
18485fi
18486fi
18487eval ac_res=\$$as_ac_File
18488 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
18489$as_echo "$ac_res" >&6; }
18490if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
18491
18492
18493cat >>confdefs.h <<_ACEOF
18494#define HAVE_DEV_PTMX 1
18495_ACEOF
18496
18497 have_dev_ptmx=1
18498
18499
18500fi
18501
18502 fi
18503fi
18504
18505if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then
18506 as_ac_File=`$as_echo "ac_cv_file_"/dev/ptc"" | $as_tr_sh`
18507{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/ptc\"" >&5
18508$as_echo_n "checking for \"/dev/ptc\"... " >&6; }
18509if eval \${$as_ac_File+:} false; then :
18510 $as_echo_n "(cached) " >&6
18511else
18512 test "$cross_compiling" = yes &&
18513 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
18514if test -r ""/dev/ptc""; then
18515 eval "$as_ac_File=yes"
18516else
18517 eval "$as_ac_File=no"
18518fi
18519fi
18520eval ac_res=\$$as_ac_File
18521 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
18522$as_echo "$ac_res" >&6; }
18523if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
18524
18525
18526cat >>confdefs.h <<_ACEOF
18527#define HAVE_DEV_PTS_AND_PTC 1
18528_ACEOF
18529
18530 have_dev_ptc=1
18531
18532
18533fi
18534
18535else
18536 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: Disabling /dev/ptc test" >&5
18537$as_echo "$as_me: WARNING: cross compiling: Disabling /dev/ptc test" >&2;}
18538fi
18539
18540# Options from here on. Some of these are preset by platform above
18541
18542# Check whether --with-mantype was given.
18543if test "${with_mantype+set}" = set; then :
18544 withval=$with_mantype;
18545 case "$withval" in
18546 man|cat|doc)
18547 MANTYPE=$withval
18548 ;;
18549 *)
18550 as_fn_error $? "invalid man type: $withval" "$LINENO" 5
18551 ;;
18552 esac
18553
18554
18555fi
18556
18557if test -z "$MANTYPE"; then
18558 TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb"
18559 for ac_prog in nroff awf
18560do
18561 # Extract the first word of "$ac_prog", so it can be a program name with args.
18562set dummy $ac_prog; ac_word=$2
18563{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18564$as_echo_n "checking for $ac_word... " >&6; }
18565if ${ac_cv_path_NROFF+:} false; then :
18566 $as_echo_n "(cached) " >&6
18567else
18568 case $NROFF in
18569 [\\/]* | ?:[\\/]*)
18570 ac_cv_path_NROFF="$NROFF" # Let the user override the test with a path.
18571 ;;
18572 *)
18573 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18574for as_dir in $TestPath
18575do
18576 IFS=$as_save_IFS
18577 test -z "$as_dir" && as_dir=.
18578 for ac_exec_ext in '' $ac_executable_extensions; do
18579 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
18580 ac_cv_path_NROFF="$as_dir/$ac_word$ac_exec_ext"
18581 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
18582 break 2
18583 fi
18584done
18585 done
18586IFS=$as_save_IFS
18587
18588 ;;
18589esac
18590fi
18591NROFF=$ac_cv_path_NROFF
18592if test -n "$NROFF"; then
18593 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFF" >&5
18594$as_echo "$NROFF" >&6; }
18595else
18596 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18597$as_echo "no" >&6; }
18598fi
18599
18600
18601 test -n "$NROFF" && break
18602done
18603test -n "$NROFF" || NROFF="/bin/false"
18604
18605 if ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then
18606 MANTYPE=doc
18607 elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then
18608 MANTYPE=man
18609 else
18610 MANTYPE=cat
18611 fi
18612fi
18613
18614if test "$MANTYPE" = "doc"; then
18615 mansubdir=man;
18616else
18617 mansubdir=$MANTYPE;
18618fi
18619
18620
18621# Check whether to enable MD5 passwords
18622MD5_MSG="no"
18623
18624# Check whether --with-md5-passwords was given.
18625if test "${with_md5_passwords+set}" = set; then :
18626 withval=$with_md5_passwords;
18627 if test "x$withval" != "xno" ; then
18628
18629$as_echo "#define HAVE_MD5_PASSWORDS 1" >>confdefs.h
18630
18631 MD5_MSG="yes"
18632 fi
18633
18634
18635fi
18636
18637
18638# Whether to disable shadow password support
18639
18640# Check whether --with-shadow was given.
18641if test "${with_shadow+set}" = set; then :
18642 withval=$with_shadow;
18643 if test "x$withval" = "xno" ; then
18644 $as_echo "#define DISABLE_SHADOW 1" >>confdefs.h
18645
18646 disable_shadow=yes
18647 fi
18648
18649
18650fi
18651
18652
18653if test -z "$disable_shadow" ; then
18654 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the systems has expire shadow information" >&5
18655$as_echo_n "checking if the systems has expire shadow information... " >&6; }
18656 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18657/* end confdefs.h. */
18658
18659#include <sys/types.h>
18660#include <shadow.h>
18661struct spwd sp;
18662
18663int
18664main ()
18665{
18666 sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0;
18667 ;
18668 return 0;
18669}
18670_ACEOF
18671if ac_fn_c_try_compile "$LINENO"; then :
18672 sp_expire_available=yes
18673fi
18674rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
18675
18676 if test "x$sp_expire_available" = "xyes" ; then
18677 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18678$as_echo "yes" >&6; }
18679
18680$as_echo "#define HAS_SHADOW_EXPIRE 1" >>confdefs.h
18681
18682 else
18683 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18684$as_echo "no" >&6; }
18685 fi
18686fi
18687
18688# Use ip address instead of hostname in $DISPLAY
18689if test ! -z "$IPADDR_IN_DISPLAY" ; then
18690 DISPLAY_HACK_MSG="yes"
18691
18692$as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h
18693
18694else
18695 DISPLAY_HACK_MSG="no"
18696
18697# Check whether --with-ipaddr-display was given.
18698if test "${with_ipaddr_display+set}" = set; then :
18699 withval=$with_ipaddr_display;
18700 if test "x$withval" != "xno" ; then
18701 $as_echo "#define IPADDR_IN_DISPLAY 1" >>confdefs.h
18702
18703 DISPLAY_HACK_MSG="yes"
18704 fi
18705
18706
18707fi
18708
18709fi
18710
18711# check for /etc/default/login and use it if present.
18712# Check whether --enable-etc-default-login was given.
18713if test "${enable_etc_default_login+set}" = set; then :
18714 enableval=$enable_etc_default_login; if test "x$enableval" = "xno"; then
18715 { $as_echo "$as_me:${as_lineno-$LINENO}: /etc/default/login handling disabled" >&5
18716$as_echo "$as_me: /etc/default/login handling disabled" >&6;}
18717 etc_default_login=no
18718 else
18719 etc_default_login=yes
18720 fi
18721else
18722 if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes";
18723 then
18724 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cross compiling: not checking /etc/default/login" >&5
18725$as_echo "$as_me: WARNING: cross compiling: not checking /etc/default/login" >&2;}
18726 etc_default_login=no
18727 else
18728 etc_default_login=yes
18729 fi
18730
18731fi
18732
18733
18734if test "x$etc_default_login" != "xno"; then
18735 as_ac_File=`$as_echo "ac_cv_file_"/etc/default/login"" | $as_tr_sh`
18736{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/etc/default/login\"" >&5
18737$as_echo_n "checking for \"/etc/default/login\"... " >&6; }
18738if eval \${$as_ac_File+:} false; then :
18739 $as_echo_n "(cached) " >&6
18740else
18741 test "$cross_compiling" = yes &&
18742 as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
18743if test -r ""/etc/default/login""; then
18744 eval "$as_ac_File=yes"
18745else
18746 eval "$as_ac_File=no"
18747fi
18748fi
18749eval ac_res=\$$as_ac_File
18750 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
18751$as_echo "$ac_res" >&6; }
18752if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
18753 external_path_file=/etc/default/login
18754fi
18755
18756 if test "x$external_path_file" = "x/etc/default/login"; then
18757
18758$as_echo "#define HAVE_ETC_DEFAULT_LOGIN 1" >>confdefs.h
18759
18760 fi
18761fi
18762
18763if test $ac_cv_func_login_getcapbool = "yes" && \
18764 test $ac_cv_header_login_cap_h = "yes" ; then
18765 external_path_file=/etc/login.conf
18766fi
18767
18768# Whether to mess with the default path
18769SERVER_PATH_MSG="(default)"
18770
18771# Check whether --with-default-path was given.
18772if test "${with_default_path+set}" = set; then :
18773 withval=$with_default_path;
18774 if test "x$external_path_file" = "x/etc/login.conf" ; then
18775 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
18776--with-default-path=PATH has no effect on this system.
18777Edit /etc/login.conf instead." >&5
18778$as_echo "$as_me: WARNING:
18779--with-default-path=PATH has no effect on this system.
18780Edit /etc/login.conf instead." >&2;}
18781 elif test "x$withval" != "xno" ; then
18782 if test ! -z "$external_path_file" ; then
18783 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
18784--with-default-path=PATH will only be used if PATH is not defined in
18785$external_path_file ." >&5
18786$as_echo "$as_me: WARNING:
18787--with-default-path=PATH will only be used if PATH is not defined in
18788$external_path_file ." >&2;}
18789 fi
18790 user_path="$withval"
18791 SERVER_PATH_MSG="$withval"
18792 fi
18793
18794else
18795 if test "x$external_path_file" = "x/etc/login.conf" ; then
18796 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Make sure the path to scp is in /etc/login.conf" >&5
18797$as_echo "$as_me: WARNING: Make sure the path to scp is in /etc/login.conf" >&2;}
18798 else
18799 if test ! -z "$external_path_file" ; then
18800 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
18801If PATH is defined in $external_path_file, ensure the path to scp is included,
18802otherwise scp will not work." >&5
18803$as_echo "$as_me: WARNING:
18804If PATH is defined in $external_path_file, ensure the path to scp is included,
18805otherwise scp will not work." >&2;}
18806 fi
18807 if test "$cross_compiling" = yes; then :
18808 user_path="/usr/bin:/bin:/usr/sbin:/sbin"
18809
18810else
18811 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18812/* end confdefs.h. */
18813
18814/* find out what STDPATH is */
18815#include <stdio.h>
18816#ifdef HAVE_PATHS_H
18817# include <paths.h>
18818#endif
18819#ifndef _PATH_STDPATH
18820# ifdef _PATH_USERPATH /* Irix */
18821# define _PATH_STDPATH _PATH_USERPATH
18822# else
18823# define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin"
18824# endif
18825#endif
18826#include <sys/types.h>
18827#include <sys/stat.h>
18828#include <fcntl.h>
18829#define DATA "conftest.stdpath"
18830
18831int
18832main ()
18833{
18834
18835 FILE *fd;
18836 int rc;
18837
18838 fd = fopen(DATA,"w");
18839 if(fd == NULL)
18840 exit(1);
18841
18842 if ((rc = fprintf(fd,"%s", _PATH_STDPATH)) < 0)
18843 exit(1);
18844
18845 exit(0);
18846
18847 ;
18848 return 0;
18849}
18850_ACEOF
18851if ac_fn_c_try_run "$LINENO"; then :
18852 user_path=`cat conftest.stdpath`
18853else
18854 user_path="/usr/bin:/bin:/usr/sbin:/sbin"
18855fi
18856rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
18857 conftest.$ac_objext conftest.beam conftest.$ac_ext
18858fi
18859
18860# make sure $bindir is in USER_PATH so scp will work
18861 t_bindir="${bindir}"
18862 while echo "${t_bindir}" | egrep '\$\{|NONE/' >/dev/null 2>&1; do
18863 t_bindir=`eval echo ${t_bindir}`
18864 case $t_bindir in
18865 NONE/*) t_bindir=`echo $t_bindir | sed "s~NONE~$prefix~"` ;;
18866 esac
18867 case $t_bindir in
18868 NONE/*) t_bindir=`echo $t_bindir | sed "s~NONE~$ac_default_prefix~"` ;;
18869 esac
18870 done
18871 echo $user_path | grep ":$t_bindir" > /dev/null 2>&1
18872 if test $? -ne 0 ; then
18873 echo $user_path | grep "^$t_bindir" > /dev/null 2>&1
18874 if test $? -ne 0 ; then
18875 user_path=$user_path:$t_bindir
18876 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Adding $t_bindir to USER_PATH so scp will work" >&5
18877$as_echo "Adding $t_bindir to USER_PATH so scp will work" >&6; }
18878 fi
18879 fi
18880 fi
18881
18882fi
18883
18884if test "x$external_path_file" != "x/etc/login.conf" ; then
18885
18886cat >>confdefs.h <<_ACEOF
18887#define USER_PATH "$user_path"
18888_ACEOF
18889
18890
18891fi
18892
18893# Set superuser path separately to user path
18894
18895# Check whether --with-superuser-path was given.
18896if test "${with_superuser_path+set}" = set; then :
18897 withval=$with_superuser_path;
18898 if test -n "$withval" && test "x$withval" != "xno" && \
18899 test "x${withval}" != "xyes"; then
18900
18901cat >>confdefs.h <<_ACEOF
18902#define SUPERUSER_PATH "$withval"
18903_ACEOF
18904
18905 superuser_path=$withval
18906 fi
18907
18908
18909fi
18910
18911
18912
18913{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we need to convert IPv4 in IPv6-mapped addresses" >&5
18914$as_echo_n "checking if we need to convert IPv4 in IPv6-mapped addresses... " >&6; }
18915IPV4_IN6_HACK_MSG="no"
18916
18917# Check whether --with-4in6 was given.
18918if test "${with_4in6+set}" = set; then :
18919 withval=$with_4in6;
18920 if test "x$withval" != "xno" ; then
18921 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
18922$as_echo "yes" >&6; }
18923
18924$as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h
18925
18926 IPV4_IN6_HACK_MSG="yes"
18927 else
18928 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
18929$as_echo "no" >&6; }
18930 fi
18931
18932else
18933
18934 if test "x$inet6_default_4in6" = "xyes"; then
18935 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (default)" >&5
18936$as_echo "yes (default)" >&6; }
18937 $as_echo "#define IPV4_IN_IPV6 1" >>confdefs.h
18938
18939 IPV4_IN6_HACK_MSG="yes"
18940 else
18941 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (default)" >&5
18942$as_echo "no (default)" >&6; }
18943 fi
18944
18945
18946fi
18947
18948
18949# Whether to enable BSD auth support
18950BSD_AUTH_MSG=no
18951
18952# Check whether --with-bsd-auth was given.
18953if test "${with_bsd_auth+set}" = set; then :
18954 withval=$with_bsd_auth;
18955 if test "x$withval" != "xno" ; then
18956
18957$as_echo "#define BSD_AUTH 1" >>confdefs.h
18958
18959 BSD_AUTH_MSG=yes
18960 fi
18961
18962
18963fi
18964
18965
18966# Where to place sshd.pid
18967piddir=/var/run
18968# make sure the directory exists
18969if test ! -d $piddir ; then
18970 piddir=`eval echo ${sysconfdir}`
18971 case $piddir in
18972 NONE/*) piddir=`echo $piddir | sed "s~NONE~$ac_default_prefix~"` ;;
18973 esac
18974fi
18975
18976
18977# Check whether --with-pid-dir was given.
18978if test "${with_pid_dir+set}" = set; then :
18979 withval=$with_pid_dir;
18980 if test -n "$withval" && test "x$withval" != "xno" && \
18981 test "x${withval}" != "xyes"; then
18982 piddir=$withval
18983 if test ! -d $piddir ; then
18984 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** no $piddir directory on this system **" >&5
18985$as_echo "$as_me: WARNING: ** no $piddir directory on this system **" >&2;}
18986 fi
18987 fi
18988
18989
18990fi
18991
18992
18993
18994cat >>confdefs.h <<_ACEOF
18995#define _PATH_SSH_PIDDIR "$piddir"
18996_ACEOF
18997
18998
18999
19000# Check whether --enable-lastlog was given.
19001if test "${enable_lastlog+set}" = set; then :
19002 enableval=$enable_lastlog;
19003 if test "x$enableval" = "xno" ; then
19004 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
19005
19006 fi
19007
19008
19009fi
19010
19011# Check whether --enable-utmp was given.
19012if test "${enable_utmp+set}" = set; then :
19013 enableval=$enable_utmp;
19014 if test "x$enableval" = "xno" ; then
19015 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
19016
19017 fi
19018
19019
19020fi
19021
19022# Check whether --enable-utmpx was given.
19023if test "${enable_utmpx+set}" = set; then :
19024 enableval=$enable_utmpx;
19025 if test "x$enableval" = "xno" ; then
19026
19027$as_echo "#define DISABLE_UTMPX 1" >>confdefs.h
19028
19029 fi
19030
19031
19032fi
19033
19034# Check whether --enable-wtmp was given.
19035if test "${enable_wtmp+set}" = set; then :
19036 enableval=$enable_wtmp;
19037 if test "x$enableval" = "xno" ; then
19038 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
19039
19040 fi
19041
19042
19043fi
19044
19045# Check whether --enable-wtmpx was given.
19046if test "${enable_wtmpx+set}" = set; then :
19047 enableval=$enable_wtmpx;
19048 if test "x$enableval" = "xno" ; then
19049
19050$as_echo "#define DISABLE_WTMPX 1" >>confdefs.h
19051
19052 fi
19053
19054
19055fi
19056
19057# Check whether --enable-libutil was given.
19058if test "${enable_libutil+set}" = set; then :
19059 enableval=$enable_libutil;
19060 if test "x$enableval" = "xno" ; then
19061 $as_echo "#define DISABLE_LOGIN 1" >>confdefs.h
19062
19063 fi
19064
19065
19066fi
19067
19068# Check whether --enable-pututline was given.
19069if test "${enable_pututline+set}" = set; then :
19070 enableval=$enable_pututline;
19071 if test "x$enableval" = "xno" ; then
19072
19073$as_echo "#define DISABLE_PUTUTLINE 1" >>confdefs.h
19074
19075 fi
19076
19077
19078fi
19079
19080# Check whether --enable-pututxline was given.
19081if test "${enable_pututxline+set}" = set; then :
19082 enableval=$enable_pututxline;
19083 if test "x$enableval" = "xno" ; then
19084
19085$as_echo "#define DISABLE_PUTUTXLINE 1" >>confdefs.h
19086
19087 fi
19088
19089
19090fi
19091
19092
19093# Check whether --with-lastlog was given.
19094if test "${with_lastlog+set}" = set; then :
19095 withval=$with_lastlog;
19096 if test "x$withval" = "xno" ; then
19097 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
19098
19099 elif test -n "$withval" && test "x${withval}" != "xyes"; then
19100 conf_lastlog_location=$withval
19101 fi
19102
19103
19104fi
19105
19106
19107
19108{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines LASTLOG_FILE" >&5
19109$as_echo_n "checking if your system defines LASTLOG_FILE... " >&6; }
19110cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19111/* end confdefs.h. */
19112
19113#include <sys/types.h>
19114#include <utmp.h>
19115#ifdef HAVE_LASTLOG_H
19116# include <lastlog.h>
19117#endif
19118#ifdef HAVE_PATHS_H
19119# include <paths.h>
19120#endif
19121#ifdef HAVE_LOGIN_H
19122# include <login.h>
19123#endif
19124
19125int
19126main ()
19127{
19128 char *lastlog = LASTLOG_FILE;
19129 ;
19130 return 0;
19131}
19132_ACEOF
19133if ac_fn_c_try_compile "$LINENO"; then :
19134 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19135$as_echo "yes" >&6; }
19136else
19137
19138 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19139$as_echo "no" >&6; }
19140 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines _PATH_LASTLOG" >&5
19141$as_echo_n "checking if your system defines _PATH_LASTLOG... " >&6; }
19142 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19143/* end confdefs.h. */
19144
19145#include <sys/types.h>
19146#include <utmp.h>
19147#ifdef HAVE_LASTLOG_H
19148# include <lastlog.h>
19149#endif
19150#ifdef HAVE_PATHS_H
19151# include <paths.h>
19152#endif
19153
19154int
19155main ()
19156{
19157 char *lastlog = _PATH_LASTLOG;
19158 ;
19159 return 0;
19160}
19161_ACEOF
19162if ac_fn_c_try_compile "$LINENO"; then :
19163 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19164$as_echo "yes" >&6; }
19165else
19166
19167 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19168$as_echo "no" >&6; }
19169 system_lastlog_path=no
19170
19171fi
19172rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19173
19174fi
19175rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19176
19177if test -z "$conf_lastlog_location"; then
19178 if test x"$system_lastlog_path" = x"no" ; then
19179 for f in /var/log/lastlog /usr/adm/lastlog /var/adm/lastlog /etc/security/lastlog ; do
19180 if (test -d "$f" || test -f "$f") ; then
19181 conf_lastlog_location=$f
19182 fi
19183 done
19184 if test -z "$conf_lastlog_location"; then
19185 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ** Cannot find lastlog **" >&5
19186$as_echo "$as_me: WARNING: ** Cannot find lastlog **" >&2;}
19187 fi
19188 fi
19189fi
19190
19191if test -n "$conf_lastlog_location"; then
19192
19193cat >>confdefs.h <<_ACEOF
19194#define CONF_LASTLOG_FILE "$conf_lastlog_location"
19195_ACEOF
19196
19197fi
19198
19199{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines UTMP_FILE" >&5
19200$as_echo_n "checking if your system defines UTMP_FILE... " >&6; }
19201cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19202/* end confdefs.h. */
19203
19204#include <sys/types.h>
19205#include <utmp.h>
19206#ifdef HAVE_PATHS_H
19207# include <paths.h>
19208#endif
19209
19210int
19211main ()
19212{
19213 char *utmp = UTMP_FILE;
19214 ;
19215 return 0;
19216}
19217_ACEOF
19218if ac_fn_c_try_compile "$LINENO"; then :
19219 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19220$as_echo "yes" >&6; }
19221else
19222 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19223$as_echo "no" >&6; }
19224 system_utmp_path=no
19225
19226fi
19227rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19228if test -z "$conf_utmp_location"; then
19229 if test x"$system_utmp_path" = x"no" ; then
19230 for f in /etc/utmp /usr/adm/utmp /var/run/utmp; do
19231 if test -f $f ; then
19232 conf_utmp_location=$f
19233 fi
19234 done
19235 if test -z "$conf_utmp_location"; then
19236 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
19237
19238 fi
19239 fi
19240fi
19241if test -n "$conf_utmp_location"; then
19242
19243cat >>confdefs.h <<_ACEOF
19244#define CONF_UTMP_FILE "$conf_utmp_location"
19245_ACEOF
19246
19247fi
19248
19249{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMP_FILE" >&5
19250$as_echo_n "checking if your system defines WTMP_FILE... " >&6; }
19251cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19252/* end confdefs.h. */
19253
19254#include <sys/types.h>
19255#include <utmp.h>
19256#ifdef HAVE_PATHS_H
19257# include <paths.h>
19258#endif
19259
19260int
19261main ()
19262{
19263 char *wtmp = WTMP_FILE;
19264 ;
19265 return 0;
19266}
19267_ACEOF
19268if ac_fn_c_try_compile "$LINENO"; then :
19269 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19270$as_echo "yes" >&6; }
19271else
19272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19273$as_echo "no" >&6; }
19274 system_wtmp_path=no
19275
19276fi
19277rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19278if test -z "$conf_wtmp_location"; then
19279 if test x"$system_wtmp_path" = x"no" ; then
19280 for f in /usr/adm/wtmp /var/log/wtmp; do
19281 if test -f $f ; then
19282 conf_wtmp_location=$f
19283 fi
19284 done
19285 if test -z "$conf_wtmp_location"; then
19286 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
19287
19288 fi
19289 fi
19290fi
19291if test -n "$conf_wtmp_location"; then
19292
19293cat >>confdefs.h <<_ACEOF
19294#define CONF_WTMP_FILE "$conf_wtmp_location"
19295_ACEOF
19296
19297fi
19298
19299{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if your system defines WTMPX_FILE" >&5
19300$as_echo_n "checking if your system defines WTMPX_FILE... " >&6; }
19301cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19302/* end confdefs.h. */
19303
19304#include <sys/types.h>
19305#include <utmp.h>
19306#ifdef HAVE_UTMPX_H
19307#include <utmpx.h>
19308#endif
19309#ifdef HAVE_PATHS_H
19310# include <paths.h>
19311#endif
19312
19313int
19314main ()
19315{
19316 char *wtmpx = WTMPX_FILE;
19317 ;
19318 return 0;
19319}
19320_ACEOF
19321if ac_fn_c_try_compile "$LINENO"; then :
19322 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19323$as_echo "yes" >&6; }
19324else
19325 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
19326$as_echo "no" >&6; }
19327 system_wtmpx_path=no
19328
19329fi
19330rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
19331if test -z "$conf_wtmpx_location"; then
19332 if test x"$system_wtmpx_path" = x"no" ; then
19333 $as_echo "#define DISABLE_WTMPX 1" >>confdefs.h
19334
19335 fi
19336else
19337
19338cat >>confdefs.h <<_ACEOF
19339#define CONF_WTMPX_FILE "$conf_wtmpx_location"
19340_ACEOF
19341
19342fi
19343
19344
19345if test ! -z "$blibpath" ; then
19346 LDFLAGS="$LDFLAGS $blibflags$blibpath"
19347 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&5
19348$as_echo "$as_me: WARNING: Please check and edit blibpath in LDFLAGS in Makefile" >&2;}
19349fi
19350
19351ac_fn_c_check_member "$LINENO" "struct lastlog" "ll_line" "ac_cv_member_struct_lastlog_ll_line" "
19352#ifdef HAVE_SYS_TYPES_H
19353#include <sys/types.h>
19354#endif
19355#ifdef HAVE_UTMP_H
19356#include <utmp.h>
19357#endif
19358#ifdef HAVE_UTMPX_H
19359#include <utmpx.h>
19360#endif
19361#ifdef HAVE_LASTLOG_H
19362#include <lastlog.h>
19363#endif
19364
19365"
19366if test "x$ac_cv_member_struct_lastlog_ll_line" = xyes; then :
19367
19368else
19369
19370 if test x$SKIP_DISABLE_LASTLOG_DEFINE != "xyes" ; then
19371 $as_echo "#define DISABLE_LASTLOG 1" >>confdefs.h
19372
19373 fi
19374
19375fi
19376
19377
19378ac_fn_c_check_member "$LINENO" "struct utmp" "ut_line" "ac_cv_member_struct_utmp_ut_line" "
19379#ifdef HAVE_SYS_TYPES_H
19380#include <sys/types.h>
19381#endif
19382#ifdef HAVE_UTMP_H
19383#include <utmp.h>
19384#endif
19385#ifdef HAVE_UTMPX_H
19386#include <utmpx.h>
19387#endif
19388#ifdef HAVE_LASTLOG_H
19389#include <lastlog.h>
19390#endif
19391
19392"
19393if test "x$ac_cv_member_struct_utmp_ut_line" = xyes; then :
19394
19395else
19396
19397 $as_echo "#define DISABLE_UTMP 1" >>confdefs.h
19398
19399 $as_echo "#define DISABLE_WTMP 1" >>confdefs.h
19400
19401
19402fi
19403
19404
19405CFLAGS="$CFLAGS $werror_flags"
19406
19407if test "x$ac_cv_func_getaddrinfo" != "xyes" ; then
19408 TEST_SSH_IPV6=no
19409else
19410 TEST_SSH_IPV6=yes
19411fi
19412ac_fn_c_check_decl "$LINENO" "BROKEN_GETADDRINFO" "ac_cv_have_decl_BROKEN_GETADDRINFO" "$ac_includes_default"
19413if test "x$ac_cv_have_decl_BROKEN_GETADDRINFO" = xyes; then :
19414 TEST_SSH_IPV6=no
19415fi
19416
19417TEST_SSH_IPV6=$TEST_SSH_IPV6
19418
19419TEST_SSH_UTF8=$TEST_SSH_UTF8
19420
19421TEST_MALLOC_OPTIONS=$TEST_MALLOC_OPTIONS
19422
19423UNSUPPORTED_ALGORITHMS=$unsupported_algorithms
19424
19425DEPEND=$(cat $srcdir/.depend)
19426
19427
19428CFLAGS="${CFLAGS} ${CFLAGS_AFTER}"
19429LDFLAGS="${LDFLAGS} ${LDFLAGS_AFTER}"
19430
19431
19432ac_config_files="$ac_config_files Makefile buildpkg.sh opensshd.init openssh.xml openbsd-compat/Makefile openbsd-compat/regress/Makefile survey.sh"
19433
19434cat >confcache <<\_ACEOF
19435# This file is a shell script that caches the results of configure
19436# tests run on this system so they can be shared between configure
19437# scripts and configure runs, see configure's option --config-cache.
19438# It is not useful on other systems. If it contains results you don't
19439# want to keep, you may remove or edit it.
19440#
19441# config.status only pays attention to the cache file if you give it
19442# the --recheck option to rerun configure.
19443#
19444# `ac_cv_env_foo' variables (set or unset) will be overridden when
19445# loading this file, other *unset* `ac_cv_foo' will be assigned the
19446# following values.
19447
19448_ACEOF
19449
19450# The following way of writing the cache mishandles newlines in values,
19451# but we know of no workaround that is simple, portable, and efficient.
19452# So, we kill variables containing newlines.
19453# Ultrix sh set writes to stderr and can't be redirected directly,
19454# and sets the high bit in the cache file unless we assign to the vars.
19455(
19456 for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
19457 eval ac_val=\$$ac_var
19458 case $ac_val in #(
19459 *${as_nl}*)
19460 case $ac_var in #(
19461 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
19462$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
19463 esac
19464 case $ac_var in #(
19465 _ | IFS | as_nl) ;; #(
19466 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
19467 *) { eval $ac_var=; unset $ac_var;} ;;
19468 esac ;;
19469 esac
19470 done
19471
19472 (set) 2>&1 |
19473 case $as_nl`(ac_space=' '; set) 2>&1` in #(
19474 *${as_nl}ac_space=\ *)
19475 # `set' does not quote correctly, so add quotes: double-quote
19476 # substitution turns \\\\ into \\, and sed turns \\ into \.
19477 sed -n \
19478 "s/'/'\\\\''/g;
19479 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
19480 ;; #(
19481 *)
19482 # `set' quotes correctly as required by POSIX, so do not add quotes.
19483 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
19484 ;;
19485 esac |
19486 sort
19487) |
19488 sed '
19489 /^ac_cv_env_/b end
19490 t clear
19491 :clear
19492 s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
19493 t end
19494 s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
19495 :end' >>confcache
19496if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
19497 if test -w "$cache_file"; then
19498 if test "x$cache_file" != "x/dev/null"; then
19499 { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
19500$as_echo "$as_me: updating cache $cache_file" >&6;}
19501 if test ! -f "$cache_file" || test -h "$cache_file"; then
19502 cat confcache >"$cache_file"
19503 else
19504 case $cache_file in #(
19505 */* | ?:*)
19506 mv -f confcache "$cache_file"$$ &&
19507 mv -f "$cache_file"$$ "$cache_file" ;; #(
19508 *)
19509 mv -f confcache "$cache_file" ;;
19510 esac
19511 fi
19512 fi
19513 else
19514 { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
19515$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
19516 fi
19517fi
19518rm -f confcache
19519
19520test "x$prefix" = xNONE && prefix=$ac_default_prefix
19521# Let make expand exec_prefix.
19522test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
19523
19524DEFS=-DHAVE_CONFIG_H
19525
19526ac_libobjs=
19527ac_ltlibobjs=
19528U=
19529for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
19530 # 1. Remove the extension, and $U if already installed.
19531 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
19532 ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
19533 # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
19534 # will be set to the directory where LIBOBJS objects are built.
19535 as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
19536 as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
19537done
19538LIBOBJS=$ac_libobjs
19539
19540LTLIBOBJS=$ac_ltlibobjs
19541
19542
19543
19544
19545: "${CONFIG_STATUS=./config.status}"
19546ac_write_fail=0
19547ac_clean_files_save=$ac_clean_files
19548ac_clean_files="$ac_clean_files $CONFIG_STATUS"
19549{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
19550$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
19551as_write_fail=0
19552cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
19553#! $SHELL
19554# Generated by $as_me.
19555# Run this file to recreate the current configuration.
19556# Compiler output produced by configure, useful for debugging
19557# configure, is in config.log if it exists.
19558
19559debug=false
19560ac_cs_recheck=false
19561ac_cs_silent=false
19562
19563SHELL=\${CONFIG_SHELL-$SHELL}
19564export SHELL
19565_ASEOF
19566cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
19567## -------------------- ##
19568## M4sh Initialization. ##
19569## -------------------- ##
19570
19571# Be more Bourne compatible
19572DUALCASE=1; export DUALCASE # for MKS sh
19573if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
19574 emulate sh
19575 NULLCMD=:
19576 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
19577 # is contrary to our usage. Disable this feature.
19578 alias -g '${1+"$@"}'='"$@"'
19579 setopt NO_GLOB_SUBST
19580else
19581 case `(set -o) 2>/dev/null` in #(
19582 *posix*) :
19583 set -o posix ;; #(
19584 *) :
19585 ;;
19586esac
19587fi
19588
19589
19590as_nl='
19591'
19592export as_nl
19593# Printing a long string crashes Solaris 7 /usr/bin/printf.
19594as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
19595as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
19596as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
19597# Prefer a ksh shell builtin over an external printf program on Solaris,
19598# but without wasting forks for bash or zsh.
19599if test -z "$BASH_VERSION$ZSH_VERSION" \
19600 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
19601 as_echo='print -r --'
19602 as_echo_n='print -rn --'
19603elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
19604 as_echo='printf %s\n'
19605 as_echo_n='printf %s'
19606else
19607 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
19608 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
19609 as_echo_n='/usr/ucb/echo -n'
19610 else
19611 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
19612 as_echo_n_body='eval
19613 arg=$1;
19614 case $arg in #(
19615 *"$as_nl"*)
19616 expr "X$arg" : "X\\(.*\\)$as_nl";
19617 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
19618 esac;
19619 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
19620 '
19621 export as_echo_n_body
19622 as_echo_n='sh -c $as_echo_n_body as_echo'
19623 fi
19624 export as_echo_body
19625 as_echo='sh -c $as_echo_body as_echo'
19626fi
19627
19628# The user is always right.
19629if test "${PATH_SEPARATOR+set}" != set; then
19630 PATH_SEPARATOR=:
19631 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
19632 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
19633 PATH_SEPARATOR=';'
19634 }
19635fi
19636
19637
19638# IFS
19639# We need space, tab and new line, in precisely that order. Quoting is
19640# there to prevent editors from complaining about space-tab.
19641# (If _AS_PATH_WALK were called with IFS unset, it would disable word
19642# splitting by setting IFS to empty value.)
19643IFS=" "" $as_nl"
19644
19645# Find who we are. Look in the path if we contain no directory separator.
19646as_myself=
19647case $0 in #((
19648 *[\\/]* ) as_myself=$0 ;;
19649 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
19650for as_dir in $PATH
19651do
19652 IFS=$as_save_IFS
19653 test -z "$as_dir" && as_dir=.
19654 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
19655 done
19656IFS=$as_save_IFS
19657
19658 ;;
19659esac
19660# We did not find ourselves, most probably we were run as `sh COMMAND'
19661# in which case we are not to be found in the path.
19662if test "x$as_myself" = x; then
19663 as_myself=$0
19664fi
19665if test ! -f "$as_myself"; then
19666 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
19667 exit 1
19668fi
19669
19670# Unset variables that we do not need and which cause bugs (e.g. in
19671# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
19672# suppresses any "Segmentation fault" message there. '((' could
19673# trigger a bug in pdksh 5.2.14.
19674for as_var in BASH_ENV ENV MAIL MAILPATH
19675do eval test x\${$as_var+set} = xset \
19676 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
19677done
19678PS1='$ '
19679PS2='> '
19680PS4='+ '
19681
19682# NLS nuisances.
19683LC_ALL=C
19684export LC_ALL
19685LANGUAGE=C
19686export LANGUAGE
19687
19688# CDPATH.
19689(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
19690
19691
19692# as_fn_error STATUS ERROR [LINENO LOG_FD]
19693# ----------------------------------------
19694# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
19695# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
19696# script with STATUS, using 1 if that was 0.
19697as_fn_error ()
19698{
19699 as_status=$1; test $as_status -eq 0 && as_status=1
19700 if test "$4"; then
19701 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
19702 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
19703 fi
19704 $as_echo "$as_me: error: $2" >&2
19705 as_fn_exit $as_status
19706} # as_fn_error
19707
19708
19709# as_fn_set_status STATUS
19710# -----------------------
19711# Set $? to STATUS, without forking.
19712as_fn_set_status ()
19713{
19714 return $1
19715} # as_fn_set_status
19716
19717# as_fn_exit STATUS
19718# -----------------
19719# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
19720as_fn_exit ()
19721{
19722 set +e
19723 as_fn_set_status $1
19724 exit $1
19725} # as_fn_exit
19726
19727# as_fn_unset VAR
19728# ---------------
19729# Portably unset VAR.
19730as_fn_unset ()
19731{
19732 { eval $1=; unset $1;}
19733}
19734as_unset=as_fn_unset
19735# as_fn_append VAR VALUE
19736# ----------------------
19737# Append the text in VALUE to the end of the definition contained in VAR. Take
19738# advantage of any shell optimizations that allow amortized linear growth over
19739# repeated appends, instead of the typical quadratic growth present in naive
19740# implementations.
19741if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
19742 eval 'as_fn_append ()
19743 {
19744 eval $1+=\$2
19745 }'
19746else
19747 as_fn_append ()
19748 {
19749 eval $1=\$$1\$2
19750 }
19751fi # as_fn_append
19752
19753# as_fn_arith ARG...
19754# ------------------
19755# Perform arithmetic evaluation on the ARGs, and store the result in the
19756# global $as_val. Take advantage of shells that can avoid forks. The arguments
19757# must be portable across $(()) and expr.
19758if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
19759 eval 'as_fn_arith ()
19760 {
19761 as_val=$(( $* ))
19762 }'
19763else
19764 as_fn_arith ()
19765 {
19766 as_val=`expr "$@" || test $? -eq 1`
19767 }
19768fi # as_fn_arith
19769
19770
19771if expr a : '\(a\)' >/dev/null 2>&1 &&
19772 test "X`expr 00001 : '.*\(...\)'`" = X001; then
19773 as_expr=expr
19774else
19775 as_expr=false
19776fi
19777
19778if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
19779 as_basename=basename
19780else
19781 as_basename=false
19782fi
19783
19784if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
19785 as_dirname=dirname
19786else
19787 as_dirname=false
19788fi
19789
19790as_me=`$as_basename -- "$0" ||
19791$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
19792 X"$0" : 'X\(//\)$' \| \
19793 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
19794$as_echo X/"$0" |
19795 sed '/^.*\/\([^/][^/]*\)\/*$/{
19796 s//\1/
19797 q
19798 }
19799 /^X\/\(\/\/\)$/{
19800 s//\1/
19801 q
19802 }
19803 /^X\/\(\/\).*/{
19804 s//\1/
19805 q
19806 }
19807 s/.*/./; q'`
19808
19809# Avoid depending upon Character Ranges.
19810as_cr_letters='abcdefghijklmnopqrstuvwxyz'
19811as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
19812as_cr_Letters=$as_cr_letters$as_cr_LETTERS
19813as_cr_digits='0123456789'
19814as_cr_alnum=$as_cr_Letters$as_cr_digits
19815
19816ECHO_C= ECHO_N= ECHO_T=
19817case `echo -n x` in #(((((
19818-n*)
19819 case `echo 'xy\c'` in
19820 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
19821 xy) ECHO_C='\c';;
19822 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
19823 ECHO_T=' ';;
19824 esac;;
19825*)
19826 ECHO_N='-n';;
19827esac
19828
19829rm -f conf$$ conf$$.exe conf$$.file
19830if test -d conf$$.dir; then
19831 rm -f conf$$.dir/conf$$.file
19832else
19833 rm -f conf$$.dir
19834 mkdir conf$$.dir 2>/dev/null
19835fi
19836if (echo >conf$$.file) 2>/dev/null; then
19837 if ln -s conf$$.file conf$$ 2>/dev/null; then
19838 as_ln_s='ln -s'
19839 # ... but there are two gotchas:
19840 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
19841 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
19842 # In both cases, we have to default to `cp -pR'.
19843 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
19844 as_ln_s='cp -pR'
19845 elif ln conf$$.file conf$$ 2>/dev/null; then
19846 as_ln_s=ln
19847 else
19848 as_ln_s='cp -pR'
19849 fi
19850else
19851 as_ln_s='cp -pR'
19852fi
19853rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
19854rmdir conf$$.dir 2>/dev/null
19855
19856
19857# as_fn_mkdir_p
19858# -------------
19859# Create "$as_dir" as a directory, including parents if necessary.
19860as_fn_mkdir_p ()
19861{
19862
19863 case $as_dir in #(
19864 -*) as_dir=./$as_dir;;
19865 esac
19866 test -d "$as_dir" || eval $as_mkdir_p || {
19867 as_dirs=
19868 while :; do
19869 case $as_dir in #(
19870 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
19871 *) as_qdir=$as_dir;;
19872 esac
19873 as_dirs="'$as_qdir' $as_dirs"
19874 as_dir=`$as_dirname -- "$as_dir" ||
19875$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
19876 X"$as_dir" : 'X\(//\)[^/]' \| \
19877 X"$as_dir" : 'X\(//\)$' \| \
19878 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
19879$as_echo X"$as_dir" |
19880 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
19881 s//\1/
19882 q
19883 }
19884 /^X\(\/\/\)[^/].*/{
19885 s//\1/
19886 q
19887 }
19888 /^X\(\/\/\)$/{
19889 s//\1/
19890 q
19891 }
19892 /^X\(\/\).*/{
19893 s//\1/
19894 q
19895 }
19896 s/.*/./; q'`
19897 test -d "$as_dir" && break
19898 done
19899 test -z "$as_dirs" || eval "mkdir $as_dirs"
19900 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
19901
19902
19903} # as_fn_mkdir_p
19904if mkdir -p . 2>/dev/null; then
19905 as_mkdir_p='mkdir -p "$as_dir"'
19906else
19907 test -d ./-p && rmdir ./-p
19908 as_mkdir_p=false
19909fi
19910
19911
19912# as_fn_executable_p FILE
19913# -----------------------
19914# Test if FILE is an executable regular file.
19915as_fn_executable_p ()
19916{
19917 test -f "$1" && test -x "$1"
19918} # as_fn_executable_p
19919as_test_x='test -x'
19920as_executable_p=as_fn_executable_p
19921
19922# Sed expression to map a string onto a valid CPP name.
19923as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
19924
19925# Sed expression to map a string onto a valid variable name.
19926as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
19927
19928
19929exec 6>&1
19930## ----------------------------------- ##
19931## Main body of $CONFIG_STATUS script. ##
19932## ----------------------------------- ##
19933_ASEOF
19934test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
19935
19936cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
19937# Save the log message, to keep $0 and so on meaningful, and to
19938# report actual input values of CONFIG_FILES etc. instead of their
19939# values after options handling.
19940ac_log="
19941This file was extended by OpenSSH $as_me Portable, which was
19942generated by GNU Autoconf 2.69. Invocation command line was
19943
19944 CONFIG_FILES = $CONFIG_FILES
19945 CONFIG_HEADERS = $CONFIG_HEADERS
19946 CONFIG_LINKS = $CONFIG_LINKS
19947 CONFIG_COMMANDS = $CONFIG_COMMANDS
19948 $ $0 $@
19949
19950on `(hostname || uname -n) 2>/dev/null | sed 1q`
19951"
19952
19953_ACEOF
19954
19955case $ac_config_files in *"
19956"*) set x $ac_config_files; shift; ac_config_files=$*;;
19957esac
19958
19959case $ac_config_headers in *"
19960"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
19961esac
19962
19963
19964cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
19965# Files that config.status was made for.
19966config_files="$ac_config_files"
19967config_headers="$ac_config_headers"
19968
19969_ACEOF
19970
19971cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
19972ac_cs_usage="\
19973\`$as_me' instantiates files and other configuration actions
19974from templates according to the current configuration. Unless the files
19975and actions are specified as TAGs, all are instantiated by default.
19976
19977Usage: $0 [OPTION]... [TAG]...
19978
19979 -h, --help print this help, then exit
19980 -V, --version print version number and configuration settings, then exit
19981 --config print configuration, then exit
19982 -q, --quiet, --silent
19983 do not print progress messages
19984 -d, --debug don't remove temporary files
19985 --recheck update $as_me by reconfiguring in the same conditions
19986 --file=FILE[:TEMPLATE]
19987 instantiate the configuration file FILE
19988 --header=FILE[:TEMPLATE]
19989 instantiate the configuration header FILE
19990
19991Configuration files:
19992$config_files
19993
19994Configuration headers:
19995$config_headers
19996
19997Report bugs to <openssh-unix-dev@mindrot.org>."
19998
19999_ACEOF
20000cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20001ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
20002ac_cs_version="\\
20003OpenSSH config.status Portable
20004configured by $0, generated by GNU Autoconf 2.69,
20005 with options \\"\$ac_cs_config\\"
20006
20007Copyright (C) 2012 Free Software Foundation, Inc.
20008This config.status script is free software; the Free Software Foundation
20009gives unlimited permission to copy, distribute and modify it."
20010
20011ac_pwd='$ac_pwd'
20012srcdir='$srcdir'
20013INSTALL='$INSTALL'
20014MKDIR_P='$MKDIR_P'
20015AWK='$AWK'
20016test -n "\$AWK" || AWK=awk
20017_ACEOF
20018
20019cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20020# The default lists apply if the user does not specify any file.
20021ac_need_defaults=:
20022while test $# != 0
20023do
20024 case $1 in
20025 --*=?*)
20026 ac_option=`expr "X$1" : 'X\([^=]*\)='`
20027 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
20028 ac_shift=:
20029 ;;
20030 --*=)
20031 ac_option=`expr "X$1" : 'X\([^=]*\)='`
20032 ac_optarg=
20033 ac_shift=:
20034 ;;
20035 *)
20036 ac_option=$1
20037 ac_optarg=$2
20038 ac_shift=shift
20039 ;;
20040 esac
20041
20042 case $ac_option in
20043 # Handling of the options.
20044 -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
20045 ac_cs_recheck=: ;;
20046 --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
20047 $as_echo "$ac_cs_version"; exit ;;
20048 --config | --confi | --conf | --con | --co | --c )
20049 $as_echo "$ac_cs_config"; exit ;;
20050 --debug | --debu | --deb | --de | --d | -d )
20051 debug=: ;;
20052 --file | --fil | --fi | --f )
20053 $ac_shift
20054 case $ac_optarg in
20055 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
20056 '') as_fn_error $? "missing file argument" ;;
20057 esac
20058 as_fn_append CONFIG_FILES " '$ac_optarg'"
20059 ac_need_defaults=false;;
20060 --header | --heade | --head | --hea )
20061 $ac_shift
20062 case $ac_optarg in
20063 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
20064 esac
20065 as_fn_append CONFIG_HEADERS " '$ac_optarg'"
20066 ac_need_defaults=false;;
20067 --he | --h)
20068 # Conflict between --help and --header
20069 as_fn_error $? "ambiguous option: \`$1'
20070Try \`$0 --help' for more information.";;
20071 --help | --hel | -h )
20072 $as_echo "$ac_cs_usage"; exit ;;
20073 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
20074 | -silent | --silent | --silen | --sile | --sil | --si | --s)
20075 ac_cs_silent=: ;;
20076
20077 # This is an error.
20078 -*) as_fn_error $? "unrecognized option: \`$1'
20079Try \`$0 --help' for more information." ;;
20080
20081 *) as_fn_append ac_config_targets " $1"
20082 ac_need_defaults=false ;;
20083
20084 esac
20085 shift
20086done
20087
20088ac_configure_extra_args=
20089
20090if $ac_cs_silent; then
20091 exec 6>/dev/null
20092 ac_configure_extra_args="$ac_configure_extra_args --silent"
20093fi
20094
20095_ACEOF
20096cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20097if \$ac_cs_recheck; then
20098 set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
20099 shift
20100 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
20101 CONFIG_SHELL='$SHELL'
20102 export CONFIG_SHELL
20103 exec "\$@"
20104fi
20105
20106_ACEOF
20107cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20108exec 5>>config.log
20109{
20110 echo
20111 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
20112## Running $as_me. ##
20113_ASBOX
20114 $as_echo "$ac_log"
20115} >&5
20116
20117_ACEOF
20118cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20119_ACEOF
20120
20121cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20122
20123# Handling of arguments.
20124for ac_config_target in $ac_config_targets
20125do
20126 case $ac_config_target in
20127 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
20128 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
20129 "buildpkg.sh") CONFIG_FILES="$CONFIG_FILES buildpkg.sh" ;;
20130 "opensshd.init") CONFIG_FILES="$CONFIG_FILES opensshd.init" ;;
20131 "openssh.xml") CONFIG_FILES="$CONFIG_FILES openssh.xml" ;;
20132 "openbsd-compat/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/Makefile" ;;
20133 "openbsd-compat/regress/Makefile") CONFIG_FILES="$CONFIG_FILES openbsd-compat/regress/Makefile" ;;
20134 "survey.sh") CONFIG_FILES="$CONFIG_FILES survey.sh" ;;
20135
20136 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
20137 esac
20138done
20139
20140
20141# If the user did not use the arguments to specify the items to instantiate,
20142# then the envvar interface is used. Set only those that are not.
20143# We use the long form for the default assignment because of an extremely
20144# bizarre bug on SunOS 4.1.3.
20145if $ac_need_defaults; then
20146 test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
20147 test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
20148fi
20149
20150# Have a temporary directory for convenience. Make it in the build tree
20151# simply because there is no reason against having it here, and in addition,
20152# creating and moving files from /tmp can sometimes cause problems.
20153# Hook for its removal unless debugging.
20154# Note that there is a small window in which the directory will not be cleaned:
20155# after its creation but before its name has been assigned to `$tmp'.
20156$debug ||
20157{
20158 tmp= ac_tmp=
20159 trap 'exit_status=$?
20160 : "${ac_tmp:=$tmp}"
20161 { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
20162' 0
20163 trap 'as_fn_exit 1' 1 2 13 15
20164}
20165# Create a (secure) tmp directory for tmp files.
20166
20167{
20168 tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
20169 test -d "$tmp"
20170} ||
20171{
20172 tmp=./conf$$-$RANDOM
20173 (umask 077 && mkdir "$tmp")
20174} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
20175ac_tmp=$tmp
20176
20177# Set up the scripts for CONFIG_FILES section.
20178# No need to generate them if there are no CONFIG_FILES.
20179# This happens for instance with `./config.status config.h'.
20180if test -n "$CONFIG_FILES"; then
20181
20182
20183ac_cr=`echo X | tr X '\015'`
20184# On cygwin, bash can eat \r inside `` if the user requested igncr.
20185# But we know of no other shell where ac_cr would be empty at this
20186# point, so we can use a bashism as a fallback.
20187if test "x$ac_cr" = x; then
20188 eval ac_cr=\$\'\\r\'
20189fi
20190ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
20191if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
20192 ac_cs_awk_cr='\\r'
20193else
20194 ac_cs_awk_cr=$ac_cr
20195fi
20196
20197echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
20198_ACEOF
20199
20200
20201{
20202 echo "cat >conf$$subs.awk <<_ACEOF" &&
20203 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
20204 echo "_ACEOF"
20205} >conf$$subs.sh ||
20206 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
20207ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
20208ac_delim='%!_!# '
20209for ac_last_try in false false false false false :; do
20210 . ./conf$$subs.sh ||
20211 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
20212
20213 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
20214 if test $ac_delim_n = $ac_delim_num; then
20215 break
20216 elif $ac_last_try; then
20217 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
20218 else
20219 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
20220 fi
20221done
20222rm -f conf$$subs.sh
20223
20224cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20225cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
20226_ACEOF
20227sed -n '
20228h
20229s/^/S["/; s/!.*/"]=/
20230p
20231g
20232s/^[^!]*!//
20233:repl
20234t repl
20235s/'"$ac_delim"'$//
20236t delim
20237:nl
20238h
20239s/\(.\{148\}\)..*/\1/
20240t more1
20241s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
20242p
20243n
20244b repl
20245:more1
20246s/["\\]/\\&/g; s/^/"/; s/$/"\\/
20247p
20248g
20249s/.\{148\}//
20250t nl
20251:delim
20252h
20253s/\(.\{148\}\)..*/\1/
20254t more2
20255s/["\\]/\\&/g; s/^/"/; s/$/"/
20256p
20257b
20258:more2
20259s/["\\]/\\&/g; s/^/"/; s/$/"\\/
20260p
20261g
20262s/.\{148\}//
20263t delim
20264' <conf$$subs.awk | sed '
20265/^[^""]/{
20266 N
20267 s/\n//
20268}
20269' >>$CONFIG_STATUS || ac_write_fail=1
20270rm -f conf$$subs.awk
20271cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20272_ACAWK
20273cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
20274 for (key in S) S_is_set[key] = 1
20275 FS = ""
20276
20277}
20278{
20279 line = $ 0
20280 nfields = split(line, field, "@")
20281 substed = 0
20282 len = length(field[1])
20283 for (i = 2; i < nfields; i++) {
20284 key = field[i]
20285 keylen = length(key)
20286 if (S_is_set[key]) {
20287 value = S[key]
20288 line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
20289 len += length(value) + length(field[++i])
20290 substed = 1
20291 } else
20292 len += 1 + keylen
20293 }
20294
20295 print line
20296}
20297
20298_ACAWK
20299_ACEOF
20300cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20301if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
20302 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
20303else
20304 cat
20305fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
20306 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
20307_ACEOF
20308
20309# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
20310# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
20311# trailing colons and then remove the whole line if VPATH becomes empty
20312# (actually we leave an empty line to preserve line numbers).
20313if test "x$srcdir" = x.; then
20314 ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
20315h
20316s///
20317s/^/:/
20318s/[ ]*$/:/
20319s/:\$(srcdir):/:/g
20320s/:\${srcdir}:/:/g
20321s/:@srcdir@:/:/g
20322s/^:*//
20323s/:*$//
20324x
20325s/\(=[ ]*\).*/\1/
20326G
20327s/\n//
20328s/^[^=]*=[ ]*$//
20329}'
20330fi
20331
20332cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20333fi # test -n "$CONFIG_FILES"
20334
20335# Set up the scripts for CONFIG_HEADERS section.
20336# No need to generate them if there are no CONFIG_HEADERS.
20337# This happens for instance with `./config.status Makefile'.
20338if test -n "$CONFIG_HEADERS"; then
20339cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
20340BEGIN {
20341_ACEOF
20342
20343# Transform confdefs.h into an awk script `defines.awk', embedded as
20344# here-document in config.status, that substitutes the proper values into
20345# config.h.in to produce config.h.
20346
20347# Create a delimiter string that does not exist in confdefs.h, to ease
20348# handling of long lines.
20349ac_delim='%!_!# '
20350for ac_last_try in false false :; do
20351 ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
20352 if test -z "$ac_tt"; then
20353 break
20354 elif $ac_last_try; then
20355 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
20356 else
20357 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
20358 fi
20359done
20360
20361# For the awk script, D is an array of macro values keyed by name,
20362# likewise P contains macro parameters if any. Preserve backslash
20363# newline sequences.
20364
20365ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
20366sed -n '
20367s/.\{148\}/&'"$ac_delim"'/g
20368t rset
20369:rset
20370s/^[ ]*#[ ]*define[ ][ ]*/ /
20371t def
20372d
20373:def
20374s/\\$//
20375t bsnl
20376s/["\\]/\\&/g
20377s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
20378D["\1"]=" \3"/p
20379s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
20380d
20381:bsnl
20382s/["\\]/\\&/g
20383s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
20384D["\1"]=" \3\\\\\\n"\\/p
20385t cont
20386s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
20387t cont
20388d
20389:cont
20390n
20391s/.\{148\}/&'"$ac_delim"'/g
20392t clear
20393:clear
20394s/\\$//
20395t bsnlc
20396s/["\\]/\\&/g; s/^/"/; s/$/"/p
20397d
20398:bsnlc
20399s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
20400b cont
20401' <confdefs.h | sed '
20402s/'"$ac_delim"'/"\\\
20403"/g' >>$CONFIG_STATUS || ac_write_fail=1
20404
20405cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20406 for (key in D) D_is_set[key] = 1
20407 FS = ""
20408}
20409/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
20410 line = \$ 0
20411 split(line, arg, " ")
20412 if (arg[1] == "#") {
20413 defundef = arg[2]
20414 mac1 = arg[3]
20415 } else {
20416 defundef = substr(arg[1], 2)
20417 mac1 = arg[2]
20418 }
20419 split(mac1, mac2, "(") #)
20420 macro = mac2[1]
20421 prefix = substr(line, 1, index(line, defundef) - 1)
20422 if (D_is_set[macro]) {
20423 # Preserve the white space surrounding the "#".
20424 print prefix "define", macro P[macro] D[macro]
20425 next
20426 } else {
20427 # Replace #undef with comments. This is necessary, for example,
20428 # in the case of _POSIX_SOURCE, which is predefined and required
20429 # on some systems where configure will not decide to define it.
20430 if (defundef == "undef") {
20431 print "/*", prefix defundef, macro, "*/"
20432 next
20433 }
20434 }
20435}
20436{ print }
20437_ACAWK
20438_ACEOF
20439cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20440 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
20441fi # test -n "$CONFIG_HEADERS"
20442
20443
20444eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
20445shift
20446for ac_tag
20447do
20448 case $ac_tag in
20449 :[FHLC]) ac_mode=$ac_tag; continue;;
20450 esac
20451 case $ac_mode$ac_tag in
20452 :[FHL]*:*);;
20453 :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
20454 :[FH]-) ac_tag=-:-;;
20455 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
20456 esac
20457 ac_save_IFS=$IFS
20458 IFS=:
20459 set x $ac_tag
20460 IFS=$ac_save_IFS
20461 shift
20462 ac_file=$1
20463 shift
20464
20465 case $ac_mode in
20466 :L) ac_source=$1;;
20467 :[FH])
20468 ac_file_inputs=
20469 for ac_f
20470 do
20471 case $ac_f in
20472 -) ac_f="$ac_tmp/stdin";;
20473 *) # Look for the file first in the build tree, then in the source tree
20474 # (if the path is not absolute). The absolute path cannot be DOS-style,
20475 # because $ac_f cannot contain `:'.
20476 test -f "$ac_f" ||
20477 case $ac_f in
20478 [\\/$]*) false;;
20479 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
20480 esac ||
20481 as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
20482 esac
20483 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
20484 as_fn_append ac_file_inputs " '$ac_f'"
20485 done
20486
20487 # Let's still pretend it is `configure' which instantiates (i.e., don't
20488 # use $as_me), people would be surprised to read:
20489 # /* config.h. Generated by config.status. */
20490 configure_input='Generated from '`
20491 $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
20492 `' by configure.'
20493 if test x"$ac_file" != x-; then
20494 configure_input="$ac_file. $configure_input"
20495 { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
20496$as_echo "$as_me: creating $ac_file" >&6;}
20497 fi
20498 # Neutralize special characters interpreted by sed in replacement strings.
20499 case $configure_input in #(
20500 *\&* | *\|* | *\\* )
20501 ac_sed_conf_input=`$as_echo "$configure_input" |
20502 sed 's/[\\\\&|]/\\\\&/g'`;; #(
20503 *) ac_sed_conf_input=$configure_input;;
20504 esac
20505
20506 case $ac_tag in
20507 *:-:* | *:-) cat >"$ac_tmp/stdin" \
20508 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
20509 esac
20510 ;;
20511 esac
20512
20513 ac_dir=`$as_dirname -- "$ac_file" ||
20514$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
20515 X"$ac_file" : 'X\(//\)[^/]' \| \
20516 X"$ac_file" : 'X\(//\)$' \| \
20517 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
20518$as_echo X"$ac_file" |
20519 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
20520 s//\1/
20521 q
20522 }
20523 /^X\(\/\/\)[^/].*/{
20524 s//\1/
20525 q
20526 }
20527 /^X\(\/\/\)$/{
20528 s//\1/
20529 q
20530 }
20531 /^X\(\/\).*/{
20532 s//\1/
20533 q
20534 }
20535 s/.*/./; q'`
20536 as_dir="$ac_dir"; as_fn_mkdir_p
20537 ac_builddir=.
20538
20539case "$ac_dir" in
20540.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
20541*)
20542 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
20543 # A ".." for each directory in $ac_dir_suffix.
20544 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
20545 case $ac_top_builddir_sub in
20546 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
20547 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
20548 esac ;;
20549esac
20550ac_abs_top_builddir=$ac_pwd
20551ac_abs_builddir=$ac_pwd$ac_dir_suffix
20552# for backward compatibility:
20553ac_top_builddir=$ac_top_build_prefix
20554
20555case $srcdir in
20556 .) # We are building in place.
20557 ac_srcdir=.
20558 ac_top_srcdir=$ac_top_builddir_sub
20559 ac_abs_top_srcdir=$ac_pwd ;;
20560 [\\/]* | ?:[\\/]* ) # Absolute name.
20561 ac_srcdir=$srcdir$ac_dir_suffix;
20562 ac_top_srcdir=$srcdir
20563 ac_abs_top_srcdir=$srcdir ;;
20564 *) # Relative name.
20565 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
20566 ac_top_srcdir=$ac_top_build_prefix$srcdir
20567 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
20568esac
20569ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
20570
20571
20572 case $ac_mode in
20573 :F)
20574 #
20575 # CONFIG_FILE
20576 #
20577
20578 case $INSTALL in
20579 [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
20580 *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
20581 esac
20582 ac_MKDIR_P=$MKDIR_P
20583 case $MKDIR_P in
20584 [\\/$]* | ?:[\\/]* ) ;;
20585 */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
20586 esac
20587_ACEOF
20588
20589cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20590# If the template does not know about datarootdir, expand it.
20591# FIXME: This hack should be removed a few years after 2.60.
20592ac_datarootdir_hack=; ac_datarootdir_seen=
20593ac_sed_dataroot='
20594/datarootdir/ {
20595 p
20596 q
20597}
20598/@datadir@/p
20599/@docdir@/p
20600/@infodir@/p
20601/@localedir@/p
20602/@mandir@/p'
20603case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
20604*datarootdir*) ac_datarootdir_seen=yes;;
20605*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
20606 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
20607$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
20608_ACEOF
20609cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20610 ac_datarootdir_hack='
20611 s&@datadir@&$datadir&g
20612 s&@docdir@&$docdir&g
20613 s&@infodir@&$infodir&g
20614 s&@localedir@&$localedir&g
20615 s&@mandir@&$mandir&g
20616 s&\\\${datarootdir}&$datarootdir&g' ;;
20617esac
20618_ACEOF
20619
20620# Neutralize VPATH when `$srcdir' = `.'.
20621# Shell code in configure.ac might set extrasub.
20622# FIXME: do we really want to maintain this feature?
20623cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
20624ac_sed_extra="$ac_vpsub
20625$extrasub
20626_ACEOF
20627cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20628:t
20629/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
20630s|@configure_input@|$ac_sed_conf_input|;t t
20631s&@top_builddir@&$ac_top_builddir_sub&;t t
20632s&@top_build_prefix@&$ac_top_build_prefix&;t t
20633s&@srcdir@&$ac_srcdir&;t t
20634s&@abs_srcdir@&$ac_abs_srcdir&;t t
20635s&@top_srcdir@&$ac_top_srcdir&;t t
20636s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
20637s&@builddir@&$ac_builddir&;t t
20638s&@abs_builddir@&$ac_abs_builddir&;t t
20639s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
20640s&@INSTALL@&$ac_INSTALL&;t t
20641s&@MKDIR_P@&$ac_MKDIR_P&;t t
20642$ac_datarootdir_hack
20643"
20644eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
20645 >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
20646
20647test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
20648 { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
20649 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
20650 "$ac_tmp/out"`; test -z "$ac_out"; } &&
20651 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
20652which seems to be undefined. Please make sure it is defined" >&5
20653$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
20654which seems to be undefined. Please make sure it is defined" >&2;}
20655
20656 rm -f "$ac_tmp/stdin"
20657 case $ac_file in
20658 -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
20659 *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
20660 esac \
20661 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
20662 ;;
20663 :H)
20664 #
20665 # CONFIG_HEADER
20666 #
20667 if test x"$ac_file" != x-; then
20668 {
20669 $as_echo "/* $configure_input */" \
20670 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
20671 } >"$ac_tmp/config.h" \
20672 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
20673 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
20674 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
20675$as_echo "$as_me: $ac_file is unchanged" >&6;}
20676 else
20677 rm -f "$ac_file"
20678 mv "$ac_tmp/config.h" "$ac_file" \
20679 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
20680 fi
20681 else
20682 $as_echo "/* $configure_input */" \
20683 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
20684 || as_fn_error $? "could not create -" "$LINENO" 5
20685 fi
20686 ;;
20687
20688
20689 esac
20690
20691done # for ac_tag
20692
20693
20694as_fn_exit 0
20695_ACEOF
20696ac_clean_files=$ac_clean_files_save
20697
20698test $ac_write_fail = 0 ||
20699 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
20700
20701
20702# configure is writing to config.log, and then calls config.status.
20703# config.status does its own redirection, appending to config.log.
20704# Unfortunately, on DOS this fails, as config.log is still kept open
20705# by configure, so config.status won't be able to write to it; its
20706# output is simply discarded. So we exec the FD to /dev/null,
20707# effectively closing config.log, so it can be properly (re)opened and
20708# appended to by config.status. When coming back to configure, we
20709# need to make the FD available again.
20710if test "$no_create" != yes; then
20711 ac_cs_success=:
20712 ac_config_status_args=
20713 test "$silent" = yes &&
20714 ac_config_status_args="$ac_config_status_args --quiet"
20715 exec 5>/dev/null
20716 $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
20717 exec 5>>config.log
20718 # Use ||, not &&, to avoid exiting from the if with $? = 1, which
20719 # would make configure fail if this is the last instruction.
20720 $ac_cs_success || as_fn_exit 1
20721fi
20722if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
20723 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
20724$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
20725fi
20726
20727
20728# Print summary of options
20729
20730# Someone please show me a better way :)
20731A=`eval echo ${prefix}` ; A=`eval echo ${A}`
20732B=`eval echo ${bindir}` ; B=`eval echo ${B}`
20733C=`eval echo ${sbindir}` ; C=`eval echo ${C}`
20734D=`eval echo ${sysconfdir}` ; D=`eval echo ${D}`
20735E=`eval echo ${libexecdir}/ssh-askpass` ; E=`eval echo ${E}`
20736F=`eval echo ${mandir}/${mansubdir}X` ; F=`eval echo ${F}`
20737G=`eval echo ${piddir}` ; G=`eval echo ${G}`
20738H=`eval echo ${PRIVSEP_PATH}` ; H=`eval echo ${H}`
20739I=`eval echo ${user_path}` ; I=`eval echo ${I}`
20740J=`eval echo ${superuser_path}` ; J=`eval echo ${J}`
20741
20742echo ""
20743echo "OpenSSH has been configured with the following options:"
20744echo " User binaries: $B"
20745echo " System binaries: $C"
20746echo " Configuration files: $D"
20747echo " Askpass program: $E"
20748echo " Manual pages: $F"
20749echo " PID file: $G"
20750echo " Privilege separation chroot path: $H"
20751if test "x$external_path_file" = "x/etc/login.conf" ; then
20752echo " At runtime, sshd will use the path defined in $external_path_file"
20753echo " Make sure the path to scp is present, otherwise scp will not work"
20754else
20755echo " sshd default user PATH: $I"
20756 if test ! -z "$external_path_file"; then
20757echo " (If PATH is set in $external_path_file it will be used instead. If"
20758echo " used, ensure the path to scp is present, otherwise scp will not work.)"
20759 fi
20760fi
20761if test ! -z "$superuser_path" ; then
20762echo " sshd superuser user PATH: $J"
20763fi
20764echo " Manpage format: $MANTYPE"
20765echo " PAM support: $PAM_MSG"
20766echo " OSF SIA support: $SIA_MSG"
20767echo " KerberosV support: $KRB5_MSG"
20768echo " SELinux support: $SELINUX_MSG"
20769echo " MD5 password support: $MD5_MSG"
20770echo " libedit support: $LIBEDIT_MSG"
20771echo " libldns support: $LDNS_MSG"
20772echo " Solaris process contract support: $SPC_MSG"
20773echo " Solaris project support: $SP_MSG"
20774echo " Solaris privilege support: $SPP_MSG"
20775echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG"
20776echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
20777echo " BSD Auth support: $BSD_AUTH_MSG"
20778echo " Random number source: $RAND_MSG"
20779echo " Privsep sandbox style: $SANDBOX_STYLE"
20780
20781echo ""
20782
20783echo " Host: ${host}"
20784echo " Compiler: ${CC}"
20785echo " Compiler flags: ${CFLAGS}"
20786echo "Preprocessor flags: ${CPPFLAGS}"
20787echo " Linker flags: ${LDFLAGS}"
20788echo " Libraries: ${LIBS}"
20789if test ! -z "${SSHDLIBS}"; then
20790echo " +for sshd: ${SSHDLIBS}"
20791fi
20792if test ! -z "${SSHLIBS}"; then
20793echo " +for ssh: ${SSHLIBS}"
20794fi
20795
20796echo ""
20797
20798if test "x$MAKE_PACKAGE_SUPPORTED" = "xyes" ; then
20799 echo "SVR4 style packages are supported with \"make package\""
20800 echo ""
20801fi
20802
20803if test "x$PAM_MSG" = "xyes" ; then
20804 echo "PAM is enabled. You may need to install a PAM control file "
20805 echo "for sshd, otherwise password authentication may fail. "
20806 echo "Example PAM control files can be found in the contrib/ "
20807 echo "subdirectory"
20808 echo ""
20809fi
20810
20811if test ! -z "$NO_PEERCHECK" ; then
20812 echo "WARNING: the operating system that you are using does not"
20813 echo "appear to support getpeereid(), getpeerucred() or the"
20814 echo "SO_PEERCRED getsockopt() option. These facilities are used to"
20815 echo "enforce security checks to prevent unauthorised connections to"
20816 echo "ssh-agent. Their absence increases the risk that a malicious"
20817 echo "user can connect to your agent."
20818 echo ""
20819fi
20820
20821if test "$AUDIT_MODULE" = "bsm" ; then
20822 echo "WARNING: BSM audit support is currently considered EXPERIMENTAL."
20823 echo "See the Solaris section in README.platform for details."
20824fi
diff --git a/moduli.0 b/moduli.0
new file mode 100644
index 000000000..a8109d7d7
--- /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.5 September 26, 2012 OpenBSD 6.5
diff --git a/scp.0 b/scp.0
new file mode 100644
index 000000000..045f1183d
--- /dev/null
+++ b/scp.0
@@ -0,0 +1,182 @@
1SCP(1) General Commands Manual SCP(1)
2
3NAME
4 scp M-bM-^@M-^S secure copy (remote file copy program)
5
6SYNOPSIS
7 scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]
8 [-J destination] [-l limit] [-o ssh_option] [-P port] [-S program]
9 source ... target
10
11DESCRIPTION
12 scp copies files between hosts on a network. It uses ssh(1) for data
13 transfer, and uses the same authentication and provides the same security
14 as ssh(1). scp will ask for passwords or passphrases if they are needed
15 for authentication.
16
17 The source and target may be specified as a local pathname, a remote host
18 with optional path in the form [user@]host:[path], or a URI in the form
19 scp://[user@]host[:port][/path]. Local file names can be made explicit
20 using absolute or relative pathnames to avoid scp treating file names
21 containing M-bM-^@M-^X:M-bM-^@M-^Y as host specifiers.
22
23 When copying between two remote hosts, if the URI format is used, a port
24 may only be specified on the target if the -3 option is used.
25
26 The options are as follows:
27
28 -3 Copies between two remote hosts are transferred through the local
29 host. Without this option the data is copied directly between
30 the two remote hosts. Note that this option disables the
31 progress meter.
32
33 -4 Forces scp to use IPv4 addresses only.
34
35 -6 Forces scp to use IPv6 addresses only.
36
37 -B Selects batch mode (prevents asking for passwords or
38 passphrases).
39
40 -C Compression enable. Passes the -C flag to ssh(1) to enable
41 compression.
42
43 -c cipher
44 Selects the cipher to use for encrypting the data transfer. This
45 option is directly passed to ssh(1).
46
47 -F ssh_config
48 Specifies an alternative per-user configuration file for ssh.
49 This option is directly passed to ssh(1).
50
51 -i identity_file
52 Selects the file from which the identity (private key) for public
53 key authentication is read. This option is directly passed to
54 ssh(1).
55
56 -J destination
57 Connect to the target host by first making an scp connection to
58 the jump host described by destination and then establishing a
59 TCP forwarding to the ultimate destination from there. Multiple
60 jump hops may be specified separated by comma characters. This
61 is a shortcut to specify a ProxyJump configuration directive.
62 This option is directly passed to ssh(1).
63
64 -l limit
65 Limits the used bandwidth, specified in Kbit/s.
66
67 -o ssh_option
68 Can be used to pass options to ssh in the format used in
69 ssh_config(5). This is useful for specifying options for which
70 there is no separate scp command-line flag. For full details of
71 the options listed below, and their possible values, see
72 ssh_config(5).
73
74 AddressFamily
75 BatchMode
76 BindAddress
77 BindInterface
78 CanonicalDomains
79 CanonicalizeFallbackLocal
80 CanonicalizeHostname
81 CanonicalizeMaxDots
82 CanonicalizePermittedCNAMEs
83 CASignatureAlgorithms
84 CertificateFile
85 ChallengeResponseAuthentication
86 CheckHostIP
87 Ciphers
88 Compression
89 ConnectionAttempts
90 ConnectTimeout
91 ControlMaster
92 ControlPath
93 ControlPersist
94 GlobalKnownHostsFile
95 GSSAPIAuthentication
96 GSSAPIDelegateCredentials
97 HashKnownHosts
98 Host
99 HostbasedAuthentication
100 HostbasedKeyTypes
101 HostKeyAlgorithms
102 HostKeyAlias
103 HostName
104 IdentitiesOnly
105 IdentityAgent
106 IdentityFile
107 IPQoS
108 KbdInteractiveAuthentication
109 KbdInteractiveDevices
110 KexAlgorithms
111 LogLevel
112 MACs
113 NoHostAuthenticationForLocalhost
114 NumberOfPasswordPrompts
115 PasswordAuthentication
116 PKCS11Provider
117 Port
118 PreferredAuthentications
119 ProxyCommand
120 ProxyJump
121 PubkeyAcceptedKeyTypes
122 PubkeyAuthentication
123 RekeyLimit
124 SendEnv
125 ServerAliveInterval
126 ServerAliveCountMax
127 SetEnv
128 StrictHostKeyChecking
129 TCPKeepAlive
130 UpdateHostKeys
131 User
132 UserKnownHostsFile
133 VerifyHostKeyDNS
134
135 -P port
136 Specifies the port to connect to on the remote host. Note that
137 this option is written with a capital M-bM-^@M-^XPM-bM-^@M-^Y, because -p is already
138 reserved for preserving the times and modes of the file.
139
140 -p Preserves modification times, access times, and modes from the
141 original file.
142
143 -q Quiet mode: disables the progress meter as well as warning and
144 diagnostic messages from ssh(1).
145
146 -r Recursively copy entire directories. Note that scp follows
147 symbolic links encountered in the tree traversal.
148
149 -S program
150 Name of program to use for the encrypted connection. The program
151 must understand ssh(1) options.
152
153 -T Disable strict filename checking. By default when copying files
154 from a remote host to a local directory scp checks that the
155 received filenames match those requested on the command-line to
156 prevent the remote end from sending unexpected or unwanted files.
157 Because of differences in how various operating systems and
158 shells interpret filename wildcards, these checks may cause
159 wanted files to be rejected. This option disables these checks
160 at the expense of fully trusting that the server will not send
161 unexpected filenames.
162
163 -v Verbose mode. Causes scp and ssh(1) to print debugging messages
164 about their progress. This is helpful in debugging connection,
165 authentication, and configuration problems.
166
167EXIT STATUS
168 The scp utility exitsM-BM- 0 on success, andM-BM- >0 if an error occurs.
169
170SEE ALSO
171 sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh_config(5),
172 sshd(8)
173
174HISTORY
175 scp is based on the rcp program in BSD source code from the Regents of
176 the University of California.
177
178AUTHORS
179 Timo Rinne <tri@iki.fi>
180 Tatu Ylonen <ylo@cs.hut.fi>
181
182OpenBSD 6.5 January 26, 2019 OpenBSD 6.5
diff --git a/sftp-server.0 b/sftp-server.0
new file mode 100644
index 000000000..fb84373d9
--- /dev/null
+++ b/sftp-server.0
@@ -0,0 +1,96 @@
1SFTP-SERVER(8) System Manager's Manual SFTP-SERVER(8)
2
3NAME
4 sftp-server M-bM-^@M-^S SFTP server subsystem
5
6SYNOPSIS
7 sftp-server [-ehR] [-d start_directory] [-f log_facility] [-l log_level]
8 [-P blacklisted_requests] [-p whitelisted_requests]
9 [-u umask]
10 sftp-server -Q protocol_feature
11
12DESCRIPTION
13 sftp-server is a program that speaks the server side of SFTP protocol to
14 stdout and expects client requests from stdin. sftp-server is not
15 intended to be called directly, but from sshd(8) using the Subsystem
16 option.
17
18 Command-line flags to sftp-server should be specified in the Subsystem
19 declaration. See sshd_config(5) for more information.
20
21 Valid options are:
22
23 -d start_directory
24 specifies an alternate starting directory for users. The
25 pathname may contain the following tokens that are expanded at
26 runtime: %% is replaced by a literal '%', %d is replaced by the
27 home directory of the user being authenticated, and %u is
28 replaced by the username of that user. The default is to use the
29 user's home directory. This option is useful in conjunction with
30 the sshd_config(5) ChrootDirectory option.
31
32 -e Causes sftp-server to print logging information to stderr instead
33 of syslog for debugging.
34
35 -f log_facility
36 Specifies the facility code that is used when logging messages
37 from sftp-server. The possible values are: DAEMON, USER, AUTH,
38 LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
39 The default is AUTH.
40
41 -h Displays sftp-server usage information.
42
43 -l log_level
44 Specifies which messages will be logged by sftp-server. The
45 possible values are: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG,
46 DEBUG1, DEBUG2, and DEBUG3. INFO and VERBOSE log transactions
47 that sftp-server performs on behalf of the client. DEBUG and
48 DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify higher
49 levels of debugging output. The default is ERROR.
50
51 -P blacklisted_requests
52 Specify a comma-separated list of SFTP protocol requests that are
53 banned by the server. sftp-server will reply to any blacklisted
54 request with a failure. The -Q flag can be used to determine the
55 supported request types. If both a blacklist and a whitelist are
56 specified, then the blacklist is applied before the whitelist.
57
58 -p whitelisted_requests
59 Specify a comma-separated list of SFTP protocol requests that are
60 permitted by the server. All request types that are not on the
61 whitelist will be logged and replied to with a failure message.
62
63 Care must be taken when using this feature to ensure that
64 requests made implicitly by SFTP clients are permitted.
65
66 -Q protocol_feature
67 Query protocol features supported by sftp-server. At present the
68 only feature that may be queried is M-bM-^@M-^\requestsM-bM-^@M-^], which may be used
69 for black or whitelisting (flags -P and -p respectively).
70
71 -R Places this instance of sftp-server into a read-only mode.
72 Attempts to open files for writing, as well as other operations
73 that change the state of the filesystem, will be denied.
74
75 -u umask
76 Sets an explicit umask(2) to be applied to newly-created files
77 and directories, instead of the user's default mask.
78
79 On some systems, sftp-server must be able to access /dev/log for logging
80 to work, and use of sftp-server in a chroot configuration therefore
81 requires that syslogd(8) establish a logging socket inside the chroot
82 directory.
83
84SEE ALSO
85 sftp(1), ssh(1), sshd_config(5), sshd(8)
86
87 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
88 filexfer-02.txt, October 2001, work in progress material.
89
90HISTORY
91 sftp-server first appeared in OpenBSD 2.8.
92
93AUTHORS
94 Markus Friedl <markus@openbsd.org>
95
96OpenBSD 6.5 December 11, 2014 OpenBSD 6.5
diff --git a/sftp.0 b/sftp.0
new file mode 100644
index 000000000..2342c2320
--- /dev/null
+++ b/sftp.0
@@ -0,0 +1,396 @@
1SFTP(1) General Commands Manual SFTP(1)
2
3NAME
4 sftp M-bM-^@M-^S secure file transfer program
5
6SYNOPSIS
7 sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
8 [-D sftp_server_path] [-F ssh_config] [-i identity_file]
9 [-J destination] [-l limit] [-o ssh_option] [-P port]
10 [-R num_requests] [-S program] [-s subsystem | sftp_server]
11 destination
12
13DESCRIPTION
14 sftp is a file transfer program, similar to ftp(1), which performs all
15 operations over an encrypted ssh(1) transport. It may also use many
16 features of ssh, such as public key authentication and compression.
17
18 The destination may be specified either as [user@]host[:path] or as a URI
19 in the form sftp://[user@]host[:port][/path].
20
21 If the destination includes a path and it is not a directory, sftp will
22 retrieve files automatically if a non-interactive authentication method
23 is used; otherwise it will do so after successful interactive
24 authentication.
25
26 If no path is specified, or if the path is a directory, sftp will log in
27 to the specified host and enter interactive command mode, changing to the
28 remote directory if one was specified. An optional trailing slash can be
29 used to force the path to be interpreted as a directory.
30
31 Since the destination formats use colon characters to delimit host names
32 from path names or port numbers, IPv6 addresses must be enclosed in
33 square brackets to avoid ambiguity.
34
35 The options are as follows:
36
37 -4 Forces sftp to use IPv4 addresses only.
38
39 -6 Forces sftp to use IPv6 addresses only.
40
41 -a Attempt to continue interrupted transfers rather than overwriting
42 existing partial or complete copies of files. If the partial
43 contents differ from those being transferred, then the resultant
44 file is likely to be corrupt.
45
46 -B buffer_size
47 Specify the size of the buffer that sftp uses when transferring
48 files. Larger buffers require fewer round trips at the cost of
49 higher memory consumption. The default is 32768 bytes.
50
51 -b batchfile
52 Batch mode reads a series of commands from an input batchfile
53 instead of stdin. Since it lacks user interaction it should be
54 used in conjunction with non-interactive authentication to
55 obviate the need to enter a password at connection time (see
56 sshd(8) and ssh-keygen(1) for details).
57
58 A batchfile of M-bM-^@M-^X-M-bM-^@M-^Y may be used to indicate standard input. sftp
59 will abort if any of the following commands fail: get, put,
60 reget, reput, rename, ln, rm, mkdir, chdir, ls, lchdir, chmod,
61 chown, chgrp, lpwd, df, symlink, and lmkdir.
62
63 Termination on error can be suppressed on a command by command
64 basis by prefixing the command with a M-bM-^@M-^X-M-bM-^@M-^Y character (for example,
65 -rm /tmp/blah*). Echo of the command may be suppressed by
66 prefixing the command with a M-bM-^@M-^X@M-bM-^@M-^Y character. These two prefixes
67 may be combined in any order, for example -@ls /bsd.
68
69 -C Enables compression (via ssh's -C flag).
70
71 -c cipher
72 Selects the cipher to use for encrypting the data transfers.
73 This option is directly passed to ssh(1).
74
75 -D sftp_server_path
76 Connect directly to a local sftp server (rather than via ssh(1)).
77 This option may be useful in debugging the client and server.
78
79 -F ssh_config
80 Specifies an alternative per-user configuration file for ssh(1).
81 This option is directly passed to ssh(1).
82
83 -f Requests that files be flushed to disk immediately after
84 transfer. When uploading files, this feature is only enabled if
85 the server implements the "fsync@openssh.com" extension.
86
87 -i identity_file
88 Selects the file from which the identity (private key) for public
89 key authentication is read. This option is directly passed to
90 ssh(1).
91
92 -J destination
93 Connect to the target host by first making an sftp connection to
94 the jump host described by destination and then establishing a
95 TCP forwarding to the ultimate destination from there. Multiple
96 jump hops may be specified separated by comma characters. This
97 is a shortcut to specify a ProxyJump configuration directive.
98 This option is directly passed to ssh(1).
99
100 -l limit
101 Limits the used bandwidth, specified in Kbit/s.
102
103 -o ssh_option
104 Can be used to pass options to ssh in the format used in
105 ssh_config(5). This is useful for specifying options for which
106 there is no separate sftp command-line flag. For example, to
107 specify an alternate port use: sftp -oPort=24. For full details
108 of the options listed below, and their possible values, see
109 ssh_config(5).
110
111 AddressFamily
112 BatchMode
113 BindAddress
114 BindInterface
115 CanonicalDomains
116 CanonicalizeFallbackLocal
117 CanonicalizeHostname
118 CanonicalizeMaxDots
119 CanonicalizePermittedCNAMEs
120 CASignatureAlgorithms
121 CertificateFile
122 ChallengeResponseAuthentication
123 CheckHostIP
124 Ciphers
125 Compression
126 ConnectionAttempts
127 ConnectTimeout
128 ControlMaster
129 ControlPath
130 ControlPersist
131 GlobalKnownHostsFile
132 GSSAPIAuthentication
133 GSSAPIDelegateCredentials
134 HashKnownHosts
135 Host
136 HostbasedAuthentication
137 HostbasedKeyTypes
138 HostKeyAlgorithms
139 HostKeyAlias
140 HostName
141 IdentitiesOnly
142 IdentityAgent
143 IdentityFile
144 IPQoS
145 KbdInteractiveAuthentication
146 KbdInteractiveDevices
147 KexAlgorithms
148 LogLevel
149 MACs
150 NoHostAuthenticationForLocalhost
151 NumberOfPasswordPrompts
152 PasswordAuthentication
153 PKCS11Provider
154 Port
155 PreferredAuthentications
156 ProxyCommand
157 ProxyJump
158 PubkeyAcceptedKeyTypes
159 PubkeyAuthentication
160 RekeyLimit
161 SendEnv
162 ServerAliveInterval
163 ServerAliveCountMax
164 SetEnv
165 StrictHostKeyChecking
166 TCPKeepAlive
167 UpdateHostKeys
168 User
169 UserKnownHostsFile
170 VerifyHostKeyDNS
171
172 -P port
173 Specifies the port to connect to on the remote host.
174
175 -p Preserves modification times, access times, and modes from the
176 original files transferred.
177
178 -q Quiet mode: disables the progress meter as well as warning and
179 diagnostic messages from ssh(1).
180
181 -R num_requests
182 Specify how many requests may be outstanding at any one time.
183 Increasing this may slightly improve file transfer speed but will
184 increase memory usage. The default is 64 outstanding requests.
185
186 -r Recursively copy entire directories when uploading and
187 downloading. Note that sftp does not follow symbolic links
188 encountered in the tree traversal.
189
190 -S program
191 Name of the program to use for the encrypted connection. The
192 program must understand ssh(1) options.
193
194 -s subsystem | sftp_server
195 Specifies the SSH2 subsystem or the path for an sftp server on
196 the remote host. A path is useful when the remote sshd(8) does
197 not have an sftp subsystem configured.
198
199 -v Raise logging level. This option is also passed to ssh.
200
201INTERACTIVE COMMANDS
202 Once in interactive mode, sftp understands a set of commands similar to
203 those of ftp(1). Commands are case insensitive. Pathnames that contain
204 spaces must be enclosed in quotes. Any special characters contained
205 within pathnames that are recognized by glob(3) must be escaped with
206 backslashes (M-bM-^@M-^X\M-bM-^@M-^Y).
207
208 bye Quit sftp.
209
210 cd [path]
211 Change remote directory to path. If path is not specified, then
212 change directory to the one the session started in.
213
214 chgrp [-h] grp path
215 Change group of file path to grp. If the -h flag is specified,
216 then symlinks will not be followed. path may contain glob(7)
217 characters and may match multiple files. grp must be a numeric
218 GID.
219
220 chmod [-h] mode path
221 Change permissions of file path to mode. If the -h flag is
222 specified, then symlinks will not be followed. path may contain
223 glob(7) characters and may match multiple files.
224
225 chown [-h] own path
226 Change owner of file path to own. If the -h flag is specified,
227 then symlinks will not be followed. path may contain glob(7)
228 characters and may match multiple files. own must be a numeric
229 UID.
230
231 df [-hi] [path]
232 Display usage information for the filesystem holding the current
233 directory (or path if specified). If the -h flag is specified,
234 the capacity information will be displayed using "human-readable"
235 suffixes. The -i flag requests display of inode information in
236 addition to capacity information. This command is only supported
237 on servers that implement the M-bM-^@M-^\statvfs@openssh.comM-bM-^@M-^] extension.
238
239 exit Quit sftp.
240
241 get [-afPpr] remote-path [local-path]
242 Retrieve the remote-path and store it on the local machine. If
243 the local path name is not specified, it is given the same name
244 it has on the remote machine. remote-path may contain glob(7)
245 characters and may match multiple files. If it does and
246 local-path is specified, then local-path must specify a
247 directory.
248
249 If the -a flag is specified, then attempt to resume partial
250 transfers of existing files. Note that resumption assumes that
251 any partial copy of the local file matches the remote copy. If
252 the remote file contents differ from the partial local copy then
253 the resultant file is likely to be corrupt.
254
255 If the -f flag is specified, then fsync(2) will be called after
256 the file transfer has completed to flush the file to disk.
257
258 If either the -P or -p flag is specified, then full file
259 permissions and access times are copied too.
260
261 If the -r flag is specified then directories will be copied
262 recursively. Note that sftp does not follow symbolic links when
263 performing recursive transfers.
264
265 help Display help text.
266
267 lcd [path]
268 Change local directory to path. If path is not specified, then
269 change directory to the local user's home directory.
270
271 lls [ls-options [path]]
272 Display local directory listing of either path or current
273 directory if path is not specified. ls-options may contain any
274 flags supported by the local system's ls(1) command. path may
275 contain glob(7) characters and may match multiple files.
276
277 lmkdir path
278 Create local directory specified by path.
279
280 ln [-s] oldpath newpath
281 Create a link from oldpath to newpath. If the -s flag is
282 specified the created link is a symbolic link, otherwise it is a
283 hard link.
284
285 lpwd Print local working directory.
286
287 ls [-1afhlnrSt] [path]
288 Display a remote directory listing of either path or the current
289 directory if path is not specified. path may contain glob(7)
290 characters and may match multiple files.
291
292 The following flags are recognized and alter the behaviour of ls
293 accordingly:
294
295 -1 Produce single columnar output.
296
297 -a List files beginning with a dot (M-bM-^@M-^X.M-bM-^@M-^Y).
298
299 -f Do not sort the listing. The default sort order is
300 lexicographical.
301
302 -h When used with a long format option, use unit suffixes:
303 Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte,
304 and Exabyte in order to reduce the number of digits to
305 four or fewer using powers of 2 for sizes (K=1024,
306 M=1048576, etc.).
307
308 -l Display additional details including permissions and
309 ownership information.
310
311 -n Produce a long listing with user and group information
312 presented numerically.
313
314 -r Reverse the sort order of the listing.
315
316 -S Sort the listing by file size.
317
318 -t Sort the listing by last modification time.
319
320 lumask umask
321 Set local umask to umask.
322
323 mkdir path
324 Create remote directory specified by path.
325
326 progress
327 Toggle display of progress meter.
328
329 put [-afPpr] local-path [remote-path]
330 Upload local-path and store it on the remote machine. If the
331 remote path name is not specified, it is given the same name it
332 has on the local machine. local-path may contain glob(7)
333 characters and may match multiple files. If it does and
334 remote-path is specified, then remote-path must specify a
335 directory.
336
337 If the -a flag is specified, then attempt to resume partial
338 transfers of existing files. Note that resumption assumes that
339 any partial copy of the remote file matches the local copy. If
340 the local file contents differ from the remote local copy then
341 the resultant file is likely to be corrupt.
342
343 If the -f flag is specified, then a request will be sent to the
344 server to call fsync(2) after the file has been transferred.
345 Note that this is only supported by servers that implement the
346 "fsync@openssh.com" extension.
347
348 If either the -P or -p flag is specified, then full file
349 permissions and access times are copied too.
350
351 If the -r flag is specified then directories will be copied
352 recursively. Note that sftp does not follow symbolic links when
353 performing recursive transfers.
354
355 pwd Display remote working directory.
356
357 quit Quit sftp.
358
359 reget [-Ppr] remote-path [local-path]
360 Resume download of remote-path. Equivalent to get with the -a
361 flag set.
362
363 reput [-Ppr] [local-path] remote-path
364 Resume upload of [local-path]. Equivalent to put with the -a
365 flag set.
366
367 rename oldpath newpath
368 Rename remote file from oldpath to newpath.
369
370 rm path
371 Delete remote file specified by path.
372
373 rmdir path
374 Remove remote directory specified by path.
375
376 symlink oldpath newpath
377 Create a symbolic link from oldpath to newpath.
378
379 version
380 Display the sftp protocol version.
381
382 !command
383 Execute command in local shell.
384
385 ! Escape to local shell.
386
387 ? Synonym for help.
388
389SEE ALSO
390 ftp(1), ls(1), scp(1), ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5),
391 glob(7), sftp-server(8), sshd(8)
392
393 T. Ylonen and S. Lehtinen, SSH File Transfer Protocol, draft-ietf-secsh-
394 filexfer-00.txt, January 2001, work in progress material.
395
396OpenBSD 6.5 January 22, 2019 OpenBSD 6.5
diff --git a/ssh-add.0 b/ssh-add.0
new file mode 100644
index 000000000..c614a2fe5
--- /dev/null
+++ b/ssh-add.0
@@ -0,0 +1,133 @@
1SSH-ADD(1) General Commands Manual SSH-ADD(1)
2
3NAME
4 ssh-add M-bM-^@M-^S adds private key identities to the authentication agent
5
6SYNOPSIS
7 ssh-add [-cDdkLlqvXx] [-E fingerprint_hash] [-t life] [file ...]
8 ssh-add -s pkcs11
9 ssh-add -e pkcs11
10 ssh-add -T pubkey ...
11
12DESCRIPTION
13 ssh-add adds private key identities to the authentication agent,
14 ssh-agent(1). When run without arguments, it adds the files
15 ~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, and ~/.ssh/id_ed25519.
16 After loading a private key, ssh-add will try to load corresponding
17 certificate information from the filename obtained by appending -cert.pub
18 to the name of the private key file. Alternative file names can be given
19 on the command line.
20
21 If any file requires a passphrase, ssh-add asks for the passphrase from
22 the user. The passphrase is read from the user's tty. ssh-add retries
23 the last passphrase if multiple identity files are given.
24
25 The authentication agent must be running and the SSH_AUTH_SOCK
26 environment variable must contain the name of its socket for ssh-add to
27 work.
28
29 The options are as follows:
30
31 -c Indicates that added identities should be subject to confirmation
32 before being used for authentication. Confirmation is performed
33 by ssh-askpass(1). Successful confirmation is signaled by a zero
34 exit status from ssh-askpass(1), rather than text entered into
35 the requester.
36
37 -D Deletes all identities from the agent.
38
39 -d Instead of adding identities, removes identities from the agent.
40 If ssh-add has been run without arguments, the keys for the
41 default identities and their corresponding certificates will be
42 removed. Otherwise, the argument list will be interpreted as a
43 list of paths to public key files to specify keys and
44 certificates to be removed from the agent. If no public key is
45 found at a given path, ssh-add will append .pub and retry.
46
47 -E fingerprint_hash
48 Specifies the hash algorithm used when displaying key
49 fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The
50 default is M-bM-^@M-^\sha256M-bM-^@M-^].
51
52 -e pkcs11
53 Remove keys provided by the PKCS#11 shared library pkcs11.
54
55 -k When loading keys into or deleting keys from the agent, process
56 plain private keys only and skip certificates.
57
58 -L Lists public key parameters of all identities currently
59 represented by the agent.
60
61 -l Lists fingerprints of all identities currently represented by the
62 agent.
63
64 -q Be quiet after a successful operation.
65
66 -s pkcs11
67 Add keys provided by the PKCS#11 shared library pkcs11.
68
69 -T pubkey ...
70 Tests whether the private keys that correspond to the specified
71 pubkey files are usable by performing sign and verify operations
72 on each.
73
74 -t life
75 Set a maximum lifetime when adding identities to an agent. The
76 lifetime may be specified in seconds or in a time format
77 specified in sshd_config(5).
78
79 -v Verbose mode. Causes ssh-add to print debugging messages about
80 its progress. This is helpful in debugging problems. Multiple
81 -v options increase the verbosity. The maximum is 3.
82
83 -X Unlock the agent.
84
85 -x Lock the agent with a password.
86
87ENVIRONMENT
88 DISPLAY and SSH_ASKPASS
89 If ssh-add needs a passphrase, it will read the passphrase from
90 the current terminal if it was run from a terminal. If ssh-add
91 does not have a terminal associated with it but DISPLAY and
92 SSH_ASKPASS are set, it will execute the program specified by
93 SSH_ASKPASS (by default M-bM-^@M-^\ssh-askpassM-bM-^@M-^]) and open an X11 window to
94 read the passphrase. This is particularly useful when calling
95 ssh-add from a .xsession or related script. (Note that on some
96 machines it may be necessary to redirect the input from /dev/null
97 to make this work.)
98
99 SSH_AUTH_SOCK
100 Identifies the path of a UNIX-domain socket used to communicate
101 with the agent.
102
103FILES
104 ~/.ssh/id_dsa
105 Contains the DSA authentication identity of the user.
106
107 ~/.ssh/id_ecdsa
108 Contains the ECDSA authentication identity of the user.
109
110 ~/.ssh/id_ed25519
111 Contains the Ed25519 authentication identity of the user.
112
113 ~/.ssh/id_rsa
114 Contains the RSA authentication identity of the user.
115
116 Identity files should not be readable by anyone but the user. Note that
117 ssh-add ignores identity files if they are accessible by others.
118
119EXIT STATUS
120 Exit status is 0 on success, 1 if the specified command fails, and 2 if
121 ssh-add is unable to contact the authentication agent.
122
123SEE ALSO
124 ssh(1), ssh-agent(1), ssh-askpass(1), ssh-keygen(1), sshd(8)
125
126AUTHORS
127 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
128 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
129 de Raadt and Dug Song removed many bugs, re-added newer features and
130 created OpenSSH. Markus Friedl contributed the support for SSH protocol
131 versions 1.5 and 2.0.
132
133OpenBSD 6.5 January 21, 2019 OpenBSD 6.5
diff --git a/ssh-agent.0 b/ssh-agent.0
new file mode 100644
index 000000000..9f140afb5
--- /dev/null
+++ b/ssh-agent.0
@@ -0,0 +1,120 @@
1SSH-AGENT(1) General Commands Manual SSH-AGENT(1)
2
3NAME
4 ssh-agent M-bM-^@M-^S authentication agent
5
6SYNOPSIS
7 ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash]
8 [-P pkcs11_whitelist] [-t life] [command [arg ...]]
9 ssh-agent [-c | -s] -k
10
11DESCRIPTION
12 ssh-agent is a program to hold private keys used for public key
13 authentication (RSA, DSA, ECDSA, Ed25519). ssh-agent is usually started
14 in the beginning of an X-session or a login session, and all other
15 windows or programs are started as clients to the ssh-agent program.
16 Through use of environment variables the agent can be located and
17 automatically used for authentication when logging in to other machines
18 using ssh(1).
19
20 The agent initially does not have any private keys. Keys are added using
21 ssh(1) (see AddKeysToAgent in ssh_config(5) for details) or ssh-add(1).
22 Multiple identities may be stored in ssh-agent concurrently and ssh(1)
23 will automatically use them if present. ssh-add(1) is also used to
24 remove keys from ssh-agent and to query the keys that are held in one.
25
26 The options are as follows:
27
28 -a bind_address
29 Bind the agent to the UNIX-domain socket bind_address. The
30 default is $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>.
31
32 -c Generate C-shell commands on stdout. This is the default if
33 SHELL looks like it's a csh style of shell.
34
35 -D Foreground mode. When this option is specified ssh-agent will
36 not fork.
37
38 -d Debug mode. When this option is specified ssh-agent will not
39 fork and will write debug information to standard error.
40
41 -E fingerprint_hash
42 Specifies the hash algorithm used when displaying key
43 fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The
44 default is M-bM-^@M-^\sha256M-bM-^@M-^].
45
46 -k Kill the current agent (given by the SSH_AGENT_PID environment
47 variable).
48
49 -P pkcs11_whitelist
50 Specify a pattern-list of acceptable paths for PKCS#11 shared
51 libraries that may be added using the -s option to ssh-add(1).
52 The default is to allow loading PKCS#11 libraries from
53 M-bM-^@M-^\/usr/lib/*,/usr/local/lib/*M-bM-^@M-^]. PKCS#11 libraries that do not
54 match the whitelist will be refused. See PATTERNS in
55 ssh_config(5) for a description of pattern-list syntax.
56
57 -s Generate Bourne shell commands on stdout. This is the default if
58 SHELL does not look like it's a csh style of shell.
59
60 -t life
61 Set a default value for the maximum lifetime of identities added
62 to the agent. The lifetime may be specified in seconds or in a
63 time format specified in sshd_config(5). A lifetime specified
64 for an identity with ssh-add(1) overrides this value. Without
65 this option the default maximum lifetime is forever.
66
67 If a command line is given, this is executed as a subprocess of the
68 agent. When the command dies, so does the agent.
69
70 The idea is that the agent is run in the user's local PC, laptop, or
71 terminal. Authentication data need not be stored on any other machine,
72 and authentication passphrases never go over the network. However, the
73 connection to the agent is forwarded over SSH remote logins, and the user
74 can thus use the privileges given by the identities anywhere in the
75 network in a secure way.
76
77 There are two main ways to get an agent set up: The first is that the
78 agent starts a new subcommand into which some environment variables are
79 exported, eg ssh-agent xterm &. The second is that the agent prints the
80 needed shell commands (either sh(1) or csh(1) syntax can be generated)
81 which can be evaluated in the calling shell, eg eval `ssh-agent -s` for
82 Bourne-type shells such as sh(1) or ksh(1) and eval `ssh-agent -c` for
83 csh(1) and derivatives.
84
85 Later ssh(1) looks at these variables and uses them to establish a
86 connection to the agent.
87
88 The agent will never send a private key over its request channel.
89 Instead, operations that require a private key will be performed by the
90 agent, and the result will be returned to the requester. This way,
91 private keys are not exposed to clients using the agent.
92
93 A UNIX-domain socket is created and the name of this socket is stored in
94 the SSH_AUTH_SOCK environment variable. The socket is made accessible
95 only to the current user. This method is easily abused by root or
96 another instance of the same user.
97
98 The SSH_AGENT_PID environment variable holds the agent's process ID.
99
100 The agent exits automatically when the command given on the command line
101 terminates.
102
103FILES
104 $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
105 UNIX-domain sockets used to contain the connection to the
106 authentication agent. These sockets should only be readable by
107 the owner. The sockets should get automatically removed when the
108 agent exits.
109
110SEE ALSO
111 ssh(1), ssh-add(1), ssh-keygen(1), sshd(8)
112
113AUTHORS
114 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
115 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
116 de Raadt and Dug Song removed many bugs, re-added newer features and
117 created OpenSSH. Markus Friedl contributed the support for SSH protocol
118 versions 1.5 and 2.0.
119
120OpenBSD 6.5 November 30, 2016 OpenBSD 6.5
diff --git a/ssh-keygen.0 b/ssh-keygen.0
new file mode 100644
index 000000000..1fe19f0b6
--- /dev/null
+++ b/ssh-keygen.0
@@ -0,0 +1,599 @@
1SSH-KEYGEN(1) General Commands Manual SSH-KEYGEN(1)
2
3NAME
4 ssh-keygen M-bM-^@M-^S authentication key generation, management and conversion
5
6SYNOPSIS
7 ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa]
8 [-N new_passphrase] [-C comment] [-f output_keyfile]
9 [-m format]
10 ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
11 [-m format]
12 ssh-keygen -i [-m key_format] [-f input_keyfile]
13 ssh-keygen -e [-m key_format] [-f input_keyfile]
14 ssh-keygen -y [-f input_keyfile]
15 ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
16 ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
17 ssh-keygen -B [-f input_keyfile]
18 ssh-keygen -D pkcs11
19 ssh-keygen -F hostname [-f known_hosts_file] [-l]
20 ssh-keygen -H [-f known_hosts_file]
21 ssh-keygen -R hostname [-f known_hosts_file]
22 ssh-keygen -r hostname [-f input_keyfile] [-g]
23 ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
24 ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines]
25 [-j start_line] [-K checkpt] [-W generator]
26 ssh-keygen -s ca_key -I certificate_identity [-h] [-U]
27 [-D pkcs11_provider] [-n principals] [-O option]
28 [-V validity_interval] [-z serial_number] file ...
29 ssh-keygen -L [-f input_keyfile]
30 ssh-keygen -A [-f prefix_path]
31 ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
32 file ...
33 ssh-keygen -Q -f krl_file file ...
34
35DESCRIPTION
36 ssh-keygen generates, manages and converts authentication keys for
37 ssh(1). ssh-keygen can create keys for use by SSH protocol version 2.
38
39 The type of key to be generated is specified with the -t option. If
40 invoked without any arguments, ssh-keygen will generate an RSA key.
41
42 ssh-keygen is also used to generate groups for use in Diffie-Hellman
43 group exchange (DH-GEX). See the MODULI GENERATION section for details.
44
45 Finally, ssh-keygen can be used to generate and update Key Revocation
46 Lists, and to test whether given keys have been revoked by one. See the
47 KEY REVOCATION LISTS section for details.
48
49 Normally each user wishing to use SSH with public key authentication runs
50 this once to create the authentication key in ~/.ssh/id_dsa,
51 ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 or ~/.ssh/id_rsa. Additionally, the
52 system administrator may use this to generate host keys, as seen in
53 /etc/rc.
54
55 Normally this program generates the key and asks for a file in which to
56 store the private key. The public key is stored in a file with the same
57 name but M-bM-^@M-^\.pubM-bM-^@M-^] appended. The program also asks for a passphrase. The
58 passphrase may be empty to indicate no passphrase (host keys must have an
59 empty passphrase), or it may be a string of arbitrary length. A
60 passphrase is similar to a password, except it can be a phrase with a
61 series of words, punctuation, numbers, whitespace, or any string of
62 characters you want. Good passphrases are 10-30 characters long, are not
63 simple sentences or otherwise easily guessable (English prose has only
64 1-2 bits of entropy per character, and provides very bad passphrases),
65 and contain a mix of upper and lowercase letters, numbers, and non-
66 alphanumeric characters. The passphrase can be changed later by using
67 the -p option.
68
69 There is no way to recover a lost passphrase. If the passphrase is lost
70 or forgotten, a new key must be generated and the corresponding public
71 key copied to other machines.
72
73 ssh-keygen will by default write keys in an OpenSSH-specific format.
74 This format is preferred as it offers better protection for keys at rest
75 as well as allowing storage of key comments within the private key file
76 itself. The key comment may be useful to help identify the key. The
77 comment is initialized to M-bM-^@M-^\user@hostM-bM-^@M-^] when the key is created, but can be
78 changed using the -c option.
79
80 It is still possible for ssh-keygen to write the previously-used PEM
81 format private keys using the -m flag. This may be used when generating
82 new keys, and existing new-format keys may be converted using this option
83 in conjunction with the -p (change passphrase) flag.
84
85 After a key is generated, instructions below detail where the keys should
86 be placed to be activated.
87
88 The options are as follows:
89
90 -A For each of the key types (rsa, dsa, ecdsa and ed25519) for which
91 host keys do not exist, generate the host keys with the default
92 key file path, an empty passphrase, default bits for the key
93 type, and default comment. If -f has also been specified, its
94 argument is used as a prefix to the default path for the
95 resulting host key files. This is used by /etc/rc to generate
96 new host keys.
97
98 -a rounds
99 When saving a private key this option specifies the number of KDF
100 (key derivation function) rounds used. Higher numbers result in
101 slower passphrase verification and increased resistance to brute-
102 force password cracking (should the keys be stolen).
103
104 When screening DH-GEX candidates (using the -T command). This
105 option specifies the number of primality tests to perform.
106
107 -B Show the bubblebabble digest of specified private or public key
108 file.
109
110 -b bits
111 Specifies the number of bits in the key to create. For RSA keys,
112 the minimum size is 1024 bits and the default is 2048 bits.
113 Generally, 2048 bits is considered sufficient. DSA keys must be
114 exactly 1024 bits as specified by FIPS 186-2. For ECDSA keys,
115 the -b flag determines the key length by selecting from one of
116 three elliptic curve sizes: 256, 384 or 521 bits. Attempting to
117 use bit lengths other than these three values for ECDSA keys will
118 fail. Ed25519 keys have a fixed length and the -b flag will be
119 ignored.
120
121 -C comment
122 Provides a new comment.
123
124 -c Requests changing the comment in the private and public key
125 files. The program will prompt for the file containing the
126 private keys, for the passphrase if the key has one, and for the
127 new comment.
128
129 -D pkcs11
130 Download the public keys provided by the PKCS#11 shared library
131 pkcs11. When used in combination with -s, this option indicates
132 that a CA key resides in a PKCS#11 token (see the CERTIFICATES
133 section for details).
134
135 -E fingerprint_hash
136 Specifies the hash algorithm used when displaying key
137 fingerprints. Valid options are: M-bM-^@M-^\md5M-bM-^@M-^] and M-bM-^@M-^\sha256M-bM-^@M-^]. The
138 default is M-bM-^@M-^\sha256M-bM-^@M-^].
139
140 -e This option will read a private or public OpenSSH key file and
141 print to stdout a public key in one of the formats specified by
142 the -m option. The default export format is M-bM-^@M-^\RFC4716M-bM-^@M-^]. This
143 option allows exporting OpenSSH keys for use by other programs,
144 including several commercial SSH implementations.
145
146 -F hostname | [hostname]:port
147 Search for the specified hostname (with optional port number) in
148 a known_hosts file, listing any occurrences found. This option
149 is useful to find hashed host names or addresses and may also be
150 used in conjunction with the -H option to print found keys in a
151 hashed format.
152
153 -f filename
154 Specifies the filename of the key file.
155
156 -G output_file
157 Generate candidate primes for DH-GEX. These primes must be
158 screened for safety (using the -T option) before use.
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 -J num_lines
186 Exit after screening the specified number of lines while
187 performing DH candidate screening using the -T option.
188
189 -j start_line
190 Start screening at the specified line number while performing DH
191 candidate screening using the -T option.
192
193 -K checkpt
194 Write the last line processed to the file checkpt while
195 performing DH candidate screening using the -T option. This will
196 be used to skip lines in the input file that have already been
197 processed if the job is restarted.
198
199 -k Generate a KRL file. In this mode, ssh-keygen will generate a
200 KRL file at the location specified via the -f flag that revokes
201 every key or certificate presented on the command line.
202 Keys/certificates to be revoked may be specified by public key
203 file or using the format described in the KEY REVOCATION LISTS
204 section.
205
206 -L Prints the contents of one or more certificates.
207
208 -l Show fingerprint of specified public key file. For RSA and DSA
209 keys ssh-keygen tries to find the matching public key file and
210 prints its fingerprint. If combined with -v, a visual ASCII art
211 representation of the key is supplied with the fingerprint.
212
213 -M memory
214 Specify the amount of memory to use (in megabytes) when
215 generating candidate moduli for DH-GEX.
216
217 -m key_format
218 Specify a key format for key generation, the -i (import), -e
219 (export) conversion options, and the -p change passphrase
220 operation. The latter may be used to convert between OpenSSH
221 private key and PEM private key formats. The supported key
222 formats are: M-bM-^@M-^\RFC4716M-bM-^@M-^] (RFC 4716/SSH2 public or private key),
223 M-bM-^@M-^\PKCS8M-bM-^@M-^] (PEM PKCS8 public key) or M-bM-^@M-^\PEMM-bM-^@M-^] (PEM public key). The
224 default conversion format is M-bM-^@M-^\RFC4716M-bM-^@M-^]. Setting a format of
225 M-bM-^@M-^\PEMM-bM-^@M-^] when generating or updating a supported private key type
226 will cause the key to be stored in the legacy PEM private key
227 format.
228
229 -N new_passphrase
230 Provides the new passphrase.
231
232 -n principals
233 Specify one or more principals (user or host names) to be
234 included in a certificate when signing a key. Multiple
235 principals may be specified, separated by commas. Please see the
236 CERTIFICATES section for details.
237
238 -O option
239 Specify a certificate option when signing a key. This option may
240 be specified multiple times. See also the CERTIFICATES section
241 for further details.
242
243 At present, no standard options are valid for host keys. The
244 options that are valid for user certificates are:
245
246 clear Clear all enabled permissions. This is useful for
247 clearing the default set of permissions so permissions
248 may be added individually.
249
250 critical:name[=contents]
251 extension:name[=contents]
252 Includes an arbitrary certificate critical option or
253 extension. The specified name should include a domain
254 suffix, e.g. M-bM-^@M-^\name@example.comM-bM-^@M-^]. If contents is
255 specified then it is included as the contents of the
256 extension/option encoded as a string, otherwise the
257 extension/option is created with no contents (usually
258 indicating a flag). Extensions may be ignored by a
259 client or server that does not recognise them, whereas
260 unknown critical options will cause the certificate to be
261 refused.
262
263 force-command=command
264 Forces the execution of command instead of any shell or
265 command specified by the user when the certificate is
266 used for authentication.
267
268 no-agent-forwarding
269 Disable ssh-agent(1) forwarding (permitted by default).
270
271 no-port-forwarding
272 Disable port forwarding (permitted by default).
273
274 no-pty Disable PTY allocation (permitted by default).
275
276 no-user-rc
277 Disable execution of ~/.ssh/rc by sshd(8) (permitted by
278 default).
279
280 no-x11-forwarding
281 Disable X11 forwarding (permitted by default).
282
283 permit-agent-forwarding
284 Allows ssh-agent(1) forwarding.
285
286 permit-port-forwarding
287 Allows port forwarding.
288
289 permit-pty
290 Allows PTY allocation.
291
292 permit-user-rc
293 Allows execution of ~/.ssh/rc by sshd(8).
294
295 permit-X11-forwarding
296 Allows X11 forwarding.
297
298 source-address=address_list
299 Restrict the source addresses from which the certificate
300 is considered valid. The address_list is a comma-
301 separated list of one or more address/netmask pairs in
302 CIDR format.
303
304 -P passphrase
305 Provides the (old) passphrase.
306
307 -p Requests changing the passphrase of a private key file instead of
308 creating a new private key. The program will prompt for the file
309 containing the private key, for the old passphrase, and twice for
310 the new passphrase.
311
312 -Q Test whether keys have been revoked in a KRL.
313
314 -q Silence ssh-keygen.
315
316 -R hostname | [hostname]:port
317 Removes all keys belonging to the specified hostname (with
318 optional port number) from a known_hosts file. This option is
319 useful to delete hashed hosts (see the -H option above).
320
321 -r hostname
322 Print the SSHFP fingerprint resource record named hostname for
323 the specified public key file.
324
325 -S start
326 Specify start point (in hex) when generating candidate moduli for
327 DH-GEX.
328
329 -s ca_key
330 Certify (sign) a public key using the specified CA key. Please
331 see the CERTIFICATES section for details.
332
333 When generating a KRL, -s specifies a path to a CA public key
334 file used to revoke certificates directly by key ID or serial
335 number. See the KEY REVOCATION LISTS section for details.
336
337 -T output_file
338 Test DH group exchange candidate primes (generated using the -G
339 option) for safety.
340
341 -t dsa | ecdsa | ed25519 | rsa
342 Specifies the type of key to create. The possible values are
343 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-^].
344
345 -U When used in combination with -s, this option indicates that a CA
346 key resides in a ssh-agent(1). See the CERTIFICATES section for
347 more information.
348
349 -u Update a KRL. When specified with -k, keys listed via the
350 command line are added to the existing KRL rather than a new KRL
351 being created.
352
353 -V validity_interval
354 Specify a validity interval when signing a certificate. A
355 validity interval may consist of a single time, indicating that
356 the certificate is valid beginning now and expiring at that time,
357 or may consist of two times separated by a colon to indicate an
358 explicit time interval.
359
360 The start time may be specified as the string M-bM-^@M-^\alwaysM-bM-^@M-^] to
361 indicate the certificate has no specified start time, a date in
362 YYYYMMDD format, a time in YYYYMMDDHHMM[SS] format, a relative
363 time (to the current time) consisting of a minus sign followed by
364 an interval in the format described in the TIME FORMATS section
365 of sshd_config(5).
366
367 The end time may be specified as a YYYYMMDD date, a
368 YYYYMMDDHHMM[SS] time, a relative time starting with a plus
369 character or the string M-bM-^@M-^\foreverM-bM-^@M-^] to indicate that the
370 certificate has no expirty date.
371
372 For example: M-bM-^@M-^\+52w1dM-bM-^@M-^] (valid from now to 52 weeks and one day
373 from now), M-bM-^@M-^\-4w:+4wM-bM-^@M-^] (valid from four weeks ago to four weeks
374 from now), M-bM-^@M-^\20100101123000:20110101123000M-bM-^@M-^] (valid from 12:30 PM,
375 January 1st, 2010 to 12:30 PM, January 1st, 2011), M-bM-^@M-^\-1d:20110101M-bM-^@M-^]
376 (valid from yesterday to midnight, January 1st, 2011).
377 M-bM-^@M-^\-1m:foreverM-bM-^@M-^] (valid from one minute ago and never expiring).
378
379 -v Verbose mode. Causes ssh-keygen to print debugging messages
380 about its progress. This is helpful for debugging moduli
381 generation. Multiple -v options increase the verbosity. The
382 maximum is 3.
383
384 -W generator
385 Specify desired generator when testing candidate moduli for DH-
386 GEX.
387
388 -y This option will read a private OpenSSH format file and print an
389 OpenSSH public key to stdout.
390
391 -z serial_number
392 Specifies a serial number to be embedded in the certificate to
393 distinguish this certificate from others from the same CA. If
394 the serial_number is prefixed with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the
395 serial number will be incremented for each certificate signed on
396 a single command-line. The default serial number is zero.
397
398 When generating a KRL, the -z flag is used to specify a KRL
399 version number.
400
401MODULI GENERATION
402 ssh-keygen may be used to generate groups for the Diffie-Hellman Group
403 Exchange (DH-GEX) protocol. Generating these groups is a two-step
404 process: first, candidate primes are generated using a fast, but memory
405 intensive process. These candidate primes are then tested for
406 suitability (a CPU-intensive process).
407
408 Generation of primes is performed using the -G option. The desired
409 length of the primes may be specified by the -b option. For example:
410
411 # ssh-keygen -G moduli-2048.candidates -b 2048
412
413 By default, the search for primes begins at a random point in the desired
414 length range. This may be overridden using the -S option, which
415 specifies a different start point (in hex).
416
417 Once a set of candidates have been generated, they must be screened for
418 suitability. This may be performed using the -T option. In this mode
419 ssh-keygen will read candidates from standard input (or a file specified
420 using the -f option). For example:
421
422 # ssh-keygen -T moduli-2048 -f moduli-2048.candidates
423
424 By default, each candidate will be subjected to 100 primality tests.
425 This may be overridden using the -a option. The DH generator value will
426 be chosen automatically for the prime under consideration. If a specific
427 generator is desired, it may be requested using the -W option. Valid
428 generator values are 2, 3, and 5.
429
430 Screened DH groups may be installed in /etc/moduli. It is important that
431 this file contains moduli of a range of bit lengths and that both ends of
432 a connection share common moduli.
433
434CERTIFICATES
435 ssh-keygen supports signing of keys to produce certificates that may be
436 used for user or host authentication. Certificates consist of a public
437 key, some identity information, zero or more principal (user or host)
438 names and a set of options that are signed by a Certification Authority
439 (CA) key. Clients or servers may then trust only the CA key and verify
440 its signature on a certificate rather than trusting many user/host keys.
441 Note that OpenSSH certificates are a different, and much simpler, format
442 to the X.509 certificates used in ssl(8).
443
444 ssh-keygen supports two types of certificates: user and host. User
445 certificates authenticate users to servers, whereas host certificates
446 authenticate server hosts to users. To generate a user certificate:
447
448 $ ssh-keygen -s /path/to/ca_key -I key_id /path/to/user_key.pub
449
450 The resultant certificate will be placed in /path/to/user_key-cert.pub.
451 A host certificate requires the -h option:
452
453 $ ssh-keygen -s /path/to/ca_key -I key_id -h /path/to/host_key.pub
454
455 The host certificate will be output to /path/to/host_key-cert.pub.
456
457 It is possible to sign using a CA key stored in a PKCS#11 token by
458 providing the token library using -D and identifying the CA key by
459 providing its public half as an argument to -s:
460
461 $ ssh-keygen -s ca_key.pub -D libpkcs11.so -I key_id user_key.pub
462
463 Similarly, it is possible for the CA key to be hosted in a ssh-agent(1).
464 This is indicated by the -U flag and, again, the CA key must be
465 identified by its public half.
466
467 $ ssh-keygen -Us ca_key.pub -I key_id user_key.pub
468
469 In all cases, key_id is a "key identifier" that is logged by the server
470 when the certificate is used for authentication.
471
472 Certificates may be limited to be valid for a set of principal
473 (user/host) names. By default, generated certificates are valid for all
474 users or hosts. To generate a certificate for a specified set of
475 principals:
476
477 $ ssh-keygen -s ca_key -I key_id -n user1,user2 user_key.pub
478 $ ssh-keygen -s ca_key -I key_id -h -n host.domain host_key.pub
479
480 Additional limitations on the validity and use of user certificates may
481 be specified through certificate options. A certificate option may
482 disable features of the SSH session, may be valid only when presented
483 from particular source addresses or may force the use of a specific
484 command. For a list of valid certificate options, see the documentation
485 for the -O option above.
486
487 Finally, certificates may be defined with a validity lifetime. The -V
488 option allows specification of certificate start and end times. A
489 certificate that is presented at a time outside this range will not be
490 considered valid. By default, certificates are valid from UNIX Epoch to
491 the distant future.
492
493 For certificates to be used for user or host authentication, the CA
494 public key must be trusted by sshd(8) or ssh(1). Please refer to those
495 manual pages for details.
496
497KEY REVOCATION LISTS
498 ssh-keygen is able to manage OpenSSH format Key Revocation Lists (KRLs).
499 These binary files specify keys or certificates to be revoked using a
500 compact format, taking as little as one bit per certificate if they are
501 being revoked by serial number.
502
503 KRLs may be generated using the -k flag. This option reads one or more
504 files from the command line and generates a new KRL. The files may
505 either contain a KRL specification (see below) or public keys, listed one
506 per line. Plain public keys are revoked by listing their hash or
507 contents in the KRL and certificates revoked by serial number or key ID
508 (if the serial is zero or not available).
509
510 Revoking keys using a KRL specification offers explicit control over the
511 types of record used to revoke keys and may be used to directly revoke
512 certificates by serial number or key ID without having the complete
513 original certificate on hand. A KRL specification consists of lines
514 containing one of the following directives followed by a colon and some
515 directive-specific information.
516
517 serial: serial_number[-serial_number]
518 Revokes a certificate with the specified serial number. Serial
519 numbers are 64-bit values, not including zero and may be
520 expressed in decimal, hex or octal. If two serial numbers are
521 specified separated by a hyphen, then the range of serial numbers
522 including and between each is revoked. The CA key must have been
523 specified on the ssh-keygen command line using the -s option.
524
525 id: key_id
526 Revokes a certificate with the specified key ID string. The CA
527 key must have been specified on the ssh-keygen command line using
528 the -s option.
529
530 key: public_key
531 Revokes the specified key. If a certificate is listed, then it
532 is revoked as a plain public key.
533
534 sha1: public_key
535 Revokes the specified key by including its SHA1 hash in the KRL.
536
537 sha256: public_key
538 Revokes the specified key by including its SHA256 hash in the
539 KRL. KRLs that revoke keys by SHA256 hash are not supported by
540 OpenSSH versions prior to 7.9.
541
542 hash: fingerprint
543 Revokes a key using a fingerprint hash, as obtained from a
544 sshd(8) authentication log message or the ssh-keygen -l flag.
545 Only SHA256 fingerprints are supported here and resultant KRLs
546 are not supported by OpenSSH versions prior to 7.9.
547
548 KRLs may be updated using the -u flag in addition to -k. When this
549 option is specified, keys listed via the command line are merged into the
550 KRL, adding to those already there.
551
552 It is also possible, given a KRL, to test whether it revokes a particular
553 key (or keys). The -Q flag will query an existing KRL, testing each key
554 specified on the command line. If any key listed on the command line has
555 been revoked (or an error encountered) then ssh-keygen will exit with a
556 non-zero exit status. A zero exit status will only be returned if no key
557 was revoked.
558
559FILES
560 ~/.ssh/id_dsa
561 ~/.ssh/id_ecdsa
562 ~/.ssh/id_ed25519
563 ~/.ssh/id_rsa
564 Contains the DSA, ECDSA, Ed25519 or RSA authentication identity
565 of the user. This file should not be readable by anyone but the
566 user. It is possible to specify a passphrase when generating the
567 key; that passphrase will be used to encrypt the private part of
568 this file using 128-bit AES. This file is not automatically
569 accessed by ssh-keygen but it is offered as the default file for
570 the private key. ssh(1) will read this file when a login attempt
571 is made.
572
573 ~/.ssh/id_dsa.pub
574 ~/.ssh/id_ecdsa.pub
575 ~/.ssh/id_ed25519.pub
576 ~/.ssh/id_rsa.pub
577 Contains the DSA, ECDSA, Ed25519 or RSA public key for
578 authentication. The contents of this file should be added to
579 ~/.ssh/authorized_keys on all machines where the user wishes to
580 log in using public key authentication. There is no need to keep
581 the contents of this file secret.
582
583 /etc/moduli
584 Contains Diffie-Hellman groups used for DH-GEX. The file format
585 is described in moduli(5).
586
587SEE ALSO
588 ssh(1), ssh-add(1), ssh-agent(1), moduli(5), sshd(8)
589
590 The Secure Shell (SSH) Public Key File Format, RFC 4716, 2006.
591
592AUTHORS
593 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
594 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
595 de Raadt and Dug Song removed many bugs, re-added newer features and
596 created OpenSSH. Markus Friedl contributed the support for SSH protocol
597 versions 1.5 and 2.0.
598
599OpenBSD 6.5 March 5, 2019 OpenBSD 6.5
diff --git a/ssh-keyscan.0 b/ssh-keyscan.0
new file mode 100644
index 000000000..d372f7c7a
--- /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
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.5 March 5, 2018 OpenBSD 6.5
diff --git a/ssh-keysign.0 b/ssh-keysign.0
new file mode 100644
index 000000000..172739ebd
--- /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 ssh helper program 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.5 February 17, 2016 OpenBSD 6.5
diff --git a/ssh-pkcs11-helper.0 b/ssh-pkcs11-helper.0
new file mode 100644
index 000000000..22f690717
--- /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 ssh-agent helper program 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.5 January 21, 2019 OpenBSD 6.5
diff --git a/ssh.0 b/ssh.0
new file mode 100644
index 000000000..f53bda666
--- /dev/null
+++ b/ssh.0
@@ -0,0 +1,980 @@
1SSH(1) General Commands Manual SSH(1)
2
3NAME
4 ssh M-bM-^@M-^S OpenSSH SSH client (remote login program)
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 the authentication agent connection. This
37 can also be specified on a per-host basis in a configuration
38 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.
47
48 -a Disables forwarding of the authentication agent connection.
49
50 -B bind_interface
51 Bind to the address of bind_interface before attempting to
52 connect to the destination host. This is only useful on systems
53 with more than one address.
54
55 -b bind_address
56 Use bind_address on the local machine as the source address of
57 the connection. Only useful on systems with more than one
58 address.
59
60 -C Requests compression of all data (including stdin, stdout,
61 stderr, and data for forwarded X11, TCP and UNIX-domain
62 connections). The compression algorithm is the same used by
63 gzip(1). Compression is desirable on modem lines and other slow
64 connections, but will only slow down things on fast networks.
65 The default value can be set on a host-by-host basis in the
66 configuration files; see the Compression option.
67
68 -c cipher_spec
69 Selects the cipher specification for encrypting the session.
70 cipher_spec is a comma-separated list of ciphers listed in order
71 of preference. See the Ciphers keyword in ssh_config(5) for more
72 information.
73
74 -D [bind_address:]port
75 Specifies a local M-bM-^@M-^\dynamicM-bM-^@M-^] application-level port forwarding.
76 This works by allocating a socket to listen to port on the local
77 side, optionally bound to the specified bind_address. Whenever a
78 connection is made to this port, the connection is forwarded over
79 the secure channel, and the application protocol is then used to
80 determine where to connect to from the remote machine. Currently
81 the SOCKS4 and SOCKS5 protocols are supported, and ssh will act
82 as a SOCKS server. Only root can forward privileged ports.
83 Dynamic port forwardings can also be specified in the
84 configuration file.
85
86 IPv6 addresses can be specified by enclosing the address in
87 square brackets. Only the superuser can forward privileged
88 ports. By default, the local port is bound in accordance with
89 the GatewayPorts setting. However, an explicit bind_address may
90 be used to bind the connection to a specific address. The
91 bind_address of M-bM-^@M-^\localhostM-bM-^@M-^] indicates that the listening port be
92 bound for local use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates
93 that the port should be available from all interfaces.
94
95 -E log_file
96 Append debug logs to log_file instead of standard error.
97
98 -e escape_char
99 Sets the escape character for sessions with a pty (default: M-bM-^@M-^X~M-bM-^@M-^Y).
100 The escape character is only recognized at the beginning of a
101 line. The escape character followed by a dot (M-bM-^@M-^X.M-bM-^@M-^Y) closes the
102 connection; followed by control-Z suspends the connection; and
103 followed by itself sends the escape character once. Setting the
104 character to M-bM-^@M-^\noneM-bM-^@M-^] disables any escapes and makes the session
105 fully transparent.
106
107 -F configfile
108 Specifies an alternative per-user configuration file. If a
109 configuration file is given on the command line, the system-wide
110 configuration file (/etc/ssh/ssh_config) will be ignored. The
111 default for the per-user configuration file is ~/.ssh/config.
112
113 -f Requests ssh to go to background just before command execution.
114 This is useful if ssh is going to ask for passwords or
115 passphrases, but the user wants it in the background. This
116 implies -n. The recommended way to start X11 programs at a
117 remote site is with something like ssh -f host xterm.
118
119 If the ExitOnForwardFailure configuration option is set to M-bM-^@M-^\yesM-bM-^@M-^],
120 then a client started with -f will wait for all remote port
121 forwards to be successfully established before placing itself in
122 the background.
123
124 -G Causes ssh to print its configuration after evaluating Host and
125 Match blocks and exit.
126
127 -g Allows remote hosts to connect to local forwarded ports. If used
128 on a multiplexed connection, then this option must be specified
129 on the master process.
130
131 -I pkcs11
132 Specify the PKCS#11 shared library ssh should use to communicate
133 with a PKCS#11 token providing keys for user authentication.
134
135 -i identity_file
136 Selects a file from which the identity (private key) for public
137 key authentication is read. The default is ~/.ssh/id_dsa,
138 ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and ~/.ssh/id_rsa. Identity
139 files may also be specified on a per-host basis in the
140 configuration file. It is possible to have multiple -i options
141 (and multiple identities specified in configuration files). If
142 no certificates have been explicitly specified by the
143 CertificateFile directive, ssh will also try to load certificate
144 information from the filename obtained by appending -cert.pub to
145 identity filenames.
146
147 -J destination
148 Connect to the target host by first making a ssh connection to
149 the jump host described by destination and then establishing a
150 TCP forwarding to the ultimate destination from there. Multiple
151 jump hops may be specified separated by comma characters. This
152 is a shortcut to specify a ProxyJump configuration directive.
153 Note that configuration directives supplied on the command-line
154 generally apply to the destination host and not any specified
155 jump hosts. Use ~/.ssh/config to specify configuration for jump
156 hosts.
157
158 -K Enables GSSAPI-based authentication and forwarding (delegation)
159 of GSSAPI credentials to the server.
160
161 -k Disables forwarding (delegation) of GSSAPI credentials to the
162 server.
163
164 -L [bind_address:]port:host:hostport
165 -L [bind_address:]port:remote_socket
166 -L local_socket:host:hostport
167 -L local_socket:remote_socket
168 Specifies that connections to the given TCP port or Unix socket
169 on the local (client) host are to be forwarded to the given host
170 and port, or Unix socket, on the remote side. This works by
171 allocating a socket to listen to either a TCP port on the local
172 side, optionally bound to the specified bind_address, or to a
173 Unix socket. Whenever a connection is made to the local port or
174 socket, the connection is forwarded over the secure channel, and
175 a connection is made to either host port hostport, or the Unix
176 socket remote_socket, from the remote machine.
177
178 Port forwardings can also be specified in the configuration file.
179 Only the superuser can forward privileged ports. IPv6 addresses
180 can be specified by enclosing the address in square brackets.
181
182 By default, the local port is bound in accordance with the
183 GatewayPorts setting. However, an explicit bind_address may be
184 used to bind the connection to a specific address. The
185 bind_address of M-bM-^@M-^\localhostM-bM-^@M-^] indicates that the listening port be
186 bound for local use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates
187 that the port should be available from all interfaces.
188
189 -l login_name
190 Specifies the user to log in as on the remote machine. This also
191 may be specified on a per-host basis in the configuration file.
192
193 -M Places the ssh client into M-bM-^@M-^\masterM-bM-^@M-^] mode for connection sharing.
194 Multiple -M options places ssh into M-bM-^@M-^\masterM-bM-^@M-^] mode but with
195 confirmation required using ssh-askpass(1) before each operation
196 that changes the multiplexing state (e.g. opening a new session).
197 Refer to the description of ControlMaster in ssh_config(5) for
198 details.
199
200 -m mac_spec
201 A comma-separated list of MAC (message authentication code)
202 algorithms, specified in order of preference. See the MACs
203 keyword for more information.
204
205 -N Do not execute a remote command. This is useful for just
206 forwarding ports.
207
208 -n Redirects stdin from /dev/null (actually, prevents reading from
209 stdin). This must be used when ssh is run in the background. A
210 common trick is to use this to run X11 programs on a remote
211 machine. For example, ssh -n shadows.cs.hut.fi emacs & will
212 start an emacs on shadows.cs.hut.fi, and the X11 connection will
213 be automatically forwarded over an encrypted channel. The ssh
214 program will be put in the background. (This does not work if
215 ssh needs to ask for a password or passphrase; see also the -f
216 option.)
217
218 -O ctl_cmd
219 Control an active connection multiplexing master process. When
220 the -O option is specified, the ctl_cmd argument is interpreted
221 and passed to the master process. Valid commands are: M-bM-^@M-^\checkM-bM-^@M-^]
222 (check that the master process is running), M-bM-^@M-^\forwardM-bM-^@M-^] (request
223 forwardings without command execution), M-bM-^@M-^\cancelM-bM-^@M-^] (cancel
224 forwardings), M-bM-^@M-^\exitM-bM-^@M-^] (request the master to exit), and M-bM-^@M-^\stopM-bM-^@M-^]
225 (request the master to stop accepting further multiplexing
226 requests).
227
228 -o option
229 Can be used to give options in the format used in the
230 configuration file. This is useful for specifying options for
231 which there is no separate command-line flag. For full details
232 of the options listed below, and their possible values, see
233 ssh_config(5).
234
235 AddKeysToAgent
236 AddressFamily
237 BatchMode
238 BindAddress
239 CanonicalDomains
240 CanonicalizeFallbackLocal
241 CanonicalizeHostname
242 CanonicalizeMaxDots
243 CanonicalizePermittedCNAMEs
244 CASignatureAlgorithms
245 CertificateFile
246 ChallengeResponseAuthentication
247 CheckHostIP
248 Ciphers
249 ClearAllForwardings
250 Compression
251 ConnectionAttempts
252 ConnectTimeout
253 ControlMaster
254 ControlPath
255 ControlPersist
256 DynamicForward
257 EscapeChar
258 ExitOnForwardFailure
259 FingerprintHash
260 ForwardAgent
261 ForwardX11
262 ForwardX11Timeout
263 ForwardX11Trusted
264 GatewayPorts
265 GlobalKnownHostsFile
266 GSSAPIAuthentication
267 GSSAPIDelegateCredentials
268 HashKnownHosts
269 Host
270 HostbasedAuthentication
271 HostbasedKeyTypes
272 HostKeyAlgorithms
273 HostKeyAlias
274 HostName
275 IdentitiesOnly
276 IdentityAgent
277 IdentityFile
278 IPQoS
279 KbdInteractiveAuthentication
280 KbdInteractiveDevices
281 KexAlgorithms
282 LocalCommand
283 LocalForward
284 LogLevel
285 MACs
286 Match
287 NoHostAuthenticationForLocalhost
288 NumberOfPasswordPrompts
289 PasswordAuthentication
290 PermitLocalCommand
291 PKCS11Provider
292 Port
293 PreferredAuthentications
294 ProxyCommand
295 ProxyJump
296 ProxyUseFdpass
297 PubkeyAcceptedKeyTypes
298 PubkeyAuthentication
299 RekeyLimit
300 RemoteCommand
301 RemoteForward
302 RequestTTY
303 SendEnv
304 ServerAliveInterval
305 ServerAliveCountMax
306 SetEnv
307 StreamLocalBindMask
308 StreamLocalBindUnlink
309 StrictHostKeyChecking
310 TCPKeepAlive
311 Tunnel
312 TunnelDevice
313 UpdateHostKeys
314 User
315 UserKnownHostsFile
316 VerifyHostKeyDNS
317 VisualHostKey
318 XAuthLocation
319
320 -p port
321 Port to connect to on the remote host. This can be specified on
322 a per-host basis in the configuration file.
323
324 -Q query_option
325 Queries ssh for the algorithms supported for the specified
326 version 2. The available features are: cipher (supported
327 symmetric ciphers), cipher-auth (supported symmetric ciphers that
328 support authenticated encryption), help (supported query terms
329 for use with the -Q flag), mac (supported message integrity
330 codes), kex (key exchange algorithms), key (key types), key-cert
331 (certificate key types), key-plain (non-certificate key types),
332 protocol-version (supported SSH protocol versions), and sig
333 (supported signature algorithms).
334
335 -q Quiet mode. Causes most warning and diagnostic messages to be
336 suppressed.
337
338 -R [bind_address:]port:host:hostport
339 -R [bind_address:]port:local_socket
340 -R remote_socket:host:hostport
341 -R remote_socket:local_socket
342 -R [bind_address:]port
343 Specifies that connections to the given TCP port or Unix socket
344 on the remote (server) host are to be forwarded to the local
345 side.
346
347 This works by allocating a socket to listen to either a TCP port
348 or to a Unix socket on the remote side. Whenever a connection is
349 made to this port or Unix socket, the connection is forwarded
350 over the secure channel, and a connection is made from the local
351 machine to either an explicit destination specified by host port
352 hostport, or local_socket, or, if no explicit destination was
353 specified, ssh will act as a SOCKS 4/5 proxy and forward
354 connections to the destinations requested by the remote SOCKS
355 client.
356
357 Port forwardings can also be specified in the configuration file.
358 Privileged ports can be forwarded only when logging in as root on
359 the remote machine. IPv6 addresses can be specified by enclosing
360 the address in square brackets.
361
362 By default, TCP listening sockets on the server will be bound to
363 the loopback interface only. This may be overridden by
364 specifying a bind_address. An empty bind_address, or the address
365 M-bM-^@M-^X*M-bM-^@M-^Y, indicates that the remote socket should listen on all
366 interfaces. Specifying a remote bind_address will only succeed
367 if the server's GatewayPorts option is enabled (see
368 sshd_config(5)).
369
370 If the port argument is M-bM-^@M-^X0M-bM-^@M-^Y, the listen port will be dynamically
371 allocated on the server and reported to the client at run time.
372 When used together with -O forward the allocated port will be
373 printed to the standard output.
374
375 -S ctl_path
376 Specifies the location of a control socket for connection
377 sharing, or the string M-bM-^@M-^\noneM-bM-^@M-^] to disable connection sharing.
378 Refer to the description of ControlPath and ControlMaster in
379 ssh_config(5) for details.
380
381 -s May be used to request invocation of a subsystem on the remote
382 system. Subsystems facilitate the use of SSH as a secure
383 transport for other applications (e.g. sftp(1)). The subsystem
384 is specified as the remote command.
385
386 -T Disable pseudo-terminal allocation.
387
388 -t Force pseudo-terminal allocation. This can be used to execute
389 arbitrary screen-based programs on a remote machine, which can be
390 very useful, e.g. when implementing menu services. Multiple -t
391 options force tty allocation, even if ssh has no local tty.
392
393 -V Display the version number and exit.
394
395 -v Verbose mode. Causes ssh to print debugging messages about its
396 progress. This is helpful in debugging connection,
397 authentication, and configuration problems. Multiple -v options
398 increase the verbosity. The maximum is 3.
399
400 -W host:port
401 Requests that standard input and output on the client be
402 forwarded to host on port over the secure channel. Implies -N,
403 -T, ExitOnForwardFailure and ClearAllForwardings, though these
404 can be overridden in the configuration file or using -o command
405 line options.
406
407 -w local_tun[:remote_tun]
408 Requests tunnel device forwarding with the specified tun(4)
409 devices between the client (local_tun) and the server
410 (remote_tun).
411
412 The devices may be specified by numerical ID or the keyword
413 M-bM-^@M-^\anyM-bM-^@M-^], which uses the next available tunnel device. If
414 remote_tun is not specified, it defaults to M-bM-^@M-^\anyM-bM-^@M-^]. See also the
415 Tunnel and TunnelDevice directives in ssh_config(5).
416
417 If the Tunnel directive is unset, it will be set to the default
418 tunnel mode, which is M-bM-^@M-^\point-to-pointM-bM-^@M-^]. If a different Tunnel
419 forwarding mode it desired, then it should be specified before
420 -w.
421
422 -X Enables X11 forwarding. This can also be specified on a per-host
423 basis in a configuration file.
424
425 X11 forwarding should be enabled with caution. Users with the
426 ability to bypass file permissions on the remote host (for the
427 user's X authorization database) can access the local X11 display
428 through the forwarded connection. An attacker may then be able
429 to perform activities such as keystroke monitoring.
430
431 For this reason, X11 forwarding is subjected to X11 SECURITY
432 extension restrictions by default. Please refer to the ssh -Y
433 option and the ForwardX11Trusted directive in ssh_config(5) for
434 more information.
435
436 -x Disables X11 forwarding.
437
438 -Y Enables trusted X11 forwarding. Trusted X11 forwardings are not
439 subjected to the X11 SECURITY extension controls.
440
441 -y Send log information using the syslog(3) system module. By
442 default this information is sent to stderr.
443
444 ssh may additionally obtain configuration data from a per-user
445 configuration file and a system-wide configuration file. The file format
446 and configuration options are described in ssh_config(5).
447
448AUTHENTICATION
449 The OpenSSH SSH client supports SSH protocol 2.
450
451 The methods available for authentication are: GSSAPI-based
452 authentication, host-based authentication, public key authentication,
453 challenge-response authentication, and password authentication.
454 Authentication methods are tried in the order specified above, though
455 PreferredAuthentications can be used to change the default order.
456
457 Host-based authentication works as follows: If the machine the user logs
458 in from is listed in /etc/hosts.equiv or /etc/shosts.equiv on the remote
459 machine, and the user names are the same on both sides, or if the files
460 ~/.rhosts or ~/.shosts exist in the user's home directory on the remote
461 machine and contain a line containing the name of the client machine and
462 the name of the user on that machine, the user is considered for login.
463 Additionally, the server must be able to verify the client's host key
464 (see the description of /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts,
465 below) for login to be permitted. This authentication method closes
466 security holes due to IP spoofing, DNS spoofing, and routing spoofing.
467 [Note to the administrator: /etc/hosts.equiv, ~/.rhosts, and the
468 rlogin/rsh protocol in general, are inherently insecure and should be
469 disabled if security is desired.]
470
471 Public key authentication works as follows: The scheme is based on
472 public-key cryptography, using cryptosystems where encryption and
473 decryption are done using separate keys, and it is unfeasible to derive
474 the decryption key from the encryption key. The idea is that each user
475 creates a public/private key pair for authentication purposes. The
476 server knows the public key, and only the user knows the private key.
477 ssh implements public key authentication protocol automatically, using
478 one of the DSA, ECDSA, Ed25519 or RSA algorithms. The HISTORY section of
479 ssl(8) contains a brief discussion of the DSA and RSA algorithms.
480
481 The file ~/.ssh/authorized_keys lists the public keys that are permitted
482 for logging in. When the user logs in, the ssh program tells the server
483 which key pair it would like to use for authentication. The client
484 proves that it has access to the private key and the server checks that
485 the corresponding public key is authorized to accept the account.
486
487 The server may inform the client of errors that prevented public key
488 authentication from succeeding after authentication completes using a
489 different method. These may be viewed by increasing the LogLevel to
490 DEBUG or higher (e.g. by using the -v flag).
491
492 The user creates his/her key pair by running ssh-keygen(1). This stores
493 the private key in ~/.ssh/id_dsa (DSA), ~/.ssh/id_ecdsa (ECDSA),
494 ~/.ssh/id_ed25519 (Ed25519), or ~/.ssh/id_rsa (RSA) and stores the public
495 key in ~/.ssh/id_dsa.pub (DSA), ~/.ssh/id_ecdsa.pub (ECDSA),
496 ~/.ssh/id_ed25519.pub (Ed25519), or ~/.ssh/id_rsa.pub (RSA) in the user's
497 home directory. The user should then copy the public key to
498 ~/.ssh/authorized_keys in his/her home directory on the remote machine.
499 The authorized_keys file corresponds to the conventional ~/.rhosts file,
500 and has one key per line, though the lines can be very long. After this,
501 the user can log in without giving the password.
502
503 A variation on public key authentication is available in the form of
504 certificate authentication: instead of a set of public/private keys,
505 signed certificates are used. This has the advantage that a single
506 trusted certification authority can be used in place of many
507 public/private keys. See the CERTIFICATES section of ssh-keygen(1) for
508 more information.
509
510 The most convenient way to use public key or certificate authentication
511 may be with an authentication agent. See ssh-agent(1) and (optionally)
512 the AddKeysToAgent directive in ssh_config(5) for more information.
513
514 Challenge-response authentication works as follows: The server sends an
515 arbitrary "challenge" text, and prompts for a response. Examples of
516 challenge-response authentication include BSD Authentication (see
517 login.conf(5)) and PAM (some non-OpenBSD systems).
518
519 Finally, if other authentication methods fail, ssh prompts the user for a
520 password. The password is sent to the remote host for checking; however,
521 since all communications are encrypted, the password cannot be seen by
522 someone listening on the network.
523
524 ssh automatically maintains and checks a database containing
525 identification for all hosts it has ever been used with. Host keys are
526 stored in ~/.ssh/known_hosts in the user's home directory. Additionally,
527 the file /etc/ssh/ssh_known_hosts is automatically checked for known
528 hosts. Any new hosts are automatically added to the user's file. If a
529 host's identification ever changes, ssh warns about this and disables
530 password authentication to prevent server spoofing or man-in-the-middle
531 attacks, which could otherwise be used to circumvent the encryption. The
532 StrictHostKeyChecking option can be used to control logins to machines
533 whose host key is not known or has changed.
534
535 When the user's identity has been accepted by the server, the server
536 either executes the given command in a non-interactive session or, if no
537 command has been specified, logs into the machine and gives the user a
538 normal shell as an interactive session. All communication with the
539 remote command or shell will be automatically encrypted.
540
541 If an interactive session is requested ssh by default will only request a
542 pseudo-terminal (pty) for interactive sessions when the client has one.
543 The flags -T and -t can be used to override this behaviour.
544
545 If a pseudo-terminal has been allocated the user may use the escape
546 characters noted below.
547
548 If no pseudo-terminal has been allocated, the session is transparent and
549 can be used to reliably transfer binary data. On most systems, setting
550 the escape character to M-bM-^@M-^\noneM-bM-^@M-^] will also make the session transparent
551 even if a tty is used.
552
553 The session terminates when the command or shell on the remote machine
554 exits and all X11 and TCP connections have been closed.
555
556ESCAPE CHARACTERS
557 When a pseudo-terminal has been requested, ssh supports a number of
558 functions through the use of an escape character.
559
560 A single tilde character can be sent as ~~ or by following the tilde by a
561 character other than those described below. The escape character must
562 always follow a newline to be interpreted as special. The escape
563 character can be changed in configuration files using the EscapeChar
564 configuration directive or on the command line by the -e option.
565
566 The supported escapes (assuming the default M-bM-^@M-^X~M-bM-^@M-^Y) are:
567
568 ~. Disconnect.
569
570 ~^Z Background ssh.
571
572 ~# List forwarded connections.
573
574 ~& Background ssh at logout when waiting for forwarded connection /
575 X11 sessions to terminate.
576
577 ~? Display a list of escape characters.
578
579 ~B Send a BREAK to the remote system (only useful if the peer
580 supports it).
581
582 ~C Open command line. Currently this allows the addition of port
583 forwardings using the -L, -R and -D options (see above). It also
584 allows the cancellation of existing port-forwardings with
585 -KL[bind_address:]port for local, -KR[bind_address:]port for
586 remote and -KD[bind_address:]port for dynamic port-forwardings.
587 !command allows the user to execute a local command if the
588 PermitLocalCommand option is enabled in ssh_config(5). Basic
589 help is available, using the -h option.
590
591 ~R Request rekeying of the connection (only useful if the peer
592 supports it).
593
594 ~V Decrease the verbosity (LogLevel) when errors are being written
595 to stderr.
596
597 ~v Increase the verbosity (LogLevel) when errors are being written
598 to stderr.
599
600TCP FORWARDING
601 Forwarding of arbitrary TCP connections over a secure channel can be
602 specified either on the command line or in a configuration file. One
603 possible application of TCP forwarding is a secure connection to a mail
604 server; another is going through firewalls.
605
606 In the example below, we look at encrypting communication for an IRC
607 client, even though the IRC server it connects to does not directly
608 support encrypted communication. This works as follows: the user
609 connects to the remote host using ssh, specifying the ports to be used to
610 forward the connection. After that it is possible to start the program
611 locally, and ssh will encrypt and forward the connection to the remote
612 server.
613
614 The following example tunnels an IRC session from the client to an IRC
615 server at M-bM-^@M-^\server.example.comM-bM-^@M-^], joining channel M-bM-^@M-^\#usersM-bM-^@M-^], nickname
616 M-bM-^@M-^\pinkyM-bM-^@M-^], using the standard IRC port, 6667:
617
618 $ ssh -f -L 6667:localhost:6667 server.example.com sleep 10
619 $ irc -c '#users' pinky IRC/127.0.0.1
620
621 The -f option backgrounds ssh and the remote command M-bM-^@M-^\sleep 10M-bM-^@M-^] is
622 specified to allow an amount of time (10 seconds, in the example) to
623 start the program which is going to use the tunnel. If no connections
624 are made within the time specified, ssh will exit.
625
626X11 FORWARDING
627 If the ForwardX11 variable is set to M-bM-^@M-^\yesM-bM-^@M-^] (or see the description of the
628 -X, -x, and -Y options above) and the user is using X11 (the DISPLAY
629 environment variable is set), the connection to the X11 display is
630 automatically forwarded to the remote side in such a way that any X11
631 programs started from the shell (or command) will go through the
632 encrypted channel, and the connection to the real X server will be made
633 from the local machine. The user should not manually set DISPLAY.
634 Forwarding of X11 connections can be configured on the command line or in
635 configuration files.
636
637 The DISPLAY value set by ssh will point to the server machine, but with a
638 display number greater than zero. This is normal, and happens because
639 ssh creates a M-bM-^@M-^\proxyM-bM-^@M-^] X server on the server machine for forwarding the
640 connections over the encrypted channel.
641
642 ssh will also automatically set up Xauthority data on the server machine.
643 For this purpose, it will generate a random authorization cookie, store
644 it in Xauthority on the server, and verify that any forwarded connections
645 carry this cookie and replace it by the real cookie when the connection
646 is opened. The real authentication cookie is never sent to the server
647 machine (and no cookies are sent in the plain).
648
649 If the ForwardAgent variable is set to M-bM-^@M-^\yesM-bM-^@M-^] (or see the description of
650 the -A and -a options above) and the user is using an authentication
651 agent, the connection to the agent is automatically forwarded to the
652 remote side.
653
654VERIFYING HOST KEYS
655 When connecting to a server for the first time, a fingerprint of the
656 server's public key is presented to the user (unless the option
657 StrictHostKeyChecking has been disabled). Fingerprints can be determined
658 using ssh-keygen(1):
659
660 $ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
661
662 If the fingerprint is already known, it can be matched and the key can be
663 accepted or rejected. If only legacy (MD5) fingerprints for the server
664 are available, the ssh-keygen(1) -E option may be used to downgrade the
665 fingerprint algorithm to match.
666
667 Because of the difficulty of comparing host keys just by looking at
668 fingerprint strings, there is also support to compare host keys visually,
669 using random art. By setting the VisualHostKey option to M-bM-^@M-^\yesM-bM-^@M-^], a small
670 ASCII graphic gets displayed on every login to a server, no matter if the
671 session itself is interactive or not. By learning the pattern a known
672 server produces, a user can easily find out that the host key has changed
673 when a completely different pattern is displayed. Because these patterns
674 are not unambiguous however, a pattern that looks similar to the pattern
675 remembered only gives a good probability that the host key is the same,
676 not guaranteed proof.
677
678 To get a listing of the fingerprints along with their random art for all
679 known hosts, the following command line can be used:
680
681 $ ssh-keygen -lv -f ~/.ssh/known_hosts
682
683 If the fingerprint is unknown, an alternative method of verification is
684 available: SSH fingerprints verified by DNS. An additional resource
685 record (RR), SSHFP, is added to a zonefile and the connecting client is
686 able to match the fingerprint with that of the key presented.
687
688 In this example, we are connecting a client to a server,
689 M-bM-^@M-^\host.example.comM-bM-^@M-^]. The SSHFP resource records should first be added to
690 the zonefile for host.example.com:
691
692 $ ssh-keygen -r host.example.com.
693
694 The output lines will have to be added to the zonefile. To check that
695 the zone is answering fingerprint queries:
696
697 $ dig -t SSHFP host.example.com
698
699 Finally the client connects:
700
701 $ ssh -o "VerifyHostKeyDNS ask" host.example.com
702 [...]
703 Matching host key fingerprint found in DNS.
704 Are you sure you want to continue connecting (yes/no)?
705
706 See the VerifyHostKeyDNS option in ssh_config(5) for more information.
707
708SSH-BASED VIRTUAL PRIVATE NETWORKS
709 ssh contains support for Virtual Private Network (VPN) tunnelling using
710 the tun(4) network pseudo-device, allowing two networks to be joined
711 securely. The sshd_config(5) configuration option PermitTunnel controls
712 whether the server supports this, and at what level (layer 2 or 3
713 traffic).
714
715 The following example would connect client network 10.0.50.0/24 with
716 remote network 10.0.99.0/24 using a point-to-point connection from
717 10.1.1.1 to 10.1.1.2, provided that the SSH server running on the gateway
718 to the remote network, at 192.168.1.15, allows it.
719
720 On the client:
721
722 # ssh -f -w 0:1 192.168.1.15 true
723 # ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252
724 # route add 10.0.99.0/24 10.1.1.2
725
726 On the server:
727
728 # ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252
729 # route add 10.0.50.0/24 10.1.1.1
730
731 Client access may be more finely tuned via the /root/.ssh/authorized_keys
732 file (see below) and the PermitRootLogin server option. The following
733 entry would permit connections on tun(4) device 1 from user M-bM-^@M-^\janeM-bM-^@M-^] and on
734 tun device 2 from user M-bM-^@M-^\johnM-bM-^@M-^], if PermitRootLogin is set to
735 M-bM-^@M-^\forced-commands-onlyM-bM-^@M-^]:
736
737 tunnel="1",command="sh /etc/netstart tun1" ssh-rsa ... jane
738 tunnel="2",command="sh /etc/netstart tun2" ssh-rsa ... john
739
740 Since an SSH-based setup entails a fair amount of overhead, it may be
741 more suited to temporary setups, such as for wireless VPNs. More
742 permanent VPNs are better provided by tools such as ipsecctl(8) and
743 isakmpd(8).
744
745ENVIRONMENT
746 ssh will normally set the following environment variables:
747
748 DISPLAY The DISPLAY variable indicates the location of the
749 X11 server. It is automatically set by ssh to
750 point to a value of the form M-bM-^@M-^\hostname:nM-bM-^@M-^], where
751 M-bM-^@M-^\hostnameM-bM-^@M-^] indicates the host where the shell runs,
752 and M-bM-^@M-^XnM-bM-^@M-^Y is an integer M-bM-^IM-% 1. ssh uses this special
753 value to forward X11 connections over the secure
754 channel. The user should normally not set DISPLAY
755 explicitly, as that will render the X11 connection
756 insecure (and will require the user to manually
757 copy any required authorization cookies).
758
759 HOME Set to the path of the user's home directory.
760
761 LOGNAME Synonym for USER; set for compatibility with
762 systems that use this variable.
763
764 MAIL Set to the path of the user's mailbox.
765
766 PATH Set to the default PATH, as specified when
767 compiling ssh.
768
769 SSH_ASKPASS If ssh needs a passphrase, it will read the
770 passphrase from the current terminal if it was run
771 from a terminal. If ssh does not have a terminal
772 associated with it but DISPLAY and SSH_ASKPASS are
773 set, it will execute the program specified by
774 SSH_ASKPASS and open an X11 window to read the
775 passphrase. This is particularly useful when
776 calling ssh from a .xsession or related script.
777 (Note that on some machines it may be necessary to
778 redirect the input from /dev/null to make this
779 work.)
780
781 SSH_AUTH_SOCK Identifies the path of a UNIX-domain socket used to
782 communicate with the agent.
783
784 SSH_CONNECTION Identifies the client and server ends of the
785 connection. The variable contains four space-
786 separated values: client IP address, client port
787 number, server IP address, and server port number.
788
789 SSH_ORIGINAL_COMMAND This variable contains the original command line if
790 a forced command is executed. It can be used to
791 extract the original arguments.
792
793 SSH_TTY This is set to the name of the tty (path to the
794 device) associated with the current shell or
795 command. If the current session has no tty, this
796 variable is not set.
797
798 SSH_TUNNEL Optionally set by sshd(8) to contain the interface
799 names assigned if tunnel forwarding was requested
800 by the client.
801
802 SSH_USER_AUTH Optionally set by sshd(8), this variable may
803 contain a pathname to a file that lists the
804 authentication methods successfully used when the
805 session was established, including any public keys
806 that were used.
807
808 TZ This variable is set to indicate the present time
809 zone if it was set when the daemon was started
810 (i.e. the daemon passes the value on to new
811 connections).
812
813 USER Set to the name of the user logging in.
814
815 Additionally, ssh reads ~/.ssh/environment, and adds lines of the format
816 M-bM-^@M-^\VARNAME=valueM-bM-^@M-^] to the environment if the file exists and users are
817 allowed to change their environment. For more information, see the
818 PermitUserEnvironment option in sshd_config(5).
819
820FILES
821 ~/.rhosts
822 This file is used for host-based authentication (see above). On
823 some machines this file may need to be world-readable if the
824 user's home directory is on an NFS partition, because sshd(8)
825 reads it as root. Additionally, this file must be owned by the
826 user, and must not have write permissions for anyone else. The
827 recommended permission for most machines is read/write for the
828 user, and not accessible by others.
829
830 ~/.shosts
831 This file is used in exactly the same way as .rhosts, but allows
832 host-based authentication without permitting login with
833 rlogin/rsh.
834
835 ~/.ssh/
836 This directory is the default location for all user-specific
837 configuration and authentication information. There is no
838 general requirement to keep the entire contents of this directory
839 secret, but the recommended permissions are read/write/execute
840 for the user, and not accessible by others.
841
842 ~/.ssh/authorized_keys
843 Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
844 for logging in as this user. The format of this file is
845 described in the sshd(8) manual page. This file is not highly
846 sensitive, but the recommended permissions are read/write for the
847 user, and not accessible by others.
848
849 ~/.ssh/config
850 This is the per-user configuration file. The file format and
851 configuration options are described in ssh_config(5). Because of
852 the potential for abuse, this file must have strict permissions:
853 read/write for the user, and not writable by others.
854
855 ~/.ssh/environment
856 Contains additional definitions for environment variables; see
857 ENVIRONMENT, above.
858
859 ~/.ssh/id_dsa
860 ~/.ssh/id_ecdsa
861 ~/.ssh/id_ed25519
862 ~/.ssh/id_rsa
863 Contains the private key for authentication. These files contain
864 sensitive data and should be readable by the user but not
865 accessible by others (read/write/execute). ssh will simply
866 ignore a private key file if it is accessible by others. It is
867 possible to specify a passphrase when generating the key which
868 will be used to encrypt the sensitive part of this file using
869 AES-128.
870
871 ~/.ssh/id_dsa.pub
872 ~/.ssh/id_ecdsa.pub
873 ~/.ssh/id_ed25519.pub
874 ~/.ssh/id_rsa.pub
875 Contains the public key for authentication. These files are not
876 sensitive and can (but need not) be readable by anyone.
877
878 ~/.ssh/known_hosts
879 Contains a list of host keys for all hosts the user has logged
880 into that are not already in the systemwide list of known host
881 keys. See sshd(8) for further details of the format of this
882 file.
883
884 ~/.ssh/rc
885 Commands in this file are executed by ssh when the user logs in,
886 just before the user's shell (or command) is started. See the
887 sshd(8) manual page for more information.
888
889 /etc/hosts.equiv
890 This file is for host-based authentication (see above). It
891 should only be writable by root.
892
893 /etc/shosts.equiv
894 This file is used in exactly the same way as hosts.equiv, but
895 allows host-based authentication without permitting login with
896 rlogin/rsh.
897
898 /etc/ssh/ssh_config
899 Systemwide configuration file. The file format and configuration
900 options are described in ssh_config(5).
901
902 /etc/ssh/ssh_host_key
903 /etc/ssh/ssh_host_dsa_key
904 /etc/ssh/ssh_host_ecdsa_key
905 /etc/ssh/ssh_host_ed25519_key
906 /etc/ssh/ssh_host_rsa_key
907 These files contain the private parts of the host keys and are
908 used for host-based authentication.
909
910 /etc/ssh/ssh_known_hosts
911 Systemwide list of known host keys. This file should be prepared
912 by the system administrator to contain the public host keys of
913 all machines in the organization. It should be world-readable.
914 See sshd(8) for further details of the format of this file.
915
916 /etc/ssh/sshrc
917 Commands in this file are executed by ssh when the user logs in,
918 just before the user's shell (or command) is started. See the
919 sshd(8) manual page for more information.
920
921EXIT STATUS
922 ssh exits with the exit status of the remote command or with 255 if an
923 error occurred.
924
925SEE ALSO
926 scp(1), sftp(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), ssh-keyscan(1),
927 tun(4), ssh_config(5), ssh-keysign(8), sshd(8)
928
929STANDARDS
930 S. Lehtinen and C. Lonvick, The Secure Shell (SSH) Protocol Assigned
931 Numbers, RFC 4250, January 2006.
932
933 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Protocol Architecture,
934 RFC 4251, January 2006.
935
936 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Authentication Protocol,
937 RFC 4252, January 2006.
938
939 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Transport Layer
940 Protocol, RFC 4253, January 2006.
941
942 T. Ylonen and C. Lonvick, The Secure Shell (SSH) Connection Protocol, RFC
943 4254, January 2006.
944
945 J. Schlyter and W. Griffin, Using DNS to Securely Publish Secure Shell
946 (SSH) Key Fingerprints, RFC 4255, January 2006.
947
948 F. Cusack and M. Forssen, Generic Message Exchange Authentication for the
949 Secure Shell Protocol (SSH), RFC 4256, January 2006.
950
951 J. Galbraith and P. Remaker, The Secure Shell (SSH) Session Channel Break
952 Extension, RFC 4335, January 2006.
953
954 M. Bellare, T. Kohno, and C. Namprempre, The Secure Shell (SSH) Transport
955 Layer Encryption Modes, RFC 4344, January 2006.
956
957 B. Harris, Improved Arcfour Modes for the Secure Shell (SSH) Transport
958 Layer Protocol, RFC 4345, January 2006.
959
960 M. Friedl, N. Provos, and W. Simpson, Diffie-Hellman Group Exchange for
961 the Secure Shell (SSH) Transport Layer Protocol, RFC 4419, March 2006.
962
963 J. Galbraith and R. Thayer, The Secure Shell (SSH) Public Key File
964 Format, RFC 4716, November 2006.
965
966 D. Stebila and J. Green, Elliptic Curve Algorithm Integration in the
967 Secure Shell Transport Layer, RFC 5656, December 2009.
968
969 A. Perrig and D. Song, Hash Visualization: a New Technique to improve
970 Real-World Security, 1999, International Workshop on Cryptographic
971 Techniques and E-Commerce (CrypTEC '99).
972
973AUTHORS
974 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
975 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
976 de Raadt and Dug Song removed many bugs, re-added newer features and
977 created OpenSSH. Markus Friedl contributed the support for SSH protocol
978 versions 1.5 and 2.0.
979
980OpenBSD 6.5 March 16, 2019 OpenBSD 6.5
diff --git a/ssh_config.0 b/ssh_config.0
new file mode 100644
index 000000000..10f1c2e9d
--- /dev/null
+++ b/ssh_config.0
@@ -0,0 +1,1119 @@
1SSH_CONFIG(5) File Formats Manual SSH_CONFIG(5)
2
3NAME
4 ssh_config M-bM-^@M-^S OpenSSH SSH client configuration files
5
6DESCRIPTION
7 ssh(1) obtains configuration data from the following sources in the
8 following order:
9
10 1. command-line options
11 2. user's configuration file (~/.ssh/config)
12 3. system-wide configuration file (/etc/ssh/ssh_config)
13
14 For each parameter, the first obtained value will be used. The
15 configuration files contain sections separated by Host specifications,
16 and that section is only applied for hosts that match one of the patterns
17 given in the specification. The matched host name is usually the one
18 given on the command line (see the CanonicalizeHostname option for
19 exceptions).
20
21 Since the first obtained value for each parameter is used, more host-
22 specific declarations should be given near the beginning of the file, and
23 general defaults at the end.
24
25 The file contains keyword-argument pairs, one per line. Lines starting
26 with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are interpreted as comments. Arguments may
27 optionally be enclosed in double quotes (") in order to represent
28 arguments containing spaces. Configuration options may be separated by
29 whitespace or optional whitespace and exactly one M-bM-^@M-^X=M-bM-^@M-^Y; the latter format
30 is useful to avoid the need to quote whitespace when specifying
31 configuration options using the ssh, scp, and sftp -o option.
32
33 The possible keywords and their meanings are as follows (note that
34 keywords are case-insensitive and arguments are case-sensitive):
35
36 Host Restricts the following declarations (up to the next Host or
37 Match keyword) to be only for those hosts that match one of the
38 patterns given after the keyword. If more than one pattern is
39 provided, they should be separated by whitespace. A single M-bM-^@M-^X*M-bM-^@M-^Y
40 as a pattern can be used to provide global defaults for all
41 hosts. The host is usually the hostname argument given on the
42 command line (see the CanonicalizeHostname keyword for
43 exceptions).
44
45 A pattern entry may be negated by prefixing it with an
46 exclamation mark (M-bM-^@M-^X!M-bM-^@M-^Y). If a negated entry is matched, then the
47 Host entry is ignored, regardless of whether any other patterns
48 on the line match. Negated matches are therefore useful to
49 provide exceptions for wildcard matches.
50
51 See PATTERNS for more information on patterns.
52
53 Match Restricts the following declarations (up to the next Host or
54 Match keyword) to be used only when the conditions following the
55 Match keyword are satisfied. Match conditions are specified
56 using one or more criteria or the single token all which always
57 matches. The available criteria keywords are: canonical, final,
58 exec, host, originalhost, user, and localuser. The all criteria
59 must appear alone or immediately after canonical or final. Other
60 criteria may be combined arbitrarily. All criteria but all,
61 canonical, and final require an argument. Criteria may be
62 negated by prepending an exclamation mark (M-bM-^@M-^X!M-bM-^@M-^Y).
63
64 The canonical keyword matches only when the configuration file is
65 being re-parsed after hostname canonicalization (see the
66 CanonicalizeHostname option). This may be useful to specify
67 conditions that work with canonical host names only.
68
69 The final keyword requests that the configuration be re-parsed
70 (regardless of whether CanonicalizeHostname is enabled), and
71 matches only during this final pass. If CanonicalizeHostname is
72 enabled, then canonical and final match during the same pass.
73
74 The exec keyword executes the specified command under the user's
75 shell. If the command returns a zero exit status then the
76 condition is considered true. Commands containing whitespace
77 characters must be quoted. Arguments to exec accept the tokens
78 described in the TOKENS section.
79
80 The other keywords' criteria must be single entries or comma-
81 separated lists and may use the wildcard and negation operators
82 described in the PATTERNS section. The criteria for the host
83 keyword are matched against the target hostname, after any
84 substitution by the Hostname or CanonicalizeHostname options.
85 The originalhost keyword matches against the hostname as it was
86 specified on the command-line. The user keyword matches against
87 the target username on the remote host. The localuser keyword
88 matches against the name of the local user running ssh(1) (this
89 keyword may be useful in system-wide ssh_config files).
90
91 AddKeysToAgent
92 Specifies whether keys should be automatically added to a running
93 ssh-agent(1). If this option is set to yes and a key is loaded
94 from a file, the key and its passphrase are added to the agent
95 with the default lifetime, as if by ssh-add(1). If this option
96 is set to ask, ssh(1) will require confirmation using the
97 SSH_ASKPASS program before adding a key (see ssh-add(1) for
98 details). If this option is set to confirm, each use of the key
99 must be confirmed, as if the -c option was specified to
100 ssh-add(1). If this option is set to no, no keys are added to
101 the agent. The argument must be yes, confirm, ask, or no (the
102 default).
103
104 AddressFamily
105 Specifies which address family to use when connecting. Valid
106 arguments are any (the default), inet (use IPv4 only), or inet6
107 (use IPv6 only).
108
109 BatchMode
110 If set to yes, passphrase/password querying will be disabled.
111 This option is useful in scripts and other batch jobs where no
112 user is present to supply the password. The argument must be yes
113 or no (the default).
114
115 BindAddress
116 Use the specified address on the local machine as the source
117 address of the connection. Only useful on systems with more than
118 one address.
119
120 BindInterface
121 Use the address of the specified interface on the local machine
122 as the source address of the connection.
123
124 CanonicalDomains
125 When CanonicalizeHostname is enabled, this option specifies the
126 list of domain suffixes in which to search for the specified
127 destination host.
128
129 CanonicalizeFallbackLocal
130 Specifies whether to fail with an error when hostname
131 canonicalization fails. The default, yes, will attempt to look
132 up the unqualified hostname using the system resolver's search
133 rules. A value of no will cause ssh(1) to fail instantly if
134 CanonicalizeHostname is enabled and the target hostname cannot be
135 found in any of the domains specified by CanonicalDomains.
136
137 CanonicalizeHostname
138 Controls whether explicit hostname canonicalization is performed.
139 The default, no, is not to perform any name rewriting and let the
140 system resolver handle all hostname lookups. If set to yes then,
141 for connections that do not use a ProxyCommand or ProxyJump,
142 ssh(1) will attempt to canonicalize the hostname specified on the
143 command line using the CanonicalDomains suffixes and
144 CanonicalizePermittedCNAMEs rules. If CanonicalizeHostname is
145 set to always, then canonicalization is applied to proxied
146 connections too.
147
148 If this option is enabled, then the configuration files are
149 processed again using the new target name to pick up any new
150 configuration in matching Host and Match stanzas.
151
152 CanonicalizeMaxDots
153 Specifies the maximum number of dot characters in a hostname
154 before canonicalization is disabled. The default, 1, allows a
155 single dot (i.e. hostname.subdomain).
156
157 CanonicalizePermittedCNAMEs
158 Specifies rules to determine whether CNAMEs should be followed
159 when canonicalizing hostnames. The rules consist of one or more
160 arguments of source_domain_list:target_domain_list, where
161 source_domain_list is a pattern-list of domains that may follow
162 CNAMEs in canonicalization, and target_domain_list is a pattern-
163 list of domains that they may resolve to.
164
165 For example, "*.a.example.com:*.b.example.com,*.c.example.com"
166 will allow hostnames matching "*.a.example.com" to be
167 canonicalized to names in the "*.b.example.com" or
168 "*.c.example.com" domains.
169
170 CASignatureAlgorithms
171 Specifies which algorithms are allowed for signing of
172 certificates by certificate authorities (CAs). The default is:
173
174 ecdsa-sha2-nistp256.ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
175 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
176
177 ssh(1) will not accept host certificates signed using algorithms
178 other than those specified.
179
180 CertificateFile
181 Specifies a file from which the user's certificate is read. A
182 corresponding private key must be provided separately in order to
183 use this certificate either from an IdentityFile directive or -i
184 flag to ssh(1), via ssh-agent(1), or via a PKCS11Provider.
185
186 Arguments to CertificateFile may use the tilde syntax to refer to
187 a user's home directory or the tokens described in the TOKENS
188 section.
189
190 It is possible to have multiple certificate files specified in
191 configuration files; these certificates will be tried in
192 sequence. Multiple CertificateFile directives will add to the
193 list of certificates used for authentication.
194
195 ChallengeResponseAuthentication
196 Specifies whether to use challenge-response authentication. The
197 argument to this keyword must be yes (the default) or no.
198
199 CheckHostIP
200 If set to yes (the default), ssh(1) will additionally check the
201 host IP address in the known_hosts file. This allows it to
202 detect if a host key changed due to DNS spoofing and will add
203 addresses of destination hosts to ~/.ssh/known_hosts in the
204 process, regardless of the setting of StrictHostKeyChecking. If
205 the option is set to no, the check will not be executed.
206
207 Ciphers
208 Specifies the ciphers allowed and their order of preference.
209 Multiple ciphers must be comma-separated. If the specified value
210 begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified ciphers will be
211 appended to the default set instead of replacing them. If the
212 specified value begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified
213 ciphers (including wildcards) will be removed from the default
214 set instead of replacing them.
215
216 The supported ciphers are:
217
218 3des-cbc
219 aes128-cbc
220 aes192-cbc
221 aes256-cbc
222 aes128-ctr
223 aes192-ctr
224 aes256-ctr
225 aes128-gcm@openssh.com
226 aes256-gcm@openssh.com
227 chacha20-poly1305@openssh.com
228
229 The default is:
230
231 chacha20-poly1305@openssh.com,
232 aes128-ctr,aes192-ctr,aes256-ctr,
233 aes128-gcm@openssh.com,aes256-gcm@openssh.com
234
235 The list of available ciphers may also be obtained using "ssh -Q
236 cipher".
237
238 ClearAllForwardings
239 Specifies that all local, remote, and dynamic port forwardings
240 specified in the configuration files or on the command line be
241 cleared. This option is primarily useful when used from the
242 ssh(1) command line to clear port forwardings set in
243 configuration files, and is automatically set by scp(1) and
244 sftp(1). The argument must be yes or no (the default).
245
246 Compression
247 Specifies whether to use compression. The argument must be yes
248 or no (the default).
249
250 ConnectionAttempts
251 Specifies the number of tries (one per second) to make before
252 exiting. The argument must be an integer. This may be useful in
253 scripts if the connection sometimes fails. The default is 1.
254
255 ConnectTimeout
256 Specifies the timeout (in seconds) used when connecting to the
257 SSH server, instead of using the default system TCP timeout.
258 This value is used only when the target is down or really
259 unreachable, not when it refuses the connection.
260
261 ControlMaster
262 Enables the sharing of multiple sessions over a single network
263 connection. When set to yes, ssh(1) will listen for connections
264 on a control socket specified using the ControlPath argument.
265 Additional sessions can connect to this socket using the same
266 ControlPath with ControlMaster set to no (the default). These
267 sessions will try to reuse the master instance's network
268 connection rather than initiating new ones, but will fall back to
269 connecting normally if the control socket does not exist, or is
270 not listening.
271
272 Setting this to ask will cause ssh(1) to listen for control
273 connections, but require confirmation using ssh-askpass(1). If
274 the ControlPath cannot be opened, ssh(1) will continue without
275 connecting to a master instance.
276
277 X11 and ssh-agent(1) forwarding is supported over these
278 multiplexed connections, however the display and agent forwarded
279 will be the one belonging to the master connection i.e. it is not
280 possible to forward multiple displays or agents.
281
282 Two additional options allow for opportunistic multiplexing: try
283 to use a master connection but fall back to creating a new one if
284 one does not already exist. These options are: auto and autoask.
285 The latter requires confirmation like the ask option.
286
287 ControlPath
288 Specify the path to the control socket used for connection
289 sharing as described in the ControlMaster section above or the
290 string none to disable connection sharing. Arguments to
291 ControlPath may use the tilde syntax to refer to a user's home
292 directory or the tokens described in the TOKENS section. It is
293 recommended that any ControlPath used for opportunistic
294 connection sharing include at least %h, %p, and %r (or
295 alternatively %C) and be placed in a directory that is not
296 writable by other users. This ensures that shared connections
297 are uniquely identified.
298
299 ControlPersist
300 When used in conjunction with ControlMaster, specifies that the
301 master connection should remain open in the background (waiting
302 for future client connections) after the initial client
303 connection has been closed. If set to no, then the master
304 connection will not be placed into the background, and will close
305 as soon as the initial client connection is closed. If set to
306 yes or 0, then the master connection will remain in the
307 background indefinitely (until killed or closed via a mechanism
308 such as the "ssh -O exit"). If set to a time in seconds, or a
309 time in any of the formats documented in sshd_config(5), then the
310 backgrounded master connection will automatically terminate after
311 it has remained idle (with no client connections) for the
312 specified time.
313
314 DynamicForward
315 Specifies that a TCP port on the local machine be forwarded over
316 the secure channel, and the application protocol is then used to
317 determine where to connect to from the remote machine.
318
319 The argument must be [bind_address:]port. IPv6 addresses can be
320 specified by enclosing addresses in square brackets. By default,
321 the local port is bound in accordance with the GatewayPorts
322 setting. However, an explicit bind_address may be used to bind
323 the connection to a specific address. The bind_address of
324 localhost indicates that the listening port be bound for local
325 use only, while an empty address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port
326 should be available from all interfaces.
327
328 Currently the SOCKS4 and SOCKS5 protocols are supported, and
329 ssh(1) will act as a SOCKS server. Multiple forwardings may be
330 specified, and additional forwardings can be given on the command
331 line. Only the superuser can forward privileged ports.
332
333 EnableSSHKeysign
334 Setting this option to yes in the global client configuration
335 file /etc/ssh/ssh_config enables the use of the helper program
336 ssh-keysign(8) during HostbasedAuthentication. The argument must
337 be yes or no (the default). This option should be placed in the
338 non-hostspecific section. See ssh-keysign(8) for more
339 information.
340
341 EscapeChar
342 Sets the escape character (default: M-bM-^@M-^X~M-bM-^@M-^Y). The escape character
343 can also be set on the command line. The argument should be a
344 single character, M-bM-^@M-^X^M-bM-^@M-^Y followed by a letter, or none to disable
345 the escape character entirely (making the connection transparent
346 for binary data).
347
348 ExitOnForwardFailure
349 Specifies whether ssh(1) should terminate the connection if it
350 cannot set up all requested dynamic, tunnel, local, and remote
351 port forwardings, (e.g. if either end is unable to bind and
352 listen on a specified port). Note that ExitOnForwardFailure does
353 not apply to connections made over port forwardings and will not,
354 for example, cause ssh(1) to exit if TCP connections to the
355 ultimate forwarding destination fail. The argument must be yes
356 or no (the default).
357
358 FingerprintHash
359 Specifies the hash algorithm used when displaying key
360 fingerprints. Valid options are: md5 and sha256 (the default).
361
362 ForwardAgent
363 Specifies whether the connection to the authentication agent (if
364 any) will be forwarded to the remote machine. The argument must
365 be yes or no (the default).
366
367 Agent forwarding should be enabled with caution. Users with the
368 ability to bypass file permissions on the remote host (for the
369 agent's Unix-domain socket) can access the local agent through
370 the forwarded connection. An attacker cannot obtain key material
371 from the agent, however they can perform operations on the keys
372 that enable them to authenticate using the identities loaded into
373 the agent.
374
375 ForwardX11
376 Specifies whether X11 connections will be automatically
377 redirected over the secure channel and DISPLAY set. The argument
378 must be yes or no (the default).
379
380 X11 forwarding should be enabled with caution. Users with the
381 ability to bypass file permissions on the remote host (for the
382 user's X11 authorization database) can access the local X11
383 display through the forwarded connection. An attacker may then
384 be able to perform activities such as keystroke monitoring if the
385 ForwardX11Trusted option is also enabled.
386
387 ForwardX11Timeout
388 Specify a timeout for untrusted X11 forwarding using the format
389 described in the TIME FORMATS section of sshd_config(5). X11
390 connections received by ssh(1) after this time will be refused.
391 Setting ForwardX11Timeout to zero will disable the timeout and
392 permit X11 forwarding for the life of the connection. The
393 default is to disable untrusted X11 forwarding after twenty
394 minutes has elapsed.
395
396 ForwardX11Trusted
397 If this option is set to yes, remote X11 clients will have full
398 access to the original X11 display.
399
400 If this option is set to no (the default), remote X11 clients
401 will be considered untrusted and prevented from stealing or
402 tampering with data belonging to trusted X11 clients.
403 Furthermore, the xauth(1) token used for the session will be set
404 to expire after 20 minutes. Remote clients will be refused
405 access after this time.
406
407 See the X11 SECURITY extension specification for full details on
408 the restrictions imposed on untrusted clients.
409
410 GatewayPorts
411 Specifies whether remote hosts are allowed to connect to local
412 forwarded ports. By default, ssh(1) binds local port forwardings
413 to the loopback address. This prevents other remote hosts from
414 connecting to forwarded ports. GatewayPorts can be used to
415 specify that ssh should bind local port forwardings to the
416 wildcard address, thus allowing remote hosts to connect to
417 forwarded ports. The argument must be yes or no (the default).
418
419 GlobalKnownHostsFile
420 Specifies one or more files to use for the global host key
421 database, separated by whitespace. The default is
422 /etc/ssh/ssh_known_hosts, /etc/ssh/ssh_known_hosts2.
423
424 GSSAPIAuthentication
425 Specifies whether user authentication based on GSSAPI is allowed.
426 The default is no.
427
428 GSSAPIDelegateCredentials
429 Forward (delegate) credentials to the server. The default is no.
430
431 HashKnownHosts
432 Indicates that ssh(1) should hash host names and addresses when
433 they are added to ~/.ssh/known_hosts. These hashed names may be
434 used normally by ssh(1) and sshd(8), but they do not reveal
435 identifying information should the file's contents be disclosed.
436 The default is no. Note that existing names and addresses in
437 known hosts files will not be converted automatically, but may be
438 manually hashed using ssh-keygen(1).
439
440 HostbasedAuthentication
441 Specifies whether to try rhosts based authentication with public
442 key authentication. The argument must be yes or no (the
443 default).
444
445 HostbasedKeyTypes
446 Specifies the key types that will be used for hostbased
447 authentication as a comma-separated list of patterns.
448 Alternately if the specified value begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
449 then the specified key types will be appended to the default set
450 instead of replacing them. If the specified value begins with a
451 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
452 will be removed from the default set instead of replacing them.
453 The default for this option is:
454
455 ecdsa-sha2-nistp256-cert-v01@openssh.com,
456 ecdsa-sha2-nistp384-cert-v01@openssh.com,
457 ecdsa-sha2-nistp521-cert-v01@openssh.com,
458 ssh-ed25519-cert-v01@openssh.com,
459 rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,
460 ssh-rsa-cert-v01@openssh.com,
461 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
462 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
463
464 The -Q option of ssh(1) may be used to list supported key types.
465
466 HostKeyAlgorithms
467 Specifies the host key algorithms that the client wants to use in
468 order of preference. Alternately if the specified value begins
469 with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified key types will be
470 appended to the default set instead of replacing them. If the
471 specified value begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified
472 key types (including wildcards) will be removed from the default
473 set instead of replacing them. The default for this option is:
474
475 ecdsa-sha2-nistp256-cert-v01@openssh.com,
476 ecdsa-sha2-nistp384-cert-v01@openssh.com,
477 ecdsa-sha2-nistp521-cert-v01@openssh.com,
478 ssh-ed25519-cert-v01@openssh.com,
479 rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,
480 ssh-rsa-cert-v01@openssh.com,
481 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
482 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
483
484 If hostkeys are known for the destination host then this default
485 is modified to prefer their algorithms.
486
487 The list of available key types may also be obtained using "ssh
488 -Q key".
489
490 HostKeyAlias
491 Specifies an alias that should be used instead of the real host
492 name when looking up or saving the host key in the host key
493 database files and when validating host certificates. This
494 option is useful for tunneling SSH connections or for multiple
495 servers running on a single host.
496
497 HostName
498 Specifies the real host name to log into. This can be used to
499 specify nicknames or abbreviations for hosts. Arguments to
500 HostName accept the tokens described in the TOKENS section.
501 Numeric IP addresses are also permitted (both on the command line
502 and in HostName specifications). The default is the name given
503 on the command line.
504
505 IdentitiesOnly
506 Specifies that ssh(1) should only use the authentication identity
507 and certificate files explicitly configured in the ssh_config
508 files or passed on the ssh(1) command-line, even if ssh-agent(1)
509 or a PKCS11Provider offers more identities. The argument to this
510 keyword must be yes or no (the default). This option is intended
511 for situations where ssh-agent offers many different identities.
512
513 IdentityAgent
514 Specifies the UNIX-domain socket used to communicate with the
515 authentication agent.
516
517 This option overrides the SSH_AUTH_SOCK environment variable and
518 can be used to select a specific agent. Setting the socket name
519 to none disables the use of an authentication agent. If the
520 string "SSH_AUTH_SOCK" is specified, the location of the socket
521 will be read from the SSH_AUTH_SOCK environment variable.
522 Otherwise if the specified value begins with a M-bM-^@M-^X$M-bM-^@M-^Y character,
523 then it will be treated as an environment variable containing the
524 location of the socket.
525
526 Arguments to IdentityAgent may use the tilde syntax to refer to a
527 user's home directory or the tokens described in the TOKENS
528 section.
529
530 IdentityFile
531 Specifies a file from which the user's DSA, ECDSA, Ed25519 or RSA
532 authentication identity is read. The default is ~/.ssh/id_dsa,
533 ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and ~/.ssh/id_rsa.
534 Additionally, any identities represented by the authentication
535 agent will be used for authentication unless IdentitiesOnly is
536 set. If no certificates have been explicitly specified by
537 CertificateFile, ssh(1) will try to load certificate information
538 from the filename obtained by appending -cert.pub to the path of
539 a specified IdentityFile.
540
541 Arguments to IdentityFile may use the tilde syntax to refer to a
542 user's home directory or the tokens described in the TOKENS
543 section.
544
545 It is possible to have multiple identity files specified in
546 configuration files; all these identities will be tried in
547 sequence. Multiple IdentityFile directives will add to the list
548 of identities tried (this behaviour differs from that of other
549 configuration directives).
550
551 IdentityFile may be used in conjunction with IdentitiesOnly to
552 select which identities in an agent are offered during
553 authentication. IdentityFile may also be used in conjunction
554 with CertificateFile in order to provide any certificate also
555 needed for authentication with the identity.
556
557 IgnoreUnknown
558 Specifies a pattern-list of unknown options to be ignored if they
559 are encountered in configuration parsing. This may be used to
560 suppress errors if ssh_config contains options that are
561 unrecognised by ssh(1). It is recommended that IgnoreUnknown be
562 listed early in the configuration file as it will not be applied
563 to unknown options that appear before it.
564
565 Include
566 Include the specified configuration file(s). Multiple pathnames
567 may be specified and each pathname may contain glob(7) wildcards
568 and, for user configurations, shell-like M-bM-^@M-^X~M-bM-^@M-^Y references to user
569 home directories. Files without absolute paths are assumed to be
570 in ~/.ssh if included in a user configuration file or /etc/ssh if
571 included from the system configuration file. Include directive
572 may appear inside a Match or Host block to perform conditional
573 inclusion.
574
575 IPQoS Specifies the IPv4 type-of-service or DSCP class for connections.
576 Accepted values are af11, af12, af13, af21, af22, af23, af31,
577 af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3, cs4, cs5, cs6,
578 cs7, ef, lowdelay, throughput, reliability, a numeric value, or
579 none to use the operating system default. This option may take
580 one or two arguments, separated by whitespace. If one argument
581 is specified, it is used as the packet class unconditionally. If
582 two values are specified, the first is automatically selected for
583 interactive sessions and the second for non-interactive sessions.
584 The default is af21 (Low-Latency Data) for interactive sessions
585 and cs1 (Lower Effort) for non-interactive sessions.
586
587 KbdInteractiveAuthentication
588 Specifies whether to use keyboard-interactive authentication.
589 The argument to this keyword must be yes (the default) or no.
590
591 KbdInteractiveDevices
592 Specifies the list of methods to use in keyboard-interactive
593 authentication. Multiple method names must be comma-separated.
594 The default is to use the server specified list. The methods
595 available vary depending on what the server supports. For an
596 OpenSSH server, it may be zero or more of: bsdauth and pam.
597
598 KexAlgorithms
599 Specifies the available KEX (Key Exchange) algorithms. Multiple
600 algorithms must be comma-separated. Alternately if the specified
601 value begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified methods
602 will be appended to the default set instead of replacing them.
603 If the specified value begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the
604 specified methods (including wildcards) will be removed from the
605 default set instead of replacing them. The default is:
606
607 curve25519-sha256,curve25519-sha256@libssh.org,
608 ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
609 diffie-hellman-group-exchange-sha256,
610 diffie-hellman-group16-sha512,
611 diffie-hellman-group18-sha512,
612 diffie-hellman-group14-sha256,
613 diffie-hellman-group14-sha1
614
615 The list of available key exchange algorithms may also be
616 obtained using "ssh -Q kex".
617
618 LocalCommand
619 Specifies a command to execute on the local machine after
620 successfully connecting to the server. The command string
621 extends to the end of the line, and is executed with the user's
622 shell. Arguments to LocalCommand accept the tokens described in
623 the TOKENS section.
624
625 The command is run synchronously and does not have access to the
626 session of the ssh(1) that spawned it. It should not be used for
627 interactive commands.
628
629 This directive is ignored unless PermitLocalCommand has been
630 enabled.
631
632 LocalForward
633 Specifies that a TCP port on the local machine be forwarded over
634 the secure channel to the specified host and port from the remote
635 machine. The first argument must be [bind_address:]port and the
636 second argument must be host:hostport. IPv6 addresses can be
637 specified by enclosing addresses in square brackets. Multiple
638 forwardings may be specified, and additional forwardings can be
639 given on the command line. Only the superuser can forward
640 privileged ports. By default, the local port is bound in
641 accordance with the GatewayPorts setting. However, an explicit
642 bind_address may be used to bind the connection to a specific
643 address. The bind_address of localhost indicates that the
644 listening port be bound for local use only, while an empty
645 address or M-bM-^@M-^X*M-bM-^@M-^Y indicates that the port should be available from
646 all interfaces.
647
648 LogLevel
649 Gives the verbosity level that is used when logging messages from
650 ssh(1). The possible values are: QUIET, FATAL, ERROR, INFO,
651 VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
652 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
653 higher levels of verbose output.
654
655 MACs Specifies the MAC (message authentication code) algorithms in
656 order of preference. The MAC algorithm is used for data
657 integrity protection. Multiple algorithms must be comma-
658 separated. If the specified value begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
659 then the specified algorithms will be appended to the default set
660 instead of replacing them. If the specified value begins with a
661 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified algorithms (including
662 wildcards) will be removed from the default set instead of
663 replacing them.
664
665 The algorithms that contain "-etm" calculate the MAC after
666 encryption (encrypt-then-mac). These are considered safer and
667 their use recommended.
668
669 The default is:
670
671 umac-64-etm@openssh.com,umac-128-etm@openssh.com,
672 hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
673 hmac-sha1-etm@openssh.com,
674 umac-64@openssh.com,umac-128@openssh.com,
675 hmac-sha2-256,hmac-sha2-512,hmac-sha1
676
677 The list of available MAC algorithms may also be obtained using
678 "ssh -Q mac".
679
680 NoHostAuthenticationForLocalhost
681 Disable host authentication for localhost (loopback addresses).
682 The argument to this keyword must be yes or no (the default).
683
684 NumberOfPasswordPrompts
685 Specifies the number of password prompts before giving up. The
686 argument to this keyword must be an integer. The default is 3.
687
688 PasswordAuthentication
689 Specifies whether to use password authentication. The argument
690 to this keyword must be yes (the default) or no.
691
692 PermitLocalCommand
693 Allow local command execution via the LocalCommand option or
694 using the !command escape sequence in ssh(1). The argument must
695 be yes or no (the default).
696
697 PKCS11Provider
698 Specifies which PKCS#11 provider to use or none to indicate that
699 no provider should be used (the default). The argument to this
700 keyword is a path to the PKCS#11 shared library ssh(1) should use
701 to communicate with a PKCS#11 token providing keys for user
702 authentication.
703
704 Port Specifies the port number to connect on the remote host. The
705 default is 22.
706
707 PreferredAuthentications
708 Specifies the order in which the client should try authentication
709 methods. This allows a client to prefer one method (e.g.
710 keyboard-interactive) over another method (e.g. password). The
711 default is:
712
713 gssapi-with-mic,hostbased,publickey,
714 keyboard-interactive,password
715
716 ProxyCommand
717 Specifies the command to use to connect to the server. The
718 command string extends to the end of the line, and is executed
719 using the user's shell M-bM-^@M-^XexecM-bM-^@M-^Y directive to avoid a lingering
720 shell process.
721
722 Arguments to ProxyCommand accept the tokens described in the
723 TOKENS section. The command can be basically anything, and
724 should read from its standard input and write to its standard
725 output. It should eventually connect an sshd(8) server running
726 on some machine, or execute sshd -i somewhere. Host key
727 management will be done using the HostName of the host being
728 connected (defaulting to the name typed by the user). Setting
729 the command to none disables this option entirely. Note that
730 CheckHostIP is not available for connects with a proxy command.
731
732 This directive is useful in conjunction with nc(1) and its proxy
733 support. For example, the following directive would connect via
734 an HTTP proxy at 192.0.2.0:
735
736 ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
737
738 ProxyJump
739 Specifies one or more jump proxies as either [user@]host[:port]
740 or an ssh URI. Multiple proxies may be separated by comma
741 characters and will be visited sequentially. Setting this option
742 will cause ssh(1) to connect to the target host by first making a
743 ssh(1) connection to the specified ProxyJump host and then
744 establishing a TCP forwarding to the ultimate target from there.
745
746 Note that this option will compete with the ProxyCommand option -
747 whichever is specified first will prevent later instances of the
748 other from taking effect.
749
750 Note also that the configuration for the destination host (either
751 supplied via the command-line or the configuration file) is not
752 generally applied to jump hosts. ~/.ssh/config should be used if
753 specific configuration is required for jump hosts.
754
755 ProxyUseFdpass
756 Specifies that ProxyCommand will pass a connected file descriptor
757 back to ssh(1) instead of continuing to execute and pass data.
758 The default is no.
759
760 PubkeyAcceptedKeyTypes
761 Specifies the key types that will be used for public key
762 authentication as a comma-separated list of patterns.
763 Alternately if the specified value begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
764 then the key types after it will be appended to the default
765 instead of replacing it. If the specified value begins with a
766 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
767 will be removed from the default set instead of replacing them.
768 The default for this option is:
769
770 ecdsa-sha2-nistp256-cert-v01@openssh.com,
771 ecdsa-sha2-nistp384-cert-v01@openssh.com,
772 ecdsa-sha2-nistp521-cert-v01@openssh.com,
773 ssh-ed25519-cert-v01@openssh.com,
774 rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,
775 ssh-rsa-cert-v01@openssh.com,
776 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
777 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
778
779 The list of available key types may also be obtained using "ssh
780 -Q key".
781
782 PubkeyAuthentication
783 Specifies whether to try public key authentication. The argument
784 to this keyword must be yes (the default) or no.
785
786 RekeyLimit
787 Specifies the maximum amount of data that may be transmitted
788 before the session key is renegotiated, optionally followed a
789 maximum amount of time that may pass before the session key is
790 renegotiated. The first argument is specified in bytes and may
791 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,
792 Megabytes, or Gigabytes, respectively. The default is between
793 M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second
794 value is specified in seconds and may use any of the units
795 documented in the TIME FORMATS section of sshd_config(5). The
796 default value for RekeyLimit is default none, which means that
797 rekeying is performed after the cipher's default amount of data
798 has been sent or received and no time based rekeying is done.
799
800 RemoteCommand
801 Specifies a command to execute on the remote machine after
802 successfully connecting to the server. The command string
803 extends to the end of the line, and is executed with the user's
804 shell. Arguments to RemoteCommand accept the tokens described in
805 the TOKENS section.
806
807 RemoteForward
808 Specifies that a TCP port on the remote machine be forwarded over
809 the secure channel. The remote port may either be forwarded to a
810 specified host and port from the local machine, or may act as a
811 SOCKS 4/5 proxy that allows a remote client to connect to
812 arbitrary destinations from the local machine. The first
813 argument must be [bind_address:]port If forwarding to a specific
814 destination then the second argument must be host:hostport,
815 otherwise if no destination argument is specified then the remote
816 forwarding will be established as a SOCKS proxy.
817
818 IPv6 addresses can be specified by enclosing addresses in square
819 brackets. Multiple forwardings may be specified, and additional
820 forwardings can be given on the command line. Privileged ports
821 can be forwarded only when logging in as root on the remote
822 machine.
823
824 If the port argument is 0, the listen port will be dynamically
825 allocated on the server and reported to the client at run time.
826
827 If the bind_address is not specified, the default is to only bind
828 to loopback addresses. If the bind_address is M-bM-^@M-^X*M-bM-^@M-^Y or an empty
829 string, then the forwarding is requested to listen on all
830 interfaces. Specifying a remote bind_address will only succeed
831 if the server's GatewayPorts option is enabled (see
832 sshd_config(5)).
833
834 RequestTTY
835 Specifies whether to request a pseudo-tty for the session. The
836 argument may be one of: no (never request a TTY), yes (always
837 request a TTY when standard input is a TTY), force (always
838 request a TTY) or auto (request a TTY when opening a login
839 session). This option mirrors the -t and -T flags for ssh(1).
840
841 RevokedHostKeys
842 Specifies revoked host public keys. Keys listed in this file
843 will be refused for host authentication. Note that if this file
844 does not exist or is not readable, then host authentication will
845 be refused for all hosts. Keys may be specified as a text file,
846 listing one public key per line, or as an OpenSSH Key Revocation
847 List (KRL) as generated by ssh-keygen(1). For more information
848 on KRLs, see the KEY REVOCATION LISTS section in ssh-keygen(1).
849
850 SendEnv
851 Specifies what variables from the local environ(7) should be sent
852 to the server. The server must also support it, and the server
853 must be configured to accept these environment variables. Note
854 that the TERM environment variable is always sent whenever a
855 pseudo-terminal is requested as it is required by the protocol.
856 Refer to AcceptEnv in sshd_config(5) for how to configure the
857 server. Variables are specified by name, which may contain
858 wildcard characters. Multiple environment variables may be
859 separated by whitespace or spread across multiple SendEnv
860 directives.
861
862 See PATTERNS for more information on patterns.
863
864 It is possible to clear previously set SendEnv variable names by
865 prefixing patterns with -. The default is not to send any
866 environment variables.
867
868 ServerAliveCountMax
869 Sets the number of server alive messages (see below) which may be
870 sent without ssh(1) receiving any messages back from the server.
871 If this threshold is reached while server alive messages are
872 being sent, ssh will disconnect from the server, terminating the
873 session. It is important to note that the use of server alive
874 messages is very different from TCPKeepAlive (below). The server
875 alive messages are sent through the encrypted channel and
876 therefore will not be spoofable. The TCP keepalive option
877 enabled by TCPKeepAlive is spoofable. The server alive mechanism
878 is valuable when the client or server depend on knowing when a
879 connection has become inactive.
880
881 The default value is 3. If, for example, ServerAliveInterval
882 (see below) is set to 15 and ServerAliveCountMax is left at the
883 default, if the server becomes unresponsive, ssh will disconnect
884 after approximately 45 seconds.
885
886 ServerAliveInterval
887 Sets a timeout interval in seconds after which if no data has
888 been received from the server, ssh(1) will send a message through
889 the encrypted channel to request a response from the server. The
890 default is 0, indicating that these messages will not be sent to
891 the server.
892
893 SetEnv Directly specify one or more environment variables and their
894 contents to be sent to the server. Similarly to SendEnv, the
895 server must be prepared to accept the environment variable.
896
897 StreamLocalBindMask
898 Sets the octal file creation mode mask (umask) used when creating
899 a Unix-domain socket file for local or remote port forwarding.
900 This option is only used for port forwarding to a Unix-domain
901 socket file.
902
903 The default value is 0177, which creates a Unix-domain socket
904 file that is readable and writable only by the owner. Note that
905 not all operating systems honor the file mode on Unix-domain
906 socket files.
907
908 StreamLocalBindUnlink
909 Specifies whether to remove an existing Unix-domain socket file
910 for local or remote port forwarding before creating a new one.
911 If the socket file already exists and StreamLocalBindUnlink is
912 not enabled, ssh will be unable to forward the port to the Unix-
913 domain socket file. This option is only used for port forwarding
914 to a Unix-domain socket file.
915
916 The argument must be yes or no (the default).
917
918 StrictHostKeyChecking
919 If this flag is set to yes, ssh(1) will never automatically add
920 host keys to the ~/.ssh/known_hosts file, and refuses to connect
921 to hosts whose host key has changed. This provides maximum
922 protection against man-in-the-middle (MITM) attacks, though it
923 can be annoying when the /etc/ssh/ssh_known_hosts file is poorly
924 maintained or when connections to new hosts are frequently made.
925 This option forces the user to manually add all new hosts.
926
927 If this flag is set to M-bM-^@M-^\accept-newM-bM-^@M-^] then ssh will automatically
928 add new host keys to the user known hosts files, but will not
929 permit connections to hosts with changed host keys. If this flag
930 is set to M-bM-^@M-^\noM-bM-^@M-^] or M-bM-^@M-^\offM-bM-^@M-^], ssh will automatically add new host keys
931 to the user known hosts files and allow connections to hosts with
932 changed hostkeys to proceed, subject to some restrictions. If
933 this flag is set to ask (the default), new host keys will be
934 added to the user known host files only after the user has
935 confirmed that is what they really want to do, and ssh will
936 refuse to connect to hosts whose host key has changed. The host
937 keys of known hosts will be verified automatically in all cases.
938
939 SyslogFacility
940 Gives the facility code that is used when logging messages from
941 ssh(1). The possible values are: DAEMON, USER, AUTH, LOCAL0,
942 LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The
943 default is USER.
944
945 TCPKeepAlive
946 Specifies whether the system should send TCP keepalive messages
947 to the other side. If they are sent, death of the connection or
948 crash of one of the machines will be properly noticed. However,
949 this means that connections will die if the route is down
950 temporarily, and some people find it annoying.
951
952 The default is yes (to send TCP keepalive messages), and the
953 client will notice if the network goes down or the remote host
954 dies. This is important in scripts, and many users want it too.
955
956 To disable TCP keepalive messages, the value should be set to no.
957 See also ServerAliveInterval for protocol-level keepalives.
958
959 Tunnel Request tun(4) device forwarding between the client and the
960 server. The argument must be yes, point-to-point (layer 3),
961 ethernet (layer 2), or no (the default). Specifying yes requests
962 the default tunnel mode, which is point-to-point.
963
964 TunnelDevice
965 Specifies the tun(4) devices to open on the client (local_tun)
966 and the server (remote_tun).
967
968 The argument must be local_tun[:remote_tun]. The devices may be
969 specified by numerical ID or the keyword any, which uses the next
970 available tunnel device. If remote_tun is not specified, it
971 defaults to any. The default is any:any.
972
973 UpdateHostKeys
974 Specifies whether ssh(1) should accept notifications of
975 additional hostkeys from the server sent after authentication has
976 completed and add them to UserKnownHostsFile. The argument must
977 be yes, no (the default) or ask. Enabling this option allows
978 learning alternate hostkeys for a server and supports graceful
979 key rotation by allowing a server to send replacement public keys
980 before old ones are removed. Additional hostkeys are only
981 accepted if the key used to authenticate the host was already
982 trusted or explicitly accepted by the user. If UpdateHostKeys is
983 set to ask, then the user is asked to confirm the modifications
984 to the known_hosts file. Confirmation is currently incompatible
985 with ControlPersist, and will be disabled if it is enabled.
986
987 Presently, only sshd(8) from OpenSSH 6.8 and greater support the
988 "hostkeys@openssh.com" protocol extension used to inform the
989 client of all the server's hostkeys.
990
991 User Specifies the user to log in as. This can be useful when a
992 different user name is used on different machines. This saves
993 the trouble of having to remember to give the user name on the
994 command line.
995
996 UserKnownHostsFile
997 Specifies one or more files to use for the user host key
998 database, separated by whitespace. The default is
999 ~/.ssh/known_hosts, ~/.ssh/known_hosts2.
1000
1001 VerifyHostKeyDNS
1002 Specifies whether to verify the remote key using DNS and SSHFP
1003 resource records. If this option is set to yes, the client will
1004 implicitly trust keys that match a secure fingerprint from DNS.
1005 Insecure fingerprints will be handled as if this option was set
1006 to ask. If this option is set to ask, information on fingerprint
1007 match will be displayed, but the user will still need to confirm
1008 new host keys according to the StrictHostKeyChecking option. The
1009 default is no.
1010
1011 See also VERIFYING HOST KEYS in ssh(1).
1012
1013 VisualHostKey
1014 If this flag is set to yes, an ASCII art representation of the
1015 remote host key fingerprint is printed in addition to the
1016 fingerprint string at login and for unknown host keys. If this
1017 flag is set to no (the default), no fingerprint strings are
1018 printed at login and only the fingerprint string will be printed
1019 for unknown host keys.
1020
1021 XAuthLocation
1022 Specifies the full pathname of the xauth(1) program. The default
1023 is /usr/X11R6/bin/xauth.
1024
1025PATTERNS
1026 A pattern consists of zero or more non-whitespace characters, M-bM-^@M-^X*M-bM-^@M-^Y (a
1027 wildcard that matches zero or more characters), or M-bM-^@M-^X?M-bM-^@M-^Y (a wildcard that
1028 matches exactly one character). For example, to specify a set of
1029 declarations for any host in the ".co.uk" set of domains, the following
1030 pattern could be used:
1031
1032 Host *.co.uk
1033
1034 The following pattern would match any host in the 192.168.0.[0-9] network
1035 range:
1036
1037 Host 192.168.0.?
1038
1039 A pattern-list is a comma-separated list of patterns. Patterns within
1040 pattern-lists may be negated by preceding them with an exclamation mark
1041 (M-bM-^@M-^X!M-bM-^@M-^Y). For example, to allow a key to be used from anywhere within an
1042 organization except from the "dialup" pool, the following entry (in
1043 authorized_keys) could be used:
1044
1045 from="!*.dialup.example.com,*.example.com"
1046
1047 Note that a negated match will never produce a positive result by itself.
1048 For example, attempting to match "host3" against the following pattern-
1049 list will fail:
1050
1051 from="!host1,!host2"
1052
1053 The solution here is to include a term that will yield a positive match,
1054 such as a wildcard:
1055
1056 from="!host1,!host2,*"
1057
1058TOKENS
1059 Arguments to some keywords can make use of tokens, which are expanded at
1060 runtime:
1061
1062 %% A literal M-bM-^@M-^X%M-bM-^@M-^Y.
1063 %C Hash of %l%h%p%r.
1064 %d Local user's home directory.
1065 %h The remote hostname.
1066 %i The local user ID.
1067 %L The local hostname.
1068 %l The local hostname, including the domain name.
1069 %n The original remote hostname, as given on the command line.
1070 %p The remote port.
1071 %r The remote username.
1072 %T The local tun(4) or tap(4) network interface assigned if
1073 tunnel forwarding was requested, or "NONE" otherwise.
1074 %u The local username.
1075
1076 Match exec accepts the tokens %%, %h, %i, %L, %l, %n, %p, %r, and %u.
1077
1078 CertificateFile accepts the tokens %%, %d, %h, %i, %l, %r, and %u.
1079
1080 ControlPath accepts the tokens %%, %C, %h, %i, %L, %l, %n, %p, %r, and
1081 %u.
1082
1083 HostName accepts the tokens %% and %h.
1084
1085 IdentityAgent and IdentityFile accept the tokens %%, %d, %h, %i, %l, %r,
1086 and %u.
1087
1088 LocalCommand accepts the tokens %%, %C, %d, %h, %i, %l, %n, %p, %r, %T,
1089 and %u.
1090
1091 ProxyCommand accepts the tokens %%, %h, %p, and %r.
1092
1093 RemoteCommand accepts the tokens %%, %C, %d, %h, %i, %l, %n, %p, %r, and
1094 %u.
1095
1096FILES
1097 ~/.ssh/config
1098 This is the per-user configuration file. The format of this file
1099 is described above. This file is used by the SSH client.
1100 Because of the potential for abuse, this file must have strict
1101 permissions: read/write for the user, and not writable by others.
1102
1103 /etc/ssh/ssh_config
1104 Systemwide configuration file. This file provides defaults for
1105 those values that are not specified in the user's configuration
1106 file, and for those users who do not have a configuration file.
1107 This file must be world-readable.
1108
1109SEE ALSO
1110 ssh(1)
1111
1112AUTHORS
1113 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1114 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1115 de Raadt and Dug Song removed many bugs, re-added newer features and
1116 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1117 versions 1.5 and 2.0.
1118
1119OpenBSD 6.5 March 1, 2019 OpenBSD 6.5
diff --git a/sshd.0 b/sshd.0
new file mode 100644
index 000000000..da8539aef
--- /dev/null
+++ b/sshd.0
@@ -0,0 +1,653 @@
1SSHD(8) System Manager's Manual SSHD(8)
2
3NAME
4 sshd M-bM-^@M-^S OpenSSH SSH 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 security 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, currently 128-bit
134 AES, Blowfish, 3DES, CAST128, Arcfour, 192-bit AES, or 256-bit AES. The
135 client selects the encryption algorithm to use from those offered by the
136 server. Additionally, session integrity is provided through a
137 cryptographic message authentication code (hmac-md5, hmac-sha1, umac-64,
138 umac-128, hmac-sha2-256 or hmac-sha2-512).
139
140 Finally, the server and the client enter an authentication dialog. The
141 client tries to authenticate itself using host-based authentication,
142 public key authentication, challenge-response authentication, or password
143 authentication.
144
145 Regardless of the authentication type, the account is checked to ensure
146 that it is accessible. An account is not accessible if it is locked,
147 listed in DenyUsers or its group is listed in DenyGroups . The
148 definition of a locked account is system dependent. Some platforms have
149 their own account database (eg AIX) and some modify the passwd field (
150 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
151 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
152 Linuxes). If there is a requirement to disable password authentication
153 for the account while allowing still public-key, then the passwd field
154 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 ).
155
156 If the client successfully authenticates itself, a dialog for preparing
157 the session is entered. At this time the client may request things like
158 allocating a pseudo-tty, forwarding X11 connections, forwarding TCP
159 connections, or forwarding the authentication agent connection over the
160 secure channel.
161
162 After this, the client either requests a shell or execution of a command.
163 The sides then enter session mode. In this mode, either side may send
164 data at any time, and such data is forwarded to/from the shell or command
165 on the server side, and the user terminal in the client side.
166
167 When the user program terminates and all forwarded X11 and other
168 connections have been closed, the server sends command exit status to the
169 client, and both sides exit.
170
171LOGIN PROCESS
172 When a user successfully logs in, sshd does the following:
173
174 1. If the login is on a tty, and no command has been specified,
175 prints last login time and /etc/motd (unless prevented in the
176 configuration file or by ~/.hushlogin; see the FILES section).
177
178 2. If the login is on a tty, records login time.
179
180 3. Checks /etc/nologin; if it exists, prints contents and quits
181 (unless root).
182
183 4. Changes to run with normal user privileges.
184
185 5. Sets up basic environment.
186
187 6. Reads the file ~/.ssh/environment, if it exists, and users are
188 allowed to change their environment. See the
189 PermitUserEnvironment option in sshd_config(5).
190
191 7. Changes to user's home directory.
192
193 8. If ~/.ssh/rc exists and the sshd_config(5) PermitUserRC option
194 is set, runs it; else if /etc/ssh/sshrc exists, runs it;
195 otherwise runs xauth. The M-bM-^@M-^\rcM-bM-^@M-^] files are given the X11
196 authentication protocol and cookie in standard input. See
197 SSHRC, below.
198
199 9. Runs user's shell or command. All commands are run under the
200 user's login shell as specified in the system password
201 database.
202
203SSHRC
204 If the file ~/.ssh/rc exists, sh(1) runs it after reading the environment
205 files but before starting the user's shell or command. It must not
206 produce any output on stdout; stderr must be used instead. If X11
207 forwarding is in use, it will receive the "proto cookie" pair in its
208 standard input (and DISPLAY in its environment). The script must call
209 xauth(1) because sshd will not run xauth automatically to add X11
210 cookies.
211
212 The primary purpose of this file is to run any initialization routines
213 which may be needed before the user's home directory becomes accessible;
214 AFS is a particular example of such an environment.
215
216 This file will probably contain some initialization code followed by
217 something similar to:
218
219 if read proto cookie && [ -n "$DISPLAY" ]; then
220 if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
221 # X11UseLocalhost=yes
222 echo add unix:`echo $DISPLAY |
223 cut -c11-` $proto $cookie
224 else
225 # X11UseLocalhost=no
226 echo add $DISPLAY $proto $cookie
227 fi | xauth -q -
228 fi
229
230 If this file does not exist, /etc/ssh/sshrc is run, and if that does not
231 exist either, xauth is used to add the cookie.
232
233AUTHORIZED_KEYS FILE FORMAT
234 AuthorizedKeysFile specifies the files containing public keys for public
235 key authentication; if this option is not specified, the default is
236 ~/.ssh/authorized_keys and ~/.ssh/authorized_keys2. Each line of the
237 file contains one key (empty lines and lines starting with a M-bM-^@M-^X#M-bM-^@M-^Y are
238 ignored as comments). Public keys consist of the following space-
239 separated fields: options, keytype, base64-encoded key, comment. The
240 options field is optional. The keytype is M-bM-^@M-^\ecdsa-sha2-nistp256M-bM-^@M-^],
241 M-bM-^@M-^\ecdsa-sha2-nistp384M-bM-^@M-^], M-bM-^@M-^\ecdsa-sha2-nistp521M-bM-^@M-^], M-bM-^@M-^\ssh-ed25519M-bM-^@M-^], M-bM-^@M-^\ssh-dssM-bM-^@M-^] or
242 M-bM-^@M-^\ssh-rsaM-bM-^@M-^]; the comment field is not used for anything (but may be
243 convenient for the user to identify the key).
244
245 Note that lines in this file can be several hundred bytes long (because
246 of the size of the public key encoding) up to a limit of 8 kilobytes,
247 which permits DSA keys up to 8 kilobits and RSA keys up to 16 kilobits.
248 You don't want to type them in; instead, copy the id_dsa.pub,
249 id_ecdsa.pub, id_ed25519.pub, or the id_rsa.pub file and edit it.
250
251 sshd enforces a minimum RSA key modulus size of 1024 bits.
252
253 The options (if present) consist of comma-separated option
254 specifications. No spaces are permitted, except within double quotes.
255 The following option specifications are supported (note that option
256 keywords are case-insensitive):
257
258 agent-forwarding
259 Enable authentication agent forwarding previously disabled by the
260 restrict option.
261
262 cert-authority
263 Specifies that the listed key is a certification authority (CA)
264 that is trusted to validate signed certificates for user
265 authentication.
266
267 Certificates may encode access restrictions similar to these key
268 options. If both certificate restrictions and key options are
269 present, the most restrictive union of the two is applied.
270
271 command="command"
272 Specifies that the command is executed whenever this key is used
273 for authentication. The command supplied by the user (if any) is
274 ignored. The command is run on a pty if the client requests a
275 pty; otherwise it is run without a tty. If an 8-bit clean
276 channel is required, one must not request a pty or should specify
277 no-pty. A quote may be included in the command by quoting it
278 with a backslash.
279
280 This option might be useful to restrict certain public keys to
281 perform just a specific operation. An example might be a key
282 that permits remote backups but nothing else. Note that the
283 client may specify TCP and/or X11 forwarding unless they are
284 explicitly prohibited, e.g. using the restrict key option.
285
286 The command originally supplied by the client is available in the
287 SSH_ORIGINAL_COMMAND environment variable. Note that this option
288 applies to shell, command or subsystem execution. Also note that
289 this command may be superseded by a sshd_config(5) ForceCommand
290 directive.
291
292 If a command is specified and a forced-command is embedded in a
293 certificate used for authentication, then the certificate will be
294 accepted only if the two commands are identical.
295
296 environment="NAME=value"
297 Specifies that the string is to be added to the environment when
298 logging in using this key. Environment variables set this way
299 override other default environment values. Multiple options of
300 this type are permitted. Environment processing is disabled by
301 default and is controlled via the PermitUserEnvironment option.
302
303 expiry-time="timespec"
304 Specifies a time after which the key will not be accepted. The
305 time may be specified as a YYYYMMDD date or a YYYYMMDDHHMM[SS]
306 time in the system time-zone.
307
308 from="pattern-list"
309 Specifies that in addition to public key authentication, either
310 the canonical name of the remote host or its IP address must be
311 present in the comma-separated list of patterns. See PATTERNS in
312 ssh_config(5) for more information on patterns.
313
314 In addition to the wildcard matching that may be applied to
315 hostnames or addresses, a from stanza may match IP addresses
316 using CIDR address/masklen notation.
317
318 The purpose of this option is to optionally increase security:
319 public key authentication by itself does not trust the network or
320 name servers or anything (but the key); however, if somebody
321 somehow steals the key, the key permits an intruder to log in
322 from anywhere in the world. This additional option makes using a
323 stolen key more difficult (name servers and/or routers would have
324 to be compromised in addition to just the key).
325
326 no-agent-forwarding
327 Forbids authentication agent forwarding when this key is used for
328 authentication.
329
330 no-port-forwarding
331 Forbids TCP forwarding when this key is used for authentication.
332 Any port forward requests by the client will return an error.
333 This might be used, e.g. in connection with the command option.
334
335 no-pty Prevents tty allocation (a request to allocate a pty will fail).
336
337 no-user-rc
338 Disables execution of ~/.ssh/rc.
339
340 no-X11-forwarding
341 Forbids X11 forwarding when this key is used for authentication.
342 Any X11 forward requests by the client will return an error.
343
344 permitlisten="[host:]port"
345 Limit remote port forwarding with the ssh(1) -R option such that
346 it may only listen on the specified host (optional) and port.
347 IPv6 addresses can be specified by enclosing the address in
348 square brackets. Multiple permitlisten options may be applied
349 separated by commas. Hostnames may include wildcards as
350 described in the PATTERNS section in ssh_config(5). A port
351 specification of * matches any port. Note that the setting of
352 GatewayPorts may further restrict listen addresses. Note that
353 ssh(1) will send a hostname of M-bM-^@M-^\localhostM-bM-^@M-^] if a listen host was
354 not specified when the forwarding was requested, and that this
355 name is treated differently to the explicit localhost addresses
356 M-bM-^@M-^\127.0.0.1M-bM-^@M-^] and M-bM-^@M-^\::1M-bM-^@M-^].
357
358 permitopen="host:port"
359 Limit local port forwarding with the ssh(1) -L option such that
360 it may only connect to the specified host and port. IPv6
361 addresses can be specified by enclosing the address in square
362 brackets. Multiple permitopen options may be applied separated
363 by commas. No pattern matching is performed on the specified
364 hostnames, they must be literal domains or addresses. A port
365 specification of * matches any port.
366
367 port-forwarding
368 Enable port forwarding previously disabled by the restrict
369 option.
370
371 principals="principals"
372 On a cert-authority line, specifies allowed principals for
373 certificate authentication as a comma-separated list. At least
374 one name from the list must appear in the certificate's list of
375 principals for the certificate to be accepted. This option is
376 ignored for keys that are not marked as trusted certificate
377 signers using the cert-authority option.
378
379 pty Permits tty allocation previously disabled by the restrict
380 option.
381
382 restrict
383 Enable all restrictions, i.e. disable port, agent and X11
384 forwarding, as well as disabling PTY allocation and execution of
385 ~/.ssh/rc. If any future restriction capabilities are added to
386 authorized_keys files they will be included in this set.
387
388 tunnel="n"
389 Force a tun(4) device on the server. Without this option, the
390 next available device will be used if the client requests a
391 tunnel.
392
393 user-rc
394 Enables execution of ~/.ssh/rc previously disabled by the
395 restrict option.
396
397 X11-forwarding
398 Permits X11 forwarding previously disabled by the restrict
399 option.
400
401 An example authorized_keys file:
402
403 # Comments allowed at start of line
404 ssh-rsa AAAAB3Nza...LiPk== user@example.net
405 from="*.sales.example.net,!pc.sales.example.net" ssh-rsa
406 AAAAB2...19Q== john@example.net
407 command="dump /home",no-pty,no-port-forwarding ssh-rsa
408 AAAAC3...51R== example.net
409 permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-rsa
410 AAAAB5...21S==
411 permitlisten="localhost:8080",permitopen="localhost:22000" ssh-rsa
412 AAAAB5...21S==
413 tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAA...==
414 jane@example.net
415 restrict,command="uptime" ssh-rsa AAAA1C8...32Tv==
416 user@example.net
417 restrict,pty,command="nethack" ssh-rsa AAAA1f8...IrrC5==
418 user@example.net
419
420SSH_KNOWN_HOSTS FILE FORMAT
421 The /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts files contain host
422 public keys for all known hosts. The global file should be prepared by
423 the administrator (optional), and the per-user file is maintained
424 automatically: whenever the user connects to an unknown host, its key is
425 added to the per-user file.
426
427 Each line in these files contains the following fields: markers
428 (optional), hostnames, keytype, base64-encoded key, comment. The fields
429 are separated by spaces.
430
431 The marker is optional, but if it is present then it must be one of
432 M-bM-^@M-^\@cert-authorityM-bM-^@M-^], to indicate that the line contains a certification
433 authority (CA) key, or M-bM-^@M-^\@revokedM-bM-^@M-^], to indicate that the key contained on
434 the line is revoked and must not ever be accepted. Only one marker
435 should be used on a key line.
436
437 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
438 wildcards); each pattern in turn is matched against the host name. When
439 sshd is authenticating a client, such as when using
440 HostbasedAuthentication, this will be the canonical client host name.
441 When ssh(1) is authenticating a server, this will be the host name given
442 by the user, the value of the ssh(1) HostkeyAlias if it was specified, or
443 the canonical server hostname if the ssh(1) CanonicalizeHostname option
444 was used.
445
446 A pattern may also be preceded by M-bM-^@M-^X!M-bM-^@M-^Y to indicate negation: if the host
447 name matches a negated pattern, it is not accepted (by that line) even if
448 it matched another pattern on the line. A hostname or address may
449 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
450 and a non-standard port number.
451
452 Alternately, hostnames may be stored in a hashed form which hides host
453 names and addresses should the file's contents be disclosed. Hashed
454 hostnames start with a M-bM-^@M-^X|M-bM-^@M-^Y character. Only one hashed hostname may
455 appear on a single line and none of the above negation or wildcard
456 operators may be applied.
457
458 The keytype and base64-encoded key are taken directly from the host key;
459 they can be obtained, for example, from /etc/ssh/ssh_host_rsa_key.pub.
460 The optional comment field continues to the end of the line, and is not
461 used.
462
463 Lines starting with M-bM-^@M-^X#M-bM-^@M-^Y and empty lines are ignored as comments.
464
465 When performing host authentication, authentication is accepted if any
466 matching line has the proper key; either one that matches exactly or, if
467 the server has presented a certificate for authentication, the key of the
468 certification authority that signed the certificate. For a key to be
469 trusted as a certification authority, it must use the M-bM-^@M-^\@cert-authorityM-bM-^@M-^]
470 marker described above.
471
472 The known hosts file also provides a facility to mark keys as revoked,
473 for example when it is known that the associated private key has been
474 stolen. Revoked keys are specified by including the M-bM-^@M-^\@revokedM-bM-^@M-^] marker at
475 the beginning of the key line, and are never accepted for authentication
476 or as certification authorities, but instead will produce a warning from
477 ssh(1) when they are encountered.
478
479 It is permissible (but not recommended) to have several lines or
480 different host keys for the same names. This will inevitably happen when
481 short forms of host names from different domains are put in the file. It
482 is possible that the files contain conflicting information;
483 authentication is accepted if valid information can be found from either
484 file.
485
486 Note that the lines in these files are typically hundreds of characters
487 long, and you definitely don't want to type in the host keys by hand.
488 Rather, generate them by a script, ssh-keyscan(1) or by taking, for
489 example, /etc/ssh/ssh_host_rsa_key.pub and adding the host names at the
490 front. ssh-keygen(1) also offers some basic automated editing for
491 ~/.ssh/known_hosts including removing hosts matching a host name and
492 converting all host names to their hashed representations.
493
494 An example ssh_known_hosts file:
495
496 # Comments allowed at start of line
497 closenet,...,192.0.2.53 1024 37 159...93 closenet.example.net
498 cvs.example.net,192.0.2.10 ssh-rsa AAAA1234.....=
499 # A hashed hostname
500 |1|JfKTdBh7rNbXkVAQCRp4OQoPfmI=|USECr3SWf1JUPsms5AqfD5QfxkM= ssh-rsa
501 AAAA1234.....=
502 # A revoked key
503 @revoked * ssh-rsa AAAAB5W...
504 # A CA key, accepted for any host in *.mydomain.com or *.mydomain.org
505 @cert-authority *.mydomain.org,*.mydomain.com ssh-rsa AAAAB5W...
506
507FILES
508 ~/.hushlogin
509 This file is used to suppress printing the last login time and
510 /etc/motd, if PrintLastLog and PrintMotd, respectively, are
511 enabled. It does not suppress printing of the banner specified
512 by Banner.
513
514 ~/.rhosts
515 This file is used for host-based authentication (see ssh(1) for
516 more information). On some machines this file may need to be
517 world-readable if the user's home directory is on an NFS
518 partition, because sshd reads it as root. Additionally, this
519 file must be owned by the user, and must not have write
520 permissions for anyone else. The recommended permission for most
521 machines is read/write for the user, and not accessible by
522 others.
523
524 ~/.shosts
525 This file is used in exactly the same way as .rhosts, but allows
526 host-based authentication without permitting login with
527 rlogin/rsh.
528
529 ~/.ssh/
530 This directory is the default location for all user-specific
531 configuration and authentication information. There is no
532 general requirement to keep the entire contents of this directory
533 secret, but the recommended permissions are read/write/execute
534 for the user, and not accessible by others.
535
536 ~/.ssh/authorized_keys
537 Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used
538 for logging in as this user. The format of this file is
539 described above. The content of the file is not highly
540 sensitive, but the recommended permissions are read/write for the
541 user, and not accessible by others.
542
543 If this file, the ~/.ssh directory, or the user's home directory
544 are writable by other users, then the file could be modified or
545 replaced by unauthorized users. In this case, sshd will not
546 allow it to be used unless the StrictModes option has been set to
547 M-bM-^@M-^\noM-bM-^@M-^].
548
549 ~/.ssh/environment
550 This file is read into the environment at login (if it exists).
551 It can only contain empty lines, comment lines (that start with
552 M-bM-^@M-^X#M-bM-^@M-^Y), and assignment lines of the form name=value. The file
553 should be writable only by the user; it need not be readable by
554 anyone else. Environment processing is disabled by default and
555 is controlled via the PermitUserEnvironment option.
556
557 ~/.ssh/known_hosts
558 Contains a list of host keys for all hosts the user has logged
559 into that are not already in the systemwide list of known host
560 keys. The format of this file is described above. This file
561 should be writable only by root/the owner and can, but need not
562 be, world-readable.
563
564 ~/.ssh/rc
565 Contains initialization routines to be run before the user's home
566 directory becomes accessible. This file should be writable only
567 by the user, and need not be readable by anyone else.
568
569 /etc/hosts.equiv
570 This file is for host-based authentication (see ssh(1)). It
571 should only be writable by root.
572
573 /etc/moduli
574 Contains Diffie-Hellman groups used for the "Diffie-Hellman Group
575 Exchange" key exchange method. The file format is described in
576 moduli(5). If no usable groups are found in this file then fixed
577 internal groups will be used.
578
579 /etc/motd
580 See motd(5).
581
582 /etc/nologin
583 If this file exists, sshd refuses to let anyone except root log
584 in. The contents of the file are displayed to anyone trying to
585 log in, and non-root connections are refused. The file should be
586 world-readable.
587
588 /etc/shosts.equiv
589 This file is used in exactly the same way as hosts.equiv, but
590 allows host-based authentication without permitting login with
591 rlogin/rsh.
592
593 /etc/ssh/ssh_host_ecdsa_key
594 /etc/ssh/ssh_host_ed25519_key
595 /etc/ssh/ssh_host_rsa_key
596 These files contain the private parts of the host keys. These
597 files should only be owned by root, readable only by root, and
598 not accessible to others. Note that sshd does not start if these
599 files are group/world-accessible.
600
601 /etc/ssh/ssh_host_ecdsa_key.pub
602 /etc/ssh/ssh_host_ed25519_key.pub
603 /etc/ssh/ssh_host_rsa_key.pub
604 These files contain the public parts of the host keys. These
605 files should be world-readable but writable only by root. Their
606 contents should match the respective private parts. These files
607 are not really used for anything; they are provided for the
608 convenience of the user so their contents can be copied to known
609 hosts files. These files are created using ssh-keygen(1).
610
611 /etc/ssh/ssh_known_hosts
612 Systemwide list of known host keys. This file should be prepared
613 by the system administrator to contain the public host keys of
614 all machines in the organization. The format of this file is
615 described above. This file should be writable only by root/the
616 owner and should be world-readable.
617
618 /etc/ssh/sshd_config
619 Contains configuration data for sshd. The file format and
620 configuration options are described in sshd_config(5).
621
622 /etc/ssh/sshrc
623 Similar to ~/.ssh/rc, it can be used to specify machine-specific
624 login-time initializations globally. This file should be
625 writable only by root, and should be world-readable.
626
627 /var/empty
628 chroot(2) directory used by sshd during privilege separation in
629 the pre-authentication phase. The directory should not contain
630 any files and must be owned by root and not group or world-
631 writable.
632
633 /var/run/sshd.pid
634 Contains the process ID of the sshd listening for connections (if
635 there are several daemons running concurrently for different
636 ports, this contains the process ID of the one started last).
637 The content of this file is not sensitive; it can be world-
638 readable.
639
640SEE ALSO
641 scp(1), sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1),
642 ssh-keyscan(1), chroot(2), login.conf(5), moduli(5), sshd_config(5),
643 inetd(8), sftp-server(8)
644
645AUTHORS
646 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
647 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
648 de Raadt and Dug Song removed many bugs, re-added newer features and
649 created OpenSSH. Markus Friedl contributed the support for SSH protocol
650 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
651 for privilege separation.
652
653OpenBSD 6.5 July 22, 2018 OpenBSD 6.5
diff --git a/sshd_config.0 b/sshd_config.0
new file mode 100644
index 000000000..545b9a89c
--- /dev/null
+++ b/sshd_config.0
@@ -0,0 +1,1092 @@
1SSHD_CONFIG(5) File Formats Manual SSHD_CONFIG(5)
2
3NAME
4 sshd_config M-bM-^@M-^S OpenSSH SSH 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 directives are processed in the following
49 order: DenyUsers, AllowUsers, DenyGroups, and finally
50 AllowGroups.
51
52 See PATTERNS in ssh_config(5) for more information on patterns.
53
54 AllowStreamLocalForwarding
55 Specifies whether StreamLocal (Unix-domain socket) forwarding is
56 permitted. The available options are yes (the default) or all to
57 allow StreamLocal forwarding, no to prevent all StreamLocal
58 forwarding, local to allow local (from the perspective of ssh(1))
59 forwarding only or remote to allow remote forwarding only. Note
60 that disabling StreamLocal forwarding does not improve security
61 unless users are also denied shell access, as they can always
62 install their own forwarders.
63
64 AllowTcpForwarding
65 Specifies whether TCP forwarding is permitted. The available
66 options are yes (the default) or all to allow TCP forwarding, no
67 to prevent all TCP forwarding, local to allow local (from the
68 perspective of ssh(1)) forwarding only or remote to allow remote
69 forwarding only. Note that disabling TCP forwarding does not
70 improve security unless users are also denied shell access, as
71 they can always install their own forwarders.
72
73 AllowUsers
74 This keyword can be followed by a list of user name patterns,
75 separated by spaces. If specified, login is allowed only for
76 user names that match one of the patterns. Only user names are
77 valid; a numerical user ID is not recognized. By default, login
78 is allowed for all users. If the pattern takes the form
79 USER@HOST then USER and HOST are separately checked, restricting
80 logins to particular users from particular hosts. HOST criteria
81 may additionally contain addresses to match in CIDR
82 address/masklen format. The allow/deny directives are processed
83 in the following order: DenyUsers, AllowUsers, DenyGroups, and
84 finally AllowGroups.
85
86 See PATTERNS in ssh_config(5) for more information on patterns.
87
88 AuthenticationMethods
89 Specifies the authentication methods that must be successfully
90 completed for a user to be granted access. This option must be
91 followed by one or more lists of comma-separated authentication
92 method names, or by the single string any to indicate the default
93 behaviour of accepting any single authentication method. If the
94 default is overridden, then successful authentication requires
95 completion of every method in at least one of these lists.
96
97 For example, "publickey,password publickey,keyboard-interactive"
98 would require the user to complete public key authentication,
99 followed by either password or keyboard interactive
100 authentication. Only methods that are next in one or more lists
101 are offered at each stage, so for this example it would not be
102 possible to attempt password or keyboard-interactive
103 authentication before public key.
104
105 For keyboard interactive authentication it is also possible to
106 restrict authentication to a specific device by appending a colon
107 followed by the device identifier bsdauth or pam. depending on
108 the server configuration. For example,
109 "keyboard-interactive:bsdauth" would restrict keyboard
110 interactive authentication to the bsdauth device.
111
112 If the publickey method is listed more than once, sshd(8)
113 verifies that keys that have been used successfully are not
114 reused for subsequent authentications. For example,
115 "publickey,publickey" requires successful authentication using
116 two different public keys.
117
118 Note that each authentication method listed should also be
119 explicitly enabled in the configuration.
120
121 The available authentication methods are: "gssapi-with-mic",
122 "hostbased", "keyboard-interactive", "none" (used for access to
123 password-less accounts when PermitEmptyPasswords is enabled),
124 "password" and "publickey".
125
126 AuthorizedKeysCommand
127 Specifies a program to be used to look up the user's public keys.
128 The program must be owned by root, not writable by group or
129 others and specified by an absolute path. Arguments to
130 AuthorizedKeysCommand accept the tokens described in the TOKENS
131 section. If no arguments are specified then the username of the
132 target user is used.
133
134 The program should produce on standard output zero or more lines
135 of authorized_keys output (see AUTHORIZED_KEYS in sshd(8)). If a
136 key supplied by AuthorizedKeysCommand does not successfully
137 authenticate and authorize the user then public key
138 authentication continues using the usual AuthorizedKeysFile
139 files. By default, no AuthorizedKeysCommand is run.
140
141 AuthorizedKeysCommandUser
142 Specifies the user under whose account the AuthorizedKeysCommand
143 is run. It is recommended to use a dedicated user that has no
144 other role on the host than running authorized keys commands. If
145 AuthorizedKeysCommand is specified but AuthorizedKeysCommandUser
146 is not, then sshd(8) will refuse to start.
147
148 AuthorizedKeysFile
149 Specifies the file that contains the public keys used for user
150 authentication. The format is described in the AUTHORIZED_KEYS
151 FILE FORMAT section of sshd(8). Arguments to AuthorizedKeysFile
152 accept the tokens described in the TOKENS section. After
153 expansion, AuthorizedKeysFile is taken to be an absolute path or
154 one relative to the user's home directory. Multiple files may be
155 listed, separated by whitespace. Alternately this option may be
156 set to none to skip checking for user keys in files. The default
157 is ".ssh/authorized_keys .ssh/authorized_keys2".
158
159 AuthorizedPrincipalsCommand
160 Specifies a program to be used to generate the list of allowed
161 certificate principals as per AuthorizedPrincipalsFile. The
162 program must be owned by root, not writable by group or others
163 and specified by an absolute path. Arguments to
164 AuthorizedPrincipalsCommand accept the tokens described in the
165 TOKENS section. If no arguments are specified then the username
166 of the target user is used.
167
168 The program should produce on standard output zero or more lines
169 of AuthorizedPrincipalsFile output. If either
170 AuthorizedPrincipalsCommand or AuthorizedPrincipalsFile is
171 specified, then certificates offered by the client for
172 authentication must contain a principal that is listed. By
173 default, no AuthorizedPrincipalsCommand is run.
174
175 AuthorizedPrincipalsCommandUser
176 Specifies the user under whose account the
177 AuthorizedPrincipalsCommand is run. It is recommended to use a
178 dedicated user that has no other role on the host than running
179 authorized principals commands. If AuthorizedPrincipalsCommand
180 is specified but AuthorizedPrincipalsCommandUser is not, then
181 sshd(8) will refuse to start.
182
183 AuthorizedPrincipalsFile
184 Specifies a file that lists principal names that are accepted for
185 certificate authentication. When using certificates signed by a
186 key listed in TrustedUserCAKeys, this file lists names, one of
187 which must appear in the certificate for it to be accepted for
188 authentication. Names are listed one per line preceded by key
189 options (as described in AUTHORIZED_KEYS FILE FORMAT in sshd(8)).
190 Empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are ignored.
191
192 Arguments to AuthorizedPrincipalsFile accept the tokens described
193 in the TOKENS section. After expansion, AuthorizedPrincipalsFile
194 is taken to be an absolute path or one relative to the user's
195 home directory. The default is none, i.e. not to use a
196 principals file M-bM-^@M-^S in this case, the username of the user must
197 appear in a certificate's principals list for it to be accepted.
198
199 Note that AuthorizedPrincipalsFile is only used when
200 authentication proceeds using a CA listed in TrustedUserCAKeys
201 and is not consulted for certification authorities trusted via
202 ~/.ssh/authorized_keys, though the principals= key option offers
203 a similar facility (see sshd(8) for details).
204
205 Banner The contents of the specified file are sent to the remote user
206 before authentication is allowed. If the argument is none then
207 no banner is displayed. By default, no banner is displayed.
208
209 CASignatureAlgorithms
210 Specifies which algorithms are allowed for signing of
211 certificates by certificate authorities (CAs). The default is:
212
213 ecdsa-sha2-nistp256.ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
214 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
215
216 Certificates signed using other algorithms will not be accepted
217 for public key or host-based authentication.
218
219 ChallengeResponseAuthentication
220 Specifies whether challenge-response authentication is allowed
221 (e.g. via PAM or through authentication styles supported in
222 login.conf(5)) The default is yes.
223
224 ChrootDirectory
225 Specifies the pathname of a directory to chroot(2) to after
226 authentication. At session startup sshd(8) checks that all
227 components of the pathname are root-owned directories which are
228 not writable by any other user or group. After the chroot,
229 sshd(8) changes the working directory to the user's home
230 directory. Arguments to ChrootDirectory accept the tokens
231 described in the TOKENS section.
232
233 The ChrootDirectory must contain the necessary files and
234 directories to support the user's session. For an interactive
235 session this requires at least a shell, typically sh(1), and
236 basic /dev nodes such as null(4), zero(4), stdin(4), stdout(4),
237 stderr(4), and tty(4) devices. For file transfer sessions using
238 SFTP no additional configuration of the environment is necessary
239 if the in-process sftp-server is used, though sessions which use
240 logging may require /dev/log inside the chroot directory on some
241 operating systems (see sftp-server(8) for details).
242
243 For safety, it is very important that the directory hierarchy be
244 prevented from modification by other processes on the system
245 (especially those outside the jail). Misconfiguration can lead
246 to unsafe environments which sshd(8) cannot detect.
247
248 The default is none, indicating not to chroot(2).
249
250 Ciphers
251 Specifies the ciphers allowed. Multiple ciphers must be comma-
252 separated. If the specified value begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
253 then the specified ciphers will be appended to the default set
254 instead of replacing them. If the specified value begins with a
255 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified ciphers (including wildcards)
256 will be removed from the default set instead of replacing them.
257
258 The supported ciphers are:
259
260 3des-cbc
261 aes128-cbc
262 aes192-cbc
263 aes256-cbc
264 aes128-ctr
265 aes192-ctr
266 aes256-ctr
267 aes128-gcm@openssh.com
268 aes256-gcm@openssh.com
269 chacha20-poly1305@openssh.com
270
271 The default is:
272
273 chacha20-poly1305@openssh.com,
274 aes128-ctr,aes192-ctr,aes256-ctr,
275 aes128-gcm@openssh.com,aes256-gcm@openssh.com
276
277 The list of available ciphers may also be obtained using "ssh -Q
278 cipher".
279
280 ClientAliveCountMax
281 Sets the number of client alive messages which may be sent
282 without sshd(8) receiving any messages back from the client. If
283 this threshold is reached while client alive messages are being
284 sent, sshd will disconnect the client, terminating the session.
285 It is important to note that the use of client alive messages is
286 very different from TCPKeepAlive. The client alive messages are
287 sent through the encrypted channel and therefore will not be
288 spoofable. The TCP keepalive option enabled by TCPKeepAlive is
289 spoofable. The client alive mechanism is valuable when the
290 client or server depend on knowing when a connection has become
291 inactive.
292
293 The default value is 3. If ClientAliveInterval is set to 15, and
294 ClientAliveCountMax is left at the default, unresponsive SSH
295 clients will be disconnected after approximately 45 seconds.
296
297 ClientAliveInterval
298 Sets a timeout interval in seconds after which if no data has
299 been received from the client, sshd(8) will send a message
300 through the encrypted channel to request a response from the
301 client. The default is 0, indicating that these messages will
302 not be sent to the client.
303
304 Compression
305 Specifies whether compression is enabled after the user has
306 authenticated successfully. The argument must be yes, delayed (a
307 legacy synonym for yes) or no. The default is yes.
308
309 DenyGroups
310 This keyword can be followed by a list of group name patterns,
311 separated by spaces. Login is disallowed for users whose primary
312 group or supplementary group list matches one of the patterns.
313 Only group names are valid; a numerical group ID is not
314 recognized. By default, login is allowed for all groups. The
315 allow/deny directives are processed in the following order:
316 DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.
317
318 See PATTERNS in ssh_config(5) for more information on patterns.
319
320 DenyUsers
321 This keyword can be followed by a list of user name patterns,
322 separated by spaces. Login is disallowed for user names that
323 match one of the patterns. Only user names are valid; a
324 numerical user ID is not recognized. By default, login is
325 allowed for all users. If the pattern takes the form USER@HOST
326 then USER and HOST are separately checked, restricting logins to
327 particular users from particular hosts. HOST criteria may
328 additionally contain addresses to match in CIDR address/masklen
329 format. The allow/deny directives are processed in the following
330 order: DenyUsers, AllowUsers, DenyGroups, and finally
331 AllowGroups.
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 value 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 value 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 The default for this option is:
402
403 ecdsa-sha2-nistp256-cert-v01@openssh.com,
404 ecdsa-sha2-nistp384-cert-v01@openssh.com,
405 ecdsa-sha2-nistp521-cert-v01@openssh.com,
406 ssh-ed25519-cert-v01@openssh.com,
407 rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,
408 ssh-rsa-cert-v01@openssh.com,
409 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
410 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
411
412 The list of available key types may also be obtained using "ssh
413 -Q key".
414
415 HostbasedAuthentication
416 Specifies whether rhosts or /etc/hosts.equiv authentication
417 together with successful public key client host authentication is
418 allowed (host-based authentication). The default is no.
419
420 HostbasedUsesNameFromPacketOnly
421 Specifies whether or not the server will attempt to perform a
422 reverse name lookup when matching the name in the ~/.shosts,
423 ~/.rhosts, and /etc/hosts.equiv files during
424 HostbasedAuthentication. A setting of yes means that sshd(8)
425 uses the name supplied by the client rather than attempting to
426 resolve the name from the TCP connection itself. The default is
427 no.
428
429 HostCertificate
430 Specifies a file containing a public host certificate. The
431 certificate's public key must match a private host key already
432 specified by HostKey. The default behaviour of sshd(8) is not to
433 load any certificates.
434
435 HostKey
436 Specifies a file containing a private host key used by SSH. The
437 defaults are /etc/ssh/ssh_host_ecdsa_key,
438 /etc/ssh/ssh_host_ed25519_key and /etc/ssh/ssh_host_rsa_key.
439
440 Note that sshd(8) will refuse to use a file if it is group/world-
441 accessible and that the HostKeyAlgorithms option restricts which
442 of the keys are actually used by sshd(8).
443
444 It is possible to have multiple host key files. It is also
445 possible to specify public host key files instead. In this case
446 operations on the private key will be delegated to an
447 ssh-agent(1).
448
449 HostKeyAgent
450 Identifies the UNIX-domain socket used to communicate with an
451 agent that has access to the private host keys. If the string
452 "SSH_AUTH_SOCK" is specified, the location of the socket will be
453 read from the SSH_AUTH_SOCK environment variable.
454
455 HostKeyAlgorithms
456 Specifies the host key algorithms that the server offers. The
457 default for this option is:
458
459 ecdsa-sha2-nistp256-cert-v01@openssh.com,
460 ecdsa-sha2-nistp384-cert-v01@openssh.com,
461 ecdsa-sha2-nistp521-cert-v01@openssh.com,
462 ssh-ed25519-cert-v01@openssh.com,
463 rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,
464 ssh-rsa-cert-v01@openssh.com,
465 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
466 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
467
468 The list of available key types may also be obtained using "ssh
469 -Q key".
470
471 IgnoreRhosts
472 Specifies that .rhosts and .shosts files will not be used in
473 HostbasedAuthentication.
474
475 /etc/hosts.equiv and /etc/shosts.equiv are still used. The
476 default is yes.
477
478 IgnoreUserKnownHosts
479 Specifies whether sshd(8) should ignore the user's
480 ~/.ssh/known_hosts during HostbasedAuthentication and use only
481 the system-wide known hosts file /etc/ssh/known_hosts. The
482 default is no.
483
484 IPQoS Specifies the IPv4 type-of-service or DSCP class for the
485 connection. Accepted values are af11, af12, af13, af21, af22,
486 af23, af31, af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3,
487 cs4, cs5, cs6, cs7, ef, lowdelay, throughput, reliability, a
488 numeric value, or none to use the operating system default. This
489 option may take one or two arguments, separated by whitespace.
490 If one argument is specified, it is used as the packet class
491 unconditionally. If two values are specified, the first is
492 automatically selected for interactive sessions and the second
493 for non-interactive sessions. The default is af21 (Low-Latency
494 Data) for interactive sessions and cs1 (Lower Effort) for non-
495 interactive sessions.
496
497 KbdInteractiveAuthentication
498 Specifies whether to allow keyboard-interactive authentication.
499 The argument to this keyword must be yes or no. The default is
500 to use whatever value ChallengeResponseAuthentication is set to
501 (by default yes).
502
503 KerberosAuthentication
504 Specifies whether the password provided by the user for
505 PasswordAuthentication will be validated through the Kerberos
506 KDC. To use this option, the server needs a Kerberos servtab
507 which allows the verification of the KDC's identity. The default
508 is no.
509
510 KerberosGetAFSToken
511 If AFS is active and the user has a Kerberos 5 TGT, attempt to
512 acquire an AFS token before accessing the user's home directory.
513 The default is no.
514
515 KerberosOrLocalPasswd
516 If password authentication through Kerberos fails then the
517 password will be validated via any additional local mechanism
518 such as /etc/passwd. The default is yes.
519
520 KerberosTicketCleanup
521 Specifies whether to automatically destroy the user's ticket
522 cache file on logout. The default is yes.
523
524 KexAlgorithms
525 Specifies the available KEX (Key Exchange) algorithms. Multiple
526 algorithms must be comma-separated. Alternately if the specified
527 value begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified methods
528 will be appended to the default set instead of replacing them.
529 If the specified value begins with a M-bM-^@M-^X-M-bM-^@M-^Y character, then the
530 specified methods (including wildcards) will be removed from the
531 default set instead of replacing them. The supported algorithms
532 are:
533
534 curve25519-sha256
535 curve25519-sha256@libssh.org
536 diffie-hellman-group1-sha1
537 diffie-hellman-group14-sha1
538 diffie-hellman-group14-sha256
539 diffie-hellman-group16-sha512
540 diffie-hellman-group18-sha512
541 diffie-hellman-group-exchange-sha1
542 diffie-hellman-group-exchange-sha256
543 ecdh-sha2-nistp256
544 ecdh-sha2-nistp384
545 ecdh-sha2-nistp521
546
547 The default is:
548
549 curve25519-sha256,curve25519-sha256@libssh.org,
550 ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
551 diffie-hellman-group-exchange-sha256,
552 diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,
553 diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
554
555 The list of available key exchange algorithms may also be
556 obtained using "ssh -Q kex".
557
558 ListenAddress
559 Specifies the local addresses sshd(8) should listen on. The
560 following forms may be used:
561
562 ListenAddress hostname|address [rdomain domain]
563 ListenAddress hostname:port [rdomain domain]
564 ListenAddress IPv4_address:port [rdomain domain]
565 ListenAddress [hostname|address]:port [rdomain domain]
566
567 The optional rdomain qualifier requests sshd(8) listen in an
568 explicit routing domain. If port is not specified, sshd will
569 listen on the address and all Port options specified. The
570 default is to listen on all local addresses on the current
571 default routing domain. Multiple ListenAddress options are
572 permitted. For more information on routing domains, see
573 rdomain(4).
574
575 LoginGraceTime
576 The server disconnects after this time if the user has not
577 successfully logged in. If the value is 0, there is no time
578 limit. The default is 120 seconds.
579
580 LogLevel
581 Gives the verbosity level that is used when logging messages from
582 sshd(8). The possible values are: QUIET, FATAL, ERROR, INFO,
583 VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO.
584 DEBUG and DEBUG1 are equivalent. DEBUG2 and DEBUG3 each specify
585 higher levels of debugging output. Logging with a DEBUG level
586 violates the privacy of users and is not recommended.
587
588 MACs Specifies the available MAC (message authentication code)
589 algorithms. The MAC algorithm is used for data integrity
590 protection. Multiple algorithms must be comma-separated. If the
591 specified value begins with a M-bM-^@M-^X+M-bM-^@M-^Y character, then the specified
592 algorithms will be appended to the default set instead of
593 replacing them. If the specified value begins with a M-bM-^@M-^X-M-bM-^@M-^Y
594 character, then the specified algorithms (including wildcards)
595 will be removed from the default set instead of replacing them.
596
597 The algorithms that contain "-etm" calculate the MAC after
598 encryption (encrypt-then-mac). These are considered safer and
599 their use recommended. The supported MACs are:
600
601 hmac-md5
602 hmac-md5-96
603 hmac-sha1
604 hmac-sha1-96
605 hmac-sha2-256
606 hmac-sha2-512
607 umac-64@openssh.com
608 umac-128@openssh.com
609 hmac-md5-etm@openssh.com
610 hmac-md5-96-etm@openssh.com
611 hmac-sha1-etm@openssh.com
612 hmac-sha1-96-etm@openssh.com
613 hmac-sha2-256-etm@openssh.com
614 hmac-sha2-512-etm@openssh.com
615 umac-64-etm@openssh.com
616 umac-128-etm@openssh.com
617
618 The default is:
619
620 umac-64-etm@openssh.com,umac-128-etm@openssh.com,
621 hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
622 hmac-sha1-etm@openssh.com,
623 umac-64@openssh.com,umac-128@openssh.com,
624 hmac-sha2-256,hmac-sha2-512,hmac-sha1
625
626 The list of available MAC algorithms may also be obtained using
627 "ssh -Q mac".
628
629 Match Introduces a conditional block. If all of the criteria on the
630 Match line are satisfied, the keywords on the following lines
631 override those set in the global section of the config file,
632 until either another Match line or the end of the file. If a
633 keyword appears in multiple Match blocks that are satisfied, only
634 the first instance of the keyword is applied.
635
636 The arguments to Match are one or more criteria-pattern pairs or
637 the single token All which matches all criteria. The available
638 criteria are User, Group, Host, LocalAddress, LocalPort, RDomain,
639 and Address (with RDomain representing the rdomain(4) on which
640 the connection was received).
641
642 The match patterns may consist of single entries or comma-
643 separated lists and may use the wildcard and negation operators
644 described in the PATTERNS section of ssh_config(5).
645
646 The patterns in an Address criteria may additionally contain
647 addresses to match in CIDR address/masklen format, such as
648 192.0.2.0/24 or 2001:db8::/32. Note that the mask length
649 provided must be consistent with the address - it is an error to
650 specify a mask length that is too long for the address or one
651 with bits set in this host portion of the address. For example,
652 192.0.2.0/33 and 192.0.2.0/8, respectively.
653
654 Only a subset of keywords may be used on the lines following a
655 Match keyword. Available keywords are AcceptEnv,
656 AllowAgentForwarding, AllowGroups, AllowStreamLocalForwarding,
657 AllowTcpForwarding, AllowUsers, AuthenticationMethods,
658 AuthorizedKeysCommand, AuthorizedKeysCommandUser,
659 AuthorizedKeysFile, AuthorizedPrincipalsCommand,
660 AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile,
661 Banner, ChrootDirectory, ClientAliveCountMax,
662 ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand,
663 GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes,
664 HostbasedAuthentication, HostbasedUsesNameFromPacketOnly, IPQoS,
665 KbdInteractiveAuthentication, KerberosAuthentication, LogLevel,
666 MaxAuthTries, MaxSessions, PasswordAuthentication,
667 PermitEmptyPasswords, PermitListen, PermitOpen, PermitRootLogin,
668 PermitTTY, PermitTunnel, PermitUserRC, PubkeyAcceptedKeyTypes,
669 PubkeyAuthentication, RekeyLimit, RevokedKeys, RDomain, SetEnv,
670 StreamLocalBindMask, StreamLocalBindUnlink, TrustedUserCAKeys,
671 X11DisplayOffset, X11Forwarding and X11UseLocalHost.
672
673 MaxAuthTries
674 Specifies the maximum number of authentication attempts permitted
675 per connection. Once the number of failures reaches half this
676 value, additional failures are logged. The default is 6.
677
678 MaxSessions
679 Specifies the maximum number of open shell, login or subsystem
680 (e.g. sftp) sessions permitted per network connection. Multiple
681 sessions may be established by clients that support connection
682 multiplexing. Setting MaxSessions to 1 will effectively disable
683 session multiplexing, whereas setting it to 0 will prevent all
684 shell, login and subsystem sessions while still permitting
685 forwarding. The default is 10.
686
687 MaxStartups
688 Specifies the maximum number of concurrent unauthenticated
689 connections to the SSH daemon. Additional connections will be
690 dropped until authentication succeeds or the LoginGraceTime
691 expires for a connection. The default is 10:30:100.
692
693 Alternatively, random early drop can be enabled by specifying the
694 three colon separated values start:rate:full (e.g. "10:30:60").
695 sshd(8) will refuse connection attempts with a probability of
696 rate/100 (30%) if there are currently start (10) unauthenticated
697 connections. The probability increases linearly and all
698 connection attempts are refused if the number of unauthenticated
699 connections reaches full (60).
700
701 PasswordAuthentication
702 Specifies whether password authentication is allowed. The
703 default is yes.
704
705 PermitEmptyPasswords
706 When password authentication is allowed, it specifies whether the
707 server allows login to accounts with empty password strings. The
708 default is no.
709
710 PermitListen
711 Specifies the addresses/ports on which a remote TCP port
712 forwarding may listen. The listen specification must be one of
713 the following forms:
714
715 PermitListen port
716 PermitListen host:port
717
718 Multiple permissions may be specified by separating them with
719 whitespace. An argument of any can be used to remove all
720 restrictions and permit any listen requests. An argument of none
721 can be used to prohibit all listen requests. The host name may
722 contain wildcards as described in the PATTERNS section in
723 ssh_config(5). The wildcard M-bM-^@M-^X*M-bM-^@M-^Y can also be used in place of a
724 port number to allow all ports. By default all port forwarding
725 listen requests are permitted. Note that the GatewayPorts option
726 may further restrict which addresses may be listened on. Note
727 also that ssh(1) will request a listen host of M-bM-^@M-^\localhostM-bM-^@M-^] if no
728 listen host was specifically requested, and this name is treated
729 differently to explicit localhost addresses of M-bM-^@M-^\127.0.0.1M-bM-^@M-^] and
730 M-bM-^@M-^\::1M-bM-^@M-^].
731
732 PermitOpen
733 Specifies the destinations to which TCP port forwarding is
734 permitted. The forwarding specification must be one of the
735 following forms:
736
737 PermitOpen host:port
738 PermitOpen IPv4_addr:port
739 PermitOpen [IPv6_addr]:port
740
741 Multiple forwards may be specified by separating them with
742 whitespace. An argument of any can be used to remove all
743 restrictions and permit any forwarding requests. An argument of
744 none can be used to prohibit all forwarding requests. The
745 wildcard M-bM-^@M-^X*M-bM-^@M-^Y can be used for host or port to allow all hosts or
746 ports, respectively. By default all port forwarding requests are
747 permitted.
748
749 PermitRootLogin
750 Specifies whether root can log in using ssh(1). The argument
751 must be yes, prohibit-password, forced-commands-only, or no. The
752 default is prohibit-password.
753
754 If this option is set to prohibit-password (or its deprecated
755 alias, without-password), password and keyboard-interactive
756 authentication are disabled for root.
757
758 If this option is set to forced-commands-only, root login with
759 public key authentication will be allowed, but only if the
760 command option has been specified (which may be useful for taking
761 remote backups even if root login is normally not allowed). All
762 other authentication methods are disabled for root.
763
764 If this option is set to no, root is not allowed to log in.
765
766 PermitTTY
767 Specifies whether pty(4) allocation is permitted. The default is
768 yes.
769
770 PermitTunnel
771 Specifies whether tun(4) device forwarding is allowed. The
772 argument must be yes, point-to-point (layer 3), ethernet (layer
773 2), or no. Specifying yes permits both point-to-point and
774 ethernet. The default is no.
775
776 Independent of this setting, the permissions of the selected
777 tun(4) device must allow access to the user.
778
779 PermitUserEnvironment
780 Specifies whether ~/.ssh/environment and environment= options in
781 ~/.ssh/authorized_keys are processed by sshd(8). Valid options
782 are yes, no or a pattern-list specifying which environment
783 variable names to accept (for example "LANG,LC_*"). The default
784 is no. Enabling environment processing may enable users to
785 bypass access restrictions in some configurations using
786 mechanisms such as LD_PRELOAD.
787
788 PermitUserRC
789 Specifies whether any ~/.ssh/rc file is executed. The default is
790 yes.
791
792 PidFile
793 Specifies the file that contains the process ID of the SSH
794 daemon, or none to not write one. The default is
795 /var/run/sshd.pid.
796
797 Port Specifies the port number that sshd(8) listens on. The default
798 is 22. Multiple options of this type are permitted. See also
799 ListenAddress.
800
801 PrintLastLog
802 Specifies whether sshd(8) should print the date and time of the
803 last user login when a user logs in interactively. The default
804 is yes.
805
806 PrintMotd
807 Specifies whether sshd(8) should print /etc/motd when a user logs
808 in interactively. (On some systems it is also printed by the
809 shell, /etc/profile, or equivalent.) The default is yes.
810
811 PubkeyAcceptedKeyTypes
812 Specifies the key types that will be accepted for public key
813 authentication as a list of comma-separated patterns.
814 Alternately if the specified value begins with a M-bM-^@M-^X+M-bM-^@M-^Y character,
815 then the specified key types will be appended to the default set
816 instead of replacing them. If the specified value begins with a
817 M-bM-^@M-^X-M-bM-^@M-^Y character, then the specified key types (including wildcards)
818 will be removed from the default set instead of replacing them.
819 The default for this option is:
820
821 ecdsa-sha2-nistp256-cert-v01@openssh.com,
822 ecdsa-sha2-nistp384-cert-v01@openssh.com,
823 ecdsa-sha2-nistp521-cert-v01@openssh.com,
824 ssh-ed25519-cert-v01@openssh.com,
825 rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,
826 ssh-rsa-cert-v01@openssh.com,
827 ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
828 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
829
830 The list of available key types may also be obtained using "ssh
831 -Q key".
832
833 PubkeyAuthentication
834 Specifies whether public key authentication is allowed. The
835 default is yes.
836
837 RekeyLimit
838 Specifies the maximum amount of data that may be transmitted
839 before the session key is renegotiated, optionally followed a
840 maximum amount of time that may pass before the session key is
841 renegotiated. The first argument is specified in bytes and may
842 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,
843 Megabytes, or Gigabytes, respectively. The default is between
844 M-bM-^@M-^X1GM-bM-^@M-^Y and M-bM-^@M-^X4GM-bM-^@M-^Y, depending on the cipher. The optional second
845 value is specified in seconds and may use any of the units
846 documented in the TIME FORMATS section. The default value for
847 RekeyLimit is default none, which means that rekeying is
848 performed after the cipher's default amount of data has been sent
849 or received and no time based rekeying is done.
850
851 RevokedKeys
852 Specifies revoked public keys file, or none to not use one. Keys
853 listed in this file will be refused for public key
854 authentication. Note that if this file is not readable, then
855 public key authentication will be refused for all users. Keys
856 may be specified as a text file, listing one public key per line,
857 or as an OpenSSH Key Revocation List (KRL) as generated by
858 ssh-keygen(1). For more information on KRLs, see the KEY
859 REVOCATION LISTS section in ssh-keygen(1).
860
861 RDomain
862 Specifies an explicit routing domain that is applied after
863 authentication has completed. The user session, as well and any
864 forwarded or listening IP sockets, will be bound to this
865 rdomain(4). If the routing domain is set to %D, then the domain
866 in which the incoming connection was received will be applied.
867
868 SetEnv Specifies one or more environment variables to set in child
869 sessions started by sshd(8) as M-bM-^@M-^\NAME=VALUEM-bM-^@M-^]. The environment
870 value may be quoted (e.g. if it contains whitespace characters).
871 Environment variables set by SetEnv override the default
872 environment and any variables specified by the user via AcceptEnv
873 or PermitUserEnvironment.
874
875 StreamLocalBindMask
876 Sets the octal file creation mode mask (umask) used when creating
877 a Unix-domain socket file for local or remote port forwarding.
878 This option is only used for port forwarding to a Unix-domain
879 socket file.
880
881 The default value is 0177, which creates a Unix-domain socket
882 file that is readable and writable only by the owner. Note that
883 not all operating systems honor the file mode on Unix-domain
884 socket files.
885
886 StreamLocalBindUnlink
887 Specifies whether to remove an existing Unix-domain socket file
888 for local or remote port forwarding before creating a new one.
889 If the socket file already exists and StreamLocalBindUnlink is
890 not enabled, sshd will be unable to forward the port to the Unix-
891 domain socket file. This option is only used for port forwarding
892 to a Unix-domain socket file.
893
894 The argument must be yes or no. The default is no.
895
896 StrictModes
897 Specifies whether sshd(8) should check file modes and ownership
898 of the user's files and home directory before accepting login.
899 This is normally desirable because novices sometimes accidentally
900 leave their directory or files world-writable. The default is
901 yes. Note that this does not apply to ChrootDirectory, whose
902 permissions and ownership are checked unconditionally.
903
904 Subsystem
905 Configures an external subsystem (e.g. file transfer daemon).
906 Arguments should be a subsystem name and a command (with optional
907 arguments) to execute upon subsystem request.
908
909 The command sftp-server implements the SFTP file transfer
910 subsystem.
911
912 Alternately the name internal-sftp implements an in-process SFTP
913 server. This may simplify configurations using ChrootDirectory
914 to force a different filesystem root on clients.
915
916 By default no subsystems are defined.
917
918 SyslogFacility
919 Gives the facility code that is used when logging messages from
920 sshd(8). The possible values are: DAEMON, USER, AUTH, LOCAL0,
921 LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The
922 default is AUTH.
923
924 TCPKeepAlive
925 Specifies whether the system should send TCP keepalive messages
926 to the other side. If they are sent, death of the connection or
927 crash of one of the machines will be properly noticed. However,
928 this means that connections will die if the route is down
929 temporarily, and some people find it annoying. On the other
930 hand, if TCP keepalives are not sent, sessions may hang
931 indefinitely on the server, leaving "ghost" users and consuming
932 server resources.
933
934 The default is yes (to send TCP keepalive messages), and the
935 server will notice if the network goes down or the client host
936 crashes. This avoids infinitely hanging sessions.
937
938 To disable TCP keepalive messages, the value should be set to no.
939
940 TrustedUserCAKeys
941 Specifies a file containing public keys of certificate
942 authorities that are trusted to sign user certificates for
943 authentication, or none to not use one. Keys are listed one per
944 line; empty lines and comments starting with M-bM-^@M-^X#M-bM-^@M-^Y are allowed. If
945 a certificate is presented for authentication and has its signing
946 CA key listed in this file, then it may be used for
947 authentication for any user listed in the certificate's
948 principals list. Note that certificates that lack a list of
949 principals will not be permitted for authentication using
950 TrustedUserCAKeys. For more details on certificates, see the
951 CERTIFICATES section in ssh-keygen(1).
952
953 UseDNS Specifies whether sshd(8) should look up the remote host name,
954 and to check that the resolved host name for the remote IP
955 address maps back to the very same IP address.
956
957 If this option is set to no (the default) then only addresses and
958 not host names may be used in ~/.ssh/authorized_keys from and
959 sshd_config Match Host directives.
960
961 UsePAM Enables the Pluggable Authentication Module interface. If set to
962 yes this will enable PAM authentication using
963 ChallengeResponseAuthentication and PasswordAuthentication in
964 addition to PAM account and session module processing for all
965 authentication types.
966
967 Because PAM challenge-response authentication usually serves an
968 equivalent role to password authentication, you should disable
969 either PasswordAuthentication or ChallengeResponseAuthentication.
970
971 If UsePAM is enabled, you will not be able to run sshd(8) as a
972 non-root user. The default is no.
973
974 VersionAddendum
975 Optionally specifies additional text to append to the SSH
976 protocol banner sent by the server upon connection. The default
977 is none.
978
979 X11DisplayOffset
980 Specifies the first display number available for sshd(8)'s X11
981 forwarding. This prevents sshd from interfering with real X11
982 servers. The default is 10.
983
984 X11Forwarding
985 Specifies whether X11 forwarding is permitted. The argument must
986 be yes or no. The default is no.
987
988 When X11 forwarding is enabled, there may be additional exposure
989 to the server and to client displays if the sshd(8) proxy display
990 is configured to listen on the wildcard address (see
991 X11UseLocalhost), though this is not the default. Additionally,
992 the authentication spoofing and authentication data verification
993 and substitution occur on the client side. The security risk of
994 using X11 forwarding is that the client's X11 display server may
995 be exposed to attack when the SSH client requests forwarding (see
996 the warnings for ForwardX11 in ssh_config(5)). A system
997 administrator may have a stance in which they want to protect
998 clients that may expose themselves to attack by unwittingly
999 requesting X11 forwarding, which can warrant a no setting.
1000
1001 Note that disabling X11 forwarding does not prevent users from
1002 forwarding X11 traffic, as users can always install their own
1003 forwarders.
1004
1005 X11UseLocalhost
1006 Specifies whether sshd(8) should bind the X11 forwarding server
1007 to the loopback address or to the wildcard address. By default,
1008 sshd binds the forwarding server to the loopback address and sets
1009 the hostname part of the DISPLAY environment variable to
1010 localhost. This prevents remote hosts from connecting to the
1011 proxy display. However, some older X11 clients may not function
1012 with this configuration. X11UseLocalhost may be set to no to
1013 specify that the forwarding server should be bound to the
1014 wildcard address. The argument must be yes or no. The default
1015 is yes.
1016
1017 XAuthLocation
1018 Specifies the full pathname of the xauth(1) program, or none to
1019 not use one. The default is /usr/X11R6/bin/xauth.
1020
1021TIME FORMATS
1022 sshd(8) command-line arguments and configuration file options that
1023 specify time may be expressed using a sequence of the form:
1024 time[qualifier], where time is a positive integer value and qualifier is
1025 one of the following:
1026
1027 M-bM-^_M-(noneM-bM-^_M-) seconds
1028 s | S seconds
1029 m | M minutes
1030 h | H hours
1031 d | D days
1032 w | W weeks
1033
1034 Each member of the sequence is added together to calculate the total time
1035 value.
1036
1037 Time format examples:
1038
1039 600 600 seconds (10 minutes)
1040 10m 10 minutes
1041 1h30m 1 hour 30 minutes (90 minutes)
1042
1043TOKENS
1044 Arguments to some keywords can make use of tokens, which are expanded at
1045 runtime:
1046
1047 %% A literal M-bM-^@M-^X%M-bM-^@M-^Y.
1048 %D The routing domain in which the incoming connection was
1049 received.
1050 %F The fingerprint of the CA key.
1051 %f The fingerprint of the key or certificate.
1052 %h The home directory of the user.
1053 %i The key ID in the certificate.
1054 %K The base64-encoded CA key.
1055 %k The base64-encoded key or certificate for authentication.
1056 %s The serial number of the certificate.
1057 %T The type of the CA key.
1058 %t The key or certificate type.
1059 %U The numeric user ID of the target user.
1060 %u The username.
1061
1062 AuthorizedKeysCommand accepts the tokens %%, %f, %h, %k, %t, %U, and %u.
1063
1064 AuthorizedKeysFile accepts the tokens %%, %h, %U, and %u.
1065
1066 AuthorizedPrincipalsCommand accepts the tokens %%, %F, %f, %h, %i, %K,
1067 %k, %s, %T, %t, %U, and %u.
1068
1069 AuthorizedPrincipalsFile accepts the tokens %%, %h, %U, and %u.
1070
1071 ChrootDirectory accepts the tokens %%, %h, %U, and %u.
1072
1073 RoutingDomain accepts the token %D.
1074
1075FILES
1076 /etc/ssh/sshd_config
1077 Contains configuration data for sshd(8). This file should be
1078 writable by root only, but it is recommended (though not
1079 necessary) that it be world-readable.
1080
1081SEE ALSO
1082 sftp-server(8), sshd(8)
1083
1084AUTHORS
1085 OpenSSH is a derivative of the original and free ssh 1.2.12 release by
1086 Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
1087 de Raadt and Dug Song removed many bugs, re-added newer features and
1088 created OpenSSH. Markus Friedl contributed the support for SSH protocol
1089 versions 1.5 and 2.0. Niels Provos and Markus Friedl contributed support
1090 for privilege separation.
1091
1092OpenBSD 6.5 March 22, 2019 OpenBSD 6.5